@memberjunction/ng-ui-components 0.0.1 → 5.23.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.
- package/dist/lib/accordion/accordion.component.d.ts +58 -0
- package/dist/lib/accordion/accordion.component.d.ts.map +1 -0
- package/dist/lib/accordion/accordion.component.js +163 -0
- package/dist/lib/accordion/accordion.component.js.map +1 -0
- package/dist/lib/accordion/accordion.scss +45 -0
- package/dist/lib/button/button.directive.d.ts +45 -0
- package/dist/lib/button/button.directive.d.ts.map +1 -0
- package/dist/lib/button/button.directive.js +114 -0
- package/dist/lib/button/button.directive.js.map +1 -0
- package/dist/lib/button/button.scss +250 -0
- package/dist/lib/calendar/calendar-utils.d.ts +16 -0
- package/dist/lib/calendar/calendar-utils.d.ts.map +1 -0
- package/dist/lib/calendar/calendar-utils.js +41 -0
- package/dist/lib/calendar/calendar-utils.js.map +1 -0
- package/dist/lib/combobox/combobox.component.d.ts +83 -0
- package/dist/lib/combobox/combobox.component.d.ts.map +1 -0
- package/dist/lib/combobox/combobox.component.js +483 -0
- package/dist/lib/combobox/combobox.component.js.map +1 -0
- package/dist/lib/combobox/combobox.scss +86 -0
- package/dist/lib/datepicker/datepicker.component.d.ts +50 -0
- package/dist/lib/datepicker/datepicker.component.d.ts.map +1 -0
- package/dist/lib/datepicker/datepicker.component.js +279 -0
- package/dist/lib/datepicker/datepicker.component.js.map +1 -0
- package/dist/lib/datepicker/datepicker.scss +60 -0
- package/dist/lib/dialog/dialog.component.d.ts +84 -0
- package/dist/lib/dialog/dialog.component.d.ts.map +1 -0
- package/dist/lib/dialog/dialog.component.js +285 -0
- package/dist/lib/dialog/dialog.component.js.map +1 -0
- package/dist/lib/dialog/dialog.scss +134 -0
- package/dist/lib/dialog/dialog.service.d.ts +114 -0
- package/dist/lib/dialog/dialog.service.d.ts.map +1 -0
- package/dist/lib/dialog/dialog.service.js +282 -0
- package/dist/lib/dialog/dialog.service.js.map +1 -0
- package/dist/lib/dropdown/dropdown.component.d.ts +75 -0
- package/dist/lib/dropdown/dropdown.component.d.ts.map +1 -0
- package/dist/lib/dropdown/dropdown.component.js +445 -0
- package/dist/lib/dropdown/dropdown.component.js.map +1 -0
- package/dist/lib/dropdown/dropdown.scss +68 -0
- package/dist/lib/input/chip.scss +64 -0
- package/dist/lib/input/input-switch-progress.scss +57 -0
- package/dist/lib/input/input.scss +77 -0
- package/dist/lib/numeric-input/numeric-input.component.d.ts +31 -0
- package/dist/lib/numeric-input/numeric-input.component.d.ts.map +1 -0
- package/dist/lib/numeric-input/numeric-input.component.js +103 -0
- package/dist/lib/numeric-input/numeric-input.component.js.map +1 -0
- package/dist/lib/progress-bar/progress-bar.component.d.ts +14 -0
- package/dist/lib/progress-bar/progress-bar.component.d.ts.map +1 -0
- package/dist/lib/progress-bar/progress-bar.component.js +62 -0
- package/dist/lib/progress-bar/progress-bar.component.js.map +1 -0
- package/dist/lib/splitter/splitter.component.d.ts +23 -0
- package/dist/lib/splitter/splitter.component.d.ts.map +1 -0
- package/dist/lib/splitter/splitter.component.js +24 -0
- package/dist/lib/splitter/splitter.component.js.map +1 -0
- package/dist/lib/splitter/splitter.scss +29 -0
- package/dist/lib/switch/switch.component.d.ts +24 -0
- package/dist/lib/switch/switch.component.d.ts.map +1 -0
- package/dist/lib/switch/switch.component.js +82 -0
- package/dist/lib/switch/switch.component.js.map +1 -0
- package/dist/lib/window/window.component.d.ts +115 -0
- package/dist/lib/window/window.component.d.ts.map +1 -0
- package/dist/lib/window/window.component.js +502 -0
- package/dist/lib/window/window.component.js.map +1 -0
- package/dist/lib/window/window.scss +97 -0
- package/dist/public-api.d.ts +14 -0
- package/dist/public-api.d.ts.map +1 -0
- package/dist/public-api.js +16 -0
- package/dist/public-api.js.map +1 -0
- package/package.json +39 -6
- package/README.md +0 -45
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"window.component.js","sourceRoot":"","sources":["../../../src/lib/window/window.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, HostListener, OnDestroy, ElementRef, ChangeDetectorRef, NgZone, inject } from '@angular/core';\n\n/**\n * mj-window — Floating window panel. Replaces `<kendo-window>`.\n *\n * Unlike mj-dialog, this does NOT have a backdrop and does NOT block interaction\n * with the rest of the page. It's a floating panel, similar to Kendo's Window.\n *\n * Supports dragging (via titlebar), resizing (via edges/corners), minimize, and maximize.\n *\n * @example\n * ```html\n * <mj-window [Visible]=\"showWindow\" Title=\"Details\" [Width]=\"600\" [Height]=\"400\"\n * [Draggable]=\"true\" [Resizable]=\"true\" (Close)=\"onClose()\"\n * (StateChange)=\"onStateChange($event)\">\n * <p>Window content</p>\n * </mj-window>\n * ```\n */\n@Component({\n selector: 'mj-window',\n standalone: true,\n template: `\n @if (Visible) {\n <div class=\"mj-window\"\n [class.mj-window--maximized]=\"State === 'maximized'\"\n [class.mj-window--draggable]=\"Draggable\"\n [class.mj-window--resizable]=\"Resizable && State !== 'maximized'\"\n [style.width]=\"State === 'maximized' ? '100vw' : resolvedWidth\"\n [style.height]=\"State === 'maximized' ? '100vh' : resolvedHeight\"\n [style.top]=\"State === 'maximized' ? '0' : resolvedTop\"\n [style.left]=\"State === 'maximized' ? '0' : resolvedLeft\"\n [style.transform]=\"ResolvedTransform\"\n [style.min-width]=\"MinWidth ? MinWidth + 'px' : null\"\n [style.min-height]=\"MinHeight ? MinHeight + 'px' : null\"\n [style.max-width]=\"State === 'maximized' ? '100vw' : '90vw'\"\n [style.max-height]=\"State === 'maximized' ? '100vh' : '90vh'\"\n [style.border-radius]=\"State === 'maximized' ? '0' : null\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"Title ? 'mj-window-title-' + WindowId : null\">\n\n <!-- Resize handles -->\n @if (Resizable && State !== 'maximized') {\n <div class=\"mj-window-resize mj-window-resize--n\" (mousedown)=\"OnResizeStart($event, 'n')\"></div>\n <div class=\"mj-window-resize mj-window-resize--s\" (mousedown)=\"OnResizeStart($event, 's')\"></div>\n <div class=\"mj-window-resize mj-window-resize--e\" (mousedown)=\"OnResizeStart($event, 'e')\"></div>\n <div class=\"mj-window-resize mj-window-resize--w\" (mousedown)=\"OnResizeStart($event, 'w')\"></div>\n <div class=\"mj-window-resize mj-window-resize--ne\" (mousedown)=\"OnResizeStart($event, 'ne')\"></div>\n <div class=\"mj-window-resize mj-window-resize--nw\" (mousedown)=\"OnResizeStart($event, 'nw')\"></div>\n <div class=\"mj-window-resize mj-window-resize--se\" (mousedown)=\"OnResizeStart($event, 'se')\"></div>\n <div class=\"mj-window-resize mj-window-resize--sw\" (mousedown)=\"OnResizeStart($event, 'sw')\"></div>\n }\n\n <div class=\"mj-window-titlebar\"\n (mousedown)=\"OnDragStart($event)\">\n @if (Title) {\n <h3 class=\"mj-window-title\" [id]=\"'mj-window-title-' + WindowId\">{{ Title }}</h3>\n }\n <ng-content select=\"mj-window-titlebar\"></ng-content>\n <button class=\"mj-window-close\" (click)=\"OnCloseClick()\" (mousedown)=\"$event.stopPropagation()\" aria-label=\"Close window\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n\n <div class=\"mj-window-body\">\n <ng-content></ng-content>\n </div>\n\n <ng-content select=\"mj-window-actions\"></ng-content>\n </div>\n }\n `\n})\nexport class MJWindowComponent implements OnDestroy {\n private _visible = false;\n private static nextId = 0;\n\n @Input()\n set Visible(value: boolean) { this._visible = value; }\n get Visible(): boolean { return this._visible; }\n\n @Input() Title = '';\n @Input()\n set Width(value: number | string | null) {\n this._width = value;\n if (value != null) this.currentWidth = this.parseSize(value);\n }\n get Width(): number | string | null { return this._width; }\n\n @Input()\n set Height(value: number | string | null) {\n this._height = value;\n if (value != null) this.currentHeight = this.parseSize(value);\n }\n get Height(): number | string | null { return this._height; }\n @Input()\n set Top(value: number | null) { if (value != null) this.currentTop = value; }\n get Top(): number | null { return this.currentTop; }\n\n @Input()\n set Left(value: number | null) { if (value != null) this.currentLeft = value; }\n get Left(): number | null { return this.currentLeft; }\n @Input() MinWidth: number | null = null;\n @Input() MinHeight: number | null = null;\n @Input() Draggable = false;\n @Input() Resizable = false;\n\n /** Window state: 'default' or 'maximized'. */\n @Input()\n set State(value: 'default' | 'maximized') {\n if (value !== this._state) {\n if (value === 'maximized') {\n this.savedTop = this.currentTop;\n this.savedLeft = this.currentLeft;\n this.savedWidth = this.currentWidth;\n this.savedHeight = this.currentHeight;\n } else if (this._state === 'maximized') {\n this.currentTop = this.savedTop;\n this.currentLeft = this.savedLeft;\n this.currentWidth = this.savedWidth;\n this.currentHeight = this.savedHeight;\n }\n this._state = value;\n this.StateChange.emit(value);\n }\n }\n get State(): 'default' | 'maximized' { return this._state; }\n\n @Output() Close = new EventEmitter<void>();\n @Output() StateChange = new EventEmitter<'default' | 'maximized'>();\n @Output() Resize = new EventEmitter<void>();\n\n WindowId = MJWindowComponent.nextId++;\n\n // Internal position/size tracking\n private _state: 'default' | 'maximized' = 'default';\n private _width: number | string | null = null;\n private _height: number | string | null = null;\n private currentTop: number | null = null;\n private currentLeft: number | null = null;\n private currentWidth: number | null = null;\n private currentHeight: number | null = null;\n\n // Saved dimensions for restore from maximize\n private savedTop: number | null = null;\n private savedLeft: number | null = null;\n private savedWidth: number | null = null;\n private savedHeight: number | null = null;\n\n // Drag state\n private isDragging = false;\n private dragStartX = 0;\n private dragStartY = 0;\n private dragStartTop = 0;\n private dragStartLeft = 0;\n\n // Resize state\n private isResizing = false;\n private resizeDirection = '';\n private resizeStartX = 0;\n private resizeStartY = 0;\n private resizeStartWidth = 0;\n private resizeStartHeight = 0;\n private resizeStartTop = 0;\n private resizeStartLeft = 0;\n\n private boundOnMouseMove: ((e: MouseEvent) => void) | null = null;\n private boundOnMouseUp: ((e: MouseEvent) => void) | null = null;\n\n private elementRef = inject(ElementRef);\n private cdr = inject(ChangeDetectorRef);\n private ngZone = inject(NgZone);\n\n get hasExplicitPosition(): boolean {\n return this.currentTop != null && this.currentLeft != null;\n }\n\n get ResolvedTransform(): string {\n if (this.State === 'maximized') return 'none';\n const hasTop = this.currentTop != null;\n const hasLeft = this.currentLeft != null;\n if (hasTop && hasLeft) return 'none';\n if (hasTop && !hasLeft) return 'translateX(-50%)';\n if (!hasTop && hasLeft) return 'translateY(-50%)';\n return 'translate(-50%, -50%)';\n }\n\n get resolvedWidth(): string {\n if (this.currentWidth != null) return `${this.currentWidth}px`;\n if (this.Width) return typeof this.Width === 'number' ? `${this.Width}px` : this.Width;\n return '500px';\n }\n\n get resolvedHeight(): string {\n if (this.currentHeight != null) return `${this.currentHeight}px`;\n if (this.Height) return typeof this.Height === 'number' ? `${this.Height}px` : this.Height;\n return 'auto';\n }\n\n get resolvedTop(): string {\n return this.currentTop != null ? `${this.currentTop}px` : '50%';\n }\n\n get resolvedLeft(): string {\n return this.currentLeft != null ? `${this.currentLeft}px` : '50%';\n }\n\n @HostListener('document:keydown.escape')\n OnEscapeKey(): void {\n if (this.Visible) this.OnCloseClick();\n }\n\n OnCloseClick(): void {\n this.Close.emit();\n }\n\n // --- Drag handling ---\n\n OnDragStart(event: MouseEvent): void {\n if (!this.Draggable || this.State === 'maximized') return;\n // Don't drag if clicking buttons inside titlebar\n if ((event.target as HTMLElement).closest('button')) return;\n\n event.preventDefault();\n this.isDragging = true;\n this.dragStartX = event.clientX;\n this.dragStartY = event.clientY;\n\n const windowEl = this.getWindowElement();\n if (windowEl) {\n const rect = windowEl.getBoundingClientRect();\n this.dragStartTop = rect.top;\n this.dragStartLeft = rect.left;\n\n // Ensure we're using absolute positioning once dragging starts\n if (this.currentTop == null) {\n this.currentTop = rect.top;\n this.currentLeft = rect.left;\n this.cdr.detectChanges();\n }\n }\n\n this.attachMouseListeners();\n }\n\n // --- Resize handling ---\n\n OnResizeStart(event: MouseEvent, direction: string): void {\n if (!this.Resizable || this.State === 'maximized') return;\n event.preventDefault();\n event.stopPropagation();\n\n this.isResizing = true;\n this.resizeDirection = direction;\n this.resizeStartX = event.clientX;\n this.resizeStartY = event.clientY;\n\n const windowEl = this.getWindowElement();\n if (windowEl) {\n const rect = windowEl.getBoundingClientRect();\n this.resizeStartWidth = rect.width;\n this.resizeStartHeight = rect.height;\n this.resizeStartTop = rect.top;\n this.resizeStartLeft = rect.left;\n\n // Ensure absolute positioning\n if (this.currentTop == null) {\n this.currentTop = rect.top;\n this.currentLeft = rect.left;\n }\n if (this.currentWidth == null) {\n this.currentWidth = rect.width;\n }\n if (this.currentHeight == null) {\n this.currentHeight = rect.height;\n }\n }\n\n this.attachMouseListeners();\n }\n\n private attachMouseListeners(): void {\n this.ngZone.runOutsideAngular(() => {\n this.boundOnMouseMove = (e: MouseEvent) => this.onMouseMove(e);\n this.boundOnMouseUp = (e: MouseEvent) => this.onMouseUp(e);\n document.addEventListener('mousemove', this.boundOnMouseMove);\n document.addEventListener('mouseup', this.boundOnMouseUp);\n });\n }\n\n private onMouseMove(event: MouseEvent): void {\n if (this.isDragging) {\n const dx = event.clientX - this.dragStartX;\n const dy = event.clientY - this.dragStartY;\n this.currentTop = Math.max(0, this.dragStartTop + dy);\n this.currentLeft = Math.max(0, this.dragStartLeft + dx);\n this.ngZone.run(() => this.cdr.detectChanges());\n } else if (this.isResizing) {\n this.handleResize(event);\n this.ngZone.run(() => {\n this.cdr.detectChanges();\n this.Resize.emit();\n });\n }\n }\n\n private handleResize(event: MouseEvent): void {\n const dx = event.clientX - this.resizeStartX;\n const dy = event.clientY - this.resizeStartY;\n const minW = this.MinWidth || 200;\n const minH = this.MinHeight || 150;\n const dir = this.resizeDirection;\n\n if (dir.includes('e')) {\n this.currentWidth = Math.max(minW, this.resizeStartWidth + dx);\n }\n if (dir.includes('w')) {\n const newWidth = Math.max(minW, this.resizeStartWidth - dx);\n this.currentLeft = this.resizeStartLeft + (this.resizeStartWidth - newWidth);\n this.currentWidth = newWidth;\n }\n if (dir.includes('s')) {\n this.currentHeight = Math.max(minH, this.resizeStartHeight + dy);\n }\n if (dir.includes('n')) {\n const newHeight = Math.max(minH, this.resizeStartHeight - dy);\n this.currentTop = this.resizeStartTop + (this.resizeStartHeight - newHeight);\n this.currentHeight = newHeight;\n }\n }\n\n private onMouseUp(_event: MouseEvent): void {\n this.isDragging = false;\n this.isResizing = false;\n this.detachMouseListeners();\n }\n\n private detachMouseListeners(): void {\n if (this.boundOnMouseMove) {\n document.removeEventListener('mousemove', this.boundOnMouseMove);\n this.boundOnMouseMove = null;\n }\n if (this.boundOnMouseUp) {\n document.removeEventListener('mouseup', this.boundOnMouseUp);\n this.boundOnMouseUp = null;\n }\n }\n\n private getWindowElement(): HTMLElement | null {\n return this.elementRef.nativeElement.querySelector('.mj-window');\n }\n\n private parseSize(value: string | number): number | null {\n if (typeof value === 'number') return value;\n if (value.endsWith('vw')) return (parseFloat(value) / 100) * window.innerWidth;\n if (value.endsWith('vh')) return (parseFloat(value) / 100) * window.innerHeight;\n if (value.endsWith('px')) return parseFloat(value);\n const parsed = parseFloat(value);\n return isNaN(parsed) ? null : parsed;\n }\n\n /** Programmatic method to update position */\n SetPosition(top: number, left: number): void {\n this.currentTop = top;\n this.currentLeft = left;\n this.cdr.detectChanges();\n }\n\n /** Programmatic method to update size */\n SetSize(width: number, height: number): void {\n this.currentWidth = width;\n this.currentHeight = height;\n this.cdr.detectChanges();\n }\n\n /** Get the current window element for DOM queries */\n GetWindowElement(): HTMLElement | null {\n return this.getWindowElement();\n }\n\n ngOnDestroy(): void {\n this.detachMouseListeners();\n }\n}\n\n/**\n * mj-window-titlebar — Custom titlebar for mj-window. Replaces `<kendo-window-titlebar>`.\n */\n@Component({\n selector: 'mj-window-titlebar',\n standalone: true,\n template: `<ng-content></ng-content>`,\n styles: [`:host { display: contents; }`]\n})\nexport class MJWindowTitlebarComponent {}\n\n/**\n * mj-window-actions — Footer actions for mj-window.\n */\n@Component({\n selector: 'mj-window-actions',\n standalone: true,\n template: `<div class=\"mj-window-actions\"><ng-content></ng-content></div>`\n})\nexport class MJWindowActionsComponent {}\n"]}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MJ Window Styles
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
.mj-window {
|
|
6
|
+
position: fixed;
|
|
7
|
+
top: 50%;
|
|
8
|
+
left: 50%;
|
|
9
|
+
transform: translate(-50%, -50%);
|
|
10
|
+
z-index: 10000;
|
|
11
|
+
display: flex;
|
|
12
|
+
flex-direction: column;
|
|
13
|
+
background: var(--mj-bg-surface);
|
|
14
|
+
border: 1px solid var(--mj-border-default);
|
|
15
|
+
border-radius: var(--mj-radius-lg);
|
|
16
|
+
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
|
|
17
|
+
overflow: hidden;
|
|
18
|
+
max-width: 90vw;
|
|
19
|
+
max-height: 90vh;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.mj-window--maximized {
|
|
23
|
+
border-radius: 0;
|
|
24
|
+
max-width: 100vw;
|
|
25
|
+
max-height: 100vh;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.mj-window--draggable .mj-window-titlebar {
|
|
29
|
+
cursor: move;
|
|
30
|
+
user-select: none;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.mj-window-titlebar {
|
|
34
|
+
display: flex; align-items: center; justify-content: space-between;
|
|
35
|
+
padding: 12px 16px; border-bottom: 1px solid var(--mj-border-default);
|
|
36
|
+
background: var(--mj-bg-surface-card); flex-shrink: 0;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.mj-window-title {
|
|
40
|
+
margin: 0; font-size: 1rem; font-weight: var(--mj-font-semibold);
|
|
41
|
+
color: var(--mj-text-primary); flex: 1;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.mj-window-close {
|
|
45
|
+
display: flex; align-items: center; justify-content: center;
|
|
46
|
+
width: 28px; height: 28px; border: none; background: none;
|
|
47
|
+
cursor: pointer; color: var(--mj-text-muted); border-radius: var(--mj-radius-sm);
|
|
48
|
+
transition: var(--mj-transition-colors); margin-left: 8px;
|
|
49
|
+
&:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.mj-window-body { flex: 1; overflow-y: auto; padding: 16px; }
|
|
53
|
+
|
|
54
|
+
.mj-window-actions {
|
|
55
|
+
display: flex; align-items: center; gap: 8px;
|
|
56
|
+
padding: 12px 16px; border-top: 1px solid var(--mj-border-default); flex-shrink: 0;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* ---- Resize handles ---- */
|
|
60
|
+
.mj-window-resize {
|
|
61
|
+
position: absolute;
|
|
62
|
+
z-index: 2;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.mj-window-resize--n,
|
|
66
|
+
.mj-window-resize--s {
|
|
67
|
+
left: 6px; right: 6px; height: 6px; cursor: ns-resize;
|
|
68
|
+
}
|
|
69
|
+
.mj-window-resize--n { top: -3px; }
|
|
70
|
+
.mj-window-resize--s { bottom: -3px; }
|
|
71
|
+
|
|
72
|
+
.mj-window-resize--e,
|
|
73
|
+
.mj-window-resize--w {
|
|
74
|
+
top: 6px; bottom: 6px; width: 6px; cursor: ew-resize;
|
|
75
|
+
}
|
|
76
|
+
.mj-window-resize--e { right: -3px; }
|
|
77
|
+
.mj-window-resize--w { left: -3px; }
|
|
78
|
+
|
|
79
|
+
.mj-window-resize--ne,
|
|
80
|
+
.mj-window-resize--nw,
|
|
81
|
+
.mj-window-resize--se,
|
|
82
|
+
.mj-window-resize--sw {
|
|
83
|
+
width: 12px; height: 12px;
|
|
84
|
+
}
|
|
85
|
+
.mj-window-resize--ne { top: -3px; right: -3px; cursor: nesw-resize; }
|
|
86
|
+
.mj-window-resize--nw { top: -3px; left: -3px; cursor: nwse-resize; }
|
|
87
|
+
.mj-window-resize--se { bottom: -3px; right: -3px; cursor: nwse-resize; }
|
|
88
|
+
.mj-window-resize--sw { bottom: -3px; left: -3px; cursor: nesw-resize; }
|
|
89
|
+
|
|
90
|
+
@media (max-width: 767px) {
|
|
91
|
+
.mj-window {
|
|
92
|
+
top: 0; left: 0; transform: none;
|
|
93
|
+
width: 100vw !important; height: 100vh !important;
|
|
94
|
+
max-width: 100vw; max-height: 100vh; border-radius: 0;
|
|
95
|
+
}
|
|
96
|
+
.mj-window-resize { display: none; }
|
|
97
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from './lib/button/button.directive';
|
|
2
|
+
export * from './lib/dialog/dialog.component';
|
|
3
|
+
export * from './lib/dialog/dialog.service';
|
|
4
|
+
export * from './lib/dropdown/dropdown.component';
|
|
5
|
+
export * from './lib/switch/switch.component';
|
|
6
|
+
export * from './lib/numeric-input/numeric-input.component';
|
|
7
|
+
export * from './lib/progress-bar/progress-bar.component';
|
|
8
|
+
export * from './lib/calendar/calendar-utils';
|
|
9
|
+
export * from './lib/datepicker/datepicker.component';
|
|
10
|
+
export * from './lib/splitter/splitter.component';
|
|
11
|
+
export * from './lib/accordion/accordion.component';
|
|
12
|
+
export * from './lib/window/window.component';
|
|
13
|
+
export * from './lib/combobox/combobox.component';
|
|
14
|
+
//# sourceMappingURL=public-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAGA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// @memberjunction/ng-ui-components
|
|
2
|
+
// Reusable standalone Angular UI components for MemberJunction
|
|
3
|
+
export * from './lib/button/button.directive';
|
|
4
|
+
export * from './lib/dialog/dialog.component';
|
|
5
|
+
export * from './lib/dialog/dialog.service';
|
|
6
|
+
export * from './lib/dropdown/dropdown.component';
|
|
7
|
+
export * from './lib/switch/switch.component';
|
|
8
|
+
export * from './lib/numeric-input/numeric-input.component';
|
|
9
|
+
export * from './lib/progress-bar/progress-bar.component';
|
|
10
|
+
export * from './lib/calendar/calendar-utils';
|
|
11
|
+
export * from './lib/datepicker/datepicker.component';
|
|
12
|
+
export * from './lib/splitter/splitter.component';
|
|
13
|
+
export * from './lib/accordion/accordion.component';
|
|
14
|
+
export * from './lib/window/window.component';
|
|
15
|
+
export * from './lib/combobox/combobox.component';
|
|
16
|
+
//# sourceMappingURL=public-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,+DAA+D;AAE/D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC","sourcesContent":["// @memberjunction/ng-ui-components\n// Reusable standalone Angular UI components for MemberJunction\n\nexport * from './lib/button/button.directive';\nexport * from './lib/dialog/dialog.component';\nexport * from './lib/dialog/dialog.service';\nexport * from './lib/dropdown/dropdown.component';\nexport * from './lib/switch/switch.component';\nexport * from './lib/numeric-input/numeric-input.component';\nexport * from './lib/progress-bar/progress-bar.component';\nexport * from './lib/calendar/calendar-utils';\nexport * from './lib/datepicker/datepicker.component';\nexport * from './lib/splitter/splitter.component';\nexport * from './lib/accordion/accordion.component';\nexport * from './lib/window/window.component';\nexport * from './lib/combobox/combobox.component';\n"]}
|
package/package.json
CHANGED
|
@@ -1,10 +1,43 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ng-ui-components",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "5.23.0",
|
|
4
|
+
"description": "MemberJunction: Angular UI Components - reusable standalone components replacing Kendo UI dependencies.",
|
|
5
|
+
"main": "./dist/public-api.js",
|
|
6
|
+
"typings": "./dist/public-api.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"/dist"
|
|
9
|
+
],
|
|
10
|
+
"scripts": {
|
|
11
|
+
"test": "vitest run",
|
|
12
|
+
"build": "npm run clean && ngc && npm run copy-assets",
|
|
13
|
+
"copy-assets": "cpy src/lib/button/button.scss dist/lib/button --flat && cpy src/lib/dialog/dialog.scss dist/lib/dialog --flat && cpy src/lib/dropdown/dropdown.scss dist/lib/dropdown --flat && cpy src/lib/combobox/combobox.scss dist/lib/combobox --flat && cpy src/lib/input/input.scss dist/lib/input --flat && cpy src/lib/input/input-switch-progress.scss dist/lib/input --flat && cpy src/lib/datepicker/datepicker.scss dist/lib/datepicker --flat && cpy src/lib/splitter/splitter.scss dist/lib/splitter --flat && cpy src/lib/accordion/accordion.scss dist/lib/accordion --flat && cpy src/lib/window/window.scss dist/lib/window --flat && cpy src/lib/input/chip.scss dist/lib/input --flat",
|
|
14
|
+
"clean": "rimraf dist",
|
|
15
|
+
"test:watch": "vitest"
|
|
16
|
+
},
|
|
5
17
|
"keywords": [
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
|
|
18
|
+
"MemberJunction",
|
|
19
|
+
"Angular"
|
|
20
|
+
],
|
|
21
|
+
"author": "",
|
|
22
|
+
"license": "ISC",
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"@angular/compiler": "21.1.3",
|
|
25
|
+
"@angular/compiler-cli": "21.1.3",
|
|
26
|
+
"vitest": "^4.0.18"
|
|
27
|
+
},
|
|
28
|
+
"peerDependencies": {
|
|
29
|
+
"@angular/common": "21.1.3",
|
|
30
|
+
"@angular/core": "21.1.3",
|
|
31
|
+
"rxjs": "^7.8.2"
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"@angular/cdk": "21.1.3",
|
|
35
|
+
"angular-split": "^20.0.0",
|
|
36
|
+
"tslib": "^2.8.1"
|
|
37
|
+
},
|
|
38
|
+
"sideEffects": false,
|
|
39
|
+
"repository": {
|
|
40
|
+
"type": "git",
|
|
41
|
+
"url": "https://github.com/MemberJunction/MJ"
|
|
42
|
+
}
|
|
10
43
|
}
|
package/README.md
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# @memberjunction/ng-ui-components
|
|
2
|
-
|
|
3
|
-
## ⚠️ IMPORTANT NOTICE ⚠️
|
|
4
|
-
|
|
5
|
-
**This package is created solely for the purpose of setting up OIDC (OpenID Connect) trusted publishing with npm.**
|
|
6
|
-
|
|
7
|
-
This is **NOT** a functional package and contains **NO** code or functionality beyond the OIDC setup configuration.
|
|
8
|
-
|
|
9
|
-
## Purpose
|
|
10
|
-
|
|
11
|
-
This package exists to:
|
|
12
|
-
1. Configure OIDC trusted publishing for the package name `@memberjunction/ng-ui-components`
|
|
13
|
-
2. Enable secure, token-less publishing from CI/CD workflows
|
|
14
|
-
3. Establish provenance for packages published under this name
|
|
15
|
-
|
|
16
|
-
## What is OIDC Trusted Publishing?
|
|
17
|
-
|
|
18
|
-
OIDC trusted publishing allows package maintainers to publish packages directly from their CI/CD workflows without needing to manage npm access tokens. Instead, it uses OpenID Connect to establish trust between the CI/CD provider (like GitHub Actions) and npm.
|
|
19
|
-
|
|
20
|
-
## Setup Instructions
|
|
21
|
-
|
|
22
|
-
To properly configure OIDC trusted publishing for this package:
|
|
23
|
-
|
|
24
|
-
1. Go to [npmjs.com](https://www.npmjs.com/) and navigate to your package settings
|
|
25
|
-
2. Configure the trusted publisher (e.g., GitHub Actions)
|
|
26
|
-
3. Specify the repository and workflow that should be allowed to publish
|
|
27
|
-
4. Use the configured workflow to publish your actual package
|
|
28
|
-
|
|
29
|
-
## DO NOT USE THIS PACKAGE
|
|
30
|
-
|
|
31
|
-
This package is a placeholder for OIDC configuration only. It:
|
|
32
|
-
- Contains no executable code
|
|
33
|
-
- Provides no functionality
|
|
34
|
-
- Should not be installed as a dependency
|
|
35
|
-
- Exists only for administrative purposes
|
|
36
|
-
|
|
37
|
-
## More Information
|
|
38
|
-
|
|
39
|
-
For more details about npm's trusted publishing feature, see:
|
|
40
|
-
- [npm Trusted Publishing Documentation](https://docs.npmjs.com/generating-provenance-statements)
|
|
41
|
-
- [GitHub Actions OIDC Documentation](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect)
|
|
42
|
-
|
|
43
|
-
---
|
|
44
|
-
|
|
45
|
-
**Maintained for OIDC setup purposes only**
|