primeng 19.0.10 → 19.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autocomplete/autocomplete.d.ts +1 -1
- package/button/button.d.ts +6 -2
- package/button/button.interface.d.ts +1 -0
- package/chips/chips.d.ts +237 -0
- package/chips/chips.interface.d.ts +66 -0
- package/chips/index.d.ts +5 -0
- package/chips/public_api.d.ts +2 -0
- package/chips/style/chipsstyle.d.ts +69 -0
- package/colorpicker/colorpicker.d.ts +3 -2
- package/confirmdialog/confirmdialog.d.ts +7 -1
- package/fesm2022/primeng-accordion.mjs +24 -23
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-animateonscroll.mjs +7 -7
- package/fesm2022/primeng-api.mjs +31 -31
- package/fesm2022/primeng-autocomplete.mjs +12 -12
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-autofocus.mjs +7 -7
- package/fesm2022/primeng-avatar.mjs +10 -10
- package/fesm2022/primeng-avatargroup.mjs +10 -10
- package/fesm2022/primeng-badge.mjs +13 -13
- package/fesm2022/primeng-base.mjs +7 -3
- package/fesm2022/primeng-base.mjs.map +1 -1
- package/fesm2022/primeng-basecomponent.mjs +6 -6
- package/fesm2022/primeng-blockui.mjs +10 -10
- package/fesm2022/primeng-breadcrumb.mjs +10 -10
- package/fesm2022/primeng-button.mjs +53 -20
- package/fesm2022/primeng-button.mjs.map +1 -1
- package/fesm2022/primeng-buttongroup.mjs +10 -10
- package/fesm2022/primeng-calendar.mjs +13 -11
- package/fesm2022/primeng-calendar.mjs.map +1 -1
- package/fesm2022/primeng-card.mjs +10 -10
- package/fesm2022/primeng-carousel.mjs +12 -12
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs +17 -13
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-chart.mjs +10 -10
- package/fesm2022/primeng-checkbox.mjs +12 -10
- package/fesm2022/primeng-checkbox.mjs.map +1 -1
- package/fesm2022/primeng-chip.mjs +10 -10
- package/fesm2022/primeng-chips.mjs +930 -0
- package/fesm2022/primeng-chips.mjs.map +1 -0
- package/fesm2022/primeng-colorpicker.mjs +16 -10
- package/fesm2022/primeng-colorpicker.mjs.map +1 -1
- package/fesm2022/primeng-config.mjs +6 -6
- package/fesm2022/primeng-confirmdialog.mjs +20 -10
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
- package/fesm2022/primeng-confirmpopup.mjs +10 -10
- package/fesm2022/primeng-contextmenu.mjs +13 -13
- package/fesm2022/primeng-dataview.mjs +11 -11
- package/fesm2022/primeng-dataview.mjs.map +1 -1
- package/fesm2022/primeng-datepicker.mjs +19 -12
- package/fesm2022/primeng-datepicker.mjs.map +1 -1
- package/fesm2022/primeng-defer.mjs +7 -7
- package/fesm2022/primeng-dialog.mjs +10 -10
- package/fesm2022/primeng-divider.mjs +10 -10
- package/fesm2022/primeng-dock.mjs +10 -10
- package/fesm2022/primeng-dragdrop.mjs +10 -10
- package/fesm2022/primeng-drawer.mjs +10 -10
- package/fesm2022/primeng-dropdown.mjs +13 -13
- package/fesm2022/primeng-dynamicdialog.mjs +16 -16
- package/fesm2022/primeng-editor.mjs +10 -10
- package/fesm2022/primeng-fieldset.mjs +10 -10
- package/fesm2022/primeng-fileupload.mjs +11 -15
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-floatlabel.mjs +10 -10
- package/fesm2022/primeng-fluid.mjs +10 -10
- package/fesm2022/primeng-focustrap.mjs +7 -7
- package/fesm2022/primeng-galleria.mjs +22 -22
- package/fesm2022/primeng-iconfield.mjs +10 -10
- package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
- package/fesm2022/primeng-icons-angledown.mjs +3 -3
- package/fesm2022/primeng-icons-angleleft.mjs +3 -3
- package/fesm2022/primeng-icons-angleright.mjs +3 -3
- package/fesm2022/primeng-icons-angleup.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowup.mjs +3 -3
- package/fesm2022/primeng-icons-ban.mjs +3 -3
- package/fesm2022/primeng-icons-bars.mjs +3 -3
- package/fesm2022/primeng-icons-baseicon.mjs +6 -6
- package/fesm2022/primeng-icons-blank.mjs +3 -3
- package/fesm2022/primeng-icons-calendar.mjs +3 -3
- package/fesm2022/primeng-icons-caretleft.mjs +3 -3
- package/fesm2022/primeng-icons-caretright.mjs +3 -3
- package/fesm2022/primeng-icons-check.mjs +3 -3
- package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
- package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
- package/fesm2022/primeng-icons-chevronright.mjs +3 -3
- package/fesm2022/primeng-icons-chevronup.mjs +3 -3
- package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
- package/fesm2022/primeng-icons-eye.mjs +3 -3
- package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
- package/fesm2022/primeng-icons-filter.mjs +3 -3
- package/fesm2022/primeng-icons-filterslash.mjs +3 -3
- package/fesm2022/primeng-icons-home.mjs +3 -3
- package/fesm2022/primeng-icons-infocircle.mjs +3 -3
- package/fesm2022/primeng-icons-minus.mjs +3 -3
- package/fesm2022/primeng-icons-pencil.mjs +3 -3
- package/fesm2022/primeng-icons-plus.mjs +3 -3
- package/fesm2022/primeng-icons-refresh.mjs +3 -3
- package/fesm2022/primeng-icons-search.mjs +3 -3
- package/fesm2022/primeng-icons-searchminus.mjs +3 -3
- package/fesm2022/primeng-icons-searchplus.mjs +3 -3
- package/fesm2022/primeng-icons-sortalt.mjs +3 -3
- package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
- package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
- package/fesm2022/primeng-icons-spinner.mjs +3 -3
- package/fesm2022/primeng-icons-star.mjs +3 -3
- package/fesm2022/primeng-icons-starfill.mjs +3 -3
- package/fesm2022/primeng-icons-thlarge.mjs +3 -3
- package/fesm2022/primeng-icons-times.mjs +3 -3
- package/fesm2022/primeng-icons-timescircle.mjs +3 -3
- package/fesm2022/primeng-icons-trash.mjs +3 -3
- package/fesm2022/primeng-icons-undo.mjs +3 -3
- package/fesm2022/primeng-icons-upload.mjs +3 -3
- package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
- package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
- package/fesm2022/primeng-iftalabel.mjs +10 -10
- package/fesm2022/primeng-image.mjs +10 -10
- package/fesm2022/primeng-imagecompare.mjs +10 -10
- package/fesm2022/primeng-inplace.mjs +16 -16
- package/fesm2022/primeng-inputgroup.mjs +10 -10
- package/fesm2022/primeng-inputgroupaddon.mjs +10 -10
- package/fesm2022/primeng-inputicon.mjs +10 -10
- package/fesm2022/primeng-inputmask.mjs +16 -10
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +28 -10
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputotp.mjs +10 -10
- package/fesm2022/primeng-inputswitch.mjs +10 -10
- package/fesm2022/primeng-inputtext.mjs +10 -10
- package/fesm2022/primeng-inputtextarea.mjs +10 -10
- package/fesm2022/primeng-keyfilter.mjs +7 -7
- package/fesm2022/primeng-knob.mjs +10 -10
- package/fesm2022/primeng-listbox.mjs +16 -12
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +13 -17
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +17 -16
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +16 -18
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-message.mjs +10 -10
- package/fesm2022/primeng-messages.mjs +10 -10
- package/fesm2022/primeng-metergroup.mjs +13 -13
- package/fesm2022/primeng-multiselect.mjs +34 -16
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-orderlist.mjs +30 -10
- package/fesm2022/primeng-orderlist.mjs.map +1 -1
- package/fesm2022/primeng-organizationchart.mjs +13 -13
- package/fesm2022/primeng-overlay.mjs +23 -19
- package/fesm2022/primeng-overlay.mjs.map +1 -1
- package/fesm2022/primeng-overlaybadge.mjs +10 -10
- package/fesm2022/primeng-overlaypanel.mjs +10 -10
- package/fesm2022/primeng-paginator.mjs +11 -11
- package/fesm2022/primeng-paginator.mjs.map +1 -1
- package/fesm2022/primeng-panel.mjs +10 -10
- package/fesm2022/primeng-panelmenu.mjs +16 -16
- package/fesm2022/primeng-password.mjs +17 -17
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-picklist.mjs +82 -38
- package/fesm2022/primeng-picklist.mjs.map +1 -1
- package/fesm2022/primeng-popover.mjs +10 -10
- package/fesm2022/primeng-progressbar.mjs +10 -10
- package/fesm2022/primeng-progressspinner.mjs +14 -14
- package/fesm2022/primeng-progressspinner.mjs.map +1 -1
- package/fesm2022/primeng-radiobutton.mjs +15 -13
- package/fesm2022/primeng-radiobutton.mjs.map +1 -1
- package/fesm2022/primeng-rating.mjs +10 -10
- package/fesm2022/primeng-ripple.mjs +10 -10
- package/fesm2022/primeng-scroller.mjs +18 -11
- package/fesm2022/primeng-scroller.mjs.map +1 -1
- package/fesm2022/primeng-scrollpanel.mjs +10 -10
- package/fesm2022/primeng-scrolltop.mjs +10 -10
- package/fesm2022/primeng-select.mjs +20 -17
- package/fesm2022/primeng-select.mjs.map +1 -1
- package/fesm2022/primeng-selectbutton.mjs +21 -14
- package/fesm2022/primeng-selectbutton.mjs.map +1 -1
- package/fesm2022/primeng-sidebar.mjs +10 -10
- package/fesm2022/primeng-skeleton.mjs +10 -10
- package/fesm2022/primeng-slider.mjs +10 -10
- package/fesm2022/primeng-speeddial.mjs +10 -10
- package/fesm2022/primeng-splitbutton.mjs +10 -10
- package/fesm2022/primeng-splitter.mjs +13 -13
- package/fesm2022/primeng-stepper.mjs +30 -30
- package/fesm2022/primeng-stepper.mjs.map +1 -1
- package/fesm2022/primeng-steps.mjs +10 -10
- package/fesm2022/primeng-styleclass.mjs +7 -7
- package/fesm2022/primeng-table.mjs +113 -111
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabmenu.mjs +10 -10
- package/fesm2022/primeng-tabs.mjs +30 -28
- package/fesm2022/primeng-tabs.mjs.map +1 -1
- package/fesm2022/primeng-tabview.mjs +13 -13
- package/fesm2022/primeng-tag.mjs +10 -10
- package/fesm2022/primeng-terminal.mjs +13 -13
- package/fesm2022/primeng-textarea.mjs +15 -11
- package/fesm2022/primeng-textarea.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +34 -56
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-timeline.mjs +10 -10
- package/fesm2022/primeng-toast.mjs +13 -13
- package/fesm2022/primeng-togglebutton.mjs +131 -146
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-toggleswitch.mjs +12 -10
- package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
- package/fesm2022/primeng-toolbar.mjs +10 -10
- package/fesm2022/primeng-tooltip.mjs +11 -11
- package/fesm2022/primeng-tooltip.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +49 -19
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +17 -11
- package/fesm2022/primeng-treeselect.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +68 -64
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/fesm2022/primeng-usestyle.mjs +3 -3
- package/inputnumber/inputnumber.d.ts +6 -1
- package/listbox/listbox.d.ts +1 -1
- package/multiselect/multiselect.d.ts +10 -2
- package/multiselect/multiselect.interface.d.ts +1 -1
- package/package.json +119 -115
- package/picklist/picklist.d.ts +1 -1
- package/scroller/scroller.d.ts +1 -0
- package/select/select.d.ts +1 -0
- package/selectbutton/selectbutton.d.ts +3 -1
- package/table/table.d.ts +1 -1
- package/togglebutton/togglebutton.d.ts +7 -6
- package/tree/tree.d.ts +7 -1
- package/treetable/treetable.d.ts +2 -2
@@ -303,10 +303,10 @@ class ToastStyle extends BaseStyle {
|
|
303
303
|
theme = theme;
|
304
304
|
classes = classes;
|
305
305
|
inlineStyles = inlineStyles;
|
306
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
307
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
306
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ToastStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
307
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ToastStyle });
|
308
308
|
}
|
309
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
309
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ToastStyle, decorators: [{
|
310
310
|
type: Injectable
|
311
311
|
}] });
|
312
312
|
/**
|
@@ -420,8 +420,8 @@ class ToastItem extends BaseComponent {
|
|
420
420
|
this.clearTimeout();
|
421
421
|
super.ngOnDestroy();
|
422
422
|
}
|
423
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
424
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
423
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ToastItem, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
424
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: ToastItem, isStandalone: true, selector: "p-toastItem", inputs: { message: "message", index: ["index", "index", numberAttribute], life: ["life", "life", numberAttribute], template: "template", headlessTemplate: "headlessTemplate", showTransformOptions: "showTransformOptions", hideTransformOptions: "hideTransformOptions", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions" }, outputs: { onClose: "onClose" }, providers: [ToastStyle], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
425
425
|
<div
|
426
426
|
#container
|
427
427
|
[attr.id]="message?.id"
|
@@ -514,7 +514,7 @@ class ToastItem extends BaseComponent {
|
|
514
514
|
])
|
515
515
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
516
516
|
}
|
517
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
517
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ToastItem, decorators: [{
|
518
518
|
type: Component,
|
519
519
|
args: [{
|
520
520
|
selector: 'p-toastItem',
|
@@ -888,8 +888,8 @@ class Toast extends BaseComponent {
|
|
888
888
|
this.destroyStyle();
|
889
889
|
super.ngOnDestroy();
|
890
890
|
}
|
891
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
892
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.
|
891
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: Toast, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
892
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.5", type: Toast, isStandalone: true, selector: "p-toast", inputs: { key: "key", autoZIndex: ["autoZIndex", "autoZIndex", booleanAttribute], baseZIndex: ["baseZIndex", "baseZIndex", numberAttribute], life: ["life", "life", numberAttribute], style: "style", styleClass: "styleClass", position: "position", preventOpenDuplicates: ["preventOpenDuplicates", "preventOpenDuplicates", booleanAttribute], preventDuplicates: ["preventDuplicates", "preventDuplicates", booleanAttribute], showTransformOptions: "showTransformOptions", hideTransformOptions: "hideTransformOptions", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", breakpoints: "breakpoints" }, outputs: { onClose: "onClose" }, providers: [ToastStyle], queries: [{ propertyName: "template", first: true, predicate: ["message"], descendants: true }, { propertyName: "headlessTemplate", first: true, predicate: ["headless"], descendants: true }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
893
893
|
<div #container [ngClass]="cx('root')" [ngStyle]="sx('root')" [style]="style" [class]="styleClass">
|
894
894
|
<p-toastItem
|
895
895
|
*ngFor="let msg of messages; let i = index"
|
@@ -910,7 +910,7 @@ class Toast extends BaseComponent {
|
|
910
910
|
</div>
|
911
911
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ToastItem, selector: "p-toastItem", inputs: ["message", "index", "life", "template", "headlessTemplate", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onClose"] }, { kind: "ngmodule", type: SharedModule }], animations: [trigger('toastAnimation', [transition(':enter, :leave', [query('@*', animateChild())])])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
912
912
|
}
|
913
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
913
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: Toast, decorators: [{
|
914
914
|
type: Component,
|
915
915
|
args: [{
|
916
916
|
selector: 'p-toast',
|
@@ -990,11 +990,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImpor
|
|
990
990
|
args: [PrimeTemplate]
|
991
991
|
}] } });
|
992
992
|
class ToastModule {
|
993
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
994
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
995
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
993
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
994
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.5", ngImport: i0, type: ToastModule, imports: [Toast, SharedModule], exports: [Toast, SharedModule] });
|
995
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ToastModule, imports: [Toast, SharedModule, SharedModule] });
|
996
996
|
}
|
997
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
997
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ToastModule, decorators: [{
|
998
998
|
type: NgModule,
|
999
999
|
args: [{
|
1000
1000
|
imports: [Toast, SharedModule],
|
@@ -1,24 +1,19 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { Injectable, forwardRef, EventEmitter, inject, booleanAttribute, numberAttribute, ContentChildren, ContentChild, Output, Input, HostBinding, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
2
|
+
import { Injectable, forwardRef, EventEmitter, inject, booleanAttribute, numberAttribute, ContentChildren, ContentChild, Output, Input, HostListener, HostBinding, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
3
3
|
import { BaseStyle } from 'primeng/base';
|
4
|
-
import * as
|
4
|
+
import * as i2 from '@angular/common';
|
5
5
|
import { CommonModule } from '@angular/common';
|
6
6
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
7
7
|
import { SharedModule, PrimeTemplate } from 'primeng/api';
|
8
8
|
import { BaseComponent } from 'primeng/basecomponent';
|
9
|
+
import * as i1 from 'primeng/ripple';
|
9
10
|
import { Ripple } from 'primeng/ripple';
|
10
11
|
|
11
12
|
const theme = ({ dt }) => `
|
12
|
-
p-togglebutton {
|
13
|
-
display: inline-flex;
|
14
|
-
}
|
15
|
-
|
16
13
|
.p-togglebutton {
|
17
14
|
display: inline-flex;
|
18
15
|
cursor: pointer;
|
19
16
|
user-select: none;
|
20
|
-
align-items: center;
|
21
|
-
justify-content: center;
|
22
17
|
overflow: hidden;
|
23
18
|
position: relative;
|
24
19
|
color: ${dt('togglebutton.color')};
|
@@ -36,35 +31,16 @@ p-togglebutton {
|
|
36
31
|
}
|
37
32
|
|
38
33
|
.p-togglebutton-content {
|
39
|
-
position: relative;
|
40
34
|
display: inline-flex;
|
35
|
+
flex: 1 1 auto;
|
41
36
|
align-items: center;
|
42
37
|
justify-content: center;
|
43
38
|
gap: ${dt('togglebutton.gap')};
|
44
|
-
}
|
45
|
-
|
46
|
-
.p-togglebutton-label,
|
47
|
-
.p-togglebutton-icon {
|
48
|
-
position: relative;
|
49
|
-
transition: none;
|
50
|
-
}
|
51
|
-
|
52
|
-
.p-togglebutton::before {
|
53
|
-
content: "";
|
39
|
+
padding: ${dt('togglebutton.content.padding')};
|
54
40
|
background: transparent;
|
41
|
+
border-radius: ${dt('togglebutton.content.border.radius')};
|
55
42
|
transition: background ${dt('togglebutton.transition.duration')}, color ${dt('togglebutton.transition.duration')}, border-color ${dt('togglebutton.transition.duration')},
|
56
43
|
outline-color ${dt('togglebutton.transition.duration')}, box-shadow ${dt('togglebutton.transition.duration')};
|
57
|
-
position: absolute;
|
58
|
-
inset-inline-start: ${dt('togglebutton.content.left')};
|
59
|
-
top: ${dt('togglebutton.content.top')};
|
60
|
-
width: calc(100% - calc(2 * ${dt('togglebutton.content.left')}));
|
61
|
-
height: calc(100% - calc(2 * ${dt('togglebutton.content.top')}));
|
62
|
-
border-radius: ${dt('togglebutton.border.radius')};
|
63
|
-
}
|
64
|
-
|
65
|
-
.p-togglebutton.p-togglebutton-checked::before {
|
66
|
-
background: ${dt('togglebutton.content.checked.background')};
|
67
|
-
box-shadow: ${dt('togglebutton.content.checked.shadow')};
|
68
44
|
}
|
69
45
|
|
70
46
|
.p-togglebutton:not(:disabled):not(.p-togglebutton-checked):hover {
|
@@ -78,6 +54,11 @@ p-togglebutton {
|
|
78
54
|
color: ${dt('togglebutton.checked.color')};
|
79
55
|
}
|
80
56
|
|
57
|
+
.p-togglebutton-checked .p-togglebutton-content {
|
58
|
+
background: ${dt('togglebutton.content.checked.background')};
|
59
|
+
box-shadow: ${dt('togglebutton.content.checked.shadow')};
|
60
|
+
}
|
61
|
+
|
81
62
|
.p-togglebutton:focus-visible {
|
82
63
|
box-shadow: ${dt('togglebutton.focus.ring.shadow')};
|
83
64
|
outline: ${dt('togglebutton.focus.ring.width')} ${dt('togglebutton.focus.ring.style')} ${dt('togglebutton.focus.ring.color')};
|
@@ -88,7 +69,7 @@ p-togglebutton {
|
|
88
69
|
border-color: ${dt('togglebutton.invalid.border.color')};
|
89
70
|
}
|
90
71
|
|
91
|
-
.p-togglebutton:disabled {
|
72
|
+
.p-togglebutton:disabled:not(.p-togglebutton-checked) {
|
92
73
|
opacity: 1;
|
93
74
|
cursor: default;
|
94
75
|
background: ${dt('togglebutton.disabled.background')};
|
@@ -96,6 +77,12 @@ p-togglebutton {
|
|
96
77
|
color: ${dt('togglebutton.disabled.color')};
|
97
78
|
}
|
98
79
|
|
80
|
+
.p-togglebutton-label,
|
81
|
+
.p-togglebutton-icon {
|
82
|
+
position: relative;
|
83
|
+
transition: none;
|
84
|
+
}
|
85
|
+
|
99
86
|
.p-togglebutton-icon {
|
100
87
|
color: ${dt('togglebutton.icon.color')};
|
101
88
|
}
|
@@ -117,18 +104,25 @@ p-togglebutton {
|
|
117
104
|
font-size: ${dt('togglebutton.sm.font.size')};
|
118
105
|
}
|
119
106
|
|
107
|
+
.p-togglebutton-sm .p-togglebutton-content {
|
108
|
+
padding: ${dt('togglebutton.content.sm.padding')};
|
109
|
+
}
|
110
|
+
|
120
111
|
.p-togglebutton-lg {
|
121
112
|
padding: ${dt('togglebutton.lg.padding')};
|
122
113
|
font-size: ${dt('togglebutton.lg.font.size')};
|
123
114
|
}
|
124
115
|
|
125
|
-
|
116
|
+
.p-togglebutton-lg .p-togglebutton-content {
|
117
|
+
padding: ${dt('togglebutton.content.lg.padding')};
|
118
|
+
}
|
126
119
|
|
120
|
+
/* For PrimeNG (iconPos) */
|
127
121
|
.p-togglebutton-icon-right {
|
128
122
|
order: 1;
|
129
123
|
}
|
130
124
|
|
131
|
-
p-togglebutton.ng-invalid.ng-dirty
|
125
|
+
.p-togglebutton.ng-invalid.ng-dirty {
|
132
126
|
border-color: ${dt('togglebutton.invalid.border.color')};
|
133
127
|
}
|
134
128
|
`;
|
@@ -148,10 +142,10 @@ class ToggleButtonStyle extends BaseStyle {
|
|
148
142
|
name = 'togglebutton';
|
149
143
|
theme = theme;
|
150
144
|
classes = classes;
|
151
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
152
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
145
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ToggleButtonStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
146
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ToggleButtonStyle });
|
153
147
|
}
|
154
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
148
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ToggleButtonStyle, decorators: [{
|
155
149
|
type: Injectable
|
156
150
|
}] });
|
157
151
|
/**
|
@@ -189,6 +183,33 @@ const TOGGLEBUTTON_VALUE_ACCESSOR = {
|
|
189
183
|
* @group Components
|
190
184
|
*/
|
191
185
|
class ToggleButton extends BaseComponent {
|
186
|
+
get hostClass() {
|
187
|
+
return this.styleClass || '';
|
188
|
+
}
|
189
|
+
onKeyDown(event) {
|
190
|
+
switch (event.code) {
|
191
|
+
case 'Enter':
|
192
|
+
this.toggle(event);
|
193
|
+
event.preventDefault();
|
194
|
+
break;
|
195
|
+
case 'Space':
|
196
|
+
this.toggle(event);
|
197
|
+
event.preventDefault();
|
198
|
+
break;
|
199
|
+
}
|
200
|
+
}
|
201
|
+
toggle(event) {
|
202
|
+
if (!this.disabled && !(this.allowEmpty === false && this.checked)) {
|
203
|
+
this.checked = !this.checked;
|
204
|
+
this.onModelChange(this.checked);
|
205
|
+
this.onModelTouched();
|
206
|
+
this.onChange.emit({
|
207
|
+
originalEvent: event,
|
208
|
+
checked: this.checked
|
209
|
+
});
|
210
|
+
this.cd.markForCheck();
|
211
|
+
}
|
212
|
+
}
|
192
213
|
/**
|
193
214
|
* Label for the on state.
|
194
215
|
* @group Props
|
@@ -234,9 +255,6 @@ class ToggleButton extends BaseComponent {
|
|
234
255
|
* @group Props
|
235
256
|
*/
|
236
257
|
styleClass;
|
237
|
-
get hostClass() {
|
238
|
-
return this.styleClass || '';
|
239
|
-
}
|
240
258
|
/**
|
241
259
|
* Identifier of the focus input to match a label defined for the component.
|
242
260
|
* @group Props
|
@@ -288,30 +306,6 @@ class ToggleButton extends BaseComponent {
|
|
288
306
|
onModelChange = () => { };
|
289
307
|
onModelTouched = () => { };
|
290
308
|
_componentStyle = inject(ToggleButtonStyle);
|
291
|
-
toggle(event) {
|
292
|
-
if (!this.disabled && !(this.allowEmpty === false && this.checked)) {
|
293
|
-
this.checked = !this.checked;
|
294
|
-
this.onModelChange(this.checked);
|
295
|
-
this.onModelTouched();
|
296
|
-
this.onChange.emit({
|
297
|
-
originalEvent: event,
|
298
|
-
checked: this.checked
|
299
|
-
});
|
300
|
-
this.cd.markForCheck();
|
301
|
-
}
|
302
|
-
}
|
303
|
-
onKeyDown(event) {
|
304
|
-
switch (event.code) {
|
305
|
-
case 'Enter':
|
306
|
-
this.toggle(event);
|
307
|
-
event.preventDefault();
|
308
|
-
break;
|
309
|
-
case 'Space':
|
310
|
-
this.toggle(event);
|
311
|
-
event.preventDefault();
|
312
|
-
break;
|
313
|
-
}
|
314
|
-
}
|
315
309
|
onBlur() {
|
316
310
|
this.onModelTouched();
|
317
311
|
}
|
@@ -355,92 +349,86 @@ class ToggleButton extends BaseComponent {
|
|
355
349
|
}
|
356
350
|
});
|
357
351
|
}
|
358
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
359
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
360
|
-
<
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
<span [ngClass]="cx('content')">
|
374
|
-
<ng-container *ngTemplateOutlet="contentTemplate || _contentTemplate; context: { $implicit: checked }"></ng-container>
|
375
|
-
@if (!contentTemplate) {
|
376
|
-
@if (!iconTemplate) {
|
377
|
-
@if (onIcon || offIcon) {
|
378
|
-
<span
|
379
|
-
[class]="checked ? this.onIcon : this.offIcon"
|
380
|
-
[ngClass]="{
|
381
|
-
'p-togglebutton-icon': true,
|
382
|
-
'p-togglebutton-icon-left': iconPos === 'left',
|
383
|
-
'p-togglebutton-icon-right': iconPos === 'right'
|
384
|
-
}"
|
385
|
-
[attr.data-pc-section]="'icon'"
|
386
|
-
></span>
|
387
|
-
}
|
388
|
-
} @else {
|
389
|
-
<ng-container *ngTemplateOutlet="iconTemplate || _iconTemplate; context: { $implicit: checked }"></ng-container>
|
390
|
-
}
|
391
|
-
<span [ngClass]="cx('label')" [attr.data-pc-section]="'label'">{{ checked ? (hasOnLabel ? onLabel : ' ') : hasOffLabel ? offLabel : ' ' }}</span>
|
352
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ToggleButton, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
353
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: ToggleButton, isStandalone: true, selector: "p-toggleButton, p-togglebutton, p-toggle-button", inputs: { onLabel: "onLabel", offLabel: "offLabel", onIcon: "onIcon", offIcon: "offIcon", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", disabled: ["disabled", "disabled", booleanAttribute], style: "style", styleClass: "styleClass", inputId: "inputId", tabindex: ["tabindex", "tabindex", numberAttribute], size: "size", iconPos: "iconPos", autofocus: ["autofocus", "autofocus", booleanAttribute], allowEmpty: "allowEmpty" }, outputs: { onChange: "onChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "click": "toggle($event)" }, properties: { "tabindex": "tabindex", "disabled": "disabled", "attr.aria-labelledby": "ariaLabelledBy", "attr.aria-pressed": "checked", "attr.data-p-checked": "active", "attr.data-p-disabled": "disabled", "attr.type": "\"button\"", "class.p-togglebutton": "true", "class.p-togglebutton-checked": "checked", "class.p-disabled": "disabled", "class.p-togglebutton-sm": "size === \"small\"", "class.p-inputfield-sm": "size === \"small\"", "class.p-togglebutton-lg": "size === \"large\"", "class.p-inputfield-lg": "size === \"large\"", "class": "this.hostClass" } }, providers: [TOGGLEBUTTON_VALUE_ACCESSOR, ToggleButtonStyle], queries: [{ propertyName: "iconTemplate", first: true, predicate: ["icon"] }, { propertyName: "contentTemplate", first: true, predicate: ["content"] }, { propertyName: "templates", predicate: PrimeTemplate }], usesInheritance: true, hostDirectives: [{ directive: i1.Ripple }], ngImport: i0, template: `<span [ngClass]="cx('content')">
|
354
|
+
<ng-container *ngTemplateOutlet="contentTemplate || _contentTemplate; context: { $implicit: checked }"></ng-container>
|
355
|
+
@if (!contentTemplate) {
|
356
|
+
@if (!iconTemplate) {
|
357
|
+
@if (onIcon || offIcon) {
|
358
|
+
<span
|
359
|
+
[class]="checked ? this.onIcon : this.offIcon"
|
360
|
+
[ngClass]="{
|
361
|
+
'p-togglebutton-icon': true,
|
362
|
+
'p-togglebutton-icon-left': iconPos === 'left',
|
363
|
+
'p-togglebutton-icon-right': iconPos === 'right'
|
364
|
+
}"
|
365
|
+
[attr.data-pc-section]="'icon'"
|
366
|
+
></span>
|
392
367
|
}
|
393
|
-
|
394
|
-
|
395
|
-
|
368
|
+
} @else {
|
369
|
+
<ng-container *ngTemplateOutlet="iconTemplate || _iconTemplate; context: { $implicit: checked }"></ng-container>
|
370
|
+
}
|
371
|
+
<span [ngClass]="cx('label')" [attr.data-pc-section]="'label'">{{ checked ? (hasOnLabel ? onLabel : ' ') : hasOffLabel ? offLabel : ' ' }}</span>
|
372
|
+
}
|
373
|
+
</span>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SharedModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
396
374
|
}
|
397
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
375
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ToggleButton, decorators: [{
|
398
376
|
type: Component,
|
399
377
|
args: [{
|
400
378
|
selector: 'p-toggleButton, p-togglebutton, p-toggle-button',
|
401
379
|
standalone: true,
|
402
|
-
imports: [
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
}
|
432
|
-
|
433
|
-
|
434
|
-
}
|
435
|
-
<span [ngClass]="cx('label')" [attr.data-pc-section]="'label'">{{ checked ? (hasOnLabel ? onLabel : ' ') : hasOffLabel ? offLabel : ' ' }}</span>
|
380
|
+
imports: [CommonModule, SharedModule],
|
381
|
+
hostDirectives: [{ directive: Ripple }],
|
382
|
+
host: {
|
383
|
+
'[tabindex]': 'tabindex',
|
384
|
+
'[disabled]': 'disabled',
|
385
|
+
'[attr.aria-labelledby]': 'ariaLabelledBy',
|
386
|
+
'[attr.aria-pressed]': 'checked',
|
387
|
+
'[attr.data-p-checked]': 'active',
|
388
|
+
'[attr.data-p-disabled]': 'disabled',
|
389
|
+
'[attr.type]': '"button"',
|
390
|
+
'[class.p-togglebutton]': 'true',
|
391
|
+
'[class.p-togglebutton-checked]': 'checked',
|
392
|
+
'[class.p-disabled]': 'disabled',
|
393
|
+
'[class.p-togglebutton-sm]': 'size === "small"',
|
394
|
+
'[class.p-inputfield-sm]': 'size === "small"',
|
395
|
+
'[class.p-togglebutton-lg]': 'size === "large"',
|
396
|
+
'[class.p-inputfield-lg]': 'size === "large"'
|
397
|
+
},
|
398
|
+
template: `<span [ngClass]="cx('content')">
|
399
|
+
<ng-container *ngTemplateOutlet="contentTemplate || _contentTemplate; context: { $implicit: checked }"></ng-container>
|
400
|
+
@if (!contentTemplate) {
|
401
|
+
@if (!iconTemplate) {
|
402
|
+
@if (onIcon || offIcon) {
|
403
|
+
<span
|
404
|
+
[class]="checked ? this.onIcon : this.offIcon"
|
405
|
+
[ngClass]="{
|
406
|
+
'p-togglebutton-icon': true,
|
407
|
+
'p-togglebutton-icon-left': iconPos === 'left',
|
408
|
+
'p-togglebutton-icon-right': iconPos === 'right'
|
409
|
+
}"
|
410
|
+
[attr.data-pc-section]="'icon'"
|
411
|
+
></span>
|
436
412
|
}
|
437
|
-
|
438
|
-
|
439
|
-
|
413
|
+
} @else {
|
414
|
+
<ng-container *ngTemplateOutlet="iconTemplate || _iconTemplate; context: { $implicit: checked }"></ng-container>
|
415
|
+
}
|
416
|
+
<span [ngClass]="cx('label')" [attr.data-pc-section]="'label'">{{ checked ? (hasOnLabel ? onLabel : ' ') : hasOffLabel ? offLabel : ' ' }}</span>
|
417
|
+
}
|
418
|
+
</span>`,
|
440
419
|
providers: [TOGGLEBUTTON_VALUE_ACCESSOR, ToggleButtonStyle],
|
441
420
|
changeDetection: ChangeDetectionStrategy.OnPush
|
442
421
|
}]
|
443
|
-
}], propDecorators: {
|
422
|
+
}], propDecorators: { hostClass: [{
|
423
|
+
type: HostBinding,
|
424
|
+
args: ['class']
|
425
|
+
}], onKeyDown: [{
|
426
|
+
type: HostListener,
|
427
|
+
args: ['keydown', ['$event']]
|
428
|
+
}], toggle: [{
|
429
|
+
type: HostListener,
|
430
|
+
args: ['click', ['$event']]
|
431
|
+
}], onLabel: [{
|
444
432
|
type: Input
|
445
433
|
}], offLabel: [{
|
446
434
|
type: Input
|
@@ -459,9 +447,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImpor
|
|
459
447
|
type: Input
|
460
448
|
}], styleClass: [{
|
461
449
|
type: Input
|
462
|
-
}], hostClass: [{
|
463
|
-
type: HostBinding,
|
464
|
-
args: ['class']
|
465
450
|
}], inputId: [{
|
466
451
|
type: Input
|
467
452
|
}], tabindex: [{
|
@@ -489,11 +474,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImpor
|
|
489
474
|
args: [PrimeTemplate]
|
490
475
|
}] } });
|
491
476
|
class ToggleButtonModule {
|
492
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
493
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
494
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
477
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ToggleButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
478
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.5", ngImport: i0, type: ToggleButtonModule, imports: [ToggleButton, SharedModule], exports: [ToggleButton, SharedModule] });
|
479
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ToggleButtonModule, imports: [ToggleButton, SharedModule, SharedModule] });
|
495
480
|
}
|
496
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
481
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ToggleButtonModule, decorators: [{
|
497
482
|
type: NgModule,
|
498
483
|
args: [{
|
499
484
|
imports: [ToggleButton, SharedModule],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-togglebutton.mjs","sources":["../../src/togglebutton/style/togglebuttonstyle.ts","../../src/togglebutton/togglebutton.ts","../../src/togglebutton/primeng-togglebutton.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\np-togglebutton {\n display: inline-flex;\n}\n\n.p-togglebutton {\n display: inline-flex;\n cursor: pointer;\n user-select: none;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n color: ${dt('togglebutton.color')};\n background: ${dt('togglebutton.background')};\n border: 1px solid ${dt('togglebutton.border.color')};\n padding: ${dt('togglebutton.padding')};\n font-size: 1rem;\n font-family: inherit;\n font-feature-settings: inherit;\n transition: background ${dt('togglebutton.transition.duration')}, color ${dt('togglebutton.transition.duration')}, border-color ${dt('togglebutton.transition.duration')},\n outline-color ${dt('togglebutton.transition.duration')}, box-shadow ${dt('togglebutton.transition.duration')};\n border-radius: ${dt('togglebutton.border.radius')};\n outline-color: transparent;\n font-weight: ${dt('togglebutton.font.weight')};\n}\n\n.p-togglebutton-content {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: ${dt('togglebutton.gap')};\n}\n\n.p-togglebutton-label,\n.p-togglebutton-icon {\n position: relative;\n transition: none;\n}\n\n.p-togglebutton::before {\n content: \"\";\n background: transparent;\n transition: background ${dt('togglebutton.transition.duration')}, color ${dt('togglebutton.transition.duration')}, border-color ${dt('togglebutton.transition.duration')},\n outline-color ${dt('togglebutton.transition.duration')}, box-shadow ${dt('togglebutton.transition.duration')};\n position: absolute;\n inset-inline-start: ${dt('togglebutton.content.left')};\n top: ${dt('togglebutton.content.top')};\n width: calc(100% - calc(2 * ${dt('togglebutton.content.left')}));\n height: calc(100% - calc(2 * ${dt('togglebutton.content.top')}));\n border-radius: ${dt('togglebutton.border.radius')};\n}\n\n.p-togglebutton.p-togglebutton-checked::before {\n background: ${dt('togglebutton.content.checked.background')};\n box-shadow: ${dt('togglebutton.content.checked.shadow')};\n}\n\n.p-togglebutton:not(:disabled):not(.p-togglebutton-checked):hover {\n background: ${dt('togglebutton.hover.background')};\n color: ${dt('togglebutton.hover.color')};\n}\n\n.p-togglebutton.p-togglebutton-checked {\n background: ${dt('togglebutton.checked.background')};\n border-color: ${dt('togglebutton.checked.border.color')};\n color: ${dt('togglebutton.checked.color')};\n}\n\n.p-togglebutton:focus-visible {\n box-shadow: ${dt('togglebutton.focus.ring.shadow')};\n outline: ${dt('togglebutton.focus.ring.width')} ${dt('togglebutton.focus.ring.style')} ${dt('togglebutton.focus.ring.color')};\n outline-offset: ${dt('togglebutton.focus.ring.offset')};\n}\n\n.p-togglebutton.p-invalid {\n border-color: ${dt('togglebutton.invalid.border.color')};\n}\n\n.p-togglebutton:disabled {\n opacity: 1;\n cursor: default;\n background: ${dt('togglebutton.disabled.background')};\n border-color: ${dt('togglebutton.disabled.border.color')};\n color: ${dt('togglebutton.disabled.color')};\n}\n\n.p-togglebutton-icon {\n color: ${dt('togglebutton.icon.color')};\n}\n\n.p-togglebutton:not(:disabled):not(.p-togglebutton-checked):hover .p-togglebutton-icon {\n color: ${dt('togglebutton.icon.hover.color')};\n}\n\n.p-togglebutton.p-togglebutton-checked .p-togglebutton-icon {\n color: ${dt('togglebutton.icon.checked.color')};\n}\n\n.p-togglebutton:disabled .p-togglebutton-icon {\n color: ${dt('togglebutton.icon.disabled.color')};\n}\n\n.p-togglebutton-sm {\n padding: ${dt('togglebutton.sm.padding')};\n font-size: ${dt('togglebutton.sm.font.size')};\n}\n\n.p-togglebutton-lg {\n padding: ${dt('togglebutton.lg.padding')};\n font-size: ${dt('togglebutton.lg.font.size')};\n}\n\n/* For PrimeNG (iconPos) */\n\n.p-togglebutton-icon-right {\n order: 1;\n}\n\np-togglebutton.ng-invalid.ng-dirty > .p-togglebutton {\n border-color: ${dt('togglebutton.invalid.border.color')};\n}\n`;\n\nconst classes = {\n root: ({ instance }) => ({\n 'p-togglebutton p-component': true,\n 'p-togglebutton-checked': instance.checked,\n 'p-disabled': instance.disabled,\n 'p-togglebutton-sm p-inputfield-sm': instance.size === 'small',\n 'p-togglebutton-lg p-inputfield-lg': instance.size === 'large'\n }),\n content: 'p-togglebutton-content',\n icon: 'p-togglebutton-icon',\n label: 'p-togglebutton-label'\n};\n\n@Injectable()\nexport class ToggleButtonStyle extends BaseStyle {\n name = 'togglebutton';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * ToggleButton is used to select a boolean value using a button.\n *\n * [Live Demo](https://www.primeng.org/togglebutton/)\n *\n * @module togglebuttonstyle\n *\n */\nexport enum ToggleButtonClasses {\n /**\n * Class name of the root element\n */\n root = 'p-togglebutton',\n /**\n * Class name of the icon element\n */\n icon = 'p-togglebutton-icon',\n /**\n * Class name of the label element\n */\n label = 'p-togglebutton-label'\n}\n\nexport interface ToggleButtonStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport { AfterContentInit, booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, EventEmitter, forwardRef, HostBinding, inject, Input, NgModule, numberAttribute, Output, QueryList, TemplateRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Ripple } from 'primeng/ripple';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { ToggleButtonStyle } from './style/togglebuttonstyle';\nimport { ToggleButtonChangeEvent } from './togglebutton.interface';\n\nexport const TOGGLEBUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleButton),\n multi: true\n};\n/**\n * ToggleButton is used to select a boolean value using a button.\n * @group Components\n */\n@Component({\n selector: 'p-toggleButton, p-togglebutton, p-toggle-button',\n standalone: true,\n imports: [Ripple, CommonModule, SharedModule],\n template: `\n <button\n pRipple\n type=\"button\"\n [ngClass]=\"cx('root')\"\n [class]=\"styleClass\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled\"\n (click)=\"toggle($event)\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-pressed]=\"checked\"\n [attr.data-p-checked]=\"active\"\n [attr.data-p-disabled]=\"disabled\"\n >\n <span [ngClass]=\"cx('content')\">\n <ng-container *ngTemplateOutlet=\"contentTemplate || _contentTemplate; context: { $implicit: checked }\"></ng-container>\n @if (!contentTemplate) {\n @if (!iconTemplate) {\n @if (onIcon || offIcon) {\n <span\n [class]=\"checked ? this.onIcon : this.offIcon\"\n [ngClass]=\"{\n 'p-togglebutton-icon': true,\n 'p-togglebutton-icon-left': iconPos === 'left',\n 'p-togglebutton-icon-right': iconPos === 'right'\n }\"\n [attr.data-pc-section]=\"'icon'\"\n ></span>\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"iconTemplate || _iconTemplate; context: { $implicit: checked }\"></ng-container>\n }\n <span [ngClass]=\"cx('label')\" [attr.data-pc-section]=\"'label'\">{{ checked ? (hasOnLabel ? onLabel : ' ') : hasOffLabel ? offLabel : ' ' }}</span>\n }\n </span>\n </button>\n `,\n providers: [TOGGLEBUTTON_VALUE_ACCESSOR, ToggleButtonStyle],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ToggleButton extends BaseComponent implements AfterContentInit, ControlValueAccessor {\n /**\n * Label for the on state.\n * @group Props\n */\n @Input() onLabel: string = 'Yes';\n /**\n * Label for the off state.\n * @group Props\n */\n @Input() offLabel: string = 'No';\n /**\n * Icon for the on state.\n * @group Props\n */\n @Input() onIcon: string | undefined;\n /**\n * Icon for the off state.\n * @group Props\n */\n @Input() offIcon: string | undefined;\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: any;\n /**\n * Style class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n\n @HostBinding('class') get hostClass() {\n return this.styleClass || '';\n }\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined = 0;\n /**\n * Defines the size of the component.\n * @group Props\n */\n @Input() size: 'large' | 'small';\n /**\n * Position of the icon.\n * @group Props\n */\n @Input() iconPos: 'left' | 'right' = 'left';\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Whether selection can not be cleared.\n * @group Props\n */\n @Input() allowEmpty: boolean | undefined;\n /**\n * Callback to invoke on value change.\n * @param {ToggleButtonChangeEvent} event - Custom change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<ToggleButtonChangeEvent> = new EventEmitter<ToggleButtonChangeEvent>();\n /**\n * Custom icon template.\n * @group Templates\n */\n @ContentChild('icon', { descendants: false }) iconTemplate: Nullable<TemplateRef<any>>;\n /**\n * Custom content template.\n * @group Templates\n */\n @ContentChild('content', { descendants: false }) contentTemplate: Nullable<TemplateRef<any>>;\n\n @ContentChildren(PrimeTemplate) templates!: QueryList<PrimeTemplate>;\n\n checked: boolean = false;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n _componentStyle = inject(ToggleButtonStyle);\n\n toggle(event: Event) {\n if (!this.disabled && !(this.allowEmpty === false && this.checked)) {\n this.checked = !this.checked;\n this.onModelChange(this.checked);\n this.onModelTouched();\n this.onChange.emit({\n originalEvent: event,\n checked: this.checked\n });\n\n this.cd.markForCheck();\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n switch (event.code) {\n case 'Enter':\n this.toggle(event);\n event.preventDefault();\n break;\n case 'Space':\n this.toggle(event);\n event.preventDefault();\n break;\n }\n }\n\n onBlur() {\n this.onModelTouched();\n }\n\n writeValue(value: any): void {\n this.checked = value;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n get hasOnLabel(): boolean {\n return (this.onLabel && this.onLabel.length > 0) as boolean;\n }\n\n get hasOffLabel(): boolean {\n return (this.onLabel && this.onLabel.length > 0) as boolean;\n }\n\n get active() {\n return this.checked === true;\n }\n\n _iconTemplate: TemplateRef<any> | undefined;\n\n _contentTemplate: TemplateRef<any> | undefined;\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'icon':\n this._iconTemplate = item.template;\n break;\n case 'content':\n this._contentTemplate = item.template;\n break;\n default:\n this._contentTemplate = item.template;\n break;\n }\n });\n }\n}\n\n@NgModule({\n imports: [ToggleButton, SharedModule],\n exports: [ToggleButton, SharedModule]\n})\nexport class ToggleButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;AAGA,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK;;;;;;;;;;;;;aAab,EAAE,CAAC,oBAAoB,CAAC,CAAA;kBACnB,EAAE,CAAC,yBAAyB,CAAC,CAAA;wBACvB,EAAE,CAAC,2BAA2B,CAAC,CAAA;eACxC,EAAE,CAAC,sBAAsB,CAAC,CAAA;;;;AAIZ,2BAAA,EAAA,EAAE,CAAC,kCAAkC,CAAC,CAAA,QAAA,EAAW,EAAE,CAAC,kCAAkC,CAAC,CAAkB,eAAA,EAAA,EAAE,CAAC,kCAAkC,CAAC,CAAA;AACpJ,sBAAA,EAAA,EAAE,CAAC,kCAAkC,CAAC,gBAAgB,EAAE,CAAC,kCAAkC,CAAC,CAAA;qBAC/F,EAAE,CAAC,4BAA4B,CAAC,CAAA;;mBAElC,EAAE,CAAC,0BAA0B,CAAC,CAAA;;;;;;;;WAQtC,EAAE,CAAC,kBAAkB,CAAC,CAAA;;;;;;;;;;;;AAYJ,2BAAA,EAAA,EAAE,CAAC,kCAAkC,CAAC,CAAA,QAAA,EAAW,EAAE,CAAC,kCAAkC,CAAC,CAAkB,eAAA,EAAA,EAAE,CAAC,kCAAkC,CAAC,CAAA;AAChJ,0BAAA,EAAA,EAAE,CAAC,kCAAkC,CAAC,gBAAgB,EAAE,CAAC,kCAAkC,CAAC,CAAA;;0BAE9F,EAAE,CAAC,2BAA2B,CAAC,CAAA;WAC9C,EAAE,CAAC,0BAA0B,CAAC,CAAA;mCACN,EAAE,CAAC,2BAA2B,CAAC,CAAA;oCAC9B,EAAE,CAAC,0BAA0B,CAAC,CAAA;qBAC7C,EAAE,CAAC,4BAA4B,CAAC,CAAA;;;;kBAInC,EAAE,CAAC,yCAAyC,CAAC,CAAA;kBAC7C,EAAE,CAAC,qCAAqC,CAAC,CAAA;;;;kBAIzC,EAAE,CAAC,+BAA+B,CAAC,CAAA;aACxC,EAAE,CAAC,0BAA0B,CAAC,CAAA;;;;kBAIzB,EAAE,CAAC,iCAAiC,CAAC,CAAA;oBACnC,EAAE,CAAC,mCAAmC,CAAC,CAAA;aAC9C,EAAE,CAAC,4BAA4B,CAAC,CAAA;;;;kBAI3B,EAAE,CAAC,gCAAgC,CAAC,CAAA;AACvC,aAAA,EAAA,EAAE,CAAC,+BAA+B,CAAC,CAAA,CAAA,EAAI,EAAE,CAAC,+BAA+B,CAAC,CAAI,CAAA,EAAA,EAAE,CAAC,+BAA+B,CAAC,CAAA;sBAC1G,EAAE,CAAC,gCAAgC,CAAC,CAAA;;;;oBAItC,EAAE,CAAC,mCAAmC,CAAC,CAAA;;;;;;kBAMzC,EAAE,CAAC,kCAAkC,CAAC,CAAA;oBACpC,EAAE,CAAC,oCAAoC,CAAC,CAAA;aAC/C,EAAE,CAAC,6BAA6B,CAAC,CAAA;;;;aAIjC,EAAE,CAAC,yBAAyB,CAAC,CAAA;;;;aAI7B,EAAE,CAAC,+BAA+B,CAAC,CAAA;;;;aAInC,EAAE,CAAC,iCAAiC,CAAC,CAAA;;;;aAIrC,EAAE,CAAC,kCAAkC,CAAC,CAAA;;;;eAIpC,EAAE,CAAC,yBAAyB,CAAC,CAAA;iBAC3B,EAAE,CAAC,2BAA2B,CAAC,CAAA;;;;eAIjC,EAAE,CAAC,yBAAyB,CAAC,CAAA;iBAC3B,EAAE,CAAC,2BAA2B,CAAC,CAAA;;;;;;;;;;oBAU5B,EAAE,CAAC,mCAAmC,CAAC,CAAA;;CAE1D;AAED,MAAM,OAAO,GAAG;IACZ,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM;AACrB,QAAA,4BAA4B,EAAE,IAAI;QAClC,wBAAwB,EAAE,QAAQ,CAAC,OAAO;QAC1C,YAAY,EAAE,QAAQ,CAAC,QAAQ;AAC/B,QAAA,mCAAmC,EAAE,QAAQ,CAAC,IAAI,KAAK,OAAO;AAC9D,QAAA,mCAAmC,EAAE,QAAQ,CAAC,IAAI,KAAK;KAC1D,CAAC;AACF,IAAA,OAAO,EAAE,wBAAwB;AACjC,IAAA,IAAI,EAAE,qBAAqB;AAC3B,IAAA,KAAK,EAAE;CACV;AAGK,MAAO,iBAAkB,SAAQ,SAAS,CAAA;IAC5C,IAAI,GAAG,cAAc;IAErB,KAAK,GAAG,KAAK;IAEb,OAAO,GAAG,OAAO;uGALR,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAAjB,iBAAiB,EAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B;;AASD;;;;;;;;AAQG;IACS;AAAZ,CAAA,UAAY,mBAAmB,EAAA;AAC3B;;AAEG;AACH,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,gBAAuB;AACvB;;AAEG;AACH,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,qBAA4B;AAC5B;;AAEG;AACH,IAAA,mBAAA,CAAA,OAAA,CAAA,GAAA,sBAA8B;AAClC,CAAC,EAbW,mBAAmB,KAAnB,mBAAmB,GAa9B,EAAA,CAAA,CAAA;;AClKY,MAAA,2BAA2B,GAAQ;AAC5C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,YAAY,CAAC;AAC3C,IAAA,KAAK,EAAE;;AAEX;;;AAGG;AA6CG,MAAO,YAAa,SAAQ,aAAa,CAAA;AAC3C;;;AAGG;IACM,OAAO,GAAW,KAAK;AAChC;;;AAGG;IACM,QAAQ,GAAW,IAAI;AAChC;;;AAGG;AACM,IAAA,MAAM;AACf;;;AAGG;AACM,IAAA,OAAO;AAChB;;;AAGG;AACM,IAAA,SAAS;AAClB;;;AAGG;AACM,IAAA,cAAc;AACvB;;;AAGG;AACqC,IAAA,QAAQ;AAChD;;;AAGG;AACM,IAAA,KAAK;AACd;;;AAGG;AACM,IAAA,UAAU;AAEnB,IAAA,IAA0B,SAAS,GAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,UAAU,IAAI,EAAE;;AAEhC;;;AAGG;AACM,IAAA,OAAO;AAChB;;;AAGG;IACoC,QAAQ,GAAuB,CAAC;AACvE;;;AAGG;AACM,IAAA,IAAI;AACb;;;AAGG;IACM,OAAO,GAAqB,MAAM;AAC3C;;;AAGG;AACqC,IAAA,SAAS;AACjD;;;AAGG;AACM,IAAA,UAAU;AACnB;;;;AAIG;AACO,IAAA,QAAQ,GAA0C,IAAI,YAAY,EAA2B;AACvG;;;AAGG;AAC2C,IAAA,YAAY;AAC1D;;;AAGG;AAC8C,IAAA,eAAe;AAEhC,IAAA,SAAS;IAEzC,OAAO,GAAY,KAAK;AAExB,IAAA,aAAa,GAAa,MAAK,GAAG;AAElC,IAAA,cAAc,GAAa,MAAK,GAAG;AAEnC,IAAA,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAE3C,IAAA,MAAM,CAAC,KAAY,EAAA;AACf,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,IAAI,CAAC,UAAU,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;AAChE,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO;AAC5B,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;YAChC,IAAI,CAAC,cAAc,EAAE;AACrB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACf,gBAAA,aAAa,EAAE,KAAK;gBACpB,OAAO,EAAE,IAAI,CAAC;AACjB,aAAA,CAAC;AAEF,YAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;;;AAI9B,IAAA,SAAS,CAAC,KAAoB,EAAA;AAC1B,QAAA,QAAQ,KAAK,CAAC,IAAI;AACd,YAAA,KAAK,OAAO;AACR,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAClB,KAAK,CAAC,cAAc,EAAE;gBACtB;AACJ,YAAA,KAAK,OAAO;AACR,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAClB,KAAK,CAAC,cAAc,EAAE;gBACtB;;;IAIZ,MAAM,GAAA;QACF,IAAI,CAAC,cAAc,EAAE;;AAGzB,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;;AAG1B,IAAA,gBAAgB,CAAC,EAAY,EAAA;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE;;AAG3B,IAAA,iBAAiB,CAAC,EAAY,EAAA;AAC1B,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE;;AAG5B,IAAA,gBAAgB,CAAC,GAAY,EAAA;AACzB,QAAA,IAAI,CAAC,QAAQ,GAAG,GAAG;AACnB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;;AAG1B,IAAA,IAAI,UAAU,GAAA;AACV,QAAA,QAAQ,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;;AAGnD,IAAA,IAAI,WAAW,GAAA;AACX,QAAA,QAAQ,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;;AAGnD,IAAA,IAAI,MAAM,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI;;AAGhC,IAAA,aAAa;AAEb,IAAA,gBAAgB;IAEhB,kBAAkB,GAAA;QACd,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC5B,YAAA,QAAQ,IAAI,CAAC,OAAO,EAAE;AAClB,gBAAA,KAAK,MAAM;AACP,oBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ;oBAClC;AACJ,gBAAA,KAAK,SAAS;AACV,oBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ;oBACrC;AACJ,gBAAA;AACI,oBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ;oBACrC;;AAEZ,SAAC,CAAC;;uGAzLG,YAAY,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAZ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,EAmCD,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iDAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAgB,CAwBhB,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,eAAe,2EAef,gBAAgB,CAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,SAAA,EA7EzB,CAAC,2BAA2B,EAAE,iBAAiB,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAoG1C,aAAa,EAzIpB,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EArCS,MAAM,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAyCnC,YAAY,EAAA,UAAA,EAAA,CAAA;kBA5CxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iDAAiD;AAC3D,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC;AAC7C,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCT,IAAA,CAAA;AACD,oBAAA,SAAS,EAAE,CAAC,2BAA2B,EAAE,iBAAiB,CAAC;oBAC3D,eAAe,EAAE,uBAAuB,CAAC;AAC5C,iBAAA;8BAMY,OAAO,EAAA,CAAA;sBAAf;gBAKQ,QAAQ,EAAA,CAAA;sBAAhB;gBAKQ,MAAM,EAAA,CAAA;sBAAd;gBAKQ,OAAO,EAAA,CAAA;sBAAf;gBAKQ,SAAS,EAAA,CAAA;sBAAjB;gBAKQ,cAAc,EAAA,CAAA;sBAAtB;gBAKuC,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAK7B,KAAK,EAAA,CAAA;sBAAb;gBAKQ,UAAU,EAAA,CAAA;sBAAlB;gBAEyB,SAAS,EAAA,CAAA;sBAAlC,WAAW;uBAAC,OAAO;gBAOX,OAAO,EAAA,CAAA;sBAAf;gBAKsC,QAAQ,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;gBAK5B,IAAI,EAAA,CAAA;sBAAZ;gBAKQ,OAAO,EAAA,CAAA;sBAAf;gBAKuC,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAK7B,UAAU,EAAA,CAAA;sBAAlB;gBAMS,QAAQ,EAAA,CAAA;sBAAjB;gBAK6C,YAAY,EAAA,CAAA;sBAAzD,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,MAAM,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;gBAKK,eAAe,EAAA,CAAA;sBAA/D,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,SAAS,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;gBAEf,SAAS,EAAA,CAAA;sBAAxC,eAAe;uBAAC,aAAa;;MAgGrB,kBAAkB,CAAA;uGAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAjMlB,YAAY,EA8LG,YAAY,CA9L3B,EAAA,OAAA,EAAA,CAAA,YAAY,EA+LG,YAAY,CAAA,EAAA,CAAA;AAE3B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EAHjB,OAAA,EAAA,CAAA,YAAY,EAAE,YAAY,EACZ,YAAY,CAAA,EAAA,CAAA;;2FAE3B,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;AACrC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY;AACvC,iBAAA;;;AC/PD;;AAEG;;;;"}
|
1
|
+
{"version":3,"file":"primeng-togglebutton.mjs","sources":["../../src/togglebutton/style/togglebuttonstyle.ts","../../src/togglebutton/togglebutton.ts","../../src/togglebutton/primeng-togglebutton.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-togglebutton {\n display: inline-flex;\n cursor: pointer;\n user-select: none;\n overflow: hidden;\n position: relative;\n color: ${dt('togglebutton.color')};\n background: ${dt('togglebutton.background')};\n border: 1px solid ${dt('togglebutton.border.color')};\n padding: ${dt('togglebutton.padding')};\n font-size: 1rem;\n font-family: inherit;\n font-feature-settings: inherit;\n transition: background ${dt('togglebutton.transition.duration')}, color ${dt('togglebutton.transition.duration')}, border-color ${dt('togglebutton.transition.duration')},\n outline-color ${dt('togglebutton.transition.duration')}, box-shadow ${dt('togglebutton.transition.duration')};\n border-radius: ${dt('togglebutton.border.radius')};\n outline-color: transparent;\n font-weight: ${dt('togglebutton.font.weight')};\n}\n\n.p-togglebutton-content {\n display: inline-flex;\n flex: 1 1 auto;\n align-items: center;\n justify-content: center;\n gap: ${dt('togglebutton.gap')};\n padding: ${dt('togglebutton.content.padding')};\n background: transparent;\n border-radius: ${dt('togglebutton.content.border.radius')};\n transition: background ${dt('togglebutton.transition.duration')}, color ${dt('togglebutton.transition.duration')}, border-color ${dt('togglebutton.transition.duration')},\n outline-color ${dt('togglebutton.transition.duration')}, box-shadow ${dt('togglebutton.transition.duration')};\n}\n\n.p-togglebutton:not(:disabled):not(.p-togglebutton-checked):hover {\n background: ${dt('togglebutton.hover.background')};\n color: ${dt('togglebutton.hover.color')};\n}\n\n.p-togglebutton.p-togglebutton-checked {\n background: ${dt('togglebutton.checked.background')};\n border-color: ${dt('togglebutton.checked.border.color')};\n color: ${dt('togglebutton.checked.color')};\n}\n\n.p-togglebutton-checked .p-togglebutton-content {\n background: ${dt('togglebutton.content.checked.background')};\n box-shadow: ${dt('togglebutton.content.checked.shadow')};\n}\n\n.p-togglebutton:focus-visible {\n box-shadow: ${dt('togglebutton.focus.ring.shadow')};\n outline: ${dt('togglebutton.focus.ring.width')} ${dt('togglebutton.focus.ring.style')} ${dt('togglebutton.focus.ring.color')};\n outline-offset: ${dt('togglebutton.focus.ring.offset')};\n}\n\n.p-togglebutton.p-invalid {\n border-color: ${dt('togglebutton.invalid.border.color')};\n}\n\n.p-togglebutton:disabled:not(.p-togglebutton-checked) {\n opacity: 1;\n cursor: default;\n background: ${dt('togglebutton.disabled.background')};\n border-color: ${dt('togglebutton.disabled.border.color')};\n color: ${dt('togglebutton.disabled.color')};\n}\n\n.p-togglebutton-label,\n.p-togglebutton-icon {\n position: relative;\n transition: none;\n}\n\n.p-togglebutton-icon {\n color: ${dt('togglebutton.icon.color')};\n}\n\n.p-togglebutton:not(:disabled):not(.p-togglebutton-checked):hover .p-togglebutton-icon {\n color: ${dt('togglebutton.icon.hover.color')};\n}\n\n.p-togglebutton.p-togglebutton-checked .p-togglebutton-icon {\n color: ${dt('togglebutton.icon.checked.color')};\n}\n\n.p-togglebutton:disabled .p-togglebutton-icon {\n color: ${dt('togglebutton.icon.disabled.color')};\n}\n\n.p-togglebutton-sm {\n padding: ${dt('togglebutton.sm.padding')};\n font-size: ${dt('togglebutton.sm.font.size')};\n}\n\n.p-togglebutton-sm .p-togglebutton-content {\n padding: ${dt('togglebutton.content.sm.padding')};\n}\n\n.p-togglebutton-lg {\n padding: ${dt('togglebutton.lg.padding')};\n font-size: ${dt('togglebutton.lg.font.size')};\n}\n\n.p-togglebutton-lg .p-togglebutton-content {\n padding: ${dt('togglebutton.content.lg.padding')};\n}\n\n/* For PrimeNG (iconPos) */\n.p-togglebutton-icon-right {\n order: 1;\n}\n\n.p-togglebutton.ng-invalid.ng-dirty {\n border-color: ${dt('togglebutton.invalid.border.color')};\n}\n`;\n\nconst classes = {\n root: ({ instance }) => ({\n 'p-togglebutton p-component': true,\n 'p-togglebutton-checked': instance.checked,\n 'p-disabled': instance.disabled,\n 'p-togglebutton-sm p-inputfield-sm': instance.size === 'small',\n 'p-togglebutton-lg p-inputfield-lg': instance.size === 'large'\n }),\n content: 'p-togglebutton-content',\n icon: 'p-togglebutton-icon',\n label: 'p-togglebutton-label'\n};\n\n@Injectable()\nexport class ToggleButtonStyle extends BaseStyle {\n name = 'togglebutton';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * ToggleButton is used to select a boolean value using a button.\n *\n * [Live Demo](https://www.primeng.org/togglebutton/)\n *\n * @module togglebuttonstyle\n *\n */\nexport enum ToggleButtonClasses {\n /**\n * Class name of the root element\n */\n root = 'p-togglebutton',\n /**\n * Class name of the icon element\n */\n icon = 'p-togglebutton-icon',\n /**\n * Class name of the label element\n */\n label = 'p-togglebutton-label'\n}\n\nexport interface ToggleButtonStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n inject,\n Input,\n NgModule,\n numberAttribute,\n Output,\n QueryList,\n TemplateRef\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Ripple } from 'primeng/ripple';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { ToggleButtonStyle } from './style/togglebuttonstyle';\nimport { ToggleButtonChangeEvent } from './togglebutton.interface';\n\nexport const TOGGLEBUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleButton),\n multi: true\n};\n/**\n * ToggleButton is used to select a boolean value using a button.\n * @group Components\n */\n@Component({\n selector: 'p-toggleButton, p-togglebutton, p-toggle-button',\n standalone: true,\n imports: [CommonModule, SharedModule],\n hostDirectives: [{ directive: Ripple }],\n host: {\n '[tabindex]': 'tabindex',\n '[disabled]': 'disabled',\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n '[attr.aria-pressed]': 'checked',\n '[attr.data-p-checked]': 'active',\n '[attr.data-p-disabled]': 'disabled',\n '[attr.type]': '\"button\"',\n '[class.p-togglebutton]': 'true',\n '[class.p-togglebutton-checked]': 'checked',\n '[class.p-disabled]': 'disabled',\n '[class.p-togglebutton-sm]': 'size === \"small\"',\n '[class.p-inputfield-sm]': 'size === \"small\"',\n '[class.p-togglebutton-lg]': 'size === \"large\"',\n '[class.p-inputfield-lg]': 'size === \"large\"'\n },\n template: `<span [ngClass]=\"cx('content')\">\n <ng-container *ngTemplateOutlet=\"contentTemplate || _contentTemplate; context: { $implicit: checked }\"></ng-container>\n @if (!contentTemplate) {\n @if (!iconTemplate) {\n @if (onIcon || offIcon) {\n <span\n [class]=\"checked ? this.onIcon : this.offIcon\"\n [ngClass]=\"{\n 'p-togglebutton-icon': true,\n 'p-togglebutton-icon-left': iconPos === 'left',\n 'p-togglebutton-icon-right': iconPos === 'right'\n }\"\n [attr.data-pc-section]=\"'icon'\"\n ></span>\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"iconTemplate || _iconTemplate; context: { $implicit: checked }\"></ng-container>\n }\n <span [ngClass]=\"cx('label')\" [attr.data-pc-section]=\"'label'\">{{ checked ? (hasOnLabel ? onLabel : ' ') : hasOffLabel ? offLabel : ' ' }}</span>\n }\n </span>`,\n providers: [TOGGLEBUTTON_VALUE_ACCESSOR, ToggleButtonStyle],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ToggleButton extends BaseComponent implements AfterContentInit, ControlValueAccessor {\n @HostBinding('class') get hostClass() {\n return this.styleClass || '';\n }\n\n @HostListener('keydown', ['$event']) onKeyDown(event: KeyboardEvent) {\n switch (event.code) {\n case 'Enter':\n this.toggle(event);\n event.preventDefault();\n break;\n case 'Space':\n this.toggle(event);\n event.preventDefault();\n break;\n }\n }\n\n @HostListener('click', ['$event']) toggle(event: Event) {\n if (!this.disabled && !(this.allowEmpty === false && this.checked)) {\n this.checked = !this.checked;\n this.onModelChange(this.checked);\n this.onModelTouched();\n this.onChange.emit({\n originalEvent: event,\n checked: this.checked\n });\n\n this.cd.markForCheck();\n }\n }\n /**\n * Label for the on state.\n * @group Props\n */\n @Input() onLabel: string = 'Yes';\n /**\n * Label for the off state.\n * @group Props\n */\n @Input() offLabel: string = 'No';\n /**\n * Icon for the on state.\n * @group Props\n */\n @Input() onIcon: string | undefined;\n /**\n * Icon for the off state.\n * @group Props\n */\n @Input() offIcon: string | undefined;\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: any;\n /**\n * Style class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined = 0;\n /**\n * Defines the size of the component.\n * @group Props\n */\n @Input() size: 'large' | 'small';\n /**\n * Position of the icon.\n * @group Props\n */\n @Input() iconPos: 'left' | 'right' = 'left';\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Whether selection can not be cleared.\n * @group Props\n */\n @Input() allowEmpty: boolean | undefined;\n /**\n * Callback to invoke on value change.\n * @param {ToggleButtonChangeEvent} event - Custom change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<ToggleButtonChangeEvent> = new EventEmitter<ToggleButtonChangeEvent>();\n /**\n * Custom icon template.\n * @group Templates\n */\n @ContentChild('icon', { descendants: false }) iconTemplate: Nullable<TemplateRef<any>>;\n /**\n * Custom content template.\n * @group Templates\n */\n @ContentChild('content', { descendants: false }) contentTemplate: Nullable<TemplateRef<any>>;\n\n @ContentChildren(PrimeTemplate) templates!: QueryList<PrimeTemplate>;\n\n checked: boolean = false;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n _componentStyle = inject(ToggleButtonStyle);\n\n onBlur() {\n this.onModelTouched();\n }\n\n writeValue(value: any): void {\n this.checked = value;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n get hasOnLabel(): boolean {\n return (this.onLabel && this.onLabel.length > 0) as boolean;\n }\n\n get hasOffLabel(): boolean {\n return (this.onLabel && this.onLabel.length > 0) as boolean;\n }\n\n get active() {\n return this.checked === true;\n }\n\n _iconTemplate: TemplateRef<any> | undefined;\n\n _contentTemplate: TemplateRef<any> | undefined;\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'icon':\n this._iconTemplate = item.template;\n break;\n case 'content':\n this._contentTemplate = item.template;\n break;\n default:\n this._contentTemplate = item.template;\n break;\n }\n });\n }\n}\n\n@NgModule({\n imports: [ToggleButton, SharedModule],\n exports: [ToggleButton, SharedModule]\n})\nexport class ToggleButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|