primeng 18.0.4-lts → 18.0.5-lts

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.
Files changed (62) hide show
  1. package/datepicker/datepicker.d.ts +1 -1
  2. package/esm2022/autocomplete/style/autocompletestyle.mjs +19 -6
  3. package/esm2022/button/button.mjs +11 -43
  4. package/esm2022/calendar/calendar.mjs +4 -4
  5. package/esm2022/confirmdialog/confirmdialog.mjs +34 -41
  6. package/esm2022/dataview/dataview.mjs +10 -35
  7. package/esm2022/datepicker/datepicker.mjs +60 -44
  8. package/esm2022/datepicker/style/datepickerstyle.mjs +14 -1
  9. package/esm2022/dialog/dialog.mjs +98 -108
  10. package/esm2022/drawer/drawer.mjs +2 -2
  11. package/esm2022/fieldset/style/fieldsetstyle.mjs +2 -1
  12. package/esm2022/iftalabel/style/iftalabelstyle.mjs +10 -4
  13. package/esm2022/inputnumber/style/inputnumberstyle.mjs +10 -1
  14. package/esm2022/multiselect/multiselect.mjs +20 -75
  15. package/esm2022/password/style/passwordstyle.mjs +2 -1
  16. package/esm2022/picklist/picklist.mjs +3 -1
  17. package/esm2022/splitter/splitter.mjs +3 -3
  18. package/esm2022/stepper/stepper.mjs +29 -57
  19. package/esm2022/table/table.interface.mjs +1 -1
  20. package/esm2022/table/table.mjs +81 -450
  21. package/esm2022/tree/tree.mjs +18 -88
  22. package/fesm2022/primeng-autocomplete.mjs +18 -5
  23. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  24. package/fesm2022/primeng-button.mjs +10 -42
  25. package/fesm2022/primeng-button.mjs.map +1 -1
  26. package/fesm2022/primeng-calendar.mjs +3 -3
  27. package/fesm2022/primeng-calendar.mjs.map +1 -1
  28. package/fesm2022/primeng-confirmdialog.mjs +33 -40
  29. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  30. package/fesm2022/primeng-dataview.mjs +9 -34
  31. package/fesm2022/primeng-dataview.mjs.map +1 -1
  32. package/fesm2022/primeng-datepicker.mjs +72 -43
  33. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  34. package/fesm2022/primeng-dialog.mjs +97 -107
  35. package/fesm2022/primeng-dialog.mjs.map +1 -1
  36. package/fesm2022/primeng-drawer.mjs +1 -1
  37. package/fesm2022/primeng-drawer.mjs.map +1 -1
  38. package/fesm2022/primeng-fieldset.mjs +1 -0
  39. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  40. package/fesm2022/primeng-iftalabel.mjs +9 -3
  41. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  42. package/fesm2022/primeng-inputnumber.mjs +9 -0
  43. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  44. package/fesm2022/primeng-multiselect.mjs +19 -74
  45. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  46. package/fesm2022/primeng-password.mjs +1 -0
  47. package/fesm2022/primeng-password.mjs.map +1 -1
  48. package/fesm2022/primeng-picklist.mjs +2 -0
  49. package/fesm2022/primeng-picklist.mjs.map +1 -1
  50. package/fesm2022/primeng-splitter.mjs +2 -2
  51. package/fesm2022/primeng-splitter.mjs.map +1 -1
  52. package/fesm2022/primeng-stepper.mjs +30 -58
  53. package/fesm2022/primeng-stepper.mjs.map +1 -1
  54. package/fesm2022/primeng-table.mjs +80 -449
  55. package/fesm2022/primeng-table.mjs.map +1 -1
  56. package/fesm2022/primeng-tree.mjs +17 -87
  57. package/fesm2022/primeng-tree.mjs.map +1 -1
  58. package/package.json +314 -314
  59. package/splitter/splitter.d.ts +2 -2
  60. package/stepper/stepper.d.ts +4 -3
  61. package/table/table.d.ts +11 -11
  62. package/table/table.interface.d.ts +13 -13
@@ -1,7 +1,7 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { CommonModule, isPlatformBrowser } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Injectable, contentChild, computed, ChangeDetectionStrategy, Component, EventEmitter, inject, numberAttribute, ViewEncapsulation, ContentChildren, ViewChild, Output, Input, NgModule } from '@angular/core';
4
+ import { Injectable, contentChild, forwardRef, computed, ChangeDetectionStrategy, Component, EventEmitter, inject, numberAttribute, ViewEncapsulation, ContentChildren, ViewChild, Output, Input, NgModule } from '@angular/core';
5
5
  import { hasClass, getWidth, getHeight, getOuterWidth, getOuterHeight, addClass, isRTL, removeClass } from '@primeuix/utils';
6
6
  import { SharedModule, PrimeTemplate } from 'primeng/api';
7
7
  import { BaseComponent } from 'primeng/basecomponent';
@@ -169,7 +169,7 @@ function Splitter_ng_template_2_Template(rf, ctx) { if (rf & 1) {
169
169
  i0.ɵɵproperty("ngIf", i_r2 !== ctx_r2.panels.length - 1);
170
170
  } }
