primeng-shadowdom-directives
Version:
Directives that make PrimeNG plays nicely with ShadowDOM
1 lines • 29.4 kB
Source Map (JSON)
{"version":3,"file":"primeng-shadowdom-directives.mjs","sources":["../../../projects/primeng-shadowdom-directives/src/directives/menu.ts","../../../projects/primeng-shadowdom-directives/src/directives/overlaypanel.ts","../../../projects/primeng-shadowdom-directives/src/directives/inputmask.ts","../../../projects/primeng-shadowdom-directives/src/directives/slidemenu.ts","../../../projects/primeng-shadowdom-directives/src/directives/splitbutton.ts","../../../projects/primeng-shadowdom-directives/src/directives/tieredmenu.ts","../../../projects/primeng-shadowdom-directives/src/directives/calendar.ts","../../../projects/primeng-shadowdom-directives/src/primeng-shadowdom-directives.module.ts","../../../projects/primeng-shadowdom-directives/src/helpers/resizablecolumn.ts","../../../projects/primeng-shadowdom-directives/src/public-api.ts","../../../projects/primeng-shadowdom-directives/src/primeng-shadowdom-directives.ts"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport {\n Directive,\n Host,\n Inject,\n Optional,\n PLATFORM_ID,\n Self,\n} from '@angular/core';\nimport { Menu } from 'primeng/menu';\n\n@Directive({\n selector: '[psdMenu]',\n})\nexport class psdMenuDirective {\n constructor(\n @Host() @Self() @Optional() private readonly hostEl: Menu,\n @Inject(PLATFORM_ID) private platformId: any\n ) {\n hostEl.bindDocumentClickListener = () => {\n if (!hostEl.documentClickListener && isPlatformBrowser(platformId)) {\n const documentTarget: any = hostEl.el\n ? hostEl.el.nativeElement.ownerDocument\n : 'document';\n\n hostEl.documentClickListener = hostEl.renderer.listen(\n documentTarget,\n 'click',\n (event) => {\n const isOutsideContainer =\n hostEl.containerViewChild?.nativeElement &&\n !hostEl.containerViewChild.nativeElement.contains(\n event.target.shadowRoot\n ? event.target.shadowRoot.activeElement\n : event.target\n );\n const isOutsideTarget = !(\n hostEl.target &&\n (hostEl.target === event.target ||\n hostEl.target.contains(event.target))\n );\n if (!hostEl.popup && isOutsideContainer && isOutsideTarget) {\n hostEl.onListBlur(event);\n }\n if (\n hostEl.preventDocumentDefault &&\n hostEl.overlayVisible &&\n isOutsideContainer &&\n isOutsideTarget\n ) {\n hostEl.hide();\n hostEl.preventDocumentDefault = false;\n }\n }\n );\n }\n };\n }\n}\n","import { Directive, Host, NgZone, Optional, Self } from \"@angular/core\";\nimport { OverlayPanel } from \"primeng/overlaypanel\";\nimport { DomHandler } from \"primeng/dom\";\n\n@Directive({\n selector: '[psdOverlayPanel]',\n})\nexport class psdOverlayPanelDirective {\n constructor(\n @Host() @Self() @Optional() private readonly hostEl: OverlayPanel,\n private zone: NgZone\n ) {\n hostEl.bindDocumentClickListener = () => {\n if (!hostEl.documentClickListener && hostEl.dismissable) {\n this.zone.runOutsideAngular(() => {\n let documentEvent = DomHandler.isIOS() ? 'touchstart' : 'click';\n const documentTarget: any = hostEl.el ? hostEl.el.nativeElement.ownerDocument : 'document';\n\n hostEl.documentClickListener = hostEl.renderer.listen(documentTarget, documentEvent, (event) => {\n const path = event.path || (event.composedPath && event.composedPath());\n const target = event.target.shadowRoot ? path[0] : event.target\n if (!hostEl.container?.contains(target) && hostEl.target !== target && !hostEl.target.contains(target) && !hostEl.selfClick) {\n this.zone.run(() => {\n hostEl.hide();\n });\n }\n\n hostEl.selfClick = false;\n hostEl.cd.markForCheck();\n });\n });\n }\n }\n }\n}","import { Directive, Host, Optional, Self } from '@angular/core';\nimport { InputMask } from 'primeng/inputmask';\n\n/*\n In angular 15, primeNg uses document from inject, but the logic is still same\n*/\n\n@Directive({\n selector: '[psdInputMask]',\n})\nexport class psdInputMaskDirective {\n constructor(@Host() @Self() @Optional() private readonly hostEl: InputMask) {\n // @ts-ignore\n hostEl.caret = (first?: number, last?: number) => {\n let range, begin, end;\n\n if (\n !hostEl.inputViewChild?.nativeElement.offsetParent ||\n hostEl.inputViewChild.nativeElement !==\n hostEl.inputViewChild.nativeElement.getRootNode().activeElement\n ) {\n return;\n }\n\n if (typeof first == 'number') {\n begin = first;\n end = typeof last === 'number' ? last : begin;\n if (hostEl.inputViewChild.nativeElement.setSelectionRange) {\n hostEl.inputViewChild.nativeElement.setSelectionRange(begin, end);\n } else if (hostEl.inputViewChild.nativeElement['createTextRange']) {\n range = hostEl.inputViewChild.nativeElement['createTextRange']();\n range.collapse(true);\n range.moveEnd('character', end);\n range.moveStart('character', begin);\n range.select();\n }\n } else {\n if (hostEl.inputViewChild.nativeElement.setSelectionRange) {\n begin = hostEl.inputViewChild.nativeElement.selectionStart;\n end = hostEl.inputViewChild.nativeElement.selectionEnd;\n } else if (\n (document as any)['selection'] &&\n (document as any)['selection'].createRange\n ) {\n range = (document as any)['selection'].createRange();\n begin = 0 - range.duplicate().moveStart('character', -100000);\n end = begin + range.text.length;\n }\n\n return { begin: begin, end: end };\n }\n };\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n Directive,\n Host,\n Inject,\n Optional,\n PLATFORM_ID,\n Self,\n} from '@angular/core';\nimport { SlideMenu } from 'primeng/slidemenu';\n\n@Directive({\n selector: '[psdSlideMenu]',\n})\nexport class psdSlideMenuDirective {\n constructor(\n @Host() @Self() @Optional() private readonly hostEl: SlideMenu,\n @Inject(PLATFORM_ID) private platformId: any\n ) {\n hostEl.bindOutsideClickListener = () => {\n if (isPlatformBrowser(platformId)) {\n if (!hostEl.outsideClickListener) {\n hostEl.outsideClickListener = hostEl.renderer.listen(\n document,\n 'click',\n (event) => {\n const path =\n event.path || (event.composedPath && event.composedPath());\n const target = event.target.shadowRoot ? path[0] : event.target;\n\n const isOutsideContainer =\n hostEl.containerViewChild &&\n !hostEl.containerViewChild.nativeElement.contains(target);\n const isOutsideTarget = hostEl.popup\n ? !(\n hostEl.target &&\n (hostEl.target === target || hostEl.target.contains(target))\n )\n : true;\n\n if (hostEl.popup) {\n if (isOutsideContainer && isOutsideTarget) {\n hostEl.onMenuBlur();\n hostEl.hide();\n }\n } else {\n if (isOutsideContainer && isOutsideTarget && hostEl.focused) {\n hostEl.onMenuBlur();\n }\n }\n }\n );\n }\n }\n };\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n Directive,\n Host,\n Inject,\n Optional,\n PLATFORM_ID,\n Self,\n} from '@angular/core';\nimport { SplitButton } from 'primeng/splitbutton';\n\n@Directive({\n selector: '[psdSplitButton]',\n})\nexport class psdSplitButtonDirective {\n constructor(\n @Host() @Self() @Optional() private readonly hostEl: SplitButton,\n @Inject(PLATFORM_ID) private platformId: any\n ) {\n hostEl.onDropdownButtonClick = (event?: MouseEvent) => {\n hostEl.onDropdownClick.emit(event);\n hostEl.menu?.toggle({\n currentTarget: hostEl.containerViewChild?.nativeElement,\n relativeAlign: hostEl.appendTo == null,\n });\n hostEl.isExpanded.set(hostEl.menu?.visible!);\n };\n }\n\n ngAfterViewInit() {\n const menu = this.hostEl.menu!;\n menu.bindOutsideClickListener = () => {\n if (isPlatformBrowser(this.platformId)) {\n if (!menu.outsideClickListener) {\n menu.outsideClickListener = menu.renderer.listen(\n document,\n 'click',\n (event) => {\n const path =\n event.path || (event.composedPath && event.composedPath());\n const target = event.target.shadowRoot ? path[0] : event.target;\n\n const isOutsideContainer =\n menu.containerViewChild &&\n !menu.containerViewChild.nativeElement.contains(target);\n const isOutsideTarget = menu.popup\n ? !(\n menu.target &&\n (menu.target === target || menu.target.contains(target))\n )\n : true;\n if (isOutsideContainer && isOutsideTarget) {\n menu.hide();\n }\n }\n );\n }\n }\n };\n }\n}\n","import {\n Directive,\n Host,\n Inject,\n Optional,\n PLATFORM_ID,\n Self,\n} from '@angular/core';\nimport { TieredMenu } from 'primeng/tieredmenu';\nimport { isPlatformBrowser } from '@angular/common';\n\n@Directive({\n selector: '[psdTieredMenu]',\n})\nexport class psdTieredMenuDirective {\n constructor(\n @Host() @Self() @Optional() private readonly hostEl: TieredMenu,\n @Inject(PLATFORM_ID) private platformId: any\n ) {\n hostEl.bindOutsideClickListener = () => {\n if (isPlatformBrowser(platformId)) {\n if (!hostEl.outsideClickListener) {\n hostEl.outsideClickListener = hostEl.renderer.listen(\n document,\n 'click',\n (event) => {\n const path =\n event.path || (event.composedPath && event.composedPath());\n const target = event.target.shadowRoot ? path[0] : event.target;\n\n const isOutsideContainer =\n hostEl.containerViewChild &&\n !hostEl.containerViewChild.nativeElement.contains(target);\n const isOutsideTarget = hostEl.popup\n ? !(\n hostEl.target &&\n (hostEl.target === target || hostEl.target.contains(target))\n )\n : true;\n if (isOutsideContainer && isOutsideTarget) {\n hostEl.hide();\n }\n }\n );\n }\n }\n };\n }\n}\n","import { Directive, Host, Optional, Self } from \"@angular/core\";\nimport { Calendar } from \"primeng/calendar\";\n\n/**\n * Though delete the following line, there's no error thrown in the console\n * but the directive doesn't work as expected, value is not updated in the input field after selection\n * so we need to keep it\n */\n@Directive({\n selector: '[psdCalendar]', // psd = PRIMENG ShadowDOM Directive\n})\nexport class psdCalendarDirective {\n constructor(\n @Host() @Self() @Optional() private readonly hostEl: Calendar\n ) {\n hostEl.isOutsideClicked = (event: any) => {\n const path = event.path || (event.composedPath && event.composedPath());\n const target = event.target.shadowRoot ? path[0] : event.target\n return !(this.hostEl.el.nativeElement.isSameNode(target) || this.hostEl.el.nativeElement.contains(target) || (this.hostEl.overlay && this.hostEl.overlay.contains(<Node>target)));\n }\n }\n}","import { NgModule } from '@angular/core';\nimport {\n psdOverlayPanelDirective,\n psdInputMaskDirective,\n psdMenuDirective,\n psdSlideMenuDirective,\n psdSplitButtonDirective,\n psdTieredMenuDirective,\n psdCalendarDirective,\n} from './directives';\nimport { DomHandler } from 'primeng/dom';\n\nDomHandler.getScrollableParents = (element: any) => {\n let scrollableParents = [];\n\n if (element) {\n let parents = DomHandler.getParents(element).filter(\n (item: any) => !(item instanceof ShadowRoot)\n );\n const overflowRegex = /(auto|scroll)/;\n const overflowCheck = (node: any) => {\n let styleDeclaration = window['getComputedStyle'](node, null);\n return (\n overflowRegex.test(styleDeclaration.getPropertyValue('overflow')) ||\n overflowRegex.test(styleDeclaration.getPropertyValue('overflowX')) ||\n overflowRegex.test(styleDeclaration.getPropertyValue('overflowY'))\n );\n };\n\n for (let parent of parents) {\n let scrollSelectors =\n parent.nodeType === 1 && parent.dataset['scrollselectors'];\n if (scrollSelectors) {\n let selectors = scrollSelectors.split(',');\n for (let selector of selectors) {\n let el = DomHandler.findSingle(parent, selector);\n if (el && overflowCheck(el)) {\n scrollableParents.push(el);\n }\n }\n }\n\n if (parent.nodeType !== 9 && overflowCheck(parent)) {\n scrollableParents.push(parent);\n }\n }\n }\n\n return scrollableParents;\n};\n\n@NgModule({\n declarations: [\n psdMenuDirective,\n psdOverlayPanelDirective,\n psdInputMaskDirective,\n psdSlideMenuDirective,\n psdSplitButtonDirective,\n psdTieredMenuDirective,\n psdCalendarDirective,\n ],\n exports: [\n psdMenuDirective,\n psdOverlayPanelDirective,\n psdInputMaskDirective,\n psdSlideMenuDirective,\n psdSplitButtonDirective,\n psdTieredMenuDirective,\n psdCalendarDirective,\n ],\n})\nexport class PrimeNGShadowDOMDirective {}\n","import { DomHandler } from 'primeng/dom';\nimport { Table } from 'primeng/table';\n\nexport function ensureResizableColumn(dt: Table, shadowRoot?: ShadowRoot) {\n dt.destroyStyleElement = () => {\n if (dt.styleElement) {\n if (shadowRoot instanceof ShadowRoot) {\n shadowRoot.removeChild(dt.styleElement);\n } else {\n document.head.removeChild(dt.styleElement);\n }\n\n dt.styleElement = null;\n }\n };\n\n dt.createStyleElement = () => {\n dt.styleElement = document.createElement('style');\n dt.styleElement.type = 'text/css';\n DomHandler.setAttribute(dt.styleElement, 'nonce', dt.config?.csp()?.nonce);\n\n if (shadowRoot instanceof ShadowRoot) {\n // Use the component's shadow root instead of document.head\n shadowRoot.appendChild(dt.styleElement);\n } else {\n document.head.appendChild(dt.styleElement);\n }\n };\n}\n","/*\n * Public API Surface of primeng-shadowdom-directives\n */\n\nexport * from './primeng-shadowdom-directives.module';\nexport * from './directives'\nexport * from './helpers'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}