@memberjunction/ng-base-forms 5.3.0 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"section-manager.component.js","sourceRoot":"","sources":["../../../src/lib/section-manager/section-manager.component.ts","../../../src/lib/section-manager/section-manager.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"section-manager.component.js","sourceRoot":"","sources":["../../../src/lib/section-manager/section-manager.component.ts","../../../src/lib/section-manager/section-manager.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n Component, Input, Output, EventEmitter,\n ChangeDetectionStrategy, ChangeDetectorRef, inject,\n OnChanges, SimpleChanges\n} from '@angular/core';\nimport { PanelVariant } from '../types/form-types';\n\n/**\n * Info about a section, passed from the container to the Section Manager drawer.\n */\nexport interface SectionManagerItem {\n SectionKey: string;\n SectionName: string;\n Variant: PanelVariant;\n Icon: string;\n}\n\n/**\n * Slide-in drawer for managing section order.\n *\n * Provides an accessible, keyboard-friendly alternative to drag-and-drop\n * for reordering form sections. Each section is displayed as a row with\n * up/down arrow buttons to change position.\n *\n * @example\n * ```html\n * <mj-section-manager\n * [Sections]=\"sectionList\"\n * [SectionOrder]=\"currentOrder\"\n * [Visible]=\"showDrawer\"\n * (SectionOrderChange)=\"onOrderChange($event)\"\n * (Closed)=\"showDrawer = false\">\n * </mj-section-manager>\n * ```\n */\n@Component({\n standalone: false,\n selector: 'mj-section-manager',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './section-manager.component.html',\n styleUrls: ['./section-manager.component.css']\n})\nexport class MjSectionManagerComponent implements OnChanges {\n private cdr = inject(ChangeDetectorRef);\n\n /** All available sections (unordered) */\n @Input() Sections: SectionManagerItem[] = [];\n\n /** Current section order (array of section keys) */\n @Input() SectionOrder: string[] = [];\n\n /** Whether the drawer is visible */\n @Input() Visible = false;\n\n /** Emits the new section order when the user reorders */\n @Output() SectionOrderChange = new EventEmitter<string[]>();\n\n /** Emits when the drawer is closed */\n @Output() Closed = new EventEmitter<void>();\n\n /** Emits when the user resets to default order */\n @Output() ResetRequested = new EventEmitter<void>();\n\n /** Ordered list of sections for display */\n OrderedSections: SectionManagerItem[] = [];\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['Sections'] || changes['SectionOrder']) {\n this.RebuildOrderedSections();\n }\n }\n\n OnClose(): void {\n this.Closed.emit();\n }\n\n OnOverlayClick(event: MouseEvent): void {\n // Only close if clicking the overlay itself, not the drawer\n if (event.target === event.currentTarget) {\n this.OnClose();\n }\n }\n\n OnMoveUp(index: number): void {\n if (index <= 0) return;\n const newOrder = this.OrderedSections.map(s => s.SectionKey);\n [newOrder[index - 1], newOrder[index]] = [newOrder[index], newOrder[index - 1]];\n this.SectionOrderChange.emit(newOrder);\n this.ApplyOrder(newOrder);\n }\n\n OnMoveDown(index: number): void {\n if (index >= this.OrderedSections.length - 1) return;\n const newOrder = this.OrderedSections.map(s => s.SectionKey);\n [newOrder[index], newOrder[index + 1]] = [newOrder[index + 1], newOrder[index]];\n this.SectionOrderChange.emit(newOrder);\n this.ApplyOrder(newOrder);\n }\n\n OnReset(): void {\n this.ResetRequested.emit();\n }\n\n GetVariantIcon(variant: PanelVariant): string {\n switch (variant) {\n case 'related-entity': return 'fa-solid fa-link';\n case 'inherited': return 'fa-solid fa-arrow-up';\n default: return 'fa-solid fa-table-cells';\n }\n }\n\n GetVariantLabel(variant: PanelVariant): string {\n switch (variant) {\n case 'related-entity': return 'Related';\n case 'inherited': return 'Inherited';\n default: return 'Fields';\n }\n }\n\n private RebuildOrderedSections(): void {\n if (!this.Sections || this.Sections.length === 0) {\n this.OrderedSections = [];\n return;\n }\n\n const sectionMap = new Map<string, SectionManagerItem>();\n for (const s of this.Sections) {\n sectionMap.set(s.SectionKey, s);\n }\n\n const ordered: SectionManagerItem[] = [];\n\n // Add sections in persisted order first\n if (this.SectionOrder && this.SectionOrder.length > 0) {\n for (const key of this.SectionOrder) {\n const section = sectionMap.get(key);\n if (section) {\n ordered.push(section);\n sectionMap.delete(key);\n }\n }\n }\n\n // Append any sections not in the persisted order (new sections)\n for (const section of sectionMap.values()) {\n ordered.push(section);\n }\n\n this.OrderedSections = ordered;\n this.cdr.markForCheck();\n }\n\n private ApplyOrder(newOrder: string[]): void {\n const sectionMap = new Map<string, SectionManagerItem>();\n for (const s of this.OrderedSections) {\n sectionMap.set(s.SectionKey, s);\n }\n this.OrderedSections = newOrder\n .map(key => sectionMap.get(key))\n .filter((s): s is SectionManagerItem => s !== undefined);\n this.cdr.markForCheck();\n }\n}\n","<!-- Overlay backdrop -->\n@if (Visible) {\n <div class=\"mj-sm-overlay\" (click)=\"OnOverlayClick($event)\">\n <!-- Drawer panel -->\n <div class=\"mj-sm-drawer\" (click)=\"$event.stopPropagation()\">\n <!-- Header -->\n <div class=\"mj-sm-header\">\n <h3 class=\"mj-sm-title\">\n <i class=\"fa-solid fa-bars-staggered\"></i>\n Manage Sections\n </h3>\n <button class=\"mj-sm-close\" (click)=\"OnClose()\" title=\"Close\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n\n <!-- Section list -->\n <div class=\"mj-sm-list\">\n @for (section of OrderedSections; track section.SectionKey; let i = $index) {\n <div class=\"mj-sm-row\">\n <div class=\"mj-sm-row-info\">\n <i [class]=\"section.Icon\" class=\"mj-sm-row-icon\"></i>\n <span class=\"mj-sm-row-name\">{{ section.SectionName }}</span>\n <span class=\"mj-sm-row-badge mj-sm-row-badge--{{ section.Variant }}\">\n {{ GetVariantLabel(section.Variant) }}\n </span>\n </div>\n <div class=\"mj-sm-row-actions\">\n <button class=\"mj-sm-arrow\"\n [disabled]=\"i === 0\"\n (click)=\"OnMoveUp(i)\"\n title=\"Move up\">\n <i class=\"fa-solid fa-chevron-up\"></i>\n </button>\n <button class=\"mj-sm-arrow\"\n [disabled]=\"i === OrderedSections.length - 1\"\n (click)=\"OnMoveDown(i)\"\n title=\"Move down\">\n <i class=\"fa-solid fa-chevron-down\"></i>\n </button>\n </div>\n </div>\n }\n </div>\n\n <!-- Footer -->\n <div class=\"mj-sm-footer\">\n <button class=\"mj-sm-reset\" (click)=\"OnReset()\">\n <i class=\"fa-solid fa-arrow-rotate-left\"></i>\n Reset to Default Order\n </button>\n </div>\n </div>\n </div>\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"form-toolbar.component.js","sourceRoot":"","sources":["../../../src/lib/toolbar/form-toolbar.component.ts","../../../src/lib/toolbar/form-toolbar.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,uBAAuB,EAAe,iBAAiB,EAAE,MAAM,EAAW,MAAM,eAAe,CAAC;AAEjJ,OAAO,EAAqB,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEpF,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAkB,MAAM,0CAA0C,CAAC;AAEvH,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,6BAA6B,EAG9B,MAAM,sBAAsB,CAAC;;;;;;;;;;ICRxB,wBAA+E;IAE7E,AADF,gCAAyC,aAC/B;IAAA,YAAmC;IAAA,iBAAS;IACpD,YAEF;IAAA,iBAAO;;;IAHG,eAAmC;IAAnC,0DAAmC;IAC3C,cAEF;IAFE,0JAEF;;;IAEA,wBAAyC;IACzC,gCAAwC;IAAA,YAAgC;IAAA,iBAAO;;;IAAvC,eAAgC;IAAhC,4DAAgC;;;;IAV5E,8BAAkC;IAQ9B,AAPF,4FAAyC,sEAOhC;IAIT,yBAA2C;IAEzC,AADF,8BAA0C,gBACyE;IAA9D,0LAAS,eAAQ,KAAC;IACnE,uBAAuC;IACvC,+BAAgC;IAAA,4BAAY;IAC9C,AAD8C,iBAAO,EAC5C;IACT,iCAAgG;IAAnE,0LAAS,iBAAU,KAAC;IAC/C,yBAAuC;IACvC,gCAAgC;IAAA,wBAAO;IAG7C,AADE,AADE,AADyC,iBAAO,EACvC,EACL,EACF;;;IAtBJ,cAUC;IAVD,kEAUC;IAGuE,eAAqB;IAArB,0CAAqB;IAIzC,eAAqB;IAArB,0CAAqB;;;;IAiBrE,kCAAyE;IAA5C,yMAAS,eAAQ,KAAC;IAC7C,wBAAyC;IAC3C,iBAAS;;;;IAGT,kCAAkF;IAArD,yMAAS,sBAAe,KAAC;IACpD,wBAAuC;IACzC,iBAAS;;;;IAGT,kCAAqH;IAAxF,yMAAS,yBAAkB,KAAC;IACvD,oBAA0F;IAC5F,iBAAS;;;IAFiD,+EAA0D;IAC/G,cAAkF;IAAlF,8FAAkF;;;;IAIvF,kCAA8E;IAAjD,yMAAS,kBAAW,KAAC;IAChD,wBAAmC;IACrC,iBAAS;;;IAOL,gCAAkC;IAAA,YAAe;IAAA,iBAAO;;;IAAtB,cAAe;IAAf,sCAAe;;;;IAJrD,kCACoF;IADpC,yMAAS,yBAAkB,KAAC;IAE1E,wBAAsC;IACtC,sHAAqB;IAGvB,iBAAS;;;IALP,6GAAiF;IAEjF,eAEC;IAFD,+CAEC;;;;IAOD,kCAIwC;IAAtC,+PAAS,qCAA2B,KAAC;IACrC,oBAA6B;IAC/B,iBAAS;;;IALP,uCAA+B;IAE/B,AADA,sDAAqC,gCACT;IAEzB,cAAqB;IAArB,6BAAqB;;;IAN5B,gHAAgC;;;IAAhC,sDAQC;;;IAMH,0BAA8C;;;;IAQ1C,6BAEgD;IAA7C,+OAAS,6CAAkC,KAAC;IAC7C,wBAAoC;IACpC,YACF;IAAA,iBAAI;IACJ,gCAAiC;IAAA,wBAAyC;IAAA,iBAAO;;;IAL9E,gEAA8C;IAG/C,eACF;IADE,gDACF;;;IASA,4BACuE;;;;IAArE,AADY,wDAAsC,8EACG;;;IAlB3D,+BAAiC;IAE/B,wHAQC;IAGD,gCAAuD;IAAA,YAAsB;IAAA,iBAAO;IAGpF,+HAAiC;IAInC,iBAAM;;;IAlBJ,cAQC;IARD,iCAQC;IAGsD,eAAsB;IAAtB,+EAAsB;IAG7E,cAGC;IAHD,2DAGC;;;;IAmBK,kCAA+E;IAA/C,uOAAS,sBAAe,KAAC;IACvD,wBAAiC;IACnC,iBAAS;;;;IATX,AADF,+BAAqC,gBAMA;IADjC,8NAAS,4BAAqB,KAAC;IAJjC,iBAKmC;IACnC,uIAAoB;IAKtB,iBAAM;;;IATF,cAAgD;IAAhD,gEAAgD;IAChD,2CAAsB;IAGxB,cAIC;IAJD,8CAIC;;;;IAcH,kCAAqI;IAA5D,yNAAS,4BAAqB,KAAC;IACtG,wBAA6C;IAC/C,iBAAS;;;;IAGT,kCAC4D;IAA1D,yNAAS,yBAAkB,KAAC;IAC5B,wBAA0C;IAC5C,iBAAS;;;;IAnCb,+BAAwD;IACtD,sHAAgC;IAehC,kCAEsD;IAApD,2MAAS,oBAAa,KAAC;IACvB,wBAAuC;IACzC,iBAAS;IACT,kCAE0D;IAAxD,2MAAS,sBAAe,KAAC;IACzB,wBAAqC;IACvC,iBAAS;IACT,yHAA6B;IAK7B,yHAAiC;IAMjC,kCAEiF;IAD/E,2MAAS,0BAAmB,KAAC;IAE7B,oBAA6G;IAEjH,AADE,iBAAS,EACL;;;IAzCJ,cAcC;IAdD,0DAcC;IAEC,cAAwD;IAAxD,oFAAwD;IAKxD,eAAuC;IAAvC,4DAAuC;IAIzC,eAIC;IAJD,uDAIC;IACD,cAKC;IALD,2DAKC;IAGC,cAA8E;IAA9E,mGAA8E;IAC3E,cAAqG;IAArG,iHAAqG;;;IAO5G,4BAA4E;;;IAA9D,mEAA8C;;;IA/H9D,AAHF,+BAAsF,cAGhD;IAClC,0GAA4C;IAK5C,0GAAgD;IAKhD,0GAAqD;IAKrD,0GAAiD;IAKjD,0GAA6B;IAW7B,yGAUC;IACH,iBAAM;IAGN,uGAAmD;IAKnD,yGAAmD;IAyBnD,0BAA2C;IAG3C,0GAAkC;IA+ClC,kHAAiC;IAGjC,mBAAgE;IAClE,iBAAM;;;IArIwB,uEAAuD;IAIjF,eAIC;IAJD,6EAIC;IACD,cAIC;IAJD,iFAIC;IACD,cAIC;IAJD,sFAIC;IACD,cAIC;IAJD,kFAIC;IACD,cAQC;IARD,uDAQC;IAGD,cAUC;IAVD,0CAUC;IAIH,eAEC;IAFD,oFAEC;IAGD,cAsBC;IAtBD,qFAsBC;IAMD,eA4CC;IA5CD,6DA4CC;IAGD,cAEC;IAFD,4DAEC;;;;IASH,+BAA2D;IAA5B,wLAAS,wBAAiB,KAAC;IACxD,+BAA0D;IAAnC,2JAAS,wBAAwB,KAAC;IAErD,AADF,+BAA8B,SACxB;IAAA,gCAAgB;IAAA,iBAAK;IACzB,kCAA4D;IAA5B,2LAAS,wBAAiB,KAAC;IACzD,wBAAiC;IAErC,AADE,iBAAS,EACL;IAEJ,AADF,+BAA4B,QACvB;IAAA,yBAAS;IAAA,+BAAQ;IAAA,aAAmC;IAAA,iBAAS;IAAC,aAA+J;IAClO,AADkO,iBAAI,EAChO;IAEJ,AADF,gCAA8B,kBACmD;IAA7B,4LAAS,yBAAkB,KAAC;IAC5E,yBAAuC;IACvC,kCACF;IAAA,iBAAS;IACT,mCAAyD;IAA5B,4LAAS,wBAAiB,KAAC;IACtD,+BACF;IAGN,AADE,AADE,AADE,iBAAS,EACL,EACF,EACF;;;IAZoB,gBAAmC;IAAnC,0DAAmC;IAAU,cAA+J;IAA/J,uMAA+J;;;;IAmBtO,+BAA0D;IAA3B,wLAAS,uBAAgB,KAAC;IACvD,+BAA0D;IAAnC,2JAAS,wBAAwB,KAAC;IAErD,AADF,+BAA8B,SACxB;IAAA,gCAAgB;IAAA,iBAAK;IACzB,kCAA2D;IAA3B,2LAAS,uBAAgB,KAAC;IACxD,wBAAiC;IAErC,AADE,iBAAS,EACL;IAEJ,AADF,+BAA4B,QACvB;IAAA,0FAA0E;IAC/E,AAD+E,iBAAI,EAC7E;IAEJ,AADF,gCAA8B,kBACkD;IAA5B,4LAAS,wBAAiB,KAAC;IAC3E,yBAAqC;IACrC,yBACF;IAAA,iBAAS;IACT,mCAAwD;IAA3B,4LAAS,uBAAgB,KAAC;IACrD,yBACF;IAGN,AADE,AADE,AADE,iBAAS,EACL,EACF,EACF;;;IAgBF,4BAC0E;;;;;IAAxE,AADY,wDAAsC,8EACM;;;;IAT5D,gCAAiC;IAAA,wBAAyC;IAAA,iBAAO;IACjF,6BAEiE;IAA9D,sPAAS,wCAA6B,CAAC,qBAAqB,KAAC;IAC9D,wBAAsC;IACtC,YACF;IAAA,iBAAI;IACJ,8HAAoC;;;IALjC,eAA+C;IAA/C,iEAA+C;IAGhD,eACF;IADE,wDACF;IACA,cAGC;IAHD,2DAGC;;;IAYO,4BACsE;;;;;IAApE,AADY,wDAAsC,0EACE;;;;IARxD,AADF,+BAAiC,YAG8B;IAA1D,4OAAS,0DAA+C,KAAC;IAC1D,wBAAsC;IACtC,YACF;IAAA,iBAAI;IACJ,oIAAgC;IAIlC,iBAAM;;;IATD,cAA2C;IAA3C,6DAA2C;IAG5C,eACF;IADE,oDACF;IACA,cAGC;IAHD,uDAGC;;;IAZP,+BAAkC;IAChC,sHAaC;IACH,iBAAM;;;IAdJ,cAaC;IAbD,wBAaC;;;IAfH,AAZF,4FAA0B,iFAYK;;;IAZ/B,4EA6BC;;ADnPH;;;;;;;;;;;;;;;;;;;;;GAqBG;AAQH,MAAM,OAAO,sBAAsB;IACzB,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAExC,wDAAwD;IAEhD,QAAQ,CAAU;IAE1B;;;;OAIG;IACH,IAAa,IAAI,CAAC,KAAc,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;IAC5D,IAAI,IAAI,KAAc,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7C,0DAA0D;IAC1D,IAAmB,eAAe,CAAC,KAAc,IAAI,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;IAEzE,mBAAmB;IAEnB,+CAA+C;IACtC,MAAM,CAAc;IAE7B,uCAAuC;IAC9B,QAAQ,GAAG,KAAK,CAAC;IAE1B,mDAAmD;IAC1C,WAAW,GAAG,KAAK,CAAC;IAE7B,qDAAqD;IAC5C,aAAa,GAAG,KAAK,CAAC;IAE/B,iDAAiD;IACxC,UAAU,GAAG,KAAK,CAAC;IAE5B,yEAAyE;IAChE,gBAAgB,GAAG,KAAK,CAAC;IAElC,6CAA6C;IACpC,OAAO,GAAG,KAAK,CAAC;IAEzB,oDAAoD;IAC3C,eAAe,GAAa,EAAE,CAAC;IAExC,4CAA4C;IACnC,SAAS,GAAG,CAAC,CAAC;IAEvB,kDAAkD;IACzC,UAAU,GAAsB,IAAI,CAAC;IAE9C,gEAAgE;IACvD,MAAM,GAAsB,sBAAsB,CAAC;IAE5D,4DAA4D;IACnD,QAAQ,GAAG,KAAK,CAAC;IAE1B,0BAA0B;IACjB,mBAAmB,GAAG,CAAC,CAAC;IACxB,iBAAiB,GAAG,CAAC,CAAC;IACtB,oBAAoB,GAAG,CAAC,CAAC;IACzB,YAAY,GAAG,EAAE,CAAC;IAClB,eAAe,GAAG,KAAK,CAAC;IACxB,SAAS,GAAkB,UAAU,CAAC;IACtC,qBAAqB,GAAG,KAAK,CAAC;IAEvC,uDAAuD;IAC9C,yBAAyB,GAAgC,IAAI,CAAC;IAEvE,oBAAoB;IAEpB,gFAAgF;IACtE,QAAQ,GAAG,IAAI,YAAY,EAAuB,CAAC;IAE7D,yCAAyC;IAC/B,cAAc,GAAG,IAAI,YAAY,EAAW,CAAC;IAEvD,4EAA4E;IAClE,UAAU,GAAG,IAAI,YAAY,EAAuB,CAAC;IAE/D,yCAAyC;IAC/B,aAAa,GAAG,IAAI,YAAY,EAAQ,CAAC;IAEnD,8EAA8E;IACpE,YAAY,GAAG,IAAI,YAAY,EAAyB,CAAC;IAEnE,mDAAmD;IACzC,eAAe,GAAG,IAAI,YAAY,EAAQ,CAAC;IAErD,8EAA8E;IACpE,YAAY,GAAG,IAAI,YAAY,EAAyB,CAAC;IAEnE,2CAA2C;IACjC,eAAe,GAAG,IAAI,YAAY,EAAQ,CAAC;IAErD,wCAAwC;IAC9B,eAAe,GAAG,IAAI,YAAY,EAAQ,CAAC;IAErD,oFAAoF;IAC1E,iBAAiB,GAAG,IAAI,YAAY,EAA8B,CAAC;IAE7E,4CAA4C;IAClC,gBAAgB,GAAG,IAAI,YAAY,EAAQ,CAAC;IAEtD,uFAAuF;IAC7E,oBAAoB,GAAG,IAAI,YAAY,EAAiC,CAAC;IAEnF,sCAAsC;IAC5B,uBAAuB,GAAG,IAAI,YAAY,EAAQ,CAAC;IAE7D,0CAA0C;IAChC,oBAAoB,GAAG,IAAI,YAAY,EAAQ,CAAC;IAE1D,sDAAsD;IAC5C,iBAAiB,GAAG,IAAI,YAAY,EAAqC,CAAC;IAEpF,0BAA0B;IAChB,YAAY,GAAG,IAAI,YAAY,EAAU,CAAC;IAC1C,kBAAkB,GAAG,IAAI,YAAY,EAAQ,CAAC;IAC9C,oBAAoB,GAAG,IAAI,YAAY,EAAQ,CAAC;IAChD,qBAAqB,GAAG,IAAI,YAAY,EAAW,CAAC;IACpD,eAAe,GAAG,IAAI,YAAY,EAAiB,CAAC;IACpD,0BAA0B,GAAG,IAAI,YAAY,EAAQ,CAAC;IACtD,uBAAuB,GAAG,IAAI,YAAY,EAAQ,CAAC;IAE7D,2BAA2B;IAC3B,gBAAgB,GAAG,KAAK,CAAC;IACzB,iBAAiB,GAAG,KAAK,CAAC;IAE1B,sDAAsD;IACtD,cAAc,GAAqB,EAAE,CAAC;IAC9B,oBAAoB,GAAsB,IAAI,CAAC;IAC/C,cAAc,GAAG,KAAK,CAAC;IAE/B,sBAAsB;IAEtB,SAAS;QACP,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACK,eAAe;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAmC,CAAC;QACrD,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAA2B,CAAC;QACpD,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,IAAI,GAAG,IAAI,GAAG,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;YAClB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;YACjC,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QAED,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YACxB,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACpE,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;oBACtD,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;oBAClC,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACnC,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QAE7E,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,OAAO,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YAAC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QAEjF,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACzC,IAAI,SAAS,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;YAAC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QAEzF,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;YAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QAErF,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC1C,IAAI,OAAO,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QAE3F,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,UAAU,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACtD,CAAC;IAED,+CAA+C;IAC/C,IAAI,WAAW;QACb,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;IACvD,CAAC;IAED,2DAA2D;IAC3D,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,+DAA+D;IAC/D,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,UAAU,EAAE,aAAa,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED,+DAA+D;IAC/D,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;;OAQG;IACH,IAAI,UAAU;QACZ,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACnC,OAAO,OAAO,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yDAAyD;IACzD,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,IAAI,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,MAAM,EAAE,WAAW,IAAI,EAAE,CAAC;IACxC,CAAC;IAED,wEAAwE;IACxE,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,+EAA+E;IAC/E,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IACxH,CAAC;IAED,iEAAiE;IACjE,IAAI,sBAAsB;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC7E,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACvE,OAAO,KAAK,EAAE,iBAAiB,IAAI,IAAI,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uCAAuC;IACvC,IAAI,iBAAiB;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,IAAI;gBAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;IACvD,CAAC;IAED,yCAAyC;IAEzC;;;OAGG;IACK,qBAAqB;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAC1B,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtE,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,uBAAuB;QAC7B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC;QAExC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;YAC3C,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACrD,IAAI,CAAC,cAAc,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACvD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,UAAkB,EAAE,KAAiB;QAC1D,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,kBAAkB;YACxB,UAAU,EAAE,UAAU;YACtB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAClC,SAAS,EAAE,OAAO;SACnB,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;IAEpB,MAAM;QACJ,IAAI,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC;YAAE,OAAO;QACpD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,MAAM;QACJ,4EAA4E;QAC5E,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAC1B,wEAAwE;YACxE,MAAM,WAAW,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAClC,IAAI,WAAW,CAAC,MAAM;gBAAE,OAAO;YAE/B,IAAI,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC;gBAAE,OAAO;YACvD,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,yDAAyD;QACzD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,kCAAkC;QAClC,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC1B,CAAC;IAED,eAAe;QACb,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC1B,CAAC;IAEO,UAAU;QAChB,wEAAwE;QACxE,MAAM,WAAW,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,WAAW,CAAC,MAAM;YAAE,OAAO;QAE/B,IAAI,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC;YAAE,OAAO;QACjD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,aAAa;QACX,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC1B,CAAC;IAED,eAAe;QACb,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAE9B,wEAAwE;QACxE,MAAM,WAAW,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC1B,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC1B,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC;YAAE,OAAO;QACxD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,SAAS;QACP,wEAAwE;QACxE,MAAM,WAAW,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACrD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,WAAW,CAAC,MAAM;YAAE,OAAO;QAE/B,IAAI,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC;YAAE,OAAO;QACzD,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,gBAAgB;QACd,wEAAwE;QACxE,MAAM,WAAW,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACxD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,WAAW,CAAC,MAAM;YAAE,OAAO;QAE/B,IAAI,IAAI,CAAC,iBAAiB,CAAC,2BAA2B,CAAC;YAAE,OAAO;QAChE,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;IAED,mBAAmB,CAAC,MAA2B;QAC7C,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO;QAE5B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;YAC1B,SAAS,EAAE,MAAM,CAAC,GAAG;YACrB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC;YAAE,OAAO;QAClD,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,UAAkB,EAAE,GAAG,IAAe;QAC9D,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAmC,CAAC;QACrD,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/B,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YAChC,MAAuC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,YAAwB,EAAE,KAAiB;QAC5D,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,kBAAkB;YACxB,UAAU,EAAE,YAAY,CAAC,IAAI;YAC7B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAClC,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,WAAuB;QACxC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,mBAAmB;YACzB,eAAe,EAAE,WAAW,CAAC,IAAI;YACjC,gBAAgB,EAAE,IAAI,CAAC,UAAW,CAAC,IAAI;YACvC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,oBAAoB,EAAE;SAC9D,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,WAAuB,EAAE,KAAiB;QAC1D,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,kBAAkB;YACxB,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,IAAI;YACvC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAClC,SAAS,EAAE,OAAO;SACnB,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,uBAAuB,CAAC,eAAuB,EAAE,KAAiB;QAChE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,kBAAkB;YACxB,UAAU,EAAE,eAAe;YAC3B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAClC,SAAS,EAAE,OAAO;SACnB,CAAC,CAAC;IACL,CAAC;IAED,6BAA6B;IAE7B,aAAa,CAAC,KAAY;QACxB,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC;IAED,iBAAiB;QACf,MAAM,OAAO,GAAkB,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;QACzF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;gHApjBU,sBAAsB;6DAAtB,sBAAsB;;YC1CnC,yFAAyC;YA8BzC,0FAAiB;YA4IjB,yFAAyB;YA4BzB,yFAAwB;YA4BxB,wHAAkD;;YAlOlD,oEAyBC;YAKD,cAuIC;YAvID,wCAuIC;YAKD,cAuBC;YAvBD,gDAuBC;YAKD,cAuBC;YAvBD,+CAuBC;;;iFDnLY,sBAAsB;cAPlC,SAAS;6BACI,KAAK,YACP,iBAAiB,mBACV,uBAAuB,CAAC,MAAM;;kBAgB9C,KAAK;;kBAIL,KAAK;mBAAC,MAAM;;kBAKZ,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBAGL,KAAK;;kBAKL,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kFA1HI,sBAAsB"}
1
+ {"version":3,"file":"form-toolbar.component.js","sourceRoot":"","sources":["../../../src/lib/toolbar/form-toolbar.component.ts","../../../src/lib/toolbar/form-toolbar.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,uBAAuB,EAAe,iBAAiB,EAAE,MAAM,EAAW,MAAM,eAAe,CAAC;AAEjJ,OAAO,EAAqB,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEpF,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAkB,MAAM,0CAA0C,CAAC;AAEvH,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,6BAA6B,EAG9B,MAAM,sBAAsB,CAAC;;;;;;;;;;ICRxB,wBAA+E;IAE7E,AADF,gCAAyC,aAC/B;IAAA,YAAmC;IAAA,iBAAS;IACpD,YAEF;IAAA,iBAAO;;;IAHG,eAAmC;IAAnC,0DAAmC;IAC3C,cAEF;IAFE,0JAEF;;;IAEA,wBAAyC;IACzC,gCAAwC;IAAA,YAAgC;IAAA,iBAAO;;;IAAvC,eAAgC;IAAhC,4DAAgC;;;;IAV5E,8BAAkC;IAQ9B,AAPF,4FAAyC,sEAOhC;IAIT,yBAA2C;IAEzC,AADF,8BAA0C,gBACyE;IAA9D,0LAAS,eAAQ,KAAC;IACnE,uBAAuC;IACvC,+BAAgC;IAAA,4BAAY;IAC9C,AAD8C,iBAAO,EAC5C;IACT,iCAAgG;IAAnE,0LAAS,iBAAU,KAAC;IAC/C,yBAAuC;IACvC,gCAAgC;IAAA,wBAAO;IAG7C,AADE,AADE,AADyC,iBAAO,EACvC,EACL,EACF;;;IAtBJ,cAUC;IAVD,kEAUC;IAGuE,eAAqB;IAArB,0CAAqB;IAIzC,eAAqB;IAArB,0CAAqB;;;;IAiBrE,kCAAyE;IAA5C,yMAAS,eAAQ,KAAC;IAC7C,wBAAyC;IAC3C,iBAAS;;;;IAGT,kCAAkF;IAArD,yMAAS,sBAAe,KAAC;IACpD,wBAAuC;IACzC,iBAAS;;;;IAGT,kCAAqH;IAAxF,yMAAS,yBAAkB,KAAC;IACvD,oBAA0F;IAC5F,iBAAS;;;IAFiD,+EAA0D;IAC/G,cAAkF;IAAlF,8FAAkF;;;;IAIvF,kCAA8E;IAAjD,yMAAS,kBAAW,KAAC;IAChD,wBAAmC;IACrC,iBAAS;;;IAOL,gCAAkC;IAAA,YAAe;IAAA,iBAAO;;;IAAtB,cAAe;IAAf,sCAAe;;;;IAJrD,kCACoF;IADpC,yMAAS,yBAAkB,KAAC;IAE1E,wBAAsC;IACtC,sHAAqB;IAGvB,iBAAS;;;IALP,6GAAiF;IAEjF,eAEC;IAFD,+CAEC;;;;IAOD,kCAIwC;IAAtC,+PAAS,qCAA2B,KAAC;IACrC,oBAA6B;IAC/B,iBAAS;;;IALP,uCAA+B;IAE/B,AADA,sDAAqC,gCACT;IAEzB,cAAqB;IAArB,6BAAqB;;;IAN5B,gHAAgC;;;IAAhC,sDAQC;;;IAMH,0BAA8C;;;;IAQ1C,6BAEgD;IAA7C,+OAAS,6CAAkC,KAAC;IAC7C,wBAAoC;IACpC,YACF;IAAA,iBAAI;IACJ,gCAAiC;IAAA,wBAAyC;IAAA,iBAAO;;;IAL9E,gEAA8C;IAG/C,eACF;IADE,gDACF;;;IASA,4BACuE;;;;IAArE,AADY,wDAAsC,8EACG;;;IAlB3D,+BAAiC;IAE/B,wHAQC;IAGD,gCAAuD;IAAA,YAAsB;IAAA,iBAAO;IAGpF,+HAAiC;IAInC,iBAAM;;;IAlBJ,cAQC;IARD,iCAQC;IAGsD,eAAsB;IAAtB,+EAAsB;IAG7E,cAGC;IAHD,2DAGC;;;;IAmBK,kCAA+E;IAA/C,uOAAS,sBAAe,KAAC;IACvD,wBAAiC;IACnC,iBAAS;;;;IATX,AADF,+BAAqC,gBAMA;IADjC,8NAAS,4BAAqB,KAAC;IAJjC,iBAKmC;IACnC,uIAAoB;IAKtB,iBAAM;;;IATF,cAAgD;IAAhD,gEAAgD;IAChD,2CAAsB;IAGxB,cAIC;IAJD,8CAIC;;;;IAcH,kCAAqI;IAA5D,yNAAS,4BAAqB,KAAC;IACtG,wBAA6C;IAC/C,iBAAS;;;;IAGT,kCAC4D;IAA1D,yNAAS,yBAAkB,KAAC;IAC5B,wBAA0C;IAC5C,iBAAS;;;;IAnCb,+BAAwD;IACtD,sHAAgC;IAehC,kCAEsD;IAApD,2MAAS,oBAAa,KAAC;IACvB,wBAAuC;IACzC,iBAAS;IACT,kCAE0D;IAAxD,2MAAS,sBAAe,KAAC;IACzB,wBAAqC;IACvC,iBAAS;IACT,yHAA6B;IAK7B,yHAAiC;IAMjC,kCAEiF;IAD/E,2MAAS,0BAAmB,KAAC;IAE7B,oBAA6G;IAEjH,AADE,iBAAS,EACL;;;IAzCJ,cAcC;IAdD,0DAcC;IAEC,cAAwD;IAAxD,oFAAwD;IAKxD,eAAuC;IAAvC,4DAAuC;IAIzC,eAIC;IAJD,uDAIC;IACD,cAKC;IALD,2DAKC;IAGC,cAA8E;IAA9E,mGAA8E;IAC3E,cAAqG;IAArG,iHAAqG;;;IAO5G,4BAA4E;;;IAA9D,mEAA8C;;;IA/H9D,AAHF,+BAAsF,cAGhD;IAClC,0GAA4C;IAK5C,0GAAgD;IAKhD,0GAAqD;IAKrD,0GAAiD;IAKjD,0GAA6B;IAW7B,yGAUC;IACH,iBAAM;IAGN,uGAAmD;IAKnD,yGAAmD;IAyBnD,0BAA2C;IAG3C,0GAAkC;IA+ClC,kHAAiC;IAGjC,mBAAgE;IAClE,iBAAM;;;IArIwB,uEAAuD;IAIjF,eAIC;IAJD,6EAIC;IACD,cAIC;IAJD,iFAIC;IACD,cAIC;IAJD,sFAIC;IACD,cAIC;IAJD,kFAIC;IACD,cAQC;IARD,uDAQC;IAGD,cAUC;IAVD,0CAUC;IAIH,eAEC;IAFD,oFAEC;IAGD,cAsBC;IAtBD,qFAsBC;IAMD,eA4CC;IA5CD,6DA4CC;IAGD,cAEC;IAFD,4DAEC;;;;IASH,+BAA2D;IAA5B,wLAAS,wBAAiB,KAAC;IACxD,+BAA0D;IAAnC,2JAAS,wBAAwB,KAAC;IAErD,AADF,+BAA8B,SACxB;IAAA,gCAAgB;IAAA,iBAAK;IACzB,kCAA4D;IAA5B,2LAAS,wBAAiB,KAAC;IACzD,wBAAiC;IAErC,AADE,iBAAS,EACL;IAEJ,AADF,+BAA4B,QACvB;IAAA,yBAAS;IAAA,+BAAQ;IAAA,aAAmC;IAAA,iBAAS;IAAC,aAA+J;IAClO,AADkO,iBAAI,EAChO;IAEJ,AADF,gCAA8B,kBACmD;IAA7B,4LAAS,yBAAkB,KAAC;IAC5E,yBAAuC;IACvC,kCACF;IAAA,iBAAS;IACT,mCAAyD;IAA5B,4LAAS,wBAAiB,KAAC;IACtD,+BACF;IAGN,AADE,AADE,AADE,iBAAS,EACL,EACF,EACF;;;IAZoB,gBAAmC;IAAnC,0DAAmC;IAAU,cAA+J;IAA/J,uMAA+J;;;;IAmBtO,+BAA0D;IAA3B,wLAAS,uBAAgB,KAAC;IACvD,+BAA0D;IAAnC,2JAAS,wBAAwB,KAAC;IAErD,AADF,+BAA8B,SACxB;IAAA,gCAAgB;IAAA,iBAAK;IACzB,kCAA2D;IAA3B,2LAAS,uBAAgB,KAAC;IACxD,wBAAiC;IAErC,AADE,iBAAS,EACL;IAEJ,AADF,+BAA4B,QACvB;IAAA,0FAA0E;IAC/E,AAD+E,iBAAI,EAC7E;IAEJ,AADF,gCAA8B,kBACkD;IAA5B,4LAAS,wBAAiB,KAAC;IAC3E,yBAAqC;IACrC,yBACF;IAAA,iBAAS;IACT,mCAAwD;IAA3B,4LAAS,uBAAgB,KAAC;IACrD,yBACF;IAGN,AADE,AADE,AADE,iBAAS,EACL,EACF,EACF;;;IAgBF,4BAC0E;;;;;IAAxE,AADY,wDAAsC,8EACM;;;;IAT5D,gCAAiC;IAAA,wBAAyC;IAAA,iBAAO;IACjF,6BAEiE;IAA9D,sPAAS,wCAA6B,CAAC,qBAAqB,KAAC;IAC9D,wBAAsC;IACtC,YACF;IAAA,iBAAI;IACJ,8HAAoC;;;IALjC,eAA+C;IAA/C,iEAA+C;IAGhD,eACF;IADE,wDACF;IACA,cAGC;IAHD,2DAGC;;;IAYO,4BACsE;;;;;IAApE,AADY,wDAAsC,0EACE;;;;IARxD,AADF,+BAAiC,YAG8B;IAA1D,4OAAS,0DAA+C,KAAC;IAC1D,wBAAsC;IACtC,YACF;IAAA,iBAAI;IACJ,oIAAgC;IAIlC,iBAAM;;;IATD,cAA2C;IAA3C,6DAA2C;IAG5C,eACF;IADE,oDACF;IACA,cAGC;IAHD,uDAGC;;;IAZP,+BAAkC;IAChC,sHAaC;IACH,iBAAM;;;IAdJ,cAaC;IAbD,wBAaC;;;IAfH,AAZF,4FAA0B,iFAYK;;;IAZ/B,4EA6BC;;ADnPH;;;;;;;;;;;;;;;;;;;;;GAqBG;AAQH,MAAM,OAAO,sBAAsB;IACzB,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAExC,wDAAwD;IAEhD,QAAQ,CAAU;IAE1B;;;;OAIG;IACH,IAAa,IAAI,CAAC,KAAc,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;IAC5D,IAAI,IAAI,KAAc,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7C,0DAA0D;IAC1D,IAAmB,eAAe,CAAC,KAAc,IAAI,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;IAEzE,mBAAmB;IAEnB,+CAA+C;IACtC,MAAM,CAAc;IAE7B,uCAAuC;IAC9B,QAAQ,GAAG,KAAK,CAAC;IAE1B,mDAAmD;IAC1C,WAAW,GAAG,KAAK,CAAC;IAE7B,qDAAqD;IAC5C,aAAa,GAAG,KAAK,CAAC;IAE/B,iDAAiD;IACxC,UAAU,GAAG,KAAK,CAAC;IAE5B,yEAAyE;IAChE,gBAAgB,GAAG,KAAK,CAAC;IAElC,6CAA6C;IACpC,OAAO,GAAG,KAAK,CAAC;IAEzB,oDAAoD;IAC3C,eAAe,GAAa,EAAE,CAAC;IAExC,4CAA4C;IACnC,SAAS,GAAG,CAAC,CAAC;IAEvB,kDAAkD;IACzC,UAAU,GAAsB,IAAI,CAAC;IAE9C,gEAAgE;IACvD,MAAM,GAAsB,sBAAsB,CAAC;IAE5D,4DAA4D;IACnD,QAAQ,GAAG,KAAK,CAAC;IAE1B,0BAA0B;IACjB,mBAAmB,GAAG,CAAC,CAAC;IACxB,iBAAiB,GAAG,CAAC,CAAC;IACtB,oBAAoB,GAAG,CAAC,CAAC;IACzB,YAAY,GAAG,EAAE,CAAC;IAClB,eAAe,GAAG,KAAK,CAAC;IACxB,SAAS,GAAkB,UAAU,CAAC;IACtC,qBAAqB,GAAG,KAAK,CAAC;IAEvC,uDAAuD;IAC9C,yBAAyB,GAAgC,IAAI,CAAC;IAEvE,oBAAoB;IAEpB,gFAAgF;IACtE,QAAQ,GAAG,IAAI,YAAY,EAAuB,CAAC;IAE7D,yCAAyC;IAC/B,cAAc,GAAG,IAAI,YAAY,EAAW,CAAC;IAEvD,4EAA4E;IAClE,UAAU,GAAG,IAAI,YAAY,EAAuB,CAAC;IAE/D,yCAAyC;IAC/B,aAAa,GAAG,IAAI,YAAY,EAAQ,CAAC;IAEnD,8EAA8E;IACpE,YAAY,GAAG,IAAI,YAAY,EAAyB,CAAC;IAEnE,mDAAmD;IACzC,eAAe,GAAG,IAAI,YAAY,EAAQ,CAAC;IAErD,8EAA8E;IACpE,YAAY,GAAG,IAAI,YAAY,EAAyB,CAAC;IAEnE,2CAA2C;IACjC,eAAe,GAAG,IAAI,YAAY,EAAQ,CAAC;IAErD,wCAAwC;IAC9B,eAAe,GAAG,IAAI,YAAY,EAAQ,CAAC;IAErD,oFAAoF;IAC1E,iBAAiB,GAAG,IAAI,YAAY,EAA8B,CAAC;IAE7E,4CAA4C;IAClC,gBAAgB,GAAG,IAAI,YAAY,EAAQ,CAAC;IAEtD,uFAAuF;IAC7E,oBAAoB,GAAG,IAAI,YAAY,EAAiC,CAAC;IAEnF,sCAAsC;IAC5B,uBAAuB,GAAG,IAAI,YAAY,EAAQ,CAAC;IAE7D,0CAA0C;IAChC,oBAAoB,GAAG,IAAI,YAAY,EAAQ,CAAC;IAE1D,sDAAsD;IAC5C,iBAAiB,GAAG,IAAI,YAAY,EAAqC,CAAC;IAEpF,0BAA0B;IAChB,YAAY,GAAG,IAAI,YAAY,EAAU,CAAC;IAC1C,kBAAkB,GAAG,IAAI,YAAY,EAAQ,CAAC;IAC9C,oBAAoB,GAAG,IAAI,YAAY,EAAQ,CAAC;IAChD,qBAAqB,GAAG,IAAI,YAAY,EAAW,CAAC;IACpD,eAAe,GAAG,IAAI,YAAY,EAAiB,CAAC;IACpD,0BAA0B,GAAG,IAAI,YAAY,EAAQ,CAAC;IACtD,uBAAuB,GAAG,IAAI,YAAY,EAAQ,CAAC;IAE7D,2BAA2B;IAC3B,gBAAgB,GAAG,KAAK,CAAC;IACzB,iBAAiB,GAAG,KAAK,CAAC;IAE1B,sDAAsD;IACtD,cAAc,GAAqB,EAAE,CAAC;IAC9B,oBAAoB,GAAsB,IAAI,CAAC;IAC/C,cAAc,GAAG,KAAK,CAAC;IAE/B,sBAAsB;IAEtB,SAAS;QACP,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACK,eAAe;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAmC,CAAC;QACrD,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAA2B,CAAC;QACpD,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,IAAI,GAAG,IAAI,GAAG,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;YAClB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;YACjC,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QAED,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YACxB,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACpE,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;oBACtD,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;oBAClC,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACnC,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QAE7E,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,OAAO,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YAAC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QAEjF,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACzC,IAAI,SAAS,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;YAAC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QAEzF,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;YAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QAErF,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC1C,IAAI,OAAO,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QAE3F,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,UAAU,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACtD,CAAC;IAED,+CAA+C;IAC/C,IAAI,WAAW;QACb,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;IACvD,CAAC;IAED,2DAA2D;IAC3D,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,+DAA+D;IAC/D,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,UAAU,EAAE,aAAa,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED,+DAA+D;IAC/D,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;;OAQG;IACH,IAAI,UAAU;QACZ,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACnC,OAAO,OAAO,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yDAAyD;IACzD,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,IAAI,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,MAAM,EAAE,WAAW,IAAI,EAAE,CAAC;IACxC,CAAC;IAED,wEAAwE;IACxE,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,+EAA+E;IAC/E,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IACxH,CAAC;IAED,iEAAiE;IACjE,IAAI,sBAAsB;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC7E,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACvE,OAAO,KAAK,EAAE,iBAAiB,IAAI,IAAI,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uCAAuC;IACvC,IAAI,iBAAiB;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,IAAI;gBAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;IACvD,CAAC;IAED,yCAAyC;IAEzC;;;OAGG;IACK,qBAAqB;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAC1B,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtE,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,uBAAuB;QAC7B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC;QAExC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;YAC3C,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACrD,IAAI,CAAC,cAAc,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACvD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,UAAkB,EAAE,KAAiB;QAC1D,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,kBAAkB;YACxB,UAAU,EAAE,UAAU;YACtB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAClC,SAAS,EAAE,OAAO;SACnB,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;IAEpB,MAAM;QACJ,IAAI,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC;YAAE,OAAO;QACpD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,MAAM;QACJ,4EAA4E;QAC5E,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAC1B,wEAAwE;YACxE,MAAM,WAAW,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAClC,IAAI,WAAW,CAAC,MAAM;gBAAE,OAAO;YAE/B,IAAI,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC;gBAAE,OAAO;YACvD,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,yDAAyD;QACzD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,kCAAkC;QAClC,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC1B,CAAC;IAED,eAAe;QACb,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC1B,CAAC;IAEO,UAAU;QAChB,wEAAwE;QACxE,MAAM,WAAW,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,WAAW,CAAC,MAAM;YAAE,OAAO;QAE/B,IAAI,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC;YAAE,OAAO;QACjD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,aAAa;QACX,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC1B,CAAC;IAED,eAAe;QACb,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAE9B,wEAAwE;QACxE,MAAM,WAAW,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC1B,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC1B,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC;YAAE,OAAO;QACxD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,SAAS;QACP,wEAAwE;QACxE,MAAM,WAAW,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACrD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,WAAW,CAAC,MAAM;YAAE,OAAO;QAE/B,IAAI,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC;YAAE,OAAO;QACzD,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,gBAAgB;QACd,wEAAwE;QACxE,MAAM,WAAW,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACxD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,WAAW,CAAC,MAAM;YAAE,OAAO;QAE/B,IAAI,IAAI,CAAC,iBAAiB,CAAC,2BAA2B,CAAC;YAAE,OAAO;QAChE,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;IAED,mBAAmB,CAAC,MAA2B;QAC7C,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO;QAE5B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;YAC1B,SAAS,EAAE,MAAM,CAAC,GAAG;YACrB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC;YAAE,OAAO;QAClD,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,UAAkB,EAAE,GAAG,IAAe;QAC9D,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAmC,CAAC;QACrD,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/B,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YAChC,MAAuC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,YAAwB,EAAE,KAAiB;QAC5D,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,kBAAkB;YACxB,UAAU,EAAE,YAAY,CAAC,IAAI;YAC7B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAClC,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,WAAuB;QACxC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,mBAAmB;YACzB,eAAe,EAAE,WAAW,CAAC,IAAI;YACjC,gBAAgB,EAAE,IAAI,CAAC,UAAW,CAAC,IAAI;YACvC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,oBAAoB,EAAE;SAC9D,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,WAAuB,EAAE,KAAiB;QAC1D,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,kBAAkB;YACxB,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,IAAI;YACvC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAClC,SAAS,EAAE,OAAO;SACnB,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,uBAAuB,CAAC,eAAuB,EAAE,KAAiB;QAChE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,kBAAkB;YACxB,UAAU,EAAE,eAAe;YAC3B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAClC,SAAS,EAAE,OAAO;SACnB,CAAC,CAAC;IACL,CAAC;IAED,6BAA6B;IAE7B,aAAa,CAAC,KAAY;QACxB,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC;IAED,iBAAiB;QACf,MAAM,OAAO,GAAkB,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;QACzF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;gHApjBU,sBAAsB;6DAAtB,sBAAsB;;YC1CnC,yFAAyC;YA8BzC,0FAAiB;YA4IjB,yFAAyB;YA4BzB,yFAAwB;YA4BxB,wHAAkD;;YAlOlD,oEAyBC;YAKD,cAuIC;YAvID,wCAuIC;YAKD,cAuBC;YAvBD,gDAuBC;YAKD,cAuBC;YAvBD,+CAuBC;;;iFDnLY,sBAAsB;cAPlC,SAAS;6BACI,KAAK,YACP,iBAAiB,mBACV,uBAAuB,CAAC,MAAM;;kBAgB9C,KAAK;;kBAIL,KAAK;mBAAC,MAAM;;kBAKZ,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBAGL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBAGL,KAAK;;kBAKL,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBAGN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kFA1HI,sBAAsB","sourcesContent":["import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, TemplateRef, ChangeDetectorRef, inject, DoCheck } from '@angular/core';\nimport { BaseEntity, EntityInfo, CompositeKey } from '@memberjunction/core';\nimport { FormToolbarConfig, DEFAULT_TOOLBAR_CONFIG } from '../types/toolbar-config';\nimport { FormNavigationEvent } from '../types/navigation-events';\nimport { DiscoverISADescendants, BuildDescendantTree, IsaRelatedItem } from '../isa-related-panel/isa-hierarchy-utils';\nimport { FormWidthMode, FormContext } from '../types/form-types';\nimport {\n BeforeSaveEventArgs,\n BeforeDeleteEventArgs,\n BeforeCancelEventArgs,\n BeforeHistoryViewEventArgs,\n BeforeListManagementEventArgs,\n CustomToolbarButtonClickEventArgs,\n CustomToolbarButton\n} from '../types/form-events';\n\n/**\n * Configurable form toolbar component.\n *\n * Renders action buttons (edit, save, delete, favorite, history, lists),\n * the IS-A entity hierarchy breadcrumb, and section controls (search, expand/collapse).\n *\n * All navigation actions are emitted as events - the toolbar never calls any routing\n * service directly. The host application subscribes and maps to its own navigation.\n *\n * @example\n * ```html\n * <mj-form-toolbar\n * [record]=\"record\"\n * [editMode]=\"editMode\"\n * [config]=\"toolbarConfig\"\n * (Navigate)=\"onNavigate($event)\"\n * (EditModeChange)=\"editMode = $event\"\n * (SaveRequested)=\"onSave()\"\n * (DeleteRequested)=\"onDelete()\">\n * </mj-form-toolbar>\n * ```\n */\n@Component({\n standalone: false,\n selector: 'mj-form-toolbar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './form-toolbar.component.html',\n styleUrls: ['./form-toolbar.component.css']\n})\nexport class MjFormToolbarComponent implements DoCheck {\n private cdr = inject(ChangeDetectorRef);\n\n // ---- Deprecated form reference (backward compat) ----\n\n private _formRef: unknown;\n\n /**\n * @deprecated Use `<mj-record-form-container>` or pass individual inputs instead.\n * Accepts a form component reference for backward compatibility.\n * When set, the toolbar reads Record, EditMode, etc. from this reference.\n */\n @Input() set Form(value: unknown) { this._formRef = value; }\n get Form(): unknown { return this._formRef; }\n\n /** @deprecated Use [Form] or individual inputs instead */\n @Input('form') set _deprecatedForm(value: unknown) { this.Form = value; }\n\n // ---- Inputs ----\n\n /** The entity record being displayed/edited */\n @Input() Record!: BaseEntity;\n\n /** Whether the form is in edit mode */\n @Input() EditMode = false;\n\n /** Whether the current user has edit permission */\n @Input() UserCanEdit = false;\n\n /** Whether the current user has delete permission */\n @Input() UserCanDelete = false;\n\n /** Whether the record is currently a favorite */\n @Input() IsFavorite = false;\n\n /** Whether favorite init has completed (prevents flash of wrong icon) */\n @Input() FavoriteInitDone = false;\n\n /** Whether the record has unsaved changes */\n @Input() IsDirty = false;\n\n /** Names of dirty fields for display in save bar */\n @Input() DirtyFieldNames: string[] = [];\n\n /** Count of lists this record belongs to */\n @Input() ListCount = 0;\n\n /** Entity info for IS-A hierarchy and metadata */\n @Input() EntityInfo: EntityInfo | null = null;\n\n /** Toolbar configuration controlling visibility and behavior */\n @Input() Config: FormToolbarConfig = DEFAULT_TOOLBAR_CONFIG;\n\n /** Whether to show the toolbar in a saving/loading state */\n @Input() IsSaving = false;\n\n // Section controls inputs\n @Input() VisibleSectionCount = 0;\n @Input() TotalSectionCount = 0;\n @Input() ExpandedSectionCount = 0;\n @Input() SearchFilter = '';\n @Input() ShowEmptyFields = false;\n @Input() WidthMode: FormWidthMode = 'centered';\n @Input() HasCustomSectionOrder = false;\n\n /** Optional template for additional toolbar actions */\n @Input() AdditionalActionsTemplate: TemplateRef<unknown> | null = null;\n\n // ---- Outputs ----\n\n /** Emitted for all navigation actions (record links, hierarchy clicks, etc.) */\n @Output() Navigate = new EventEmitter<FormNavigationEvent>();\n\n /** Request to enter or exit edit mode */\n @Output() EditModeChange = new EventEmitter<boolean>();\n\n /** Emitted BEFORE save - can be cancelled by setting event.Cancel = true */\n @Output() BeforeSave = new EventEmitter<BeforeSaveEventArgs>();\n\n /** Request to save the current record */\n @Output() SaveRequested = new EventEmitter<void>();\n\n /** Emitted BEFORE cancel - can be cancelled by setting event.Cancel = true */\n @Output() BeforeCancel = new EventEmitter<BeforeCancelEventArgs>();\n\n /** Request to cancel editing and revert changes */\n @Output() CancelRequested = new EventEmitter<void>();\n\n /** Emitted BEFORE delete - can be cancelled by setting event.Cancel = true */\n @Output() BeforeDelete = new EventEmitter<BeforeDeleteEventArgs>();\n\n /** Request to delete the current record */\n @Output() DeleteRequested = new EventEmitter<void>();\n\n /** Request to toggle favorite status */\n @Output() FavoriteToggled = new EventEmitter<void>();\n\n /** Emitted BEFORE history view - can be cancelled by setting event.Cancel = true */\n @Output() BeforeHistoryView = new EventEmitter<BeforeHistoryViewEventArgs>();\n\n /** Request to show record change history */\n @Output() HistoryRequested = new EventEmitter<void>();\n\n /** Emitted BEFORE list management - can be cancelled by setting event.Cancel = true */\n @Output() BeforeListManagement = new EventEmitter<BeforeListManagementEventArgs>();\n\n /** Request to show list management */\n @Output() ListManagementRequested = new EventEmitter<void>();\n\n /** Request to show dirty field changes */\n @Output() ShowChangesRequested = new EventEmitter<void>();\n\n /** Emitted when a custom toolbar button is clicked */\n @Output() CustomButtonClick = new EventEmitter<CustomToolbarButtonClickEventArgs>();\n\n // Section control outputs\n @Output() FilterChange = new EventEmitter<string>();\n @Output() ExpandAllRequested = new EventEmitter<void>();\n @Output() CollapseAllRequested = new EventEmitter<void>();\n @Output() ShowEmptyFieldsChange = new EventEmitter<boolean>();\n @Output() WidthModeChange = new EventEmitter<FormWidthMode>();\n @Output() ResetSectionOrderRequested = new EventEmitter<void>();\n @Output() ManageSectionsRequested = new EventEmitter<void>();\n\n // ---- Internal state ----\n ShowDeleteDialog = false;\n ShowDiscardDialog = false;\n\n /** Computed descendant tree for breadcrumb display */\n DescendantTree: IsaRelatedItem[] = [];\n private _lastRecordForChains: BaseEntity | null = null;\n private _chainsLoading = false;\n\n // ---- Lifecycle ----\n\n ngDoCheck(): void {\n if (this._formRef) {\n this.SyncFromFormRef();\n }\n this.CheckDescendantChains();\n }\n\n /**\n * Sync toolbar state from the legacy form reference.\n * Only active when [Form] is set (backward-compat mode).\n */\n private SyncFromFormRef(): void {\n const ref = this._formRef as Record<string, unknown>;\n const rec = ref['record'] as BaseEntity | undefined;\n let changed = false;\n\n if (rec && rec !== this.Record) {\n this.Record = rec;\n this.EntityInfo = rec.EntityInfo;\n changed = true;\n }\n\n if (rec) {\n const dirty = rec.Dirty;\n if (dirty !== this.IsDirty) {\n this.IsDirty = dirty;\n changed = true;\n }\n if (dirty) {\n const dirtyNames = rec.Fields.filter(f => f.Dirty).map(f => f.Name);\n if (dirtyNames.length !== this.DirtyFieldNames.length) {\n this.DirtyFieldNames = dirtyNames;\n changed = true;\n }\n }\n }\n\n const editMode = !!ref['EditMode'];\n if (editMode !== this.EditMode) { this.EditMode = editMode; changed = true; }\n\n const canEdit = !!ref['UserCanEdit'];\n if (canEdit !== this.UserCanEdit) { this.UserCanEdit = canEdit; changed = true; }\n\n const canDelete = !!ref['UserCanDelete'];\n if (canDelete !== this.UserCanDelete) { this.UserCanDelete = canDelete; changed = true; }\n\n const isFavorite = !!ref['IsFavorite'];\n if (isFavorite !== this.IsFavorite) { this.IsFavorite = isFavorite; changed = true; }\n\n const favDone = !!ref['FavoriteInitDone'];\n if (favDone !== this.FavoriteInitDone) { this.FavoriteInitDone = favDone; changed = true; }\n\n if (changed) {\n this.cdr.markForCheck();\n }\n }\n\n /** Whether entity tracks record changes (for history button) */\n get TracksChanges(): boolean {\n return this.EntityInfo?.TrackRecordChanges === true;\n }\n\n /** IS-A parent chain for breadcrumb display */\n get ParentChain(): EntityInfo[] {\n if (!this.EntityInfo) return [];\n return this.EntityInfo.ParentChain.slice().reverse();\n }\n\n /** Whether this entity has parent entities (IS-A child) */\n get HasParentEntities(): boolean {\n return this.ParentChain.length > 0;\n }\n\n /** Child entity types from metadata (all possible subtypes) */\n get ChildEntities(): EntityInfo[] {\n return this.EntityInfo?.ChildEntities ?? [];\n }\n\n /** Whether this entity has child entity types (IS-A parent) */\n get HasChildEntities(): boolean {\n return this.ChildEntities.length > 0;\n }\n\n /**\n * The actual loaded IS-A child chain for the current record.\n * Walks Record.ISAChild → ISAChild.ISAChild → ... collecting each child entity.\n * This differs from ChildEntities (metadata) because it represents the SPECIFIC\n * child type that exists for THIS record, not all possible subtypes.\n *\n * For overlapping subtype parents, this is empty (ISAChild returns null) —\n * use OverlappingChildren instead.\n */\n get ChildChain(): BaseEntity[] {\n if (!this.Record) return [];\n const chain: BaseEntity[] = [];\n let current = this.Record.ISAChild;\n while (current) {\n chain.push(current);\n current = current.ISAChild;\n }\n return chain;\n }\n\n /** Whether this record has a loaded IS-A child entity */\n get HasLoadedChild(): boolean {\n return this.Record?.ISAChild != null;\n }\n\n /**\n * For overlapping subtype parents (AllowMultipleSubtypes = true), returns the\n * list of child entity type names that have records for this PK.\n * Populated by InitializeChildEntity() during record load.\n */\n get OverlappingChildren(): { entityName: string }[] {\n return this.Record?.ISAChildren ?? [];\n }\n\n /** Whether the current record has overlapping child types discovered */\n get HasOverlappingChildren(): boolean {\n return this.OverlappingChildren.length > 0;\n }\n\n /** Whether this entity is part of any IS-A hierarchy (parent or child side) */\n get IsInHierarchy(): boolean {\n return this.HasParentEntities || this.HasLoadedChild || this.HasOverlappingChildren || this.DescendantTree.length > 0;\n }\n\n /** Display-friendly names of dirty fields for the edit banner */\n get DirtyFieldDisplayNames(): string[] {\n if (!this.Record?.EntityInfo || this.DirtyFieldNames.length === 0) return [];\n return this.DirtyFieldNames.map(name => {\n const field = this.Record.EntityInfo.Fields.find(f => f.Name === name);\n return field?.DisplayNameOrName ?? name;\n });\n }\n\n /** Display name for the edit banner */\n get RecordDisplayName(): string {\n if (!this.Record) return '';\n const info = this.Record.EntityInfo;\n if (info?.NameField) {\n const name = this.Record.Get(info.NameField.Name);\n if (name) return String(name);\n }\n return this.Record.PrimaryKey.ToConcatenatedString();\n }\n\n // ---- Descendant Chain Computation ----\n\n /**\n * Check if descendant chains need recomputation (called from DoCheck).\n * Only triggers async computation when the record identity changes.\n */\n private CheckDescendantChains(): void {\n if (!this.Record) {\n if (this.DescendantTree.length > 0) {\n this.DescendantTree = [];\n this._lastRecordForChains = null;\n this.cdr.markForCheck();\n }\n return;\n }\n if (this.Record !== this._lastRecordForChains && !this._chainsLoading) {\n this.ComputeDescendantChains();\n }\n }\n\n /**\n * Asynchronously discover all IS-A descendants and convert to chains\n * for breadcrumb display. Each chain is a root-to-leaf path of entity names.\n */\n private ComputeDescendantChains(): void {\n this._lastRecordForChains = this.Record;\n\n if (!this.Record?.EntityInfo?.IsParentType) {\n this.DescendantTree = [];\n return;\n }\n\n this._chainsLoading = true;\n\n DiscoverISADescendants(this.Record).then(descendants => {\n this.DescendantTree = BuildDescendantTree(descendants);\n this._chainsLoading = false;\n this.cdr.markForCheck();\n }).catch(() => {\n this.DescendantTree = [];\n this._chainsLoading = false;\n this.cdr.markForCheck();\n });\n }\n\n /**\n * Navigate to a descendant entity record in the IS-A hierarchy.\n */\n OnDescendantBadgeClick(entityName: string, event: MouseEvent): void {\n if (!this.Record) return;\n this.Navigate.emit({\n Kind: 'entity-hierarchy',\n EntityName: entityName,\n PrimaryKey: this.Record.PrimaryKey,\n Direction: 'child'\n });\n }\n\n // ---- Actions ----\n\n OnEdit(): void {\n if (this.DispatchToFormRef('StartEditMode')) return;\n this.EditModeChange.emit(true);\n }\n\n OnSave(): void {\n // Use microtask timing to avoid ExpressionChangedAfterItHasBeenCheckedError\n Promise.resolve().then(() => {\n // Emit Before event - handler can cancel by setting event.Cancel = true\n const beforeEvent = new BeforeSaveEventArgs(true);\n this.BeforeSave.emit(beforeEvent);\n if (beforeEvent.Cancel) return;\n\n if (this.DispatchToFormRef('SaveRecord', true)) return;\n this.SaveRequested.emit();\n });\n }\n\n OnCancel(): void {\n // If there are unsaved changes, show confirmation dialog\n if (this.IsDirty) {\n this.ShowDiscardDialog = true;\n this.cdr.markForCheck();\n return;\n }\n // No changes - cancel immediately\n this.EmitCancel();\n }\n\n OnDiscardConfirm(): void {\n this.ShowDiscardDialog = false;\n this.EmitCancel();\n this.cdr.markForCheck();\n }\n\n OnDiscardCancel(): void {\n this.ShowDiscardDialog = false;\n this.cdr.markForCheck();\n }\n\n private EmitCancel(): void {\n // Emit Before event - handler can cancel by setting event.Cancel = true\n const beforeEvent = new BeforeCancelEventArgs();\n this.BeforeCancel.emit(beforeEvent);\n if (beforeEvent.Cancel) return;\n\n if (this.DispatchToFormRef('CancelEdit')) return;\n this.CancelRequested.emit();\n }\n\n OnDeleteClick(): void {\n this.ShowDeleteDialog = true;\n this.cdr.markForCheck();\n }\n\n OnDeleteConfirm(): void {\n this.ShowDeleteDialog = false;\n\n // Emit Before event - handler can cancel by setting event.Cancel = true\n const beforeEvent = new BeforeDeleteEventArgs();\n this.BeforeDelete.emit(beforeEvent);\n if (beforeEvent.Cancel) {\n this.cdr.markForCheck();\n return;\n }\n\n if (this.DispatchToFormRef('OnDeleteRequested')) {\n this.cdr.markForCheck();\n return;\n }\n this.DeleteRequested.emit();\n this.cdr.markForCheck();\n }\n\n OnDeleteCancel(): void {\n this.ShowDeleteDialog = false;\n this.cdr.markForCheck();\n }\n\n OnFavoriteToggle(): void {\n if (this.DispatchToFormRef('OnFavoriteToggled')) return;\n this.FavoriteToggled.emit();\n }\n\n OnHistory(): void {\n // Emit Before event - handler can cancel by setting event.Cancel = true\n const beforeEvent = new BeforeHistoryViewEventArgs();\n this.BeforeHistoryView.emit(beforeEvent);\n if (beforeEvent.Cancel) return;\n\n if (this.DispatchToFormRef('OnHistoryRequested')) return;\n this.HistoryRequested.emit();\n }\n\n OnListManagement(): void {\n // Emit Before event - handler can cancel by setting event.Cancel = true\n const beforeEvent = new BeforeListManagementEventArgs();\n this.BeforeListManagement.emit(beforeEvent);\n if (beforeEvent.Cancel) return;\n\n if (this.DispatchToFormRef('OnListManagementRequested')) return;\n this.ListManagementRequested.emit();\n }\n\n OnCustomButtonClick(button: CustomToolbarButton): void {\n if (button.Disabled) return;\n\n this.CustomButtonClick.emit({\n ButtonKey: button.Key,\n Button: button\n });\n }\n\n OnShowChanges(): void {\n if (this.DispatchToFormRef('ShowChanges')) return;\n this.ShowChangesRequested.emit();\n }\n\n /**\n * Try to call a method on the legacy form reference.\n * Returns true if the method was found and called, false otherwise.\n */\n private DispatchToFormRef(methodName: string, ...args: unknown[]): boolean {\n if (!this._formRef) return false;\n const ref = this._formRef as Record<string, unknown>;\n const method = ref[methodName];\n if (typeof method === 'function') {\n (method as (...a: unknown[]) => unknown).call(this._formRef, ...args);\n return true;\n }\n return false;\n }\n\n /**\n * Navigate to a parent entity record in the IS-A hierarchy.\n */\n OnParentBadgeClick(parentEntity: EntityInfo, event: MouseEvent): void {\n if (!this.Record) return;\n this.Navigate.emit({\n Kind: 'entity-hierarchy',\n EntityName: parentEntity.Name,\n PrimaryKey: this.Record.PrimaryKey,\n Direction: 'parent'\n });\n }\n\n /**\n * Navigate to a child entity type list view.\n */\n OnChildEntityClick(childEntity: EntityInfo): void {\n if (!this.Record) return;\n this.Navigate.emit({\n Kind: 'child-entity-type',\n ChildEntityName: childEntity.Name,\n ParentEntityName: this.EntityInfo!.Name,\n ParentRecordId: this.Record.PrimaryKey.ToConcatenatedString()\n });\n }\n\n /**\n * Navigate to a loaded child entity record in the IS-A hierarchy.\n * The child shares the same primary key as the parent (IS-A inheritance).\n */\n OnChildBadgeClick(childEntity: BaseEntity, event: MouseEvent): void {\n if (!this.Record) return;\n this.Navigate.emit({\n Kind: 'entity-hierarchy',\n EntityName: childEntity.EntityInfo.Name,\n PrimaryKey: this.Record.PrimaryKey,\n Direction: 'child'\n });\n }\n\n /**\n * Navigate to an overlapping child entity record.\n * Used when the parent has AllowMultipleSubtypes = true and multiple child\n * types coexist for the same PK.\n */\n OnOverlappingChildClick(childEntityName: string, event: MouseEvent): void {\n if (!this.Record) return;\n this.Navigate.emit({\n Kind: 'entity-hierarchy',\n EntityName: childEntityName,\n PrimaryKey: this.Record.PrimaryKey,\n Direction: 'child'\n });\n }\n\n // ---- Section Controls ----\n\n OnFilterInput(event: Event): void {\n const input = event.target as HTMLInputElement;\n this.FilterChange.emit(input.value);\n }\n\n OnClearFilter(): void {\n this.FilterChange.emit('');\n }\n\n OnExpandAll(): void {\n this.ExpandAllRequested.emit();\n }\n\n OnCollapseAll(): void {\n this.CollapseAllRequested.emit();\n }\n\n OnToggleEmptyFields(): void {\n this.ShowEmptyFieldsChange.emit(!this.ShowEmptyFields);\n }\n\n OnToggleWidthMode(): void {\n const newMode: FormWidthMode = this.WidthMode === 'centered' ? 'full-width' : 'centered';\n this.WidthModeChange.emit(newMode);\n }\n\n OnResetSectionOrder(): void {\n this.ResetSectionOrderRequested.emit();\n }\n\n OnManageSections(): void {\n this.ManageSectionsRequested.emit();\n }\n}\n","<!-- ============================================\n EDIT MODE BANNER (shows above toolbar when editing)\n ============================================ -->\n@if (EditMode && Config.ShowEditBanner) {\n <div class=\"mj-forms-edit-banner\">\n @if (DirtyFieldDisplayNames.length > 0) {\n <i class=\"fa-solid fa-circle-exclamation mj-forms-edit-banner-icon--dirty\"></i>\n <span class=\"mj-forms-edit-banner-dirty\">\n <strong>{{ DirtyFieldDisplayNames.length }}</strong>\n field{{ DirtyFieldDisplayNames.length === 1 ? '' : 's' }} modified\n &mdash; {{ DirtyFieldDisplayNames.join(', ') }}\n </span>\n } @else {\n <i class=\"fa-solid fa-pen-to-square\"></i>\n <span class=\"mj-forms-edit-banner-text\">Editing: {{ RecordDisplayName }}</span>\n }\n <div class=\"mj-forms-toolbar-spacer\"></div>\n <div class=\"mj-forms-edit-banner-actions\">\n <button class=\"mj-forms-btn mj-forms-btn--primary\" (click)=\"OnSave()\" [disabled]=\"IsSaving\" title=\"Save Changes\">\n <i class=\"fa-solid fa-floppy-disk\"></i>\n <span class=\"mj-forms-btn-text\">Save Changes</span>\n </button>\n <button class=\"mj-forms-btn\" (click)=\"OnCancel()\" [disabled]=\"IsSaving\" title=\"Discard Changes\">\n <i class=\"fa-solid fa-rotate-left\"></i>\n <span class=\"mj-forms-btn-text\">Discard</span>\n </button>\n </div>\n </div>\n}\n\n<!-- ============================================\n MAIN TOOLBAR (read mode only — hidden in edit mode)\n ============================================ -->\n@if (!EditMode) {\n <div class=\"mj-forms-toolbar\" [class.mj-forms-toolbar--sticky]=\"Config.StickyToolbar\">\n\n <!-- Action buttons -->\n <div class=\"mj-forms-toolbar-group\">\n @if (Config.ShowEditButton && UserCanEdit) {\n <button class=\"mj-forms-btn\" (click)=\"OnEdit()\" title=\"Edit this Record\">\n <i class=\"fa-solid fa-pen-to-square\"></i>\n </button>\n }\n @if (Config.ShowDeleteButton && UserCanDelete) {\n <button class=\"mj-forms-btn\" (click)=\"OnDeleteClick()\" title=\"Delete this Record\">\n <i class=\"fa-regular fa-trash-can\"></i>\n </button>\n }\n @if (Config.ShowFavoriteButton && FavoriteInitDone) {\n <button class=\"mj-forms-btn\" (click)=\"OnFavoriteToggle()\" [title]=\"IsFavorite ? 'Remove Favorite' : 'Make Favorite'\">\n <i [class]=\"IsFavorite ? 'fa-solid fa-star mj-icon--favorite' : 'fa-regular fa-star'\"></i>\n </button>\n }\n @if (Config.ShowHistoryButton && TracksChanges) {\n <button class=\"mj-forms-btn\" (click)=\"OnHistory()\" title=\"MJ: Record Changes\">\n <i class=\"fa-regular fa-clock\"></i>\n </button>\n }\n @if (Config.ShowListButton) {\n <button class=\"mj-forms-btn mj-forms-btn--list\" (click)=\"OnListManagement()\"\n [title]=\"ListCount > 0 ? 'Member of ' + ListCount + ' list(s)' : 'Add to a list'\">\n <i class=\"fa-regular fa-bookmark\"></i>\n @if (ListCount > 0) {\n <span class=\"mj-list-count-badge\">{{ ListCount }}</span>\n }\n </button>\n }\n\n <!-- Custom toolbar buttons -->\n @for (button of Config.CustomButtons; track button.Key) {\n @if (button.Visible !== false) {\n <button class=\"mj-forms-btn\"\n [class]=\"button.CssClass || ''\"\n [disabled]=\"button.Disabled || false\"\n [title]=\"button.Description\"\n (click)=\"OnCustomButtonClick(button)\">\n <i [class]=\"button.Icon\"></i>\n </button>\n }\n }\n </div>\n\n <!-- Separator before hierarchy -->\n @if (Config.ShowEntityHierarchy && IsInHierarchy) {\n <div class=\"mj-forms-toolbar-separator\"></div>\n }\n\n <!-- IS-A Entity Hierarchy Breadcrumb (bidirectional: Root → ... → Current → ... → Leaf) -->\n @if (Config.ShowEntityHierarchy && IsInHierarchy) {\n <div class=\"mj-entity-hierarchy\">\n <!-- Parent chain (root → ... → immediate parent) -->\n @for (parent of ParentChain; track parent.ID) {\n <a class=\"mj-entity-badge mj-entity-badge--parent\"\n [title]=\"'Navigate to parent: ' + parent.Name\"\n (click)=\"OnParentBadgeClick(parent, $event)\">\n <i class=\"fa-solid fa-arrow-up\"></i>\n {{ parent.Name }}\n </a>\n <span class=\"mj-hierarchy-arrow\"><i class=\"fa-solid fa-chevron-right\"></i></span>\n }\n\n <!-- Current entity (always shown) -->\n <span class=\"mj-entity-badge mj-entity-badge--current\">{{ EntityInfo?.Name }}</span>\n\n <!-- Descendant tree (recursive: inline for single paths, branching for multiple) -->\n @if (DescendantTree.length > 0) {\n <ng-container [ngTemplateOutlet]=\"descendantTreeTpl\"\n [ngTemplateOutletContext]=\"{ items: DescendantTree }\"></ng-container>\n }\n </div>\n }\n\n <!-- Spacer pushes section controls to the right -->\n <div class=\"mj-forms-toolbar-spacer\"></div>\n\n <!-- Section Controls -->\n @if (Config.ShowSectionControls) {\n <div class=\"mj-forms-toolbar-group mj-section-controls\">\n @if (Config.ShowSectionFilter) {\n <div class=\"mj-forms-search-wrapper\">\n <input type=\"text\"\n class=\"mj-section-search\"\n [class.mj-section-search--active]=\"SearchFilter\"\n [value]=\"SearchFilter\"\n (input)=\"OnFilterInput($event)\"\n placeholder=\"Search sections...\">\n @if (SearchFilter) {\n <button class=\"mj-clear-search\" (click)=\"OnClearFilter()\" title=\"Clear search\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n }\n </div>\n }\n <button class=\"mj-forms-btn mj-forms-btn--ghost mj-forms-btn--icon-only\"\n [disabled]=\"ExpandedSectionCount >= VisibleSectionCount\"\n (click)=\"OnExpandAll()\" title=\"Expand all sections\">\n <i class=\"fa-solid fa-angles-down\"></i>\n </button>\n <button class=\"mj-forms-btn mj-forms-btn--ghost mj-forms-btn--icon-only\"\n [disabled]=\"ExpandedSectionCount === 0\"\n (click)=\"OnCollapseAll()\" title=\"Collapse all sections\">\n <i class=\"fa-solid fa-angles-up\"></i>\n </button>\n @if (HasCustomSectionOrder) {\n <button class=\"mj-forms-btn mj-forms-btn--ghost mj-forms-btn--icon-only\" (click)=\"OnResetSectionOrder()\" title=\"Reset section order\">\n <i class=\"fa-solid fa-arrow-rotate-left\"></i>\n </button>\n }\n @if (Config.ShowSectionManager) {\n <button class=\"mj-forms-btn mj-forms-btn--ghost mj-forms-btn--icon-only\"\n (click)=\"OnManageSections()\" title=\"Manage section order\">\n <i class=\"fa-solid fa-bars-staggered\"></i>\n </button>\n }\n <button class=\"mj-forms-btn mj-forms-btn--ghost mj-forms-btn--icon-only\"\n (click)=\"OnToggleWidthMode()\"\n [title]=\"WidthMode === 'centered' ? 'Expand to full width' : 'Center content'\">\n <i [class]=\"WidthMode === 'centered' ? 'fa-solid fa-arrows-left-right-to-line' : 'fa-solid fa-compress'\"></i>\n </button>\n </div>\n }\n\n <!-- Additional actions slot -->\n @if (AdditionalActionsTemplate) {\n <ng-container [ngTemplateOutlet]=\"AdditionalActionsTemplate\"></ng-container>\n }\n <ng-content select=\"[toolbar-additional-controls]\"></ng-content>\n </div>\n}\n\n<!-- ============================================\n DISCARD CHANGES CONFIRMATION DIALOG\n ============================================ -->\n@if (ShowDiscardDialog) {\n <div class=\"mj-dialog-overlay\" (click)=\"OnDiscardCancel()\">\n <div class=\"mj-dialog\" (click)=\"$event.stopPropagation()\">\n <div class=\"mj-dialog-header\">\n <h3>Discard Changes?</h3>\n <button class=\"mj-dialog-close\" (click)=\"OnDiscardCancel()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"mj-dialog-body\">\n <p>You have <strong>{{ DirtyFieldDisplayNames.length }}</strong> unsaved change{{ DirtyFieldDisplayNames.length === 1 ? '' : 's' }}. Are you sure you want to discard {{ DirtyFieldDisplayNames.length === 1 ? 'it' : 'them' }}?</p>\n </div>\n <div class=\"mj-dialog-footer\">\n <button class=\"mj-forms-btn mj-forms-btn--danger\" (click)=\"OnDiscardConfirm()\">\n <i class=\"fa-solid fa-rotate-left\"></i>\n Discard Changes\n </button>\n <button class=\"mj-forms-btn\" (click)=\"OnDiscardCancel()\">\n Keep Editing\n </button>\n </div>\n </div>\n </div>\n}\n\n<!-- ============================================\n DELETE CONFIRMATION DIALOG\n ============================================ -->\n@if (ShowDeleteDialog) {\n <div class=\"mj-dialog-overlay\" (click)=\"OnDeleteCancel()\">\n <div class=\"mj-dialog\" (click)=\"$event.stopPropagation()\">\n <div class=\"mj-dialog-header\">\n <h3>Confirm Deletion</h3>\n <button class=\"mj-dialog-close\" (click)=\"OnDeleteCancel()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"mj-dialog-body\">\n <p>Are you sure you want to delete this record? This action cannot be undone.</p>\n </div>\n <div class=\"mj-dialog-footer\">\n <button class=\"mj-forms-btn mj-forms-btn--danger\" (click)=\"OnDeleteConfirm()\">\n <i class=\"fa-solid fa-trash-can\"></i>\n Delete\n </button>\n <button class=\"mj-forms-btn\" (click)=\"OnDeleteCancel()\">\n Cancel\n </button>\n </div>\n </div>\n </div>\n}\n\n<!-- Recursive template for IS-A descendant tree rendering.\n Single child at a level → inline with chevron.\n Multiple children at a level → tree branch with CSS connector lines. -->\n<ng-template #descendantTreeTpl let-items=\"items\">\n @if (items.length === 1) {\n <span class=\"mj-hierarchy-arrow\"><i class=\"fa-solid fa-chevron-right\"></i></span>\n <a class=\"mj-entity-badge mj-entity-badge--child\"\n [title]=\"'Navigate to: ' + items[0].EntityName\"\n (click)=\"OnDescendantBadgeClick(items[0].EntityName, $event)\">\n <i class=\"fa-solid fa-arrow-down\"></i>\n {{ items[0].EntityName }}\n </a>\n @if (items[0].Children.length > 0) {\n <ng-container [ngTemplateOutlet]=\"descendantTreeTpl\"\n [ngTemplateOutletContext]=\"{ items: items[0].Children }\"></ng-container>\n }\n } @else if (items.length > 1) {\n <div class=\"mj-descendant-chains\">\n @for (item of items; track item.EntityName) {\n <div class=\"mj-descendant-chain\">\n <a class=\"mj-entity-badge mj-entity-badge--child\"\n [title]=\"'Navigate to: ' + item.EntityName\"\n (click)=\"OnDescendantBadgeClick(item.EntityName, $event)\">\n <i class=\"fa-solid fa-arrow-down\"></i>\n {{ item.EntityName }}\n </a>\n @if (item.Children.length > 0) {\n <ng-container [ngTemplateOutlet]=\"descendantTreeTpl\"\n [ngTemplateOutletContext]=\"{ items: item.Children }\"></ng-container>\n }\n </div>\n }\n </div>\n }\n</ng-template>\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"form-events.js","sourceRoot":"","sources":["../../../src/lib/types/form-events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IAC/B;;;OAGG;IACH,MAAM,GAAG,KAAK,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,oBAAoB;IAC3D;;OAEG;IACH,kBAAkB,CAAU;IAE5B,YAAY,kBAA2B;QACrC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,oBAAoB;CAAG;AAElE;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,oBAAoB;CAAG;AAElE;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,oBAAoB;CAAG;AAEvE;;GAEG;AACH,MAAM,OAAO,6BAA8B,SAAQ,oBAAoB;CAAG"}
1
+ {"version":3,"file":"form-events.js","sourceRoot":"","sources":["../../../src/lib/types/form-events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IAC/B;;;OAGG;IACH,MAAM,GAAG,KAAK,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,oBAAoB;IAC3D;;OAEG;IACH,kBAAkB,CAAU;IAE5B,YAAY,kBAA2B;QACrC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,oBAAoB;CAAG;AAElE;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,oBAAoB;CAAG;AAElE;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,oBAAoB;CAAG;AAEvE;;GAEG;AACH,MAAM,OAAO,6BAA8B,SAAQ,oBAAoB;CAAG","sourcesContent":["/**\n * Cancellable event base class for form actions.\n * Allows event handlers to cancel default behavior by setting Cancel = true.\n */\nexport class CancellableFormEvent {\n /**\n * Set to true to cancel the default behavior of this event.\n * Default: false\n */\n Cancel = false;\n}\n\n/**\n * Event args for BeforeSave event\n */\nexport class BeforeSaveEventArgs extends CancellableFormEvent {\n /**\n * Whether validation should be performed before save\n */\n ValidateBeforeSave: boolean;\n\n constructor(validateBeforeSave: boolean) {\n super();\n this.ValidateBeforeSave = validateBeforeSave;\n }\n}\n\n/**\n * Event args for BeforeDelete event\n */\nexport class BeforeDeleteEventArgs extends CancellableFormEvent {}\n\n/**\n * Event args for BeforeCancel event\n */\nexport class BeforeCancelEventArgs extends CancellableFormEvent {}\n\n/**\n * Event args for BeforeHistoryView event\n */\nexport class BeforeHistoryViewEventArgs extends CancellableFormEvent {}\n\n/**\n * Event args for BeforeListManagement event\n */\nexport class BeforeListManagementEventArgs extends CancellableFormEvent {}\n\n/**\n * Event args for custom toolbar button clicks\n */\nexport interface CustomToolbarButtonClickEventArgs {\n /**\n * The key/identifier of the button that was clicked\n */\n ButtonKey: string;\n\n /**\n * The button configuration that was clicked\n */\n Button: CustomToolbarButton;\n}\n\n/**\n * Configuration for a custom toolbar button\n */\nexport interface CustomToolbarButton {\n /**\n * Unique identifier for this button\n */\n Key: string;\n\n /**\n * Display name/label for the button (used for accessibility)\n */\n Name: string;\n\n /**\n * Tooltip text shown on hover\n */\n Description: string;\n\n /**\n * Font Awesome icon class (e.g., \"fa-solid fa-star\")\n */\n Icon: string;\n\n /**\n * Whether the button should be visible\n * Default: true\n */\n Visible?: boolean;\n\n /**\n * Whether the button should be disabled\n * Default: false\n */\n Disabled?: boolean;\n\n /**\n * Optional CSS class to apply to the button\n */\n CssClass?: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"form-types.js","sourceRoot":"","sources":["../../../src/lib/types/form-types.ts"],"names":[],"mappings":"AAkKA;;GAEG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO;QACL,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,KAAK;QACrB,gBAAgB,EAAE,EAAE;KACrB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"form-types.js","sourceRoot":"","sources":["../../../src/lib/types/form-types.ts"],"names":[],"mappings":"AAkKA;;GAEG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO;QACL,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,KAAK;QACrB,gBAAgB,EAAE,EAAE;KACrB,CAAC;AACJ,CAAC","sourcesContent":["import { ValidationErrorInfo } from '@memberjunction/global';\n\n/**\n * Width mode for the form panels container.\n * - 'centered': Max-width constrained and centered (default, good for readability)\n * - 'full-width': No max-width constraint, uses full available width\n */\nexport type FormWidthMode = 'centered' | 'full-width';\n\n/**\n * Variant for collapsible panel styling.\n * - 'default': Standard white card with accent border\n * - 'related-entity': Blue-accented card for related entity grid sections\n * - 'inherited': Purple-accented card for IS-A inherited field sections\n */\nexport type PanelVariant = 'default' | 'related-entity' | 'inherited';\n\n/**\n * Information about a section within the form.\n * Used to initialize and track section state.\n *\n * @template M Optional metadata type for custom per-section data\n */\nexport interface FormSectionInfo<M = unknown> {\n /** Unique key for this section (used in state persistence) */\n SectionKey: string;\n /** Display name shown in the panel header */\n SectionName: string;\n /** Whether the section starts expanded. Default: true for field sections, false for related entities */\n IsExpanded: boolean;\n /** Row count for related entity sections (shown as badge) */\n RowCount?: number;\n /** Custom metadata attached to this section */\n Metadata?: M;\n /** Panel variant for styling */\n Variant?: PanelVariant;\n /** Font Awesome icon class for the section header */\n Icon?: string;\n /**\n * If set, indicates this section contains fields inherited from a parent entity.\n * The value is the parent entity name (e.g., \"Products\" for a Meeting IS-A Product).\n */\n InheritedFromEntity?: string;\n}\n\n/**\n * Event emitted when a panel drag-to-reorder operation starts.\n */\nexport interface PanelDragStartEvent {\n SectionKey: string;\n Event: DragEvent;\n}\n\n/**\n * Event emitted when a panel is dropped onto another panel for reordering.\n */\nexport interface PanelDropEvent {\n SourceSectionKey: string;\n TargetSectionKey: string;\n}\n\n/**\n * Context object passed from the form to all child components (panels, fields).\n * Eliminates the need for many individual @Input properties.\n *\n * Property names use camelCase to maintain structural compatibility with\n * {@link BaseFormContext} from `@memberjunction/ng-base-forms`. This allows\n * BaseFormComponent.formContext to be passed directly to ng-forms components.\n */\nexport interface FormContext {\n /** Current search filter string for highlighting/filtering sections and fields */\n sectionFilter?: string;\n /** Whether to show fields that have empty values in read-only mode */\n showEmptyFields?: boolean;\n /**\n * When true, all fields show their validation errors regardless of touched state.\n * Set to true after a failed save attempt; reset on successful save or cancel.\n */\n showValidation?: boolean;\n /**\n * Validation errors from the most recent full-record Validate() call.\n * Fields filter by `ValidationErrorInfo.Source === FieldName` to find their errors.\n */\n validationErrors?: ValidationErrorInfo[];\n /** Whether drag-and-drop section reordering is allowed. Read by panels to show/hide drag handles. */\n allowSectionReorder?: boolean;\n}\n\n/**\n * Result of a form save operation.\n */\nexport interface FormSaveResult {\n /** Whether the save was successful */\n Success: boolean;\n /** Error message if save failed */\n ErrorMessage?: string;\n /** Number of milliseconds the save took */\n DurationMs?: number;\n}\n\n/**\n * Event emitted after a record is saved.\n */\nexport interface RecordSavedEvent {\n EntityName: string;\n RecordId: string;\n /** The display name of the saved record (for tab title updates, etc.) */\n RecordDisplayName?: string;\n Result: FormSaveResult;\n}\n\n/**\n * Event emitted after a record is deleted.\n */\nexport interface RecordDeletedEvent {\n EntityName: string;\n RecordId: string;\n}\n\n/**\n * Event emitted when a record save fails.\n */\nexport interface RecordSaveFailedEvent {\n EntityName: string;\n ErrorMessage: string;\n}\n\n/**\n * Event emitted when a record delete fails.\n */\nexport interface RecordDeleteFailedEvent {\n EntityName: string;\n ErrorMessage: string;\n}\n\n/**\n * Event emitted when validation fails before save.\n */\nexport interface ValidationFailedEvent {\n EntityName: string;\n Errors: string[];\n}\n\n/**\n * Notification event emitted by BaseFormComponent.\n * The host application subscribes and maps to its own notification system (toasts, snackbars, etc.).\n */\nexport interface FormNotificationEvent {\n /** The notification message text */\n Message: string;\n /** Notification severity */\n Type: 'success' | 'error' | 'warning' | 'info';\n /** Duration in milliseconds the notification should display */\n Duration: number;\n}\n\n/**\n * Backward-compatible alias for FormContext.\n * Explorer's BaseFormComponent used this name; new code should use FormContext.\n */\nexport type BaseFormContext = FormContext;\n\n/**\n * Creates a default FormContext with sensible defaults.\n */\nexport function createDefaultFormContext(): FormContext {\n return {\n sectionFilter: '',\n showEmptyFields: false,\n showValidation: false,\n validationErrors: []\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-events.js","sourceRoot":"","sources":["../../../src/lib/types/navigation-events.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"navigation-events.js","sourceRoot":"","sources":["../../../src/lib/types/navigation-events.ts"],"names":[],"mappings":"","sourcesContent":["import { CompositeKey } from '@memberjunction/core';\n\n/**\n * Union type for all navigation event kinds emitted by the forms package.\n * The host application subscribes to these and maps them to its own routing system.\n *\n * @example Explorer integration:\n * ```typescript\n * HandleNavigation(event: FormNavigationEvent): void {\n * switch (event.Kind) {\n * case 'record':\n * this.navigationService.NavigateToRecord(event.EntityName, event.PrimaryKey);\n * break;\n * case 'external-link':\n * window.open(event.Url, '_blank');\n * break;\n * }\n * }\n * ```\n */\nexport type FormNavigationEvent =\n | RecordNavigationEvent\n | ExternalLinkNavigationEvent\n | EmailLinkNavigationEvent\n | EntityHierarchyNavigationEvent\n | ChildEntityTypeNavigationEvent\n | NewRecordNavigationEvent;\n\n/**\n * User clicked a foreign key link to view a related record.\n * Emitted by mj-form-field when a record link is clicked.\n */\nexport interface RecordNavigationEvent {\n Kind: 'record';\n /** The entity name of the target record */\n EntityName: string;\n /** The primary key of the target record */\n PrimaryKey: CompositeKey;\n /** Whether to force opening in a new tab. When omitted, NavigationService uses its default behavior (shift-key detection). */\n OpenInNewTab?: boolean;\n}\n\n/**\n * User clicked an external URL (web link field value).\n */\nexport interface ExternalLinkNavigationEvent {\n Kind: 'external-link';\n /** The URL to navigate to */\n Url: string;\n /** Whether to open in a new tab (default: true for external links) */\n OpenInNewTab?: boolean;\n}\n\n/**\n * User clicked an email link.\n */\nexport interface EmailLinkNavigationEvent {\n Kind: 'email';\n /** The email address to compose a message to */\n EmailAddress: string;\n}\n\n/**\n * User clicked an IS-A parent entity badge in the hierarchy breadcrumb\n * or an \"Inherited from X\" badge in a section header.\n */\nexport interface EntityHierarchyNavigationEvent {\n Kind: 'entity-hierarchy';\n /** The parent entity name to navigate to */\n EntityName: string;\n /** The parent record's primary key (shared PK in IS-A) */\n PrimaryKey: CompositeKey;\n /** 'parent' = navigating up the chain, 'child' = navigating down, 'self' = current entity clicked */\n Direction: 'parent' | 'child' | 'self';\n}\n\n/**\n * User selected a child entity type from the subtypes dropdown.\n * The host app should navigate to a filtered list of those child records.\n */\nexport interface ChildEntityTypeNavigationEvent {\n Kind: 'child-entity-type';\n /** The child entity name selected */\n ChildEntityName: string;\n /** The current (parent) entity name */\n ParentEntityName: string;\n /** The current (parent) record ID for filtering */\n ParentRecordId: string;\n}\n\n/**\n * User wants to create a new related record (from a related entity section).\n */\nexport interface NewRecordNavigationEvent {\n Kind: 'new-record';\n /** The entity name to create a new record for */\n EntityName: string;\n /** Default field values (e.g., foreign key pointing back to current record) */\n DefaultValues: Record<string, unknown>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"toolbar-config.js","sourceRoot":"","sources":["../../../src/lib/types/toolbar-config.ts"],"names":[],"mappings":"AAkFA;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAsB;IACvD,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,IAAI;IACtB,kBAAkB,EAAE,IAAI;IACxB,iBAAiB,EAAE,IAAI;IACvB,cAAc,EAAE,IAAI;IACpB,mBAAmB,EAAE,IAAI;IACzB,mBAAmB,EAAE,IAAI;IACzB,cAAc,EAAE,IAAI;IACpB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,mBAAmB,EAAE,IAAI;IACzB,kBAAkB,EAAE,IAAI;IACxB,aAAa,EAAE,IAAI;IACnB,iBAAiB,EAAE,IAAI;IACvB,aAAa,EAAE,EAAE;CAClB,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,IAAI;IACtB,kBAAkB,EAAE,IAAI;IACxB,iBAAiB,EAAE,IAAI;IACvB,cAAc,EAAE,IAAI;IACpB,mBAAmB,EAAE,IAAI;IACzB,mBAAmB,EAAE,IAAI;IACzB,cAAc,EAAE,IAAI;IACpB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,mBAAmB,EAAE,IAAI;IACzB,kBAAkB,EAAE,IAAI;IACxB,aAAa,EAAE,IAAI;IACnB,iBAAiB,EAAE,IAAI;IACvB,aAAa,EAAE,EAAE;CAClB,CAAC"}
1
+ {"version":3,"file":"toolbar-config.js","sourceRoot":"","sources":["../../../src/lib/types/toolbar-config.ts"],"names":[],"mappings":"AAkFA;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAsB;IACvD,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,IAAI;IACtB,kBAAkB,EAAE,IAAI;IACxB,iBAAiB,EAAE,IAAI;IACvB,cAAc,EAAE,IAAI;IACpB,mBAAmB,EAAE,IAAI;IACzB,mBAAmB,EAAE,IAAI;IACzB,cAAc,EAAE,IAAI;IACpB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,mBAAmB,EAAE,IAAI;IACzB,kBAAkB,EAAE,IAAI;IACxB,aAAa,EAAE,IAAI;IACnB,iBAAiB,EAAE,IAAI;IACvB,aAAa,EAAE,EAAE;CAClB,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,IAAI;IACtB,kBAAkB,EAAE,IAAI;IACxB,iBAAiB,EAAE,IAAI;IACvB,cAAc,EAAE,IAAI;IACpB,mBAAmB,EAAE,IAAI;IACzB,mBAAmB,EAAE,IAAI;IACzB,cAAc,EAAE,IAAI;IACpB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,mBAAmB,EAAE,IAAI;IACzB,kBAAkB,EAAE,IAAI;IACxB,aAAa,EAAE,IAAI;IACnB,iBAAiB,EAAE,IAAI;IACvB,aAAa,EAAE,EAAE;CAClB,CAAC","sourcesContent":["import { TemplateRef } from '@angular/core';\nimport { CustomToolbarButton } from './form-events';\n\n/**\n * Configuration object for the form toolbar.\n * Controls which buttons/sections are visible and behavioral options.\n *\n * Pass to `<mj-form-toolbar [config]=\"toolbarConfig\">` to customize the toolbar.\n * Use `DEFAULT_TOOLBAR_CONFIG` as a starting point and override specific properties.\n *\n * @example\n * ```typescript\n * const myConfig: FormToolbarConfig = {\n * ...DEFAULT_TOOLBAR_CONFIG,\n * ShowDeleteButton: false, // Hide delete for this form\n * ShowEntityHierarchy: true, // Show IS-A breadcrumb\n * ShowFavoriteButton: false, // No favorites in this app\n * };\n * ```\n */\nexport interface FormToolbarConfig {\n // ---- Visibility ----\n\n /** Show the Edit button in read mode. Default: true */\n ShowEditButton: boolean;\n\n /** Show the Delete button in read mode. Default: true */\n ShowDeleteButton: boolean;\n\n /** Show the Favorite/Unfavorite button. Default: true */\n ShowFavoriteButton: boolean;\n\n /** Show the Record History button (only if entity tracks changes). Default: true */\n ShowHistoryButton: boolean;\n\n /** Show the Lists button for managing list membership. Default: true */\n ShowListButton: boolean;\n\n /** Show the IS-A entity hierarchy breadcrumb. Default: true */\n ShowEntityHierarchy: boolean;\n\n /** Show section controls (search, expand/collapse, count). Default: true */\n ShowSectionControls: boolean;\n\n /** Show the edit banner when entering edit mode. Default: true */\n ShowEditBanner: boolean;\n\n /** Show the \"Changes\" button when record is dirty in edit mode. Default: true */\n ShowChangesButton: boolean;\n\n /** Show the section search/filter input. Default: true */\n ShowSectionFilter: boolean;\n\n /** Allow drag-and-drop section reordering. Default: true */\n AllowSectionReorder: boolean;\n\n /** Show the \"Manage Sections\" button (section manager drawer). Default: true */\n ShowSectionManager: boolean;\n\n // ---- Behavior ----\n\n /**\n * Whether the toolbar should be sticky at the top when scrolling.\n * Default: true\n */\n StickyToolbar: boolean;\n\n // ---- Custom Slots ----\n\n /**\n * Optional template reference for additional toolbar actions.\n * Rendered after the standard buttons via ng-content or TemplateRef.\n */\n AdditionalActions: TemplateRef<unknown> | null;\n\n /**\n * Custom toolbar buttons to display in the read-mode toolbar.\n * Shown after the standard buttons (edit, delete, favorite, history, lists).\n */\n CustomButtons: CustomToolbarButton[];\n}\n\n/**\n * Default toolbar configuration - everything visible and sticky.\n * Use as a base and override individual properties.\n */\nexport const DEFAULT_TOOLBAR_CONFIG: FormToolbarConfig = {\n ShowEditButton: true,\n ShowDeleteButton: true,\n ShowFavoriteButton: true,\n ShowHistoryButton: true,\n ShowListButton: true,\n ShowEntityHierarchy: true,\n ShowSectionControls: true,\n ShowEditBanner: true,\n ShowChangesButton: true,\n ShowSectionFilter: true,\n AllowSectionReorder: true,\n ShowSectionManager: true,\n StickyToolbar: true,\n AdditionalActions: null,\n CustomButtons: []\n};\n\n/**\n * Toolbar config for use inside MJ Explorer where favorites, history, and\n * list management are handled by the host app.\n * Pass as `[ToolbarConfig]=\"EXPLORER_TOOLBAR_CONFIG\"` on the container.\n */\nexport const EXPLORER_TOOLBAR_CONFIG: FormToolbarConfig = {\n ShowEditButton: true,\n ShowDeleteButton: true,\n ShowFavoriteButton: true,\n ShowHistoryButton: true,\n ShowListButton: true,\n ShowEntityHierarchy: true,\n ShowSectionControls: true,\n ShowEditBanner: true,\n ShowChangesButton: true,\n ShowSectionFilter: true,\n AllowSectionReorder: true,\n ShowSectionManager: true,\n StickyToolbar: true,\n AdditionalActions: null,\n CustomButtons: []\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAC/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,qDAAqD,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;;AAEtE;;;;;;;;;;;;;;;;;;GAkBG;AAgCH,MAAM,OAAO,eAAe;yGAAf,eAAe;4DAAf,eAAe;gEAlBxB,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,oBAAoB;YACpB,kBAAkB;;iFAcT,eAAe;cA/B3B,QAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,sBAAsB;oBACtB,oBAAoB;oBACpB,2BAA2B;oBAC3B,8BAA8B;oBAC9B,yBAAyB;oBACzB,sBAAsB;oBACtB,+BAA+B;oBAC/B,yBAAyB;oBACzB,0BAA0B;iBAC3B;gBACD,OAAO,EAAE;oBACP,YAAY;oBACZ,WAAW;oBACX,mBAAmB;oBACnB,oBAAoB;oBACpB,kBAAkB;iBACnB;gBACD,OAAO,EAAE;oBACP,sBAAsB;oBACtB,oBAAoB;oBACpB,2BAA2B;oBAC3B,8BAA8B;oBAC9B,yBAAyB;oBACzB,sBAAsB;oBACtB,+BAA+B;oBAC/B,yBAAyB;oBACzB,0BAA0B;iBAC3B;aACF;;wFACY,eAAe,mBA7BxB,sBAAsB;QACtB,oBAAoB;QACpB,2BAA2B;QAC3B,8BAA8B;QAC9B,yBAAyB;QACzB,sBAAsB;QACtB,+BAA+B;QAC/B,yBAAyB;QACzB,0BAA0B,aAG1B,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,oBAAoB;QACpB,kBAAkB,aAGlB,sBAAsB;QACtB,oBAAoB;QACpB,2BAA2B;QAC3B,8BAA8B;QAC9B,yBAAyB;QACzB,sBAAsB;QACtB,+BAA+B;QAC/B,yBAAyB;QACzB,0BAA0B"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAC/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,qDAAqD,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;;AAEtE;;;;;;;;;;;;;;;;;;GAkBG;AAgCH,MAAM,OAAO,eAAe;yGAAf,eAAe;4DAAf,eAAe;gEAlBxB,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,oBAAoB;YACpB,kBAAkB;;iFAcT,eAAe;cA/B3B,QAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,sBAAsB;oBACtB,oBAAoB;oBACpB,2BAA2B;oBAC3B,8BAA8B;oBAC9B,yBAAyB;oBACzB,sBAAsB;oBACtB,+BAA+B;oBAC/B,yBAAyB;oBACzB,0BAA0B;iBAC3B;gBACD,OAAO,EAAE;oBACP,YAAY;oBACZ,WAAW;oBACX,mBAAmB;oBACnB,oBAAoB;oBACpB,kBAAkB;iBACnB;gBACD,OAAO,EAAE;oBACP,sBAAsB;oBACtB,oBAAoB;oBACpB,2BAA2B;oBAC3B,8BAA8B;oBAC9B,yBAAyB;oBACzB,sBAAsB;oBACtB,+BAA+B;oBAC/B,yBAAyB;oBACzB,0BAA0B;iBAC3B;aACF;;wFACY,eAAe,mBA7BxB,sBAAsB;QACtB,oBAAoB;QACpB,2BAA2B;QAC3B,8BAA8B;QAC9B,yBAAyB;QACzB,sBAAsB;QACtB,+BAA+B;QAC/B,yBAAyB;QACzB,0BAA0B,aAG1B,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,oBAAoB;QACpB,kBAAkB,aAGlB,sBAAsB;QACtB,oBAAoB;QACpB,2BAA2B;QAC3B,8BAA8B;QAC9B,yBAAyB;QACzB,sBAAsB;QACtB,+BAA+B;QAC/B,yBAAyB;QACzB,0BAA0B","sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { MjFormToolbarComponent } from './lib/toolbar/form-toolbar.component';\nimport { MjFormFieldComponent } from './lib/field/form-field.component';\nimport { MjCollapsiblePanelComponent } from './lib/panel/collapsible-panel.component';\nimport { MjRecordFormContainerComponent } from './lib/container/record-form-container.component';\nimport { MjSectionManagerComponent } from './lib/section-manager/section-manager.component';\nimport { SectionLoaderComponent } from './lib/section-loader-component';\nimport { ExplorerEntityDataGridComponent } from './lib/explorer-entity-data-grid.component';\nimport { MjIsaRelatedCardComponent } from './lib/isa-related-panel/isa-related-card.component';\nimport { MjIsaRelatedPanelComponent } from './lib/isa-related-panel/isa-related-panel.component';\nimport { RecordChangesModule } from '@memberjunction/ng-record-changes';\nimport { ListManagementModule } from '@memberjunction/ng-list-management';\nimport { EntityViewerModule } from '@memberjunction/ng-entity-viewer';\n\n/**\n * BaseFormsModule - Form components and base classes for rendering and editing MemberJunction entity records.\n *\n * Provides:\n * - **MjRecordFormContainerComponent** (`<mj-record-form-container>`): Top-level container\n * with sticky toolbar, section state management, and content slots.\n * - **MjFormToolbarComponent** (`<mj-form-toolbar>`): Configurable toolbar with read/edit mode\n * actions, IS-A hierarchy breadcrumb, section controls, and inline delete dialog.\n * - **MjCollapsiblePanelComponent** (`<mj-collapsible-panel>`): Collapsible section with\n * drag-to-reorder, search filtering, and inherited/related variants.\n * - **MjFormFieldComponent** (`<mj-form-field>`): Entity field renderer with clean read-only\n * display and modern edit-mode inputs (native HTML with custom select and autocomplete).\n * - **SectionLoaderComponent** (`<mj-form-section>`): Dynamic section loader via ClassFactory.\n * - **ExplorerEntityDataGridComponent** (`<mj-explorer-entity-data-grid>`): Data grid wrapper\n * for related entity sections with Navigate event support.\n *\n * All navigation actions are emitted as events via {@link FormNavigationEvent}.\n * The host application subscribes and maps to its own routing system.\n */\n@NgModule({\n declarations: [\n MjFormToolbarComponent,\n MjFormFieldComponent,\n MjCollapsiblePanelComponent,\n MjRecordFormContainerComponent,\n MjSectionManagerComponent,\n SectionLoaderComponent,\n ExplorerEntityDataGridComponent,\n MjIsaRelatedCardComponent,\n MjIsaRelatedPanelComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n RecordChangesModule,\n ListManagementModule,\n EntityViewerModule\n ],\n exports: [\n MjFormToolbarComponent,\n MjFormFieldComponent,\n MjCollapsiblePanelComponent,\n MjRecordFormContainerComponent,\n MjSectionManagerComponent,\n SectionLoaderComponent,\n ExplorerEntityDataGridComponent,\n MjIsaRelatedCardComponent,\n MjIsaRelatedPanelComponent\n ]\n})\nexport class BaseFormsModule { }\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,SAAS;AACT,cAAc,UAAU,CAAC;AAEzB,uBAAuB;AACvB,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AAExC,eAAe;AACf,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAE7C,mBAAmB;AACnB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AAEzC,aAAa;AACb,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yCAAyC,CAAC;AACxD,cAAc,iDAAiD,CAAC;AAChE,cAAc,iDAAiD,CAAC;AAChE,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oDAAoD,CAAC;AACnE,cAAc,qDAAqD,CAAC"}
1
+ {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,SAAS;AACT,cAAc,UAAU,CAAC;AAEzB,uBAAuB;AACvB,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AAExC,eAAe;AACf,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAE7C,mBAAmB;AACnB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AAEzC,aAAa;AACb,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yCAAyC,CAAC;AACxD,cAAc,iDAAiD,CAAC;AAChE,cAAc,iDAAiD,CAAC;AAChE,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oDAAoD,CAAC;AACnE,cAAc,qDAAqD,CAAC","sourcesContent":["/**\n * @memberjunction/ng-base-forms\n *\n * Modern form components for rendering and editing MemberJunction entity records.\n * Provides configurable toolbar, inline-editing fields, collapsible panels with\n * IS-A inheritance support, and event-driven navigation.\n *\n * Zero Explorer dependencies - usable in any Angular application.\n * Uses only native HTML elements with custom styling (no PrimeNG dependency).\n */\n\n// Module\nexport * from './module';\n\n// Types and interfaces\nexport * from './lib/types/form-types';\nexport * from './lib/types/navigation-events';\nexport * from './lib/types/toolbar-config';\nexport * from './lib/types/form-events';\n\n// Base classes\nexport * from './lib/base-record-component';\nexport * from './lib/base-form-component';\nexport * from './lib/base-form-section-component';\nexport * from './lib/base-form-section-info';\n\n// State management\nexport * from './lib/form-state.interface';\nexport * from './lib/form-state.service';\n\n// Components\nexport * from './lib/toolbar/form-toolbar.component';\nexport * from './lib/field/form-field.component';\nexport * from './lib/panel/collapsible-panel.component';\nexport * from './lib/container/record-form-container.component';\nexport * from './lib/section-manager/section-manager.component';\nexport * from './lib/section-loader-component';\nexport * from './lib/explorer-entity-data-grid.component';\nexport * from './lib/isa-related-panel/isa-hierarchy-utils';\nexport * from './lib/isa-related-panel/isa-related-card.component';\nexport * from './lib/isa-related-panel/isa-related-panel.component';\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-base-forms",
3
- "version": "5.3.0",
3
+ "version": "5.4.0",
4
4
  "description": "MemberJunction: Generic Angular form components for rendering and editing entity records. Provides configurable toolbar, modern form fields (PrimeNG unstyled), collapsible panels with IS-A inheritance support, and event-driven navigation. Zero Explorer dependencies - usable in any Angular application.",
5
5
  "main": "./dist/public-api.js",
6
6
  "typings": "./dist/public-api.d.ts",
@@ -35,13 +35,13 @@
35
35
  "primeng": "21.1.1"
36
36
  },
37
37
  "dependencies": {
38
- "@memberjunction/core": "5.3.0",
39
- "@memberjunction/core-entities": "5.3.0",
40
- "@memberjunction/global": "5.3.0",
41
- "@memberjunction/ng-base-types": "5.3.0",
42
- "@memberjunction/ng-list-management": "5.3.0",
43
- "@memberjunction/ng-record-changes": "5.3.0",
44
- "@memberjunction/ng-entity-viewer": "5.3.0",
38
+ "@memberjunction/core": "5.4.0",
39
+ "@memberjunction/core-entities": "5.4.0",
40
+ "@memberjunction/global": "5.4.0",
41
+ "@memberjunction/ng-base-types": "5.4.0",
42
+ "@memberjunction/ng-list-management": "5.4.0",
43
+ "@memberjunction/ng-record-changes": "5.4.0",
44
+ "@memberjunction/ng-entity-viewer": "5.4.0",
45
45
  "rxjs": "^7.8.2",
46
46
  "tslib": "^2.8.1"
47
47
  },