171
171
  class SplitterPanel extends BaseComponent {
172
- splitter = contentChild(Splitter);
172
+ splitter = contentChild(forwardRef(() => Splitter));
173
173
  nestedState = computed(() => this.splitter());
174
174
  static ɵfac = /*@__PURE__*/ (() => { let ɵSplitterPanel_BaseFactory; return function SplitterPanel_Factory(__ngFactoryType__) { return (ɵSplitterPanel_BaseFactory || (ɵSplitterPanel_BaseFactory = i0.ɵɵgetInheritedFactory(SplitterPanel)))(__ngFactoryType__ || SplitterPanel); }; })();
175
175
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SplitterPanel, selectors: [["p-splitter-panel"]], contentQueries: function SplitterPanel_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-splitter.mjs","sources":["../../src/splitter/style/splitterstyle.ts","../../src/splitter/splitter.ts","../../src/splitter/primeng-splitter.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-splitter {\n display: flex;\n flex-wrap: nowrap;\n border: 1px solid ${dt('splitter.border.color')};\n background: ${dt('splitter.background')};\n border-radius: ${dt('border.radius.md')};\n color: ${dt('splitter.color')};\n}\n\n.p-splitter-vertical {\n flex-direction: column;\n}\n\n.p-splitter-gutter {\n flex-grow: 0;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1;\n background: ${dt('splitter.gutter.background')};\n}\n\n.p-splitter-gutter-handle {\n border-radius: ${dt('splitter.handle.border.radius')};\n background: ${dt('splitter.handle.background')};\n transition: outline-color ${dt('splitter.transition.duration')}, box-shadow ${dt('splitter.transition.duration')};\n outline-color: transparent;\n}\n\n.p-splitter-gutter-handle:focus-visible {\n box-shadow: ${dt('splitter.handle.focus.ring.shadow')};\n outline: ${dt('splitter.handle.focus.ring.width')} ${dt('splitter.handle.focus.ring.style')} ${dt('splitter.handle.focus.ring.color')};\n outline-offset: ${dt('splitter.handle.focus.ring.offset')};\n}\n\n.p-splitter-horizontal.p-splitter-resizing {\n cursor: col-resize;\n user-select: none;\n}\n\n.p-splitter-vertical.p-splitter-resizing {\n cursor: row-resize;\n user-select: none;\n}\n\n.p-splitter-horizontal > .p-splitter-gutter > .p-splitter-gutter-handle {\n height: ${dt('splitter.handle.size')};\n width: 100%;\n}\n\n.p-splitter-vertical > .p-splitter-gutter > .p-splitter-gutter-handle {\n width: ${dt('splitter.handle.size')};\n height: 100%;\n}\n\n.p-splitter-horizontal > .p-splitter-gutter {\n cursor: col-resize;\n}\n\n.p-splitter-vertical > .p-splitter-gutter {\n cursor: row-resize;\n}\n\n.p-splitterpanel {\n flex-grow: 1;\n overflow: hidden;\n}\n\n.p-splitterpanel-nested {\n display: flex;\n flex-grow: 1;\n justify-content: center;\n}\n\n.p-splitterpanel .p-splitter {\n flex-grow: 1;\n border: 0 none;\n}\n`;\n\nconst classes = {\n root: ({ props }) => ['p-splitter p-component', 'p-splitter-' + props.layout],\n gutter: 'p-splitter-gutter',\n gutterHandle: 'p-splitter-gutter-handle'\n};\n\n/*const inlineStyles = {\n root: ({ props }) => [{ display: 'flex', 'flex-wrap': 'nowrap' }, props.layout === 'vertical' ? { 'flex-direction': 'column' } : '']\n};*/\n\n@Injectable()\nexport class SplitterStyle extends BaseStyle {\n name = 'splitter';\n\n theme = theme;\n\n classes = classes;\n\n //inlineStyles = inlineStyles;\n}\n\n/**\n *\n * Splitter is utilized to separate and resize panels.\n *\n * [Live Demo](https://www.primeng.org/splitter/)\n *\n * @module splitterstyle\n *\n */\nexport enum SplitterClasses {\n /**\n * Class name of the root element\n */\n root = 'p-splitter',\n /**\n * Class name of the gutter element\n */\n gutter = 'p-splitter-gutter',\n /**\n * Class name of the gutter handle element\n */\n gutterHandle = 'p-splitter-gutter-handle'\n}\n\nexport interface SplitterStyle extends BaseStyle {}\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { AfterContentInit, ChangeDetectionStrategy, Component, computed, contentChild, ContentChildren, ElementRef, EventEmitter, inject, Input, NgModule, numberAttribute, Output, QueryList, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { addClass, getHeight, getOuterHeight, getOuterWidth, getWidth, hasClass, isRTL, removeClass } from '@primeuix/utils';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Nullable, VoidListener } from 'primeng/ts-helpers';\nimport { SplitterResizeEndEvent, SplitterResizeStartEvent } from './splitter.interface';\nimport { SplitterStyle } from './style/splitterstyle';\n\n@Component({\n selector: 'p-splitter-panel',\n standalone: true,\n imports: [CommonModule],\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'p-splitterpanel'\n }\n})\nexport class SplitterPanel extends BaseComponent {\n splitter = contentChild(Splitter);\n\n nestedState = computed(() => this.splitter());\n}\n\n/**\n * Splitter is utilized to separate and resize panels.\n * @group Components\n */\n@Component({\n selector: 'p-splitter',\n standalone: true,\n imports: [CommonModule, SharedModule],\n template: `\n <div\n #container\n [ngClass]=\"containerClass()\"\n [class]=\"styleClass\"\n [ngStyle]=\"style\"\n [style]=\"{ display: 'flex', 'flex-wrap': 'nowrap', 'flex-direction': layout === 'vertical' ? 'column' : '' }\"\n [attr.data-pc-name]=\"'splitter'\"\n [attr.data-p-gutter-resizing]=\"false\"\n [attr.data-pc-section]=\"'root'\"\n >\n <ng-template ngFor let-panel [ngForOf]=\"panels\" let-i=\"index\">\n <div [ngClass]=\"panelContainerClass()\" [class]=\"panelStyleClass\" [ngStyle]=\"panelStyle\" tabindex=\"-1\" [attr.data-pc-name]=\"'splitter'\" [attr.data-pc-section]=\"'root'\">\n <ng-container *ngTemplateOutlet=\"panel\"></ng-container>\n </div>\n <div\n *ngIf=\"i !== panels.length - 1\"\n class=\"p-splitter-gutter\"\n role=\"separator\"\n tabindex=\"-1\"\n (mousedown)=\"onGutterMouseDown($event, i)\"\n (touchstart)=\"onGutterTouchStart($event, i)\"\n (touchmove)=\"onGutterTouchMove($event)\"\n (touchend)=\"onGutterTouchEnd($event)\"\n [attr.data-p-gutter-resizing]=\"false\"\n [attr.data-pc-section]=\"'gutter'\"\n >\n <div\n class=\"p-splitter-gutter-handle\"\n tabindex=\"0\"\n [ngStyle]=\"gutterStyle()\"\n [attr.aria-orientation]=\"layout\"\n [attr.aria-valuenow]=\"prevSize\"\n [attr.data-pc-section]=\"'gutterhandle'\"\n (keyup)=\"onGutterKeyUp($event)\"\n (keydown)=\"onGutterKeyDown($event, i)\"\n ></div>\n </div>\n </ng-template>\n </div>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.p-splitterpanel-nested]': 'nested'\n },\n providers: [SplitterStyle]\n})\nexport class Splitter extends BaseComponent implements AfterContentInit {\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Style class of the panel.\n * @group Props\n */\n @Input() panelStyleClass: string | undefined;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Inline style of the panel.\n * @group Props\n */\n @Input() panelStyle: { [klass: string]: any } | null | undefined;\n /**\n * Defines where a stateful splitter keeps its state, valid values are 'session' for sessionStorage and 'local' for localStorage.\n * @group Props\n */\n @Input() stateStorage: string | undefined = 'session';\n /**\n * Storage identifier of a stateful Splitter.\n * @group Props\n */\n @Input() stateKey: string | undefined | null = null;\n /**\n * Orientation of the panels. Valid values are 'horizontal' and 'vertical'.\n * @group Props\n */\n @Input() layout: string | undefined = 'horizontal';\n /**\n * Size of the divider in pixels.\n * @group Props\n */\n @Input({ transform: numberAttribute }) gutterSize: number = 4;\n /**\n * Step factor to increment/decrement the size of the panels while pressing the arrow keys.\n * @group Props\n */\n @Input({ transform: numberAttribute }) step: number = 5;\n /**\n * Minimum size of the elements relative to 100%.\n * @group Props\n */\n @Input() minSizes: number[] = [];\n /**\n * Size of the elements relative to 100%.\n * @group Props\n */\n @Input() get panelSizes(): number[] {\n return this._panelSizes;\n }\n set panelSizes(val: number[]) {\n this._panelSizes = val;\n\n if (this.el && this.el.nativeElement && this.panels.length > 0) {\n let children = [...this.el.nativeElement.children[0].children].filter((child) => hasClass(child, 'p-splitterpanel'));\n let _panelSizes = [];\n\n this.panels.map((panel, i) => {\n let panelInitialSize = this.panelSizes.length - 1 >= i ? this.panelSizes[i] : null;\n let panelSize = panelInitialSize || 100 / this.panels.length;\n _panelSizes[i] = panelSize;\n children[i].style.flexBasis = 'calc(' + panelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n });\n }\n }\n /**\n * Callback to invoke when resize ends.\n * @param {SplitterResizeEndEvent} event - Custom panel resize end event\n * @group Emits\n */\n @Output() onResizeEnd: EventEmitter<SplitterResizeEndEvent> = new EventEmitter<SplitterResizeEndEvent>();\n /**\n * Callback to invoke when resize starts.\n * @param {SplitterResizeStartEvent} event - Custom panel resize start event\n * @group Emits\n */\n @Output() onResizeStart: EventEmitter<SplitterResizeStartEvent> = new EventEmitter<SplitterResizeStartEvent>();\n\n @ViewChild('container', { static: false }) containerViewChild: Nullable<ElementRef>;\n\n @ContentChildren(PrimeTemplate) templates!: QueryList<PrimeTemplate>;\n\n nested: boolean = false;\n\n panels: any[] = [];\n\n dragging: boolean = false;\n\n mouseMoveListener: VoidListener;\n\n mouseUpListener: VoidListener;\n\n touchMoveListener: VoidListener;\n\n touchEndListener: VoidListener;\n\n size: Nullable<number>;\n\n gutterElement: Nullable<ElementRef | HTMLElement>;\n\n startPos: Nullable<number>;\n\n prevPanelElement: Nullable<ElementRef | HTMLElement>;\n\n nextPanelElement: Nullable<ElementRef | HTMLElement>;\n\n nextPanelSize: Nullable<number>;\n\n prevPanelSize: Nullable<number>;\n\n _panelSizes: number[] = [];\n\n prevPanelIndex: Nullable<number>;\n\n timer: any;\n\n prevSize: any;\n\n _componentStyle = inject(SplitterStyle);\n\n ngOnInit() {\n super.ngOnInit();\n this.nested = this.isNested();\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'panel':\n this.panels.push(item.template);\n break;\n default:\n this.panels.push(item.template);\n break;\n }\n });\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n if (isPlatformBrowser(this.platformId)) {\n if (this.panels && this.panels.length) {\n let initialized = false;\n if (this.isStateful()) {\n initialized = this.restoreState();\n }\n\n if (!initialized) {\n let children = [...this.el.nativeElement.children[0].children].filter((child) => hasClass(child, 'p-splitterpanel'));\n let _panelSizes = [];\n\n this.panels.map((panel, i) => {\n let panelInitialSize = this.panelSizes.length - 1 >= i ? this.panelSizes[i] : null;\n let panelSize = panelInitialSize || 100 / this.panels.length;\n _panelSizes[i] = panelSize;\n children[i].style.flexBasis = 'calc(' + panelSize + '% - ' + (this.panels.length - 1) * (this.gutterSize as number) + 'px)';\n });\n\n this._panelSizes = _panelSizes;\n\n this.prevSize = parseFloat(_panelSizes[0]).toFixed(4);\n }\n }\n }\n }\n\n resizeStart(event: TouchEvent | MouseEvent, index: number, isKeyDown?: boolean) {\n this.gutterElement = (event.currentTarget as HTMLElement) || (event.target as HTMLElement).parentElement;\n this.size = this.horizontal() ? getWidth((this.containerViewChild as ElementRef).nativeElement) : getHeight((this.containerViewChild as ElementRef).nativeElement);\n\n if (!isKeyDown) {\n this.dragging = true;\n this.startPos = this.horizontal() ? (event instanceof MouseEvent ? event.pageX : event.changedTouches[0].pageX) : event instanceof MouseEvent ? event.pageY : event.changedTouches[0].pageY;\n }\n\n this.prevPanelElement = this.gutterElement.previousElementSibling as HTMLElement;\n this.nextPanelElement = this.gutterElement.nextElementSibling as HTMLElement;\n\n if (isKeyDown) {\n this.prevPanelSize = this.horizontal() ? getOuterWidth(this.prevPanelElement, true) : getOuterHeight(this.prevPanelElement, true);\n this.nextPanelSize = this.horizontal() ? getOuterWidth(this.nextPanelElement, true) : getOuterHeight(this.nextPanelElement, true);\n } else {\n this.prevPanelSize = (100 * (this.horizontal() ? getOuterWidth(this.prevPanelElement, true) : getOuterHeight(this.prevPanelElement, true))) / this.size;\n this.nextPanelSize = (100 * (this.horizontal() ? getOuterWidth(this.nextPanelElement, true) : getOuterHeight(this.nextPanelElement, true))) / this.size;\n }\n\n this.prevPanelIndex = index;\n addClass(this.gutterElement, 'p-splitter-gutter-resizing');\n this.gutterElement.setAttribute('data-p-gutter-resizing', 'true');\n addClass((this.containerViewChild as ElementRef).nativeElement, 'p-splitter-resizing');\n this.containerViewChild.nativeElement.setAttribute('data-p-resizing', 'true');\n this.onResizeStart.emit({ originalEvent: event, sizes: this._panelSizes as number[] });\n }\n\n onResize(event: MouseEvent, step?: number, isKeyDown?: boolean) {\n let newPos, newPrevPanelSize, newNextPanelSize;\n\n if (isKeyDown) {\n if (this.horizontal()) {\n newPrevPanelSize = (100 * (this.prevPanelSize + step)) / this.size;\n newNextPanelSize = (100 * (this.nextPanelSize - step)) / this.size;\n } else {\n newPrevPanelSize = (100 * (this.prevPanelSize - step)) / this.size;\n newNextPanelSize = (100 * (this.nextPanelSize + step)) / this.size;\n }\n } else {\n if (this.horizontal()) {\n if (isRTL(this.el.nativeElement)) {\n newPos = ((this.startPos - event.pageX) * 100) / this.size;\n } else {\n newPos = ((event.pageX - this.startPos) * 100) / this.size;\n }\n } else {\n newPos = ((event.pageY - this.startPos) * 100) / this.size;\n }\n\n newPrevPanelSize = (this.prevPanelSize as number) + newPos;\n newNextPanelSize = (this.nextPanelSize as number) - newPos;\n }\n\n this.prevSize = parseFloat(newPrevPanelSize).toFixed(4);\n\n if (this.validateResize(newPrevPanelSize, newNextPanelSize)) {\n (this.prevPanelElement as HTMLElement).style.flexBasis = 'calc(' + newPrevPanelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n (this.nextPanelElement as HTMLElement).style.flexBasis = 'calc(' + newNextPanelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n this._panelSizes[this.prevPanelIndex as number] = newPrevPanelSize;\n this._panelSizes[(this.prevPanelIndex as number) + 1] = newNextPanelSize;\n }\n }\n\n resizeEnd(event: MouseEvent | TouchEvent) {\n if (this.isStateful()) {\n this.saveState();\n }\n\n this.onResizeEnd.emit({ originalEvent: event, sizes: this._panelSizes });\n removeClass(this.gutterElement as any, 'p-splitter-gutter-resizing');\n removeClass((this.containerViewChild as ElementRef).nativeElement, 'p-splitter-resizing');\n this.clear();\n }\n\n onGutterMouseDown(event: MouseEvent, index: number) {\n this.resizeStart(event, index);\n this.bindMouseListeners();\n }\n\n onGutterTouchStart(event: TouchEvent, index: number) {\n if (event.cancelable) {\n this.resizeStart(event, index);\n this.bindTouchListeners();\n\n event.preventDefault();\n }\n }\n\n onGutterTouchMove(event) {\n this.onResize(event);\n event.preventDefault();\n }\n\n onGutterTouchEnd(event: TouchEvent) {\n this.resizeEnd(event);\n this.unbindTouchListeners();\n\n if (event.cancelable) event.preventDefault();\n }\n\n repeat(event, index, step) {\n this.resizeStart(event, index, true);\n this.onResize(event, step, true);\n }\n\n setTimer(event, index, step) {\n this.clearTimer();\n this.timer = setTimeout(() => {\n this.repeat(event, index, step);\n }, 40);\n }\n\n clearTimer() {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n }\n\n onGutterKeyUp(event) {\n this.clearTimer();\n this.resizeEnd(event);\n }\n\n onGutterKeyDown(event, index) {\n switch (event.code) {\n case 'ArrowLeft': {\n if (this.layout === 'horizontal') {\n this.setTimer(event, index, this.step * -1);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowRight': {\n if (this.layout === 'horizontal') {\n this.setTimer(event, index, this.step);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowDown': {\n if (this.layout === 'vertical') {\n this.setTimer(event, index, this.step * -1);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowUp': {\n if (this.layout === 'vertical') {\n this.setTimer(event, index, this.step);\n }\n\n event.preventDefault();\n break;\n }\n\n default:\n //no op\n break;\n }\n }\n\n validateResize(newPrevPanelSize: number, newNextPanelSize: number) {\n if (this.minSizes.length >= 1 && this.minSizes[0] && this.minSizes[0] > newPrevPanelSize) {\n return false;\n }\n\n if (this.minSizes.length > 1 && this.minSizes[1] && this.minSizes[1] > newNextPanelSize) {\n return false;\n }\n\n return true;\n }\n\n bindMouseListeners() {\n if (!this.mouseMoveListener) {\n this.mouseMoveListener = this.renderer.listen(this.document, 'mousemove', (event) => {\n this.onResize(event);\n });\n }\n\n if (!this.mouseUpListener) {\n this.mouseUpListener = this.renderer.listen(this.document, 'mouseup', (event) => {\n this.resizeEnd(event);\n this.unbindMouseListeners();\n });\n }\n }\n\n bindTouchListeners() {\n if (!this.touchMoveListener) {\n this.touchMoveListener = this.renderer.listen(this.document, 'touchmove', (event) => {\n this.onResize(event.changedTouches[0]);\n });\n }\n\n if (!this.touchEndListener) {\n this.touchEndListener = this.renderer.listen(this.document, 'touchend', (event) => {\n this.resizeEnd(event);\n this.unbindTouchListeners();\n });\n }\n }\n\n unbindMouseListeners() {\n if (this.mouseMoveListener) {\n this.mouseMoveListener();\n this.mouseMoveListener = null;\n }\n\n if (this.mouseUpListener) {\n this.mouseUpListener();\n this.mouseUpListener = null;\n }\n }\n\n unbindTouchListeners() {\n if (this.touchMoveListener) {\n this.touchMoveListener();\n this.touchMoveListener = null;\n }\n\n if (this.touchEndListener) {\n this.touchEndListener();\n this.touchEndListener = null;\n }\n }\n\n clear() {\n this.dragging = false;\n this.size = null;\n this.startPos = null;\n this.prevPanelElement = null;\n this.nextPanelElement = null;\n this.prevPanelSize = null;\n this.nextPanelSize = null;\n this.gutterElement = null;\n this.prevPanelIndex = null;\n }\n\n isNested() {\n if (this.el.nativeElement) {\n let parent = this.el.nativeElement.parentElement;\n while (parent && !hasClass(parent, 'p-splitter')) {\n parent = parent.parentElement;\n }\n\n return parent !== null;\n } else {\n return false;\n }\n }\n\n isStateful() {\n return this.stateKey != null;\n }\n\n getStorage() {\n if (isPlatformBrowser(this.platformId)) {\n switch (this.stateStorage) {\n case 'local':\n return this.document.defaultView.localStorage;\n\n case 'session':\n return this.document.defaultView.sessionStorage;\n\n default:\n throw new Error(this.stateStorage + ' is not a valid value for the state storage, supported values are \"local\" and \"session\".');\n }\n } else {\n throw new Error('Storage is not a available by default on the server.');\n }\n }\n\n saveState() {\n this.getStorage().setItem(this.stateKey as string, JSON.stringify(this._panelSizes));\n }\n\n restoreState() {\n const storage = this.getStorage();\n const stateString = storage.getItem(this.stateKey as string);\n\n if (stateString) {\n this._panelSizes = JSON.parse(stateString);\n let children = [...(this.containerViewChild as ElementRef).nativeElement.children].filter((child) => hasClass(child, 'p-splitterpanel'));\n children.forEach((child, i) => {\n child.style.flexBasis = 'calc(' + this._panelSizes[i] + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n });\n\n return true;\n }\n\n return false;\n }\n\n containerClass() {\n return {\n 'p-splitter p-component': true,\n 'p-splitter-horizontal': this.layout === 'horizontal',\n 'p-splitter-vertical': this.layout === 'vertical'\n };\n }\n\n panelContainerClass() {\n return {\n 'p-splitterpanel': true,\n 'p-splitterpanel-nested': true\n };\n }\n\n gutterStyle() {\n if (this.horizontal()) return { width: this.gutterSize + 'px' };\n else return { height: this.gutterSize + 'px' };\n }\n\n horizontal() {\n return this.layout === 'horizontal';\n }\n}\n\n@NgModule({\n imports: [Splitter, SplitterPanel, SharedModule],\n exports: [Splitter, SplitterPanel, SharedModule]\n})\nexport class SplitterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primeng-splitter.mjs","sources":["../../src/splitter/style/splitterstyle.ts","../../src/splitter/splitter.ts","../../src/splitter/primeng-splitter.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-splitter {\n display: flex;\n flex-wrap: nowrap;\n border: 1px solid ${dt('splitter.border.color')};\n background: ${dt('splitter.background')};\n border-radius: ${dt('border.radius.md')};\n color: ${dt('splitter.color')};\n}\n\n.p-splitter-vertical {\n flex-direction: column;\n}\n\n.p-splitter-gutter {\n flex-grow: 0;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1;\n background: ${dt('splitter.gutter.background')};\n}\n\n.p-splitter-gutter-handle {\n border-radius: ${dt('splitter.handle.border.radius')};\n background: ${dt('splitter.handle.background')};\n transition: outline-color ${dt('splitter.transition.duration')}, box-shadow ${dt('splitter.transition.duration')};\n outline-color: transparent;\n}\n\n.p-splitter-gutter-handle:focus-visible {\n box-shadow: ${dt('splitter.handle.focus.ring.shadow')};\n outline: ${dt('splitter.handle.focus.ring.width')} ${dt('splitter.handle.focus.ring.style')} ${dt('splitter.handle.focus.ring.color')};\n outline-offset: ${dt('splitter.handle.focus.ring.offset')};\n}\n\n.p-splitter-horizontal.p-splitter-resizing {\n cursor: col-resize;\n user-select: none;\n}\n\n.p-splitter-vertical.p-splitter-resizing {\n cursor: row-resize;\n user-select: none;\n}\n\n.p-splitter-horizontal > .p-splitter-gutter > .p-splitter-gutter-handle {\n height: ${dt('splitter.handle.size')};\n width: 100%;\n}\n\n.p-splitter-vertical > .p-splitter-gutter > .p-splitter-gutter-handle {\n width: ${dt('splitter.handle.size')};\n height: 100%;\n}\n\n.p-splitter-horizontal > .p-splitter-gutter {\n cursor: col-resize;\n}\n\n.p-splitter-vertical > .p-splitter-gutter {\n cursor: row-resize;\n}\n\n.p-splitterpanel {\n flex-grow: 1;\n overflow: hidden;\n}\n\n.p-splitterpanel-nested {\n display: flex;\n flex-grow: 1;\n justify-content: center;\n}\n\n.p-splitterpanel .p-splitter {\n flex-grow: 1;\n border: 0 none;\n}\n`;\n\nconst classes = {\n root: ({ props }) => ['p-splitter p-component', 'p-splitter-' + props.layout],\n gutter: 'p-splitter-gutter',\n gutterHandle: 'p-splitter-gutter-handle'\n};\n\n/*const inlineStyles = {\n root: ({ props }) => [{ display: 'flex', 'flex-wrap': 'nowrap' }, props.layout === 'vertical' ? { 'flex-direction': 'column' } : '']\n};*/\n\n@Injectable()\nexport class SplitterStyle extends BaseStyle {\n name = 'splitter';\n\n theme = theme;\n\n classes = classes;\n\n //inlineStyles = inlineStyles;\n}\n\n/**\n *\n * Splitter is utilized to separate and resize panels.\n *\n * [Live Demo](https://www.primeng.org/splitter/)\n *\n * @module splitterstyle\n *\n */\nexport enum SplitterClasses {\n /**\n * Class name of the root element\n */\n root = 'p-splitter',\n /**\n * Class name of the gutter element\n */\n gutter = 'p-splitter-gutter',\n /**\n * Class name of the gutter handle element\n */\n gutterHandle = 'p-splitter-gutter-handle'\n}\n\nexport interface SplitterStyle extends BaseStyle {}\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n NgModule,\n numberAttribute,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { addClass, getHeight, getOuterHeight, getOuterWidth, getWidth, hasClass, isRTL, removeClass } from '@primeuix/utils';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Nullable, VoidListener } from 'primeng/ts-helpers';\nimport { SplitterResizeEndEvent, SplitterResizeStartEvent } from './splitter.interface';\nimport { SplitterStyle } from './style/splitterstyle';\n\n@Component({\n selector: 'p-splitter-panel',\n standalone: true,\n imports: [CommonModule],\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'p-splitterpanel'\n }\n})\nexport class SplitterPanel extends BaseComponent {\n splitter = contentChild(forwardRef(() => Splitter));\n\n nestedState = computed(() => this.splitter());\n}\n\n/**\n * Splitter is utilized to separate and resize panels.\n * @group Components\n */\n@Component({\n selector: 'p-splitter',\n standalone: true,\n imports: [CommonModule, SharedModule],\n template: `\n <div\n #container\n [ngClass]=\"containerClass()\"\n [class]=\"styleClass\"\n [ngStyle]=\"style\"\n [style]=\"{ display: 'flex', 'flex-wrap': 'nowrap', 'flex-direction': layout === 'vertical' ? 'column' : '' }\"\n [attr.data-pc-name]=\"'splitter'\"\n [attr.data-p-gutter-resizing]=\"false\"\n [attr.data-pc-section]=\"'root'\"\n >\n <ng-template ngFor let-panel [ngForOf]=\"panels\" let-i=\"index\">\n <div [ngClass]=\"panelContainerClass()\" [class]=\"panelStyleClass\" [ngStyle]=\"panelStyle\" tabindex=\"-1\" [attr.data-pc-name]=\"'splitter'\" [attr.data-pc-section]=\"'root'\">\n <ng-container *ngTemplateOutlet=\"panel\"></ng-container>\n </div>\n <div\n *ngIf=\"i !== panels.length - 1\"\n class=\"p-splitter-gutter\"\n role=\"separator\"\n tabindex=\"-1\"\n (mousedown)=\"onGutterMouseDown($event, i)\"\n (touchstart)=\"onGutterTouchStart($event, i)\"\n (touchmove)=\"onGutterTouchMove($event)\"\n (touchend)=\"onGutterTouchEnd($event)\"\n [attr.data-p-gutter-resizing]=\"false\"\n [attr.data-pc-section]=\"'gutter'\"\n >\n <div\n class=\"p-splitter-gutter-handle\"\n tabindex=\"0\"\n [ngStyle]=\"gutterStyle()\"\n [attr.aria-orientation]=\"layout\"\n [attr.aria-valuenow]=\"prevSize\"\n [attr.data-pc-section]=\"'gutterhandle'\"\n (keyup)=\"onGutterKeyUp($event)\"\n (keydown)=\"onGutterKeyDown($event, i)\"\n ></div>\n </div>\n </ng-template>\n </div>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.p-splitterpanel-nested]': 'nested'\n },\n providers: [SplitterStyle]\n})\nexport class Splitter extends BaseComponent implements AfterContentInit {\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Style class of the panel.\n * @group Props\n */\n @Input() panelStyleClass: string | undefined;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Inline style of the panel.\n * @group Props\n */\n @Input() panelStyle: { [klass: string]: any } | null | undefined;\n /**\n * Defines where a stateful splitter keeps its state, valid values are 'session' for sessionStorage and 'local' for localStorage.\n * @group Props\n */\n @Input() stateStorage: string | undefined = 'session';\n /**\n * Storage identifier of a stateful Splitter.\n * @group Props\n */\n @Input() stateKey: string | undefined | null = null;\n /**\n * Orientation of the panels. Valid values are 'horizontal' and 'vertical'.\n * @group Props\n */\n @Input() layout: string | undefined = 'horizontal';\n /**\n * Size of the divider in pixels.\n * @group Props\n */\n @Input({ transform: numberAttribute }) gutterSize: number = 4;\n /**\n * Step factor to increment/decrement the size of the panels while pressing the arrow keys.\n * @group Props\n */\n @Input({ transform: numberAttribute }) step: number = 5;\n /**\n * Minimum size of the elements relative to 100%.\n * @group Props\n */\n @Input() minSizes: number[] = [];\n /**\n * Size of the elements relative to 100%.\n * @group Props\n */\n @Input() get panelSizes(): number[] {\n return this._panelSizes;\n }\n set panelSizes(val: number[]) {\n this._panelSizes = val;\n\n if (this.el && this.el.nativeElement && this.panels.length > 0) {\n let children = [...this.el.nativeElement.children[0].children].filter((child) => hasClass(child, 'p-splitterpanel'));\n let _panelSizes = [];\n\n this.panels.map((panel, i) => {\n let panelInitialSize = this.panelSizes.length - 1 >= i ? this.panelSizes[i] : null;\n let panelSize = panelInitialSize || 100 / this.panels.length;\n _panelSizes[i] = panelSize;\n children[i].style.flexBasis = 'calc(' + panelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n });\n }\n }\n /**\n * Callback to invoke when resize ends.\n * @param {SplitterResizeEndEvent} event - Custom panel resize end event\n * @group Emits\n */\n @Output() onResizeEnd: EventEmitter<SplitterResizeEndEvent> = new EventEmitter<SplitterResizeEndEvent>();\n /**\n * Callback to invoke when resize starts.\n * @param {SplitterResizeStartEvent} event - Custom panel resize start event\n * @group Emits\n */\n @Output() onResizeStart: EventEmitter<SplitterResizeStartEvent> = new EventEmitter<SplitterResizeStartEvent>();\n\n @ViewChild('container', { static: false }) containerViewChild: Nullable<ElementRef>;\n\n @ContentChildren(PrimeTemplate) templates!: QueryList<PrimeTemplate>;\n\n nested: boolean = false;\n\n panels: any[] = [];\n\n dragging: boolean = false;\n\n mouseMoveListener: VoidListener;\n\n mouseUpListener: VoidListener;\n\n touchMoveListener: VoidListener;\n\n touchEndListener: VoidListener;\n\n size: Nullable<number>;\n\n gutterElement: Nullable<ElementRef | HTMLElement>;\n\n startPos: Nullable<number>;\n\n prevPanelElement: Nullable<ElementRef | HTMLElement>;\n\n nextPanelElement: Nullable<ElementRef | HTMLElement>;\n\n nextPanelSize: Nullable<number>;\n\n prevPanelSize: Nullable<number>;\n\n _panelSizes: number[] = [];\n\n prevPanelIndex: Nullable<number>;\n\n timer: any;\n\n prevSize: any;\n\n _componentStyle = inject(SplitterStyle);\n\n ngOnInit() {\n super.ngOnInit();\n this.nested = this.isNested();\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'panel':\n this.panels.push(item.template);\n break;\n default:\n this.panels.push(item.template);\n break;\n }\n });\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n if (isPlatformBrowser(this.platformId)) {\n if (this.panels && this.panels.length) {\n let initialized = false;\n if (this.isStateful()) {\n initialized = this.restoreState();\n }\n\n if (!initialized) {\n let children = [...this.el.nativeElement.children[0].children].filter((child) => hasClass(child, 'p-splitterpanel'));\n let _panelSizes = [];\n\n this.panels.map((panel, i) => {\n let panelInitialSize = this.panelSizes.length - 1 >= i ? this.panelSizes[i] : null;\n let panelSize = panelInitialSize || 100 / this.panels.length;\n _panelSizes[i] = panelSize;\n children[i].style.flexBasis = 'calc(' + panelSize + '% - ' + (this.panels.length - 1) * (this.gutterSize as number) + 'px)';\n });\n\n this._panelSizes = _panelSizes;\n\n this.prevSize = parseFloat(_panelSizes[0]).toFixed(4);\n }\n }\n }\n }\n\n resizeStart(event: TouchEvent | MouseEvent, index: number, isKeyDown?: boolean) {\n this.gutterElement = (event.currentTarget as HTMLElement) || (event.target as HTMLElement).parentElement;\n this.size = this.horizontal() ? getWidth((this.containerViewChild as ElementRef).nativeElement) : getHeight((this.containerViewChild as ElementRef).nativeElement);\n\n if (!isKeyDown) {\n this.dragging = true;\n this.startPos = this.horizontal() ? (event instanceof MouseEvent ? event.pageX : event.changedTouches[0].pageX) : event instanceof MouseEvent ? event.pageY : event.changedTouches[0].pageY;\n }\n\n this.prevPanelElement = this.gutterElement.previousElementSibling as HTMLElement;\n this.nextPanelElement = this.gutterElement.nextElementSibling as HTMLElement;\n\n if (isKeyDown) {\n this.prevPanelSize = this.horizontal() ? getOuterWidth(this.prevPanelElement, true) : getOuterHeight(this.prevPanelElement, true);\n this.nextPanelSize = this.horizontal() ? getOuterWidth(this.nextPanelElement, true) : getOuterHeight(this.nextPanelElement, true);\n } else {\n this.prevPanelSize = (100 * (this.horizontal() ? getOuterWidth(this.prevPanelElement, true) : getOuterHeight(this.prevPanelElement, true))) / this.size;\n this.nextPanelSize = (100 * (this.horizontal() ? getOuterWidth(this.nextPanelElement, true) : getOuterHeight(this.nextPanelElement, true))) / this.size;\n }\n\n this.prevPanelIndex = index;\n addClass(this.gutterElement, 'p-splitter-gutter-resizing');\n this.gutterElement.setAttribute('data-p-gutter-resizing', 'true');\n addClass((this.containerViewChild as ElementRef).nativeElement, 'p-splitter-resizing');\n this.containerViewChild.nativeElement.setAttribute('data-p-resizing', 'true');\n this.onResizeStart.emit({ originalEvent: event, sizes: this._panelSizes as number[] });\n }\n\n onResize(event: MouseEvent, step?: number, isKeyDown?: boolean) {\n let newPos, newPrevPanelSize, newNextPanelSize;\n\n if (isKeyDown) {\n if (this.horizontal()) {\n newPrevPanelSize = (100 * (this.prevPanelSize + step)) / this.size;\n newNextPanelSize = (100 * (this.nextPanelSize - step)) / this.size;\n } else {\n newPrevPanelSize = (100 * (this.prevPanelSize - step)) / this.size;\n newNextPanelSize = (100 * (this.nextPanelSize + step)) / this.size;\n }\n } else {\n if (this.horizontal()) {\n if (isRTL(this.el.nativeElement)) {\n newPos = ((this.startPos - event.pageX) * 100) / this.size;\n } else {\n newPos = ((event.pageX - this.startPos) * 100) / this.size;\n }\n } else {\n newPos = ((event.pageY - this.startPos) * 100) / this.size;\n }\n\n newPrevPanelSize = (this.prevPanelSize as number) + newPos;\n newNextPanelSize = (this.nextPanelSize as number) - newPos;\n }\n\n this.prevSize = parseFloat(newPrevPanelSize).toFixed(4);\n\n if (this.validateResize(newPrevPanelSize, newNextPanelSize)) {\n (this.prevPanelElement as HTMLElement).style.flexBasis = 'calc(' + newPrevPanelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n (this.nextPanelElement as HTMLElement).style.flexBasis = 'calc(' + newNextPanelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n this._panelSizes[this.prevPanelIndex as number] = newPrevPanelSize;\n this._panelSizes[(this.prevPanelIndex as number) + 1] = newNextPanelSize;\n }\n }\n\n resizeEnd(event: MouseEvent | TouchEvent) {\n if (this.isStateful()) {\n this.saveState();\n }\n\n this.onResizeEnd.emit({ originalEvent: event, sizes: this._panelSizes });\n removeClass(this.gutterElement as any, 'p-splitter-gutter-resizing');\n removeClass((this.containerViewChild as ElementRef).nativeElement, 'p-splitter-resizing');\n this.clear();\n }\n\n onGutterMouseDown(event: MouseEvent, index: number) {\n this.resizeStart(event, index);\n this.bindMouseListeners();\n }\n\n onGutterTouchStart(event: TouchEvent, index: number) {\n if (event.cancelable) {\n this.resizeStart(event, index);\n this.bindTouchListeners();\n\n event.preventDefault();\n }\n }\n\n onGutterTouchMove(event) {\n this.onResize(event);\n event.preventDefault();\n }\n\n onGutterTouchEnd(event: TouchEvent) {\n this.resizeEnd(event);\n this.unbindTouchListeners();\n\n if (event.cancelable) event.preventDefault();\n }\n\n repeat(event, index, step) {\n this.resizeStart(event, index, true);\n this.onResize(event, step, true);\n }\n\n setTimer(event, index, step) {\n this.clearTimer();\n this.timer = setTimeout(() => {\n this.repeat(event, index, step);\n }, 40);\n }\n\n clearTimer() {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n }\n\n onGutterKeyUp(event) {\n this.clearTimer();\n this.resizeEnd(event);\n }\n\n onGutterKeyDown(event, index) {\n switch (event.code) {\n case 'ArrowLeft': {\n if (this.layout === 'horizontal') {\n this.setTimer(event, index, this.step * -1);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowRight': {\n if (this.layout === 'horizontal') {\n this.setTimer(event, index, this.step);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowDown': {\n if (this.layout === 'vertical') {\n this.setTimer(event, index, this.step * -1);\n }\n\n event.preventDefault();\n break;\n }\n\n case 'ArrowUp': {\n if (this.layout === 'vertical') {\n this.setTimer(event, index, this.step);\n }\n\n event.preventDefault();\n break;\n }\n\n default:\n //no op\n break;\n }\n }\n\n validateResize(newPrevPanelSize: number, newNextPanelSize: number) {\n if (this.minSizes.length >= 1 && this.minSizes[0] && this.minSizes[0] > newPrevPanelSize) {\n return false;\n }\n\n if (this.minSizes.length > 1 && this.minSizes[1] && this.minSizes[1] > newNextPanelSize) {\n return false;\n }\n\n return true;\n }\n\n bindMouseListeners() {\n if (!this.mouseMoveListener) {\n this.mouseMoveListener = this.renderer.listen(this.document, 'mousemove', (event) => {\n this.onResize(event);\n });\n }\n\n if (!this.mouseUpListener) {\n this.mouseUpListener = this.renderer.listen(this.document, 'mouseup', (event) => {\n this.resizeEnd(event);\n this.unbindMouseListeners();\n });\n }\n }\n\n bindTouchListeners() {\n if (!this.touchMoveListener) {\n this.touchMoveListener = this.renderer.listen(this.document, 'touchmove', (event) => {\n this.onResize(event.changedTouches[0]);\n });\n }\n\n if (!this.touchEndListener) {\n this.touchEndListener = this.renderer.listen(this.document, 'touchend', (event) => {\n this.resizeEnd(event);\n this.unbindTouchListeners();\n });\n }\n }\n\n unbindMouseListeners() {\n if (this.mouseMoveListener) {\n this.mouseMoveListener();\n this.mouseMoveListener = null;\n }\n\n if (this.mouseUpListener) {\n this.mouseUpListener();\n this.mouseUpListener = null;\n }\n }\n\n unbindTouchListeners() {\n if (this.touchMoveListener) {\n this.touchMoveListener();\n this.touchMoveListener = null;\n }\n\n if (this.touchEndListener) {\n this.touchEndListener();\n this.touchEndListener = null;\n }\n }\n\n clear() {\n this.dragging = false;\n this.size = null;\n this.startPos = null;\n this.prevPanelElement = null;\n this.nextPanelElement = null;\n this.prevPanelSize = null;\n this.nextPanelSize = null;\n this.gutterElement = null;\n this.prevPanelIndex = null;\n }\n\n isNested() {\n if (this.el.nativeElement) {\n let parent = this.el.nativeElement.parentElement;\n while (parent && !hasClass(parent, 'p-splitter')) {\n parent = parent.parentElement;\n }\n\n return parent !== null;\n } else {\n return false;\n }\n }\n\n isStateful() {\n return this.stateKey != null;\n }\n\n getStorage() {\n if (isPlatformBrowser(this.platformId)) {\n switch (this.stateStorage) {\n case 'local':\n return this.document.defaultView.localStorage;\n\n case 'session':\n return this.document.defaultView.sessionStorage;\n\n default:\n throw new Error(this.stateStorage + ' is not a valid value for the state storage, supported values are \"local\" and \"session\".');\n }\n } else {\n throw new Error('Storage is not a available by default on the server.');\n }\n }\n\n saveState() {\n this.getStorage().setItem(this.stateKey as string, JSON.stringify(this._panelSizes));\n }\n\n restoreState() {\n const storage = this.getStorage();\n const stateString = storage.getItem(this.stateKey as string);\n\n if (stateString) {\n this._panelSizes = JSON.parse(stateString);\n let children = [...(this.containerViewChild as ElementRef).nativeElement.children].filter((child) => hasClass(child, 'p-splitterpanel'));\n children.forEach((child, i) => {\n child.style.flexBasis = 'calc(' + this._panelSizes[i] + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n });\n\n return true;\n }\n\n return false;\n }\n\n containerClass() {\n return {\n 'p-splitter p-component': true,\n 'p-splitter-horizontal': this.layout === 'horizontal',\n 'p-splitter-vertical': this.layout === 'vertical'\n };\n }\n\n panelContainerClass() {\n return {\n 'p-splitterpanel': true,\n 'p-splitterpanel-nested': true\n };\n }\n\n gutterStyle() {\n if (this.horizontal()) return { width: this.gutterSize + 'px' };\n else return { height: this.gutterSize + 'px' };\n }\n\n horizontal() {\n return this.layout === 'horizontal';\n }\n}\n\n@NgModule({\n imports: [Splitter, SplitterPanel, SharedModule],\n exports: [Splitter, SplitterPanel, SharedModule]\n})\nexport class SplitterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Injectable, ViewEncapsulation, ChangeDetectionStrategy, Component, inject, forwardRef, model, computed, contentChild, effect, input, ContentChildren, ContentChild, signal, contentChildren, NgModule } from '@angular/core';
4
+ import { Injectable, contentChildren, forwardRef, ViewEncapsulation, ChangeDetectionStrategy, Component, inject, model, computed, contentChild, effect, input, ContentChildren, ContentChild, signal, NgModule } from '@angular/core';
5
5
  import { trigger, state, transition, style, animate } from '@angular/animations';
6
- import { findIndexInList, find, uuid } from '@primeuix/utils';
6
+ import { find, findIndexInList, uuid } from '@primeuix/utils';
7
7
  import { SharedModule, PrimeTemplate } from 'primeng/api';
8
8
  import { BaseComponent } from 'primeng/basecomponent';
9
9
  import { transformToBoolean } from 'primeng/utils';
@@ -290,8 +290,13 @@ function StepPanel_Conditional_2_Template(rf, ctx) { if (rf & 1) {
290
290
  i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.contentTemplate || ctx_r0._contentTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction3(2, _c2, ctx_r0.updateValue.bind(ctx_r0), ctx_r0.value(), ctx_r0.active()));
291
291
  } }
