UNPKG

primeng

Version:

PrimeNG is a premium UI library for Angular featuring a rich set of 90+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBlock,

1 lines 42 kB
{"version":3,"file":"primeng-drawer.mjs","sources":["../../src/drawer/style/drawerstyle.ts","../../src/drawer/drawer.ts","../../src/drawer/primeng-drawer.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style as drawer_style } from '@primeuix/styles/drawer';\nimport { BaseStyle } from 'primeng/base';\n\nconst style = /*css*/ `\n${drawer_style}\n\n/** For PrimeNG **/\n.p-drawer {\n position: fixed;\n}\n\n.p-drawer-left {\n top: 0;\n left: 0;\n width: 20rem;\n height: 100%;\n border-inline-end-width: 1px;\n}\n\n.p-drawer-right {\n top: 0;\n right: 0;\n width: 20rem;\n height: 100%;\n border-inline-start-width: 1px;\n}\n\n.p-drawer-top {\n top: 0;\n left: 0;\n width: 100%;\n height: 10rem;\n border-block-end-width: 1px;\n}\n\n.p-drawer-bottom {\n bottom: 0;\n left: 0;\n width: 100%;\n height: 10rem;\n border-block-start-width: 1px;\n}\n\n.p-drawer-full {\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n -webkit-transition: none;\n transition: none;\n}\n\n/* Animations */\n.p-drawer-enter-left {\n animation: p-animate-drawer-enter-left 0.5s cubic-bezier(0.32, 0.72, 0, 1);\n}\n\n.p-drawer-leave-left {\n animation: p-animate-drawer-leave-left 0.5s cubic-bezier(0.32, 0.72, 0, 1);\n}\n\n.p-drawer-enter-right {\n animation: p-animate-drawer-enter-right 0.5s cubic-bezier(0.32, 0.72, 0, 1);\n}\n\n.p-drawer-leave-right {\n animation: p-animate-drawer-leave-right 0.5s cubic-bezier(0.32, 0.72, 0, 1);\n}\n\n.p-drawer-enter-top {\n animation: p-animate-drawer-enter-top 0.5s cubic-bezier(0.32, 0.72, 0, 1);\n}\n\n.p-drawer-leave-top {\n animation: p-animate-drawer-leave-top 0.5s cubic-bezier(0.32, 0.72, 0, 1);\n}\n\n.p-drawer-enter-bottom {\n animation: p-animate-drawer-enter-bottom 0.5s cubic-bezier(0.32, 0.72, 0, 1);\n}\n\n.p-drawer-leave-bottom {\n animation: p-animate-drawer-leave-bottom 0.5s cubic-bezier(0.32, 0.72, 0, 1);\n}\n\n.p-drawer-enter-full {\n animation: p-animate-drawer-enter-full 0.5s cubic-bezier(0.32, 0.72, 0, 1);\n}\n\n.p-drawer-leave-full {\n animation: p-animate-drawer-leave-full 0.5s cubic-bezier(0.32, 0.72, 0, 1);\n}\n`;\n\nconst classes = {\n mask: ({ instance }) => ['p-drawer-mask', { [`p-overlay-mask p-overlay-mask-enter-active`]: instance.modal() }, { 'p-drawer-full': instance.fullScreen() }],\n root: ({ instance }) => [\n 'p-drawer p-component',\n {\n 'p-drawer-full': instance.fullScreen(),\n 'p-drawer-open': instance.visible()\n },\n `p-drawer-${instance.position()}`\n ],\n header: 'p-drawer-header',\n title: 'p-drawer-title',\n pcCloseButton: 'p-drawer-close-button',\n content: 'p-drawer-content',\n footer: 'p-drawer-footer'\n};\n\n@Injectable()\nexport class DrawerStyle extends BaseStyle {\n name = 'drawer';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * Drawer is a panel component displayed as an overlay at the edges of the screen.\n *\n * [Live Demo](https://www.primeng.org/drawer)\n *\n * @module drawerstyle\n *\n */\nexport enum DrawerClasses {\n /**\n * Class name of the mask element\n */\n mask = 'p-drawer-mask',\n /**\n * Class name of the root element\n */\n root = 'p-drawer',\n /**\n * Class name of the header element\n */\n header = 'p-drawer-header',\n /**\n * Class name of the title element\n */\n title = 'p-drawer-title',\n /**\n * Class name of the close button element\n */\n pcCloseButton = 'p-drawer-close-button',\n /**\n * Class name of the content element\n */\n content = 'p-drawer-content'\n}\n\nexport interface DrawerStyle extends BaseStyle {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n effect,\n ElementRef,\n inject,\n InjectionToken,\n input,\n model,\n NgModule,\n numberAttribute,\n output,\n signal,\n TemplateRef,\n untracked,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Times as TimesIcon } from '@primeicons/angular/times';\nimport { MotionEvent, MotionOptions } from '@primeuix/motion';\nimport { addClass, appendChild, removeClass, setAttribute } from '@primeuix/utils';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { ButtonDirective } from 'primeng/button';\nimport { blockBodyScroll, unblockBodyScroll } from 'primeng/dom';\nimport { FocusTrapModule } from 'primeng/focustrap';\nimport { MotionModule } from 'primeng/motion';\nimport { Nullable, VoidListener } from 'primeng/ts-helpers';\nimport type { ButtonDirectiveOptions } from 'primeng/types/button';\nimport { DrawerPassThrough, DrawerPosition } from 'primeng/types/drawer';\nimport type { AppendTo, CSSProperties } from 'primeng/types/shared';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { DrawerStyle } from './style/drawerstyle';\n\nconst DRAWER_INSTANCE = new InjectionToken<Drawer>('DRAWER_INSTANCE');\n\n/**\n * Sidebar is a panel component displayed as an overlay at the edges of the screen.\n * @group Components\n */\n@Component({\n selector: 'p-drawer',\n standalone: true,\n imports: [NgTemplateOutlet, ButtonDirective, TimesIcon, SharedModule, Bind, FocusTrapModule, MotionModule],\n providers: [DrawerStyle, { provide: DRAWER_INSTANCE, useExisting: Drawer }, { provide: PARENT_INSTANCE, useExisting: Drawer }],\n hostDirectives: [Bind],\n template: `\n @if (modalVisible()) {\n <div\n #container\n [pBind]=\"ptm('root')\"\n [pMotion]=\"visible()\"\n [pMotionAppear]=\"true\"\n [pMotionEnterActiveClass]=\"$enterAnimation()\"\n [pMotionLeaveActiveClass]=\"$leaveAnimation()\"\n [pMotionOptions]=\"computedMotionOptions()\"\n (pMotionOnBeforeEnter)=\"onBeforeEnter($event)\"\n (pMotionOnAfterLeave)=\"onAfterLeave($event)\"\n [class]=\"cn(cx('root'), styleClass())\"\n [style]=\"style()\"\n role=\"complementary\"\n (keydown)=\"onKeyDown($event)\"\n pFocusTrap\n [attr.data-p]=\"dataP\"\n [attr.data-p-open]=\"visible()\"\n >\n @if (headlessTemplate()) {\n <ng-container *ngTemplateOutlet=\"headlessTemplate()\"></ng-container>\n } @else {\n <div [pBind]=\"ptm('header')\" [class]=\"cx('header')\" [attr.data-pc-section]=\"'header'\">\n @if (headerTemplate()) {\n <ng-container *ngTemplateOutlet=\"headerTemplate()\"></ng-container>\n }\n @if (header()) {\n <div [pBind]=\"ptm('title')\" [class]=\"cx('title')\">{{ header() }}</div>\n }\n @if (showCloseButton()) {\n <button\n type=\"button\"\n iconOnly\n [pButton]=\"closeButtonProps()\"\n [class]=\"cx('pcCloseButton')\"\n [attr.aria-label]=\"ariaCloseLabel()\"\n [attr.data-pc-group-section]=\"'iconcontainer'\"\n [pButtonPT]=\"ptm('pcCloseButton')\"\n [pButtonUnstyled]=\"unstyled()\"\n (click)=\"close($event)\"\n (keydown.enter)=\"close($event)\"\n >\n @if (!closeIconTemplate()) {\n <svg data-p-icon=\"times\" [attr.data-pc-section]=\"'closeicon'\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"closeIconTemplate()\"></ng-container>\n }\n </button>\n }\n </div>\n\n <div [pBind]=\"ptm('content')\" [class]=\"cx('content')\" [attr.data-pc-section]=\"'content'\">\n <ng-content></ng-content>\n @if (contentTemplate()) {\n <ng-container *ngTemplateOutlet=\"contentTemplate()\"></ng-container>\n }\n </div>\n\n @if (footerTemplate()) {\n <div [pBind]=\"ptm('footer')\" [class]=\"cx('footer')\" [attr.data-pc-section]=\"'footer'\">\n <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n </div>\n }\n }\n </div>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class Drawer extends BaseComponent<DrawerPassThrough> {\n componentName = 'Drawer';\n\n $pcDrawer: Drawer | undefined = inject(DRAWER_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptm('host'));\n }\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'self'\n * @group Props\n */\n appendTo = input<AppendTo>(undefined);\n /**\n * The motion options.\n * @group Props\n */\n motionOptions = input<MotionOptions | undefined>(undefined);\n\n computedMotionOptions = computed<MotionOptions>(() => {\n return {\n ...this.ptm('motion'),\n ...this.motionOptions()\n };\n });\n /**\n * Whether to block scrolling of the document when drawer is active.\n * @group Props\n */\n blockScroll = input(false, { transform: booleanAttribute });\n /**\n * Inline style of the component.\n * @group Props\n */\n style = input<{ [klass: string]: any } | null>();\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass = input<string>();\n /**\n * Aria label of the close icon.\n * @group Props\n */\n ariaCloseLabel = input<string>();\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n autoZIndex = input(true, { transform: booleanAttribute });\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n baseZIndex = input(0, { transform: numberAttribute });\n /**\n * Whether an overlay mask is displayed behind the drawer.\n * @group Props\n */\n modal = input(true, { transform: booleanAttribute });\n /**\n * Configuration object forwarded to the close button.\n * @group Props\n */\n closeButtonProps = input<ButtonDirectiveOptions>({ severity: 'secondary', variant: 'text', rounded: true });\n /**\n * Whether to dismiss drawer on click of the mask.\n * @group Props\n */\n dismissible = input(true, { transform: booleanAttribute });\n /**\n * Whether to display the close icon.\n * @group Props\n * @deprecated use 'closable' instead.\n */\n showCloseIcon = input(true, { transform: booleanAttribute });\n /**\n * Specifies if pressing escape key should hide the drawer.\n * @group Props\n */\n closeOnEscape = input(true, { transform: booleanAttribute });\n /**\n * The visible property is an input that determines the visibility of the component.\n * @defaultValue false\n * @group Props\n */\n visible = model<boolean>(false);\n\n /**\n * Specifies the position of the drawer, valid values are \"left\", \"right\", \"bottom\" and \"top\".\n * @defaultValue 'left'\n * @group Props\n */\n position = input<DrawerPosition>('left');\n /**\n * Adds a close icon to the header to hide the dialog.\n * @defaultValue false\n * @group Props\n */\n fullScreen = input<boolean>(false);\n\n $enterAnimation = computed(() => (this.fullScreen() ? 'p-drawer-enter-full' : `p-drawer-enter-${this.position()}`));\n\n $leaveAnimation = computed(() => (this.fullScreen() ? 'p-drawer-leave-full' : `p-drawer-leave-${this.position()}`));\n\n /**\n * Title content of the dialog.\n * @group Props\n */\n header = input<string>();\n /**\n * Style of the mask.\n * @group Props\n */\n maskStyle = input<CSSProperties>();\n /**\n * Whether to display close button.\n * @group Props\n * @defaultValue true\n */\n closable = input(true, { transform: booleanAttribute });\n /**\n * Callback to invoke when dialog is shown.\n * @group Emits\n */\n onShow = output<any>();\n /**\n * Callback to invoke when dialog is hidden.\n * @group Emits\n */\n onHide = output<any>();\n\n containerViewChild = viewChild<ElementRef>('container');\n\n closeButtonViewChild = viewChild<ElementRef>('closeButton');\n\n initialized: boolean | undefined;\n\n modalVisible = signal<boolean>(false);\n\n container: Nullable<HTMLDivElement>;\n\n mask: Nullable<HTMLDivElement>;\n\n maskClickListener: VoidListener;\n\n documentEscapeListener: VoidListener;\n\n animationEndListener: VoidListener;\n\n _componentStyle = inject(DrawerStyle);\n\n onAfterViewInit() {\n this.initialized = true;\n }\n /**\n * Custom header template.\n * @group Templates\n */\n headerTemplate = contentChild<TemplateRef<void>>('header', { descendants: false });\n /**\n * Custom footer template.\n * @group Templates\n */\n footerTemplate = contentChild<TemplateRef<void>>('footer', { descendants: false });\n /**\n * Custom content template.\n * @group Templates\n */\n contentTemplate = contentChild<TemplateRef<void>>('content', { descendants: false });\n /**\n * Custom close icon template.\n * @group Templates\n */\n closeIconTemplate = contentChild<TemplateRef<void>>('closeicon', { descendants: false });\n /**\n * Custom headless template to replace the entire drawer content.\n * @group Templates\n */\n headlessTemplate = contentChild<TemplateRef<void>>('headless', { descendants: false });\n\n showCloseButton = computed(() => this.showCloseIcon() && this.closable());\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n constructor() {\n super();\n effect(() => {\n const isVisible = this.visible();\n untracked(() => {\n if (isVisible && !this.modalVisible()) {\n this.modalVisible.set(true);\n }\n });\n });\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (event.code === 'Escape') {\n this.hide(false);\n }\n }\n\n show() {\n this.container?.setAttribute(this.$attrSelector, '');\n\n if (this.autoZIndex()) {\n ZIndexUtils.set('modal', this.container, this.baseZIndex() || this.config.zIndex.modal);\n }\n\n if (this.modal()) {\n this.enableModality();\n }\n\n this.onShow.emit({});\n }\n\n hide(emit: boolean = true) {\n if (emit) {\n this.onHide.emit({});\n }\n\n if (this.modal()) {\n this.disableModality();\n }\n }\n\n close(event: Event) {\n this.hide();\n this.visible.set(false);\n event.preventDefault();\n }\n\n enableModality() {\n const activeDrawers = this.document.querySelectorAll('[data-p-open=\"true\"]');\n const activeDrawersLength = activeDrawers.length;\n const zIndex = activeDrawersLength == 1 ? String(parseInt((this.container as HTMLDivElement).style.zIndex) - 1) : String(parseInt((activeDrawers[activeDrawersLength - 1] as HTMLElement).style.zIndex) - 1);\n\n if (!this.mask) {\n this.mask = this.renderer.createElement('div');\n\n if (this.mask) {\n const style = `z-index: ${zIndex};${this.getMaskStyle()}`;\n setAttribute(this.mask, 'style', style);\n setAttribute(this.mask, 'data-p', this.dataP);\n addClass(this.mask, this.cx('mask'));\n }\n\n if (this.dismissible()) {\n this.maskClickListener = this.renderer.listen(this.mask, 'click', (event: any) => {\n if (this.dismissible()) {\n this.close(event);\n }\n });\n }\n\n const maskParent = this.container?.parentNode;\n if (maskParent) {\n this.renderer.insertBefore(maskParent, this.mask, this.container);\n } else {\n this.renderer.appendChild(this.document.body, this.mask);\n }\n if (this.blockScroll()) {\n blockBodyScroll();\n }\n }\n }\n\n getMaskStyle() {\n const maskStyleValue = this.maskStyle();\n return maskStyleValue\n ? Object.entries(maskStyleValue)\n .map(([key, value]) => `${key}: ${value}`)\n .join('; ')\n : '';\n }\n\n disableModality() {\n if (this.mask) {\n !this.$unstyled() && removeClass(this.mask, 'p-overlay-mask-enter-active');\n !this.$unstyled() && addClass(this.mask, 'p-overlay-mask-leave-active');\n this.animationEndListener = this.renderer.listen(this.mask, 'animationend', this.destroyModal.bind(this));\n }\n }\n\n destroyModal() {\n this.unbindMaskClickListener();\n\n if (this.mask?.parentNode) {\n this.renderer.removeChild(this.mask.parentNode, this.mask);\n }\n\n if (this.blockScroll()) {\n unblockBodyScroll();\n }\n\n this.unbindAnimationEndListener();\n this.mask = null;\n }\n\n onBeforeEnter(event: MotionEvent) {\n this.container = event.element as HTMLDivElement;\n this.appendContainer();\n this.show();\n\n if (this.closeOnEscape()) {\n this.bindDocumentEscapeListener();\n }\n }\n\n onAfterLeave() {\n this.hide(false);\n ZIndexUtils.clear(this.container);\n this.unbindGlobalListeners();\n this.modalVisible.set(false);\n this.container = null;\n }\n\n appendContainer() {\n if (this.$appendTo() && this.$appendTo() !== 'self') {\n if (this.$appendTo() === 'body') {\n appendChild(this.document.body, this.container!);\n } else {\n appendChild(this.$appendTo(), this.container!);\n }\n }\n }\n\n bindDocumentEscapeListener() {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : this.document;\n\n this.documentEscapeListener = this.renderer.listen(documentTarget, 'keydown', (event) => {\n if (event.which == 27) {\n if (parseInt((this.container as HTMLDivElement)?.style.zIndex) === ZIndexUtils.get(this.container)) {\n this.close(event);\n }\n }\n });\n }\n\n unbindDocumentEscapeListener() {\n if (this.documentEscapeListener) {\n this.documentEscapeListener();\n this.documentEscapeListener = null;\n }\n }\n\n unbindMaskClickListener() {\n if (this.maskClickListener) {\n this.maskClickListener();\n this.maskClickListener = null;\n }\n }\n\n unbindGlobalListeners() {\n this.unbindMaskClickListener();\n this.unbindDocumentEscapeListener();\n }\n\n unbindAnimationEndListener() {\n if (this.animationEndListener && this.mask) {\n this.animationEndListener();\n this.animationEndListener = null;\n }\n }\n\n onDestroy() {\n this.initialized = false;\n\n if (this.visible() && this.modal()) {\n this.destroyModal();\n }\n\n if (this.$appendTo() && this.container) {\n this.renderer.appendChild(this.el.nativeElement, this.container);\n }\n\n if (this.container && this.autoZIndex()) {\n ZIndexUtils.clear(this.container);\n }\n\n this.container = null;\n this.unbindGlobalListeners();\n this.unbindAnimationEndListener();\n }\n\n get dataP() {\n return this.cn({\n 'full-screen': this.position() === 'full',\n [this.position()]: this.position(),\n open: this.visible(),\n modal: this.modal()\n });\n }\n}\n\n@NgModule({\n imports: [Drawer, SharedModule],\n exports: [Drawer, SharedModule]\n})\nexport class DrawerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["drawer_style","TimesIcon"],"mappings":"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"}