xaml-ui 1.0.13 → 1.0.15

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":"xaml-ui.mjs","sources":["../../../projects/xaml-ui/src/lib/Common.ts","../../../projects/xaml-ui/src/lib/FrameworkElement.ts","../../../projects/xaml-ui/src/lib/layout/Panel.ts","../../../projects/xaml-ui/src/lib/layout/Border.ts","../../../projects/xaml-ui/src/lib/basic-input/Button.ts","../../../projects/xaml-ui/src/lib/basic-input/CheckBox.ts","../../../projects/xaml-ui/src/lib/Color.ts","../../../projects/xaml-ui/src/lib/basic-input/ColorPicker.ts","../../../projects/xaml-ui/src/lib/primitives/Selector.ts","../../../projects/xaml-ui/src/lib/scrolling/ScrollBar.ts","../../../projects/xaml-ui/src/lib/scrolling/ScrollViewer.ts","../../../projects/xaml-ui/src/lib/layout/StackPanel.ts","../../../projects/xaml-ui/src/lib/primitives/ItemContainer.ts","../../../projects/xaml-ui/src/lib/collections/ListView.ts","../../../projects/xaml-ui/src/lib/basic-input/DropDownButton.ts","../../../projects/xaml-ui/src/lib/primitives/FlyoutPresenter.ts","../../../projects/xaml-ui/src/lib/primitives/FlyoutBase.ts","../../../projects/xaml-ui/src/lib/dialogs-and-flyouts/Flyout.ts","../../../projects/xaml-ui/src/lib/basic-input/ComboBox.ts","../../../projects/xaml-ui/src/lib/basic-input/RadioButton.ts","../../../projects/xaml-ui/src/lib/basic-input/RadioToggleButton.ts","../../../projects/xaml-ui/src/lib/basic-input/RepeatButton.ts","../../../projects/xaml-ui/src/lib/basic-input/Slider.ts","../../../projects/xaml-ui/src/lib/layout/Grid.ts","../../../projects/xaml-ui/src/lib/basic-input/SplitButton.ts","../../../projects/xaml-ui/src/lib/basic-input/ToggleButton.ts","../../../projects/xaml-ui/src/lib/basic-input/ToggleSwitch.ts","../../../projects/xaml-ui/src/lib/collections/ListBox.ts","../../../projects/xaml-ui/src/lib/XamlRoot.ts","../../../projects/xaml-ui/src/lib/primitives/DialogPresenter.ts","../../../projects/xaml-ui/src/lib/dialogs-and-flyouts/Dialog.ts","../../../projects/xaml-ui/src/lib/text/TextBlock.ts","../../../projects/xaml-ui/src/lib/dialogs-and-flyouts/ContentDialog.ts","../../../projects/xaml-ui/src/lib/menus-and-toolbars/MenuFlyout.ts","../../../projects/xaml-ui/src/lib/dialogs-and-flyouts/ContextFlyout.ts","../../../projects/xaml-ui/src/lib/icons/FontIcon.ts","../../../projects/xaml-ui/src/lib/media/Image.ts","../../../projects/xaml-ui/src/lib/menus-and-toolbars/AppBarButton.ts","../../../projects/xaml-ui/src/lib/menus-and-toolbars/CommandBar.ts","../../../projects/xaml-ui/src/lib/menus-and-toolbars/MenuFlyoutItemBase.ts","../../../projects/xaml-ui/src/lib/menus-and-toolbars/MenuFlyoutItem.ts","../../../projects/xaml-ui/src/lib/menus-and-toolbars/ToggleMenuFlyoutItem.ts","../../../projects/xaml-ui/src/lib/menus-and-toolbars/MenuFlyoutSeparator.ts","../../../projects/xaml-ui/src/lib/status-and-info/ToolTipService.ts","../../../projects/xaml-ui/src/lib/text/NumberBox.ts","../../../projects/xaml-ui/src/lib/text/TextBox.ts","../../../projects/xaml-ui/src/public-api.ts","../../../projects/xaml-ui/src/xaml-ui.ts"],"sourcesContent":["import { EventEmitter } from \"@angular/core\";\n\nexport type HorizontalAlignment = 'Left' | 'Center' | 'Right' | 'Stretch';\nexport type VerticalAlignment = 'Top' | 'Center' | 'Bottom' | 'Stretch';\nexport type Orientation = 'Horizontal' | 'Vertical';\nexport type ScrollMode = 'Disabled' | 'Enabled' | 'Auto';\nexport type FontStyle = 'Normal' | 'Oblique' | 'Italic';\nexport type FontWeights = 'Black' | 'Bold' | 'ExtraBlack' | 'ExtraBold' | 'ExtraLight' | 'Light' | 'Medium' | 'Normal' | 'SemiBold' | 'SemiLight' | 'Thin';\nexport type TextAlignment = 'Center' | 'Left' | 'Right' | 'Justify';\nexport type XamlBoolean = 'False' | 'True';\nexport type TextDecorations = 'None' | 'Underline' | 'Strikethrough';\nexport type TextTrimming = 'None' | 'CharacterEllipsis' | 'Clip';\nexport type TextWrapping = 'NoWrap' | 'Wrap';\nexport type FlyoutPlacementMode = 'Top' | 'Bottom' | 'Left' | 'Right' | 'TopEdgeAlignedLeft' | 'TopEdgeAlignedRight' | 'BottomEdgeAlignedLeft' | 'BottomEdgeAlignedRight' | 'LeftEdgeAlignedTop' | 'LeftEdgeAlignedBottom' | 'RightEdgeAlignedTop' | 'RightEdgeAlignedBottom' | 'Cover';\nexport type Stretch = 'None' | 'Fill' | 'Uniform' | 'UniformToFill';\n\nexport function toJustification(value: HorizontalAlignment) {\n return value.toLowerCase();\n}\n\nexport function toAlignment(value: VerticalAlignment) {\n switch (value) {\n case 'Top':\n return 'flex-start';\n case 'Center':\n return 'center';\n case 'Bottom':\n return 'flex-end';\n case 'Stretch':\n return 'stretch';\n }\n}\n\nexport async function resume_after(timeout: number) {\n await new Promise<void>(p => setTimeout(p, timeout));\n}\n\nexport async function resume_on_event<T>(event: EventEmitter<T>) {\n await new Promise<T>(p => event.subscribe(q => p(q))); \n}","import { Component, HostBinding, Input } from \"@angular/core\";\nimport { HorizontalAlignment, toAlignment, toJustification, VerticalAlignment } from \"./Common\";\n\n@Component({\n selector: 'FrameworkElement',\n template: `<ng-container/>`\n})\nexport abstract class FrameworkElementComponent {\n @Input() Width?: string;\n @Input() MinWidth?: string;\n @Input() @HostBinding('style.max-width') MaxWidth?: string;\n\n @Input() Height?: string;\n @Input() MinHeight?: string;\n @Input() @HostBinding('style.max-height') MaxHeight?: string;\n\n @Input() HorizontalAlignment: HorizontalAlignment = 'Stretch';\n @Input() VerticalAlignment: VerticalAlignment = 'Stretch';\n @Input() @HostBinding('style.margin') Margin?: string;\n @Input() @HostBinding('style.padding') Padding?: string;\n\n @HostBinding('style.overflow')\n protected get overflow() {\n return 'hidden';\n }\n\n @HostBinding('style.min-width')\n protected get minWidth() {\n if (this.MinWidth !== undefined) return this.MinWidth;\n return this.MaxWidth === undefined && this.HorizontalAlignment === 'Stretch' ? 'min-content' : undefined;\n }\n\n @HostBinding('style.min-height')\n protected get minHeight() {\n if (this.MinHeight !== undefined) return this.MinHeight;\n return this.MaxHeight === undefined && this.VerticalAlignment === 'Stretch' ? 'min-content' : undefined;\n }\n\n @HostBinding('style.width')\n protected get width() {\n if (this.Width !== undefined) return this.Width;\n return this.HorizontalAlignment === 'Stretch' ? undefined : 'min-content';\n }\n\n @HostBinding('style.height')\n protected get height() {\n if (this.Height !== undefined) return this.Height;\n return this.VerticalAlignment === 'Stretch' ? undefined : 'min-content';\n }\n\n @HostBinding('style.justify-self')\n protected get justifySelf() {\n return toJustification(this.HorizontalAlignment);\n }\n\n @HostBinding('style.align-self')\n protected get alignSelf() {\n return toAlignment(this.VerticalAlignment);\n }\n\n private static _nextId = 1;\n protected readonly _id = FrameworkElementComponent._nextId++;\n}","import { Component, HostBinding, Input } from \"@angular/core\";\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\n\n@Component({\n selector: 'Border',\n template: `<ng-content/>`,\n styles: `:host { \n display: grid;\n position: relative;\n }`\n})\nexport abstract class PanelComponent extends FrameworkElementComponent {\n @Input() @HostBinding('style.background') Background?: string;\n @Input() @HostBinding('style.border-radius') CornerRadius?: string;\n @Input() @HostBinding('style.border-width') BorderThickness?: string;\n @Input() @HostBinding('style.border-color') BorderBrush?: string;\n \n @HostBinding('style.border-style')\n private get borderStyle() {\n return this.BorderThickness !== undefined ? 'solid' : undefined;\n }\n}","import { Component } from \"@angular/core\";\nimport { PanelComponent } from \"./Panel\";\n\n@Component({\n selector: 'Border',\n template: `<ng-content/>`,\n styles: `:host { \n display: grid;\n position: relative;\n }`\n})\nexport class BorderComponent extends PanelComponent {\n}","import { Component, ContentChild, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output } from \"@angular/core\";\nimport { BorderComponent } from \"../layout/Border\";\nimport { HorizontalAlignment, toAlignment, toJustification, VerticalAlignment } from \"../Common\";\nimport { FlyoutBaseComponent } from \"../primitives/FlyoutBase\";\n\n@Component({\n selector: 'Button',\n template: `<ng-content/>`,\n styleUrl: 'Button.scss'\n})\nexport class ButtonComponent extends BorderComponent {\n @Input() IsEnabled: boolean = true;\n\n @Output() Click = new EventEmitter();\n\n @Input() HorizontalContentAlignment: HorizontalAlignment = 'Center';\n @Input() VerticalContentAlignment: VerticalAlignment = 'Center';\n\n @HostBinding('style.align-content')\n private get alignContent() {\n return toAlignment(this.VerticalContentAlignment);\n }\n\n @HostBinding('style.justify-content')\n private get justifyContent() {\n return toJustification(this.HorizontalContentAlignment);\n }\n\n @HostBinding('attr.type')\n private readonly type = 'button';\n\n @HostBinding('attr.disabled')\n @HostBinding('class.disabled')\n private get disabled() {\n return this.IsEnabled ? undefined : true;\n }\n\n @HostBinding('class.flyout-open')\n private get flyoutOpen() {\n return this._flyout?.IsOpen;\n }\n\n @ContentChild('xaml-flyout')\n private _flyout?: FlyoutBaseComponent;\n\n @HostListener('click', ['$event'])\n protected onHostPointerEvent(event: Event) {\n if (!this.IsEnabled) return;\n\n this.Click.emit(event);\n this._flyout?.Show();\n }\n}","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { BorderComponent } from \"../layout/Border\";\n\n@Component({\n selector: 'CheckBox',\n template: `<label class=\"container\">\n <input type=\"checkbox\" [checked]=\"IsChecked\" (change)=\"onChange($event)\" [disabled]=\"!IsEnabled\">\n <div class=\"checkBox\">\n <div class=\"checkMark\">&#xE73E;</div>\n </div>\n <div class=\"content\">\n <ng-content/>\n </div>\n </label>`,\n styleUrl: 'CheckBox.scss'\n})\nexport class CheckBoxComponent extends BorderComponent {\n @Input() IsEnabled = true;\n @Input() IsChecked = false;\n @Output() IsCheckedChange = new EventEmitter<boolean>();\n\n protected onChange(event: Event) {\n this.IsChecked = ((event.target) as HTMLInputElement).checked;\n this.IsCheckedChange.emit(this.IsChecked);\n }\n}","export type Color = number;\r\nexport function colorToString(value: Color): string {\r\n return '#' + value.toString(16).padStart(8, '0');\r\n}\r\n\r\nexport function stringToColor(value: string): Color {\r\n return parseInt(value.replace('#', ''), 16);\r\n}\r\n\r\nexport type ColorRGBA = {\r\n r: number;\r\n g: number;\r\n b: number;\r\n a: number;\r\n};\r\n\r\nexport type ColorHSLA = {\r\n h: number;\r\n s: number;\r\n l: number;\r\n a: number;\r\n};\r\n\r\nexport function colorToRgb(value: Color): ColorRGBA {\r\n return {\r\n r: value >> 16 & 0xff,\r\n g: value >> 8 & 0xff,\r\n b: value & 0xff,\r\n a: value >> 24 & 0xff\r\n };\r\n}\r\n\r\nexport function rgbToHsl(rgb: ColorRGBA): ColorHSLA {\r\n const { r: r255, g: g255, b: b255, a: a255 } = rgb;\r\n\r\n const r = r255 / 255;\r\n const g = g255 / 255;\r\n const b = b255 / 255;\r\n const a = a255 / 255;\r\n\r\n let max = Math.max(r, g, b);\r\n let min = Math.min(r, g, b);\r\n\r\n let h = (max + min) / 2;\r\n let s = h;\r\n let l = h;\r\n\r\n if (max === min) {\r\n // Achromatic\r\n return { h: 0, s: 0, l: l * 100, a: a * 100 };\r\n }\r\n\r\n const d = max - min;\r\n s = l >= 0.5 ? d / (2 - (max + min)) : d / (max + min);\r\n switch (max) {\r\n case r:\r\n h = ((g - b) / d + 0) * 60;\r\n break;\r\n case g:\r\n h = ((b - r) / d + 2) * 60;\r\n break;\r\n case b:\r\n h = ((r - g) / d + 4) * 60;\r\n break;\r\n }\r\n\r\n return { h, s: s * 100, l: l * 100, a: a * 100 };\r\n}","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, Output, ViewChild } from \"@angular/core\";\r\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\r\nimport { Color, colorToRgb, rgbToHsl } from \"../Color\";\r\n\r\n@Component({\r\n selector: 'ColorPicker',\r\n template: `<canvas #canvas (pointerdown)=\"onPointerDown($event)\" (pointermove)=\"onPointerMove($event)\"></canvas><div #selector class=\"selector\"></div>`,\r\n styleUrl: 'ColorPicker.scss'\r\n})\r\nexport class ColorPickerComponent extends FrameworkElementComponent implements AfterViewInit {\r\n\r\n private _color: Color = 0xffffffff;\r\n get Color() {\r\n return this._color;\r\n }\r\n @Input() set Color(value: Color) { \r\n this.setColor(value);\r\n this.updateSelectorPosition();\r\n }\r\n\r\n private setColor(value: Color) {\r\n if(this._color === value) return;\r\n\r\n this._color = value;\r\n this.ColorChange.emit(value);\r\n }\r\n\r\n @Output() ColorChange = new EventEmitter<Color>();\r\n\r\n @ViewChild('canvas')\r\n private _canvas!: ElementRef<HTMLCanvasElement>;\r\n\r\n @ViewChild('selector')\r\n private _selector!: ElementRef<HTMLDivElement>;\r\n\r\n private _context!: CanvasRenderingContext2D;\r\n\r\n ngAfterViewInit(): void {\r\n let canvas = this._canvas.nativeElement;\r\n canvas.width = parseInt(this.Width ?? '300');\r\n canvas.height = parseInt(this.Height ?? '300');\r\n\r\n let context = this._context = canvas.getContext('2d', { willReadFrequently: true })!;\r\n let radius = canvas.width / 2;\r\n\r\n // Draw hue circle\r\n for (let angle = 0; angle < 360; angle++) {\r\n let startAngle = (angle - 1) * (Math.PI / 180);\r\n let endAngle = (angle + 1) * (Math.PI / 180);\r\n context.beginPath();\r\n context.moveTo(radius, radius);\r\n context.arc(radius, radius, radius * 2, startAngle, endAngle);\r\n context.closePath();\r\n context.fillStyle = `hsl(${angle}, 100%, 50%)`;\r\n context.fill();\r\n }\r\n\r\n // Add radial gradient for saturation\r\n let gradient = context.createRadialGradient(radius, radius, 0, radius, radius, radius);\r\n gradient.addColorStop(0, 'white');\r\n gradient.addColorStop(1, 'transparent');\r\n context.fillStyle = gradient;\r\n context.fillRect(0, 0, canvas.width, canvas.height);\r\n\r\n // Position sample\r\n this.updateSelectorPosition();\r\n }\r\n\r\n protected onPointerDown(event: PointerEvent) {\r\n this._canvas.nativeElement.setPointerCapture(event.pointerId);\r\n this.onPointerMove(event);\r\n }\r\n\r\n protected onPointerMove(event: PointerEvent) {\r\n if (!this._canvas.nativeElement.hasPointerCapture(event.pointerId)) return;\r\n let radius = this._canvas.nativeElement.width / 2;\r\n let rawX = event.offsetX - radius;\r\n let rawY = event.offsetY - radius;\r\n let length = Math.sqrt(rawX * rawX + rawY * rawY);\r\n let scale = length < radius ? 1 : radius / Math.sqrt(rawX * rawX + rawY * rawY);\r\n let sampleX = radius + rawX * scale;\r\n let sampleY = radius + rawY * scale;\r\n\r\n this._selector.nativeElement.style.left = sampleX + 'px';\r\n this._selector.nativeElement.style.top = sampleY + 'px';\r\n\r\n let imageData = this._context.getImageData(sampleX, sampleY, 1, 1).data;\r\n let [r, g, b] = imageData;\r\n let color = ((0xff << 24) + (r << 16) + (g << 8) + b) >>> 0;\r\n this.setColor(color);\r\n }\r\n\r\n private updateSelectorPosition() {\r\n if (!this._canvas) return;\r\n\r\n let rgb = colorToRgb(this.Color);\r\n let hsl = rgbToHsl(rgb);\r\n\r\n let radius = this._canvas.nativeElement.width / 2;\r\n let angle = hsl.h / 180 * Math.PI;\r\n let length = hsl.s / 100 * radius;\r\n let x = radius + Math.cos(angle) * length;\r\n let y = radius + Math.sin(angle) * length;\r\n this._selector.nativeElement.style.left = x + 'px';\r\n this._selector.nativeElement.style.top = y + 'px';\r\n }\r\n}","import { Component, ContentChild, EventEmitter, HostBinding, Input, Output, TemplateRef } from \"@angular/core\";\r\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\r\nimport { HorizontalAlignment, toAlignment, toJustification, VerticalAlignment } from \"../Common\";\r\n\r\nexport const SelectorItemTemplate =\r\n `<ng-container *ngIf=\"ItemTemplate\">\r\n <ng-container [ngTemplateOutlet]=\"ItemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item }\" [ngTemplateOutletInjector]=\"container.Injector\" />\r\n </ng-container>\r\n <ng-container *ngIf=\"!ItemTemplate\">{{ DisplayMemberPath ? item[DisplayMemberPath] : item }}</ng-container>`;\r\n\r\n@Component({\r\n selector: 'Selector',\r\n template: '',\r\n})\r\nexport abstract class SelectorComponent extends FrameworkElementComponent {\r\n @ContentChild(TemplateRef) ItemTemplate!: TemplateRef<any>;\r\n\r\n @Input() IsEnabled: boolean = true;\r\n @Input() HorizontalContentAlignment: HorizontalAlignment = 'Left';\r\n @Input() VerticalContentAlignment: VerticalAlignment = 'Center';\r\n\r\n protected get alignContent() {\r\n return toAlignment(this.VerticalContentAlignment);\r\n }\r\n\r\n protected get justifyContent() {\r\n return toJustification(this.HorizontalContentAlignment);\r\n }\r\n\r\n @HostBinding('class.disabled')\r\n private get disabled() {\r\n return !this.IsEnabled;\r\n }\r\n\r\n //ItemSource\r\n private _itemSource: any[] = [];\r\n get ItemSource() {\r\n return this._itemSource;\r\n }\r\n @Input() set ItemSource(value: any[]) {\r\n let oldIndex = this.SelectedIndex;\r\n let oldValue = this.SelectedValue;\r\n let oldItem = this.SelectedItem;\r\n let newIndex = value.findIndex(p => this.getValue(-1, p) == oldValue);\r\n let newValue = newIndex !== -1 ? oldValue : null;\r\n let newItem = newIndex !== -1 ? value[newIndex] : null;\r\n\r\n this._itemSource = value;\r\n this._selectedIndex = newIndex;\r\n\r\n if (oldIndex !== newIndex) this.SelectedIndexChange.emit(this.SelectedIndex);\r\n if (oldValue !== newValue) this.SelectedValueChange.emit(this.SelectedValue);\r\n if (oldItem !== newItem) this.SelectedItemChange.emit(this.SelectedItem);\r\n }\r\n\r\n //Selected index\r\n private _selectedIndex = -1;\r\n get SelectedIndex() {\r\n return this._selectedIndex;\r\n }\r\n @Input() set SelectedIndex(value: number) {\r\n if (this.ItemSource === undefined) return;\r\n if (value < 0 && this.ItemSource.length > 0) value = -1;\r\n if (value >= this.ItemSource.length) value = this.ItemSource.length - 1;\r\n\r\n let oldIndex = this._selectedIndex;\r\n let oldValue = this.SelectedValue;\r\n let oldItem = this.SelectedItem;\r\n this._selectedIndex = value;\r\n let newIndex = this._selectedIndex;\r\n let newValue = this.SelectedValue;\r\n let newItem = this.SelectedItem;\r\n\r\n if (oldIndex !== newIndex) this.SelectedIndexChange.emit(this.SelectedIndex);\r\n if (oldValue !== newValue) this.SelectedValueChange.emit(this.SelectedValue);\r\n if (oldItem !== newItem) this.SelectedItemChange.emit(this.SelectedItem);\r\n }\r\n @Output() SelectedIndexChange = new EventEmitter<number>();\r\n\r\n //Selected value\r\n get SelectedValue() {\r\n if (this.SelectedIndex < 0 || this.SelectedIndex >= this.ItemSource.length) return null;\r\n return this.getValue(-1, this.ItemSource[this.SelectedIndex]);\r\n }\r\n @Input() set SelectedValue(value: any) {\r\n if (this.ItemSource === undefined) return;\r\n this.SelectedIndex = this.ItemSource.findIndex(p => this.getValue(-1, p) == value);\r\n }\r\n @Output() SelectedValueChange = new EventEmitter<any>();\r\n\r\n //Selected item\r\n get SelectedItem() {\r\n if (this.SelectedIndex < 0 || this.SelectedIndex >= this.ItemSource.length) return null;\r\n return this.ItemSource[this.SelectedIndex];\r\n }\r\n @Input() set SelectedItem(value: any) {\r\n if (this.ItemSource === undefined) return;\r\n this.SelectedIndex = this.ItemSource.findIndex(value);\r\n }\r\n @Output() SelectedItemChange = new EventEmitter<any>();\r\n\r\n //Member paths\r\n @Input() DisplayMemberPath?: string;\r\n @Input() SelectedValuePath?: string;\r\n\r\n protected getValue: (index: number, item: any) => any;\r\n\r\n protected onItemClick(event: Event, index: number, item: any) {\r\n if (this.SelectedIndex === index || !this.IsEnabled) return;\r\n\r\n this.SelectedIndex = index;\r\n event.stopPropagation();\r\n }\r\n\r\n GetElement(index: number) {\r\n return document.querySelector(`#xaml-selector-${this._id}-item-${index}`) as HTMLElement | null;\r\n }\r\n\r\n constructor() {\r\n super();\r\n\r\n //This is required otherwise the SelectedValuePath cannot be read\r\n this.getValue = (index: number, item: any) => {\r\n return this.SelectedValuePath !== undefined ? item[this.SelectedValuePath] : item;\r\n };\r\n }\r\n}","import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild } from \"@angular/core\";\r\nimport { Orientation } from \"../Common\";\r\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\n@Component({\r\n selector: 'ScrollBar',\r\n imports: [CommonModule],\r\n template: `<div class=\"buttons\" (pointerdown)=\"onButtonDown($event, false)\" (pointerup)=\"onButtonUp($event)\">{{decreaseGlyph}}</div>\r\n <div #track class=\"track\" (pointerdown)=\"onTrackDown($event)\" (pointerup)=\"onTrackUp($event)\">\r\n <div #thumb class=\"thumb\" [ngStyle]=\"thumbStyle\" (pointerdown)=\"onPointerDown($event)\" (pointermove)=\"onPointerMove($event)\" (pointerup)=\"onPointerUp($event)\"></div>\r\n </div>\r\n <div class=\"buttons\" (pointerdown)=\"onButtonDown($event, true)\" (pointerup)=\"onButtonUp($event)\">{{increaseGlyph}}</div>`,\r\n styleUrl: 'ScrollBar.scss'\r\n})\r\nexport class ScrollBarComponent extends FrameworkElementComponent { \r\n @Input() Orientation: Orientation = 'Vertical';\r\n\r\n @Input() ViewportSize: number = 0;\r\n @Input() ScrollSize: number = 0;\r\n @Input() StepSize: number = 5;\r\n\r\n private _value = 0;\r\n get Value() {\r\n return this._value;\r\n };\r\n @Input() set Value(value: number) {\r\n let scrollRange = this.ScrollSize - this.ViewportSize;\r\n\r\n if (value > scrollRange) value = scrollRange;\r\n if (value < 0) value = 0;\r\n\r\n this._value = value;\r\n this.ValueChange.emit(value);\r\n }\r\n @Output() ValueChange = new EventEmitter<number>();\r\n\r\n @Input() IsEnabled = true;\r\n\r\n @ViewChild('track')\r\n private _track!: ElementRef<HTMLDivElement>;\r\n\r\n @ViewChild('thumb')\r\n private _thumb!: ElementRef<HTMLDivElement>;\r\n\r\n private _isScrolling = false;\r\n private _startPointerPosition = 0;\r\n private _startScrollPosition = 0;\r\n\r\n protected get decreaseGlyph() {\r\n return this.Orientation === 'Vertical' ? '\\ueddb' : '\\uedd9';\r\n }\r\n\r\n protected get increaseGlyph() {\r\n return this.Orientation === 'Vertical' ? '\\ueddc' : '\\uedda';\r\n }\r\n\r\n @HostBinding('class')\r\n private get class() {\r\n return this.Orientation.toLowerCase();\r\n }\r\n\r\n private getElementSize(element: HTMLElement) {\r\n return this.Orientation === 'Vertical' ? element.offsetHeight : element.offsetWidth;\r\n }\r\n\r\n private getPointerPosition(event: PointerEvent) {\r\n return this.Orientation === 'Vertical' ? event.clientY : event.clientX;\r\n }\r\n\r\n protected get thumbStyle() {\r\n if (!this._track) return {};\r\n\r\n let trackLength = this.getElementSize(this._track.nativeElement);\r\n let scrollPosition = this.Value / (this.ScrollSize - this.ViewportSize);\r\n let size = trackLength * (this.ViewportSize / this.ScrollSize);\r\n let position = scrollPosition * (trackLength - size);\r\n\r\n switch (this.Orientation) {\r\n case 'Vertical':\r\n return {\r\n 'height': size + 'px',\r\n 'top': position + 'px'\r\n };\r\n case 'Horizontal':\r\n return {\r\n 'width': size + 'px',\r\n 'left': position + 'px'\r\n };\r\n }\r\n }\r\n\r\n private _interval?: any;\r\n\r\n protected onButtonDown(event: PointerEvent, direction: boolean) {\r\n (event.target as HTMLElement).setPointerCapture(event.pointerId);\r\n\r\n this._interval = setInterval(() => {\r\n this.Value += direction ? this.StepSize : -this.StepSize;\r\n }, 50);\r\n }\r\n\r\n protected onButtonUp(event: PointerEvent) {\r\n (event.target as HTMLElement).releasePointerCapture(event.pointerId);\r\n\r\n clearInterval(this._interval);\r\n }\r\n\r\n protected onTrackDown(event: PointerEvent) {\r\n let direction: boolean | undefined;\r\n\r\n if (this.Orientation === 'Vertical') {\r\n if (event.offsetY < this._thumb.nativeElement.offsetTop) {\r\n direction = false;\r\n }\r\n\r\n if (this._thumb.nativeElement.offsetTop + this._thumb.nativeElement.offsetHeight < event.offsetY) {\r\n direction = true;\r\n }\r\n }\r\n else {\r\n if (event.offsetX < this._thumb.nativeElement.offsetLeft) {\r\n direction = false;\r\n }\r\n\r\n if (this._thumb.nativeElement.offsetLeft + this._thumb.nativeElement.offsetWidth < event.offsetX) {\r\n direction = true;\r\n }\r\n }\r\n\r\n if (direction === undefined) return;\r\n (event.target as HTMLElement).setPointerCapture(event.pointerId);\r\n\r\n this.Value += direction ? this.ViewportSize : -this.ViewportSize;\r\n this._interval = setInterval(() => {\r\n this.Value += direction ? this.ViewportSize : -this.ViewportSize;\r\n }, 250);\r\n }\r\n\r\n protected onTrackUp(event: PointerEvent) {\r\n (event.target as HTMLElement).releasePointerCapture(event.pointerId);\r\n\r\n clearInterval(this._interval);\r\n }\r\n\r\n protected onPointerDown(event: PointerEvent) {\r\n if (event.buttons !== 1) return;\r\n\r\n this._thumb.nativeElement.setPointerCapture(event.pointerId);\r\n this._isScrolling = true;\r\n this._startPointerPosition = this.getPointerPosition(event);\r\n this._startScrollPosition = this.Value;\r\n event.stopPropagation();\r\n }\r\n\r\n protected onPointerMove(event: PointerEvent) {\r\n if (!this._isScrolling) return;\r\n if (event.buttons !== 1) {\r\n this._isScrolling = false;\r\n return;\r\n }\r\n\r\n let delta = this.getPointerPosition(event) - this._startPointerPosition;\r\n let trackLength = this.getElementSize(this._track.nativeElement);\r\n let thumbLength = this.getElementSize(this._thumb.nativeElement);\r\n\r\n let scrollPercent = delta / (trackLength - thumbLength);\r\n this.Value = this._startScrollPosition + scrollPercent * (this.ScrollSize - this.ViewportSize);\r\n event.stopPropagation();\r\n }\r\n\r\n protected onPointerUp(event: PointerEvent) {\r\n if (event.buttons !== 1) return;\r\n\r\n this._isScrolling = false;\r\n this._thumb.nativeElement.releasePointerCapture(event.pointerId);\r\n event.stopPropagation();\r\n }\r\n}","import { CommonModule } from \"@angular/common\";\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\nimport { AfterViewInit, ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from \"@angular/core\";\nimport { ScrollMode } from \"../Common\";\nimport { ScrollBarComponent } from \"./ScrollBar\";\nimport { CdkScrollable } from \"@angular/cdk/scrolling\";\n\n@Component({\n selector: 'ScrollViewer',\n imports: [CommonModule, ScrollBarComponent, CdkScrollable],\n template: `<div #content class=\"content\" [ngStyle]=\"contentStyle\" (scroll)=\"onScroll()\" cdkScrollable><ng-content/></div>\n <ScrollBar *ngIf=\"IsVerticalScrollBarVisible\" HorizontalAlignment=\"Right\" class=\"scrollbar\" Orientation=\"Vertical\" [ScrollSize]=\"ExtentHeight\" [ViewportSize]=\"ViewportHeight\" [(Value)]=\"VerticalOffset\"/>\n <ScrollBar *ngIf=\"IsHorizontalScrollBarVisible\" VerticalAlignment=\"Bottom\" class=\"scrollbar\" Orientation=\"Horizontal\" [ScrollSize]=\"ExtentWidth\" [ViewportSize]=\"ViewportWidth\" [(Value)]=\"HorizontalOffset\"/>`,\n styleUrl: 'ScrollViewer.scss'\n})\nexport class ScrollViewerComponent extends FrameworkElementComponent implements AfterViewInit {\n @Input() HorizontalScrollMode: ScrollMode = 'Auto';\n @Input() VerticalScrollMode: ScrollMode = 'Auto';\n\n @ViewChild('content')\n private _content!: ElementRef<HTMLDivElement>;\n\n get IsHorizontalScrollBarVisible() {\n switch (this.HorizontalScrollMode) {\n case 'Disabled':\n return false;\n case 'Auto':\n return this.ViewportWidth < this.ExtentWidth;\n case 'Enabled':\n return true;\n }\n }\n\n get IsVerticalScrollBarVisible() {\n switch (this.VerticalScrollMode) {\n case 'Disabled':\n return false;\n case 'Auto':\n return this.ViewportHeight < this.ExtentHeight;\n case 'Enabled':\n return true;\n }\n }\n\n get ExtentWidth() {\n return this._content?.nativeElement.scrollWidth;\n }\n\n get ExtentHeight() {\n return this._content?.nativeElement.scrollHeight;\n }\n\n get ViewportWidth() {\n return this._content?.nativeElement.clientWidth;\n }\n\n get ViewportHeight() {\n return this._content?.nativeElement.clientHeight;\n }\n\n get HorizontalOffset() {\n return this._content?.nativeElement.scrollLeft;\n }\n\n set HorizontalOffset(value: number) {\n if (this._content) this._content.nativeElement.scrollLeft = value;\n }\n\n get VerticalOffset() {\n return this._content?.nativeElement.scrollTop;\n }\n\n set VerticalOffset(value: number) {\n if (this._content) this._content.nativeElement.scrollTop = value;\n }\n\n private static toOverflow(value: ScrollMode) {\n switch (value) {\n case 'Disabled':\n return 'hidden';\n case 'Enabled':\n return 'scroll';\n case 'Auto':\n return 'auto';\n }\n }\n\n protected get contentStyle() {\n return {\n 'overflow-x': ScrollViewerComponent.toOverflow(this.HorizontalScrollMode),\n 'overflow-y': ScrollViewerComponent.toOverflow(this.VerticalScrollMode)\n };\n }\n\n constructor(private _changeDetector: ChangeDetectorRef) {\n super();\n }\n\n protected onScroll() {\n //trigger change detect on scroll\n }\n\n ngAfterViewInit(): void {\n //help the layout finish itself\n this._changeDetector.detectChanges();\n }\n}","import { Component, HostBinding, Input } from \"@angular/core\";\nimport { Orientation } from \"../Common\";\nimport { PanelComponent } from \"./Panel\";\n\n@Component({\n selector: 'StackPanel',\n template: `<ng-content/>`,\n styles: `:host {\n display: grid;\n position: relative;\n }`\n})\nexport class StackPanelComponent extends PanelComponent {\n @Input() Orientation: Orientation = 'Vertical';\n @Input() @HostBinding('style.gap') Spacing? : string;\n\n @HostBinding('style.grid-auto-flow') \n private get gridAutoFlow() {\n return this.Orientation === 'Horizontal' ? 'column' : 'row';\n }\n\n @HostBinding('style.grid-auto-rows') \n private get gridAutoRows() {\n return this.Orientation === 'Vertical' ? 'min-content' : undefined;\n }\n\n @HostBinding('style.grid-auto-columns') \n private get gridAutoColumns() {\n return this.Orientation === 'Horizontal' ? 'min-content' : undefined;\n }\n}","import { Component, ElementRef, Injector } from \"@angular/core\";\n\n@Component({\n selector: 'ItemContainer',\n template: `<ng-content/>`,\n styles: `:host {\n display: grid;\n position: relative;\n }`\n})\nexport class ItemContainerComponent {\n constructor(\n public Element: ElementRef,\n public Injector: Injector\n ) {\n\n }\n}","import { Component, Injector } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { SelectorComponent, SelectorItemTemplate } from \"../primitives/Selector\";\r\nimport { ScrollViewerComponent } from \"../scrolling/ScrollViewer\";\r\nimport { StackPanelComponent } from \"../layout/StackPanel\";\r\nimport { animate, keyframes, style, transition, trigger } from \"@angular/animations\";\r\nimport { ItemContainerComponent } from \"../primitives/ItemContainer\";\r\n\r\n@Component({\r\n selector: 'ListView',\r\n imports: [CommonModule, ScrollViewerComponent, StackPanelComponent, ItemContainerComponent],\r\n template: `<ScrollViewer>\r\n <StackPanel Padding=\"2px 0\">\r\n <ItemContainer #container *ngFor=\"let item of ItemSource; index as index; trackBy: getValue\" class=\"item\" [ngClass]=\"{'selected': index == SelectedIndex}\" (click)=\"onItemClick($event, index, item)\" [id]=\"'xaml-selector-'+_id+'-item-'+index\" @itemFading>\r\n <div class=\"item-selector\"></div>\r\n <div class=\"item-content\" [ngStyle]=\"{'align-content': alignContent, 'justify-content': justifyContent}\">${SelectorItemTemplate}</div>\r\n </ItemContainer>\r\n </StackPanel>\r\n </ScrollViewer>`,\r\n animations: [\r\n trigger('itemFading', [\r\n transition(':enter', [animate(\r\n '500ms ease-in',\r\n keyframes([\r\n style({ opacity: 0, height: 0 }),\r\n style({ opacity: 0, height: '*' }),\r\n style({ opacity: 1, height: '*' }),\r\n ]),\r\n )]),\r\n transition(':leave', [animate(\r\n '500ms ease-out',\r\n keyframes([\r\n style({ opacity: 1, height: '*' }),\r\n style({ opacity: 0, height: '*' }),\r\n style({ opacity: 0, height: 0 }),\r\n ]),\r\n )]),\r\n ])\r\n ],\r\n styleUrl: 'ListView.scss'\r\n})\r\nexport class ListViewComponent extends SelectorComponent {\r\n}","import { Component } from \"@angular/core\";\r\nimport { ButtonComponent } from \"./Button\";\r\n\r\n@Component({\r\n selector: 'DropDownButton',\r\n template: `<div class=\"drop-down-glyph\">&#xE70D;</div><ng-content/>`,\r\n styleUrls: ['Button.scss', 'DropDownButton.scss']\r\n})\r\nexport class DropDownButtonComponent extends ButtonComponent {\r\n \r\n}","import { Component, HostBinding, HostListener, Input } from \"@angular/core\";\r\n\r\nexport type FlyoutPresenterAnimation = 'Default' | 'SlideLeft' | 'SlideRight' | 'SlideUp' | 'SlideDown';\r\n\r\n@Component({\r\n selector: 'FlyoutPresenter',\r\n template: `<ng-content/>`,\r\n styleUrl: 'FlyoutPresenter.scss'\r\n})\r\nexport class FlyoutPresenter {\r\n static TransitionDuration = 250;\r\n\r\n @Input() TransitionAnimation: FlyoutPresenterAnimation = 'Default';\r\n @Input() @HostBinding('style.padding') Padding?: string;\r\n\r\n @Input() IsVisible: boolean = false;\r\n\r\n @HostBinding('class')\r\n private get transitionClass() {\r\n return 'transition-' + this.TransitionAnimation.toLowerCase();\r\n }\r\n\r\n @HostBinding('class.visible')\r\n private get visible() {\r\n return this.IsVisible;\r\n }\r\n\r\n @HostListener('contextmenu', ['$event'])\r\n private onContextMenu(event: Event) {\r\n event.preventDefault();\r\n }\r\n}","import { ConnectedPosition, FlexibleConnectedPositionStrategyOrigin, Overlay, OverlayConfig, OverlayRef, OverlaySizeConfig } from \"@angular/cdk/overlay\";\r\nimport { TemplatePortal } from \"@angular/cdk/portal\";\r\nimport { Component, ElementRef, EventEmitter, HostBinding, Input, OnDestroy, Output, Renderer2, TemplateRef, ViewChild, ViewContainerRef } from \"@angular/core\";\r\nimport { FlyoutPresenter, FlyoutPresenterAnimation } from \"./FlyoutPresenter\";\r\nimport { resume_after, FlyoutPlacementMode } from \"../Common\";\r\n\r\nexport const PopupTemplate = `<ng-template #template><FlyoutPresenter #presenter [IsVisible]=\"isVisible\" [TransitionAnimation]=\"transitionAnimation\" [Padding]=\"Padding\"><ng-content/></FlyoutPresenter></ng-template>`;\r\n\r\n@Component({\r\n imports: [FlyoutPresenter],\r\n selector: 'FlyoutBase',\r\n template: PopupTemplate,\r\n providers: [{ provide: 'xaml-flyout', useExisting: FlyoutBaseComponent }]\r\n})\r\nexport abstract class FlyoutBaseComponent implements OnDestroy {\r\n\r\n @Input() Placement: FlyoutPlacementMode = 'Top';\r\n\r\n @Input() Padding?: string;\r\n @Input() HasBackdrop = true;\r\n\r\n private _backdropContextMenuSubscription?: () => void;\r\n\r\n private _isOpen = false;\r\n get IsOpen() {\r\n return this._isOpen;\r\n }\r\n @Input() set IsOpen(value: boolean) {\r\n if (value === this._isOpen) return;\r\n this._isOpen = value;\r\n\r\n if (value) {\r\n this.showOverlay();\r\n }\r\n else {\r\n this.hideOverlay();\r\n }\r\n this.IsOpenChange.emit(value);\r\n }\r\n @Output() IsOpenChange = new EventEmitter<boolean>();\r\n\r\n private _overlayRef?: OverlayRef;\r\n protected isVisible = false;\r\n\r\n private updatePlacement() {\r\n if (!this._overlayRef) return;\r\n\r\n let target = this.Target ?? this._hostElement;\r\n let positionStrategy = this._overlay\r\n .position()\r\n .flexibleConnectedTo(target)\r\n .withPositions([this.positioning])\r\n .withGrowAfterOpen(true)\r\n .withFlexibleDimensions(true)\r\n .withPush(true);\r\n\r\n this._overlayRef.updatePositionStrategy(positionStrategy);\r\n if (this.Placement === 'Cover') {\r\n this._overlayRef.updateSize(target as OverlaySizeConfig);\r\n }\r\n }\r\n\r\n private async showOverlay() {\r\n //Create overlay\r\n let config = new OverlayConfig({\r\n hasBackdrop: this.HasBackdrop,\r\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\r\n backdropClass: 'xaml-flyout-overlay-backdrop'\r\n });\r\n this._overlayRef = this._overlay.create(config);\r\n this.OnOverlay(this._overlayRef);\r\n\r\n //Configure overlay placement\r\n this.updatePlacement();\r\n\r\n //Display overlay\r\n let templatePortal = new TemplatePortal(\r\n this._template,\r\n this._viewContainerRef\r\n );\r\n\r\n this._overlayRef.attach(templatePortal);\r\n\r\n //Ensure backdrop event handling\r\n this._overlayRef.backdropClick().subscribe(() => this.Hide());\r\n if (this.HasBackdrop) this._backdropContextMenuSubscription = this._renderer.listen(this._overlayRef.backdropElement, 'contextmenu', p => { p.preventDefault(); this.Hide(); });\r\n\r\n //Make content visible - after next layout\r\n await resume_after(0);\r\n\r\n this.isVisible = true;\r\n }\r\n\r\n private async hideOverlay() {\r\n //Start hide animation\r\n this.isVisible = false;\r\n\r\n //Remove event handlers\r\n if (this._backdropContextMenuSubscription) this._backdropContextMenuSubscription();\r\n\r\n //Dispose overlay after hidden\r\n if (this._overlayRef === undefined) return;\r\n await resume_after(FlyoutPresenter.TransitionDuration);\r\n\r\n this._overlayRef.detach();\r\n this._overlayRef.dispose();\r\n this._overlayRef = undefined;\r\n }\r\n\r\n private _target: FlexibleConnectedPositionStrategyOrigin | null = null;\r\n get Target() {\r\n return this._target;\r\n }\r\n @Input() set Target(value: FlexibleConnectedPositionStrategyOrigin | null) {\r\n this._target = value;\r\n this.updatePlacement();\r\n }\r\n\r\n @ViewChild('template') private _template!: TemplateRef<any>;\r\n\r\n @HostBinding('style')\r\n private get style() {\r\n return {\r\n 'position': 'absolute',\r\n 'inset': 0,\r\n 'pointer-events': 'none'\r\n };\r\n }\r\n\r\n protected get transitionAnimation(): FlyoutPresenterAnimation {\r\n return 'Default';\r\n }\r\n\r\n private get positioning(): ConnectedPosition {\r\n\r\n switch (this.Placement) {\r\n case \"Top\":\r\n return {\r\n originX: 'center', originY: 'top',\r\n overlayX: 'center', overlayY: 'bottom'\r\n };\r\n case \"TopEdgeAlignedLeft\":\r\n return {\r\n originX: 'start', originY: 'top',\r\n overlayX: 'start', overlayY: 'bottom'\r\n };\r\n case \"TopEdgeAlignedRight\":\r\n return {\r\n originX: 'end', originY: 'top',\r\n overlayX: 'end', overlayY: 'bottom'\r\n };\r\n\r\n case \"Bottom\":\r\n return {\r\n originX: 'center', originY: 'bottom',\r\n overlayX: 'center', overlayY: 'top'\r\n };\r\n case \"BottomEdgeAlignedLeft\":\r\n return {\r\n originX: 'start', originY: 'bottom',\r\n overlayX: 'start', overlayY: 'top'\r\n };\r\n case \"BottomEdgeAlignedRight\":\r\n return {\r\n originX: 'end', originY: 'bottom',\r\n overlayX: 'end', overlayY: 'top'\r\n };\r\n\r\n case \"Left\":\r\n return {\r\n originX: 'start', originY: 'center',\r\n overlayX: 'end', overlayY: 'center'\r\n };\r\n case \"LeftEdgeAlignedTop\":\r\n return {\r\n originX: 'start', originY: 'top',\r\n overlayX: 'end', overlayY: 'top'\r\n };\r\n case \"LeftEdgeAlignedBottom\":\r\n return {\r\n originX: 'start', originY: 'bottom',\r\n overlayX: 'end', overlayY: 'bottom'\r\n };\r\n\r\n case \"Right\":\r\n return {\r\n originX: 'end', originY: 'center',\r\n overlayX: 'start', overlayY: 'center'\r\n };\r\n case \"RightEdgeAlignedTop\":\r\n return {\r\n originX: 'end', originY: 'top',\r\n overlayX: 'start', overlayY: 'top'\r\n };\r\n case \"RightEdgeAlignedBottom\":\r\n return {\r\n originX: 'end', originY: 'bottom',\r\n overlayX: 'start', overlayY: 'bottom'\r\n };\r\n\r\n case \"Cover\":\r\n return {\r\n originX: 'start', originY: 'top',\r\n overlayX: 'start', overlayY: 'top'\r\n };\r\n }\r\n };\r\n\r\n constructor(\r\n private _viewContainerRef: ViewContainerRef,\r\n private _overlay: Overlay,\r\n private _hostElement: ElementRef,\r\n protected _renderer: Renderer2\r\n ) { }\r\n\r\n ngOnDestroy(): void {\r\n this.hideOverlay();\r\n }\r\n\r\n protected OnOverlay(overlay: OverlayRef) {\r\n\r\n }\r\n\r\n Show() {\r\n this.IsOpen = true;\r\n }\r\n\r\n Hide() {\r\n this.IsOpen = false;\r\n }\r\n}","import { Component } from \"@angular/core\";\r\nimport { FlyoutBaseComponent, PopupTemplate } from \"../primitives/FlyoutBase\";\r\nimport { FlyoutPresenter, FlyoutPresenterAnimation } from \"../primitives/FlyoutPresenter\";\r\n\r\n@Component({\r\n selector: 'Flyout',\r\n imports: [FlyoutPresenter],\r\n template: PopupTemplate,\r\n providers: [{ provide: 'xaml-flyout', useExisting: FlyoutComponent }],\r\n styles: `FlyoutPresenter { padding: 16px; }`\r\n})\r\nexport class FlyoutComponent extends FlyoutBaseComponent {\r\n\r\n protected override get transitionAnimation(): FlyoutPresenterAnimation {\r\n switch (this.Placement) {\r\n case \"Top\":\r\n case \"TopEdgeAlignedLeft\":\r\n case \"TopEdgeAlignedRight\":\r\n return 'SlideUp';\r\n\r\n case \"Bottom\":\r\n case \"BottomEdgeAlignedLeft\":\r\n case \"BottomEdgeAlignedRight\":\r\n return 'SlideDown';\r\n\r\n case \"Left\":\r\n case \"LeftEdgeAlignedTop\":\r\n case \"LeftEdgeAlignedBottom\":\r\n return 'SlideLeft';\r\n\r\n case \"Right\":\r\n case \"RightEdgeAlignedTop\":\r\n case \"RightEdgeAlignedBottom\":\r\n return 'SlideRight';\r\n\r\n default:\r\n return 'Default';\r\n }\r\n }\r\n}\r\n\r\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from \"@angular/core\";\r\nimport { SelectorComponent, SelectorItemTemplate } from \"../primitives/Selector\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ListViewComponent } from \"../collections/ListView\";\r\nimport { DropDownButtonComponent } from \"./DropDownButton\";\r\nimport { FlyoutComponent } from \"../dialogs-and-flyouts/Flyout\";\r\nimport { FlexibleConnectedPositionStrategyOrigin } from \"@angular/cdk/overlay\";\r\nimport { FlyoutBaseComponent } from \"../primitives/FlyoutBase\";\r\nimport { ItemContainerComponent } from \"../primitives/ItemContainer\";\r\n\r\n@Component({\r\n selector: 'ComboBox',\r\n imports: [CommonModule, DropDownButtonComponent, FlyoutComponent, ListViewComponent, ItemContainerComponent],\r\n template: `<DropDownButton [HorizontalContentAlignment]=\"HorizontalContentAlignment\" [VerticalContentAlignment]=\"VerticalContentAlignment\" [IsEnabled]=\"IsEnabled\">\r\n <ItemContainer #container>${SelectorItemTemplate}</ItemContainer>\r\n <Flyout Placement=\"Cover\" Padding=\"0\" [Target]=\"target\" (IsOpenChange)=\"onIsOpenChanged($event)\">\r\n <ListView [ItemSource]=\"ItemSource\" [(SelectedIndex)]=\"SelectedIndex\" [HorizontalContentAlignment]=\"HorizontalContentAlignment\" [VerticalContentAlignment]=\"VerticalContentAlignment\"/>\r\n </Flyout>\r\n </DropDownButton>`,\r\n styleUrl: 'ComboBox.scss'\r\n})\r\nexport class ComboBoxComponent extends SelectorComponent implements AfterViewInit {\r\n get item() {\r\n return this.SelectedItem;\r\n }\r\n\r\n get index() {\r\n return this.SelectedIndex;\r\n }\r\n\r\n @ViewChild(ListViewComponent)\r\n private _selector?: SelectorComponent;\r\n\r\n @ViewChild('xaml-flyout')\r\n private _popup?: FlyoutBaseComponent;\r\n\r\n constructor(\r\n private _changeDetector: ChangeDetectorRef,\r\n private _host: ElementRef<HTMLElement>) {\r\n super();\r\n this.SelectedIndexChange.subscribe(() => this.onSelectionChanged());\r\n }\r\n\r\n protected target: FlexibleConnectedPositionStrategyOrigin | null = null;\r\n\r\n protected onIsOpenChanged(value: boolean) {\r\n if (!value) return;\r\n let rect = this._host.nativeElement.getBoundingClientRect();\r\n let popupOffset = -(this._selector?.GetElement(this.SelectedIndex)?.offsetTop ?? 0);\r\n this.target = { x: rect.left + 3, y: rect.top + popupOffset - 4, width: rect.width };\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n //help the layout finish itself\r\n this._changeDetector.detectChanges();\r\n }\r\n\r\n private onSelectionChanged() {\r\n if (this._popup) this._popup.IsOpen = false;\r\n }\r\n}","import { AfterContentInit, Component, ContentChildren, EventEmitter, Input, Optional, Output, QueryList } from \"@angular/core\";\nimport { BorderComponent } from \"../layout/Border\";\nimport { StackPanelComponent } from \"../layout/StackPanel\";\n\n@Component({\n selector: 'RadioButton',\n template: `<label class=\"container\">\n <input type=\"radio\" [name]=\"Group\" [value]=\"Value\" [checked]=\"IsChecked\" (change)=\"onChange($event)\" [disabled]=\"!IsEnabled\">\n <div class=\"radioButton\">\n <div class=\"circle\"></div>\n </div>\n <div class=\"content\">\n <ng-content/>\n </div>\n </label>`,\n styleUrl: 'RadioButton.scss'\n})\nexport class RadioButtonComponent extends BorderComponent {\n @Input() IsEnabled = true;\n\n @Input() IsChecked = false;\n @Output() IsCheckedChange = new EventEmitter<boolean>();\n\n @Input() Group = \"\";\n @Input() Value: any;\n\n protected onChange(event: Event) {\n this.IsChecked = ((event.target) as HTMLInputElement).checked;\n this.IsCheckedChange.emit(this.IsChecked);\n }\n\n constructor(@Optional() private _group: RadioButtonGroupComponent) {\n super();\n if (this._group) this._group.registerOption(this);\n }\n}\n\n@Component({\n selector: 'RadioButtonGroup',\n template: `<ng-content/>`,\n styles: `:host { \n display: contents;\n }`\n})\nexport class RadioButtonGroupComponent extends StackPanelComponent {\n private _value: any;\n\n @Input()\n set Value(value: any) {\n if (this._children) {\n for (let item of this._children) {\n item.IsChecked = item.Value === value;\n }\n } else {\n this._value = value;\n }\n }\n\n get Value() {\n return this._value;\n }\n\n @Output() ValueChange = new EventEmitter<any>();\n\n private _children: RadioButtonComponent[] = [];\n\n registerOption(child: RadioButtonComponent) {\n child.Group = 'xaml-radio-button-group-' + this._id;\n\n if (child.Value === undefined) child.Value = this._children.length;\n if (child.Value === this.Value) child.IsChecked = true;\n\n child.IsCheckedChange.subscribe(p => {\n this.Value = child.Value;\n this.ValueChange.emit(child.Value);\n });\n\n this._children.push(child);\n }\n}","import { Component, HostBinding } from \"@angular/core\";\nimport { RadioButtonComponent } from \"./RadioButton\";\n\n@Component({\n selector: 'RadioToggleButton',\n template: `<label>\n <input type=\"radio\" [name]=\"Group\" [value]=\"Value\" [checked]=\"IsChecked\" (change)=\"onChange($event)\" [disabled]=\"!IsEnabled\">\n <ng-content/>\n </label>`,\n styleUrls: ['Button.scss', 'RadioToggleButton.scss']\n})\nexport class RadioToggleButtonComponent extends RadioButtonComponent {\n @HostBinding('class.checked')\n protected get checked() {\n return this.IsChecked;\n }\n}","import { Component, HostListener, Input, OnDestroy } from \"@angular/core\";\r\nimport { ButtonComponent } from \"./Button\";\r\n\r\n@Component({\r\n selector: 'RepeatButton',\r\n template: `<ng-content/>`,\r\n styleUrl: 'Button.scss'\r\n})\r\nexport class RepeatButtonComponent extends ButtonComponent implements OnDestroy {\r\n @Input() Delay: number = 250;\r\n @Input() Interval: number = 250;\r\n\r\n private _delayTimer: any;\r\n private _intervalTimer: any;\r\n\r\n @HostListener('pointerdown', ['$event'])\r\n private onPointerDown(event: PointerEvent) {\r\n if (!this.IsEnabled) return;\r\n\r\n (event.target as HTMLElement).setPointerCapture(event.pointerId);\r\n this.Click.emit();\r\n\r\n this._delayTimer = setTimeout(() => {\r\n this.Click.emit();\r\n\r\n this._intervalTimer = setInterval(() => {\r\n this.Click.emit();\r\n }, this.Interval);\r\n }, this.Delay);\r\n }\r\n\r\n @HostListener('pointerup', ['$event'])\r\n private onPointerUp() {\r\n this.clearTimers();\r\n }\r\n\r\n private clearTimers() {\r\n if (this._delayTimer !== undefined) clearTimeout(this._delayTimer);\r\n if (this._intervalTimer !== undefined) clearInterval(this._intervalTimer);\r\n }\r\n\r\n protected override onHostPointerEvent(event: Event) {\r\n //Disable pointer event handling on the base button\r\n }\r\n \r\n ngOnDestroy(): void {\r\n this.clearTimers();\r\n }\r\n}","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\nimport { Orientation } from \"../Common\";\nimport { CommonModule } from \"@angular/common\";\n\n@Component({\n selector: 'Slider',\n template: `<input type=\"range\" \n [step]=\"StepFrequency\" \n [min]=\"Minimum\" \n [max]=\"Maximum\" \n [value]=\"Value\" \n (input)=\"onInput($event)\" \n [disabled]=\"!IsEnabled\"\n [className]=\"Orientation.toLowerCase()\"\n [ngStyle]=\"inputStyle\">`,\n imports: [CommonModule],\n styleUrl: 'Slider.scss'\n})\nexport class SliderComponent extends FrameworkElementComponent {\n @Input() Minimum: number = 0.0;\n @Input() Maximum: number = 1.0;\n @Input() StepFrequency: number = 0.01;\n @Input() Value: number = 0.0;\n @Output() ValueChange = new EventEmitter<number>();\n @Input() IsEnabled = true;\n @Input() Orientation: Orientation = 'Horizontal';\n\n protected onInput(event: Event) {\n this.Value = parseFloat((event.target as HTMLInputElement).value);\n this.ValueChange.emit(this.Value);\n }\n\n protected get inputStyle() {\n let style: { [key: string]: string } = {};\n if (this.Orientation === 'Horizontal' && this.Width !== undefined) {\n style['width'] = this.Width;\n }\n\n if (this.Orientation === 'Vertical' && this.Height !== undefined) {\n style['height'] = this.Height;\n }\n\n return style;\n }\n}","import { Component, Directive, HostBinding, Input, NgModule } from \"@angular/core\";\nimport { Orientation } from \"../Common\";\nimport { PanelComponent } from \"./Panel\";\n\n@Component({\n selector: 'Grid',\n template: `<ng-content/>`,\n styles: `:host {\n display: grid;\n position: relative;\n }`,\n standalone: false\n})\nexport class GridComponent extends PanelComponent {\n @Input() @HostBinding('style.grid-template-columns') ColumnDefinitions?: string;\n @Input() @HostBinding('style.grid-template-rows') RowDefinitions?: string;\n @Input() @HostBinding('style.grid-auto-columns') AutoColumnDefinition?: string;\n @Input() @HostBinding('style.grid-auto-rows') AutoRowDefinition?: string;\n @Input() @HostBinding('style.column-gap') ColumnSpacing?: string;\n @Input() @HostBinding('style.row-gap') RowSpacing?: string;\n @Input() Orientation: Orientation = 'Vertical';\n\n @HostBinding('style.grid-auto-flow')\n private get gridAutoFlow() {\n return this.Orientation === 'Horizontal' ? 'column' : 'row';\n }\n}\n\nexport class GridProperty {\n Column?: number;\n Row?: number;\n ColumnSpan?: number;\n RowSpan?: number;\n}\n\n@Directive ({\n selector: '[Grid]',\n standalone: false\n})\nexport class GridDirective {\n @Input() Grid: GridProperty = new GridProperty();\n\n @HostBinding('style.grid-column-start')\n private get gridColumnStart() {\n return this.Grid.Column !== undefined ? this.Grid.Column + 1 : undefined;\n }\n\n @HostBinding('style.grid-row-start')\n private get gridRowStart() {\n return this.Grid.Row !== undefined ? this.Grid.Row + 1 : undefined;\n }\n\n @HostBinding('style.grid-column-end')\n private get gridColumnEnd() {\n return this.Grid.ColumnSpan !== undefined ? ('span ' + this.Grid.ColumnSpan) : undefined;\n }\n\n @HostBinding('style.grid-row-end')\n private get gridRowEnd() {\n return this.Grid.RowSpan !== undefined ? ('span ' + this.Grid.RowSpan) : undefined;\n }\n}\n\n@Directive ({\n selector: '[Grid-Row]',\n standalone: false\n})\nexport class GridRowDirective {\n @Input('Grid-Row') Row?: string;\n\n @HostBinding('style.grid-row-start')\n private get gridRowStart() {\n return this.Row !== undefined ? parseInt(this.Row) + 1 : undefined;\n }\n}\n\n@Directive ({\n selector: '[Grid-Column]',\n standalone: false\n})\nexport class GridColumnDirective {\n @Input('Grid-Column') Column?: string;\n\n @HostBinding('style.grid-column-start')\n private get gridColumnStart() {\n return this.Column !== undefined ? parseInt(this.Column) + 1 : undefined;\n }\n}\n\n@Directive({\n selector: '[Grid-RowSpan]',\n standalone: false\n})\nexport class GridRowSpanDirective {\n @Input('Grid-RowSpan') RowSpan?: string;\n\n @HostBinding('style.grid-row-end')\n private get gridRowEnd() {\n return this.RowSpan !== undefined ? ('span ' + this.RowSpan) : undefined;\n }\n}\n\n@Directive({\n selector: '[Grid-ColumnSpan]',\n standalone: false\n})\nexport class GridColumnSpanDirective {\n @Input('Grid-ColumnSpan') ColumnSpan?: string;\n\n @HostBinding('style.grid-column-end')\n private get gridColumnEnd() {\n return this.ColumnSpan !== undefined ? ('span ' + this.ColumnSpan) : undefined;\n }\n}\n\nconst GridComponents : any[] = [\n GridComponent,\n GridDirective,\n GridRowDirective,\n GridRowSpanDirective,\n GridColumnDirective,\n GridColumnSpanDirective\n]\n\n@NgModule({\n declarations: GridComponents,\n exports: GridComponents\n})\nexport class GridModule { }","import { Component, ContentChild, EventEmitter, Input, Output } from \"@angular/core\";\r\nimport { ButtonComponent } from \"./Button\";\r\nimport { DropDownButtonComponent } from \"./DropDownButton\";\r\nimport { GridModule } from \"../layout/Grid\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\r\nimport { FlyoutBaseComponent } from \"../primitives/FlyoutBase\";\r\n\r\n@Component({\r\n selector: 'SplitButton',\r\n template: `<Grid ColumnDefinitions=\"1fr auto\">\r\n <Button CornerRadius=\"4px 0 0 4px\" [IsEnabled]=\"IsEnabled\" (Click)=\"onButtonClick()\" [ngClass]=\"buttonClass\"><ng-content/></Button>\r\n <DropDownButton CornerRadius=\"0 4px 4px 0\" Width=\"12px\" (Click)=\"onDropDownClick()\" [IsEnabled]=\"IsEnabled\"/>\r\n </Grid>`,\r\n imports: [CommonModule, ButtonComponent, DropDownButtonComponent, GridModule]\r\n})\r\nexport class SplitButtonComponent extends FrameworkElementComponent {\r\n @Input() IsEnabled: boolean = true;\r\n\r\n @Output() Click = new EventEmitter();\r\n\r\n @ContentChild('xaml-flyout')\r\n private _popup?: FlyoutBaseComponent;\r\n\r\n protected get buttonClass() {\r\n return this._popup?.IsOpen ? 'flyout-open' : undefined;\r\n }\r\n\r\n protected onButtonClick() {\r\n if (!this.IsEnabled) return;\r\n\r\n this.Click.emit();\r\n }\r\n\r\n protected onDropDownClick() {\r\n if (!this._popup || !this.IsEnabled) return;\r\n\r\n this._popup.IsOpen = true;\r\n }\r\n}","import { Component, EventEmitter, HostBinding, HostListener, Input, Output } from \"@angular/core\";\nimport { ButtonComponent } from \"./Button\";\n\n@Component({\n selector: 'ToggleButton',\n template: `<ng-content/>`,\n styleUrl: 'Button.scss'\n})\nexport class ToggleButtonComponent extends ButtonComponent {\n @Input() @HostBinding('class.checked') IsChecked: boolean = false;\n @Output() IsCheckedChange = new EventEmitter<boolean>();\n\n @HostListener('pointerup', ['$event'])\n private onPointerUp(event: PointerEvent) {\n if (!this.IsEnabled) return;\n this.IsChecked = !this.IsChecked;\n this.IsCheckedChange.emit(this.IsChecked);\n }\n}","import { Component } from \"@angular/core\";\nimport { CheckBoxComponent } from \"./CheckBox\";\n\n@Component({\n selector: 'ToggleSwitch',\n template: `<label class=\"container\">\n <input type=\"checkbox\" [checked]=\"IsChecked\" (change)=\"onChange($event)\" [disabled]=\"!IsEnabled\">\n <div class=\"slider\">\n <div class=\"thumb\"></div>\n </div>\n <div class=\"content\"><ng-content/></div>\n </label>`,\n styleUrl: 'ToggleSwitch.scss'\n})\nexport class ToggleSwitchComponent extends CheckBoxComponent {\n \n}","import { Component } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { SelectorComponent, SelectorItemTemplate } from \"../primitives/Selector\";\nimport { ItemContainerComponent } from \"../primitives/ItemContainer\";\n\n@Component({\n selector: 'ListBox',\n imports: [CommonModule, ItemContainerComponent],\n template: `<ItemContainer #container *ngFor=\"let item of ItemSource; index as index; trackBy: getValue\" class=\"item\" [ngClass]=\"{'selected': index == SelectedIndex}\" (click)=\"onItemClick($event, index, item)\" [id]=\"'xaml-selector-'+_id+'-item-'+index\" [ngStyle]=\"{'align-content': alignContent, 'justify-content': justifyContent}\">\n ${SelectorItemTemplate}\n</ItemContainer>`,\n styleUrl: 'ListBox.scss'\n})\nexport class ListBoxComponent extends SelectorComponent {\n\n}","import { Component, HostListener } from \"@angular/core\";\n\n@Component({\n selector: 'XamlRoot',\n template: `<ng-content/>`,\n styleUrl: 'XamlRoot.scss'\n})\nexport class XamlRootComponent {\n\n @HostListener('contextmenu', ['$event'])\n onContextMenu(event: Event) {\n event.preventDefault();\n }\n\n}","import { Component, ContentChild, ElementRef, HostBinding, Input, ViewChild } from \"@angular/core\";\r\nimport { XamlRootComponent } from \"../XamlRoot\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\n@Component({\r\n selector: 'DialogPresenter',\r\n template: `<div #header class=\"header\" [ngStyle]=\"{'display': isHeaderVisible ? 'grid' : 'none'}\"><ng-content select=\"[Header]\"/></div>\r\n <div class=\"body\"><ng-content/></div>\r\n <div #footer class=\"footer\" [ngStyle]=\"{'display': isFooterVisible ? 'grid' : 'none'}\"><ng-content select=\"[Footer]\"/></div>`,\r\n styleUrls: ['../XamlRoot.scss', 'DialogPresenter.scss'],\r\n imports: [CommonModule],\r\n providers: [{ provide: 'xaml-dialog-presenter', useExisting: DialogPresenter }]\r\n})\r\nexport class DialogPresenter extends XamlRootComponent {\r\n static TransitionDuration = 250;\r\n\r\n @ViewChild('header') private _header?: ElementRef<HTMLDivElement>;\r\n @ViewChild('footer') private _footer?: ElementRef<HTMLDivElement>;\r\n\r\n @Input() IsVisible: boolean = false;\r\n\r\n @HostBinding('class.visible')\r\n private get visible() {\r\n return this.IsVisible;\r\n }\r\n\r\n protected get isHeaderVisible() {\r\n return this._header?.nativeElement.children.length ?? 0 > 0;\r\n }\r\n\r\n protected get isFooterVisible() {\r\n return this._footer?.nativeElement.children.length ?? 0 > 0;\r\n }\r\n}","import { Overlay, OverlayConfig } from \"@angular/cdk/overlay\";\r\nimport { Component, ContentChild, EventEmitter, Output, Renderer2, TemplateRef, ViewChild, ViewContainerRef } from \"@angular/core\";\r\nimport { resume_after, resume_on_event } from \"../Common\";\r\nimport { TemplatePortal } from \"@angular/cdk/portal\";\r\nimport { DialogPresenter } from \"../primitives/DialogPresenter\";\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class Dialog {\r\n @Output() Closed = new EventEmitter();\r\n\r\n @ViewChild('template') private _template!: TemplateRef<any>;\r\n\r\n private _overlay!: Overlay;\r\n private _viewContainerRef!: ViewContainerRef;\r\n @ViewChild('xaml-dialog-presenter') private _dialogPresenter?: DialogPresenter;\r\n\r\n IsBackdropDismissEnabled = false;\r\n\r\n static Create<T extends Dialog>(type: { new(...args: any[]): T }, container: ViewContainerRef): T {\r\n let component = container.createComponent(type);\r\n component.instance._overlay = container.injector.get(Overlay);\r\n component.instance._viewContainerRef = container.injector.get(ViewContainerRef);\r\n component.instance.Closed.subscribe(() => component.destroy());\r\n return component.instance;\r\n }\r\n\r\n async ShowAsync(): Promise<any> {\r\n //Wait for a layout cycle to ensure templates etc. are ready\r\n await resume_after(0);\r\n\r\n //Create overlay\r\n let positionStrategy = this._overlay\r\n .position()\r\n .global()\r\n .centerHorizontally()\r\n .centerVertically();\r\n\r\n let config = new OverlayConfig({\r\n hasBackdrop: true,\r\n positionStrategy: positionStrategy,\r\n backdropClass: 'xaml-dialog-overlay-backdrop'\r\n });\r\n\r\n let overlayRef = this._overlay.create(config);\r\n\r\n //Attach template\r\n let templatePortal = new TemplatePortal(\r\n this._template,\r\n this._viewContainerRef\r\n );\r\n\r\n overlayRef.attach(templatePortal);\r\n\r\n //Wait for UI to instantiate\r\n await resume_after(0);\r\n\r\n //Disable backdrop menu\r\n let renderer = this._viewContainerRef.injector.get(Renderer2);\r\n let backdropContextMenuSubscription = renderer.listen(overlayRef.backdropElement, 'contextmenu', p => p.preventDefault());\r\n\r\n //Backdrop dismiss\r\n if(this.IsBackdropDismissEnabled) overlayRef.backdropClick().subscribe(() => this.Hide());\r\n\r\n //Fade-in\r\n if (this._dialogPresenter) this._dialogPresenter.IsVisible = true;\r\n\r\n //Wait for close\r\n await resume_on_event(this.Closed);\r\n\r\n //Fade-out\r\n if (this._dialogPresenter) {\r\n this._dialogPresenter.IsVisible = false;\r\n await resume_after(DialogPresenter.TransitionDuration);\r\n }\r\n\r\n //Cleanup\r\n backdropContextMenuSubscription();\r\n overlayRef.detach();\r\n }\r\n\r\n Hide() {\r\n this.Closed.emit();\r\n }\r\n}","import { Component, HostBinding, Input } from \"@angular/core\";\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\nimport { CommonModule } from \"@angular/common\";\nimport { FontStyle, FontWeights, TextAlignment, TextDecorations, TextTrimming, TextWrapping, XamlBoolean } from \"../Common\";\n\n@Component({\n selector: 'TextBlock',\n imports: [CommonModule],\n template: `<ng-container>\n <ng-content *ngIf=\"Text === undefined\"/>\n <ng-container *ngIf=\"Text !== undefined\">{{Text}}</ng-container>\n </ng-container>`\n})\nexport class TextBlockComponent extends FrameworkElementComponent {\n @Input() @HostBinding('style.font-family') FontFamily?: string;\n @Input() Text?: string;\n @Input() @HostBinding('style.font-size') FontSize?: string;\n @Input() @HostBinding('style.font-style') FontStyle?: FontStyle;\n @Input() FontWeight: FontWeights = 'Normal';\n @Input() @HostBinding('style.color') Foreground?: string;\n @Input() @HostBinding('style.text-align') TextAlignment?: TextAlignment = 'Left';\n @Input() IsTextSelectionEnabled?: XamlBoolean;\n @Input() TextDecorations?: TextDecorations;\n @Input() TextTrimming: TextTrimming = 'None';\n @Input() TextWrapping: TextWrapping = 'NoWrap';\n\n protected override get width() {\n if (this.Width !== undefined) return this.Width;\n return this.HorizontalAlignment === 'Stretch' || this.TextTrimming !== 'None' ? undefined : 'min-content';\n }\n\n protected override get minWidth() {\n if (this.MinWidth !== undefined) return this.MinWidth;\n return this.MaxWidth === undefined && this.HorizontalAlignment === 'Stretch' && this.TextTrimming === 'None' ? 'min-content' : undefined;\n }\n\n @HostBinding('style.font-weight')\n private get fontWeight() {\n return TextBlockComponent.ToFontWeight(this.FontWeight);\n }\n\n static ToFontWeight(value: FontWeights) {\n switch (value) {\n case 'Black':\n return 900;\n case 'Bold':\n return 700;\n case 'ExtraBlack':\n return 950;\n case 'ExtraBold':\n return 800;\n case 'ExtraLight':\n return 200;\n case 'Light':\n return 300;\n case 'Medium':\n return 500;\n case 'Normal':\n return 400;\n case 'SemiBold':\n return 600;\n case 'SemiLight':\n return 350;\n case 'Thin':\n return 100;\n }\n }\n\n @HostBinding('style.user-select')\n private get userSelect() {\n return this.IsTextSelectionEnabled === 'True' ? 'text' : 'none';\n }\n\n @HostBinding('style.text-decoration-line')\n private get textDecorationLine() {\n switch (this.TextDecorations) {\n case 'None':\n return 'none';\n case 'Strikethrough':\n return 'line-through';\n case 'Underline':\n return 'underline';\n default:\n return undefined;\n }\n }\n\n @HostBinding('style.text-overflow')\n private get textOverflow() {\n switch (this.TextTrimming) {\n case 'None':\n case 'Clip':\n return 'clip';\n case 'CharacterEllipsis':\n return 'Ellipsis';\n default:\n return undefined;\n }\n }\n\n @HostBinding('style.white-space')\n private get whiteSpace() {\n switch (this.TextWrapping) {\n case 'NoWrap':\n return 'nowrap';\n case 'Wrap':\n return 'pre-line';\n }\n }\n}","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\nimport { DialogPresenter } from \"../primitives/DialogPresenter\";\r\nimport { GridModule } from \"../layout/Grid\";\r\nimport { ButtonComponent } from \"../basic-input/Button\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { Dialog } from \"./Dialog\";\r\nimport { TextBlockComponent } from \"../text/TextBlock\";\r\n\r\nexport enum ContentDialogResult {\r\n None,\r\n Primary,\r\n Secondary\r\n}\r\n\r\nexport enum ContentDialogButton {\r\n None,\r\n Primary,\r\n Secondary,\r\n Close\r\n}\r\n\r\n@Component({\r\n selector: 'ContentDialog',\r\n template: `<ng-template #template>\r\n <DialogPresenter>\r\n <div Header>{{Title}}</div>\r\n <TextBlock TextWrapping=\"Wrap\">{{Content}}</TextBlock>\r\n <ng-content/>\r\n <Grid RowDefinitions=\"auto\" Orientation=\"Horizontal\" ColumnSpacing=\"6px\" AutoColumnDefinition=\"minmax(0, 1fr)\" Footer>\r\n <Button *ngIf=\"PrimaryButtonText !== undefined\" [IsEnabled]=\"IsPrimaryButtonEnabled\" (Click)=\"onPrimaryButtonClicked()\" [class.AccentButtonStyle]=\"isPrimaryButtonDefault\">{{PrimaryButtonText}}</Button>\r\n <Button *ngIf=\"SecondaryButtonText !== undefined\" [IsEnabled]=\"IsSecondaryButtonEnabled\" (Click)=\"onSecondaryButtonClicked()\" [class.AccentButtonStyle]=\"isSecondaryButtonDefault\">{{SecondaryButtonText}}</Button>\r\n <Button *ngIf=\"CloseButtonText !== undefined\" (Click)=\"onCloseButtonClicked()\" [class.AccentButtonStyle]=\"isCloseButtonDefault\">{{CloseButtonText}}</Button>\r\n </Grid>\r\n </DialogPresenter>\r\n </ng-template>`,\r\n styles: ``,\r\n imports: [DialogPresenter, GridModule, ButtonComponent, CommonModule, TextBlockComponent]\r\n})\r\nexport class ContentDialog extends Dialog {\r\n @Input() Title?: string;\r\n\r\n @Input() PrimaryButtonText?: string;\r\n @Input() IsPrimaryButtonEnabled: boolean = true;\r\n @Output() PrimaryButtonClicked = new EventEmitter();\r\n\r\n @Input() SecondaryButtonText?: string;\r\n @Input() IsSecondaryButtonEnabled: boolean = true;\r\n @Output() SecondaryButtonClicked = new EventEmitter();\r\n\r\n @Input() CloseButtonText?: string;\r\n @Output() CloseButtonClicked = new EventEmitter();\r\n\r\n @Input() Content: any;\r\n\r\n @Input() DefaultButton = ContentDialogButton.None;\r\n\r\n private _result = ContentDialogResult.None;\r\n\r\n get Result(): ContentDialogResult {\r\n return this._result;\r\n }\r\n\r\n set Result(value: ContentDialogResult) {\r\n this._result = value;\r\n this.Hide();\r\n }\r\n\r\n protected onPrimaryButtonClicked() {\r\n this.PrimaryButtonClicked.emit();\r\n this.Result = ContentDialogResult.Primary;\r\n }\r\n\r\n protected onSecondaryButtonClicked() {\r\n this.SecondaryButtonClicked.emit();\r\n this.Result = ContentDialogResult.Secondary;\r\n }\r\n\r\n protected onCloseButtonClicked() {\r\n this.CloseButtonClicked.emit();\r\n this.Result = ContentDialogResult.None;\r\n }\r\n\r\n protected get isPrimaryButtonDefault() {\r\n return this.DefaultButton === ContentDialogButton.Primary;\r\n }\r\n\r\n protected get isSecondaryButtonDefault() {\r\n return this.DefaultButton === ContentDialogButton.Secondary;\r\n }\r\n\r\n protected get isCloseButtonDefault() {\r\n return this.DefaultButton === ContentDialogButton.Close;\r\n }\r\n\r\n override async ShowAsync() {\r\n await super.ShowAsync();\r\n\r\n return this._result;\r\n }\r\n}","import { AfterViewInit, Component, ElementRef, OnDestroy, ViewChild } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FlyoutComponent } from \"../dialogs-and-flyouts/Flyout\";\r\nimport { FlyoutPresenter, FlyoutPresenterAnimation } from \"../primitives/FlyoutPresenter\";\r\nimport { PopupTemplate } from \"../primitives/FlyoutBase\";\r\nimport { OverlayRef } from \"@angular/cdk/overlay-module.d-CSrPj90C\";\r\n\r\n@Component({\r\n selector: 'MenuFlyout',\r\n imports: [CommonModule, FlyoutPresenter],\r\n template: PopupTemplate,\r\n styleUrls: ['MenuFlyout.scss'],\r\n providers: [{ provide: 'xaml-flyout', useExisting: MenuFlyoutComponent }]\r\n})\r\nexport class MenuFlyoutComponent extends FlyoutComponent {\r\n\r\n private _menuClickSubscription?: () => void;\r\n\r\n protected override get transitionAnimation(): FlyoutPresenterAnimation {\r\n return 'Default';\r\n }\r\n\r\n protected override OnOverlay(overlay: OverlayRef): void {\r\n if (this._menuClickSubscription) this._menuClickSubscription();\r\n\r\n this._menuClickSubscription = this._renderer.listen(overlay.overlayElement, 'click', p => this.onMenuClick(p));\r\n }\r\n\r\n private onMenuClick(event: Event) {\r\n this.IsOpen = false;\r\n event.stopPropagation();\r\n }\r\n\r\n override ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n\r\n if (this._menuClickSubscription) this._menuClickSubscription();\r\n }\r\n}","import { AfterViewInit, Directive, ElementRef, HostBinding, ViewContainerRef } from \"@angular/core\";\r\nimport { FlyoutComponent } from \"./Flyout\";\r\nimport { MenuFlyoutComponent } from \"../menus-and-toolbars/MenuFlyout\";\r\nimport { ItemContainerComponent } from \"../primitives/ItemContainer\";\r\n\r\n@Directive()\r\nexport abstract class FlyoutDirective implements AfterViewInit {\r\n\r\n private _flyout?: FlyoutComponent;\r\n\r\n constructor(\r\n private _viewContainer: ViewContainerRef\r\n ) { }\r\n\r\n protected abstract get HostElement(): HTMLElement | null;\r\n\r\n ngAfterViewInit(): void {\r\n for (let type of [FlyoutComponent, MenuFlyoutComponent]) {\r\n this._flyout = this._viewContainer.injector.get(type, null, { self: true }) as FlyoutComponent;\r\n if (this._flyout) break;\r\n }\r\n\r\n if (this._flyout) {\r\n this._flyout.Placement = 'BottomEdgeAlignedLeft';\r\n }\r\n\r\n let hostElement = this.HostElement;\r\n if (hostElement) {\r\n hostElement.oncontextmenu = p => this.onContextMenu(p);\r\n }\r\n }\r\n\r\n private onContextMenu(event: MouseEvent) {\r\n if (!this._flyout) return;\r\n\r\n if (!this._flyout.IsOpen) {\r\n this._flyout.Target = { x: event.clientX, y: event.clientY }\r\n this._flyout.IsOpen = true;\r\n }\r\n else {\r\n this._flyout.IsOpen = false;\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[ContextFlyout]'\r\n})\r\nexport class ContextFlyoutDirective extends FlyoutDirective {\r\n constructor(\r\n private _hostComponent: ElementRef,\r\n viewContainer: ViewContainerRef\r\n ) {\r\n super(viewContainer);\r\n }\r\n\r\n protected override get HostElement() {\r\n return (this._hostComponent.nativeElement as HTMLElement).parentElement;\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[ItemFlyout]'\r\n})\r\nexport class ItemFlyoutDirective extends FlyoutDirective {\r\n\r\n constructor(\r\n private _hostComponent: ItemContainerComponent,\r\n viewContainer: ViewContainerRef\r\n ) {\r\n super(viewContainer);\r\n }\r\n\r\n protected override get HostElement() {\r\n return this._hostComponent.Element.nativeElement as HTMLElement;\r\n }\r\n}","import { Component, HostBinding, Input } from \"@angular/core\";\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\nimport { FontStyle, FontWeights } from \"../Common\";\nimport { TextBlockComponent } from \"../text/TextBlock\";\n\n@Component({\n selector: 'FontIcon',\n template: `{{Glyph}}`,\n styles: `:host {\n font-family: 'Segoe Fluent Icons', 'Segoe MDL2 Assets';\n }`\n})\nexport class FontIconComponent extends FrameworkElementComponent {\n @Input() @HostBinding('style.font-family') FontFamily?: string;\n @Input() @HostBinding('style.font-size') FontSize?: string;\n @Input() @HostBinding('style.font-style') FontStyle?: FontStyle; \n @Input() @HostBinding('style.color') Foreground?: string;\n \n @Input() FontWeight: FontWeights = 'Normal';\n @Input() Glyph?: string;\n \n @HostBinding('style.font-weight')\n private get fontWeight() {\n return TextBlockComponent.ToFontWeight(this.FontWeight);\n }\n}","import { Component, Input } from \"@angular/core\";\r\nimport { Stretch } from \"../Common\";\r\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\n@Component({\r\n selector: 'Image',\r\n template: `<img [src]=\"Source\" [class]=\"Stretch\" [ngStyle]=\"imageStyle\" [alt]=\"\">`,\r\n styleUrl: 'Image.scss',\r\n imports: [CommonModule]\r\n})\r\nexport class ImageComponent extends FrameworkElementComponent {\r\n @Input() Source?: string;\r\n @Input() Stretch: Stretch = 'Uniform';\r\n\r\n protected get imageStyle() {\r\n return {\r\n width: this.Width,\r\n height: this.Height\r\n }\r\n }\r\n}","import { Component, ContentChild, EventEmitter, HostBinding, HostListener, Input, Output } from \"@angular/core\";\r\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\r\nimport { FlyoutBaseComponent } from \"../primitives/FlyoutBase\";\r\n\r\n@Component({\r\n selector: 'AppBarButton',\r\n template: `<div class=\"icon\">{{Icon}}<ng-content select=\"[Icon]\"/></div><div class=\"text\">{{Text}}</div><ng-content/>`,\r\n styleUrl: 'AppBarButton.scss'\r\n})\r\nexport class AppBarButtonComponent extends FrameworkElementComponent {\r\n @Input() IsEnabled = true;\r\n @Input() Text?: string;\r\n @Input() Icon?: string;\r\n @Output() Click = new EventEmitter();\r\n\r\n @HostBinding('class.disabled')\r\n private get disabled() {\r\n return !this.IsEnabled;\r\n }\r\n\r\n @ContentChild('xaml-flyout')\r\n private _flyout?: FlyoutBaseComponent;\r\n\r\n @HostListener('click', ['$event'])\r\n protected onHostPointerEvent(event: Event) {\r\n if (!this.IsEnabled) return;\r\n\r\n this.Click.emit(event);\r\n this._flyout?.Show();\r\n }\r\n}","import { Component } from \"@angular/core\";\r\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\r\n\r\n@Component({\r\n selector: 'CommandBar',\r\n template: `<ng-content/>`,\r\n styleUrl: 'CommandBar.scss'\r\n})\r\nexport class CommandBarComponent extends FrameworkElementComponent {\r\n\r\n}","export class MenuFlyoutItemBase {\r\n \r\n}","import { CommonModule } from \"@angular/common\";\r\nimport { Component, EventEmitter, HostBinding, HostListener, Input, Output, ViewChild } from \"@angular/core\";\r\nimport { MenuFlyoutItemBase } from \"./MenuFlyoutItemBase\";\r\n\r\n@Component({\r\n selector: 'MenuFlyoutItem',\r\n imports: [CommonModule],\r\n template: `<div class=\"icon\">{{Icon}}<ng-content select=\"[Icon]\"/></div>\r\n <div class=\"text\">{{Text}}</div>\r\n <div class=\"submenu-indicator\"></div>`,\r\n styleUrl: 'MenuFlyoutItem.scss'\r\n})\r\nexport class MenuFlyoutItemComponent extends MenuFlyoutItemBase {\r\n @Input() IsEnabled = true;\r\n @Input() Text = '';\r\n @Input() Icon?: string;\r\n @Output() Click = new EventEmitter();\r\n\r\n @HostBinding('class.disabled')\r\n private get disabled() {\r\n return !this.IsEnabled;\r\n }\r\n\r\n @HostListener('click', [])\r\n private onClick() {\r\n if (!this.IsEnabled) return;\r\n this.Click.emit();\r\n }\r\n}","import { Component, EventEmitter, HostBinding, HostListener, Input, Output } from \"@angular/core\";\nimport { MenuFlyoutItemBase } from \"./MenuFlyoutItemBase\";\n\n@Component({\n selector: 'ToggleMenuFlyoutItem',\n template: `<div class=\"icon\">{{IsChecked ? '\\uE73E' : '' }}</div>\n <div class=\"text\">{{Text}}</div>`,\n styleUrl: 'MenuFlyoutItem.scss'\n})\nexport class ToggleMenuFlyoutItemComponent extends MenuFlyoutItemBase {\n @Input() IsEnabled = true;\n @Input() Text = '';\n @Input() @HostBinding('class.checked') IsChecked: boolean = false;\n @Output() IsCheckedChange = new EventEmitter<boolean>();\n\n @HostBinding('class.disabled')\n private get disabled() {\n return !this.IsEnabled;\n }\n\n @HostListener('pointerup', ['$event'])\n private onPointerUp(event: PointerEvent) {\n if (!this.IsEnabled) return;\n this.IsChecked = !this.IsChecked;\n this.IsCheckedChange.emit(this.IsChecked);\n }\n}","import { Component } from \"@angular/core\";\r\nimport { MenuFlyoutItemBase } from \"./MenuFlyoutItemBase\";\r\n\r\n@Component({\r\n selector: 'MenuFlyoutSeparator',\r\n template: `<div class=\"separator\"></div>`,\r\n styleUrl: 'MenuFlyoutSeparator.scss'\r\n})\r\nexport class MenuFlyoutSeparator extends MenuFlyoutItemBase {\r\n\r\n}","import { Directive, HostBinding, Input, NgModule } from \"@angular/core\";\n\n@Directive ({\n selector: '[ToolTipService-ToolTip]',\n standalone: false\n})\nexport class ToolTipDirective {\n @Input('ToolTipService-ToolTip') @HostBinding('attr.title') ToolTip?: string; //For now we just use the title\n}\n\n@NgModule({\n declarations: [ToolTipDirective],\n exports: [ToolTipDirective]\n})\nexport class ToolTipServiceModule { }","import { Component, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild } from \"@angular/core\";\r\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\r\nimport { TextAlignment } from \"../Common\";\r\nimport { RepeatButtonComponent } from \"../basic-input/RepeatButton\";\r\nimport { FontIconComponent } from \"../icons/FontIcon\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FlyoutComponent } from \"../dialogs-and-flyouts/Flyout\";\r\n\r\nexport type NumberInputMode = 'Float' | 'Integer';\r\nexport type NumberFormatter = (value: number) => string;\r\n\r\n@Component({\r\n selector: 'NumberBox',\r\n template: `<label>\r\n <div class=\"icon\">&#xEC8F;</div>\r\n <input #input type=\"text\" [disabled]=\"!IsEnabled\" [value]=\"Text\" (change)=\"onChange()\" [placeholder]=\"PlaceholderText\" [style]=\"{'text-align': TextAlignment}\" (blur)=\"onBlur()\" (keydown)=\"onKeyDown($event)\"/>\r\n <Flyout #flyout Padding=\"2px\" Placement=\"Left\" [HasBackdrop]=\"false\" [Target]=\"flyoutTarget\">\r\n <RepeatButton Class=\"InlineButtonStyle\" (Click)=\"onIncreaseClick()\" [Delay]=\"500\" [Interval]=\"50\" (pointerdown)=\"onButtonPress()\" (pointerup)=\"onButtonPress()\"><FontIcon Glyph=\"&#xE70E;\"/></RepeatButton>\r\n <RepeatButton Class=\"InlineButtonStyle\" (Click)=\"onDecreaseClick()\" [Delay]=\"500\" [Interval]=\"50\" (pointerdown)=\"onButtonPress()\" (pointerup)=\"onButtonPress()\"><FontIcon Glyph=\"&#xE70D;\"/></RepeatButton>\r\n </Flyout>\r\n <div class=\"unit\" *ngIf=\"Unit !== undefined\">{{Unit}}</div> \r\n </label>`,\r\n styleUrls: ['TextBox.scss', 'NumberBox.scss'],\r\n imports: [CommonModule, RepeatButtonComponent, FontIconComponent, FlyoutComponent]\r\n})\r\nexport class NumberBoxComponent extends FrameworkElementComponent {\r\n @Input() IsEnabled: boolean = true;\r\n @Input() PlaceholderText: string = '';\r\n @Input() IsPlaceholderEditable: boolean = false;\r\n @Input() TextAlignment?: TextAlignment = 'Left';\r\n\r\n @Input() InputMode: NumberInputMode = 'Float';\r\n @Input() Minimum: number = -Infinity;\r\n @Input() Maximum: number = Infinity;\r\n @Input() SmallChange: number = 1;\r\n @Input() LargeChange: number = 10;\r\n @Input() NumberFormatter: NumberFormatter = (value: number) => value.toString();\r\n @Input() Unit?: string;\r\n\r\n @Output() ValueChange = new EventEmitter<number>();\r\n\r\n protected get flyoutTarget() {\r\n return this._input?.nativeElement;\r\n }\r\n\r\n @ViewChild('input')\r\n private _input!: ElementRef<HTMLInputElement>;\r\n\r\n @ViewChild('flyout')\r\n private _flyout!: FlyoutComponent;\r\n\r\n private _text = '';\r\n get Text() {\r\n return this._text;\r\n }\r\n\r\n private _value: number = NaN;\r\n get Value() {\r\n return this._value;\r\n }\r\n @Input() set Value(value: number) {\r\n this.setValue(value);\r\n this.updateText();\r\n }\r\n\r\n private setValue(value: number) {\r\n value = this.clampValue(value);\r\n if (value == this.Value) return;\r\n\r\n this._value = value;\r\n this.ValueChange.emit(value);\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.TextAlignment = 'Right';\r\n }\r\n\r\n protected onChange() {\r\n this._text = this._input.nativeElement.value;\r\n\r\n let value: number | undefined;\r\n switch (this.InputMode) {\r\n case 'Float':\r\n value = parseFloat(this._text);\r\n break;\r\n case 'Integer':\r\n value = parseInt(this._text);\r\n break;\r\n }\r\n\r\n this.setValue(value);\r\n }\r\n\r\n private clampValue(value: number) {\r\n if (!Number.isNaN(value)) {\r\n if (this.Minimum !== undefined && value < this.Minimum) value = this.Minimum;\r\n if (this.Maximum !== undefined && value > this.Maximum) value = this.Maximum;\r\n }\r\n return value;\r\n }\r\n\r\n protected onIncreaseClick() {\r\n this.Value += this.SmallChange;\r\n }\r\n\r\n protected onDecreaseClick() {\r\n this.Value -= this.SmallChange;\r\n }\r\n\r\n protected onButtonPress() {\r\n this._input.nativeElement.focus();\r\n setTimeout(() => this.cancelFlyoutDismiss(), 0);\r\n }\r\n\r\n private _blurTimeout: any;\r\n\r\n private cancelFlyoutDismiss() {\r\n if (this._blurTimeout) {\r\n\r\n clearTimeout(this._blurTimeout);\r\n this._blurTimeout = undefined;\r\n }\r\n }\r\n\r\n private scheduleFlyoutDismiss() {\r\n this.cancelFlyoutDismiss();\r\n\r\n this._blurTimeout = setTimeout(() => {\r\n this._flyout.Hide();\r\n }, 0);\r\n }\r\n\r\n protected onBlur() {\r\n this.updateText();\r\n this._input.nativeElement.value = this._text;\r\n\r\n if (this.IsPlaceholderEditable && this._input.nativeElement.value === this.PlaceholderText) {\r\n this._input.nativeElement.value = '';\r\n this.onChange();\r\n }\r\n\r\n this.scheduleFlyoutDismiss();\r\n }\r\n\r\n protected onKeyDown(event: KeyboardEvent) {\r\n switch (event.key) {\r\n case 'ArrowUp':\r\n this.Value += this.SmallChange;\r\n break;\r\n case 'ArrowDown':\r\n this.Value -= this.SmallChange;\r\n break;\r\n case 'PageUp':\r\n this.Value += this.LargeChange;\r\n break;\r\n case 'PageDown':\r\n this.Value -= this.LargeChange;\r\n break;\r\n }\r\n }\r\n\r\n @HostListener('click', [])\r\n private onClick() {\r\n this._input.nativeElement.focus();\r\n }\r\n\r\n @HostListener('focusin', [])\r\n private onFocusIn() {\r\n if (this.IsPlaceholderEditable && Number.isNaN(this.Value)) {\r\n this._input.nativeElement.value = this.PlaceholderText;\r\n this.onChange();\r\n }\r\n\r\n this._flyout.Show();\r\n this._input.nativeElement.select();\r\n }\r\n\r\n private updateText() {\r\n this._text = Number.isNaN(this.Value) ? '' : this.NumberFormatter(this.Value);\r\n }\r\n\r\n @HostListener('contextmenu', ['$event'])\r\n private onContextMenu(event: Event) {\r\n event.stopPropagation();\r\n }\r\n}","import { Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, output, ViewChild } from \"@angular/core\";\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\nimport { TextAlignment, TextWrapping } from \"../Common\";\nimport { CommonModule } from \"@angular/common\";\n\n@Component({\n selector: 'TextBox',\n imports: [CommonModule],\n template: `<input #input *ngIf=\"TextWrapping === 'NoWrap'\" type=\"text\" [disabled]=\"!IsEnabled\" [value]=\"Text\" (input)=\"onInput($event)\" [placeholder]=\"PlaceholderText\" [style]=\"{'text-align': TextAlignment}\"/>\n <textarea *ngIf=\"TextWrapping === 'Wrap'\" [disabled]=\"!IsEnabled\" [value]=\"Text\" (change)=\"onInput($event)\" [placeholder]=\"PlaceholderText\" [style]=\"{'text-align': TextAlignment}\"></textarea>`,\n styleUrl: 'TextBox.scss'\n})\nexport class TextBoxComponent extends FrameworkElementComponent {\n @Input() IsEnabled: boolean = true;\n @Input() PlaceholderText: string = '';\n @Input() TextAlignment?: TextAlignment = 'Left';\n @Input() TextWrapping: TextWrapping = 'NoWrap';\n\n @ViewChild('input')\n private _input!: ElementRef<HTMLInputElement>;\n \n private _text = '';\n get Text() {\n return this._text;\n }\n @Input() set Text(value: string) {\n if(value == this._text) return;\n\n this._text = value;\n this.TextChange.emit(value);\n }\n @Output() TextChange = new EventEmitter<string>();\n\n protected onInput(event: Event) {\n this.Text = ((event.target) as HTMLInputElement).value;\n }\n\n @HostBinding('class.disabled')\n private get disabled() {\n return !this.IsEnabled;\n }\n\n @HostListener('click', [])\n private onClick() {\n this._input.nativeElement.focus();\n }\n\n @HostListener('contextmenu', ['$event'])\n private onContextMenu(event: Event) {\n event.stopPropagation();\n }\n\n Focus() {\n setTimeout(() => {\n this._input.nativeElement.focus();\n }, 0);\n }\n}","/*\n * Public API Surface of xaml-ui\n */\n\n//Basic input\nexport * from './lib/basic-input/Button';\nexport * from './lib/basic-input/CheckBox';\nexport * from './lib/basic-input/ColorPicker';\nexport * from './lib/basic-input/ComboBox';\nexport * from './lib/basic-input/DropDownButton';\nexport * from './lib/basic-input/RadioButton';\nexport * from './lib/basic-input/RadioToggleButton';\nexport * from './lib/basic-input/RepeatButton';\nexport * from './lib/basic-input/Slider';\nexport * from './lib/basic-input/SplitButton';\nexport * from './lib/basic-input/ToggleButton';\nexport * from './lib/basic-input/ToggleSwitch';\n\n//Collections\nexport * from './lib/collections/ListBox';\nexport * from './lib/collections/ListView';\n\n//Dialogs and flyouts\nexport * from './lib/dialogs-and-flyouts/ContentDialog';\nexport * from './lib/dialogs-and-flyouts/ContextFlyout';\nexport * from './lib/dialogs-and-flyouts/Dialog';\nexport * from './lib/dialogs-and-flyouts/Flyout';\n\n//Icons\nexport * from './lib/icons/FontIcon';\n\n//Layout\nexport * from './lib/layout/Border';\nexport * from './lib/layout/Grid';\nexport * from './lib/layout/Panel';\nexport * from './lib/layout/StackPanel';\n\n//Media\nexport * from './lib/media/Image';\n\n//Menus and toolbars\nexport * from './lib/menus-and-toolbars/AppBarButton';\nexport * from './lib/menus-and-toolbars/CommandBar';\nexport * from './lib/menus-and-toolbars/MenuFlyout';\nexport * from './lib/menus-and-toolbars/MenuFlyoutItem';\nexport * from './lib/menus-and-toolbars/ToggleMenuFlyoutItem';\nexport * from './lib/menus-and-toolbars/MenuFlyoutItemBase';\nexport * from './lib/menus-and-toolbars/MenuFlyoutSeparator';\n\n//Primitives\nexport * from './lib/primitives/DialogPresenter'\nexport * from './lib/primitives/FlyoutBase'\nexport * from './lib/primitives/FlyoutPresenter'\nexport * from './lib/primitives/Selector'\n\n//Scrolling\nexport * from './lib/scrolling/ScrollBar';\nexport * from './lib/scrolling/ScrollViewer';\n\n//Status and info\nexport * from './lib/status-and-info/ToolTipService';\n\n//Text\nexport * from './lib/text/NumberBox';\nexport * from './lib/text/TextBlock';\nexport * from './lib/text/TextBox';\n\n//Common\nexport * from './lib/Color';\nexport * from './lib/Common';\nexport * from './lib/FrameworkElement';\nexport * from './lib/XamlRoot';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.GridComponent","i1.GridComponent","i1.ItemContainerComponent"],"mappings":"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"}
1
+ {"version":3,"file":"xaml-ui.mjs","sources":["../../../projects/xaml-ui/src/lib/Common.ts","../../../projects/xaml-ui/src/lib/FrameworkElement.ts","../../../projects/xaml-ui/src/lib/layout/Panel.ts","../../../projects/xaml-ui/src/lib/layout/Border.ts","../../../projects/xaml-ui/src/lib/basic-input/Button.ts","../../../projects/xaml-ui/src/lib/basic-input/CheckBox.ts","../../../projects/xaml-ui/src/lib/Color.ts","../../../projects/xaml-ui/src/lib/basic-input/ColorPicker.ts","../../../projects/xaml-ui/src/lib/primitives/Selector.ts","../../../projects/xaml-ui/src/lib/scrolling/ScrollBar.ts","../../../projects/xaml-ui/src/lib/scrolling/ScrollViewer.ts","../../../projects/xaml-ui/src/lib/layout/StackPanel.ts","../../../projects/xaml-ui/src/lib/primitives/ItemContainer.ts","../../../projects/xaml-ui/src/lib/collections/ListView.ts","../../../projects/xaml-ui/src/lib/basic-input/DropDownButton.ts","../../../projects/xaml-ui/src/lib/primitives/FlyoutPresenter.ts","../../../projects/xaml-ui/src/lib/primitives/FlyoutBase.ts","../../../projects/xaml-ui/src/lib/dialogs-and-flyouts/Flyout.ts","../../../projects/xaml-ui/src/lib/basic-input/ComboBox.ts","../../../projects/xaml-ui/src/lib/basic-input/RadioButton.ts","../../../projects/xaml-ui/src/lib/basic-input/RadioToggleButton.ts","../../../projects/xaml-ui/src/lib/basic-input/RepeatButton.ts","../../../projects/xaml-ui/src/lib/basic-input/Slider.ts","../../../projects/xaml-ui/src/lib/layout/Grid.ts","../../../projects/xaml-ui/src/lib/basic-input/SplitButton.ts","../../../projects/xaml-ui/src/lib/basic-input/ToggleButton.ts","../../../projects/xaml-ui/src/lib/basic-input/ToggleSwitch.ts","../../../projects/xaml-ui/src/lib/collections/ListBox.ts","../../../projects/xaml-ui/src/lib/XamlRoot.ts","../../../projects/xaml-ui/src/lib/primitives/DialogPresenter.ts","../../../projects/xaml-ui/src/lib/dialogs-and-flyouts/Dialog.ts","../../../projects/xaml-ui/src/lib/text/TextBlock.ts","../../../projects/xaml-ui/src/lib/dialogs-and-flyouts/ContentDialog.ts","../../../projects/xaml-ui/src/lib/menus-and-toolbars/MenuFlyout.ts","../../../projects/xaml-ui/src/lib/dialogs-and-flyouts/ContextFlyout.ts","../../../projects/xaml-ui/src/lib/icons/FontIcon.ts","../../../projects/xaml-ui/src/lib/media/Image.ts","../../../projects/xaml-ui/src/lib/menus-and-toolbars/AppBarButton.ts","../../../projects/xaml-ui/src/lib/menus-and-toolbars/CommandBar.ts","../../../projects/xaml-ui/src/lib/menus-and-toolbars/MenuFlyoutItemBase.ts","../../../projects/xaml-ui/src/lib/menus-and-toolbars/MenuFlyoutItem.ts","../../../projects/xaml-ui/src/lib/menus-and-toolbars/ToggleMenuFlyoutItem.ts","../../../projects/xaml-ui/src/lib/menus-and-toolbars/MenuFlyoutSeparator.ts","../../../projects/xaml-ui/src/lib/status-and-info/ToolTipService.ts","../../../projects/xaml-ui/src/lib/status-and-info/ProgressBar.ts","../../../projects/xaml-ui/src/lib/status-and-info/ProgressRing.ts","../../../projects/xaml-ui/src/lib/text/NumberBox.ts","../../../projects/xaml-ui/src/lib/text/TextBox.ts","../../../projects/xaml-ui/src/public-api.ts","../../../projects/xaml-ui/src/xaml-ui.ts"],"sourcesContent":["import { EventEmitter } from \"@angular/core\";\n\nexport type HorizontalAlignment = 'Left' | 'Center' | 'Right' | 'Stretch';\nexport type VerticalAlignment = 'Top' | 'Center' | 'Bottom' | 'Stretch';\nexport type Orientation = 'Horizontal' | 'Vertical';\nexport type ScrollMode = 'Disabled' | 'Enabled' | 'Auto';\nexport type FontStyle = 'Normal' | 'Oblique' | 'Italic';\nexport type FontWeights = 'Black' | 'Bold' | 'ExtraBlack' | 'ExtraBold' | 'ExtraLight' | 'Light' | 'Medium' | 'Normal' | 'SemiBold' | 'SemiLight' | 'Thin';\nexport type TextAlignment = 'Center' | 'Left' | 'Right' | 'Justify';\nexport type XamlBoolean = 'False' | 'True';\nexport type TextDecorations = 'None' | 'Underline' | 'Strikethrough';\nexport type TextTrimming = 'None' | 'CharacterEllipsis' | 'Clip';\nexport type TextWrapping = 'NoWrap' | 'Wrap';\nexport type FlyoutPlacementMode = 'Top' | 'Bottom' | 'Left' | 'Right' | 'TopEdgeAlignedLeft' | 'TopEdgeAlignedRight' | 'BottomEdgeAlignedLeft' | 'BottomEdgeAlignedRight' | 'LeftEdgeAlignedTop' | 'LeftEdgeAlignedBottom' | 'RightEdgeAlignedTop' | 'RightEdgeAlignedBottom' | 'Cover';\nexport type Stretch = 'None' | 'Fill' | 'Uniform' | 'UniformToFill';\nexport type UpdateTrigger = 'PropertyChanged' | 'LostFocus';\n\nexport function toJustification(value: HorizontalAlignment) {\n return value.toLowerCase();\n}\n\nexport function toAlignment(value: VerticalAlignment) {\n switch (value) {\n case 'Top':\n return 'flex-start';\n case 'Center':\n return 'center';\n case 'Bottom':\n return 'flex-end';\n case 'Stretch':\n return 'stretch';\n }\n}\n\nexport async function resume_after(timeout: number) {\n await new Promise<void>(p => setTimeout(p, timeout));\n}\n\nexport async function resume_on_event<T>(event: EventEmitter<T>) {\n await new Promise<T>(p => event.subscribe(q => p(q))); \n}","import { Component, HostBinding, Input } from \"@angular/core\";\nimport { HorizontalAlignment, toAlignment, toJustification, VerticalAlignment } from \"./Common\";\n\n@Component({\n selector: 'FrameworkElement',\n template: `<ng-container/>`\n})\nexport abstract class FrameworkElementComponent {\n @Input() Width?: string;\n @Input() MinWidth?: string;\n @Input() @HostBinding('style.max-width') MaxWidth?: string;\n\n @Input() Height?: string;\n @Input() MinHeight?: string;\n @Input() @HostBinding('style.max-height') MaxHeight?: string;\n\n @Input() HorizontalAlignment: HorizontalAlignment = 'Stretch';\n @Input() VerticalAlignment: VerticalAlignment = 'Stretch';\n @Input() @HostBinding('style.margin') Margin?: string;\n @Input() @HostBinding('style.padding') Padding?: string;\n\n @HostBinding('style.overflow')\n protected get overflow() {\n return 'hidden';\n }\n\n @HostBinding('style.min-width')\n protected get minWidth() {\n if (this.MinWidth !== undefined) return this.MinWidth;\n return this.MaxWidth === undefined && this.HorizontalAlignment === 'Stretch' ? 'min-content' : undefined;\n }\n\n @HostBinding('style.min-height')\n protected get minHeight() {\n if (this.MinHeight !== undefined) return this.MinHeight;\n return this.MaxHeight === undefined && this.VerticalAlignment === 'Stretch' ? 'min-content' : undefined;\n }\n\n @HostBinding('style.width')\n protected get width() {\n if (this.Width !== undefined) return this.Width;\n return this.HorizontalAlignment === 'Stretch' ? undefined : 'min-content';\n }\n\n @HostBinding('style.height')\n protected get height() {\n if (this.Height !== undefined) return this.Height;\n return this.VerticalAlignment === 'Stretch' ? undefined : 'min-content';\n }\n\n @HostBinding('style.justify-self')\n protected get justifySelf() {\n return toJustification(this.HorizontalAlignment);\n }\n\n @HostBinding('style.align-self')\n protected get alignSelf() {\n return toAlignment(this.VerticalAlignment);\n }\n\n private static _nextId = 1;\n protected readonly _id = FrameworkElementComponent._nextId++;\n}","import { Component, HostBinding, Input } from \"@angular/core\";\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\n\n@Component({\n selector: 'Border',\n template: `<ng-content/>`,\n styles: `:host { \n display: grid;\n position: relative;\n }`\n})\nexport abstract class PanelComponent extends FrameworkElementComponent {\n @Input() @HostBinding('style.background') Background?: string;\n @Input() @HostBinding('style.border-radius') CornerRadius?: string;\n @Input() @HostBinding('style.border-width') BorderThickness?: string;\n @Input() @HostBinding('style.border-color') BorderBrush?: string;\n \n @HostBinding('style.border-style')\n private get borderStyle() {\n return this.BorderThickness !== undefined ? 'solid' : undefined;\n }\n}","import { Component } from \"@angular/core\";\nimport { PanelComponent } from \"./Panel\";\n\n@Component({\n selector: 'Border',\n template: `<ng-content/>`,\n styles: `:host { \n display: grid;\n position: relative;\n }`\n})\nexport class BorderComponent extends PanelComponent {\n}","import { Component, ContentChild, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output } from \"@angular/core\";\nimport { BorderComponent } from \"../layout/Border\";\nimport { HorizontalAlignment, toAlignment, toJustification, VerticalAlignment } from \"../Common\";\nimport { FlyoutBaseComponent } from \"../primitives/FlyoutBase\";\n\n@Component({\n selector: 'Button',\n template: `<ng-content/>`,\n styleUrl: 'Button.scss'\n})\nexport class ButtonComponent extends BorderComponent {\n @Input() IsEnabled: boolean = true;\n\n @Output() Click = new EventEmitter();\n\n @Input() HorizontalContentAlignment: HorizontalAlignment = 'Center';\n @Input() VerticalContentAlignment: VerticalAlignment = 'Center';\n\n @HostBinding('style.align-content')\n private get alignContent() {\n return toAlignment(this.VerticalContentAlignment);\n }\n\n @HostBinding('style.justify-content')\n private get justifyContent() {\n return toJustification(this.HorizontalContentAlignment);\n }\n\n @HostBinding('attr.type')\n private readonly type = 'button';\n\n @HostBinding('attr.disabled')\n @HostBinding('class.disabled')\n private get disabled() {\n return this.IsEnabled ? undefined : true;\n }\n\n @HostBinding('class.flyout-open')\n private get flyoutOpen() {\n return this._flyout?.IsOpen;\n }\n\n @ContentChild('xaml-flyout')\n private _flyout?: FlyoutBaseComponent;\n\n @HostListener('click', ['$event'])\n protected onHostPointerEvent(event: Event) {\n if (!this.IsEnabled) return;\n\n this.Click.emit(event);\n this._flyout?.Show();\n }\n}","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { BorderComponent } from \"../layout/Border\";\n\n@Component({\n selector: 'CheckBox',\n template: `<label class=\"container\">\n <input type=\"checkbox\" [checked]=\"IsChecked\" (change)=\"onChange($event)\" [disabled]=\"!IsEnabled\">\n <div class=\"checkBox\">\n <div class=\"checkMark\">&#xE73E;</div>\n </div>\n <div class=\"content\">\n <ng-content/>\n </div>\n </label>`,\n styleUrl: 'CheckBox.scss'\n})\nexport class CheckBoxComponent extends BorderComponent {\n @Input() IsEnabled = true;\n @Input() IsChecked = false;\n @Output() IsCheckedChange = new EventEmitter<boolean>();\n\n protected onChange(event: Event) {\n this.IsChecked = ((event.target) as HTMLInputElement).checked;\n this.IsCheckedChange.emit(this.IsChecked);\n }\n}","export type Color = number;\r\nexport function colorToString(value: Color): string {\r\n return '#' + value.toString(16).padStart(8, '0');\r\n}\r\n\r\nexport function stringToColor(value: string): Color {\r\n return parseInt(value.replace('#', ''), 16);\r\n}\r\n\r\nexport type ColorRGBA = {\r\n r: number;\r\n g: number;\r\n b: number;\r\n a: number;\r\n};\r\n\r\nexport type ColorHSLA = {\r\n h: number;\r\n s: number;\r\n l: number;\r\n a: number;\r\n};\r\n\r\nexport function colorToRgb(value: Color): ColorRGBA {\r\n return {\r\n r: value >> 16 & 0xff,\r\n g: value >> 8 & 0xff,\r\n b: value & 0xff,\r\n a: value >> 24 & 0xff\r\n };\r\n}\r\n\r\nexport function rgbToHsl(rgb: ColorRGBA): ColorHSLA {\r\n const { r: r255, g: g255, b: b255, a: a255 } = rgb;\r\n\r\n const r = r255 / 255;\r\n const g = g255 / 255;\r\n const b = b255 / 255;\r\n const a = a255 / 255;\r\n\r\n let max = Math.max(r, g, b);\r\n let min = Math.min(r, g, b);\r\n\r\n let h = (max + min) / 2;\r\n let s = h;\r\n let l = h;\r\n\r\n if (max === min) {\r\n // Achromatic\r\n return { h: 0, s: 0, l: l * 100, a: a * 100 };\r\n }\r\n\r\n const d = max - min;\r\n s = l >= 0.5 ? d / (2 - (max + min)) : d / (max + min);\r\n switch (max) {\r\n case r:\r\n h = ((g - b) / d + 0) * 60;\r\n break;\r\n case g:\r\n h = ((b - r) / d + 2) * 60;\r\n break;\r\n case b:\r\n h = ((r - g) / d + 4) * 60;\r\n break;\r\n }\r\n\r\n return { h, s: s * 100, l: l * 100, a: a * 100 };\r\n}","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, Output, ViewChild } from \"@angular/core\";\r\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\r\nimport { Color, colorToRgb, rgbToHsl } from \"../Color\";\r\n\r\n@Component({\r\n selector: 'ColorPicker',\r\n template: `<canvas #canvas (pointerdown)=\"onPointerDown($event)\" (pointermove)=\"onPointerMove($event)\"></canvas><div #selector class=\"selector\"></div>`,\r\n styleUrl: 'ColorPicker.scss'\r\n})\r\nexport class ColorPickerComponent extends FrameworkElementComponent implements AfterViewInit {\r\n\r\n private _color: Color = 0xffffffff;\r\n get Color() {\r\n return this._color;\r\n }\r\n @Input() set Color(value: Color) { \r\n this.setColor(value);\r\n this.updateSelectorPosition();\r\n }\r\n\r\n private setColor(value: Color) {\r\n if(this._color === value) return;\r\n\r\n this._color = value;\r\n this.ColorChange.emit(value);\r\n }\r\n\r\n @Output() ColorChange = new EventEmitter<Color>();\r\n\r\n @ViewChild('canvas')\r\n private _canvas!: ElementRef<HTMLCanvasElement>;\r\n\r\n @ViewChild('selector')\r\n private _selector!: ElementRef<HTMLDivElement>;\r\n\r\n private _context!: CanvasRenderingContext2D;\r\n\r\n ngAfterViewInit(): void {\r\n let canvas = this._canvas.nativeElement;\r\n canvas.width = parseInt(this.Width ?? '300');\r\n canvas.height = parseInt(this.Height ?? '300');\r\n\r\n let context = this._context = canvas.getContext('2d', { willReadFrequently: true })!;\r\n let radius = canvas.width / 2;\r\n\r\n // Draw hue circle\r\n for (let angle = 0; angle < 360; angle++) {\r\n let startAngle = (angle - 1) * (Math.PI / 180);\r\n let endAngle = (angle + 1) * (Math.PI / 180);\r\n context.beginPath();\r\n context.moveTo(radius, radius);\r\n context.arc(radius, radius, radius * 2, startAngle, endAngle);\r\n context.closePath();\r\n context.fillStyle = `hsl(${angle}, 100%, 50%)`;\r\n context.fill();\r\n }\r\n\r\n // Add radial gradient for saturation\r\n let gradient = context.createRadialGradient(radius, radius, 0, radius, radius, radius);\r\n gradient.addColorStop(0, 'white');\r\n gradient.addColorStop(1, 'transparent');\r\n context.fillStyle = gradient;\r\n context.fillRect(0, 0, canvas.width, canvas.height);\r\n\r\n // Position sample\r\n this.updateSelectorPosition();\r\n }\r\n\r\n protected onPointerDown(event: PointerEvent) {\r\n this._canvas.nativeElement.setPointerCapture(event.pointerId);\r\n this.onPointerMove(event);\r\n }\r\n\r\n protected onPointerMove(event: PointerEvent) {\r\n if (!this._canvas.nativeElement.hasPointerCapture(event.pointerId)) return;\r\n let radius = this._canvas.nativeElement.width / 2;\r\n let rawX = event.offsetX - radius;\r\n let rawY = event.offsetY - radius;\r\n let length = Math.sqrt(rawX * rawX + rawY * rawY);\r\n let scale = length < radius ? 1 : radius / Math.sqrt(rawX * rawX + rawY * rawY);\r\n let sampleX = radius + rawX * scale;\r\n let sampleY = radius + rawY * scale;\r\n\r\n this._selector.nativeElement.style.left = sampleX + 'px';\r\n this._selector.nativeElement.style.top = sampleY + 'px';\r\n\r\n let imageData = this._context.getImageData(sampleX, sampleY, 1, 1).data;\r\n let [r, g, b] = imageData;\r\n let color = ((0xff << 24) + (r << 16) + (g << 8) + b) >>> 0;\r\n this.setColor(color);\r\n }\r\n\r\n private updateSelectorPosition() {\r\n if (!this._canvas) return;\r\n\r\n let rgb = colorToRgb(this.Color);\r\n let hsl = rgbToHsl(rgb);\r\n\r\n let radius = this._canvas.nativeElement.width / 2;\r\n let angle = hsl.h / 180 * Math.PI;\r\n let length = hsl.s / 100 * radius;\r\n let x = radius + Math.cos(angle) * length;\r\n let y = radius + Math.sin(angle) * length;\r\n this._selector.nativeElement.style.left = x + 'px';\r\n this._selector.nativeElement.style.top = y + 'px';\r\n }\r\n}","import { Component, ContentChild, EventEmitter, HostBinding, Input, Output, TemplateRef } from \"@angular/core\";\r\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\r\nimport { HorizontalAlignment, toAlignment, toJustification, VerticalAlignment } from \"../Common\";\r\n\r\nexport const SelectorItemTemplate =\r\n `<ng-container *ngIf=\"ItemTemplate\">\r\n <ng-container [ngTemplateOutlet]=\"ItemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item }\" [ngTemplateOutletInjector]=\"container.Injector\" />\r\n </ng-container>\r\n <ng-container *ngIf=\"!ItemTemplate\">{{ DisplayMemberPath ? item[DisplayMemberPath] : item }}</ng-container>`;\r\n\r\n@Component({\r\n selector: 'Selector',\r\n template: '',\r\n})\r\nexport abstract class SelectorComponent extends FrameworkElementComponent {\r\n @ContentChild(TemplateRef) ItemTemplate!: TemplateRef<any>;\r\n\r\n @Input() IsEnabled: boolean = true;\r\n @Input() HorizontalContentAlignment: HorizontalAlignment = 'Left';\r\n @Input() VerticalContentAlignment: VerticalAlignment = 'Center';\r\n\r\n protected get alignContent() {\r\n return toAlignment(this.VerticalContentAlignment);\r\n }\r\n\r\n protected get justifyContent() {\r\n return toJustification(this.HorizontalContentAlignment);\r\n }\r\n\r\n @HostBinding('class.disabled')\r\n private get disabled() {\r\n return !this.IsEnabled;\r\n }\r\n\r\n //ItemSource\r\n private _itemSource: any[] = [];\r\n get ItemSource() {\r\n return this._itemSource;\r\n }\r\n @Input() set ItemSource(value: any[]) {\r\n let oldIndex = this.SelectedIndex;\r\n let oldValue = this.SelectedValue;\r\n let oldItem = this.SelectedItem;\r\n let newIndex = value.findIndex(p => this.getValue(-1, p) == oldValue);\r\n let newValue = newIndex !== -1 ? oldValue : null;\r\n let newItem = newIndex !== -1 ? value[newIndex] : null;\r\n\r\n this._itemSource = value;\r\n this._selectedIndex = newIndex;\r\n\r\n if (oldIndex !== newIndex) this.SelectedIndexChange.emit(this.SelectedIndex);\r\n if (oldValue !== newValue) this.SelectedValueChange.emit(this.SelectedValue);\r\n if (oldItem !== newItem) this.SelectedItemChange.emit(this.SelectedItem);\r\n }\r\n\r\n //Selected index\r\n private _selectedIndex = -1;\r\n get SelectedIndex() {\r\n return this._selectedIndex;\r\n }\r\n @Input() set SelectedIndex(value: number) {\r\n if (this.ItemSource === undefined) return;\r\n if (value < 0 && this.ItemSource.length > 0) value = -1;\r\n if (value >= this.ItemSource.length) value = this.ItemSource.length - 1;\r\n\r\n let oldIndex = this._selectedIndex;\r\n let oldValue = this.SelectedValue;\r\n let oldItem = this.SelectedItem;\r\n this._selectedIndex = value;\r\n let newIndex = this._selectedIndex;\r\n let newValue = this.SelectedValue;\r\n let newItem = this.SelectedItem;\r\n\r\n if (oldIndex !== newIndex) this.SelectedIndexChange.emit(this.SelectedIndex);\r\n if (oldValue !== newValue) this.SelectedValueChange.emit(this.SelectedValue);\r\n if (oldItem !== newItem) this.SelectedItemChange.emit(this.SelectedItem);\r\n }\r\n @Output() SelectedIndexChange = new EventEmitter<number>();\r\n\r\n //Selected value\r\n get SelectedValue() {\r\n if (this.SelectedIndex < 0 || this.SelectedIndex >= this.ItemSource.length) return null;\r\n return this.getValue(-1, this.ItemSource[this.SelectedIndex]);\r\n }\r\n @Input() set SelectedValue(value: any) {\r\n if (this.ItemSource === undefined) return;\r\n this.SelectedIndex = this.ItemSource.findIndex(p => this.getValue(-1, p) == value);\r\n }\r\n @Output() SelectedValueChange = new EventEmitter<any>();\r\n\r\n //Selected item\r\n get SelectedItem() {\r\n if (this.SelectedIndex < 0 || this.SelectedIndex >= this.ItemSource.length) return null;\r\n return this.ItemSource[this.SelectedIndex];\r\n }\r\n @Input() set SelectedItem(value: any) {\r\n if (this.ItemSource === undefined) return;\r\n this.SelectedIndex = this.ItemSource.findIndex(value);\r\n }\r\n @Output() SelectedItemChange = new EventEmitter<any>();\r\n\r\n //Member paths\r\n @Input() DisplayMemberPath?: string;\r\n @Input() SelectedValuePath?: string;\r\n\r\n protected getValue: (index: number, item: any) => any;\r\n\r\n protected onItemClick(event: Event, index: number, item: any) {\r\n if (this.SelectedIndex === index || !this.IsEnabled) return;\r\n\r\n this.SelectedIndex = index;\r\n event.stopPropagation();\r\n }\r\n\r\n GetElement(index: number) {\r\n return document.querySelector(`#xaml-selector-${this._id}-item-${index}`) as HTMLElement | null;\r\n }\r\n\r\n constructor() {\r\n super();\r\n\r\n //This is required otherwise the SelectedValuePath cannot be read\r\n this.getValue = (index: number, item: any) => {\r\n return this.SelectedValuePath !== undefined ? item[this.SelectedValuePath] : item;\r\n };\r\n }\r\n}","import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild } from \"@angular/core\";\r\nimport { Orientation } from \"../Common\";\r\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\n@Component({\r\n selector: 'ScrollBar',\r\n imports: [CommonModule],\r\n template: `<div class=\"buttons\" (pointerdown)=\"onButtonDown($event, false)\" (pointerup)=\"onButtonUp($event)\">{{decreaseGlyph}}</div>\r\n <div #track class=\"track\" (pointerdown)=\"onTrackDown($event)\" (pointerup)=\"onTrackUp($event)\">\r\n <div #thumb class=\"thumb\" [ngStyle]=\"thumbStyle\" (pointerdown)=\"onPointerDown($event)\" (pointermove)=\"onPointerMove($event)\" (pointerup)=\"onPointerUp($event)\"></div>\r\n </div>\r\n <div class=\"buttons\" (pointerdown)=\"onButtonDown($event, true)\" (pointerup)=\"onButtonUp($event)\">{{increaseGlyph}}</div>`,\r\n styleUrl: 'ScrollBar.scss'\r\n})\r\nexport class ScrollBarComponent extends FrameworkElementComponent { \r\n @Input() Orientation: Orientation = 'Vertical';\r\n\r\n @Input() ViewportSize: number = 0;\r\n @Input() ScrollSize: number = 0;\r\n @Input() StepSize: number = 5;\r\n\r\n private _value = 0;\r\n get Value() {\r\n return this._value;\r\n };\r\n @Input() set Value(value: number) {\r\n let scrollRange = this.ScrollSize - this.ViewportSize;\r\n\r\n if (value > scrollRange) value = scrollRange;\r\n if (value < 0) value = 0;\r\n\r\n this._value = value;\r\n this.ValueChange.emit(value);\r\n }\r\n @Output() ValueChange = new EventEmitter<number>();\r\n\r\n @Input() IsEnabled = true;\r\n\r\n @ViewChild('track')\r\n private _track!: ElementRef<HTMLDivElement>;\r\n\r\n @ViewChild('thumb')\r\n private _thumb!: ElementRef<HTMLDivElement>;\r\n\r\n private _isScrolling = false;\r\n private _startPointerPosition = 0;\r\n private _startScrollPosition = 0;\r\n\r\n protected get decreaseGlyph() {\r\n return this.Orientation === 'Vertical' ? '\\ueddb' : '\\uedd9';\r\n }\r\n\r\n protected get increaseGlyph() {\r\n return this.Orientation === 'Vertical' ? '\\ueddc' : '\\uedda';\r\n }\r\n\r\n @HostBinding('class')\r\n private get class() {\r\n return this.Orientation.toLowerCase();\r\n }\r\n\r\n private getElementSize(element: HTMLElement) {\r\n return this.Orientation === 'Vertical' ? element.offsetHeight : element.offsetWidth;\r\n }\r\n\r\n private getPointerPosition(event: PointerEvent) {\r\n return this.Orientation === 'Vertical' ? event.clientY : event.clientX;\r\n }\r\n\r\n protected get thumbStyle() {\r\n if (!this._track) return {};\r\n\r\n let trackLength = this.getElementSize(this._track.nativeElement);\r\n let scrollPosition = this.Value / (this.ScrollSize - this.ViewportSize);\r\n let size = trackLength * (this.ViewportSize / this.ScrollSize);\r\n let position = scrollPosition * (trackLength - size);\r\n\r\n switch (this.Orientation) {\r\n case 'Vertical':\r\n return {\r\n 'height': size + 'px',\r\n 'top': position + 'px'\r\n };\r\n case 'Horizontal':\r\n return {\r\n 'width': size + 'px',\r\n 'left': position + 'px'\r\n };\r\n }\r\n }\r\n\r\n private _interval?: any;\r\n\r\n protected onButtonDown(event: PointerEvent, direction: boolean) {\r\n (event.target as HTMLElement).setPointerCapture(event.pointerId);\r\n\r\n this._interval = setInterval(() => {\r\n this.Value += direction ? this.StepSize : -this.StepSize;\r\n }, 50);\r\n }\r\n\r\n protected onButtonUp(event: PointerEvent) {\r\n (event.target as HTMLElement).releasePointerCapture(event.pointerId);\r\n\r\n clearInterval(this._interval);\r\n }\r\n\r\n protected onTrackDown(event: PointerEvent) {\r\n let direction: boolean | undefined;\r\n\r\n if (this.Orientation === 'Vertical') {\r\n if (event.offsetY < this._thumb.nativeElement.offsetTop) {\r\n direction = false;\r\n }\r\n\r\n if (this._thumb.nativeElement.offsetTop + this._thumb.nativeElement.offsetHeight < event.offsetY) {\r\n direction = true;\r\n }\r\n }\r\n else {\r\n if (event.offsetX < this._thumb.nativeElement.offsetLeft) {\r\n direction = false;\r\n }\r\n\r\n if (this._thumb.nativeElement.offsetLeft + this._thumb.nativeElement.offsetWidth < event.offsetX) {\r\n direction = true;\r\n }\r\n }\r\n\r\n if (direction === undefined) return;\r\n (event.target as HTMLElement).setPointerCapture(event.pointerId);\r\n\r\n this.Value += direction ? this.ViewportSize : -this.ViewportSize;\r\n this._interval = setInterval(() => {\r\n this.Value += direction ? this.ViewportSize : -this.ViewportSize;\r\n }, 250);\r\n }\r\n\r\n protected onTrackUp(event: PointerEvent) {\r\n (event.target as HTMLElement).releasePointerCapture(event.pointerId);\r\n\r\n clearInterval(this._interval);\r\n }\r\n\r\n protected onPointerDown(event: PointerEvent) {\r\n if (event.buttons !== 1) return;\r\n\r\n this._thumb.nativeElement.setPointerCapture(event.pointerId);\r\n this._isScrolling = true;\r\n this._startPointerPosition = this.getPointerPosition(event);\r\n this._startScrollPosition = this.Value;\r\n event.stopPropagation();\r\n }\r\n\r\n protected onPointerMove(event: PointerEvent) {\r\n if (!this._isScrolling) return;\r\n if (event.buttons !== 1) {\r\n this._isScrolling = false;\r\n return;\r\n }\r\n\r\n let delta = this.getPointerPosition(event) - this._startPointerPosition;\r\n let trackLength = this.getElementSize(this._track.nativeElement);\r\n let thumbLength = this.getElementSize(this._thumb.nativeElement);\r\n\r\n let scrollPercent = delta / (trackLength - thumbLength);\r\n this.Value = this._startScrollPosition + scrollPercent * (this.ScrollSize - this.ViewportSize);\r\n event.stopPropagation();\r\n }\r\n\r\n protected onPointerUp(event: PointerEvent) {\r\n if (event.buttons !== 1) return;\r\n\r\n this._isScrolling = false;\r\n this._thumb.nativeElement.releasePointerCapture(event.pointerId);\r\n event.stopPropagation();\r\n }\r\n}","import { CommonModule } from \"@angular/common\";\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\nimport { AfterViewInit, ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from \"@angular/core\";\nimport { ScrollMode } from \"../Common\";\nimport { ScrollBarComponent } from \"./ScrollBar\";\nimport { CdkScrollable } from \"@angular/cdk/scrolling\";\n\n@Component({\n selector: 'ScrollViewer',\n imports: [CommonModule, ScrollBarComponent, CdkScrollable],\n template: `<div #content class=\"content\" [ngStyle]=\"contentStyle\" (scroll)=\"onScroll()\" cdkScrollable><ng-content/></div>\n <ScrollBar *ngIf=\"IsVerticalScrollBarVisible\" HorizontalAlignment=\"Right\" class=\"scrollbar\" Orientation=\"Vertical\" [ScrollSize]=\"ExtentHeight\" [ViewportSize]=\"ViewportHeight\" [(Value)]=\"VerticalOffset\"/>\n <ScrollBar *ngIf=\"IsHorizontalScrollBarVisible\" VerticalAlignment=\"Bottom\" class=\"scrollbar\" Orientation=\"Horizontal\" [ScrollSize]=\"ExtentWidth\" [ViewportSize]=\"ViewportWidth\" [(Value)]=\"HorizontalOffset\"/>`,\n styleUrl: 'ScrollViewer.scss'\n})\nexport class ScrollViewerComponent extends FrameworkElementComponent implements AfterViewInit {\n @Input() HorizontalScrollMode: ScrollMode = 'Auto';\n @Input() VerticalScrollMode: ScrollMode = 'Auto';\n\n @ViewChild('content')\n private _content!: ElementRef<HTMLDivElement>;\n\n get IsHorizontalScrollBarVisible() {\n switch (this.HorizontalScrollMode) {\n case 'Disabled':\n return false;\n case 'Auto':\n return this.ViewportWidth < this.ExtentWidth;\n case 'Enabled':\n return true;\n }\n }\n\n get IsVerticalScrollBarVisible() {\n switch (this.VerticalScrollMode) {\n case 'Disabled':\n return false;\n case 'Auto':\n return this.ViewportHeight < this.ExtentHeight;\n case 'Enabled':\n return true;\n }\n }\n\n get ExtentWidth() {\n return this._content?.nativeElement.scrollWidth;\n }\n\n get ExtentHeight() {\n return this._content?.nativeElement.scrollHeight;\n }\n\n get ViewportWidth() {\n return this._content?.nativeElement.clientWidth;\n }\n\n get ViewportHeight() {\n return this._content?.nativeElement.clientHeight;\n }\n\n get HorizontalOffset() {\n return this._content?.nativeElement.scrollLeft;\n }\n\n set HorizontalOffset(value: number) {\n if (this._content) this._content.nativeElement.scrollLeft = value;\n }\n\n get VerticalOffset() {\n return this._content?.nativeElement.scrollTop;\n }\n\n set VerticalOffset(value: number) {\n if (this._content) this._content.nativeElement.scrollTop = value;\n }\n\n private static toOverflow(value: ScrollMode) {\n switch (value) {\n case 'Disabled':\n return 'hidden';\n case 'Enabled':\n return 'scroll';\n case 'Auto':\n return 'auto';\n }\n }\n\n protected get contentStyle() {\n return {\n 'overflow-x': ScrollViewerComponent.toOverflow(this.HorizontalScrollMode),\n 'overflow-y': ScrollViewerComponent.toOverflow(this.VerticalScrollMode)\n };\n }\n\n constructor(private _changeDetector: ChangeDetectorRef) {\n super();\n }\n\n protected onScroll() {\n //trigger change detect on scroll\n }\n\n ngAfterViewInit(): void {\n //help the layout finish itself\n this._changeDetector.detectChanges();\n }\n}","import { Component, HostBinding, Input } from \"@angular/core\";\nimport { Orientation } from \"../Common\";\nimport { PanelComponent } from \"./Panel\";\n\n@Component({\n selector: 'StackPanel',\n template: `<ng-content/>`,\n styles: `:host {\n display: grid;\n position: relative;\n }`\n})\nexport class StackPanelComponent extends PanelComponent {\n @Input() Orientation: Orientation = 'Vertical';\n @Input() @HostBinding('style.gap') Spacing? : string;\n\n @HostBinding('style.grid-auto-flow') \n private get gridAutoFlow() {\n return this.Orientation === 'Horizontal' ? 'column' : 'row';\n }\n\n @HostBinding('style.grid-auto-rows') \n private get gridAutoRows() {\n return this.Orientation === 'Vertical' ? 'min-content' : undefined;\n }\n\n @HostBinding('style.grid-auto-columns') \n private get gridAutoColumns() {\n return this.Orientation === 'Horizontal' ? 'min-content' : undefined;\n }\n}","import { Component, ElementRef, Injector } from \"@angular/core\";\n\n@Component({\n selector: 'ItemContainer',\n template: `<ng-content/>`,\n styles: `:host {\n display: grid;\n position: relative;\n }`\n})\nexport class ItemContainerComponent {\n constructor(\n public Element: ElementRef,\n public Injector: Injector\n ) {\n\n }\n}","import { Component, Injector } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { SelectorComponent, SelectorItemTemplate } from \"../primitives/Selector\";\r\nimport { ScrollViewerComponent } from \"../scrolling/ScrollViewer\";\r\nimport { StackPanelComponent } from \"../layout/StackPanel\";\r\nimport { animate, keyframes, style, transition, trigger } from \"@angular/animations\";\r\nimport { ItemContainerComponent } from \"../primitives/ItemContainer\";\r\n\r\n@Component({\r\n selector: 'ListView',\r\n imports: [CommonModule, ScrollViewerComponent, StackPanelComponent, ItemContainerComponent],\r\n template: `<ScrollViewer>\r\n <StackPanel Padding=\"2px 0\">\r\n <ItemContainer #container *ngFor=\"let item of ItemSource; index as index; trackBy: getValue\" class=\"item\" [ngClass]=\"{'selected': index == SelectedIndex}\" (click)=\"onItemClick($event, index, item)\" [id]=\"'xaml-selector-'+_id+'-item-'+index\" @itemFading>\r\n <div class=\"item-selector\"></div>\r\n <div class=\"item-content\" [ngStyle]=\"{'align-content': alignContent, 'justify-content': justifyContent}\">${SelectorItemTemplate}</div>\r\n </ItemContainer>\r\n </StackPanel>\r\n </ScrollViewer>`,\r\n animations: [\r\n trigger('itemFading', [\r\n transition(':enter', [animate(\r\n '500ms ease-in',\r\n keyframes([\r\n style({ opacity: 0, height: 0 }),\r\n style({ opacity: 0, height: '*' }),\r\n style({ opacity: 1, height: '*' }),\r\n ]),\r\n )]),\r\n transition(':leave', [animate(\r\n '500ms ease-out',\r\n keyframes([\r\n style({ opacity: 1, height: '*' }),\r\n style({ opacity: 0, height: '*' }),\r\n style({ opacity: 0, height: 0 }),\r\n ]),\r\n )]),\r\n ])\r\n ],\r\n styleUrl: 'ListView.scss'\r\n})\r\nexport class ListViewComponent extends SelectorComponent {\r\n}","import { Component } from \"@angular/core\";\r\nimport { ButtonComponent } from \"./Button\";\r\n\r\n@Component({\r\n selector: 'DropDownButton',\r\n template: `<div class=\"drop-down-glyph\">&#xE70D;</div><ng-content/>`,\r\n styleUrls: ['Button.scss', 'DropDownButton.scss']\r\n})\r\nexport class DropDownButtonComponent extends ButtonComponent {\r\n \r\n}","import { Component, HostBinding, HostListener, Input } from \"@angular/core\";\r\n\r\nexport type FlyoutPresenterAnimation = 'Default' | 'SlideLeft' | 'SlideRight' | 'SlideUp' | 'SlideDown';\r\n\r\n@Component({\r\n selector: 'FlyoutPresenter',\r\n template: `<ng-content/>`,\r\n styleUrl: 'FlyoutPresenter.scss'\r\n})\r\nexport class FlyoutPresenter {\r\n static TransitionDuration = 250;\r\n\r\n @Input() TransitionAnimation: FlyoutPresenterAnimation = 'Default';\r\n @Input() @HostBinding('style.padding') Padding?: string;\r\n\r\n @Input() IsVisible: boolean = false;\r\n\r\n @HostBinding('class')\r\n private get transitionClass() {\r\n return 'transition-' + this.TransitionAnimation.toLowerCase();\r\n }\r\n\r\n @HostBinding('class.visible')\r\n private get visible() {\r\n return this.IsVisible;\r\n }\r\n\r\n @HostListener('contextmenu', ['$event'])\r\n private onContextMenu(event: Event) {\r\n event.preventDefault();\r\n }\r\n}","import { ConnectedPosition, FlexibleConnectedPositionStrategyOrigin, Overlay, OverlayConfig, OverlayRef, OverlaySizeConfig } from \"@angular/cdk/overlay\";\r\nimport { TemplatePortal } from \"@angular/cdk/portal\";\r\nimport { Component, ElementRef, EventEmitter, HostBinding, Input, OnDestroy, Output, Renderer2, TemplateRef, ViewChild, ViewContainerRef } from \"@angular/core\";\r\nimport { FlyoutPresenter, FlyoutPresenterAnimation } from \"./FlyoutPresenter\";\r\nimport { resume_after, FlyoutPlacementMode } from \"../Common\";\r\n\r\nexport const PopupTemplate = `<ng-template #template><FlyoutPresenter #presenter [IsVisible]=\"isVisible\" [TransitionAnimation]=\"transitionAnimation\" [Padding]=\"Padding\"><ng-content/></FlyoutPresenter></ng-template>`;\r\n\r\n@Component({\r\n imports: [FlyoutPresenter],\r\n selector: 'FlyoutBase',\r\n template: PopupTemplate,\r\n providers: [{ provide: 'xaml-flyout', useExisting: FlyoutBaseComponent }]\r\n})\r\nexport abstract class FlyoutBaseComponent implements OnDestroy {\r\n\r\n @Input() Placement: FlyoutPlacementMode = 'Top';\r\n\r\n @Input() Padding?: string;\r\n @Input() HasBackdrop = true;\r\n\r\n private _backdropContextMenuSubscription?: () => void;\r\n\r\n private _isOpen = false;\r\n get IsOpen() {\r\n return this._isOpen;\r\n }\r\n @Input() set IsOpen(value: boolean) {\r\n if (value === this._isOpen) return;\r\n this._isOpen = value;\r\n\r\n if (value) {\r\n this.showOverlay();\r\n }\r\n else {\r\n this.hideOverlay();\r\n }\r\n this.IsOpenChange.emit(value);\r\n }\r\n @Output() IsOpenChange = new EventEmitter<boolean>();\r\n\r\n private _overlayRef?: OverlayRef;\r\n protected isVisible = false;\r\n\r\n private updatePlacement() {\r\n if (!this._overlayRef) return;\r\n\r\n let target = this.Target ?? this._hostElement;\r\n let positionStrategy = this._overlay\r\n .position()\r\n .flexibleConnectedTo(target)\r\n .withPositions([this.positioning])\r\n .withGrowAfterOpen(true)\r\n .withFlexibleDimensions(true)\r\n .withPush(true);\r\n\r\n this._overlayRef.updatePositionStrategy(positionStrategy);\r\n if (this.Placement === 'Cover') {\r\n this._overlayRef.updateSize(target as OverlaySizeConfig);\r\n }\r\n }\r\n\r\n private async showOverlay() {\r\n //Create overlay\r\n let config = new OverlayConfig({\r\n hasBackdrop: this.HasBackdrop,\r\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\r\n backdropClass: 'xaml-flyout-overlay-backdrop'\r\n });\r\n this._overlayRef = this._overlay.create(config);\r\n this.OnOverlay(this._overlayRef);\r\n\r\n //Configure overlay placement\r\n this.updatePlacement();\r\n\r\n //Display overlay\r\n let templatePortal = new TemplatePortal(\r\n this._template,\r\n this._viewContainerRef\r\n );\r\n\r\n this._overlayRef.attach(templatePortal);\r\n\r\n //Ensure backdrop event handling\r\n this._overlayRef.backdropClick().subscribe(() => this.Hide());\r\n if (this.HasBackdrop) this._backdropContextMenuSubscription = this._renderer.listen(this._overlayRef.backdropElement, 'contextmenu', p => { p.preventDefault(); this.Hide(); });\r\n\r\n //Make content visible - after next layout\r\n await resume_after(0);\r\n\r\n this.isVisible = true;\r\n }\r\n\r\n private async hideOverlay() {\r\n //Start hide animation\r\n this.isVisible = false;\r\n\r\n //Remove event handlers\r\n if (this._backdropContextMenuSubscription) this._backdropContextMenuSubscription();\r\n\r\n //Dispose overlay after hidden\r\n if (this._overlayRef === undefined) return;\r\n await resume_after(FlyoutPresenter.TransitionDuration);\r\n\r\n this._overlayRef.detach();\r\n this._overlayRef.dispose();\r\n this._overlayRef = undefined;\r\n }\r\n\r\n private _target: FlexibleConnectedPositionStrategyOrigin | null = null;\r\n get Target() {\r\n return this._target;\r\n }\r\n @Input() set Target(value: FlexibleConnectedPositionStrategyOrigin | null) {\r\n this._target = value;\r\n this.updatePlacement();\r\n }\r\n\r\n @ViewChild('template') private _template!: TemplateRef<any>;\r\n\r\n @HostBinding('style')\r\n private get style() {\r\n return {\r\n 'position': 'absolute',\r\n 'inset': 0,\r\n 'pointer-events': 'none'\r\n };\r\n }\r\n\r\n protected get transitionAnimation(): FlyoutPresenterAnimation {\r\n return 'Default';\r\n }\r\n\r\n private get positioning(): ConnectedPosition {\r\n\r\n switch (this.Placement) {\r\n case \"Top\":\r\n return {\r\n originX: 'center', originY: 'top',\r\n overlayX: 'center', overlayY: 'bottom'\r\n };\r\n case \"TopEdgeAlignedLeft\":\r\n return {\r\n originX: 'start', originY: 'top',\r\n overlayX: 'start', overlayY: 'bottom'\r\n };\r\n case \"TopEdgeAlignedRight\":\r\n return {\r\n originX: 'end', originY: 'top',\r\n overlayX: 'end', overlayY: 'bottom'\r\n };\r\n\r\n case \"Bottom\":\r\n return {\r\n originX: 'center', originY: 'bottom',\r\n overlayX: 'center', overlayY: 'top'\r\n };\r\n case \"BottomEdgeAlignedLeft\":\r\n return {\r\n originX: 'start', originY: 'bottom',\r\n overlayX: 'start', overlayY: 'top'\r\n };\r\n case \"BottomEdgeAlignedRight\":\r\n return {\r\n originX: 'end', originY: 'bottom',\r\n overlayX: 'end', overlayY: 'top'\r\n };\r\n\r\n case \"Left\":\r\n return {\r\n originX: 'start', originY: 'center',\r\n overlayX: 'end', overlayY: 'center'\r\n };\r\n case \"LeftEdgeAlignedTop\":\r\n return {\r\n originX: 'start', originY: 'top',\r\n overlayX: 'end', overlayY: 'top'\r\n };\r\n case \"LeftEdgeAlignedBottom\":\r\n return {\r\n originX: 'start', originY: 'bottom',\r\n overlayX: 'end', overlayY: 'bottom'\r\n };\r\n\r\n case \"Right\":\r\n return {\r\n originX: 'end', originY: 'center',\r\n overlayX: 'start', overlayY: 'center'\r\n };\r\n case \"RightEdgeAlignedTop\":\r\n return {\r\n originX: 'end', originY: 'top',\r\n overlayX: 'start', overlayY: 'top'\r\n };\r\n case \"RightEdgeAlignedBottom\":\r\n return {\r\n originX: 'end', originY: 'bottom',\r\n overlayX: 'start', overlayY: 'bottom'\r\n };\r\n\r\n case \"Cover\":\r\n return {\r\n originX: 'start', originY: 'top',\r\n overlayX: 'start', overlayY: 'top'\r\n };\r\n }\r\n };\r\n\r\n constructor(\r\n private _viewContainerRef: ViewContainerRef,\r\n private _overlay: Overlay,\r\n private _hostElement: ElementRef,\r\n protected _renderer: Renderer2\r\n ) { }\r\n\r\n ngOnDestroy(): void {\r\n this.hideOverlay();\r\n }\r\n\r\n protected OnOverlay(overlay: OverlayRef) {\r\n\r\n }\r\n\r\n Show() {\r\n this.IsOpen = true;\r\n }\r\n\r\n Hide() {\r\n this.IsOpen = false;\r\n }\r\n}","import { Component } from \"@angular/core\";\r\nimport { FlyoutBaseComponent, PopupTemplate } from \"../primitives/FlyoutBase\";\r\nimport { FlyoutPresenter, FlyoutPresenterAnimation } from \"../primitives/FlyoutPresenter\";\r\n\r\n@Component({\r\n selector: 'Flyout',\r\n imports: [FlyoutPresenter],\r\n template: PopupTemplate,\r\n providers: [{ provide: 'xaml-flyout', useExisting: FlyoutComponent }],\r\n styles: `FlyoutPresenter { padding: 16px; }`\r\n})\r\nexport class FlyoutComponent extends FlyoutBaseComponent {\r\n\r\n protected override get transitionAnimation(): FlyoutPresenterAnimation {\r\n switch (this.Placement) {\r\n case \"Top\":\r\n case \"TopEdgeAlignedLeft\":\r\n case \"TopEdgeAlignedRight\":\r\n return 'SlideUp';\r\n\r\n case \"Bottom\":\r\n case \"BottomEdgeAlignedLeft\":\r\n case \"BottomEdgeAlignedRight\":\r\n return 'SlideDown';\r\n\r\n case \"Left\":\r\n case \"LeftEdgeAlignedTop\":\r\n case \"LeftEdgeAlignedBottom\":\r\n return 'SlideLeft';\r\n\r\n case \"Right\":\r\n case \"RightEdgeAlignedTop\":\r\n case \"RightEdgeAlignedBottom\":\r\n return 'SlideRight';\r\n\r\n default:\r\n return 'Default';\r\n }\r\n }\r\n}\r\n\r\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from \"@angular/core\";\r\nimport { SelectorComponent, SelectorItemTemplate } from \"../primitives/Selector\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ListViewComponent } from \"../collections/ListView\";\r\nimport { DropDownButtonComponent } from \"./DropDownButton\";\r\nimport { FlyoutComponent } from \"../dialogs-and-flyouts/Flyout\";\r\nimport { FlexibleConnectedPositionStrategyOrigin } from \"@angular/cdk/overlay\";\r\nimport { FlyoutBaseComponent } from \"../primitives/FlyoutBase\";\r\nimport { ItemContainerComponent } from \"../primitives/ItemContainer\";\r\n\r\n@Component({\r\n selector: 'ComboBox',\r\n imports: [CommonModule, DropDownButtonComponent, FlyoutComponent, ListViewComponent, ItemContainerComponent],\r\n template: `<DropDownButton [HorizontalContentAlignment]=\"HorizontalContentAlignment\" [VerticalContentAlignment]=\"VerticalContentAlignment\" [IsEnabled]=\"IsEnabled\">\r\n <ItemContainer #container>${SelectorItemTemplate}</ItemContainer>\r\n <Flyout Placement=\"Cover\" Padding=\"0\" [Target]=\"target\" (IsOpenChange)=\"onIsOpenChanged($event)\">\r\n <ListView [ItemSource]=\"ItemSource\" [(SelectedIndex)]=\"SelectedIndex\" [HorizontalContentAlignment]=\"HorizontalContentAlignment\" [VerticalContentAlignment]=\"VerticalContentAlignment\"/>\r\n </Flyout>\r\n </DropDownButton>`,\r\n styleUrl: 'ComboBox.scss'\r\n})\r\nexport class ComboBoxComponent extends SelectorComponent implements AfterViewInit {\r\n get item() {\r\n return this.SelectedItem;\r\n }\r\n\r\n get index() {\r\n return this.SelectedIndex;\r\n }\r\n\r\n @ViewChild(ListViewComponent)\r\n private _selector?: SelectorComponent;\r\n\r\n @ViewChild('xaml-flyout')\r\n private _popup?: FlyoutBaseComponent;\r\n\r\n constructor(\r\n private _changeDetector: ChangeDetectorRef,\r\n private _host: ElementRef<HTMLElement>) {\r\n super();\r\n this.SelectedIndexChange.subscribe(() => this.onSelectionChanged());\r\n }\r\n\r\n protected target: FlexibleConnectedPositionStrategyOrigin | null = null;\r\n\r\n protected onIsOpenChanged(value: boolean) {\r\n if (!value) return;\r\n let rect = this._host.nativeElement.getBoundingClientRect();\r\n let popupOffset = -(this._selector?.GetElement(this.SelectedIndex)?.offsetTop ?? 0);\r\n this.target = { x: rect.left + 3, y: rect.top + popupOffset - 4, width: rect.width };\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n //help the layout finish itself\r\n this._changeDetector.detectChanges();\r\n }\r\n\r\n private onSelectionChanged() {\r\n if (this._popup) this._popup.IsOpen = false;\r\n }\r\n}","import { AfterContentInit, Component, ContentChildren, EventEmitter, Input, Optional, Output, QueryList } from \"@angular/core\";\nimport { BorderComponent } from \"../layout/Border\";\nimport { StackPanelComponent } from \"../layout/StackPanel\";\n\n@Component({\n selector: 'RadioButton',\n template: `<label class=\"container\">\n <input type=\"radio\" [name]=\"Group\" [value]=\"Value\" [checked]=\"IsChecked\" (change)=\"onChange($event)\" [disabled]=\"!IsEnabled\">\n <div class=\"radioButton\">\n <div class=\"circle\"></div>\n </div>\n <div class=\"content\">\n <ng-content/>\n </div>\n </label>`,\n styleUrl: 'RadioButton.scss'\n})\nexport class RadioButtonComponent extends BorderComponent {\n @Input() IsEnabled = true;\n\n @Input() IsChecked = false;\n @Output() IsCheckedChange = new EventEmitter<boolean>();\n\n @Input() Group = \"\";\n @Input() Value: any;\n\n protected onChange(event: Event) {\n this.IsChecked = ((event.target) as HTMLInputElement).checked;\n this.IsCheckedChange.emit(this.IsChecked);\n }\n\n constructor(@Optional() private _group: RadioButtonGroupComponent) {\n super();\n if (this._group) this._group.registerOption(this);\n }\n}\n\n@Component({\n selector: 'RadioButtonGroup',\n template: `<ng-content/>`,\n styles: `:host { \n display: contents;\n }`\n})\nexport class RadioButtonGroupComponent extends StackPanelComponent {\n private _value: any;\n\n @Input()\n set Value(value: any) {\n if (this._children) {\n for (let item of this._children) {\n item.IsChecked = item.Value === value;\n }\n } else {\n this._value = value;\n }\n }\n\n get Value() {\n return this._value;\n }\n\n @Output() ValueChange = new EventEmitter<any>();\n\n private _children: RadioButtonComponent[] = [];\n\n registerOption(child: RadioButtonComponent) {\n child.Group = 'xaml-radio-button-group-' + this._id;\n\n if (child.Value === undefined) child.Value = this._children.length;\n if (child.Value === this.Value) child.IsChecked = true;\n\n child.IsCheckedChange.subscribe(p => {\n this.Value = child.Value;\n this.ValueChange.emit(child.Value);\n });\n\n this._children.push(child);\n }\n}","import { Component, HostBinding } from \"@angular/core\";\nimport { RadioButtonComponent } from \"./RadioButton\";\n\n@Component({\n selector: 'RadioToggleButton',\n template: `<label>\n <input type=\"radio\" [name]=\"Group\" [value]=\"Value\" [checked]=\"IsChecked\" (change)=\"onChange($event)\" [disabled]=\"!IsEnabled\">\n <ng-content/>\n </label>`,\n styleUrls: ['Button.scss', 'RadioToggleButton.scss']\n})\nexport class RadioToggleButtonComponent extends RadioButtonComponent {\n @HostBinding('class.checked')\n protected get checked() {\n return this.IsChecked;\n }\n}","import { Component, HostListener, Input, OnDestroy } from \"@angular/core\";\r\nimport { ButtonComponent } from \"./Button\";\r\n\r\n@Component({\r\n selector: 'RepeatButton',\r\n template: `<ng-content/>`,\r\n styleUrl: 'Button.scss'\r\n})\r\nexport class RepeatButtonComponent extends ButtonComponent implements OnDestroy {\r\n @Input() Delay: number = 250;\r\n @Input() Interval: number = 250;\r\n\r\n private _delayTimer: any;\r\n private _intervalTimer: any;\r\n\r\n @HostListener('pointerdown', ['$event'])\r\n private onPointerDown(event: PointerEvent) {\r\n if (!this.IsEnabled) return;\r\n\r\n (event.target as HTMLElement).setPointerCapture(event.pointerId);\r\n this.Click.emit();\r\n\r\n this._delayTimer = setTimeout(() => {\r\n this.Click.emit();\r\n\r\n this._intervalTimer = setInterval(() => {\r\n this.Click.emit();\r\n }, this.Interval);\r\n }, this.Delay);\r\n }\r\n\r\n @HostListener('pointerup', ['$event'])\r\n private onPointerUp() {\r\n this.clearTimers();\r\n }\r\n\r\n private clearTimers() {\r\n if (this._delayTimer !== undefined) clearTimeout(this._delayTimer);\r\n if (this._intervalTimer !== undefined) clearInterval(this._intervalTimer);\r\n }\r\n\r\n protected override onHostPointerEvent(event: Event) {\r\n //Disable pointer event handling on the base button\r\n }\r\n \r\n ngOnDestroy(): void {\r\n this.clearTimers();\r\n }\r\n}","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\nimport { Orientation } from \"../Common\";\nimport { CommonModule } from \"@angular/common\";\n\n@Component({\n selector: 'Slider',\n template: `<input type=\"range\" \n [step]=\"StepFrequency\" \n [min]=\"Minimum\" \n [max]=\"Maximum\" \n [value]=\"Value\" \n (input)=\"onInput($event)\" \n [disabled]=\"!IsEnabled\"\n [className]=\"Orientation.toLowerCase()\"\n [ngStyle]=\"inputStyle\">`,\n imports: [CommonModule],\n styleUrl: 'Slider.scss'\n})\nexport class SliderComponent extends FrameworkElementComponent {\n @Input() Minimum: number = 0.0;\n @Input() Maximum: number = 1.0;\n @Input() StepFrequency: number = 0.01;\n @Input() Value: number = 0.0;\n @Output() ValueChange = new EventEmitter<number>();\n @Input() IsEnabled = true;\n @Input() Orientation: Orientation = 'Horizontal';\n\n protected onInput(event: Event) {\n this.Value = parseFloat((event.target as HTMLInputElement).value);\n this.ValueChange.emit(this.Value);\n }\n\n protected get inputStyle() {\n let style: { [key: string]: string } = {};\n if (this.Orientation === 'Horizontal' && this.Width !== undefined) {\n style['width'] = this.Width;\n }\n\n if (this.Orientation === 'Vertical' && this.Height !== undefined) {\n style['height'] = this.Height;\n }\n\n return style;\n }\n}","import { Component, Directive, HostBinding, Input, NgModule } from \"@angular/core\";\nimport { Orientation } from \"../Common\";\nimport { PanelComponent } from \"./Panel\";\n\n@Component({\n selector: 'Grid',\n template: `<ng-content/>`,\n styles: `:host {\n display: grid;\n position: relative;\n }`,\n standalone: false\n})\nexport class GridComponent extends PanelComponent {\n @Input() @HostBinding('style.grid-template-columns') ColumnDefinitions?: string;\n @Input() @HostBinding('style.grid-template-rows') RowDefinitions?: string;\n @Input() @HostBinding('style.grid-auto-columns') AutoColumnDefinition?: string;\n @Input() @HostBinding('style.grid-auto-rows') AutoRowDefinition?: string;\n @Input() @HostBinding('style.column-gap') ColumnSpacing?: string;\n @Input() @HostBinding('style.row-gap') RowSpacing?: string;\n @Input() Orientation: Orientation = 'Vertical';\n\n @HostBinding('style.grid-auto-flow')\n private get gridAutoFlow() {\n return this.Orientation === 'Horizontal' ? 'column' : 'row';\n }\n}\n\nexport class GridProperty {\n Column?: number;\n Row?: number;\n ColumnSpan?: number;\n RowSpan?: number;\n}\n\n@Directive ({\n selector: '[Grid]',\n standalone: false\n})\nexport class GridDirective {\n @Input() Grid: GridProperty = new GridProperty();\n\n @HostBinding('style.grid-column-start')\n private get gridColumnStart() {\n return this.Grid.Column !== undefined ? this.Grid.Column + 1 : undefined;\n }\n\n @HostBinding('style.grid-row-start')\n private get gridRowStart() {\n return this.Grid.Row !== undefined ? this.Grid.Row + 1 : undefined;\n }\n\n @HostBinding('style.grid-column-end')\n private get gridColumnEnd() {\n return this.Grid.ColumnSpan !== undefined ? ('span ' + this.Grid.ColumnSpan) : undefined;\n }\n\n @HostBinding('style.grid-row-end')\n private get gridRowEnd() {\n return this.Grid.RowSpan !== undefined ? ('span ' + this.Grid.RowSpan) : undefined;\n }\n}\n\n@Directive ({\n selector: '[Grid-Row]',\n standalone: false\n})\nexport class GridRowDirective {\n @Input('Grid-Row') Row?: string;\n\n @HostBinding('style.grid-row-start')\n private get gridRowStart() {\n return this.Row !== undefined ? parseInt(this.Row) + 1 : undefined;\n }\n}\n\n@Directive ({\n selector: '[Grid-Column]',\n standalone: false\n})\nexport class GridColumnDirective {\n @Input('Grid-Column') Column?: string;\n\n @HostBinding('style.grid-column-start')\n private get gridColumnStart() {\n return this.Column !== undefined ? parseInt(this.Column) + 1 : undefined;\n }\n}\n\n@Directive({\n selector: '[Grid-RowSpan]',\n standalone: false\n})\nexport class GridRowSpanDirective {\n @Input('Grid-RowSpan') RowSpan?: string;\n\n @HostBinding('style.grid-row-end')\n private get gridRowEnd() {\n return this.RowSpan !== undefined ? ('span ' + this.RowSpan) : undefined;\n }\n}\n\n@Directive({\n selector: '[Grid-ColumnSpan]',\n standalone: false\n})\nexport class GridColumnSpanDirective {\n @Input('Grid-ColumnSpan') ColumnSpan?: string;\n\n @HostBinding('style.grid-column-end')\n private get gridColumnEnd() {\n return this.ColumnSpan !== undefined ? ('span ' + this.ColumnSpan) : undefined;\n }\n}\n\nconst GridComponents : any[] = [\n GridComponent,\n GridDirective,\n GridRowDirective,\n GridRowSpanDirective,\n GridColumnDirective,\n GridColumnSpanDirective\n]\n\n@NgModule({\n declarations: GridComponents,\n exports: GridComponents\n})\nexport class GridModule { }","import { Component, ContentChild, EventEmitter, Input, Output } from \"@angular/core\";\r\nimport { ButtonComponent } from \"./Button\";\r\nimport { DropDownButtonComponent } from \"./DropDownButton\";\r\nimport { GridModule } from \"../layout/Grid\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\r\nimport { FlyoutBaseComponent } from \"../primitives/FlyoutBase\";\r\n\r\n@Component({\r\n selector: 'SplitButton',\r\n template: `<Grid ColumnDefinitions=\"1fr auto\">\r\n <Button CornerRadius=\"4px 0 0 4px\" [IsEnabled]=\"IsEnabled\" (Click)=\"onButtonClick()\" [ngClass]=\"buttonClass\"><ng-content/></Button>\r\n <DropDownButton CornerRadius=\"0 4px 4px 0\" Width=\"12px\" (Click)=\"onDropDownClick()\" [IsEnabled]=\"IsEnabled\"/>\r\n </Grid>`,\r\n imports: [CommonModule, ButtonComponent, DropDownButtonComponent, GridModule]\r\n})\r\nexport class SplitButtonComponent extends FrameworkElementComponent {\r\n @Input() IsEnabled: boolean = true;\r\n\r\n @Output() Click = new EventEmitter();\r\n\r\n @ContentChild('xaml-flyout')\r\n private _popup?: FlyoutBaseComponent;\r\n\r\n protected get buttonClass() {\r\n return this._popup?.IsOpen ? 'flyout-open' : undefined;\r\n }\r\n\r\n protected onButtonClick() {\r\n if (!this.IsEnabled) return;\r\n\r\n this.Click.emit();\r\n }\r\n\r\n protected onDropDownClick() {\r\n if (!this._popup || !this.IsEnabled) return;\r\n\r\n this._popup.IsOpen = true;\r\n }\r\n}","import { Component, EventEmitter, HostBinding, HostListener, Input, Output } from \"@angular/core\";\nimport { ButtonComponent } from \"./Button\";\n\n@Component({\n selector: 'ToggleButton',\n template: `<ng-content/>`,\n styleUrl: 'Button.scss'\n})\nexport class ToggleButtonComponent extends ButtonComponent {\n @Input() @HostBinding('class.checked') IsChecked: boolean = false;\n @Output() IsCheckedChange = new EventEmitter<boolean>();\n\n @HostListener('pointerup', ['$event'])\n private onPointerUp(event: PointerEvent) {\n if (!this.IsEnabled) return;\n this.IsChecked = !this.IsChecked;\n this.IsCheckedChange.emit(this.IsChecked);\n }\n}","import { Component } from \"@angular/core\";\nimport { CheckBoxComponent } from \"./CheckBox\";\n\n@Component({\n selector: 'ToggleSwitch',\n template: `<label class=\"container\">\n <input type=\"checkbox\" [checked]=\"IsChecked\" (change)=\"onChange($event)\" [disabled]=\"!IsEnabled\">\n <div class=\"slider\">\n <div class=\"thumb\"></div>\n </div>\n <div class=\"content\"><ng-content/></div>\n </label>`,\n styleUrl: 'ToggleSwitch.scss'\n})\nexport class ToggleSwitchComponent extends CheckBoxComponent {\n \n}","import { Component } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { SelectorComponent, SelectorItemTemplate } from \"../primitives/Selector\";\nimport { ItemContainerComponent } from \"../primitives/ItemContainer\";\n\n@Component({\n selector: 'ListBox',\n imports: [CommonModule, ItemContainerComponent],\n template: `<ItemContainer #container *ngFor=\"let item of ItemSource; index as index; trackBy: getValue\" class=\"item\" [ngClass]=\"{'selected': index == SelectedIndex}\" (click)=\"onItemClick($event, index, item)\" [id]=\"'xaml-selector-'+_id+'-item-'+index\" [ngStyle]=\"{'align-content': alignContent, 'justify-content': justifyContent}\">\n ${SelectorItemTemplate}\n</ItemContainer>`,\n styleUrl: 'ListBox.scss'\n})\nexport class ListBoxComponent extends SelectorComponent {\n\n}","import { Component, HostListener } from \"@angular/core\";\n\n@Component({\n selector: 'XamlRoot',\n template: `<ng-content/>`,\n styleUrl: 'XamlRoot.scss'\n})\nexport class XamlRootComponent {\n\n @HostListener('contextmenu', ['$event'])\n onContextMenu(event: Event) {\n event.preventDefault();\n }\n\n}","import { Component, ContentChild, ElementRef, HostBinding, Input, ViewChild } from \"@angular/core\";\r\nimport { XamlRootComponent } from \"../XamlRoot\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\n@Component({\r\n selector: 'DialogPresenter',\r\n template: `<div #header class=\"header\" [ngStyle]=\"{'display': isHeaderVisible ? 'grid' : 'none'}\"><ng-content select=\"[Header]\"/></div>\r\n <div class=\"body\"><ng-content/></div>\r\n <div #footer class=\"footer\" [ngStyle]=\"{'display': isFooterVisible ? 'grid' : 'none'}\"><ng-content select=\"[Footer]\"/></div>`,\r\n styleUrls: ['../XamlRoot.scss', 'DialogPresenter.scss'],\r\n imports: [CommonModule],\r\n providers: [{ provide: 'xaml-dialog-presenter', useExisting: DialogPresenter }]\r\n})\r\nexport class DialogPresenter extends XamlRootComponent {\r\n static TransitionDuration = 250;\r\n\r\n @ViewChild('header') private _header?: ElementRef<HTMLDivElement>;\r\n @ViewChild('footer') private _footer?: ElementRef<HTMLDivElement>;\r\n\r\n @Input() IsVisible: boolean = false;\r\n\r\n @HostBinding('class.visible')\r\n private get visible() {\r\n return this.IsVisible;\r\n }\r\n\r\n protected get isHeaderVisible() {\r\n return this._header?.nativeElement.children.length ?? 0 > 0;\r\n }\r\n\r\n protected get isFooterVisible() {\r\n return this._footer?.nativeElement.children.length ?? 0 > 0;\r\n }\r\n}","import { Overlay, OverlayConfig } from \"@angular/cdk/overlay\";\r\nimport { Component, ContentChild, EventEmitter, Output, Renderer2, TemplateRef, ViewChild, ViewContainerRef } from \"@angular/core\";\r\nimport { resume_after, resume_on_event } from \"../Common\";\r\nimport { TemplatePortal } from \"@angular/cdk/portal\";\r\nimport { DialogPresenter } from \"../primitives/DialogPresenter\";\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class Dialog {\r\n @Output() Closed = new EventEmitter();\r\n\r\n @ViewChild('template') private _template!: TemplateRef<any>;\r\n\r\n private _overlay!: Overlay;\r\n private _viewContainerRef!: ViewContainerRef;\r\n @ViewChild('xaml-dialog-presenter') private _dialogPresenter?: DialogPresenter;\r\n\r\n IsBackdropDismissEnabled = false;\r\n\r\n static Create<T extends Dialog>(type: { new(...args: any[]): T }, container: ViewContainerRef): T {\r\n let component = container.createComponent(type);\r\n component.instance._overlay = container.injector.get(Overlay);\r\n component.instance._viewContainerRef = container.injector.get(ViewContainerRef);\r\n component.instance.Closed.subscribe(() => component.destroy());\r\n return component.instance;\r\n }\r\n\r\n async ShowAsync(): Promise<any> {\r\n //Wait for a layout cycle to ensure templates etc. are ready\r\n await resume_after(0);\r\n\r\n //Create overlay\r\n let positionStrategy = this._overlay\r\n .position()\r\n .global()\r\n .centerHorizontally()\r\n .centerVertically();\r\n\r\n let config = new OverlayConfig({\r\n hasBackdrop: true,\r\n positionStrategy: positionStrategy,\r\n backdropClass: 'xaml-dialog-overlay-backdrop'\r\n });\r\n\r\n let overlayRef = this._overlay.create(config);\r\n\r\n //Attach template\r\n let templatePortal = new TemplatePortal(\r\n this._template,\r\n this._viewContainerRef\r\n );\r\n\r\n overlayRef.attach(templatePortal);\r\n\r\n //Wait for UI to instantiate\r\n await resume_after(0);\r\n\r\n //Disable backdrop menu\r\n let renderer = this._viewContainerRef.injector.get(Renderer2);\r\n let backdropContextMenuSubscription = renderer.listen(overlayRef.backdropElement, 'contextmenu', p => p.preventDefault());\r\n\r\n //Backdrop dismiss\r\n if(this.IsBackdropDismissEnabled) overlayRef.backdropClick().subscribe(() => this.Hide());\r\n\r\n //Fade-in\r\n if (this._dialogPresenter) this._dialogPresenter.IsVisible = true;\r\n\r\n //Wait for close\r\n await resume_on_event(this.Closed);\r\n\r\n //Fade-out\r\n if (this._dialogPresenter) {\r\n this._dialogPresenter.IsVisible = false;\r\n await resume_after(DialogPresenter.TransitionDuration);\r\n }\r\n\r\n //Cleanup\r\n backdropContextMenuSubscription();\r\n overlayRef.detach();\r\n }\r\n\r\n Hide() {\r\n this.Closed.emit();\r\n }\r\n}","import { Component, HostBinding, Input } from \"@angular/core\";\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\nimport { CommonModule } from \"@angular/common\";\nimport { FontStyle, FontWeights, TextAlignment, TextDecorations, TextTrimming, TextWrapping, XamlBoolean } from \"../Common\";\n\n@Component({\n selector: 'TextBlock',\n imports: [CommonModule],\n template: `<ng-container>\n <ng-content *ngIf=\"Text === undefined\"/>\n <ng-container *ngIf=\"Text !== undefined\">{{Text}}</ng-container>\n </ng-container>`\n})\nexport class TextBlockComponent extends FrameworkElementComponent {\n @Input() @HostBinding('style.font-family') FontFamily?: string;\n @Input() Text?: string;\n @Input() @HostBinding('style.font-size') FontSize?: string;\n @Input() @HostBinding('style.font-style') FontStyle?: FontStyle;\n @Input() FontWeight: FontWeights = 'Normal';\n @Input() @HostBinding('style.color') Foreground?: string;\n @Input() @HostBinding('style.text-align') TextAlignment?: TextAlignment = 'Left';\n @Input() IsTextSelectionEnabled?: XamlBoolean;\n @Input() TextDecorations?: TextDecorations;\n @Input() TextTrimming: TextTrimming = 'None';\n @Input() TextWrapping: TextWrapping = 'NoWrap';\n\n protected override get width() {\n if (this.Width !== undefined) return this.Width;\n return this.HorizontalAlignment === 'Stretch' || this.TextTrimming !== 'None' ? undefined : 'min-content';\n }\n\n protected override get minWidth() {\n if (this.MinWidth !== undefined) return this.MinWidth;\n return this.MaxWidth === undefined && this.HorizontalAlignment === 'Stretch' && this.TextTrimming === 'None' ? 'min-content' : undefined;\n }\n\n @HostBinding('style.font-weight')\n private get fontWeight() {\n return TextBlockComponent.ToFontWeight(this.FontWeight);\n }\n\n static ToFontWeight(value: FontWeights) {\n switch (value) {\n case 'Black':\n return 900;\n case 'Bold':\n return 700;\n case 'ExtraBlack':\n return 950;\n case 'ExtraBold':\n return 800;\n case 'ExtraLight':\n return 200;\n case 'Light':\n return 300;\n case 'Medium':\n return 500;\n case 'Normal':\n return 400;\n case 'SemiBold':\n return 600;\n case 'SemiLight':\n return 350;\n case 'Thin':\n return 100;\n }\n }\n\n @HostBinding('style.user-select')\n private get userSelect() {\n return this.IsTextSelectionEnabled === 'True' ? 'text' : 'none';\n }\n\n @HostBinding('style.text-decoration-line')\n private get textDecorationLine() {\n switch (this.TextDecorations) {\n case 'None':\n return 'none';\n case 'Strikethrough':\n return 'line-through';\n case 'Underline':\n return 'underline';\n default:\n return undefined;\n }\n }\n\n @HostBinding('style.text-overflow')\n private get textOverflow() {\n switch (this.TextTrimming) {\n case 'None':\n case 'Clip':\n return 'clip';\n case 'CharacterEllipsis':\n return 'Ellipsis';\n default:\n return undefined;\n }\n }\n\n @HostBinding('style.white-space')\n private get whiteSpace() {\n switch (this.TextWrapping) {\n case 'NoWrap':\n return 'nowrap';\n case 'Wrap':\n return 'pre-line';\n }\n }\n}","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\nimport { DialogPresenter } from \"../primitives/DialogPresenter\";\r\nimport { GridModule } from \"../layout/Grid\";\r\nimport { ButtonComponent } from \"../basic-input/Button\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { Dialog } from \"./Dialog\";\r\nimport { TextBlockComponent } from \"../text/TextBlock\";\r\n\r\nexport enum ContentDialogResult {\r\n None,\r\n Primary,\r\n Secondary\r\n}\r\n\r\nexport enum ContentDialogButton {\r\n None,\r\n Primary,\r\n Secondary,\r\n Close\r\n}\r\n\r\n@Component({\r\n selector: 'ContentDialog',\r\n template: `<ng-template #template>\r\n <DialogPresenter>\r\n <div Header>{{Title}}</div>\r\n <TextBlock TextWrapping=\"Wrap\">{{Content}}</TextBlock>\r\n <ng-content/>\r\n <Grid RowDefinitions=\"auto\" Orientation=\"Horizontal\" ColumnSpacing=\"6px\" AutoColumnDefinition=\"minmax(0, 1fr)\" Footer>\r\n <Button *ngIf=\"PrimaryButtonText !== undefined\" [IsEnabled]=\"IsPrimaryButtonEnabled\" (Click)=\"onPrimaryButtonClicked()\" [class.AccentButtonStyle]=\"isPrimaryButtonDefault\">{{PrimaryButtonText}}</Button>\r\n <Button *ngIf=\"SecondaryButtonText !== undefined\" [IsEnabled]=\"IsSecondaryButtonEnabled\" (Click)=\"onSecondaryButtonClicked()\" [class.AccentButtonStyle]=\"isSecondaryButtonDefault\">{{SecondaryButtonText}}</Button>\r\n <Button *ngIf=\"CloseButtonText !== undefined\" (Click)=\"onCloseButtonClicked()\" [class.AccentButtonStyle]=\"isCloseButtonDefault\">{{CloseButtonText}}</Button>\r\n </Grid>\r\n </DialogPresenter>\r\n </ng-template>`,\r\n styles: ``,\r\n imports: [DialogPresenter, GridModule, ButtonComponent, CommonModule, TextBlockComponent]\r\n})\r\nexport class ContentDialog extends Dialog {\r\n @Input() Title?: string;\r\n\r\n @Input() PrimaryButtonText?: string;\r\n @Input() IsPrimaryButtonEnabled: boolean = true;\r\n @Output() PrimaryButtonClicked = new EventEmitter();\r\n\r\n @Input() SecondaryButtonText?: string;\r\n @Input() IsSecondaryButtonEnabled: boolean = true;\r\n @Output() SecondaryButtonClicked = new EventEmitter();\r\n\r\n @Input() CloseButtonText?: string;\r\n @Output() CloseButtonClicked = new EventEmitter();\r\n\r\n @Input() Content: any;\r\n\r\n @Input() DefaultButton = ContentDialogButton.None;\r\n\r\n private _result = ContentDialogResult.None;\r\n\r\n get Result(): ContentDialogResult {\r\n return this._result;\r\n }\r\n\r\n set Result(value: ContentDialogResult) {\r\n this._result = value;\r\n this.Hide();\r\n }\r\n\r\n protected onPrimaryButtonClicked() {\r\n this.PrimaryButtonClicked.emit();\r\n this.Result = ContentDialogResult.Primary;\r\n }\r\n\r\n protected onSecondaryButtonClicked() {\r\n this.SecondaryButtonClicked.emit();\r\n this.Result = ContentDialogResult.Secondary;\r\n }\r\n\r\n protected onCloseButtonClicked() {\r\n this.CloseButtonClicked.emit();\r\n this.Result = ContentDialogResult.None;\r\n }\r\n\r\n protected get isPrimaryButtonDefault() {\r\n return this.DefaultButton === ContentDialogButton.Primary;\r\n }\r\n\r\n protected get isSecondaryButtonDefault() {\r\n return this.DefaultButton === ContentDialogButton.Secondary;\r\n }\r\n\r\n protected get isCloseButtonDefault() {\r\n return this.DefaultButton === ContentDialogButton.Close;\r\n }\r\n\r\n override async ShowAsync() {\r\n await super.ShowAsync();\r\n\r\n return this._result;\r\n }\r\n}","import { AfterViewInit, Component, ElementRef, OnDestroy, ViewChild } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FlyoutComponent } from \"../dialogs-and-flyouts/Flyout\";\r\nimport { FlyoutPresenter, FlyoutPresenterAnimation } from \"../primitives/FlyoutPresenter\";\r\nimport { PopupTemplate } from \"../primitives/FlyoutBase\";\r\nimport { OverlayRef } from \"@angular/cdk/overlay-module.d-CSrPj90C\";\r\n\r\n@Component({\r\n selector: 'MenuFlyout',\r\n imports: [CommonModule, FlyoutPresenter],\r\n template: PopupTemplate,\r\n styleUrls: ['MenuFlyout.scss'],\r\n providers: [{ provide: 'xaml-flyout', useExisting: MenuFlyoutComponent }]\r\n})\r\nexport class MenuFlyoutComponent extends FlyoutComponent {\r\n\r\n private _menuClickSubscription?: () => void;\r\n\r\n protected override get transitionAnimation(): FlyoutPresenterAnimation {\r\n return 'Default';\r\n }\r\n\r\n protected override OnOverlay(overlay: OverlayRef): void {\r\n if (this._menuClickSubscription) this._menuClickSubscription();\r\n\r\n this._menuClickSubscription = this._renderer.listen(overlay.overlayElement, 'click', p => this.onMenuClick(p));\r\n }\r\n\r\n private onMenuClick(event: Event) {\r\n this.IsOpen = false;\r\n event.stopPropagation();\r\n }\r\n\r\n override ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n\r\n if (this._menuClickSubscription) this._menuClickSubscription();\r\n }\r\n}","import { AfterViewInit, Directive, ElementRef, HostBinding, ViewContainerRef } from \"@angular/core\";\r\nimport { FlyoutComponent } from \"./Flyout\";\r\nimport { MenuFlyoutComponent } from \"../menus-and-toolbars/MenuFlyout\";\r\nimport { ItemContainerComponent } from \"../primitives/ItemContainer\";\r\n\r\n@Directive()\r\nexport abstract class FlyoutDirective implements AfterViewInit {\r\n\r\n private _flyout?: FlyoutComponent;\r\n\r\n constructor(\r\n private _viewContainer: ViewContainerRef\r\n ) { }\r\n\r\n protected abstract get HostElement(): HTMLElement | null;\r\n\r\n ngAfterViewInit(): void {\r\n for (let type of [FlyoutComponent, MenuFlyoutComponent]) {\r\n this._flyout = this._viewContainer.injector.get(type, null, { self: true }) as FlyoutComponent;\r\n if (this._flyout) break;\r\n }\r\n\r\n if (this._flyout) {\r\n this._flyout.Placement = 'BottomEdgeAlignedLeft';\r\n }\r\n\r\n let hostElement = this.HostElement;\r\n if (hostElement) {\r\n hostElement.oncontextmenu = p => this.onContextMenu(p);\r\n }\r\n }\r\n\r\n private onContextMenu(event: MouseEvent) {\r\n if (!this._flyout) return;\r\n\r\n if (!this._flyout.IsOpen) {\r\n this._flyout.Target = { x: event.clientX, y: event.clientY }\r\n this._flyout.IsOpen = true;\r\n }\r\n else {\r\n this._flyout.IsOpen = false;\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[ContextFlyout]'\r\n})\r\nexport class ContextFlyoutDirective extends FlyoutDirective {\r\n constructor(\r\n private _hostComponent: ElementRef,\r\n viewContainer: ViewContainerRef\r\n ) {\r\n super(viewContainer);\r\n }\r\n\r\n protected override get HostElement() {\r\n return (this._hostComponent.nativeElement as HTMLElement).parentElement;\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[ItemFlyout]'\r\n})\r\nexport class ItemFlyoutDirective extends FlyoutDirective {\r\n\r\n constructor(\r\n private _hostComponent: ItemContainerComponent,\r\n viewContainer: ViewContainerRef\r\n ) {\r\n super(viewContainer);\r\n }\r\n\r\n protected override get HostElement() {\r\n return this._hostComponent.Element.nativeElement as HTMLElement;\r\n }\r\n}","import { Component, HostBinding, Input } from \"@angular/core\";\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\nimport { FontStyle, FontWeights } from \"../Common\";\nimport { TextBlockComponent } from \"../text/TextBlock\";\n\n@Component({\n selector: 'FontIcon',\n template: `{{Glyph}}`,\n styles: `:host {\n font-family: 'Segoe Fluent Icons', 'Segoe MDL2 Assets';\n }`\n})\nexport class FontIconComponent extends FrameworkElementComponent {\n @Input() @HostBinding('style.font-family') FontFamily?: string;\n @Input() @HostBinding('style.font-size') FontSize?: string;\n @Input() @HostBinding('style.font-style') FontStyle?: FontStyle; \n @Input() @HostBinding('style.color') Foreground?: string;\n \n @Input() FontWeight: FontWeights = 'Normal';\n @Input() Glyph?: string;\n \n @HostBinding('style.font-weight')\n private get fontWeight() {\n return TextBlockComponent.ToFontWeight(this.FontWeight);\n }\n}","import { Component, Input } from \"@angular/core\";\r\nimport { Stretch } from \"../Common\";\r\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\n@Component({\r\n selector: 'Image',\r\n template: `<img [src]=\"Source\" [class]=\"Stretch\" [ngStyle]=\"imageStyle\" [alt]=\"\">`,\r\n styleUrl: 'Image.scss',\r\n imports: [CommonModule]\r\n})\r\nexport class ImageComponent extends FrameworkElementComponent {\r\n @Input() Source?: string;\r\n @Input() Stretch: Stretch = 'Uniform';\r\n\r\n protected get imageStyle() {\r\n return {\r\n width: this.Width,\r\n height: this.Height\r\n }\r\n }\r\n}","import { Component, ContentChild, EventEmitter, HostBinding, HostListener, Input, Output } from \"@angular/core\";\r\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\r\nimport { FlyoutBaseComponent } from \"../primitives/FlyoutBase\";\r\n\r\n@Component({\r\n selector: 'AppBarButton',\r\n template: `<div class=\"icon\">{{Icon}}<ng-content select=\"[Icon]\"/></div><div class=\"text\">{{Text}}</div><ng-content/>`,\r\n styleUrl: 'AppBarButton.scss'\r\n})\r\nexport class AppBarButtonComponent extends FrameworkElementComponent {\r\n @Input() IsEnabled = true;\r\n @Input() Text?: string;\r\n @Input() Icon?: string;\r\n @Output() Click = new EventEmitter();\r\n\r\n @HostBinding('class.disabled')\r\n private get disabled() {\r\n return !this.IsEnabled;\r\n }\r\n\r\n @ContentChild('xaml-flyout')\r\n private _flyout?: FlyoutBaseComponent;\r\n\r\n @HostListener('click', ['$event'])\r\n protected onHostPointerEvent(event: Event) {\r\n if (!this.IsEnabled) return;\r\n\r\n this.Click.emit(event);\r\n this._flyout?.Show();\r\n }\r\n}","import { Component } from \"@angular/core\";\r\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\r\n\r\n@Component({\r\n selector: 'CommandBar',\r\n template: `<ng-content/>`,\r\n styleUrl: 'CommandBar.scss'\r\n})\r\nexport class CommandBarComponent extends FrameworkElementComponent {\r\n\r\n}","export class MenuFlyoutItemBase {\r\n \r\n}","import { CommonModule } from \"@angular/common\";\r\nimport { Component, EventEmitter, HostBinding, HostListener, Input, Output, ViewChild } from \"@angular/core\";\r\nimport { MenuFlyoutItemBase } from \"./MenuFlyoutItemBase\";\r\n\r\n@Component({\r\n selector: 'MenuFlyoutItem',\r\n imports: [CommonModule],\r\n template: `<div class=\"icon\">{{Icon}}<ng-content select=\"[Icon]\"/></div>\r\n <div class=\"text\">{{Text}}</div>\r\n <div class=\"submenu-indicator\"></div>`,\r\n styleUrl: 'MenuFlyoutItem.scss'\r\n})\r\nexport class MenuFlyoutItemComponent extends MenuFlyoutItemBase {\r\n @Input() IsEnabled = true;\r\n @Input() Text = '';\r\n @Input() Icon?: string;\r\n @Output() Click = new EventEmitter();\r\n\r\n @HostBinding('class.disabled')\r\n private get disabled() {\r\n return !this.IsEnabled;\r\n }\r\n\r\n @HostListener('click', [])\r\n private onClick() {\r\n if (!this.IsEnabled) return;\r\n this.Click.emit();\r\n }\r\n}","import { Component, EventEmitter, HostBinding, HostListener, Input, Output } from \"@angular/core\";\nimport { MenuFlyoutItemBase } from \"./MenuFlyoutItemBase\";\n\n@Component({\n selector: 'ToggleMenuFlyoutItem',\n template: `<div class=\"icon\">{{IsChecked ? '\\uE73E' : '' }}</div>\n <div class=\"text\">{{Text}}</div>`,\n styleUrl: 'MenuFlyoutItem.scss'\n})\nexport class ToggleMenuFlyoutItemComponent extends MenuFlyoutItemBase {\n @Input() IsEnabled = true;\n @Input() Text = '';\n @Input() @HostBinding('class.checked') IsChecked: boolean = false;\n @Output() IsCheckedChange = new EventEmitter<boolean>();\n\n @HostBinding('class.disabled')\n private get disabled() {\n return !this.IsEnabled;\n }\n\n @HostListener('pointerup', ['$event'])\n private onPointerUp(event: PointerEvent) {\n if (!this.IsEnabled) return;\n this.IsChecked = !this.IsChecked;\n this.IsCheckedChange.emit(this.IsChecked);\n }\n}","import { Component } from \"@angular/core\";\r\nimport { MenuFlyoutItemBase } from \"./MenuFlyoutItemBase\";\r\n\r\n@Component({\r\n selector: 'MenuFlyoutSeparator',\r\n template: `<div class=\"separator\"></div>`,\r\n styleUrl: 'MenuFlyoutSeparator.scss'\r\n})\r\nexport class MenuFlyoutSeparator extends MenuFlyoutItemBase {\r\n\r\n}","import { Directive, HostBinding, Input, NgModule } from \"@angular/core\";\n\n@Directive ({\n selector: '[ToolTipService-ToolTip]',\n standalone: false\n})\nexport class ToolTipDirective {\n @Input('ToolTipService-ToolTip') @HostBinding('attr.title') ToolTip?: string; //For now we just use the title\n}\n\n@NgModule({\n declarations: [ToolTipDirective],\n exports: [ToolTipDirective]\n})\nexport class ToolTipServiceModule { }","import { Component, Input, HostBinding } from \"@angular/core\";\r\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\n@Component({\r\n selector: 'ProgressBar',\r\n standalone: true,\r\n imports: [CommonModule],\r\n template: `<div class=\"indicator\" [ngStyle]=\"indicatorStyle\"></div>`,\r\n styleUrls: ['ProgressBar.scss']\r\n})\r\nexport class ProgressBarComponent extends FrameworkElementComponent {\r\n @Input() Minimum: number = 0;\r\n @Input() Maximum: number = 1;\r\n @Input() Value: number = 0;\r\n @HostBinding('class.indeterminate') @Input() IsIndeterminate: boolean = false;\r\n\r\n get indicatorStyle() {\r\n if (this.IsIndeterminate) {\r\n return {};\r\n }\r\n else {\r\n let width = ((this.Value - this.Minimum) / (this.Maximum - this.Minimum)) * 100\r\n return {\r\n width: width + '%'\r\n };\r\n }\r\n }\r\n} ","import { Component, Input, HostBinding } from \"@angular/core\";\r\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\r\nimport { CommonModule } from \"@angular/common\";\r\n\r\n@Component({\r\n selector: 'ProgressRing',\r\n standalone: true,\r\n imports: [CommonModule],\r\n template: `\r\n <svg class=\"progress-ring-svg\" [attr.viewBox]=\"'0 0 ' + _size + ' ' + _size\" [style.width]=\"Width\" [style.height]=\"Height\">\r\n <circle class=\"progress-ring-indicator\" \r\n [attr.cx]=\"_size/2\" \r\n [attr.cy]=\"_size/2\" \r\n [attr.r]=\"_radius\" \r\n fill=\"none\" \r\n [attr.stroke-width]=\"_strokeWidth\"\r\n [attr.stroke-dasharray]=\"_circumference\"\r\n [attr.stroke-dashoffset]=\"IsIndeterminate ? null : dashOffset\"\r\n />\r\n </svg>\r\n `,\r\n styleUrls: ['ProgressRing.scss']\r\n})\r\nexport class ProgressRingComponent extends FrameworkElementComponent {\r\n @Input() Minimum: number = 0;\r\n @Input() Maximum: number = 1;\r\n @Input() Value: number = 0;\r\n @Input() IsIndeterminate: boolean = false;\r\n\r\n @HostBinding('class.indeterminate')\r\n get indeterminateClass() {\r\n return this.IsIndeterminate;\r\n }\r\n\r\n protected readonly _size = 40;\r\n protected readonly _radius = 16;\r\n protected readonly _strokeWidth = 4;\r\n protected readonly _circumference = 2 * Math.PI * this._radius;\r\n\r\n constructor() {\r\n super();\r\n this.Width = this._size + 'px';\r\n this.Height = this._size + 'px';\r\n }\r\n\r\n get dashOffset() {\r\n let progress = (this.Value - this.Minimum) / (this.Maximum - this.Minimum);\r\n return this._circumference * (1 - progress);\r\n }\r\n} ","import { Component, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild } from \"@angular/core\";\r\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\r\nimport { TextAlignment } from \"../Common\";\r\nimport { RepeatButtonComponent } from \"../basic-input/RepeatButton\";\r\nimport { FontIconComponent } from \"../icons/FontIcon\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FlyoutComponent } from \"../dialogs-and-flyouts/Flyout\";\r\n\r\nexport type NumberInputMode = 'Float' | 'Integer';\r\nexport type NumberFormatter = (value: number) => string;\r\n\r\n@Component({\r\n selector: 'NumberBox',\r\n template: `<label>\r\n <div class=\"icon\">&#xEC8F;</div>\r\n <input class=\"text-box\" #input type=\"text\" [disabled]=\"!IsEnabled\" [value]=\"Text\" (change)=\"onChange()\" [placeholder]=\"PlaceholderText\" [style]=\"{'text-align': TextAlignment}\" (blur)=\"onBlur()\" (keydown)=\"onKeyDown($event)\"/>\r\n <Flyout #flyout Padding=\"2px\" Placement=\"Left\" [HasBackdrop]=\"false\" [Target]=\"flyoutTarget\">\r\n <RepeatButton Class=\"InlineButtonStyle\" (Click)=\"onIncreaseClick()\" [Delay]=\"500\" [Interval]=\"50\" (pointerdown)=\"onButtonPress()\" (pointerup)=\"onButtonPress()\"><FontIcon Glyph=\"&#xE70E;\"/></RepeatButton>\r\n <RepeatButton Class=\"InlineButtonStyle\" (Click)=\"onDecreaseClick()\" [Delay]=\"500\" [Interval]=\"50\" (pointerdown)=\"onButtonPress()\" (pointerup)=\"onButtonPress()\"><FontIcon Glyph=\"&#xE70D;\"/></RepeatButton>\r\n </Flyout>\r\n <div class=\"unit\" *ngIf=\"Unit !== undefined\">{{Unit}}</div> \r\n </label>`,\r\n styleUrls: ['TextBox.scss', 'NumberBox.scss'],\r\n imports: [CommonModule, RepeatButtonComponent, FontIconComponent, FlyoutComponent]\r\n})\r\nexport class NumberBoxComponent extends FrameworkElementComponent {\r\n @Input() IsEnabled: boolean = true;\r\n @Input() PlaceholderText: string = '';\r\n @Input() IsPlaceholderEditable: boolean = false;\r\n @Input() TextAlignment?: TextAlignment = 'Left';\r\n\r\n @Input() InputMode: NumberInputMode = 'Float';\r\n @Input() Minimum: number = -Infinity;\r\n @Input() Maximum: number = Infinity;\r\n @Input() SmallChange: number = 1;\r\n @Input() LargeChange: number = 10;\r\n @Input() NumberFormatter: NumberFormatter = (value: number) => value.toString();\r\n @Input() Unit?: string;\r\n\r\n @Output() ValueChange = new EventEmitter<number>();\r\n\r\n protected get flyoutTarget() {\r\n return this._input?.nativeElement;\r\n }\r\n\r\n @ViewChild('input')\r\n private _input!: ElementRef<HTMLInputElement>;\r\n\r\n @ViewChild('flyout')\r\n private _flyout!: FlyoutComponent;\r\n\r\n private _text = '';\r\n get Text() {\r\n return this._text;\r\n }\r\n\r\n private _value: number = NaN;\r\n get Value() {\r\n return this._value;\r\n }\r\n @Input() set Value(value: number) {\r\n this.setValue(value);\r\n this.updateText();\r\n }\r\n\r\n private setValue(value: number) {\r\n value = this.clampValue(value);\r\n if (value == this.Value) return;\r\n\r\n this._value = value;\r\n this.ValueChange.emit(value);\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.TextAlignment = 'Right';\r\n }\r\n\r\n protected onChange() {\r\n this._text = this._input.nativeElement.value;\r\n\r\n let value: number | undefined;\r\n switch (this.InputMode) {\r\n case 'Float':\r\n value = parseFloat(this._text);\r\n break;\r\n case 'Integer':\r\n value = parseInt(this._text);\r\n break;\r\n }\r\n\r\n this.setValue(value);\r\n }\r\n\r\n private clampValue(value: number) {\r\n if (!Number.isNaN(value)) {\r\n if (this.Minimum !== undefined && value < this.Minimum) value = this.Minimum;\r\n if (this.Maximum !== undefined && value > this.Maximum) value = this.Maximum;\r\n }\r\n return value;\r\n }\r\n\r\n protected onIncreaseClick() {\r\n this.Value += this.SmallChange;\r\n }\r\n\r\n protected onDecreaseClick() {\r\n this.Value -= this.SmallChange;\r\n }\r\n\r\n protected onButtonPress() {\r\n this._input.nativeElement.focus();\r\n setTimeout(() => this.cancelFlyoutDismiss(), 0);\r\n }\r\n\r\n private _blurTimeout: any;\r\n\r\n private cancelFlyoutDismiss() {\r\n if (this._blurTimeout) {\r\n\r\n clearTimeout(this._blurTimeout);\r\n this._blurTimeout = undefined;\r\n }\r\n }\r\n\r\n private scheduleFlyoutDismiss() {\r\n this.cancelFlyoutDismiss();\r\n\r\n this._blurTimeout = setTimeout(() => {\r\n this._flyout.Hide();\r\n }, 0);\r\n }\r\n\r\n protected onBlur() {\r\n this.updateText();\r\n this._input.nativeElement.value = this._text;\r\n\r\n if (this.IsPlaceholderEditable && this._input.nativeElement.value === this.PlaceholderText) {\r\n this._input.nativeElement.value = '';\r\n this.onChange();\r\n }\r\n\r\n this.scheduleFlyoutDismiss();\r\n }\r\n\r\n protected onKeyDown(event: KeyboardEvent) {\r\n switch (event.key) {\r\n case 'ArrowUp':\r\n this.Value += this.SmallChange;\r\n break;\r\n case 'ArrowDown':\r\n this.Value -= this.SmallChange;\r\n break;\r\n case 'PageUp':\r\n this.Value += this.LargeChange;\r\n break;\r\n case 'PageDown':\r\n this.Value -= this.LargeChange;\r\n break;\r\n }\r\n }\r\n\r\n @HostListener('click', [])\r\n private onClick() {\r\n this._input.nativeElement.focus();\r\n }\r\n\r\n @HostListener('focusin', [])\r\n private onFocusIn() {\r\n if (this.IsPlaceholderEditable && Number.isNaN(this.Value)) {\r\n this._input.nativeElement.value = this.PlaceholderText;\r\n this.onChange();\r\n }\r\n\r\n this._flyout.Show();\r\n this._input.nativeElement.select();\r\n }\r\n\r\n private updateText() {\r\n this._text = Number.isNaN(this.Value) ? '' : this.NumberFormatter(this.Value);\r\n }\r\n\r\n @HostListener('contextmenu', ['$event'])\r\n private onContextMenu(event: Event) {\r\n event.stopPropagation();\r\n }\r\n}","import { Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, output, ViewChild } from \"@angular/core\";\nimport { FrameworkElementComponent } from \"../FrameworkElement\";\nimport { TextAlignment, TextWrapping, UpdateTrigger } from \"../Common\";\nimport { CommonModule } from \"@angular/common\";\n\n@Component({\n selector: 'TextBox',\n imports: [CommonModule],\n template: `<input class=\"text-box\" #input *ngIf=\"TextWrapping === 'NoWrap'\" type=\"text\" [disabled]=\"!IsEnabled\" [value]=\"Text\" (input)=\"onInput($event)\" (blur)=\"onBlur($event)\" [placeholder]=\"PlaceholderText\" [style]=\"{'text-align': TextAlignment}\"/>\n <textarea class=\"text-box\" #input *ngIf=\"TextWrapping === 'Wrap'\" [disabled]=\"!IsEnabled\" [value]=\"Text\" (input)=\"onInput($event)\" (blur)=\"onBlur($event)\" [placeholder]=\"PlaceholderText\" [style]=\"{'text-align': TextAlignment}\"></textarea>`,\n styleUrl: 'TextBox.scss'\n})\nexport class TextBoxComponent extends FrameworkElementComponent {\n @Input() IsEnabled: boolean = true;\n @Input() PlaceholderText: string = '';\n @Input() TextAlignment?: TextAlignment = 'Left';\n @Input() TextWrapping: TextWrapping = 'NoWrap';\n @Input() UpdateTrigger: UpdateTrigger = 'PropertyChanged';\n\n @ViewChild('input')\n private _input!: ElementRef<HTMLInputElement>;\n\n private _text = '';\n get Text() {\n return this._text;\n }\n @Input() set Text(value: string) {\n if (value == this._text) return;\n\n this._text = value;\n this.TextChange.emit(value);\n }\n @Output() TextChange = new EventEmitter<string>();\n\n protected onInput(event: Event) {\n if (this.UpdateTrigger == 'PropertyChanged') this.update(event);\n }\n\n protected onBlur(event: FocusEvent) {\n if (this.UpdateTrigger == 'LostFocus') this.update(event);\n }\n\n protected update(event: Event) {\n this.Text = ((event.target) as HTMLInputElement).value;\n }\n\n @HostBinding('class.disabled')\n private get disabled() {\n return !this.IsEnabled;\n }\n\n @HostListener('click', [])\n private onClick() {\n this._input.nativeElement.focus();\n }\n\n @HostListener('contextmenu', ['$event'])\n private onContextMenu(event: Event) {\n event.stopPropagation();\n }\n\n Focus() {\n setTimeout(() => {\n this._input.nativeElement.focus();\n }, 0);\n }\n}","/*\n * Public API Surface of xaml-ui\n */\n\n//Basic input\nexport * from './lib/basic-input/Button';\nexport * from './lib/basic-input/CheckBox';\nexport * from './lib/basic-input/ColorPicker';\nexport * from './lib/basic-input/ComboBox';\nexport * from './lib/basic-input/DropDownButton';\nexport * from './lib/basic-input/RadioButton';\nexport * from './lib/basic-input/RadioToggleButton';\nexport * from './lib/basic-input/RepeatButton';\nexport * from './lib/basic-input/Slider';\nexport * from './lib/basic-input/SplitButton';\nexport * from './lib/basic-input/ToggleButton';\nexport * from './lib/basic-input/ToggleSwitch';\n\n//Collections\nexport * from './lib/collections/ListBox';\nexport * from './lib/collections/ListView';\n\n//Dialogs and flyouts\nexport * from './lib/dialogs-and-flyouts/ContentDialog';\nexport * from './lib/dialogs-and-flyouts/ContextFlyout';\nexport * from './lib/dialogs-and-flyouts/Dialog';\nexport * from './lib/dialogs-and-flyouts/Flyout';\n\n//Icons\nexport * from './lib/icons/FontIcon';\n\n//Layout\nexport * from './lib/layout/Border';\nexport * from './lib/layout/Grid';\nexport * from './lib/layout/Panel';\nexport * from './lib/layout/StackPanel';\n\n//Media\nexport * from './lib/media/Image';\n\n//Menus and toolbars\nexport * from './lib/menus-and-toolbars/AppBarButton';\nexport * from './lib/menus-and-toolbars/CommandBar';\nexport * from './lib/menus-and-toolbars/MenuFlyout';\nexport * from './lib/menus-and-toolbars/MenuFlyoutItem';\nexport * from './lib/menus-and-toolbars/ToggleMenuFlyoutItem';\nexport * from './lib/menus-and-toolbars/MenuFlyoutItemBase';\nexport * from './lib/menus-and-toolbars/MenuFlyoutSeparator';\n\n//Primitives\nexport * from './lib/primitives/DialogPresenter'\nexport * from './lib/primitives/FlyoutBase'\nexport * from './lib/primitives/FlyoutPresenter'\nexport * from './lib/primitives/Selector'\n\n//Scrolling\nexport * from './lib/scrolling/ScrollBar';\nexport * from './lib/scrolling/ScrollViewer';\n\n//Status and info\nexport * from './lib/status-and-info/ToolTipService';\nexport * from './lib/status-and-info/ProgressBar';\nexport * from './lib/status-and-info/ProgressRing';\n\n//Text\nexport * from './lib/text/NumberBox';\nexport * from './lib/text/TextBlock';\nexport * from './lib/text/TextBox';\n\n//Common\nexport * from './lib/Color';\nexport * from './lib/Common';\nexport * from './lib/FrameworkElement';\nexport * from './lib/XamlRoot';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.GridComponent","i1.GridComponent","i1.ItemContainerComponent"],"mappings":"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"}