292
292
  class StepList extends BaseComponent {
293
+ steps = contentChildren(forwardRef(() => Step));
293
294
  static ɵfac = /*@__PURE__*/ (() => { let ɵStepList_BaseFactory; return function StepList_Factory(__ngFactoryType__) { return (ɵStepList_BaseFactory || (ɵStepList_BaseFactory = i0.ɵɵgetInheritedFactory(StepList)))(__ngFactoryType__ || StepList); }; })();
294
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: StepList, selectors: [["p-step-list"]], hostVars: 4, hostBindings: function StepList_HostBindings(rf, ctx) { if (rf & 2) {
295
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: StepList, selectors: [["p-step-list"]], contentQueries: function StepList_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
296
+ i0.ɵɵcontentQuerySignal(dirIndex, ctx.steps, Step, 4);
297
+ } if (rf & 2) {
298
+ i0.ɵɵqueryAdvance();
299
+ } }, hostVars: 4, hostBindings: function StepList_HostBindings(rf, ctx) { if (rf & 2) {
295
300
  i0.ɵɵclassProp("p-steplist", true)("p-component", true);
296
301
  } }, standalone: true, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function StepList_Template(rf, ctx) { if (rf & 1) {
297
302
  i0.ɵɵprojectionDef();
@@ -307,10 +312,7 @@ class StepList extends BaseComponent {
307
312
  template: ` <ng-content></ng-content>`,
308
313
  changeDetection: ChangeDetectionStrategy.OnPush,
309
314
  encapsulation: ViewEncapsulation.None,
310
- host: {
311
- '[class.p-steplist]': 'true',
312
- '[class.p-component]': 'true'
313
- }
315
+ host: { '[class.p-steplist]': 'true', '[class.p-component]': 'true' }
314
316
  }]
315
317
  }], null, null); })();
