@ngstarter-ui/components 21.0.23 → 21.0.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ai/component-registry.json +14 -6
- package/fesm2022/ngstarter-ui-components-avatar.mjs +3 -3
- package/fesm2022/ngstarter-ui-components-avatar.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-badge.mjs +1 -2
- package/fesm2022/ngstarter-ui-components-badge.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-breadcrumbs.mjs +0 -2
- package/fesm2022/ngstarter-ui-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-button-toggle.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-button-toggle.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-button.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-button.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-calendar.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-calendar.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-card-overlay.mjs +0 -1
- package/fesm2022/ngstarter-ui-components-card-overlay.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-card.mjs +7 -12
- package/fesm2022/ngstarter-ui-components-card.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-carousel.mjs +0 -3
- package/fesm2022/ngstarter-ui-components-carousel.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-chips.mjs +16 -19
- package/fesm2022/ngstarter-ui-components-chips.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-code-highlighter.mjs +4 -1
- package/fesm2022/ngstarter-ui-components-code-highlighter.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-command-bar.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-command-bar.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-comment-editor.mjs +4 -16
- package/fesm2022/ngstarter-ui-components-comment-editor.mjs.map +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-code-block.component-Czb0bvcr.mjs → ngstarter-ui-components-content-editor-code-block.component-CKrOhA7h.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-code-block.component-Czb0bvcr.mjs.map → ngstarter-ui-components-content-editor-code-block.component-CKrOhA7h.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-embed-block-c8Pq0Jdq.mjs → ngstarter-ui-components-content-editor-embed-block-zSApBzF3.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-embed-block-c8Pq0Jdq.mjs.map → ngstarter-ui-components-content-editor-embed-block-zSApBzF3.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-heading-block.component-CT5g3MLZ.mjs → ngstarter-ui-components-content-editor-heading-block.component-Dv8d0nCy.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-heading-block.component-CT5g3MLZ.mjs.map → ngstarter-ui-components-content-editor-heading-block.component-Dv8d0nCy.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-image-block.component-Cp_Yo7zI.mjs → ngstarter-ui-components-content-editor-image-block.component-g-H7a5Z_.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-image-block.component-Cp_Yo7zI.mjs.map → ngstarter-ui-components-content-editor-image-block.component-g-H7a5Z_.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-list-block.component-BvineUWy.mjs → ngstarter-ui-components-content-editor-list-block.component-PgqisgxY.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-list-block.component-BvineUWy.mjs.map → ngstarter-ui-components-content-editor-list-block.component-PgqisgxY.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-4_TqxgpH.mjs → ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-BuMm25ea.mjs} +12 -13
- package/fesm2022/ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-BuMm25ea.mjs.map +1 -0
- package/fesm2022/{ngstarter-ui-components-content-editor-paragraph-block.component-sH44U1I8.mjs → ngstarter-ui-components-content-editor-paragraph-block.component-DS_6CzuA.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-paragraph-block.component-sH44U1I8.mjs.map → ngstarter-ui-components-content-editor-paragraph-block.component-DS_6CzuA.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-quote-block.component-CA3KoZ-u.mjs → ngstarter-ui-components-content-editor-quote-block.component-Df92Nqvp.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-quote-block.component-CA3KoZ-u.mjs.map → ngstarter-ui-components-content-editor-quote-block.component-Df92Nqvp.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-table-block.component-GTZiYUjU.mjs → ngstarter-ui-components-content-editor-table-block.component-D4rdPkGz.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-table-block.component-GTZiYUjU.mjs.map → ngstarter-ui-components-content-editor-table-block.component-D4rdPkGz.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-content-editor-video-block.component-CzMZ1s6C.mjs → ngstarter-ui-components-content-editor-video-block.component-DqS9Lhp_.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-content-editor-video-block.component-CzMZ1s6C.mjs.map → ngstarter-ui-components-content-editor-video-block.component-DqS9Lhp_.mjs.map} +1 -1
- package/fesm2022/ngstarter-ui-components-content-editor.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-core.mjs +0 -9
- package/fesm2022/ngstarter-ui-components-core.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-country-select.mjs +11 -11
- package/fesm2022/ngstarter-ui-components-country-select.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-data-view.mjs +0 -3
- package/fesm2022/ngstarter-ui-components-data-view.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-datepicker.mjs +27 -23
- package/fesm2022/ngstarter-ui-components-datepicker.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-dialog.mjs +0 -1
- package/fesm2022/ngstarter-ui-components-dialog.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-digit-roller.mjs +4 -4
- package/fesm2022/ngstarter-ui-components-digit-roller.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-drawer.mjs +15 -7
- package/fesm2022/ngstarter-ui-components-drawer.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-empty-state.mjs +6 -6
- package/fesm2022/ngstarter-ui-components-empty-state.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-expansion.mjs +6 -6
- package/fesm2022/ngstarter-ui-components-expansion.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-filter-builder.mjs +0 -3
- package/fesm2022/ngstarter-ui-components-filter-builder.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-form-field.mjs +4 -4
- package/fesm2022/ngstarter-ui-components-form-field.mjs.map +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-autocomplete-many-field-BLhfO1zC.mjs → ngstarter-ui-components-form-renderer-autocomplete-many-field-CGQ3pJaG.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-autocomplete-many-field-BLhfO1zC.mjs.map → ngstarter-ui-components-form-renderer-autocomplete-many-field-CGQ3pJaG.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-datepicker-field-DRSVe0gK.mjs → ngstarter-ui-components-form-renderer-datepicker-field-Cf3jfPv7.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-datepicker-field-DRSVe0gK.mjs.map → ngstarter-ui-components-form-renderer-datepicker-field-Cf3jfPv7.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-input-field-DpGLKZjz.mjs → ngstarter-ui-components-form-renderer-input-field-tZHU8-_L.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-input-field-DpGLKZjz.mjs.map → ngstarter-ui-components-form-renderer-input-field-tZHU8-_L.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-radio-group-field-DUCSU3iT.mjs → ngstarter-ui-components-form-renderer-radio-group-field-lc1V-NeL.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-radio-group-field-DUCSU3iT.mjs.map → ngstarter-ui-components-form-renderer-radio-group-field-lc1V-NeL.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-select-field-CCbpYyZo.mjs → ngstarter-ui-components-form-renderer-select-field-DyBidcIU.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-select-field-CCbpYyZo.mjs.map → ngstarter-ui-components-form-renderer-select-field-DyBidcIU.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-textarea-field-D89GlMDO.mjs → ngstarter-ui-components-form-renderer-textarea-field-DxbPsw3z.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-textarea-field-D89GlMDO.mjs.map → ngstarter-ui-components-form-renderer-textarea-field-DxbPsw3z.mjs.map} +1 -1
- package/fesm2022/{ngstarter-ui-components-form-renderer-timezone-field-C9wz7zPg.mjs → ngstarter-ui-components-form-renderer-timezone-field-DAWrM-jS.mjs} +2 -2
- package/fesm2022/{ngstarter-ui-components-form-renderer-timezone-field-C9wz7zPg.mjs.map → ngstarter-ui-components-form-renderer-timezone-field-DAWrM-jS.mjs.map} +1 -1
- package/fesm2022/ngstarter-ui-components-form-renderer.mjs +9 -9
- package/fesm2022/ngstarter-ui-components-form-renderer.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-guided-tour.mjs +4 -5
- package/fesm2022/ngstarter-ui-components-guided-tour.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-headless-stepper.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-headless-stepper.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-icon.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-icon.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-image-designer.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-image-designer.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-marquee.mjs +78 -8
- package/fesm2022/ngstarter-ui-components-marquee.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-notifications.mjs +4 -5
- package/fesm2022/ngstarter-ui-components-notifications.mjs.map +1 -1
- package/package.json +1 -1
- package/types/ngstarter-ui-components-card.d.ts +1 -1
- package/types/ngstarter-ui-components-chips.d.ts +3 -3
- package/types/ngstarter-ui-components-datepicker.d.ts +6 -6
- package/types/ngstarter-ui-components-expansion.d.ts +2 -2
- package/types/ngstarter-ui-components-form-field.d.ts +2 -2
- package/types/ngstarter-ui-components-guided-tour.d.ts +1 -1
- package/types/ngstarter-ui-components-marquee.d.ts +19 -11
- package/fesm2022/ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-4_TqxgpH.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngstarter-ui-components-chips.mjs","sources":["../../../projects/components/chips/src/chip/chip.ts","../../../projects/components/chips/src/chip/chip.html","../../../projects/components/chips/src/chip-row/chip-row.ts","../../../projects/components/chips/src/chip-grid/chip-grid.ts","../../../projects/components/chips/src/chip-grid/chip-grid.html","../../../projects/components/chips/src/chip-option/chip-option.ts","../../../projects/components/chips/src/chip-listbox/chip-listbox.ts","../../../projects/components/chips/src/chip-listbox/chip-listbox.html","../../../projects/components/chips/src/chip-set/chip-set.ts","../../../projects/components/chips/src/chip-set/chip-set.html","../../../projects/components/chips/src/chip-avatar.ts","../../../projects/components/chips/src/chip-edit.ts","../../../projects/components/chips/src/chip-remove.ts","../../../projects/components/chips/src/chip-input.ts","../../../projects/components/chips/src/chip-control.ts","../../../projects/components/chips/src/chip-shape.ts","../../../projects/components/chips/ngstarter-ui-components-chips.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n input,\n ElementRef,\n inject,\n booleanAttribute,\n output,\n} from '@angular/core';\nimport { AutoFocusDirective } from '@ngstarter-ui/components/core';\n\n@Component({\n selector: 'ngs-chip',\n exportAs: 'ngsChip',\n imports: [\n AutoFocusDirective\n ],\n templateUrl: './chip.html',\n styleUrl: './chip.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-chip',\n '[class.ngs-chip-disabled]': 'disabled()',\n '[attr.appearance]': 'appearance()',\n '[attr.aria-disabled]': 'disabled()',\n },\n})\nexport class Chip {\n readonly _elementRef = inject(ElementRef);\n protected _editing = false;\n\n appearance = input<string>('filled');\n disabled = input(false, { transform: booleanAttribute });\n value = input<any>(undefined);\n\n readonly destroyed = output<{ chip: Chip; }>();\n readonly removed = output<{ chip: Chip; }>();\n\n remove(): void {\n if (!this.disabled()) {\n this.removed.emit({ chip: this });\n }\n }\n\n ngOnDestroy() {\n this.destroyed.emit({ chip: this });\n }\n\n _handleKeydown(event: KeyboardEvent): void {\n }\n\n _handleBlur(): void {\n }\n}\n","<div class=\"ngs-chip-content\">\n <span class=\"avatar\">\n <ng-content select=\"ngs-chip-avatar, [ngsChipAvatar]\"/>\n </span>\n <span class=\"shape\">\n <ng-content select=\"ngs-chip-shape, [ngsChipShape]\"/>\n </span>\n <span\n #editInput\n class=\"ngs-chip-label\"\n [attr.contenteditable]=\"_editing || null\"\n (blur)=\"_handleBlur()\"\n (keydown)=\"_handleKeydown($event)\"\n [ngsAutoFocus]=\"_editing\"\n >\n <ng-content/>\n </span>\n <div class=\"controls\">\n <ng-content select=\"ngs-chip-remove, [ngsChipRemove], [ngsChipControl], [ngsChipEdit]\"/>\n </div>\n</div>\n","import {\n Component,\n ChangeDetectionStrategy,\n input,\n booleanAttribute,\n forwardRef,\n viewChild,\n ElementRef,\n ChangeDetectorRef,\n inject,\n PLATFORM_ID, signal,\n output\n} from '@angular/core';\nimport { Chip } from '../chip/chip';\nimport { isPlatformBrowser } from '@angular/common';\nimport { AutoFocusDirective } from '@ngstarter-ui/components/core';\n\nexport interface ChipEditedEvent {\n /** The chip row that was edited. */\n chip: ChipRow;\n\n /** The value of the chip row after it was edited. */\n value: string;\n}\n\n@Component({\n selector: 'ngs-chip-row',\n templateUrl: '../chip/chip.html',\n styleUrl: '../chip/chip.scss',\n host: {\n 'class': 'ngs-chip ngs-chip-row',\n '[class.ngs-chip-disabled]': 'disabled()',\n '[class.ngs-chip-editing]': '_editing',\n '[class.ngs-chip-editable]': 'editable()',\n '[class.ngs-chip-filled]': 'appearance() === \"filled\"',\n '[class.ngs-chip-outlined]': 'appearance() === \"outlined\"',\n '[attr.aria-disabled]': 'disabled()',\n 'role': 'row',\n '(keydown)': '_handleKeydown($event)',\n '(click)': '_handleClick($event)',\n },\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n AutoFocusDirective\n ],\n providers: [\n {\n provide: Chip,\n useExisting: forwardRef(() => ChipRow)\n }\n ]\n})\nexport class ChipRow extends Chip {\n private _changeDetectorRef = inject(ChangeDetectorRef);\n\n private readonly _editInput = viewChild<ElementRef<HTMLSpanElement>>('editInput');\n\n alreadyEdited = signal(false);\n\n editable = input(false, { transform: booleanAttribute });\n\n readonly edited = output<ChipEditedEvent>();\n\n /**\n * Allows for use of the template-bound $event object\n */\n override _handleKeydown(event: KeyboardEvent): void {\n if (this.editable() && !this.disabled()) {\n if (this._editing) {\n if (event.key === 'Enter') {\n this._stopEditing();\n event.preventDefault();\n } else if (event.key === 'Escape') {\n this._editing = false;\n this._changeDetectorRef.markForCheck();\n event.preventDefault();\n }\n }\n }\n }\n\n override _handleBlur(): void {\n if (this._editing) {\n this._stopEditing();\n }\n }\n\n _handleClick(event: MouseEvent): void {\n if (!this.disabled()) {\n if (this.editable() && !this._editing && this.alreadyEdited()) {\n this._startEditing();\n }\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n _startEditing(): void {\n if (this.editable() && !this.disabled() && !this._editing) {\n this.alreadyEdited.set(true);\n this._editing = true;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n private _stopEditing(): void {\n if (this._editing) {\n this._editing = false;\n const newValue = this._editInput()!.nativeElement.innerText.trim();\n this.edited.emit({ chip: this, value: newValue });\n this._changeDetectorRef.markForCheck();\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n forwardRef,\n booleanAttribute,\n Component,\n AfterContentInit,\n computed,\n signal,\n input,\n inject,\n ElementRef,\n contentChildren,\n output\n} from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { ChipRow } from '../chip-row/chip-row';\nimport { FormFieldControl } from '@ngstarter-ui/components/form-field';\n\nlet nextId = 0;\n\n@Component({\n selector: 'ngs-chip-grid',\n templateUrl: './chip-grid.html',\n styleUrl: './chip-grid.scss',\n host: {\n 'class': 'ngs-chip-grid ngs-chip-set',\n 'role': 'grid',\n '[attr.aria-disabled]': 'disabled',\n '[id]': 'id',\n },\n standalone: true,\n providers: [\n {\n provide: FormFieldControl,\n useExisting: forwardRef(() => ChipGrid),\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ChipGrid implements ControlValueAccessor, AfterContentInit, FormFieldControl<any[]> {\n readonly ngControl = inject(NgControl, { optional: true, self: true });\n readonly _elementRef = inject(ElementRef);\n\n _id = input<string>(`ngs-chip-grid-${nextId++}`, { alias: 'id' });\n get id(): string { return this._id(); }\n _placeholder = input<string | undefined>(undefined, { alias: 'placeholder' });\n get placeholder(): string | undefined { return this._placeholder(); }\n _required = input(false, { transform: booleanAttribute, alias: 'required' });\n get required(): boolean { return this._required(); }\n private _disabled = signal(false);\n _disabledInput = input(false, {\n transform: booleanAttribute,\n alias: 'disabled'\n });\n isDisabled = computed(() => this._disabledInput() || this._disabled());\n get disabled(): boolean { return this.isDisabled(); }\n\n readonly _chips = contentChildren(ChipRow, { descendants: true });\n private readonly _chips$ = toObservable(this._chips);\n\n readonly valueChange = output<any>();\n\n private _value = signal<any[]>([]);\n readonly stateChanges = signal<void>(undefined);\n private _focused = signal(false);\n get focused(): boolean { return this._focused(); }\n get multiline(): boolean { return this._chipsLength() > 0; }\n private _errorState = signal(false);\n get errorState(): boolean { return this._errorState(); }\n\n private _chipsLength = signal(0);\n get chipsLength(): number { return this._chipsLength(); }\n\n private _empty = computed(() => {\n const value = this._value();\n return (!value || value.length === 0) &&\n this._chipsLength() === 0 &&\n !this._isInputFocused() &&\n this._isInputEmpty();\n });\n get empty(): boolean { return this._empty(); }\n\n private _shouldLabelFloat = computed(() => {\n return !this.empty || this.focused;\n });\n get shouldLabelFloat(): boolean { return this._shouldLabelFloat(); }\n\n private _isInputFocused = signal(false);\n private _isInputEmpty = signal(true);\n private _chipInput: any;\n\n onChange: (value: any) => void = () => {};\n onTouched: () => void = () => {};\n\n constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n get value(): any[] {\n return this._value();\n }\n\n set value(value: any[]) {\n this._value.set(value);\n this.onChange(value);\n this.stateChanges.set(undefined);\n }\n\n writeValue(value: any): void {\n this._value.set(value || []);\n this.stateChanges.set(undefined);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled.set(isDisabled);\n this.stateChanges.set(undefined);\n }\n\n ngAfterContentInit() {\n this._chips$.subscribe(() => {\n this._chipsLength.set(this._chips().length);\n this.stateChanges.set(undefined);\n });\n this._chipsLength.set(this._chips().length);\n }\n\n _setFocused(focused: boolean) {\n if (focused !== this._focused()) {\n this._focused.set(focused);\n this.stateChanges.set(undefined);\n }\n }\n\n _setInputFocused(focused: boolean) {\n this._isInputFocused.set(focused);\n this._setFocused(focused);\n }\n\n _setInputEmpty(empty: boolean) {\n this._isInputEmpty.set(empty);\n this.stateChanges.set(undefined);\n }\n\n _registerInput(input: any) {\n this._chipInput = input;\n }\n\n focus(): void {\n if (this.isDisabled()) {\n return;\n }\n\n if (this._chipInput) {\n this._chipInput.focus();\n } else {\n this._elementRef.nativeElement.focus();\n }\n }\n}\n","<ng-content />\n","import {\n Component,\n ChangeDetectionStrategy,\n input,\n booleanAttribute,\n forwardRef,\n output,\n effect,\n signal\n} from '@angular/core';\nimport { AutoFocusDirective } from '@ngstarter-ui/components/core';\nimport { Chip } from '../chip/chip';\n\n@Component({\n selector: 'ngs-chip-option',\n exportAs: 'ngsChipOption',\n imports: [\n AutoFocusDirective\n ],\n templateUrl: '../chip/chip.html',\n styleUrl: '../chip/chip.scss',\n providers: [\n {\n provide: Chip,\n useExisting: forwardRef(() => ChipOption)\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-chip ngs-chip-option',\n '[class.ngs-chip-selected]': 'isSelected',\n '[class.ngs-chip-disabled]': 'disabled()',\n '[class.ngs-chip-filled]': 'appearance() === \"filled\"',\n '[class.ngs-chip-outlined]': 'appearance() === \"outlined\"',\n '[attr.aria-selected]': 'isSelected',\n '[attr.aria-disabled]': 'disabled()',\n '(click)': 'toggleSelected()',\n },\n})\nexport class ChipOption extends Chip {\n selected = input(false, { transform: booleanAttribute });\n private readonly _internalSelected = signal(false);\n\n constructor() {\n super();\n effect(() => {\n this._setSelected(this.selected());\n });\n }\n\n get isSelected(): boolean {\n return this._internalSelected();\n }\n _setSelected(value: boolean) {\n this._internalSelected.set(value);\n }\n\n readonly selectionChange = output<{\n source: ChipOption;\n selected: boolean;\n }>();\n\n toggleSelected(): void {\n if (!this.disabled()) {\n this._setSelected(!this.isSelected);\n this.selectionChange.emit({ source: this, selected: this.isSelected });\n }\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n input,\n forwardRef,\n booleanAttribute,\n AfterContentInit,\n contentChildren,\n computed,\n signal,\n OnDestroy\n} from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { ChipOption } from '../chip-option/chip-option';\n\n@Component({\n selector: 'ngs-chip-listbox',\n templateUrl: './chip-listbox.html',\n styleUrl: './chip-listbox.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ChipListbox),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-chip-listbox ngs-chip-set',\n 'role': 'listbox',\n '[attr.aria-multiselectable]': 'multiple()',\n '[attr.aria-disabled]': 'isDisabled()',\n },\n})\nexport class ChipListbox implements ControlValueAccessor, AfterContentInit, OnDestroy {\n multiple = input(false, { transform: booleanAttribute });\n disabled = input(false, { transform: booleanAttribute });\n private readonly _disabledByControl = signal(false);\n readonly isDisabled = computed(() => this.disabled() || this._disabledByControl());\n\n readonly _chips = contentChildren(ChipOption, { descendants: true });\n private readonly _chips$ = toObservable(this._chips);\n private _chipSelectionSubscriptions: Array<{ unsubscribe(): void }> = [];\n private _syncTimeout: ReturnType<typeof setTimeout> | null = null;\n\n private _value: any;\n\n onChange: (value: any) => void = () => {};\n onTouched: () => void = () => {};\n\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n this._value = value;\n this._syncChipsAsync();\n }\n\n writeValue(value: any): void {\n this._value = value;\n this._syncChipsAsync();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabledByControl.set(isDisabled);\n }\n\n ngAfterContentInit() {\n this._chips$.subscribe(() => {\n this._syncChipsAsync();\n });\n\n if (this._value === undefined) {\n const selectedChips = this._chips().filter(chip => chip.isSelected);\n\n if (this.multiple()) {\n this._value = selectedChips.map(chip => chip.value() !== undefined ? chip.value() : chip);\n } else {\n const lastSelected = selectedChips[selectedChips.length - 1];\n this._value = lastSelected ? (lastSelected.value() !== undefined ? lastSelected.value() : lastSelected) : undefined;\n }\n }\n\n this._syncChipsAsync();\n }\n\n ngOnDestroy(): void {\n if (this._syncTimeout !== null) {\n clearTimeout(this._syncTimeout);\n this._syncTimeout = null;\n }\n\n this._clearChipSelectionSubscriptions();\n }\n\n private _onSelectionChange(chip: ChipOption): void {\n if (this.isDisabled()) {\n this._updateChips();\n return;\n }\n\n const value = chip.value() !== undefined ? chip.value() : chip;\n\n if (this.multiple()) {\n if (!Array.isArray(this._value)) {\n this._value = [];\n }\n const index = this._value.indexOf(value);\n if (chip.isSelected) {\n if (index < 0) {\n this._value.push(value);\n }\n } else {\n if (index >= 0) {\n this._value.splice(index, 1);\n }\n }\n this._value = [...this._value];\n } else {\n this._chips().forEach(c => {\n if (c !== chip) {\n c._setSelected(false);\n }\n });\n this._value = chip.isSelected ? value : null;\n }\n this.onChange(this._value);\n this.onTouched();\n }\n\n private _watchChips(): void {\n this._clearChipSelectionSubscriptions();\n\n this._chipSelectionSubscriptions = this._chips().map(chip =>\n chip.selectionChange.subscribe(() => {\n this._onSelectionChange(chip);\n })\n );\n }\n\n private _clearChipSelectionSubscriptions(): void {\n this._chipSelectionSubscriptions.forEach(subscription => subscription.unsubscribe());\n this._chipSelectionSubscriptions = [];\n }\n\n private _syncChipsAsync(): void {\n if (this._syncTimeout !== null) {\n clearTimeout(this._syncTimeout);\n }\n\n this._syncTimeout = setTimeout(() => {\n this._syncTimeout = null;\n this._watchChips();\n this._updateChips();\n });\n }\n\n private _updateChips(): void {\n const _chips = this._chips();\n if (!_chips || this._value === undefined) {\n return;\n }\n\n _chips.forEach(chip => {\n const value = chip.value() !== undefined ? chip.value() : chip;\n\n if (this.multiple()) {\n chip._setSelected(Array.isArray(this._value) && this._value.includes(value));\n } else {\n chip._setSelected(this._value === value);\n }\n });\n }\n}\n","<ng-content />\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'ngs-chip-set',\n templateUrl: './chip-set.html',\n styleUrl: './chip-set.scss',\n host: {\n 'class': 'ngs-chip-set',\n 'role': 'presentation',\n },\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ChipSet {\n}\n","<ng-content />\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'ngs-chip-avatar, [ngsChipAvatar]',\n exportAs: 'ngsChipAvatar',\n host: {\n 'class': 'ngs-chip-avatar',\n },\n})\nexport class ChipAvatar {}\n","import { Directive, inject } from '@angular/core';\nimport { ChipRow } from './chip-row/chip-row';\n\n@Directive({\n selector: 'ngs-chip-edit, [ngsChipEdit]',\n host: {\n 'class': 'ngs-chip-edit',\n '(click)': '_handleClick($event)',\n },\n standalone: true,\n})\nexport class ChipEdit {\n protected _parentChip = inject(ChipRow);\n\n _handleClick(event: Event): void {\n if (!this._parentChip.disabled() && this._parentChip.editable()) {\n this._parentChip._startEditing();\n event.stopPropagation();\n }\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { Chip } from './chip/chip';\n\n@Directive({\n selector: 'ngs-chip-remove, [ngsChipRemove]',\n host: {\n 'class': 'ngs-chip-remove',\n '(click)': '_handleClick($event)',\n },\n standalone: true,\n})\nexport class ChipRemove {\n protected _parentChip = inject(Chip);\n\n _handleClick(event: Event): void {\n if (!this._parentChip.disabled()) {\n this._parentChip.remove();\n event.stopPropagation();\n }\n }\n}\n","import {\n booleanAttribute,\n Directive,\n ElementRef,\n inject,\n input,\n signal,\n DoCheck,\n output\n} from '@angular/core';\nimport { ChipGrid } from './chip-grid/chip-grid';\n\nexport interface ChipInputEvent {\n readonly chipInput: ChipInput;\n readonly value: string;\n readonly input: HTMLInputElement;\n}\n\n@Directive({\n selector: 'input[ngsChipInputFor]',\n standalone: true,\n host: {\n 'class': 'ngs-chip-input',\n '(input)': '_onInput()',\n '(keydown)': '_onKeydown($event)',\n '(blur)': '_onBlur()',\n '(focus)': '_onFocus()',\n }\n})\nexport class ChipInput implements DoCheck {\n private _elementRef = inject<ElementRef<HTMLInputElement>>(ElementRef);\n\n set chipGrid(value: ChipGrid) {\n this._chipGrid = value;\n this._chipGrid?._registerInput(this);\n this._chipGrid?._setInputEmpty(!this._elementRef.nativeElement.value);\n }\n get chipGrid() {\n return this._chipGrid;\n }\n private _chipGrid: ChipGrid;\n\n chipGridInput = input<ChipGrid | undefined>(undefined, { alias: 'ngsChipInputFor' });\n\n chipInputSeparatorKeyCodes = input<readonly number[] | ReadonlySet<number>>(undefined, { alias: 'ngsChipInputSeparatorKeyCodes' });\n\n chipInputAddOnBlur = input(false, { alias: 'ngsChipInputAddOnBlur', transform: booleanAttribute });\n\n readonly chipInputTokenEnd = output<ChipInputEvent>();\n\n protected readonly _value = signal('');\n protected readonly _focused = signal(false);\n\n constructor() { }\n\n ngDoCheck() {\n if (this.chipGridInput() && this.chipGridInput() !== this._chipGrid) {\n this.chipGrid = this.chipGridInput()!;\n }\n if (this._value() !== this._elementRef.nativeElement.value) {\n this._onInput();\n }\n }\n\n _onInput() {\n const value = this._elementRef.nativeElement.value;\n this._value.set(value);\n this.chipGrid?._setInputEmpty(!value);\n }\n\n _onKeydown(event: any) {\n if (event.defaultPrevented) {\n return;\n }\n const separatorKeyCodes = this.chipInputSeparatorKeyCodes();\n const isSeparatorKey = Array.isArray(separatorKeyCodes)\n ? separatorKeyCodes.includes(event.keyCode)\n : !!separatorKeyCodes && 'has' in separatorKeyCodes && separatorKeyCodes.has(event.keyCode);\n\n if (isSeparatorKey) {\n this.chipInputTokenEnd.emit({\n chipInput: this,\n value: this._elementRef.nativeElement.value,\n input: this._elementRef.nativeElement\n });\n event.preventDefault();\n }\n }\n\n _onBlur() {\n this._focused.set(false);\n if (this.chipInputAddOnBlur()) {\n this.chipInputTokenEnd.emit({\n chipInput: this,\n value: this._elementRef.nativeElement.value,\n input: this._elementRef.nativeElement\n });\n }\n this.chipGrid?._setInputFocused(false);\n }\n\n _onFocus() {\n this._focused.set(true);\n this.chipGrid?._setInputFocused(true);\n }\n\n clear() {\n this._elementRef.nativeElement.value = '';\n this._value.set('');\n this.chipGrid?._setInputEmpty(true);\n }\n\n focus() {\n this._elementRef.nativeElement.focus();\n }\n}\n","import { Directive, inject } from '@angular/core';\n\n@Directive({\n selector: '[ngsChipControl]',\n host: {\n 'class': 'ngs-chip-control',\n }\n})\nexport class ChipControl {\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'ngs-chip-shape, [ngsChipShape]',\n exportAs: 'ngsChipShape',\n host: {\n 'class': 'ngs-chip-shape',\n },\n})\nexport class ChipShape {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngstarter-ui-components-chips.mjs","sources":["../../../projects/components/chips/src/chip/chip.ts","../../../projects/components/chips/src/chip/chip.html","../../../projects/components/chips/src/chip-row/chip-row.ts","../../../projects/components/chips/src/chip-grid/chip-grid.ts","../../../projects/components/chips/src/chip-grid/chip-grid.html","../../../projects/components/chips/src/chip-option/chip-option.ts","../../../projects/components/chips/src/chip-listbox/chip-listbox.ts","../../../projects/components/chips/src/chip-listbox/chip-listbox.html","../../../projects/components/chips/src/chip-set/chip-set.ts","../../../projects/components/chips/src/chip-set/chip-set.html","../../../projects/components/chips/src/chip-avatar.ts","../../../projects/components/chips/src/chip-edit.ts","../../../projects/components/chips/src/chip-remove.ts","../../../projects/components/chips/src/chip-input.ts","../../../projects/components/chips/src/chip-control.ts","../../../projects/components/chips/src/chip-shape.ts","../../../projects/components/chips/ngstarter-ui-components-chips.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n input,\n ElementRef,\n inject,\n booleanAttribute,\n output,\n} from '@angular/core';\nimport { AutoFocusDirective } from '@ngstarter-ui/components/core';\n\n@Component({\n selector: 'ngs-chip',\n exportAs: 'ngsChip',\n imports: [\n AutoFocusDirective\n ],\n templateUrl: './chip.html',\n styleUrl: './chip.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-chip',\n '[class.ngs-chip-disabled]': 'disabled()',\n '[attr.appearance]': 'appearance()',\n '[attr.aria-disabled]': 'disabled()',\n },\n})\nexport class Chip {\n readonly _elementRef = inject(ElementRef);\n protected _editing = false;\n\n appearance = input<string>('filled');\n disabled = input(false, { transform: booleanAttribute });\n value = input<any>(undefined);\n\n readonly destroyed = output<{ chip: Chip; }>();\n readonly removed = output<{ chip: Chip; }>();\n\n remove(): void {\n if (!this.disabled()) {\n this.removed.emit({ chip: this });\n }\n }\n\n ngOnDestroy() {\n this.destroyed.emit({ chip: this });\n }\n\n _handleKeydown(event: KeyboardEvent): void {\n }\n\n _handleBlur(): void {\n }\n}\n","<div class=\"ngs-chip-content\">\n <span class=\"avatar\">\n <ng-content select=\"ngs-chip-avatar, [ngsChipAvatar]\"/>\n </span>\n <span class=\"shape\">\n <ng-content select=\"ngs-chip-shape, [ngsChipShape]\"/>\n </span>\n <span\n #editInput\n class=\"ngs-chip-label\"\n [attr.contenteditable]=\"_editing || null\"\n (blur)=\"_handleBlur()\"\n (keydown)=\"_handleKeydown($event)\"\n [ngsAutoFocus]=\"_editing\"\n >\n <ng-content/>\n </span>\n <div class=\"controls\">\n <ng-content select=\"ngs-chip-remove, [ngsChipRemove], [ngsChipControl], [ngsChipEdit]\"/>\n </div>\n</div>\n","import {\n Component,\n ChangeDetectionStrategy,\n input,\n booleanAttribute,\n forwardRef,\n viewChild,\n ElementRef,\n ChangeDetectorRef,\n inject,\n PLATFORM_ID, signal,\n output\n} from '@angular/core';\nimport { Chip } from '../chip/chip';\nimport { isPlatformBrowser } from '@angular/common';\nimport { AutoFocusDirective } from '@ngstarter-ui/components/core';\n\nexport interface ChipEditedEvent {\n /** The chip row that was edited. */\n chip: ChipRow;\n\n /** The value of the chip row after it was edited. */\n value: string;\n}\n\n@Component({\n selector: 'ngs-chip-row',\n exportAs: 'ngsChipRow',\n imports: [\n AutoFocusDirective\n ],\n templateUrl: '../chip/chip.html',\n styleUrl: '../chip/chip.scss',\n providers: [\n {\n provide: Chip,\n useExisting: forwardRef(() => ChipRow)\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-chip ngs-chip-row',\n '[class.ngs-chip-disabled]': 'disabled()',\n '[class.ngs-chip-editing]': '_editing',\n '[class.ngs-chip-editable]': 'editable()',\n '[class.ngs-chip-filled]': 'appearance() === \"filled\"',\n '[class.ngs-chip-outlined]': 'appearance() === \"outlined\"',\n '[attr.aria-disabled]': 'disabled()',\n 'role': 'row',\n '(keydown)': '_handleKeydown($event)',\n '(click)': '_handleClick($event)',\n },\n})\nexport class ChipRow extends Chip {\n private _changeDetectorRef = inject(ChangeDetectorRef);\n\n private readonly _editInput = viewChild<ElementRef<HTMLSpanElement>>('editInput');\n\n alreadyEdited = signal(false);\n\n editable = input(false, { transform: booleanAttribute });\n\n readonly edited = output<ChipEditedEvent>();\n\n /**\n * Allows for use of the template-bound $event object\n */\n override _handleKeydown(event: KeyboardEvent): void {\n if (this.editable() && !this.disabled()) {\n if (this._editing) {\n if (event.key === 'Enter') {\n this._stopEditing();\n event.preventDefault();\n } else if (event.key === 'Escape') {\n this._editing = false;\n this._changeDetectorRef.markForCheck();\n event.preventDefault();\n }\n }\n }\n }\n\n override _handleBlur(): void {\n if (this._editing) {\n this._stopEditing();\n }\n }\n\n _handleClick(event: MouseEvent): void {\n if (!this.disabled()) {\n if (this.editable() && !this._editing && this.alreadyEdited()) {\n this._startEditing();\n }\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n _startEditing(): void {\n if (this.editable() && !this.disabled() && !this._editing) {\n this.alreadyEdited.set(true);\n this._editing = true;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n private _stopEditing(): void {\n if (this._editing) {\n this._editing = false;\n const newValue = this._editInput()!.nativeElement.innerText.trim();\n this.edited.emit({ chip: this, value: newValue });\n this._changeDetectorRef.markForCheck();\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n forwardRef,\n booleanAttribute,\n Component,\n AfterContentInit,\n computed,\n signal,\n input,\n inject,\n ElementRef,\n contentChildren,\n output\n} from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { ChipRow } from '../chip-row/chip-row';\nimport { FormFieldControl } from '@ngstarter-ui/components/form-field';\n\nlet nextId = 0;\n\n@Component({\n selector: 'ngs-chip-grid',\n exportAs: 'ngsChipGrid',\n templateUrl: './chip-grid.html',\n styleUrl: './chip-grid.scss',\n host: {\n 'class': 'ngs-chip-grid ngs-chip-set',\n 'role': 'grid',\n '[attr.aria-disabled]': 'disabled',\n '[id]': 'id',\n },\n providers: [\n {\n provide: FormFieldControl,\n useExisting: forwardRef(() => ChipGrid),\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ChipGrid implements ControlValueAccessor, AfterContentInit, FormFieldControl<any[]> {\n readonly ngControl = inject(NgControl, { optional: true, self: true });\n readonly _elementRef = inject(ElementRef);\n\n _id = input<string>(`ngs-chip-grid-${nextId++}`, { alias: 'id' });\n get id(): string { return this._id(); }\n _placeholder = input<string | undefined>(undefined, { alias: 'placeholder' });\n get placeholder(): string | undefined { return this._placeholder(); }\n _required = input(false, { transform: booleanAttribute, alias: 'required' });\n get required(): boolean { return this._required(); }\n private _disabled = signal(false);\n _disabledInput = input(false, {\n transform: booleanAttribute,\n alias: 'disabled'\n });\n isDisabled = computed(() => this._disabledInput() || this._disabled());\n get disabled(): boolean { return this.isDisabled(); }\n\n readonly _chips = contentChildren(ChipRow, { descendants: true });\n private readonly _chips$ = toObservable(this._chips);\n\n readonly valueChange = output<any>();\n\n private _value = signal<any[]>([]);\n readonly stateChanges = signal<void>(undefined);\n private _focused = signal(false);\n get focused(): boolean { return this._focused(); }\n get multiline(): boolean { return this._chipsLength() > 0; }\n private _errorState = signal(false);\n get errorState(): boolean { return this._errorState(); }\n\n private _chipsLength = signal(0);\n get chipsLength(): number { return this._chipsLength(); }\n\n private _empty = computed(() => {\n const value = this._value();\n return (!value || value.length === 0) &&\n this._chipsLength() === 0 &&\n !this._isInputFocused() &&\n this._isInputEmpty();\n });\n get empty(): boolean { return this._empty(); }\n\n private _shouldLabelFloat = computed(() => {\n return !this.empty || this.focused;\n });\n get shouldLabelFloat(): boolean { return this._shouldLabelFloat(); }\n\n private _isInputFocused = signal(false);\n private _isInputEmpty = signal(true);\n private _chipInput: any;\n\n onChange: (value: any) => void = () => {};\n onTouched: () => void = () => {};\n\n constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n get value(): any[] {\n return this._value();\n }\n\n set value(value: any[]) {\n this._value.set(value);\n this.onChange(value);\n this.stateChanges.set(undefined);\n }\n\n writeValue(value: any): void {\n this._value.set(value || []);\n this.stateChanges.set(undefined);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled.set(isDisabled);\n this.stateChanges.set(undefined);\n }\n\n ngAfterContentInit() {\n this._chips$.subscribe(() => {\n this._chipsLength.set(this._chips().length);\n this.stateChanges.set(undefined);\n });\n this._chipsLength.set(this._chips().length);\n }\n\n _setFocused(focused: boolean) {\n if (focused !== this._focused()) {\n this._focused.set(focused);\n this.stateChanges.set(undefined);\n }\n }\n\n _setInputFocused(focused: boolean) {\n this._isInputFocused.set(focused);\n this._setFocused(focused);\n }\n\n _setInputEmpty(empty: boolean) {\n this._isInputEmpty.set(empty);\n this.stateChanges.set(undefined);\n }\n\n _registerInput(input: any) {\n this._chipInput = input;\n }\n\n focus(): void {\n if (this.isDisabled()) {\n return;\n }\n\n if (this._chipInput) {\n this._chipInput.focus();\n } else {\n this._elementRef.nativeElement.focus();\n }\n }\n}\n","<ng-content />\n","import {\n Component,\n ChangeDetectionStrategy,\n input,\n booleanAttribute,\n forwardRef,\n output,\n effect,\n signal\n} from '@angular/core';\nimport { AutoFocusDirective } from '@ngstarter-ui/components/core';\nimport { Chip } from '../chip/chip';\n\n@Component({\n selector: 'ngs-chip-option',\n exportAs: 'ngsChipOption',\n imports: [\n AutoFocusDirective\n ],\n templateUrl: '../chip/chip.html',\n styleUrl: '../chip/chip.scss',\n providers: [\n {\n provide: Chip,\n useExisting: forwardRef(() => ChipOption)\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-chip ngs-chip-option',\n '[class.ngs-chip-selected]': 'isSelected',\n '[class.ngs-chip-disabled]': 'disabled()',\n '[class.ngs-chip-filled]': 'appearance() === \"filled\"',\n '[class.ngs-chip-outlined]': 'appearance() === \"outlined\"',\n '[attr.aria-selected]': 'isSelected',\n '[attr.aria-disabled]': 'disabled()',\n '(click)': 'toggleSelected()',\n },\n})\nexport class ChipOption extends Chip {\n selected = input(false, { transform: booleanAttribute });\n private readonly _internalSelected = signal(false);\n\n constructor() {\n super();\n effect(() => {\n this._setSelected(this.selected());\n });\n }\n\n get isSelected(): boolean {\n return this._internalSelected();\n }\n _setSelected(value: boolean) {\n this._internalSelected.set(value);\n }\n\n readonly selectionChange = output<{\n source: ChipOption;\n selected: boolean;\n }>();\n\n toggleSelected(): void {\n if (!this.disabled()) {\n this._setSelected(!this.isSelected);\n this.selectionChange.emit({ source: this, selected: this.isSelected });\n }\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n input,\n forwardRef,\n booleanAttribute,\n AfterContentInit,\n contentChildren,\n computed,\n signal,\n OnDestroy\n} from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { ChipOption } from '../chip-option/chip-option';\n\n@Component({\n selector: 'ngs-chip-listbox',\n templateUrl: './chip-listbox.html',\n styleUrl: './chip-listbox.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ChipListbox),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-chip-listbox ngs-chip-set',\n 'role': 'listbox',\n '[attr.aria-multiselectable]': 'multiple()',\n '[attr.aria-disabled]': 'isDisabled()',\n },\n})\nexport class ChipListbox implements ControlValueAccessor, AfterContentInit, OnDestroy {\n multiple = input(false, { transform: booleanAttribute });\n disabled = input(false, { transform: booleanAttribute });\n private readonly _disabledByControl = signal(false);\n readonly isDisabled = computed(() => this.disabled() || this._disabledByControl());\n\n readonly _chips = contentChildren(ChipOption, { descendants: true });\n private readonly _chips$ = toObservable(this._chips);\n private _chipSelectionSubscriptions: Array<{ unsubscribe(): void }> = [];\n private _syncTimeout: ReturnType<typeof setTimeout> | null = null;\n\n private _value: any;\n\n onChange: (value: any) => void = () => {};\n onTouched: () => void = () => {};\n\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n this._value = value;\n this._syncChipsAsync();\n }\n\n writeValue(value: any): void {\n this._value = value;\n this._syncChipsAsync();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabledByControl.set(isDisabled);\n }\n\n ngAfterContentInit() {\n this._chips$.subscribe(() => {\n this._syncChipsAsync();\n });\n\n if (this._value === undefined) {\n const selectedChips = this._chips().filter(chip => chip.isSelected);\n\n if (this.multiple()) {\n this._value = selectedChips.map(chip => chip.value() !== undefined ? chip.value() : chip);\n } else {\n const lastSelected = selectedChips[selectedChips.length - 1];\n this._value = lastSelected ? (lastSelected.value() !== undefined ? lastSelected.value() : lastSelected) : undefined;\n }\n }\n\n this._syncChipsAsync();\n }\n\n ngOnDestroy(): void {\n if (this._syncTimeout !== null) {\n clearTimeout(this._syncTimeout);\n this._syncTimeout = null;\n }\n\n this._clearChipSelectionSubscriptions();\n }\n\n private _onSelectionChange(chip: ChipOption): void {\n if (this.isDisabled()) {\n this._updateChips();\n return;\n }\n\n const value = chip.value() !== undefined ? chip.value() : chip;\n\n if (this.multiple()) {\n if (!Array.isArray(this._value)) {\n this._value = [];\n }\n const index = this._value.indexOf(value);\n if (chip.isSelected) {\n if (index < 0) {\n this._value.push(value);\n }\n } else {\n if (index >= 0) {\n this._value.splice(index, 1);\n }\n }\n this._value = [...this._value];\n } else {\n this._chips().forEach(c => {\n if (c !== chip) {\n c._setSelected(false);\n }\n });\n this._value = chip.isSelected ? value : null;\n }\n this.onChange(this._value);\n this.onTouched();\n }\n\n private _watchChips(): void {\n this._clearChipSelectionSubscriptions();\n\n this._chipSelectionSubscriptions = this._chips().map(chip =>\n chip.selectionChange.subscribe(() => {\n this._onSelectionChange(chip);\n })\n );\n }\n\n private _clearChipSelectionSubscriptions(): void {\n this._chipSelectionSubscriptions.forEach(subscription => subscription.unsubscribe());\n this._chipSelectionSubscriptions = [];\n }\n\n private _syncChipsAsync(): void {\n if (this._syncTimeout !== null) {\n clearTimeout(this._syncTimeout);\n }\n\n this._syncTimeout = setTimeout(() => {\n this._syncTimeout = null;\n this._watchChips();\n this._updateChips();\n });\n }\n\n private _updateChips(): void {\n const _chips = this._chips();\n if (!_chips || this._value === undefined) {\n return;\n }\n\n _chips.forEach(chip => {\n const value = chip.value() !== undefined ? chip.value() : chip;\n\n if (this.multiple()) {\n chip._setSelected(Array.isArray(this._value) && this._value.includes(value));\n } else {\n chip._setSelected(this._value === value);\n }\n });\n }\n}\n","<ng-content />\n","import {\n Component,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n selector: 'ngs-chip-set',\n exportAs: 'ngsChipSet',\n templateUrl: './chip-set.html',\n styleUrl: './chip-set.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-chip-set',\n 'role': 'presentation',\n },\n})\nexport class ChipSet {\n}\n","<ng-content />\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'ngs-chip-avatar, [ngsChipAvatar]',\n exportAs: 'ngsChipAvatar',\n host: {\n 'class': 'ngs-chip-avatar',\n },\n})\nexport class ChipAvatar {}\n","import { Directive, inject } from '@angular/core';\nimport { ChipRow } from './chip-row/chip-row';\n\n@Directive({\n selector: 'ngs-chip-edit, [ngsChipEdit]',\n host: {\n 'class': 'ngs-chip-edit',\n '(click)': '_handleClick($event)',\n },\n})\nexport class ChipEdit {\n protected _parentChip = inject(ChipRow);\n\n _handleClick(event: Event): void {\n if (!this._parentChip.disabled() && this._parentChip.editable()) {\n this._parentChip._startEditing();\n event.stopPropagation();\n }\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { Chip } from './chip/chip';\n\n@Directive({\n selector: 'ngs-chip-remove, [ngsChipRemove]',\n host: {\n 'class': 'ngs-chip-remove',\n '(click)': '_handleClick($event)',\n },\n})\nexport class ChipRemove {\n protected _parentChip = inject(Chip);\n\n _handleClick(event: Event): void {\n if (!this._parentChip.disabled()) {\n this._parentChip.remove();\n event.stopPropagation();\n }\n }\n}\n","import {\n booleanAttribute,\n Directive,\n ElementRef,\n inject,\n input,\n signal,\n DoCheck,\n output\n} from '@angular/core';\nimport { ChipGrid } from './chip-grid/chip-grid';\n\nexport interface ChipInputEvent {\n readonly chipInput: ChipInput;\n readonly value: string;\n readonly input: HTMLInputElement;\n}\n\n@Directive({\n selector: 'input[ngsChipInputFor]',\n host: {\n 'class': 'ngs-chip-input',\n '(input)': '_onInput()',\n '(keydown)': '_onKeydown($event)',\n '(blur)': '_onBlur()',\n '(focus)': '_onFocus()',\n }\n})\nexport class ChipInput implements DoCheck {\n private _elementRef = inject<ElementRef<HTMLInputElement>>(ElementRef);\n\n set chipGrid(value: ChipGrid) {\n this._chipGrid = value;\n this._chipGrid?._registerInput(this);\n this._chipGrid?._setInputEmpty(!this._elementRef.nativeElement.value);\n }\n get chipGrid() {\n return this._chipGrid;\n }\n private _chipGrid: ChipGrid;\n\n chipGridInput = input<ChipGrid | undefined>(undefined, { alias: 'ngsChipInputFor' });\n\n chipInputSeparatorKeyCodes = input<readonly number[] | ReadonlySet<number>>(undefined, { alias: 'ngsChipInputSeparatorKeyCodes' });\n\n chipInputAddOnBlur = input(false, { alias: 'ngsChipInputAddOnBlur', transform: booleanAttribute });\n\n readonly chipInputTokenEnd = output<ChipInputEvent>();\n\n protected readonly _value = signal('');\n protected readonly _focused = signal(false);\n\n constructor() { }\n\n ngDoCheck() {\n if (this.chipGridInput() && this.chipGridInput() !== this._chipGrid) {\n this.chipGrid = this.chipGridInput()!;\n }\n if (this._value() !== this._elementRef.nativeElement.value) {\n this._onInput();\n }\n }\n\n _onInput() {\n const value = this._elementRef.nativeElement.value;\n this._value.set(value);\n this.chipGrid?._setInputEmpty(!value);\n }\n\n _onKeydown(event: any) {\n if (event.defaultPrevented) {\n return;\n }\n const separatorKeyCodes = this.chipInputSeparatorKeyCodes();\n const isSeparatorKey = Array.isArray(separatorKeyCodes)\n ? separatorKeyCodes.includes(event.keyCode)\n : !!separatorKeyCodes && 'has' in separatorKeyCodes && separatorKeyCodes.has(event.keyCode);\n\n if (isSeparatorKey) {\n this.chipInputTokenEnd.emit({\n chipInput: this,\n value: this._elementRef.nativeElement.value,\n input: this._elementRef.nativeElement\n });\n event.preventDefault();\n }\n }\n\n _onBlur() {\n this._focused.set(false);\n if (this.chipInputAddOnBlur()) {\n this.chipInputTokenEnd.emit({\n chipInput: this,\n value: this._elementRef.nativeElement.value,\n input: this._elementRef.nativeElement\n });\n }\n this.chipGrid?._setInputFocused(false);\n }\n\n _onFocus() {\n this._focused.set(true);\n this.chipGrid?._setInputFocused(true);\n }\n\n clear() {\n this._elementRef.nativeElement.value = '';\n this._value.set('');\n this.chipGrid?._setInputEmpty(true);\n }\n\n focus() {\n this._elementRef.nativeElement.focus();\n }\n}\n","import { Directive, inject } from '@angular/core';\n\n@Directive({\n selector: '[ngsChipControl]',\n host: {\n 'class': 'ngs-chip-control',\n }\n})\nexport class ChipControl {\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'ngs-chip-shape, [ngsChipShape]',\n exportAs: 'ngsChipShape',\n host: {\n 'class': 'ngs-chip-shape',\n },\n})\nexport class ChipShape {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -335,7 +335,10 @@ class CodeHighlighter {
|
|
|
335
335
|
}
|
|
336
336
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: CodeHighlighter, decorators: [{
|
|
337
337
|
type: Component,
|
|
338
|
-
args: [{ selector: 'ngs-code-highlighter',
|
|
338
|
+
args: [{ selector: 'ngs-code-highlighter', exportAs: 'ngsCodeHighlighter', imports: [
|
|
339
|
+
Button,
|
|
340
|
+
Icon
|
|
341
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
339
342
|
'class': 'ngs-code-highlighter not-prose',
|
|
340
343
|
'[class.appearance-bordered]': 'appearance() === "bordered"',
|
|
341
344
|
'[class.appearance-none]': 'appearance() === "none"',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngstarter-ui-components-code-highlighter.mjs","sources":["../../../projects/components/code-highlighter/src/code-highlighter/code-highlighter.ts","../../../projects/components/code-highlighter/src/code-highlighter/code-highlighter.html","../../../projects/components/code-highlighter/ngstarter-ui-components-code-highlighter.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, input, OnChanges, SimpleChanges, signal, computed, inject, booleanAttribute } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { codeToHtml, ShikiTransformer } from 'shiki';\nimport { Button } from '@ngstarter-ui/components/button';\nimport { Icon } from '@ngstarter-ui/components/icon';\n\nconst removeDiffPrefix = (node: any) => {\n if (!node.children || node.children.length === 0) return;\n\n const firstChild = node.children[0];\n if (firstChild.type === 'element' && firstChild.children && firstChild.children.length > 0) {\n const textNode = firstChild.children[0];\n if (textNode.type === 'text' && (textNode.value.startsWith('+') || textNode.value.startsWith('-'))) {\n textNode.value = textNode.value.slice(1);\n if (textNode.value === '' && firstChild.children.length === 1) {\n node.children.shift();\n }\n }\n } else if (firstChild.type === 'text' && (firstChild.value.startsWith('+') || firstChild.value.startsWith('-'))) {\n firstChild.value = firstChild.value.slice(1);\n if (firstChild.value === '') {\n node.children.shift();\n }\n }\n};\n\nconst diffTransformer: ShikiTransformer = {\n line(node, line) {\n if (this.options.lang === 'diff' || (this.options as any).diff) {\n const lineTokens = this.tokens[line - 1];\n const text = lineTokens.map(token => token.content).join('');\n if (text.startsWith('+')) {\n this.addClassToHast(node, 'diff add');\n removeDiffPrefix(node);\n } else if (text.startsWith('-')) {\n this.addClassToHast(node, 'diff remove');\n removeDiffPrefix(node);\n }\n }\n }\n};\n\n@Component({\n selector: 'ngs-code-highlighter',\n standalone: true,\n imports: [Button, Icon],\n exportAs: 'ngsCodeHighlighter',\n templateUrl: './code-highlighter.html',\n styleUrl: './code-highlighter.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-code-highlighter not-prose',\n '[class.appearance-bordered]': 'appearance() === \"bordered\"',\n '[class.appearance-none]': 'appearance() === \"none\"',\n '[class.overflow-disabled]': 'disableOverflow()',\n }\n})\nexport class CodeHighlighter implements OnChanges {\n private sanitizer = inject(DomSanitizer);\n\n code = input.required<string>();\n language = input<string>('none');\n theme = input<string>('github-light');\n title = input<string | null>(null);\n appearance = input<'none' | 'bordered'>('bordered');\n diff = input<boolean>(false);\n highlightLines = input<number[] | number[][]>([]);\n showLanguage = input(false, { transform: booleanAttribute });\n showCopyButton = input(false, { transform: booleanAttribute });\n disableOverflow = input(false, { transform: booleanAttribute });\n\n readonly content = signal<SafeHtml | null>(null);\n readonly isLoading = signal<boolean>(false);\n\n readonly displayedLanguage = computed(() => {\n const lang = this.language();\n if (!lang || lang === 'none') return '';\n\n const langMap: Record<string, string> = {\n '1c': '1C',\n 'abap': 'ABAP',\n 'actionscript-3': 'ActionScript 3',\n 'ada': 'Ada',\n 'apache': 'Apache',\n 'apex': 'Apex',\n 'apl': 'APL',\n 'applescript': 'AppleScript',\n 'ara': 'Ara',\n 'asm': 'Assembly',\n 'astro': 'Astro',\n 'awk': 'AWK',\n 'ballerina': 'Ballerina',\n 'bash': 'Bash',\n 'sh': 'Bash',\n 'batch': 'Batch',\n 'berry': 'Berry',\n 'bibtex': 'BibTeX',\n 'bicep': 'Bicep',\n 'blade': 'Blade',\n 'c': 'C',\n 'cadence': 'Cadence',\n 'clarity': 'Clarity',\n 'clojure': 'Clojure',\n 'clj': 'Clojure',\n 'cmake': 'CMake',\n 'cobol': 'COBOL',\n 'codeql': 'CodeQL',\n 'coffee': 'CoffeeScript',\n 'cpp': 'C++',\n 'csharp': 'C#',\n 'cs': 'C#',\n 'css': 'CSS',\n 'cue': 'CUE',\n 'cypher': 'Cypher',\n 'd': 'D',\n 'dart': 'Dart',\n 'dax': 'DAX',\n 'diff': 'Diff',\n 'docker': 'Docker',\n 'dockerfile': 'Dockerfile',\n 'dream-maker': 'Dream Maker',\n 'elixir': 'Elixir',\n 'elm': 'Elm',\n 'erb': 'ERB',\n 'erlang': 'Erlang',\n 'fish': 'Fish',\n 'fsharp': 'F#',\n 'fs': 'F#',\n 'gdresource': 'GDResource',\n 'gdscript': 'GDScript',\n 'gdshader': 'GDShader',\n 'gherkin': 'Gherkin',\n 'git-commit': 'Git Commit',\n 'git-rebase': 'Git Rebase',\n 'glimmer-js': 'Glimmer JS',\n 'gljs': 'Glimmer JS',\n 'glsl': 'GLSL',\n 'gnuplot': 'Gnuplot',\n 'go': 'Go',\n 'graphql': 'GraphQL',\n 'groovy': 'Groovy',\n 'hack': 'Hack',\n 'haml': 'Haml',\n 'handlebars': 'Handlebars',\n 'hbs': 'Handlebars',\n 'haskell': 'Haskell',\n 'hs': 'Haskell',\n 'hcl': 'HCL',\n 'hjson': 'Hjson',\n 'hlsl': 'HLSL',\n 'html': 'HTML',\n 'http': 'HTTP',\n 'imba': 'Imba',\n 'ini': 'INI',\n 'java': 'Java',\n 'javascript': 'JavaScript',\n 'js': 'JavaScript',\n 'jinja-html': 'Jinja HTML',\n 'jjson': 'JJSON',\n 'json': 'JSON',\n 'json5': 'JSON5',\n 'jsonc': 'JSONC',\n 'jsonnet': 'Jsonnet',\n 'jssm': 'JSSM',\n 'jsx': 'JSX',\n 'julia': 'Julia',\n 'kotlin': 'Kotlin',\n 'kt': 'Kotlin',\n 'kts': 'Kotlin',\n 'kusto': 'Kusto',\n 'latex': 'LaTeX',\n 'lat': 'LaTeX',\n 'tex': 'LaTeX',\n 'lean': 'Lean',\n 'less': 'Less',\n 'liquid': 'Liquid',\n 'lisp': 'Lisp',\n 'logo': 'Logo',\n 'lua': 'Lua',\n 'make': 'Make',\n 'makefile': 'Makefile',\n 'markdown': 'Markdown',\n 'md': 'Markdown',\n 'marko': 'Marko',\n 'matlab': 'MATLAB',\n 'mdx': 'MDX',\n 'mermaid': 'Mermaid',\n 'mipsasm': 'MIPS Assembly',\n 'mips': 'MIPS Assembly',\n 'mojolicious': 'Mojolicious',\n 'move': 'Move',\n 'narrat': 'Narrat',\n 'nextflow': 'Nextflow',\n 'nginx': 'Nginx',\n 'nim': 'Nim',\n 'nix': 'Nix',\n 'objective-c': 'Objective-C',\n 'objc': 'Objective-C',\n 'objective-cpp': 'Objective-C++',\n 'ocaml': 'OCaml',\n 'pascal': 'Pascal',\n 'perl': 'Perl',\n 'pl': 'Perl',\n 'php': 'PHP',\n 'plsql': 'PL/SQL',\n 'postcss': 'PostCSS',\n 'powerquery': 'PowerQuery',\n 'powershell': 'PowerShell',\n 'ps1': 'PowerShell',\n 'prisma': 'Prisma',\n 'prolog': 'Prolog',\n 'proto': 'Protocol Buffers',\n 'pug': 'Pug',\n 'jade': 'Pug',\n 'puppet': 'Puppet',\n 'purescript': 'PureScript',\n 'python': 'Python',\n 'py': 'Python',\n 'r': 'R',\n 'raku': 'Raku',\n 'razor': 'Razor',\n 'reg': 'Registry',\n 'rel': 'Rel',\n 'riscv': 'RISC-V',\n 'rst': 'reStructuredText',\n 'ruby': 'Ruby',\n 'rb': 'Ruby',\n 'rust': 'Rust',\n 'rs': 'Rust',\n 'sas': 'SAS',\n 'sass': 'Sass',\n 'scala': 'Scala',\n 'scheme': 'Scheme',\n 'scss': 'SCSS',\n 'shaderlab': 'ShaderLab',\n 'shader': 'ShaderLab',\n 'shell': 'Shell',\n 'shellscript': 'Shell',\n 'smalltalk': 'Smalltalk',\n 'solidity': 'Solidity',\n 'sparql': 'SPARQL',\n 'sql': 'SQL',\n 'ssh-config': 'SSH Config',\n 'stata': 'Stata',\n 'stylus': 'Stylus',\n 'styl': 'Stylus',\n 'svelte': 'Svelte',\n 'swift': 'Swift',\n 'system-verilog': 'SystemVerilog',\n 'tasl': 'Tasl',\n 'tcl': 'Tcl',\n 'terraform': 'Terraform',\n 'tf': 'Terraform',\n 'toml': 'TOML',\n 'tsx': 'TSX',\n 'turtle': 'Turtle',\n 'twig': 'Twig',\n 'typescript': 'TypeScript',\n 'ts': 'TypeScript',\n 'v': 'V',\n 'vb': 'Visual Basic',\n 'verilog': 'Verilog',\n 'vhdl': 'VHDL',\n 'viml': 'VimL',\n 'vim': 'VimL',\n 'vue': 'Vue',\n 'vyper': 'Vyper',\n 'wasm': 'WebAssembly',\n 'wenyan': 'Wenyan',\n 'wgsl': 'WGSL',\n 'wolfram': 'Wolfram',\n 'xml': 'XML',\n 'xsl': 'XSL',\n 'yaml': 'YAML',\n 'yml': 'YAML',\n 'zenscript': 'ZenScript',\n 'zig': 'Zig',\n 'zsh': 'Zsh',\n };\n\n return langMap[lang.toLowerCase()] || lang;\n });\n\n private getHighlightTransformer(): ShikiTransformer {\n const highlights = this.highlightLines();\n if (!highlights || (Array.isArray(highlights) && highlights.length === 0)) {\n return {};\n }\n\n const isHighlighted = (line: number): boolean => {\n if (Array.isArray(highlights[0])) {\n return (highlights as number[][]).some(([start, end]) => line >= start && line <= end);\n } else {\n const [start, end] = highlights as number[];\n return line >= start && line <= end;\n }\n };\n\n return {\n line(node, line) {\n if (isHighlighted(line)) {\n this.addClassToHast(node, 'highlighted');\n }\n }\n };\n }\n\n async ngOnChanges(changes: SimpleChanges) {\n const code = this.code() ?? '';\n\n if (code.length === 0) {\n this.isLoading.set(false);\n this.content.set(this.sanitizer.bypassSecurityTrustHtml('<pre class=\"shiki\"><code></code></pre>'));\n return;\n }\n\n this.isLoading.set(true);\n try {\n const highlighted = await codeToHtml(\n code,\n {\n lang: this.language(),\n theme: this.theme(),\n transformers: [diffTransformer, this.getHighlightTransformer()],\n diff: this.diff()\n } as any\n );\n this.content.set(this.sanitizer.bypassSecurityTrustHtml(highlighted));\n } catch (e) {\n // Fallback: raw code escaped inside pre\n const escaped = code\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>');\n const fallback = `<pre class=\"shiki\"><code>${escaped}</code></pre>`;\n this.content.set(this.sanitizer.bypassSecurityTrustHtml(fallback));\n console.error('CodeHighlighter error:', e);\n } finally {\n this.isLoading.set(false);\n }\n }\n\n copied = signal(false);\n private copyTimeout?: any;\n\n copyCode() {\n if (this.code()) {\n navigator.clipboard.writeText(this.code());\n this.copied.set(true);\n\n if (this.copyTimeout) {\n clearTimeout(this.copyTimeout);\n }\n\n this.copyTimeout = setTimeout(() => {\n this.copied.set(false);\n this.copyTimeout = undefined;\n }, 2000);\n }\n }\n}\n","<figure class=\"h-full\">\n @if (title()) {\n <figcaption>\n @if (title()) {\n <span class=\"title\">{{ title() }}</span>\n }\n </figcaption>\n }\n\n <div class=\"content relative h-full\">\n @if (showLanguage()) {\n <div class=\"languageName\">{{ displayedLanguage() }}</div>\n }\n\n @if (showCopyButton()) {\n <span class=\"absolute top-2 right-2\">\n <button\n ngsIconButton\n (click)=\"copyCode()\"\n >\n <ngs-icon\n [name]=\"copied() ? 'fluent:checkmark-24-regular' : 'fluent:copy-24-regular'\"\n [class.text-green-500]=\"copied()\"\n />\n </button>\n </span>\n }\n\n <div>\n @if (content()) {\n <div [innerHTML]=\"content()\"></div>\n } @else if (isLoading()) {\n <div class=\"loading\">Loading…</div>\n }\n </div>\n </div>\n</figure>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngstarter-ui-components-code-highlighter.mjs","sources":["../../../projects/components/code-highlighter/src/code-highlighter/code-highlighter.ts","../../../projects/components/code-highlighter/src/code-highlighter/code-highlighter.html","../../../projects/components/code-highlighter/ngstarter-ui-components-code-highlighter.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, input, OnChanges, SimpleChanges, signal, computed, inject, booleanAttribute } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { codeToHtml, ShikiTransformer } from 'shiki';\nimport { Button } from '@ngstarter-ui/components/button';\nimport { Icon } from '@ngstarter-ui/components/icon';\n\nconst removeDiffPrefix = (node: any) => {\n if (!node.children || node.children.length === 0) return;\n\n const firstChild = node.children[0];\n if (firstChild.type === 'element' && firstChild.children && firstChild.children.length > 0) {\n const textNode = firstChild.children[0];\n if (textNode.type === 'text' && (textNode.value.startsWith('+') || textNode.value.startsWith('-'))) {\n textNode.value = textNode.value.slice(1);\n if (textNode.value === '' && firstChild.children.length === 1) {\n node.children.shift();\n }\n }\n } else if (firstChild.type === 'text' && (firstChild.value.startsWith('+') || firstChild.value.startsWith('-'))) {\n firstChild.value = firstChild.value.slice(1);\n if (firstChild.value === '') {\n node.children.shift();\n }\n }\n};\n\nconst diffTransformer: ShikiTransformer = {\n line(node, line) {\n if (this.options.lang === 'diff' || (this.options as any).diff) {\n const lineTokens = this.tokens[line - 1];\n const text = lineTokens.map(token => token.content).join('');\n if (text.startsWith('+')) {\n this.addClassToHast(node, 'diff add');\n removeDiffPrefix(node);\n } else if (text.startsWith('-')) {\n this.addClassToHast(node, 'diff remove');\n removeDiffPrefix(node);\n }\n }\n }\n};\n\n@Component({\n selector: 'ngs-code-highlighter',\n exportAs: 'ngsCodeHighlighter',\n imports: [\n Button,\n Icon\n ],\n templateUrl: './code-highlighter.html',\n styleUrl: './code-highlighter.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-code-highlighter not-prose',\n '[class.appearance-bordered]': 'appearance() === \"bordered\"',\n '[class.appearance-none]': 'appearance() === \"none\"',\n '[class.overflow-disabled]': 'disableOverflow()',\n }\n})\nexport class CodeHighlighter implements OnChanges {\n private sanitizer = inject(DomSanitizer);\n\n code = input.required<string>();\n language = input<string>('none');\n theme = input<string>('github-light');\n title = input<string | null>(null);\n appearance = input<'none' | 'bordered'>('bordered');\n diff = input<boolean>(false);\n highlightLines = input<number[] | number[][]>([]);\n showLanguage = input(false, { transform: booleanAttribute });\n showCopyButton = input(false, { transform: booleanAttribute });\n disableOverflow = input(false, { transform: booleanAttribute });\n\n readonly content = signal<SafeHtml | null>(null);\n readonly isLoading = signal<boolean>(false);\n\n readonly displayedLanguage = computed(() => {\n const lang = this.language();\n if (!lang || lang === 'none') return '';\n\n const langMap: Record<string, string> = {\n '1c': '1C',\n 'abap': 'ABAP',\n 'actionscript-3': 'ActionScript 3',\n 'ada': 'Ada',\n 'apache': 'Apache',\n 'apex': 'Apex',\n 'apl': 'APL',\n 'applescript': 'AppleScript',\n 'ara': 'Ara',\n 'asm': 'Assembly',\n 'astro': 'Astro',\n 'awk': 'AWK',\n 'ballerina': 'Ballerina',\n 'bash': 'Bash',\n 'sh': 'Bash',\n 'batch': 'Batch',\n 'berry': 'Berry',\n 'bibtex': 'BibTeX',\n 'bicep': 'Bicep',\n 'blade': 'Blade',\n 'c': 'C',\n 'cadence': 'Cadence',\n 'clarity': 'Clarity',\n 'clojure': 'Clojure',\n 'clj': 'Clojure',\n 'cmake': 'CMake',\n 'cobol': 'COBOL',\n 'codeql': 'CodeQL',\n 'coffee': 'CoffeeScript',\n 'cpp': 'C++',\n 'csharp': 'C#',\n 'cs': 'C#',\n 'css': 'CSS',\n 'cue': 'CUE',\n 'cypher': 'Cypher',\n 'd': 'D',\n 'dart': 'Dart',\n 'dax': 'DAX',\n 'diff': 'Diff',\n 'docker': 'Docker',\n 'dockerfile': 'Dockerfile',\n 'dream-maker': 'Dream Maker',\n 'elixir': 'Elixir',\n 'elm': 'Elm',\n 'erb': 'ERB',\n 'erlang': 'Erlang',\n 'fish': 'Fish',\n 'fsharp': 'F#',\n 'fs': 'F#',\n 'gdresource': 'GDResource',\n 'gdscript': 'GDScript',\n 'gdshader': 'GDShader',\n 'gherkin': 'Gherkin',\n 'git-commit': 'Git Commit',\n 'git-rebase': 'Git Rebase',\n 'glimmer-js': 'Glimmer JS',\n 'gljs': 'Glimmer JS',\n 'glsl': 'GLSL',\n 'gnuplot': 'Gnuplot',\n 'go': 'Go',\n 'graphql': 'GraphQL',\n 'groovy': 'Groovy',\n 'hack': 'Hack',\n 'haml': 'Haml',\n 'handlebars': 'Handlebars',\n 'hbs': 'Handlebars',\n 'haskell': 'Haskell',\n 'hs': 'Haskell',\n 'hcl': 'HCL',\n 'hjson': 'Hjson',\n 'hlsl': 'HLSL',\n 'html': 'HTML',\n 'http': 'HTTP',\n 'imba': 'Imba',\n 'ini': 'INI',\n 'java': 'Java',\n 'javascript': 'JavaScript',\n 'js': 'JavaScript',\n 'jinja-html': 'Jinja HTML',\n 'jjson': 'JJSON',\n 'json': 'JSON',\n 'json5': 'JSON5',\n 'jsonc': 'JSONC',\n 'jsonnet': 'Jsonnet',\n 'jssm': 'JSSM',\n 'jsx': 'JSX',\n 'julia': 'Julia',\n 'kotlin': 'Kotlin',\n 'kt': 'Kotlin',\n 'kts': 'Kotlin',\n 'kusto': 'Kusto',\n 'latex': 'LaTeX',\n 'lat': 'LaTeX',\n 'tex': 'LaTeX',\n 'lean': 'Lean',\n 'less': 'Less',\n 'liquid': 'Liquid',\n 'lisp': 'Lisp',\n 'logo': 'Logo',\n 'lua': 'Lua',\n 'make': 'Make',\n 'makefile': 'Makefile',\n 'markdown': 'Markdown',\n 'md': 'Markdown',\n 'marko': 'Marko',\n 'matlab': 'MATLAB',\n 'mdx': 'MDX',\n 'mermaid': 'Mermaid',\n 'mipsasm': 'MIPS Assembly',\n 'mips': 'MIPS Assembly',\n 'mojolicious': 'Mojolicious',\n 'move': 'Move',\n 'narrat': 'Narrat',\n 'nextflow': 'Nextflow',\n 'nginx': 'Nginx',\n 'nim': 'Nim',\n 'nix': 'Nix',\n 'objective-c': 'Objective-C',\n 'objc': 'Objective-C',\n 'objective-cpp': 'Objective-C++',\n 'ocaml': 'OCaml',\n 'pascal': 'Pascal',\n 'perl': 'Perl',\n 'pl': 'Perl',\n 'php': 'PHP',\n 'plsql': 'PL/SQL',\n 'postcss': 'PostCSS',\n 'powerquery': 'PowerQuery',\n 'powershell': 'PowerShell',\n 'ps1': 'PowerShell',\n 'prisma': 'Prisma',\n 'prolog': 'Prolog',\n 'proto': 'Protocol Buffers',\n 'pug': 'Pug',\n 'jade': 'Pug',\n 'puppet': 'Puppet',\n 'purescript': 'PureScript',\n 'python': 'Python',\n 'py': 'Python',\n 'r': 'R',\n 'raku': 'Raku',\n 'razor': 'Razor',\n 'reg': 'Registry',\n 'rel': 'Rel',\n 'riscv': 'RISC-V',\n 'rst': 'reStructuredText',\n 'ruby': 'Ruby',\n 'rb': 'Ruby',\n 'rust': 'Rust',\n 'rs': 'Rust',\n 'sas': 'SAS',\n 'sass': 'Sass',\n 'scala': 'Scala',\n 'scheme': 'Scheme',\n 'scss': 'SCSS',\n 'shaderlab': 'ShaderLab',\n 'shader': 'ShaderLab',\n 'shell': 'Shell',\n 'shellscript': 'Shell',\n 'smalltalk': 'Smalltalk',\n 'solidity': 'Solidity',\n 'sparql': 'SPARQL',\n 'sql': 'SQL',\n 'ssh-config': 'SSH Config',\n 'stata': 'Stata',\n 'stylus': 'Stylus',\n 'styl': 'Stylus',\n 'svelte': 'Svelte',\n 'swift': 'Swift',\n 'system-verilog': 'SystemVerilog',\n 'tasl': 'Tasl',\n 'tcl': 'Tcl',\n 'terraform': 'Terraform',\n 'tf': 'Terraform',\n 'toml': 'TOML',\n 'tsx': 'TSX',\n 'turtle': 'Turtle',\n 'twig': 'Twig',\n 'typescript': 'TypeScript',\n 'ts': 'TypeScript',\n 'v': 'V',\n 'vb': 'Visual Basic',\n 'verilog': 'Verilog',\n 'vhdl': 'VHDL',\n 'viml': 'VimL',\n 'vim': 'VimL',\n 'vue': 'Vue',\n 'vyper': 'Vyper',\n 'wasm': 'WebAssembly',\n 'wenyan': 'Wenyan',\n 'wgsl': 'WGSL',\n 'wolfram': 'Wolfram',\n 'xml': 'XML',\n 'xsl': 'XSL',\n 'yaml': 'YAML',\n 'yml': 'YAML',\n 'zenscript': 'ZenScript',\n 'zig': 'Zig',\n 'zsh': 'Zsh',\n };\n\n return langMap[lang.toLowerCase()] || lang;\n });\n\n private getHighlightTransformer(): ShikiTransformer {\n const highlights = this.highlightLines();\n if (!highlights || (Array.isArray(highlights) && highlights.length === 0)) {\n return {};\n }\n\n const isHighlighted = (line: number): boolean => {\n if (Array.isArray(highlights[0])) {\n return (highlights as number[][]).some(([start, end]) => line >= start && line <= end);\n } else {\n const [start, end] = highlights as number[];\n return line >= start && line <= end;\n }\n };\n\n return {\n line(node, line) {\n if (isHighlighted(line)) {\n this.addClassToHast(node, 'highlighted');\n }\n }\n };\n }\n\n async ngOnChanges(changes: SimpleChanges) {\n const code = this.code() ?? '';\n\n if (code.length === 0) {\n this.isLoading.set(false);\n this.content.set(this.sanitizer.bypassSecurityTrustHtml('<pre class=\"shiki\"><code></code></pre>'));\n return;\n }\n\n this.isLoading.set(true);\n try {\n const highlighted = await codeToHtml(\n code,\n {\n lang: this.language(),\n theme: this.theme(),\n transformers: [diffTransformer, this.getHighlightTransformer()],\n diff: this.diff()\n } as any\n );\n this.content.set(this.sanitizer.bypassSecurityTrustHtml(highlighted));\n } catch (e) {\n // Fallback: raw code escaped inside pre\n const escaped = code\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>');\n const fallback = `<pre class=\"shiki\"><code>${escaped}</code></pre>`;\n this.content.set(this.sanitizer.bypassSecurityTrustHtml(fallback));\n console.error('CodeHighlighter error:', e);\n } finally {\n this.isLoading.set(false);\n }\n }\n\n copied = signal(false);\n private copyTimeout?: any;\n\n copyCode() {\n if (this.code()) {\n navigator.clipboard.writeText(this.code());\n this.copied.set(true);\n\n if (this.copyTimeout) {\n clearTimeout(this.copyTimeout);\n }\n\n this.copyTimeout = setTimeout(() => {\n this.copied.set(false);\n this.copyTimeout = undefined;\n }, 2000);\n }\n }\n}\n","<figure class=\"h-full\">\n @if (title()) {\n <figcaption>\n @if (title()) {\n <span class=\"title\">{{ title() }}</span>\n }\n </figcaption>\n }\n\n <div class=\"content relative h-full\">\n @if (showLanguage()) {\n <div class=\"languageName\">{{ displayedLanguage() }}</div>\n }\n\n @if (showCopyButton()) {\n <span class=\"absolute top-2 right-2\">\n <button\n ngsIconButton\n (click)=\"copyCode()\"\n >\n <ngs-icon\n [name]=\"copied() ? 'fluent:checkmark-24-regular' : 'fluent:copy-24-regular'\"\n [class.text-green-500]=\"copied()\"\n />\n </button>\n </span>\n }\n\n <div>\n @if (content()) {\n <div [innerHTML]=\"content()\"></div>\n } @else if (isLoading()) {\n <div class=\"loading\">Loading…</div>\n }\n </div>\n </div>\n</figure>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ class CommandBar {
|
|
|
18
18
|
}
|
|
19
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: CommandBar, decorators: [{
|
|
20
20
|
type: Component,
|
|
21
|
-
args: [{ selector: 'ngs-command-bar', exportAs: 'ngsCommandBar',
|
|
21
|
+
args: [{ selector: 'ngs-command-bar', exportAs: 'ngsCommandBar', host: {
|
|
22
22
|
'class': 'ngs-command-bar',
|
|
23
23
|
'[class.is-open]': 'open()',
|
|
24
24
|
}, template: "<div class=\"content\"><ng-content/></div>\n<ng-content select=\"ngs-command-bar-command,[ngs-command-bar-command],ngs-command-bar-divider\" />\n", styles: [":host{--ngs-command-bar-height: calc(var(--spacing, .25rem) * 12);--ngs-command-bar-padding: 0 calc(var(--spacing, .25rem) * 1);--ngs-command-bar-margin: calc(var(--spacing, .25rem) * 8) 0;--ngs-command-bar-zindex: 50;--ngs-command-bar-bg: var(--ngs-color-neutral-950);--ngs-command-bar-color: var(--ngs-color-neutral-200);--ngs-command-bar-border: 1px solid var(--ngs-color-neutral-700);--ngs-command-bar-shadow: var(--ngs-shadow-lg);--ngs-command-bar-border-radius: calc(infinity * 1px);--ngs-command-bar-command-height: calc(var(--spacing, .25rem) * 10);--ngs-command-bar-command-padding: 0 calc(var(--spacing, .25rem) * 3.5);--ngs-command-bar-command-font-size: var(--ngs-font-size-sm);--ngs-command-bar-command-color: var(--ngs-color-neutral-200);--ngs-command-bar-command-hover-color: var(--ngs-color-neutral-100);--ngs-command-bar-command-hover-bg: var(--ngs-color-neutral-800);--ngs-command-bar-value-color: var(--ngs-color-neutral-200);--ngs-command-bar-command-gap: calc(var(--spacing, .25rem) * 3);--ngs-command-bar-content-padding: 0 calc(var(--spacing, .25rem) * 4);--ngs-command-bar-font-size: var(--ngs-font-size-sm);--ngs-command-bar-divider-width: 1px;--ngs-command-bar-divider-height: calc(var(--spacing, .25rem) * 6);--ngs-command-bar-divider-bg: var(--ngs-color-neutral-600);--ngs-command-bar-command-shortcut-bg: var(--ngs-color-neutral-700);--ngs-command-bar-command-shortcut-border-radius: var(--ngs-radius-lg);--ngs-command-bar-command-shortcut-font-size: var(--ngs-font-size-xs);--ngs-command-bar-command-shortcut-color: var(--ngs-color-neutral-300);--ngs-command-bar-command-shortcut-padding: 0 5px;--ngs-command-bar-command-shortcut-border: 1px solid var(--ngs-color-neutral-600);--ngs-command-bar-command-shortcut-size: calc(var(--spacing, .25rem) * 5);left:50%;translate:-50% 0;height:var(--ngs-command-bar-height);border:var(--ngs-command-bar-border);box-shadow:var(--ngs-command-bar-shadow);border-radius:var(--ngs-command-bar-border-radius);z-index:-1;font-size:var(--ngs-command-bar-font-size);color:var(--ngs-command-bar-color);padding:var(--ngs-command-bar-padding);overflow:hidden;opacity:0;display:flex;align-items:center;width:min-content;position:fixed;background:var(--ngs-command-bar-bg);margin:var(--ngs-command-bar-margin);gap:calc(var(--spacing, .25rem) * 1)}:host .content:empty{display:none}:host .content{white-space:nowrap;padding:var(--ngs-command-bar-content-padding)}:host.is-open{opacity:1;z-index:var(--ngs-command-bar-zindex)}:host[ngs-command-bar-position=top]{top:0}:host[ngs-command-bar-position=top].is-open{animation:.3s ngs-command-bar-animation-from-top}:host[ngs-command-bar-position=bottom]{bottom:0}:host[ngs-command-bar-position=bottom].is-open{animation:.3s ngs-command-bar-animation-from-bottom}@keyframes ngs-command-bar-animation-from-top{0%{transform:translateY(-150%) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes ngs-command-bar-animation-from-bottom{0%{transform:translateY(150%) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}:host-context(html.dark){--ngs-command-bar-bg: var(--ngs-color-primary-200);--ngs-command-bar-color: var(--ngs-color-neutral-950);--ngs-command-bar-command-color: var(--ngs-color-neutral-950)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
|
|
@@ -42,7 +42,7 @@ class CommandBarCommand {
|
|
|
42
42
|
}
|
|
43
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: CommandBarCommand, decorators: [{
|
|
44
44
|
type: Component,
|
|
45
|
-
args: [{ selector: 'ngs-command-bar-command,[ngs-command-bar-command]', exportAs: 'ngsCommandBarCommand',
|
|
45
|
+
args: [{ selector: 'ngs-command-bar-command,[ngs-command-bar-command]', exportAs: 'ngsCommandBarCommand', hostDirectives: [
|
|
46
46
|
Ripple,
|
|
47
47
|
], host: {
|
|
48
48
|
'class': 'ngs-command-bar-command'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngstarter-ui-components-command-bar.mjs","sources":["../../../projects/components/command-bar/src/command-bar/command-bar.ts","../../../projects/components/command-bar/src/command-bar/command-bar.html","../../../projects/components/command-bar/src/command-bar-divider/command-bar-divider.ts","../../../projects/components/command-bar/src/command-bar-divider/command-bar-divider.html","../../../projects/components/command-bar/src/command-bar-command/command-bar-command.ts","../../../projects/components/command-bar/src/command-bar-command/command-bar-command.html","../../../projects/components/command-bar/ngstarter-ui-components-command-bar.ts"],"sourcesContent":["import {\n booleanAttribute,\n Component,\n effect,\n ElementRef,\n inject,\n input,\n Renderer2\n} from '@angular/core';\nimport { CommandBarPosition } from '../types';\n\n@Component({\n selector: 'ngs-command-bar',\n exportAs: 'ngsCommandBar',\n
|
|
1
|
+
{"version":3,"file":"ngstarter-ui-components-command-bar.mjs","sources":["../../../projects/components/command-bar/src/command-bar/command-bar.ts","../../../projects/components/command-bar/src/command-bar/command-bar.html","../../../projects/components/command-bar/src/command-bar-divider/command-bar-divider.ts","../../../projects/components/command-bar/src/command-bar-divider/command-bar-divider.html","../../../projects/components/command-bar/src/command-bar-command/command-bar-command.ts","../../../projects/components/command-bar/src/command-bar-command/command-bar-command.html","../../../projects/components/command-bar/ngstarter-ui-components-command-bar.ts"],"sourcesContent":["import {\n booleanAttribute,\n Component,\n effect,\n ElementRef,\n inject,\n input,\n Renderer2\n} from '@angular/core';\nimport { CommandBarPosition } from '../types';\n\n@Component({\n selector: 'ngs-command-bar',\n exportAs: 'ngsCommandBar',\n templateUrl: './command-bar.html',\n styleUrl: './command-bar.scss',\n host: {\n 'class': 'ngs-command-bar',\n '[class.is-open]': 'open()',\n }\n})\nexport class CommandBar {\n private _elementRef = inject(ElementRef);\n private _renderer = inject(Renderer2);\n\n open = input(false, {\n transform: booleanAttribute\n });\n position = input<CommandBarPosition>('bottom');\n\n constructor() {\n effect(() => {\n this._renderer.setAttribute(this._elementRef.nativeElement, 'ngs-command-bar-position', this.position());\n });\n }\n}\n","<div class=\"content\"><ng-content/></div>\n<ng-content select=\"ngs-command-bar-command,[ngs-command-bar-command],ngs-command-bar-divider\" />\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-command-bar-divider',\n exportAs: 'ngsCommandBarDivider',\n templateUrl: './command-bar-divider.html',\n styleUrl: './command-bar-divider.scss',\n host: {\n 'class': 'ngs-command-bar-divider'\n }\n})\nexport class CommandBarDivider {\n}\n","\n","import { Component, input } from '@angular/core';\nimport { Ripple } from '@ngstarter-ui/components/core';\n\n@Component({\n selector: 'ngs-command-bar-command,[ngs-command-bar-command]',\n exportAs: 'ngsCommandBarCommand',\n templateUrl: './command-bar-command.html',\n styleUrl: './command-bar-command.scss',\n hostDirectives: [\n Ripple,\n ],\n host: {\n 'class': 'ngs-command-bar-command'\n }\n})\nexport class CommandBarCommand {\n shortcut = input('');\n}\n","<ng-content/>\n@if (shortcut()) {\n <div class=\"shortcut\">{{ shortcut() }}</div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAqBa,UAAU,CAAA;AACb,IAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AAChC,IAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IAErC,IAAI,GAAG,KAAK,CAAC,KAAK,4EAChB,SAAS,EAAE,gBAAgB,EAAA,CAC3B;AACF,IAAA,QAAQ,GAAG,KAAK,CAAqB,QAAQ,+EAAC;AAE9C,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,0BAA0B,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC1G,QAAA,CAAC,CAAC;IACJ;uGAbW,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAU,kcCrBvB,mJAEA,EAAA,MAAA,EAAA,CAAA,mvGAAA,CAAA,EAAA,CAAA;;2FDmBa,UAAU,EAAA,UAAA,EAAA,CAAA;kBAVtB,SAAS;+BACE,iBAAiB,EAAA,QAAA,EACjB,eAAe,EAAA,IAAA,EAGnB;AACJ,wBAAA,OAAO,EAAE,iBAAiB;AAC1B,wBAAA,iBAAiB,EAAE,QAAQ;AAC5B,qBAAA,EAAA,QAAA,EAAA,mJAAA,EAAA,MAAA,EAAA,CAAA,mvGAAA,CAAA,EAAA;;;MERU,iBAAiB,CAAA;uGAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,4KCX9B,IACA,EAAA,MAAA,EAAA,CAAA,gOAAA,CAAA,EAAA,CAAA;;2FDUa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAT7B,SAAS;+BACE,yBAAyB,EAAA,QAAA,EACzB,sBAAsB,EAAA,IAAA,EAG1B;AACJ,wBAAA,OAAO,EAAE;AACV,qBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,gOAAA,CAAA,EAAA;;;MEMU,iBAAiB,CAAA;AAC5B,IAAA,QAAQ,GAAG,KAAK,CAAC,EAAE,+EAAC;uGADT,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,+XCf9B,0FAIA,EAAA,MAAA,EAAA,CAAA,onCAAA,CAAA,EAAA,CAAA;;2FDWa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAZ7B,SAAS;+BACE,mDAAmD,EAAA,QAAA,EACnD,sBAAsB,EAAA,cAAA,EAGhB;wBACd,MAAM;qBACP,EAAA,IAAA,EACK;AACJ,wBAAA,OAAO,EAAE;AACV,qBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,MAAA,EAAA,CAAA,onCAAA,CAAA,EAAA;;;AEbH;;AAEG;;;;"}
|
|
@@ -200,7 +200,10 @@ class AngularNodeView {
|
|
|
200
200
|
}
|
|
201
201
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: AngularNodeView, decorators: [{
|
|
202
202
|
type: Component,
|
|
203
|
-
args: [{
|
|
203
|
+
args: [{
|
|
204
|
+
standalone: true,
|
|
205
|
+
template: ''
|
|
206
|
+
}]
|
|
204
207
|
}], propDecorators: { editor: [{ type: i0.Input, args: [{ isSignal: true, alias: "editor", required: true }] }], node: [{ type: i0.Input, args: [{ isSignal: true, alias: "node", required: true }] }], decorations: [{ type: i0.Input, args: [{ isSignal: true, alias: "decorations", required: true }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: true }] }], extension: [{ type: i0.Input, args: [{ isSignal: true, alias: "extension", required: true }] }], getPos: [{ type: i0.Input, args: [{ isSignal: true, alias: "getPos", required: true }] }], updateAttributes: [{ type: i0.Input, args: [{ isSignal: true, alias: "updateAttributes", required: true }] }], deleteNode: [{ type: i0.Input, args: [{ isSignal: true, alias: "deleteNode", required: true }] }], HTMLAttributes: [{ type: i0.Input, args: [{ isSignal: true, alias: "HTMLAttributes", required: false }] }], innerDecorations: [{ type: i0.Input, args: [{ isSignal: true, alias: "innerDecorations", required: false }] }], view: [{ type: i0.Input, args: [{ isSignal: true, alias: "view", required: false }] }] } });
|
|
205
208
|
|
|
206
209
|
class ImageUploadingPlaceholder extends AngularNodeView {
|
|
@@ -653,7 +656,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
653
656
|
type: Directive,
|
|
654
657
|
args: [{
|
|
655
658
|
selector: '[ngsCommentEditorCommand]',
|
|
656
|
-
standalone: true,
|
|
657
659
|
host: {
|
|
658
660
|
'[class.button]': 'true'
|
|
659
661
|
}
|
|
@@ -673,7 +675,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
673
675
|
args: [{
|
|
674
676
|
selector: '[ngsCommentEditorCommandBold]',
|
|
675
677
|
exportAs: 'ngsCommentEditorCommandBold',
|
|
676
|
-
standalone: true,
|
|
677
678
|
host: {
|
|
678
679
|
'[attr.disabled]': `(commentEditor && commentEditor.api.isCommandDisabled('toggleBold')) ? '' : null`,
|
|
679
680
|
'[class.active]': `commentEditor && commentEditor.api.isActive('bold')`,
|
|
@@ -694,7 +695,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
694
695
|
type: Directive,
|
|
695
696
|
args: [{
|
|
696
697
|
selector: '[ngsCommentEditorCommandItalic]',
|
|
697
|
-
standalone: true,
|
|
698
698
|
host: {
|
|
699
699
|
'[attr.disabled]': `(commentEditor && commentEditor.api.isCommandDisabled('toggleItalic')) ? '' : null`,
|
|
700
700
|
'[class.active]': `commentEditor && commentEditor.api.isActive('italic')`,
|
|
@@ -715,7 +715,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
715
715
|
type: Directive,
|
|
716
716
|
args: [{
|
|
717
717
|
selector: '[ngsCommentEditorCommandStrike]',
|
|
718
|
-
standalone: true,
|
|
719
718
|
host: {
|
|
720
719
|
'[attr.disabled]': `(commentEditor && commentEditor.api.isCommandDisabled('toggleStrike')) ? '' : null`,
|
|
721
720
|
'[class.active]': `commentEditor && commentEditor.api.isActive('strike')`,
|
|
@@ -736,7 +735,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
736
735
|
type: Directive,
|
|
737
736
|
args: [{
|
|
738
737
|
selector: '[ngsCommentEditorCommandBulletList]',
|
|
739
|
-
standalone: true,
|
|
740
738
|
host: {
|
|
741
739
|
'[attr.disabled]': `(commentEditor && commentEditor.api.isCommandDisabled('toggleBulletList')) ? '' : null`,
|
|
742
740
|
'[class.active]': `commentEditor && commentEditor.api.isActive('bulletList')`,
|
|
@@ -757,7 +755,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
757
755
|
type: Directive,
|
|
758
756
|
args: [{
|
|
759
757
|
selector: '[ngsCommentEditorCommandOrderedList]',
|
|
760
|
-
standalone: true,
|
|
761
758
|
host: {
|
|
762
759
|
'[attr.disabled]': `(commentEditor && commentEditor.api.isCommandDisabled('toggleOrderedList')) ? '' : null`,
|
|
763
760
|
'[class.active]': `commentEditor && commentEditor.api.isActive('orderedList')`,
|
|
@@ -778,7 +775,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
778
775
|
type: Directive,
|
|
779
776
|
args: [{
|
|
780
777
|
selector: '[ngsCommentEditorCommandBlockquote]',
|
|
781
|
-
standalone: true,
|
|
782
778
|
host: {
|
|
783
779
|
'[attr.disabled]': `(commentEditor && commentEditor.api.isCommandDisabled('toggleBlockquote')) ? '' : null`,
|
|
784
780
|
'[class.active]': `commentEditor && commentEditor.api.isActive('blockquote')`,
|
|
@@ -799,7 +795,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
799
795
|
type: Directive,
|
|
800
796
|
args: [{
|
|
801
797
|
selector: '[ngsCommentEditorCommandCodeBlock]',
|
|
802
|
-
standalone: true,
|
|
803
798
|
host: {
|
|
804
799
|
'[attr.disabled]': `(commentEditor && commentEditor.api.isCommandDisabled('toggleCodeBlock')) ? '' : null`,
|
|
805
800
|
'[class.active]': `commentEditor && commentEditor.api.isActive('codeBlock')`,
|
|
@@ -826,7 +821,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
826
821
|
type: Directive,
|
|
827
822
|
args: [{
|
|
828
823
|
selector: '[ngsCommentEditorCommandImage]',
|
|
829
|
-
standalone: true,
|
|
830
824
|
hostDirectives: [
|
|
831
825
|
{
|
|
832
826
|
directive: UploadTriggerDirective,
|
|
@@ -898,7 +892,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
898
892
|
type: Directive,
|
|
899
893
|
args: [{
|
|
900
894
|
selector: '[ngsCommentEditorCommandYoutube]',
|
|
901
|
-
standalone: true,
|
|
902
895
|
host: {
|
|
903
896
|
'[attr.disabled]': `(commentEditor && commentEditor.api.isCommandDisabled('toggleBlockquote')) ? '' : null`,
|
|
904
897
|
'[class.active]': `commentEditor && commentEditor.api.isActive('blockquote')`,
|
|
@@ -989,7 +982,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
989
982
|
type: Directive,
|
|
990
983
|
args: [{
|
|
991
984
|
selector: '[ngsCommentEditorCommandLink]',
|
|
992
|
-
standalone: true,
|
|
993
985
|
host: {
|
|
994
986
|
'[attr.disabled]': `(commentEditor && commentEditor.api.isCommandDisabled('toggleLink')) ? '' : null`,
|
|
995
987
|
'[class.active]': `commentEditor && commentEditor.api.isActive('link')`,
|
|
@@ -1010,7 +1002,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
1010
1002
|
type: Directive,
|
|
1011
1003
|
args: [{
|
|
1012
1004
|
selector: '[ngsCommentEditorCommandCode]',
|
|
1013
|
-
standalone: true,
|
|
1014
1005
|
host: {
|
|
1015
1006
|
'[attr.disabled]': `(commentEditor && commentEditor.api.isCommandDisabled('toggleCode')) ? '' : null`,
|
|
1016
1007
|
'[class.active]': `commentEditor && commentEditor.api.isActive('code')`,
|
|
@@ -1072,7 +1063,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
1072
1063
|
type: Directive,
|
|
1073
1064
|
args: [{
|
|
1074
1065
|
selector: '[ngsCommentEditorCommandEditLink]',
|
|
1075
|
-
standalone: true,
|
|
1076
1066
|
host: {
|
|
1077
1067
|
'[class.button]': 'true',
|
|
1078
1068
|
'(click)': `onClick()`
|
|
@@ -1092,7 +1082,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
1092
1082
|
type: Directive,
|
|
1093
1083
|
args: [{
|
|
1094
1084
|
selector: '[ngsCommentEditorCommandUnsetLink]',
|
|
1095
|
-
standalone: true,
|
|
1096
1085
|
host: {
|
|
1097
1086
|
'[class.button]': 'true',
|
|
1098
1087
|
'(click)': `onClick()`
|
|
@@ -1112,7 +1101,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
1112
1101
|
type: Directive,
|
|
1113
1102
|
args: [{
|
|
1114
1103
|
selector: '[ngsCommentEditorCommandToggleToolbar]',
|
|
1115
|
-
standalone: true,
|
|
1116
1104
|
host: {
|
|
1117
1105
|
'[class.active]': `commentEditor && commentEditor.api.isToolbarActive()`,
|
|
1118
1106
|
'(click)': `onClick()`
|