316
318
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(StepList, { className: "StepList" }); })();
@@ -332,10 +334,7 @@ class StepperSeparator extends BaseComponent {
332
334
  template: ` <ng-content></ng-content>`,
333
335
  changeDetection: ChangeDetectionStrategy.OnPush,
334
336
  encapsulation: ViewEncapsulation.None,
335
- host: {
336
- '[class.p-stepper-separator]': 'true',
337
- '[class.p-component]': 'true'
338
- }
337
+ host: { '[class.p-stepper-separator]': 'true', '[class.p-component]': 'true' }
339
338
  }]
340
339
  }], null, null); })();
341
340
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(StepperSeparator, { className: "StepperSeparator" }); })();
@@ -353,16 +352,16 @@ class StepItem extends BaseComponent {
353
352
  */
354
353
  value = model();
355
354
  isActive = computed(() => this.pcStepper.value() === this.value());
356
- step = contentChild(Step);
357
- stepPanel = contentChild(StepPanel);
355
+ step = contentChild(forwardRef(() => Step));
356
+ stepPanel = contentChild(forwardRef(() => StepPanel));
358
357
  constructor() {
359
358
  super();
360
359
  effect(() => {
361
360
  this.step().value.set(this.value());
362
- }, { allowSignalWrites: true });
361
+ });
363
362
  effect(() => {
364
363
  this.stepPanel().value.set(this.value());
365
- }, { allowSignalWrites: true });
364
+ });
366
365
  }
367
366
  static ɵfac = function StepItem_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || StepItem)(); };
368
367
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: StepItem, selectors: [["p-step-item"]], contentQueries: function StepItem_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
@@ -387,11 +386,7 @@ class StepItem extends BaseComponent {
387
386
  template: ` <ng-content></ng-content>`,
388
387
  changeDetection: ChangeDetectionStrategy.OnPush,
389
388
  encapsulation: ViewEncapsulation.None,
390
- host: {
391
- '[class.p-stepitem]': 'true',
392
- '[class.p-component]': 'true',
393
- '[attr.data-p-active]': 'isActive()'
394
- }
389
+ host: { '[class.p-stepitem]': 'true', '[class.p-component]': 'true', '[attr.data-p-active]': 'isActive()' }
395
390
  }]
396
391
  }], () => [], null); })();
397
392
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(StepItem, { className: "StepItem" }); })();
@@ -414,19 +409,21 @@ class Step extends BaseComponent {
414
409
  * @defaultValue false
415
410
  * @group Props
416
411
  */
417
- disabled = input(false, {
418
- transform: (v) => transformToBoolean(v)
419
- });
412
+ disabled = input(false, { transform: (v) => transformToBoolean(v) });
420
413
  active = computed(() => this.pcStepper.isStepActive(this.value()));
421
414
  isStepDisabled = computed(() => !this.active() && (this.pcStepper.linear() || this.disabled()));
422
415
  id = computed(() => `${this.pcStepper.id()}_step_${this.value()}`);
423
416
  ariaControls = computed(() => `${this.pcStepper.id()}_steppanel_${this.value()}`);
424
417
  isSeparatorVisible = computed(() => {
425
418
  if (this.pcStepper.stepList()) {
426
- const index = findIndexInList(this.el.nativeElement, this.pcStepper.stepList().el.nativeElement.children);
427
- const stepLen = find(this.pcStepper.stepList().el.nativeElement, '[data-pc-name="step"]').length;
419
+ const steps = this.pcStepper.stepList().steps();
420
+ const index = steps.indexOf(this);
421
+ const stepLen = steps.length;
428
422
  return index !== stepLen - 1;
429
423
  }
424
+ else {
425
+ return false;
426
+ }
430
427
  });
431
428
  /**
432
429
  * Content template.
@@ -583,14 +580,8 @@ class StepPanel extends BaseComponent {
583
580
  i0.ɵɵconditional(ctx.active() ? 2 : -1);
584
581
  } }, dependencies: [CommonModule, i1.NgTemplateOutlet, StepperSeparator, SharedModule], encapsulation: 2, data: { animation: [
585
582
  trigger('content', [
586
- state('hidden', style({
587
- height: '0',
588
- visibility: 'hidden'
589
- })),
590
- state('visible', style({
591
- height: '*',
592
- visibility: 'visible'
593
- })),
583
+ state('hidden', style({ height: '0', visibility: 'hidden' })),
584
+ state('visible', style({ height: '*', visibility: 'visible' })),
594
585
  transition('visible <=> hidden', [animate('250ms cubic-bezier(0.86, 0, 0.07, 1)')]),
595
586
  transition('void => *', animate(0))
596
587
  ])
@@ -626,14 +617,8 @@ class StepPanel extends BaseComponent {
626
617
  },
627
618
  animations: [
628
619
  trigger('content', [
629
- state('hidden', style({
630
- height: '0',
631
- visibility: 'hidden'
632
- })),
633
- state('visible', style({
634
- height: '*',
635
- visibility: 'visible'
636
- })),
620
+ state('hidden', style({ height: '0', visibility: 'hidden' })),
621
+ state('visible', style({ height: '*', visibility: 'visible' })),
637
622
  transition('visible <=> hidden', [animate('250ms cubic-bezier(0.86, 0, 0.07, 1)')]),
638
623
  transition('void => *', animate(0))
639
624
  ])
@@ -665,10 +650,7 @@ class StepPanels extends BaseComponent {
665
650
  template: ` <ng-content></ng-content>`,
666
651
  changeDetection: ChangeDetectionStrategy.OnPush,
667
652
  encapsulation: ViewEncapsulation.None,
668
- host: {
669
- '[class.p-steppanels]': 'true',
670
- '[class.p-component]': 'true'
671
- }
653
+ host: { '[class.p-steppanels]': 'true', '[class.p-component]': 'true' }
672
654
  }]
673
655
  }], null, null); })();
674
656
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(StepPanels, { className: "StepPanels" }); })();
@@ -690,9 +672,7 @@ class Stepper extends BaseComponent {
690
672
  * @type {InputSignalWithTransform<any, boolean >}
691
673
  * @group Props
692
674
  */
693
- linear = input(false, {
694
- transform: (v) => transformToBoolean(v)
695
- });
675
+ linear = input(false, { transform: (v) => transformToBoolean(v) });
696
676
  /**
697
677
  * Transition options of the animation.
698
678
  * @defaultValue 400ms cubic-bezier(0.86, 0, 0.07, 1)
@@ -736,12 +716,7 @@ class Stepper extends BaseComponent {
736
716
  changeDetection: ChangeDetectionStrategy.OnPush,
737
717
  encapsulation: ViewEncapsulation.None,
738
718
  providers: [StepperStyle],
739
- host: {
740
- '[class.p-stepper]': 'true',
741
- '[class.p-component]': 'true',
742
- '[attr.role]': '"tablist"',
743
- '[attr.id]': 'id()'
744
- }
719
+ host: { '[class.p-stepper]': 'true', '[class.p-component]': 'true', '[attr.role]': '"tablist"', '[attr.id]': 'id()' }
745
720
  }]
746
721
  }], null, null); })();
747
722
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(Stepper, { className: "Stepper" }); })();
@@ -752,10 +727,7 @@ class StepperModule {
752
727
  }
753
728
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StepperModule, [{
754
729
  type: NgModule,
755
- args: [{
756
- imports: [Stepper, StepList, StepPanels, StepPanel, StepItem, Step, StepperSeparator, SharedModule],
757
- exports: [Stepper, StepList, StepPanels, StepPanel, StepItem, Step, StepperSeparator, SharedModule]
758
- }]
730
+ args: [{ imports: [Stepper, StepList, StepPanels, StepPanel, StepItem, Step, StepperSeparator, SharedModule], exports: [Stepper, StepList, StepPanels, StepPanel, StepItem, Step, StepperSeparator, SharedModule] }]
759
731
  }], null, null); })();
760
732
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(StepperModule, { imports: [Stepper, StepList, StepPanels, StepPanel, StepItem, Step, StepperSeparator, SharedModule], exports: [Stepper, StepList, StepPanels, StepPanel, StepItem, Step, StepperSeparator, SharedModule] }); })();
761
733