cax-design-system 2.7.12 → 2.8.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/README.md +46 -46
- package/esm2022/accordion/accordion.mjs +3 -3
- package/esm2022/autocomplete/autocomplete.mjs +3 -3
- package/esm2022/avatar/avatar.mjs +3 -3
- package/esm2022/avatargroup/avatargroup.mjs +3 -3
- package/esm2022/badge/badge.mjs +3 -3
- package/esm2022/breadcrumb/breadcrumb.mjs +3 -3
- package/esm2022/button/button.mjs +3 -3
- package/esm2022/calendar/calendar.mjs +3 -3
- package/esm2022/card/card.mjs +3 -3
- package/esm2022/cascadeselect/cascadeselect.mjs +5 -5
- package/esm2022/checkbox/checkbox.mjs +3 -3
- package/esm2022/chip/chip.mjs +3 -3
- package/esm2022/chips/chips.mjs +3 -3
- package/esm2022/colorpicker/colorpicker.mjs +3 -3
- package/esm2022/commentbox/commentbox.mjs +3 -3
- package/esm2022/confirmdialog/confirmdialog.mjs +3 -3
- package/esm2022/dialog/dialog.mjs +3 -3
- package/esm2022/divider/divider.mjs +3 -3
- package/esm2022/dropdown/dropdown-item.mjs +3 -3
- package/esm2022/dropdown/dropdown.mjs +3 -3
- package/esm2022/editor/editor.mjs +3 -3
- package/esm2022/image/image.mjs +3 -3
- package/esm2022/inputgroup/inputgroup.mjs +3 -3
- package/esm2022/inputgroupaddon/inputgroupaddon.mjs +3 -3
- package/esm2022/inputmask/inputmask.mjs +3 -3
- package/esm2022/inputnumber/inputnumber.mjs +3 -3
- package/esm2022/inputtext/inputtext.component.mjs +3 -3
- package/esm2022/inputtextarea/inputtextarea.component.mjs +3 -3
- package/esm2022/logo/logo.mjs +3 -3
- package/esm2022/menu/menu.mjs +5 -5
- package/esm2022/messages/messages.mjs +3 -3
- package/esm2022/multiselect/multiselect.mjs +5 -5
- package/esm2022/navigation/navigation.mjs +3 -3
- package/esm2022/overlay/overlay.mjs +3 -3
- package/esm2022/overlaypanel/overlaypanel.mjs +3 -3
- package/esm2022/paginator/paginator.mjs +3 -3
- package/esm2022/progressbar/progressbar.mjs +3 -3
- package/esm2022/progressspinner/progressspinner.mjs +3 -3
- package/esm2022/radiobutton/radiobutton.mjs +3 -3
- package/esm2022/scroller/scroller.mjs +3 -3
- package/esm2022/selectbutton/selectbutton.mjs +3 -3
- package/esm2022/sidebar/sidebar.mjs +3 -3
- package/esm2022/skeleton/skeleton.mjs +3 -3
- package/esm2022/speeddial/speeddial.mjs +3 -3
- package/esm2022/splitbutton/splitbutton.mjs +3 -3
- package/esm2022/splitter/splitter.mjs +3 -3
- package/esm2022/steps/steps.mjs +3 -3
- package/esm2022/table/components/cell-editor/cell-editor.mjs +3 -3
- package/esm2022/table/components/column-filter/column-filter.mjs +3 -3
- package/esm2022/table/components/column-filter-form-element/column-filter-form-element.mjs +3 -3
- package/esm2022/table/components/sort-icon/sort-icon.mjs +3 -3
- package/esm2022/table/components/table-body/table-body.mjs +3 -3
- package/esm2022/table/components/table-checkbox/table-checkbox.mjs +3 -3
- package/esm2022/table/components/table-header-checkbox/table-header-checkbox.mjs +3 -3
- package/esm2022/table/components/table-radio-button/table-radio-button.mjs +3 -3
- package/esm2022/table/table.mjs +3 -3
- package/esm2022/tableconfiguration/tableconfiguration.mjs +3 -3
- package/esm2022/tabview/tabview.mjs +5 -5
- package/esm2022/tag/tag.mjs +3 -3
- package/esm2022/timeline/timeline.mjs +3 -3
- package/esm2022/toast/toast.mjs +3 -3
- package/esm2022/toast/toastitem.mjs +3 -3
- package/esm2022/toggleswitch/toggleswitch.mjs +3 -3
- package/esm2022/tree/tree.mjs +5 -5
- package/esm2022/treeselect/treeselect.mjs +3 -3
- package/esm2022/tristatecheckbox/tristatecheckbox.mjs +3 -3
- package/esm2022/upload/upload.component.mjs +3 -3
- package/fesm2022/cax-design-system-accordion.mjs +2 -2
- package/fesm2022/cax-design-system-accordion.mjs.map +1 -1
- package/fesm2022/cax-design-system-autocomplete.mjs +2 -2
- package/fesm2022/cax-design-system-autocomplete.mjs.map +1 -1
- package/fesm2022/cax-design-system-avatar.mjs +2 -2
- package/fesm2022/cax-design-system-avatar.mjs.map +1 -1
- package/fesm2022/cax-design-system-avatargroup.mjs +2 -2
- package/fesm2022/cax-design-system-avatargroup.mjs.map +1 -1
- package/fesm2022/cax-design-system-badge.mjs +2 -2
- package/fesm2022/cax-design-system-badge.mjs.map +1 -1
- package/fesm2022/cax-design-system-breadcrumb.mjs +2 -2
- package/fesm2022/cax-design-system-breadcrumb.mjs.map +1 -1
- package/fesm2022/cax-design-system-button.mjs +2 -2
- package/fesm2022/cax-design-system-button.mjs.map +1 -1
- package/fesm2022/cax-design-system-calendar.mjs +2 -2
- package/fesm2022/cax-design-system-calendar.mjs.map +1 -1
- package/fesm2022/cax-design-system-card.mjs +2 -2
- package/fesm2022/cax-design-system-card.mjs.map +1 -1
- package/fesm2022/cax-design-system-cascadeselect.mjs +4 -4
- package/fesm2022/cax-design-system-cascadeselect.mjs.map +1 -1
- package/fesm2022/cax-design-system-checkbox.mjs +2 -2
- package/fesm2022/cax-design-system-checkbox.mjs.map +1 -1
- package/fesm2022/cax-design-system-chip.mjs +2 -2
- package/fesm2022/cax-design-system-chip.mjs.map +1 -1
- package/fesm2022/cax-design-system-chips.mjs +2 -2
- package/fesm2022/cax-design-system-chips.mjs.map +1 -1
- package/fesm2022/cax-design-system-colorpicker.mjs +2 -2
- package/fesm2022/cax-design-system-colorpicker.mjs.map +1 -1
- package/fesm2022/cax-design-system-commentbox.mjs +2 -2
- package/fesm2022/cax-design-system-commentbox.mjs.map +1 -1
- package/fesm2022/cax-design-system-confirmdialog.mjs +2 -2
- package/fesm2022/cax-design-system-confirmdialog.mjs.map +1 -1
- package/fesm2022/cax-design-system-dialog.mjs +2 -2
- package/fesm2022/cax-design-system-dialog.mjs.map +1 -1
- package/fesm2022/cax-design-system-divider.mjs +2 -2
- package/fesm2022/cax-design-system-divider.mjs.map +1 -1
- package/fesm2022/cax-design-system-dropdown.mjs +4 -4
- package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
- package/fesm2022/cax-design-system-editor.mjs +2 -2
- package/fesm2022/cax-design-system-editor.mjs.map +1 -1
- package/fesm2022/cax-design-system-image.mjs +2 -2
- package/fesm2022/cax-design-system-image.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputgroup.mjs +2 -2
- package/fesm2022/cax-design-system-inputgroup.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputgroupaddon.mjs +2 -2
- package/fesm2022/cax-design-system-inputgroupaddon.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputmask.mjs +2 -2
- package/fesm2022/cax-design-system-inputmask.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputnumber.mjs +2 -2
- package/fesm2022/cax-design-system-inputnumber.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputtext.mjs +2 -2
- package/fesm2022/cax-design-system-inputtext.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputtextarea.mjs +2 -2
- package/fesm2022/cax-design-system-inputtextarea.mjs.map +1 -1
- package/fesm2022/cax-design-system-logo.mjs +2 -2
- package/fesm2022/cax-design-system-logo.mjs.map +1 -1
- package/fesm2022/cax-design-system-menu.mjs +4 -4
- package/fesm2022/cax-design-system-menu.mjs.map +1 -1
- package/fesm2022/cax-design-system-messages.mjs +2 -2
- package/fesm2022/cax-design-system-messages.mjs.map +1 -1
- package/fesm2022/cax-design-system-multiselect.mjs +4 -4
- package/fesm2022/cax-design-system-multiselect.mjs.map +1 -1
- package/fesm2022/cax-design-system-navigation.mjs +2 -2
- package/fesm2022/cax-design-system-navigation.mjs.map +1 -1
- package/fesm2022/cax-design-system-overlay.mjs +2 -2
- package/fesm2022/cax-design-system-overlay.mjs.map +1 -1
- package/fesm2022/cax-design-system-overlaypanel.mjs +2 -2
- package/fesm2022/cax-design-system-overlaypanel.mjs.map +1 -1
- package/fesm2022/cax-design-system-paginator.mjs +2 -2
- package/fesm2022/cax-design-system-paginator.mjs.map +1 -1
- package/fesm2022/cax-design-system-progressbar.mjs +2 -2
- package/fesm2022/cax-design-system-progressbar.mjs.map +1 -1
- package/fesm2022/cax-design-system-progressspinner.mjs +2 -2
- package/fesm2022/cax-design-system-progressspinner.mjs.map +1 -1
- package/fesm2022/cax-design-system-radiobutton.mjs +2 -2
- package/fesm2022/cax-design-system-radiobutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-scroller.mjs +2 -2
- package/fesm2022/cax-design-system-scroller.mjs.map +1 -1
- package/fesm2022/cax-design-system-selectbutton.mjs +2 -2
- package/fesm2022/cax-design-system-selectbutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-sidebar.mjs +2 -2
- package/fesm2022/cax-design-system-sidebar.mjs.map +1 -1
- package/fesm2022/cax-design-system-skeleton.mjs +2 -2
- package/fesm2022/cax-design-system-skeleton.mjs.map +1 -1
- package/fesm2022/cax-design-system-speeddial.mjs +2 -2
- package/fesm2022/cax-design-system-speeddial.mjs.map +1 -1
- package/fesm2022/cax-design-system-splitbutton.mjs +2 -2
- package/fesm2022/cax-design-system-splitbutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-splitter.mjs +2 -2
- package/fesm2022/cax-design-system-splitter.mjs.map +1 -1
- package/fesm2022/cax-design-system-steps.mjs +2 -2
- package/fesm2022/cax-design-system-steps.mjs.map +1 -1
- package/fesm2022/cax-design-system-table.mjs +18 -18
- package/fesm2022/cax-design-system-table.mjs.map +1 -1
- package/fesm2022/cax-design-system-tableconfiguration.mjs +2 -2
- package/fesm2022/cax-design-system-tableconfiguration.mjs.map +1 -1
- package/fesm2022/cax-design-system-tabview.mjs +4 -4
- package/fesm2022/cax-design-system-tabview.mjs.map +1 -1
- package/fesm2022/cax-design-system-tag.mjs +2 -2
- package/fesm2022/cax-design-system-tag.mjs.map +1 -1
- package/fesm2022/cax-design-system-timeline.mjs +2 -2
- package/fesm2022/cax-design-system-timeline.mjs.map +1 -1
- package/fesm2022/cax-design-system-toast.mjs +4 -4
- package/fesm2022/cax-design-system-toast.mjs.map +1 -1
- package/fesm2022/cax-design-system-toggleswitch.mjs +2 -2
- package/fesm2022/cax-design-system-toggleswitch.mjs.map +1 -1
- package/fesm2022/cax-design-system-tree.mjs +4 -4
- package/fesm2022/cax-design-system-tree.mjs.map +1 -1
- package/fesm2022/cax-design-system-treeselect.mjs +2 -2
- package/fesm2022/cax-design-system-treeselect.mjs.map +1 -1
- package/fesm2022/cax-design-system-tristatecheckbox.mjs +2 -2
- package/fesm2022/cax-design-system-tristatecheckbox.mjs.map +1 -1
- package/fesm2022/cax-design-system-upload.mjs +2 -2
- package/fesm2022/cax-design-system-upload.mjs.map +1 -1
- package/package.json +138 -138
- package/resources/cax.min.scss +1 -1
- package/resources/cax.scss +12518 -12488
- package/resources/components/accordion/accordion.scss +46 -46
- package/resources/components/autocomplete/autocomplete.scss +183 -183
- package/resources/components/avatar/avatar.scss +34 -34
- package/resources/components/avatargroup/avatargroup.scss +10 -10
- package/resources/components/badge/badge.scss +67 -67
- package/resources/components/blockui/blockui.css +26 -26
- package/resources/components/breadcrumb/breadcrumb.scss +33 -33
- package/resources/components/button/button.scss +163 -163
- package/resources/components/calendar/calendar.scss +235 -235
- package/resources/components/card/card.scss +50 -50
- package/resources/components/carousel/carousel.css +71 -71
- package/resources/components/cascadeselect/cascadeselect.scss +105 -105
- package/resources/components/checkbox/checkbox.scss +30 -30
- package/resources/components/chip/chip.scss +6 -6
- package/resources/components/chips/chips.scss +205 -205
- package/resources/components/colorpicker/colorpicker-images.scss +6 -6
- package/resources/components/colorpicker/colorpicker.scss +82 -82
- package/resources/components/commentbox/commentbox.scss +611 -611
- package/resources/components/common/common.scss +183 -183
- package/resources/components/confirmpopup/confirmpopup.css +53 -53
- package/resources/components/contextmenu/contextmenu.css +42 -42
- package/resources/components/dataview/dataview.css +13 -13
- package/resources/components/dialog/dialog.scss +171 -171
- package/resources/components/divider/divider.scss +86 -86
- package/resources/components/dock/dock.css +107 -107
- package/resources/components/dropdown/dropdown.scss +94 -94
- package/resources/components/editor/editor.scss +3 -3
- package/resources/components/fieldset/fieldset.css +30 -30
- package/resources/components/fileupload/fileupload.css +47 -47
- package/resources/components/galleria/galleria.css +281 -281
- package/resources/components/iconfield/iconfield.css +5 -5
- package/resources/components/image/image.scss +92 -92
- package/resources/components/inplace/inplace.css +19 -19
- package/resources/components/inputicon/inputicon.css +6 -6
- package/resources/components/inputmask/inputmask.scss +12 -12
- package/resources/components/inputnumber/inputnumber.scss +109 -109
- package/resources/components/inputotp/inputotp.css +2 -2
- package/resources/components/inputswitch/inputswitch.css +23 -23
- package/resources/components/inputtext/inputtext.scss +145 -145
- package/resources/components/inputtextarea/inputtextarea.scss +10 -10
- package/resources/components/knob/knob.css +20 -20
- package/resources/components/listbox/listbox.css +40 -40
- package/resources/components/megamenu/megamenu.css +108 -108
- package/resources/components/menu/menu.scss +30 -30
- package/resources/components/menubar/menubar.css +81 -81
- package/resources/components/message/message.css +17 -17
- package/resources/components/messages/messages.scss +55 -55
- package/resources/components/multiselect/multiselect.scss +132 -132
- package/resources/components/navigation/navigation.scss +196 -196
- package/resources/components/orderlist/orderlist.css +78 -78
- package/resources/components/organizationchart/organizationchart.css +62 -62
- package/resources/components/overlay/overlay.scss +80 -80
- package/resources/components/overlaypanel/overlaypanel.scss +66 -66
- package/resources/components/paginator/paginator.scss +41 -41
- package/resources/components/panel/panel.css +29 -29
- package/resources/components/panelmenu/panelmenu.css +45 -45
- package/resources/components/password/password.css +54 -54
- package/resources/components/picklist/picklist.css +60 -60
- package/resources/components/progressbar/progressbar.scss +107 -107
- package/resources/components/progressspinner/progressspinner.scss +94 -94
- package/resources/components/radiobutton/radiobutton.scss +34 -34
- package/resources/components/rating/rating.css +15 -15
- package/resources/components/ripple/ripple.scss +29 -29
- package/resources/components/scroller/scroller.scss +58 -58
- package/resources/components/scrollpanel/scrollpanel.css +50 -50
- package/resources/components/scrolltop/scrolltop.css +18 -18
- package/resources/components/sidebar/sidebar.scss +117 -117
- package/resources/components/skeleton/skeleton.scss +24 -24
- package/resources/components/slidemenu/slidemenu.css +100 -100
- package/resources/components/slider/slider.css +41 -41
- package/resources/components/speeddial/speeddial.scss +122 -122
- package/resources/components/spinner/spinner.css +63 -63
- package/resources/components/splitbutton/splitbutton.scss +53 -53
- package/resources/components/splitter/splitter.scss +73 -73
- package/resources/components/stepper/stepper.css +9 -9
- package/resources/components/steps/steps.scss +50 -50
- package/resources/components/table/table.scss +451 -451
- package/resources/components/tableconfiguration/tableconfiguration.scss +115 -115
- package/resources/components/tabmenu/tabmenu.css +80 -80
- package/resources/components/tabview/tabview.scss +198 -198
- package/resources/components/tag/tag.scss +23 -23
- package/resources/components/terminal/terminal.css +24 -24
- package/resources/components/tieredmenu/tieredmenu.scss +55 -55
- package/resources/components/timeline/timeline.scss +128 -128
- package/resources/components/toast/toast.scss +87 -87
- package/resources/components/toggleswitch/toggleswitch.scss +36 -36
- package/resources/components/toolbar/toolbar.css +19 -19
- package/resources/components/tooltip/tooltip.scss +124 -124
- package/resources/components/tree/tree.scss +154 -154
- package/resources/components/treeselect/treeselect.scss +114 -114
- package/resources/components/treetable/treetable.css +205 -205
- package/resources/components/upload/upload.component.scss +145 -145
- package/resources/logo/dataX-dark.svg +12 -12
- package/resources/logo/dataX-icon-dark.svg +5 -5
- package/resources/logo/dataX-icon.svg +5 -5
- package/resources/logo/dataX.svg +12 -12
- package/resources/styles/colors.scss +397 -397
- package/resources/styles/shadow-blur.scss +21 -21
- package/resources/styles/space-radius-border.scss +49 -49
- package/resources/styles/typography.scss +116 -135
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cax-design-system-paginator.mjs","sources":["../../src/app/components/paginator/paginator.ts","../../src/app/components/paginator/paginator.html","../../src/app/components/paginator/paginator.module.ts","../../src/app/components/paginator/cax-design-system-paginator.ts"],"sourcesContent":["import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n NgModule,\n OnChanges,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute\n} from '@angular/core';\nimport { Aria, caxConfig, CaxTemplate, SelectItem, SharedModule } from 'cax-design-system/api';\nimport { DropdownChangeEvent } from 'cax-design-system/dropdown';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { PaginatorState } from './paginator.interface';\n\n/**\n * Paginator is a generic component to display content in paged format.\n * @group Components\n */\n@Component({\n selector: 'cax-paginator',\n templateUrl: './paginator.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./paginator.scss'],\n host: {\n class: 'cax-element'\n }\n})\nexport class Paginator implements OnInit, AfterContentInit, OnChanges {\n /**\n * Number of page links to display.\n * @group Props\n */\n @Input({ transform: numberAttribute }) pageLinkSize: number = 5;\n\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n\n /**\n * Whether to show it even there is only one page.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) alwaysShow: boolean = true;\n\n /**\n * Target element to attach the dropdown overlay, valid values are \"body\" or a local ng-template variable of another element.\n * @group Props\n */\n @Input() dropdownAppendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n\n /**\n * Template instance to inject into the left side of the paginator.\n * @param {PaginatorState} context - Paginator state.\n * @group Props\n */\n @Input() templateLeft: TemplateRef<PaginatorState> | undefined;\n\n /**\n * Template instance to inject into the right side of the paginator.\n * @param {PaginatorState} context - Paginator state.\n * @group Props\n */\n @Input() templateRight: TemplateRef<PaginatorState> | undefined;\n\n /**\n * Target element to attach the dropdown overlay\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n\n /**\n * Dropdown height of the viewport in pixels\n * @group Props\n */\n @Input() dropdownScrollHeight: string = '200px';\n\n /**\n * Template of the current page report element. Available placeholders are {currentPage},{totalPages},{rows},{first},{last} and {totalRecords}\n * @group Props\n */\n @Input() currentPageReportTemplate: string = '{currentPage} of {totalPages}';\n\n /**\n * Whether to display current page report.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showCurrentPageReport: boolean | undefined;\n\n /**\n * When enabled, icons are displayed on paginator to go first and last page.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showFirstLastIcon: boolean = true;\n\n /**\n * Number of total records.\n * @group Props\n */\n @Input({ transform: numberAttribute }) totalRecords: number = 0;\n\n /**\n * Data count to display per page.\n * @group Props\n */\n @Input({ transform: numberAttribute }) rows: number = 0;\n\n /**\n * Array of integer/object values to display inside rows per page dropdown.\n * @group Props\n */\n @Input() rowsPerPageOptions: any[] | undefined;\n\n /**\n * Whether to display a dropdown to navigate to any page.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showJumpToPageDropdown: boolean | undefined;\n\n /**\n * Whether to display an input to navigate to any page.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showJumpToPageInput: boolean | undefined;\n\n /**\n * Template instance to inject into the jump to page dropdown item.\n * @param {Object} context - item instance.\n * @group Props\n */\n @Input() jumpToPageItemTemplate: TemplateRef<{ $implicit: any }> | undefined;\n\n /**\n * Whether to show page links.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showPageLinks: boolean = true;\n\n /**\n * Locale to be used in formatting.\n * @group Props\n */\n @Input() locale: string | undefined;\n\n /**\n * Template instance to inject into the rows per page dropdown item.\n * @param {Object} context - item instance.\n * @group Props\n */\n @Input() dropdownItemTemplate: TemplateRef<{ $implicit: any }> | undefined;\n\n /**\n * Zero-relative number of the first row to be displayed.\n * @group Props\n */\n @Input() get first(): number {\n return this._first;\n }\n set first(val: number) {\n this._first = val;\n }\n\n /**\n * Callback to invoke when page changes, the event object contains information about the new state.\n * @param {PaginatorState} event - Paginator state.\n * @group Emits\n */\n @Output() onPageChange: EventEmitter<PaginatorState> = new EventEmitter<PaginatorState>();\n\n @ContentChildren(CaxTemplate) templates: Nullable<QueryList<any>>;\n\n dropdownIconTemplate: Nullable<TemplateRef<any>>;\n firstPageLinkIconTemplate: Nullable<TemplateRef<any>>;\n previousPageLinkIconTemplate: Nullable<TemplateRef<any>>;\n lastPageLinkIconTemplate: Nullable<TemplateRef<any>>;\n nextPageLinkIconTemplate: Nullable<TemplateRef<any>>;\n\n pageLinks: number[] | undefined;\n pageItems: SelectItem[] | undefined;\n rowsPerPageItems: SelectItem[] | undefined;\n paginatorState: any;\n\n _first: number = 0;\n _page: number = 0;\n\n constructor(\n private cd: ChangeDetectorRef,\n private config: caxConfig\n ) {}\n\n ngOnInit() {\n this.updatePaginatorState();\n }\n\n getAriaLabel(labelType: keyof Aria): string | undefined {\n return this.config.translation.aria ? this.config.translation.aria[labelType] : undefined;\n }\n\n getPageAriaLabel(value: number): string | undefined {\n return this.config.translation.aria ? this.config.translation.aria.pageLabel.replace(/{page}/g, `${value}`) : undefined;\n }\n\n getLocalization(digit: number): string {\n const numerals = [...new Intl.NumberFormat(this.locale, { useGrouping: false }).format(9876543210)].reverse();\n const index = new Map(numerals.map((d, i) => [i, d]));\n if (digit > 9) {\n const numbers = String(digit).split('');\n return numbers.map((number) => index.get(Number(number))).join('');\n } else {\n return index.get(digit);\n }\n }\n\n ngAfterContentInit(): void {\n (this.templates as QueryList<CaxTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'dropdownicon':\n this.dropdownIconTemplate = item.template;\n break;\n case 'firstpagelinkicon':\n this.firstPageLinkIconTemplate = item.template;\n break;\n case 'previouspagelinkicon':\n this.previousPageLinkIconTemplate = item.template;\n break;\n case 'lastpagelinkicon':\n this.lastPageLinkIconTemplate = item.template;\n break;\n case 'nextpagelinkicon':\n this.nextPageLinkIconTemplate = item.template;\n break;\n }\n });\n }\n\n ngOnChanges(simpleChange: SimpleChanges): void {\n if (simpleChange.totalRecords) {\n this.updatePageLinks();\n this.updatePaginatorState();\n this.updateFirst();\n this.updateRowsPerPageOptions();\n }\n\n if (simpleChange.first) {\n this._first = simpleChange.first.currentValue;\n this.updatePageLinks();\n this.updatePaginatorState();\n }\n\n if (simpleChange.rows) {\n this.updatePageLinks();\n this.updatePaginatorState();\n }\n\n if (simpleChange.rowsPerPageOptions) {\n this.updateRowsPerPageOptions();\n }\n\n if (simpleChange.pageLinkSize) {\n this.updatePageLinks();\n }\n }\n\n updateRowsPerPageOptions(): void {\n if (this.rowsPerPageOptions) {\n this.rowsPerPageItems = [];\n for (let opt of this.rowsPerPageOptions) {\n if (typeof opt == 'object' && opt['showAll']) {\n this.rowsPerPageItems.unshift({ label: opt['showAll'], value: this.totalRecords });\n } else {\n this.rowsPerPageItems.push({ label: String(this.getLocalization(opt)), value: opt });\n }\n }\n }\n }\n\n isFirstPage(): boolean {\n return this.getPage() === 0;\n }\n\n isLastPage(): boolean {\n return this.getPage() === this.getPageCount() - 1;\n }\n\n getPageCount(): number {\n return Math.ceil(this.totalRecords / this.rows);\n }\n\n calculatePageLinkBoundaries(): [number, number] {\n let numberOfPages = this.getPageCount(),\n visiblePages = Math.min(this.pageLinkSize, numberOfPages);\n\n //calculate range, keep current in middle if necessary\n let start = Math.max(0, Math.ceil(this.getPage() - visiblePages / 2)),\n end = Math.min(numberOfPages - 1, start + visiblePages - 1);\n\n //check when approaching to last page\n var delta = this.pageLinkSize - (end - start + 1);\n start = Math.max(0, start - delta);\n\n return [start, end];\n }\n\n updatePageLinks(): void {\n this.pageLinks = [];\n let boundaries = this.calculatePageLinkBoundaries(),\n start = boundaries[0],\n end = boundaries[1];\n\n for (let i = start; i <= end; i++) {\n this.pageLinks.push(i + 1);\n }\n\n if (this.showJumpToPageDropdown) {\n this.pageItems = [];\n for (let i = 0; i < this.getPageCount(); i++) {\n this.pageItems.push({ label: String(i + 1), value: i });\n }\n }\n }\n\n changePage(p: number): void {\n var pc = this.getPageCount();\n\n if (p >= 0 && p < pc) {\n this._first = this.rows * p;\n var state = {\n page: p,\n first: this.first,\n rows: this.rows,\n pageCount: pc\n };\n this.updatePageLinks();\n\n this.onPageChange.emit(state);\n this.updatePaginatorState();\n }\n }\n\n updateFirst(): void {\n const page = this.getPage();\n if (page > 0 && this.totalRecords && this.first >= this.totalRecords) {\n Promise.resolve(null).then(() => this.changePage(page - 1));\n }\n }\n\n getPage(): number {\n return Math.floor(this.first / this.rows);\n }\n\n changePageToFirst(event: Event): void {\n if (!this.isFirstPage()) {\n this.changePage(0);\n }\n\n event.preventDefault();\n }\n\n changePageToPrev(event: Event): void {\n this.changePage(this.getPage() - 1);\n event.preventDefault();\n }\n\n changePageToNext(event: Event): void {\n this.changePage(this.getPage() + 1);\n event.preventDefault();\n }\n\n changePageToLast(event: Event): void {\n if (!this.isLastPage()) {\n this.changePage(this.getPageCount() - 1);\n }\n\n event.preventDefault();\n }\n\n onPageLinkClick(event: Event, page: number): void {\n this.changePage(page);\n event.preventDefault();\n }\n\n onRppChange(event: Event): void {\n this.changePage(this.getPage());\n }\n\n onPageDropdownChange(event: DropdownChangeEvent): void {\n this.changePage(event.value);\n }\n\n updatePaginatorState(): void {\n this.paginatorState = {\n page: this.getPage(),\n pageCount: this.getPageCount(),\n rows: this.rows,\n first: this.first,\n totalRecords: this.totalRecords\n };\n }\n\n empty(): boolean {\n return this.getPageCount() === 0;\n }\n\n currentPage(): number {\n return this.getPageCount() > 0 ? this.getPage() + 1 : 0;\n }\n\n get currentPageReport(): string {\n return this.currentPageReportTemplate\n .replace('{currentPage}', String(this.currentPage()))\n .replace('{totalPages}', String(this.getPageCount()))\n .replace('{first}', String(this.totalRecords > 0 ? this._first + 1 : 0))\n .replace('{last}', String(Math.min(this._first + this.rows, this.totalRecords)))\n .replace('{rows}', String(this.rows))\n .replace('{totalRecords}', String(this.totalRecords));\n }\n @Input({ transform: booleanAttribute }) rightAligned: boolean = false;\n isSinglePage(): boolean {\n return this.getPageCount() <= 1;\n }\n\n getPositionClass(): string {\n let positions = [];\n if (this.isSinglePage()) {\n positions.push('single-page');\n } else {\n if (this.isFirstPage()) positions.push('at-first-page');\n if (this.isLastPage()) positions.push('at-last-page');\n }\n if (this.rightAligned) positions.push('right-aligned');\n return positions.join(' ');\n }\n}\n","<div [class]=\"styleClass\" [ngStyle]=\"style\" [ngClass]=\"['cax-paginator cax-component', getPositionClass()]\" *ngIf=\"alwaysShow ? true : pageLinks && pageLinks.length > 1\" [attr.data-pc-section]=\"'paginator'\" [attr.data-pc-section]=\"'root'\">\r\n <div class=\"cax-paginator-left-content\" *ngIf=\"templateLeft\" [attr.data-pc-section]=\"'start'\">\r\n <ng-container *ngTemplateOutlet=\"templateLeft; context: { $implicit: paginatorState }\"></ng-container>\r\n </div>\r\n <span class=\"cax-paginator-current\" *ngIf=\"showCurrentPageReport\">{{ currentPageReport }}</span>\r\n <button\r\n *ngIf=\"showFirstLastIcon\"\r\n type=\"button\"\r\n [disabled]=\"isFirstPage() || empty()\"\r\n (click)=\"changePageToFirst($event)\"\r\n caxRipple\r\n class=\"cax-paginator-first cax-paginator-element cax-link\"\r\n [ngClass]=\"{ 'cax-disabled': isFirstPage() || empty() }\"\r\n [attr.aria-label]=\"getAriaLabel('firstPageLabel')\"\r\n >\r\n <AngleDoubleLeftIcon *ngIf=\"!firstPageLinkIconTemplate\" [styleClass]=\"'cax-paginator-icon'\" />\r\n <span class=\"cax-paginator-icon\" *ngIf=\"firstPageLinkIconTemplate\">\r\n <ng-template *ngTemplateOutlet=\"firstPageLinkIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n <button\r\n type=\"button\"\r\n [disabled]=\"isFirstPage() || empty()\"\r\n (click)=\"changePageToPrev($event)\"\r\n caxRipple\r\n class=\"cax-paginator-prev cax-paginator-element cax-link\"\r\n [ngClass]=\"{ 'cax-disabled': isFirstPage() || empty() }\"\r\n [attr.aria-label]=\"getAriaLabel('prevPageLabel')\"\r\n >\r\n <AngleLeftIcon *ngIf=\"!previousPageLinkIconTemplate\" [styleClass]=\"'cax-paginator-icon'\" />\r\n <span class=\"cax-paginator-icon\" *ngIf=\"previousPageLinkIconTemplate\">\r\n <ng-template *ngTemplateOutlet=\"previousPageLinkIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n <span class=\"cax-paginator-pages\" *ngIf=\"showPageLinks\">\r\n <button\r\n type=\"button\"\r\n *ngFor=\"let pageLink of pageLinks\"\r\n class=\"cax-paginator-page cax-paginator-element cax-link\"\r\n [ngClass]=\"{ 'cax-highlight': pageLink - 1 == getPage() }\"\r\n [attr.aria-label]=\"getPageAriaLabel(pageLink)\"\r\n [attr.aria-current]=\"pageLink - 1 == getPage() ? 'page' : undefined\"\r\n (click)=\"onPageLinkClick($event, pageLink - 1)\"\r\n caxRipple\r\n >\r\n {{ getLocalization(pageLink) }}\r\n </button>\r\n </span>\r\n <cax-dropdown\r\n [options]=\"pageItems\"\r\n [ngModel]=\"getPage()\"\r\n *ngIf=\"showJumpToPageDropdown\"\r\n [disabled]=\"empty()\"\r\n [attr.aria-label]=\"getAriaLabel('jumpToPageDropdownLabel')\"\r\n styleClass=\"cax-paginator-page-options\"\r\n (onChange)=\"onPageDropdownChange($event)\"\r\n [appendTo]=\"dropdownAppendTo\"\r\n [scrollHeight]=\"dropdownScrollHeight\"\r\n >\r\n <ng-template caxTemplate=\"selectedItem\">{{ currentPageReport }}</ng-template>\r\n <ng-container *ngIf=\"jumpToPageItemTemplate\">\r\n <ng-template let-item caxTemplate=\"item\">\r\n <ng-container *ngTemplateOutlet=\"jumpToPageItemTemplate; context: { $implicit: item }\"> </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template caxTemplate=\"dropdownicon\" *ngIf=\"dropdownIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"dropdownIconTemplate\"></ng-container>\r\n </ng-template>\r\n </cax-dropdown>\r\n <button\r\n type=\"button\"\r\n [disabled]=\"isLastPage() || empty()\"\r\n (click)=\"changePageToNext($event)\"\r\n caxRipple\r\n class=\"cax-paginator-next cax-paginator-element cax-link\"\r\n [ngClass]=\"{ 'cax-disabled': isLastPage() || empty() }\"\r\n [attr.aria-label]=\"getAriaLabel('nextPageLabel')\"\r\n >\r\n <AngleRightIcon *ngIf=\"!nextPageLinkIconTemplate\" [styleClass]=\"'cax-paginator-icon'\" />\r\n <span class=\"cax-paginator-icon\" *ngIf=\"nextPageLinkIconTemplate\">\r\n <ng-template *ngTemplateOutlet=\"nextPageLinkIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n <button\r\n *ngIf=\"showFirstLastIcon\"\r\n type=\"button\"\r\n [disabled]=\"isLastPage() || empty()\"\r\n (click)=\"changePageToLast($event)\"\r\n caxRipple\r\n class=\"cax-paginator-last cax-paginator-element cax-link\"\r\n [ngClass]=\"{ 'cax-disabled': isLastPage() || empty() }\"\r\n [attr.aria-label]=\"getAriaLabel('lastPageLabel')\"\r\n >\r\n <AngleDoubleRightIcon *ngIf=\"!lastPageLinkIconTemplate\" [styleClass]=\"'cax-paginator-icon'\" />\r\n <span class=\"cax-paginator-icon\" *ngIf=\"lastPageLinkIconTemplate\">\r\n <ng-template *ngTemplateOutlet=\"lastPageLinkIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n <span class=\"cax-paginator-page-label\" *ngIf=\"showJumpToPageInput\">Go to page</span>\r\n <cax-inputNumber *ngIf=\"showJumpToPageInput\" [ngModel]=\"currentPage()\" class=\"cax-paginator-page-input\" [disabled]=\"empty()\" (ngModelChange)=\"changePage($event - 1)\"></cax-inputNumber>\r\n <cax-dropdown\r\n [options]=\"rowsPerPageItems\"\r\n [(ngModel)]=\"rows\"\r\n *ngIf=\"rowsPerPageOptions\"\r\n styleClass=\"cax-paginator-rpp-options\"\r\n [disabled]=\"empty()\"\r\n (onChange)=\"onRppChange($event)\"\r\n [appendTo]=\"dropdownAppendTo\"\r\n [scrollHeight]=\"dropdownScrollHeight\"\r\n [ariaLabel]=\"getAriaLabel('rowsPerPageLabel')\"\r\n >\r\n <ng-container *ngIf=\"dropdownItemTemplate\"> \r\n <ng-template let-item caxTemplate=\"item\">\r\n <ng-container *ngTemplateOutlet=\"dropdownItemTemplate; context: { $implicit: item }\"> </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template caxTemplate=\"dropdownicon\" *ngIf=\"dropdownIconTemplate\">\r\n <ng-container *ngTemplateOutlet=\"dropdownIconTemplate\"></ng-container>\r\n </ng-template>\r\n </cax-dropdown>\r\n <div class=\"cax-paginator-right-content\" *ngIf=\"templateRight\" [attr.data-pc-section]=\"'end'\">\r\n <ng-container *ngTemplateOutlet=\"templateRight; context: { $implicit: paginatorState }\"></ng-container>\r\n </div>\r\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { DropdownModule } from 'cax-design-system/dropdown';\nimport { InputNumberModule } from 'cax-design-system/inputnumber';\nimport { SharedModule } from 'cax-design-system/api';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { AngleDoubleLeftIcon } from 'cax-design-system/icons/angledoubleleft';\nimport { AngleDoubleRightIcon } from 'cax-design-system/icons/angledoubleright';\nimport { AngleLeftIcon } from 'cax-design-system/icons/angleleft';\nimport { AngleRightIcon } from 'cax-design-system/icons/angleright';\n\nimport { Paginator } from './paginator';\n\n@NgModule({\n imports: [CommonModule, DropdownModule, InputNumberModule, FormsModule, SharedModule, RippleModule, AngleDoubleLeftIcon, AngleDoubleRightIcon, AngleLeftIcon, AngleRightIcon],\n exports: [Paginator, DropdownModule, InputNumberModule, FormsModule, SharedModule],\n declarations: [Paginator]\n})\nexport class PaginatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cax-design-system-paginator.mjs","sources":["../../src/app/components/paginator/paginator.ts","../../src/app/components/paginator/paginator.html","../../src/app/components/paginator/paginator.module.ts","../../src/app/components/paginator/cax-design-system-paginator.ts"],"sourcesContent":["import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n NgModule,\n OnChanges,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute\n} from '@angular/core';\nimport { Aria, caxConfig, CaxTemplate, SelectItem, SharedModule } from 'cax-design-system/api';\nimport { DropdownChangeEvent } from 'cax-design-system/dropdown';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { PaginatorState } from './paginator.interface';\n\n/**\n * Paginator is a generic component to display content in paged format.\n * @group Components\n */\n@Component({\n selector: 'cax-paginator',\n templateUrl: './paginator.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./paginator.scss'],\n host: {\n class: 'cax-element'\n }\n})\nexport class Paginator implements OnInit, AfterContentInit, OnChanges {\n /**\n * Number of page links to display.\n * @group Props\n */\n @Input({ transform: numberAttribute }) pageLinkSize: number = 5;\n\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n\n /**\n * Whether to show it even there is only one page.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) alwaysShow: boolean = true;\n\n /**\n * Target element to attach the dropdown overlay, valid values are \"body\" or a local ng-template variable of another element.\n * @group Props\n */\n @Input() dropdownAppendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n\n /**\n * Template instance to inject into the left side of the paginator.\n * @param {PaginatorState} context - Paginator state.\n * @group Props\n */\n @Input() templateLeft: TemplateRef<PaginatorState> | undefined;\n\n /**\n * Template instance to inject into the right side of the paginator.\n * @param {PaginatorState} context - Paginator state.\n * @group Props\n */\n @Input() templateRight: TemplateRef<PaginatorState> | undefined;\n\n /**\n * Target element to attach the dropdown overlay\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n\n /**\n * Dropdown height of the viewport in pixels\n * @group Props\n */\n @Input() dropdownScrollHeight: string = '200px';\n\n /**\n * Template of the current page report element. Available placeholders are {currentPage},{totalPages},{rows},{first},{last} and {totalRecords}\n * @group Props\n */\n @Input() currentPageReportTemplate: string = '{currentPage} of {totalPages}';\n\n /**\n * Whether to display current page report.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showCurrentPageReport: boolean | undefined;\n\n /**\n * When enabled, icons are displayed on paginator to go first and last page.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showFirstLastIcon: boolean = true;\n\n /**\n * Number of total records.\n * @group Props\n */\n @Input({ transform: numberAttribute }) totalRecords: number = 0;\n\n /**\n * Data count to display per page.\n * @group Props\n */\n @Input({ transform: numberAttribute }) rows: number = 0;\n\n /**\n * Array of integer/object values to display inside rows per page dropdown.\n * @group Props\n */\n @Input() rowsPerPageOptions: any[] | undefined;\n\n /**\n * Whether to display a dropdown to navigate to any page.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showJumpToPageDropdown: boolean | undefined;\n\n /**\n * Whether to display an input to navigate to any page.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showJumpToPageInput: boolean | undefined;\n\n /**\n * Template instance to inject into the jump to page dropdown item.\n * @param {Object} context - item instance.\n * @group Props\n */\n @Input() jumpToPageItemTemplate: TemplateRef<{ $implicit: any }> | undefined;\n\n /**\n * Whether to show page links.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showPageLinks: boolean = true;\n\n /**\n * Locale to be used in formatting.\n * @group Props\n */\n @Input() locale: string | undefined;\n\n /**\n * Template instance to inject into the rows per page dropdown item.\n * @param {Object} context - item instance.\n * @group Props\n */\n @Input() dropdownItemTemplate: TemplateRef<{ $implicit: any }> | undefined;\n\n /**\n * Zero-relative number of the first row to be displayed.\n * @group Props\n */\n @Input() get first(): number {\n return this._first;\n }\n set first(val: number) {\n this._first = val;\n }\n\n /**\n * Callback to invoke when page changes, the event object contains information about the new state.\n * @param {PaginatorState} event - Paginator state.\n * @group Emits\n */\n @Output() onPageChange: EventEmitter<PaginatorState> = new EventEmitter<PaginatorState>();\n\n @ContentChildren(CaxTemplate) templates: Nullable<QueryList<any>>;\n\n dropdownIconTemplate: Nullable<TemplateRef<any>>;\n firstPageLinkIconTemplate: Nullable<TemplateRef<any>>;\n previousPageLinkIconTemplate: Nullable<TemplateRef<any>>;\n lastPageLinkIconTemplate: Nullable<TemplateRef<any>>;\n nextPageLinkIconTemplate: Nullable<TemplateRef<any>>;\n\n pageLinks: number[] | undefined;\n pageItems: SelectItem[] | undefined;\n rowsPerPageItems: SelectItem[] | undefined;\n paginatorState: any;\n\n _first: number = 0;\n _page: number = 0;\n\n constructor(\n private cd: ChangeDetectorRef,\n private config: caxConfig\n ) {}\n\n ngOnInit() {\n this.updatePaginatorState();\n }\n\n getAriaLabel(labelType: keyof Aria): string | undefined {\n return this.config.translation.aria ? this.config.translation.aria[labelType] : undefined;\n }\n\n getPageAriaLabel(value: number): string | undefined {\n return this.config.translation.aria ? this.config.translation.aria.pageLabel.replace(/{page}/g, `${value}`) : undefined;\n }\n\n getLocalization(digit: number): string {\n const numerals = [...new Intl.NumberFormat(this.locale, { useGrouping: false }).format(9876543210)].reverse();\n const index = new Map(numerals.map((d, i) => [i, d]));\n if (digit > 9) {\n const numbers = String(digit).split('');\n return numbers.map((number) => index.get(Number(number))).join('');\n } else {\n return index.get(digit);\n }\n }\n\n ngAfterContentInit(): void {\n (this.templates as QueryList<CaxTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'dropdownicon':\n this.dropdownIconTemplate = item.template;\n break;\n case 'firstpagelinkicon':\n this.firstPageLinkIconTemplate = item.template;\n break;\n case 'previouspagelinkicon':\n this.previousPageLinkIconTemplate = item.template;\n break;\n case 'lastpagelinkicon':\n this.lastPageLinkIconTemplate = item.template;\n break;\n case 'nextpagelinkicon':\n this.nextPageLinkIconTemplate = item.template;\n break;\n }\n });\n }\n\n ngOnChanges(simpleChange: SimpleChanges): void {\n if (simpleChange.totalRecords) {\n this.updatePageLinks();\n this.updatePaginatorState();\n this.updateFirst();\n this.updateRowsPerPageOptions();\n }\n\n if (simpleChange.first) {\n this._first = simpleChange.first.currentValue;\n this.updatePageLinks();\n this.updatePaginatorState();\n }\n\n if (simpleChange.rows) {\n this.updatePageLinks();\n this.updatePaginatorState();\n }\n\n if (simpleChange.rowsPerPageOptions) {\n this.updateRowsPerPageOptions();\n }\n\n if (simpleChange.pageLinkSize) {\n this.updatePageLinks();\n }\n }\n\n updateRowsPerPageOptions(): void {\n if (this.rowsPerPageOptions) {\n this.rowsPerPageItems = [];\n for (let opt of this.rowsPerPageOptions) {\n if (typeof opt == 'object' && opt['showAll']) {\n this.rowsPerPageItems.unshift({ label: opt['showAll'], value: this.totalRecords });\n } else {\n this.rowsPerPageItems.push({ label: String(this.getLocalization(opt)), value: opt });\n }\n }\n }\n }\n\n isFirstPage(): boolean {\n return this.getPage() === 0;\n }\n\n isLastPage(): boolean {\n return this.getPage() === this.getPageCount() - 1;\n }\n\n getPageCount(): number {\n return Math.ceil(this.totalRecords / this.rows);\n }\n\n calculatePageLinkBoundaries(): [number, number] {\n let numberOfPages = this.getPageCount(),\n visiblePages = Math.min(this.pageLinkSize, numberOfPages);\n\n //calculate range, keep current in middle if necessary\n let start = Math.max(0, Math.ceil(this.getPage() - visiblePages / 2)),\n end = Math.min(numberOfPages - 1, start + visiblePages - 1);\n\n //check when approaching to last page\n var delta = this.pageLinkSize - (end - start + 1);\n start = Math.max(0, start - delta);\n\n return [start, end];\n }\n\n updatePageLinks(): void {\n this.pageLinks = [];\n let boundaries = this.calculatePageLinkBoundaries(),\n start = boundaries[0],\n end = boundaries[1];\n\n for (let i = start; i <= end; i++) {\n this.pageLinks.push(i + 1);\n }\n\n if (this.showJumpToPageDropdown) {\n this.pageItems = [];\n for (let i = 0; i < this.getPageCount(); i++) {\n this.pageItems.push({ label: String(i + 1), value: i });\n }\n }\n }\n\n changePage(p: number): void {\n var pc = this.getPageCount();\n\n if (p >= 0 && p < pc) {\n this._first = this.rows * p;\n var state = {\n page: p,\n first: this.first,\n rows: this.rows,\n pageCount: pc\n };\n this.updatePageLinks();\n\n this.onPageChange.emit(state);\n this.updatePaginatorState();\n }\n }\n\n updateFirst(): void {\n const page = this.getPage();\n if (page > 0 && this.totalRecords && this.first >= this.totalRecords) {\n Promise.resolve(null).then(() => this.changePage(page - 1));\n }\n }\n\n getPage(): number {\n return Math.floor(this.first / this.rows);\n }\n\n changePageToFirst(event: Event): void {\n if (!this.isFirstPage()) {\n this.changePage(0);\n }\n\n event.preventDefault();\n }\n\n changePageToPrev(event: Event): void {\n this.changePage(this.getPage() - 1);\n event.preventDefault();\n }\n\n changePageToNext(event: Event): void {\n this.changePage(this.getPage() + 1);\n event.preventDefault();\n }\n\n changePageToLast(event: Event): void {\n if (!this.isLastPage()) {\n this.changePage(this.getPageCount() - 1);\n }\n\n event.preventDefault();\n }\n\n onPageLinkClick(event: Event, page: number): void {\n this.changePage(page);\n event.preventDefault();\n }\n\n onRppChange(event: Event): void {\n this.changePage(this.getPage());\n }\n\n onPageDropdownChange(event: DropdownChangeEvent): void {\n this.changePage(event.value);\n }\n\n updatePaginatorState(): void {\n this.paginatorState = {\n page: this.getPage(),\n pageCount: this.getPageCount(),\n rows: this.rows,\n first: this.first,\n totalRecords: this.totalRecords\n };\n }\n\n empty(): boolean {\n return this.getPageCount() === 0;\n }\n\n currentPage(): number {\n return this.getPageCount() > 0 ? this.getPage() + 1 : 0;\n }\n\n get currentPageReport(): string {\n return this.currentPageReportTemplate\n .replace('{currentPage}', String(this.currentPage()))\n .replace('{totalPages}', String(this.getPageCount()))\n .replace('{first}', String(this.totalRecords > 0 ? this._first + 1 : 0))\n .replace('{last}', String(Math.min(this._first + this.rows, this.totalRecords)))\n .replace('{rows}', String(this.rows))\n .replace('{totalRecords}', String(this.totalRecords));\n }\n @Input({ transform: booleanAttribute }) rightAligned: boolean = false;\n isSinglePage(): boolean {\n return this.getPageCount() <= 1;\n }\n\n getPositionClass(): string {\n let positions = [];\n if (this.isSinglePage()) {\n positions.push('single-page');\n } else {\n if (this.isFirstPage()) positions.push('at-first-page');\n if (this.isLastPage()) positions.push('at-last-page');\n }\n if (this.rightAligned) positions.push('right-aligned');\n return positions.join(' ');\n }\n}\n","<div [class]=\"styleClass\" [ngStyle]=\"style\" [ngClass]=\"['cax-paginator cax-component', getPositionClass()]\" *ngIf=\"alwaysShow ? true : pageLinks && pageLinks.length > 1\" [attr.data-pc-section]=\"'paginator'\" [attr.data-pc-section]=\"'root'\">\n <div class=\"cax-paginator-left-content\" *ngIf=\"templateLeft\" [attr.data-pc-section]=\"'start'\">\n <ng-container *ngTemplateOutlet=\"templateLeft; context: { $implicit: paginatorState }\"></ng-container>\n </div>\n <span class=\"cax-paginator-current\" *ngIf=\"showCurrentPageReport\">{{ currentPageReport }}</span>\n <button\n *ngIf=\"showFirstLastIcon\"\n type=\"button\"\n [disabled]=\"isFirstPage() || empty()\"\n (click)=\"changePageToFirst($event)\"\n caxRipple\n class=\"cax-paginator-first cax-paginator-element cax-link\"\n [ngClass]=\"{ 'cax-disabled': isFirstPage() || empty() }\"\n [attr.aria-label]=\"getAriaLabel('firstPageLabel')\"\n >\n <AngleDoubleLeftIcon *ngIf=\"!firstPageLinkIconTemplate\" [styleClass]=\"'cax-paginator-icon'\" />\n <span class=\"cax-paginator-icon\" *ngIf=\"firstPageLinkIconTemplate\">\n <ng-template *ngTemplateOutlet=\"firstPageLinkIconTemplate\"></ng-template>\n </span>\n </button>\n <button\n type=\"button\"\n [disabled]=\"isFirstPage() || empty()\"\n (click)=\"changePageToPrev($event)\"\n caxRipple\n class=\"cax-paginator-prev cax-paginator-element cax-link\"\n [ngClass]=\"{ 'cax-disabled': isFirstPage() || empty() }\"\n [attr.aria-label]=\"getAriaLabel('prevPageLabel')\"\n >\n <AngleLeftIcon *ngIf=\"!previousPageLinkIconTemplate\" [styleClass]=\"'cax-paginator-icon'\" />\n <span class=\"cax-paginator-icon\" *ngIf=\"previousPageLinkIconTemplate\">\n <ng-template *ngTemplateOutlet=\"previousPageLinkIconTemplate\"></ng-template>\n </span>\n </button>\n <span class=\"cax-paginator-pages\" *ngIf=\"showPageLinks\">\n <button\n type=\"button\"\n *ngFor=\"let pageLink of pageLinks\"\n class=\"cax-paginator-page cax-paginator-element cax-link\"\n [ngClass]=\"{ 'cax-highlight': pageLink - 1 == getPage() }\"\n [attr.aria-label]=\"getPageAriaLabel(pageLink)\"\n [attr.aria-current]=\"pageLink - 1 == getPage() ? 'page' : undefined\"\n (click)=\"onPageLinkClick($event, pageLink - 1)\"\n caxRipple\n >\n {{ getLocalization(pageLink) }}\n </button>\n </span>\n <cax-dropdown\n [options]=\"pageItems\"\n [ngModel]=\"getPage()\"\n *ngIf=\"showJumpToPageDropdown\"\n [disabled]=\"empty()\"\n [attr.aria-label]=\"getAriaLabel('jumpToPageDropdownLabel')\"\n styleClass=\"cax-paginator-page-options\"\n (onChange)=\"onPageDropdownChange($event)\"\n [appendTo]=\"dropdownAppendTo\"\n [scrollHeight]=\"dropdownScrollHeight\"\n >\n <ng-template caxTemplate=\"selectedItem\">{{ currentPageReport }}</ng-template>\n <ng-container *ngIf=\"jumpToPageItemTemplate\">\n <ng-template let-item caxTemplate=\"item\">\n <ng-container *ngTemplateOutlet=\"jumpToPageItemTemplate; context: { $implicit: item }\"> </ng-container>\n </ng-template>\n </ng-container>\n <ng-template caxTemplate=\"dropdownicon\" *ngIf=\"dropdownIconTemplate\">\n <ng-container *ngTemplateOutlet=\"dropdownIconTemplate\"></ng-container>\n </ng-template>\n </cax-dropdown>\n <button\n type=\"button\"\n [disabled]=\"isLastPage() || empty()\"\n (click)=\"changePageToNext($event)\"\n caxRipple\n class=\"cax-paginator-next cax-paginator-element cax-link\"\n [ngClass]=\"{ 'cax-disabled': isLastPage() || empty() }\"\n [attr.aria-label]=\"getAriaLabel('nextPageLabel')\"\n >\n <AngleRightIcon *ngIf=\"!nextPageLinkIconTemplate\" [styleClass]=\"'cax-paginator-icon'\" />\n <span class=\"cax-paginator-icon\" *ngIf=\"nextPageLinkIconTemplate\">\n <ng-template *ngTemplateOutlet=\"nextPageLinkIconTemplate\"></ng-template>\n </span>\n </button>\n <button\n *ngIf=\"showFirstLastIcon\"\n type=\"button\"\n [disabled]=\"isLastPage() || empty()\"\n (click)=\"changePageToLast($event)\"\n caxRipple\n class=\"cax-paginator-last cax-paginator-element cax-link\"\n [ngClass]=\"{ 'cax-disabled': isLastPage() || empty() }\"\n [attr.aria-label]=\"getAriaLabel('lastPageLabel')\"\n >\n <AngleDoubleRightIcon *ngIf=\"!lastPageLinkIconTemplate\" [styleClass]=\"'cax-paginator-icon'\" />\n <span class=\"cax-paginator-icon\" *ngIf=\"lastPageLinkIconTemplate\">\n <ng-template *ngTemplateOutlet=\"lastPageLinkIconTemplate\"></ng-template>\n </span>\n </button>\n <span class=\"cax-paginator-page-label\" *ngIf=\"showJumpToPageInput\">Go to page</span>\n <cax-inputNumber *ngIf=\"showJumpToPageInput\" [ngModel]=\"currentPage()\" class=\"cax-paginator-page-input\" [disabled]=\"empty()\" (ngModelChange)=\"changePage($event - 1)\"></cax-inputNumber>\n <cax-dropdown\n [options]=\"rowsPerPageItems\"\n [(ngModel)]=\"rows\"\n *ngIf=\"rowsPerPageOptions\"\n styleClass=\"cax-paginator-rpp-options\"\n [disabled]=\"empty()\"\n (onChange)=\"onRppChange($event)\"\n [appendTo]=\"dropdownAppendTo\"\n [scrollHeight]=\"dropdownScrollHeight\"\n [ariaLabel]=\"getAriaLabel('rowsPerPageLabel')\"\n >\n <ng-container *ngIf=\"dropdownItemTemplate\"> \n <ng-template let-item caxTemplate=\"item\">\n <ng-container *ngTemplateOutlet=\"dropdownItemTemplate; context: { $implicit: item }\"> </ng-container>\n </ng-template>\n </ng-container>\n <ng-template caxTemplate=\"dropdownicon\" *ngIf=\"dropdownIconTemplate\">\n <ng-container *ngTemplateOutlet=\"dropdownIconTemplate\"></ng-container>\n </ng-template>\n </cax-dropdown>\n <div class=\"cax-paginator-right-content\" *ngIf=\"templateRight\" [attr.data-pc-section]=\"'end'\">\n <ng-container *ngTemplateOutlet=\"templateRight; context: { $implicit: paginatorState }\"></ng-container>\n </div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { DropdownModule } from 'cax-design-system/dropdown';\nimport { InputNumberModule } from 'cax-design-system/inputnumber';\nimport { SharedModule } from 'cax-design-system/api';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { AngleDoubleLeftIcon } from 'cax-design-system/icons/angledoubleleft';\nimport { AngleDoubleRightIcon } from 'cax-design-system/icons/angledoubleright';\nimport { AngleLeftIcon } from 'cax-design-system/icons/angleleft';\nimport { AngleRightIcon } from 'cax-design-system/icons/angleright';\n\nimport { Paginator } from './paginator';\n\n@NgModule({\n imports: [CommonModule, DropdownModule, InputNumberModule, FormsModule, SharedModule, RippleModule, AngleDoubleLeftIcon, AngleDoubleRightIcon, AngleLeftIcon, AngleRightIcon],\n exports: [Paginator, DropdownModule, InputNumberModule, FormsModule, SharedModule],\n declarations: [Paginator]\n})\nexport class PaginatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -58,13 +58,13 @@ class ProgressBar {
|
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
60
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ProgressBar, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
61
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: ProgressBar, selector: "cax-progressBar", inputs: { value: ["value", "value", numberAttribute], showValue: ["showValue", "showValue", booleanAttribute], styleClass: "styleClass", style: "style", unit: "unit", mode: "mode", color: "color" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<div\
|
|
61
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: ProgressBar, selector: "cax-progressBar", inputs: { value: ["value", "value", numberAttribute], showValue: ["showValue", "showValue", booleanAttribute], styleClass: "styleClass", style: "style", unit: "unit", mode: "mode", color: "color" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<div\n role=\"progressbar\"\n [class]=\"styleClass\"\n [ngStyle]=\"style\"\n [attr.aria-valuemin]=\"0\"\n [attr.aria-valuenow]=\"value\"\n [attr.aria-valuemax]=\"100\"\n [attr.data-pc-name]=\"'progressbar'\"\n [attr.data-pc-section]=\"'root'\"\n [ngClass]=\"{\n 'cax-progressbar cax-component': mode === 'determinate' && showValue,\n 'cax-progressbar-parent-indeterminate': mode === 'indeterminate',\n 'cax-progressbar-determinate': mode === 'determinate' && showValue,\n 'cax-progressbar-indeterminate': mode === 'indeterminate',\n 'cax-progressbar-determinate-no-value ': mode === 'determinate' && !showValue\n }\"\n >\n <div\n\n *ngIf=\"mode === 'determinate' && showValue\"\n class=\"cax-progressbar-value cax-progressbar-value-animate\"\n [ngStyle]=\"{\n width: value + '%',\n display: 'flex',\n background: color\n }\"\n [attr.data-pc-section]=\"'value'\"\n >\n <div class=\"cax-progressbar-label\">\n <div\n *ngIf=\"showValue && !contentTemplate\"\n [ngStyle]=\"{\n display: value != null && value !== 0 ? 'flex' : 'none'\n }\"\n [attr.data-pc-section]=\"'label'\"\n >\n {{ value }}{{ unit }}\n </div>\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: value }\"></ng-container>\n </div>\n </div>\n <div *ngIf=\"mode === 'indeterminate'\" class=\"cax-progressbar-indeterminate-container\" [attr.data-pc-section]=\"'container'\">\n <div\n class=\"cax-progressbar-value cax-progressbar-value-animate\"\n [ngStyle]=\"{\n background: color\n }\"\n [attr.data-pc-section]=\"'value'\"\n ></div>\n </div>\n <div\n *ngIf=\"mode === 'determinate' && !showValue\"\n class=\"cax-progressbar-value cax-progressbar-value-animate-style\"\n [ngStyle]=\"{\n width: value + '%',\n display: 'flex',\n background: color\n }\"\n [attr.data-pc-section]=\"'value'\"\n >\n <div class=\"cax-progressbar-label\">\n <div\n *ngIf=\"showValue && !contentTemplate\"\n [ngStyle]=\"{\n display: value != null && value !== 0 ? 'flex' : 'none'\n }\"\n [attr.data-pc-section]=\"'label'\"\n >\n\n </div>\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: value }\"></ng-container>\n </div>\n </div>\n </div>\n", styles: ["@layer cax{.cax-progressbar{position:relative;overflow:hidden}.cax-progressbar-determinate .cax-progressbar-label{display:inline-flex}.cax-progressbar-determinate .cax-progressbar-value-animate{transition:width 1s ease-in-out}.cax-progressbar-value-animate-style{transition:width 1s ease;height:100%}.cax-progressbar-determinate-no-value .cax-progressbar-value-animate{transition:width 2s ease-in-out}.cax-progressbar-indeterminate .cax-progressbar-value:before{content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:cax-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:cax-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.cax-progressbar-indeterminate .cax-progressbar-value:after{content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:cax-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:cax-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}}@-webkit-keyframes cax-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes cax-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@-webkit-keyframes cax-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes cax-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
62
62
|
}
|
|
63
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ProgressBar, decorators: [{
|
|
64
64
|
type: Component,
|
|
65
65
|
args: [{ selector: 'cax-progressBar', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
66
66
|
class: 'cax-element'
|
|
67
|
-
}, template: "<div\
|
|
67
|
+
}, template: "<div\n role=\"progressbar\"\n [class]=\"styleClass\"\n [ngStyle]=\"style\"\n [attr.aria-valuemin]=\"0\"\n [attr.aria-valuenow]=\"value\"\n [attr.aria-valuemax]=\"100\"\n [attr.data-pc-name]=\"'progressbar'\"\n [attr.data-pc-section]=\"'root'\"\n [ngClass]=\"{\n 'cax-progressbar cax-component': mode === 'determinate' && showValue,\n 'cax-progressbar-parent-indeterminate': mode === 'indeterminate',\n 'cax-progressbar-determinate': mode === 'determinate' && showValue,\n 'cax-progressbar-indeterminate': mode === 'indeterminate',\n 'cax-progressbar-determinate-no-value ': mode === 'determinate' && !showValue\n }\"\n >\n <div\n\n *ngIf=\"mode === 'determinate' && showValue\"\n class=\"cax-progressbar-value cax-progressbar-value-animate\"\n [ngStyle]=\"{\n width: value + '%',\n display: 'flex',\n background: color\n }\"\n [attr.data-pc-section]=\"'value'\"\n >\n <div class=\"cax-progressbar-label\">\n <div\n *ngIf=\"showValue && !contentTemplate\"\n [ngStyle]=\"{\n display: value != null && value !== 0 ? 'flex' : 'none'\n }\"\n [attr.data-pc-section]=\"'label'\"\n >\n {{ value }}{{ unit }}\n </div>\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: value }\"></ng-container>\n </div>\n </div>\n <div *ngIf=\"mode === 'indeterminate'\" class=\"cax-progressbar-indeterminate-container\" [attr.data-pc-section]=\"'container'\">\n <div\n class=\"cax-progressbar-value cax-progressbar-value-animate\"\n [ngStyle]=\"{\n background: color\n }\"\n [attr.data-pc-section]=\"'value'\"\n ></div>\n </div>\n <div\n *ngIf=\"mode === 'determinate' && !showValue\"\n class=\"cax-progressbar-value cax-progressbar-value-animate-style\"\n [ngStyle]=\"{\n width: value + '%',\n display: 'flex',\n background: color\n }\"\n [attr.data-pc-section]=\"'value'\"\n >\n <div class=\"cax-progressbar-label\">\n <div\n *ngIf=\"showValue && !contentTemplate\"\n [ngStyle]=\"{\n display: value != null && value !== 0 ? 'flex' : 'none'\n }\"\n [attr.data-pc-section]=\"'label'\"\n >\n\n </div>\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: value }\"></ng-container>\n </div>\n </div>\n </div>\n", styles: ["@layer cax{.cax-progressbar{position:relative;overflow:hidden}.cax-progressbar-determinate .cax-progressbar-label{display:inline-flex}.cax-progressbar-determinate .cax-progressbar-value-animate{transition:width 1s ease-in-out}.cax-progressbar-value-animate-style{transition:width 1s ease;height:100%}.cax-progressbar-determinate-no-value .cax-progressbar-value-animate{transition:width 2s ease-in-out}.cax-progressbar-indeterminate .cax-progressbar-value:before{content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:cax-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:cax-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.cax-progressbar-indeterminate .cax-progressbar-value:after{content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:cax-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:cax-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}}@-webkit-keyframes cax-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes cax-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@-webkit-keyframes cax-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes cax-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}\n"] }]
|
|
68
68
|
}], propDecorators: { value: [{
|
|
69
69
|
type: Input,
|
|
70
70
|
args: [{ transform: numberAttribute }]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cax-design-system-progressbar.mjs","sources":["../../src/app/components/progressbar/progressbar.ts","../../src/app/components/progressbar/progressbar.html","../../src/app/components/progressbar/progressbar.module.ts","../../src/app/components/progressbar/cax-design-system-progressbar.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, TemplateRef, ContentChildren, Input, NgModule, ViewEncapsulation, booleanAttribute, numberAttribute } from '@angular/core';\nimport { CaxTemplate } from 'cax-design-system/api';\nimport { QueryList } from '@angular/core';\n/**\n * ProgressBar is a process status indicator.\n * @group Components\n */\n@Component({\n selector: 'cax-progressBar',\n templateUrl: './progressbar.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./progressbar.scss'],\n host: {\n class: 'cax-element'\n }\n})\nexport class ProgressBar {\n /**\n * Current value of the progress.\n * @group Props\n */\n @Input({ transform: numberAttribute }) value: number | undefined;\n /**\n * Whether to display the progress bar value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showValue: boolean = true;\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Unit sign appended to the value.\n * @group Props\n */\n @Input() unit: string = '%';\n /**\n * Defines the mode of the progress\n * @group Props\n */\n @Input() mode: string = 'determinate';\n /**\n * Color for the background of the progress.\n * @group Props\n */\n @Input() color: string | undefined;\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n\n contentTemplate: TemplateRef<any> | undefined;\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n default:\n this.contentTemplate = item.template;\n }\n });\n }\n}\n","<div\
|
|
1
|
+
{"version":3,"file":"cax-design-system-progressbar.mjs","sources":["../../src/app/components/progressbar/progressbar.ts","../../src/app/components/progressbar/progressbar.html","../../src/app/components/progressbar/progressbar.module.ts","../../src/app/components/progressbar/cax-design-system-progressbar.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, TemplateRef, ContentChildren, Input, NgModule, ViewEncapsulation, booleanAttribute, numberAttribute } from '@angular/core';\nimport { CaxTemplate } from 'cax-design-system/api';\nimport { QueryList } from '@angular/core';\n/**\n * ProgressBar is a process status indicator.\n * @group Components\n */\n@Component({\n selector: 'cax-progressBar',\n templateUrl: './progressbar.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./progressbar.scss'],\n host: {\n class: 'cax-element'\n }\n})\nexport class ProgressBar {\n /**\n * Current value of the progress.\n * @group Props\n */\n @Input({ transform: numberAttribute }) value: number | undefined;\n /**\n * Whether to display the progress bar value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showValue: boolean = true;\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Unit sign appended to the value.\n * @group Props\n */\n @Input() unit: string = '%';\n /**\n * Defines the mode of the progress\n * @group Props\n */\n @Input() mode: string = 'determinate';\n /**\n * Color for the background of the progress.\n * @group Props\n */\n @Input() color: string | undefined;\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n\n contentTemplate: TemplateRef<any> | undefined;\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n default:\n this.contentTemplate = item.template;\n }\n });\n }\n}\n","<div\n role=\"progressbar\"\n [class]=\"styleClass\"\n [ngStyle]=\"style\"\n [attr.aria-valuemin]=\"0\"\n [attr.aria-valuenow]=\"value\"\n [attr.aria-valuemax]=\"100\"\n [attr.data-pc-name]=\"'progressbar'\"\n [attr.data-pc-section]=\"'root'\"\n [ngClass]=\"{\n 'cax-progressbar cax-component': mode === 'determinate' && showValue,\n 'cax-progressbar-parent-indeterminate': mode === 'indeterminate',\n 'cax-progressbar-determinate': mode === 'determinate' && showValue,\n 'cax-progressbar-indeterminate': mode === 'indeterminate',\n 'cax-progressbar-determinate-no-value ': mode === 'determinate' && !showValue\n }\"\n >\n <div\n\n *ngIf=\"mode === 'determinate' && showValue\"\n class=\"cax-progressbar-value cax-progressbar-value-animate\"\n [ngStyle]=\"{\n width: value + '%',\n display: 'flex',\n background: color\n }\"\n [attr.data-pc-section]=\"'value'\"\n >\n <div class=\"cax-progressbar-label\">\n <div\n *ngIf=\"showValue && !contentTemplate\"\n [ngStyle]=\"{\n display: value != null && value !== 0 ? 'flex' : 'none'\n }\"\n [attr.data-pc-section]=\"'label'\"\n >\n {{ value }}{{ unit }}\n </div>\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: value }\"></ng-container>\n </div>\n </div>\n <div *ngIf=\"mode === 'indeterminate'\" class=\"cax-progressbar-indeterminate-container\" [attr.data-pc-section]=\"'container'\">\n <div\n class=\"cax-progressbar-value cax-progressbar-value-animate\"\n [ngStyle]=\"{\n background: color\n }\"\n [attr.data-pc-section]=\"'value'\"\n ></div>\n </div>\n <div\n *ngIf=\"mode === 'determinate' && !showValue\"\n class=\"cax-progressbar-value cax-progressbar-value-animate-style\"\n [ngStyle]=\"{\n width: value + '%',\n display: 'flex',\n background: color\n }\"\n [attr.data-pc-section]=\"'value'\"\n >\n <div class=\"cax-progressbar-label\">\n <div\n *ngIf=\"showValue && !contentTemplate\"\n [ngStyle]=\"{\n display: value != null && value !== 0 ? 'flex' : 'none'\n }\"\n [attr.data-pc-section]=\"'label'\"\n >\n\n </div>\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: value }\"></ng-container>\n </div>\n </div>\n </div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ProgressBar } from './progressbar';\n\n@NgModule({\n imports: [CommonModule],\n exports: [ProgressBar],\n declarations: [ProgressBar]\n})\nexport class ProgressBarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -85,13 +85,13 @@ class ProgressSpinner {
|
|
|
85
85
|
*/
|
|
86
86
|
ariaLabel;
|
|
87
87
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ProgressSpinner, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
88
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: ProgressSpinner, selector: "cax-progressSpinner", inputs: { styleClass: "styleClass", strokeColor: "strokeColor", backgroundStrokeColor: "backgroundStrokeColor", size: "size", style: "style", strokeWidth: "strokeWidth", fill: "fill", animationDuration: "animationDuration", ariaLabel: "ariaLabel" }, host: { classAttribute: "cax-element" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cax-progress-spinner\" [ngStyle]=\"style\" [ngClass]=\"['cax-progress-spinner-size-' + size]\" role=\"progressbar\" [attr.aria-label]=\"ariaLabel\" [attr.aria-busy]=\"true\" [attr.data-pc-name]=\"'progressspinner'\" [attr.data-pc-section]=\"'root'\">\
|
|
88
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: ProgressSpinner, selector: "cax-progressSpinner", inputs: { styleClass: "styleClass", strokeColor: "strokeColor", backgroundStrokeColor: "backgroundStrokeColor", size: "size", style: "style", strokeWidth: "strokeWidth", fill: "fill", animationDuration: "animationDuration", ariaLabel: "ariaLabel" }, host: { classAttribute: "cax-element" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cax-progress-spinner\" [ngStyle]=\"style\" [ngClass]=\"['cax-progress-spinner-size-' + size]\" role=\"progressbar\" [attr.aria-label]=\"ariaLabel\" [attr.aria-busy]=\"true\" [attr.data-pc-name]=\"'progressspinner'\" [attr.data-pc-section]=\"'root'\">\n <svg class=\"cax-progress-spinner-svg\" viewBox=\"25 25 50 50\" [style.animation-duration]=\"animationDuration\" [attr.data-pc-section]=\"'root'\">\n <circle\n class=\"cax-progress-spinner-bg\"\n cx=\"50\"\n cy=\"50\"\n r=\"20\"\n [attr.stroke-width]=\"strokeWidth\"\n [attr.stroke]=\"backgroundStroke\"\n fill=\"none\"\n ></circle>\n <circle class=\"cax-progress-spinner-circle \" cx=\"50\" cy=\"50\" r=\"20\" [attr.fill]=\"fill\" [attr.stroke-width]=\"strokeWidth\" stroke-miterlimit=\"10\" [attr.stroke]=\"backgroundStrokeColor\" [attr.stroke]=\"stroke\" [ngStyle]=\"{ stroke: stroke }\" />\n </svg>\n</div>\n", styles: ["@layer cax{.cax-progress-spinner{position:relative;margin:0 auto;width:100px;height:100px;display:inline-block}.cax-progress-spinner:before{content:\"\";display:block;padding-top:100%}.cax-progress-spinner-svg{animation:cax-progress-spinner-rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;inset:0;margin:auto}.cax-progress-spinner-circle{stroke-dasharray:89,200;stroke-dashoffset:0;animation:cax-progress-spinner-dash 1.5s ease-in-out infinite,cax-progress-spinner-color 6s ease-in-out infinite;stroke-linecap:round}.cax-progress-spinner-circle{stroke:transparent}.cax-progress-spinner-size-sm{width:25px;height:25px}.cax-progress-spinner-size-md{width:36px;height:36px}.cax-progress-spinner-size-lg{width:50px;height:50px}}@keyframes cax-progress-spinner-rotate{to{transform:rotate(360deg)}}@keyframes cax-progress-spinner-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
89
89
|
}
|
|
90
90
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ProgressSpinner, decorators: [{
|
|
91
91
|
type: Component,
|
|
92
92
|
args: [{ selector: 'cax-progressSpinner', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
93
93
|
class: 'cax-element'
|
|
94
|
-
}, template: "<div class=\"cax-progress-spinner\" [ngStyle]=\"style\" [ngClass]=\"['cax-progress-spinner-size-' + size]\" role=\"progressbar\" [attr.aria-label]=\"ariaLabel\" [attr.aria-busy]=\"true\" [attr.data-pc-name]=\"'progressspinner'\" [attr.data-pc-section]=\"'root'\">\
|
|
94
|
+
}, template: "<div class=\"cax-progress-spinner\" [ngStyle]=\"style\" [ngClass]=\"['cax-progress-spinner-size-' + size]\" role=\"progressbar\" [attr.aria-label]=\"ariaLabel\" [attr.aria-busy]=\"true\" [attr.data-pc-name]=\"'progressspinner'\" [attr.data-pc-section]=\"'root'\">\n <svg class=\"cax-progress-spinner-svg\" viewBox=\"25 25 50 50\" [style.animation-duration]=\"animationDuration\" [attr.data-pc-section]=\"'root'\">\n <circle\n class=\"cax-progress-spinner-bg\"\n cx=\"50\"\n cy=\"50\"\n r=\"20\"\n [attr.stroke-width]=\"strokeWidth\"\n [attr.stroke]=\"backgroundStroke\"\n fill=\"none\"\n ></circle>\n <circle class=\"cax-progress-spinner-circle \" cx=\"50\" cy=\"50\" r=\"20\" [attr.fill]=\"fill\" [attr.stroke-width]=\"strokeWidth\" stroke-miterlimit=\"10\" [attr.stroke]=\"backgroundStrokeColor\" [attr.stroke]=\"stroke\" [ngStyle]=\"{ stroke: stroke }\" />\n </svg>\n</div>\n", styles: ["@layer cax{.cax-progress-spinner{position:relative;margin:0 auto;width:100px;height:100px;display:inline-block}.cax-progress-spinner:before{content:\"\";display:block;padding-top:100%}.cax-progress-spinner-svg{animation:cax-progress-spinner-rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;inset:0;margin:auto}.cax-progress-spinner-circle{stroke-dasharray:89,200;stroke-dashoffset:0;animation:cax-progress-spinner-dash 1.5s ease-in-out infinite,cax-progress-spinner-color 6s ease-in-out infinite;stroke-linecap:round}.cax-progress-spinner-circle{stroke:transparent}.cax-progress-spinner-size-sm{width:25px;height:25px}.cax-progress-spinner-size-md{width:36px;height:36px}.cax-progress-spinner-size-lg{width:50px;height:50px}}@keyframes cax-progress-spinner-rotate{to{transform:rotate(360deg)}}@keyframes cax-progress-spinner-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}\n"] }]
|
|
95
95
|
}], propDecorators: { styleClass: [{
|
|
96
96
|
type: Input
|
|
97
97
|
}], strokeColor: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cax-design-system-progressspinner.mjs","sources":["../../src/app/components/progressspinner/progressspinner.ts","../../src/app/components/progressspinner/progressspinner.html","../../src/app/components/progressspinner/progressspinner.module.ts","../../src/app/components/progressspinner/cax-design-system-progressspinner.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, SimpleChanges, ViewEncapsulation } from '@angular/core';\n/**\n * ProgressSpinner is a process status indicator.\n * @group Components\n */\n@Component({\n selector: 'cax-progressSpinner',\n templateUrl: './progressspinner.html',\n styleUrls: ['./progressspinner.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'cax-element'\n }\n})\nexport class ProgressSpinner {\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n\n @Input() strokeColor: 'primary' | 'secondary';\n\n @Input() backgroundStrokeColor: 'primary' | 'secondary';\n\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['size']) {\n this.updateStrokeWidthBasedOnSize();\n }\n if (changes['strokeColor']) {\n this.updateBackgroundStrokeColor();\n }\n }\n\n updateStrokeWidthBasedOnSize(): void {\n if (this.size === 'sm') {\n this.strokeWidth = 4;\n } else if (this.size === 'md') {\n this.strokeWidth = 5;\n } else if (this.size === 'lg') {\n this.strokeWidth = 5;\n }\n }\n\n updateBackgroundStrokeColor(): void {\n if (this.strokeColor === 'primary') {\n this.backgroundStrokeColor = 'primary';\n } else if (this.strokeColor === 'secondary') {\n this.backgroundStrokeColor = 'secondary';\n }\n }\n\n get stroke(): string {\n if (this.strokeColor === 'primary') {\n return getComputedStyle(document.documentElement).getPropertyValue('--primary-500').trim() || '#0C4AF3';\n } else if (this.strokeColor === 'secondary') {\n return getComputedStyle(document.documentElement).getPropertyValue('--white-100').trim() || '#FFFFFF';\n }\n }\n\n get backgroundStroke(): string {\n if (this.backgroundStrokeColor === 'primary') {\n return getComputedStyle(document.documentElement).getPropertyValue('--primary-200').trim() || '#0B3FDA';\n } else if (this.backgroundStrokeColor === 'secondary') {\n return getComputedStyle(document.documentElement).getPropertyValue('--neutral-300').trim() || '#A9AFBC';\n }\n }\n\n /**\n * Inline style of the element.\n * @group Props\n */\n\n @Input() style: { [klass: string]: any } | null | undefined;\n\n /**\n * Width of the circle stroke.\n * @group Props\n */\n @Input() strokeWidth: number = 5;\n /**\n * Color for the background of the circle.\n * @group Props\n */\n @Input() fill: string = 'none';\n /**\n * Duration of the rotate animation.\n * @group Props\n */\n @Input() animationDuration: string = '2s';\n /**\n * Used to define a aria label attribute the current element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n}\n","<div class=\"cax-progress-spinner\" [ngStyle]=\"style\" [ngClass]=\"['cax-progress-spinner-size-' + size]\" role=\"progressbar\" [attr.aria-label]=\"ariaLabel\" [attr.aria-busy]=\"true\" [attr.data-pc-name]=\"'progressspinner'\" [attr.data-pc-section]=\"'root'\">\
|
|
1
|
+
{"version":3,"file":"cax-design-system-progressspinner.mjs","sources":["../../src/app/components/progressspinner/progressspinner.ts","../../src/app/components/progressspinner/progressspinner.html","../../src/app/components/progressspinner/progressspinner.module.ts","../../src/app/components/progressspinner/cax-design-system-progressspinner.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, SimpleChanges, ViewEncapsulation } from '@angular/core';\n/**\n * ProgressSpinner is a process status indicator.\n * @group Components\n */\n@Component({\n selector: 'cax-progressSpinner',\n templateUrl: './progressspinner.html',\n styleUrls: ['./progressspinner.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'cax-element'\n }\n})\nexport class ProgressSpinner {\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n\n @Input() strokeColor: 'primary' | 'secondary';\n\n @Input() backgroundStrokeColor: 'primary' | 'secondary';\n\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['size']) {\n this.updateStrokeWidthBasedOnSize();\n }\n if (changes['strokeColor']) {\n this.updateBackgroundStrokeColor();\n }\n }\n\n updateStrokeWidthBasedOnSize(): void {\n if (this.size === 'sm') {\n this.strokeWidth = 4;\n } else if (this.size === 'md') {\n this.strokeWidth = 5;\n } else if (this.size === 'lg') {\n this.strokeWidth = 5;\n }\n }\n\n updateBackgroundStrokeColor(): void {\n if (this.strokeColor === 'primary') {\n this.backgroundStrokeColor = 'primary';\n } else if (this.strokeColor === 'secondary') {\n this.backgroundStrokeColor = 'secondary';\n }\n }\n\n get stroke(): string {\n if (this.strokeColor === 'primary') {\n return getComputedStyle(document.documentElement).getPropertyValue('--primary-500').trim() || '#0C4AF3';\n } else if (this.strokeColor === 'secondary') {\n return getComputedStyle(document.documentElement).getPropertyValue('--white-100').trim() || '#FFFFFF';\n }\n }\n\n get backgroundStroke(): string {\n if (this.backgroundStrokeColor === 'primary') {\n return getComputedStyle(document.documentElement).getPropertyValue('--primary-200').trim() || '#0B3FDA';\n } else if (this.backgroundStrokeColor === 'secondary') {\n return getComputedStyle(document.documentElement).getPropertyValue('--neutral-300').trim() || '#A9AFBC';\n }\n }\n\n /**\n * Inline style of the element.\n * @group Props\n */\n\n @Input() style: { [klass: string]: any } | null | undefined;\n\n /**\n * Width of the circle stroke.\n * @group Props\n */\n @Input() strokeWidth: number = 5;\n /**\n * Color for the background of the circle.\n * @group Props\n */\n @Input() fill: string = 'none';\n /**\n * Duration of the rotate animation.\n * @group Props\n */\n @Input() animationDuration: string = '2s';\n /**\n * Used to define a aria label attribute the current element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n}\n","<div class=\"cax-progress-spinner\" [ngStyle]=\"style\" [ngClass]=\"['cax-progress-spinner-size-' + size]\" role=\"progressbar\" [attr.aria-label]=\"ariaLabel\" [attr.aria-busy]=\"true\" [attr.data-pc-name]=\"'progressspinner'\" [attr.data-pc-section]=\"'root'\">\n <svg class=\"cax-progress-spinner-svg\" viewBox=\"25 25 50 50\" [style.animation-duration]=\"animationDuration\" [attr.data-pc-section]=\"'root'\">\n <circle\n class=\"cax-progress-spinner-bg\"\n cx=\"50\"\n cy=\"50\"\n r=\"20\"\n [attr.stroke-width]=\"strokeWidth\"\n [attr.stroke]=\"backgroundStroke\"\n fill=\"none\"\n ></circle>\n <circle class=\"cax-progress-spinner-circle \" cx=\"50\" cy=\"50\" r=\"20\" [attr.fill]=\"fill\" [attr.stroke-width]=\"strokeWidth\" stroke-miterlimit=\"10\" [attr.stroke]=\"backgroundStrokeColor\" [attr.stroke]=\"stroke\" [ngStyle]=\"{ stroke: stroke }\" />\n </svg>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ProgressSpinner } from './progressspinner';\n\n@NgModule({\n imports: [CommonModule],\n exports: [ProgressSpinner],\n declarations: [ProgressSpinner]\n})\nexport class ProgressSpinnerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -232,13 +232,13 @@ class RadioButton {
|
|
|
232
232
|
`);
|
|
233
233
|
}
|
|
234
234
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RadioButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: RadioControlRegistry }, { token: i1.caxConfig }], target: i0.ɵɵFactoryTarget.Component });
|
|
235
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: RadioButton, isStandalone: true, selector: "cax-radioButton", inputs: { value: "value", size: "size", formControlName: "formControlName", name: "name", disabled: ["disabled", "disabled", booleanAttribute], label: "label", variant: "variant", tabindex: ["tabindex", "tabindex", numberAttribute], inputId: "inputId", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", style: "style", styleClass: "styleClass", labelStyleClass: "labelStyleClass", autofocus: ["autofocus", "autofocus", booleanAttribute] }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur" }, host: { classAttribute: "cax-element" }, providers: [RADIO_VALUE_ACCESSOR], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div\
|
|
235
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: RadioButton, isStandalone: true, selector: "cax-radioButton", inputs: { value: "value", size: "size", formControlName: "formControlName", name: "name", disabled: ["disabled", "disabled", booleanAttribute], label: "label", variant: "variant", tabindex: ["tabindex", "tabindex", numberAttribute], inputId: "inputId", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", style: "style", styleClass: "styleClass", labelStyleClass: "labelStyleClass", autofocus: ["autofocus", "autofocus", booleanAttribute] }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur" }, host: { classAttribute: "cax-element" }, providers: [RADIO_VALUE_ACCESSOR], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div\n [ngStyle]=\"style\"\n [ngClass]=\"{\n 'cax-radiobutton cax-component': true,\n 'cax-radiobutton-checked': checked,\n 'cax-radiobutton-disabled': disabled,\n 'cax-radiobutton-focused': focused,\n 'cax-variant-filled': variant === 'filled' || config.inputStyle() === 'filled',\n 'cax-radiobutton-sm': size === 'sm',\n 'cax-radiobutton-md': size === 'md' || !size,\n 'cax-radiobutton-lg': size === 'lg'\n }\"\n [class]=\"styleClass\"\n [attr.data-pc-name]=\"'radiobutton'\"\n [attr.data-pc-section]=\"'root'\"\n (click)=\"handleClick($event, input, true)\"\n>\n <div class=\"cax-hidden-accessible\" [attr.data-pc-section]=\"'hiddenInputWrapper'\">\n <input\n #input\n [attr.id]=\"inputId\"\n type=\"radio\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [value]=\"value\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-checked]=\"checked\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [attr.data-pc-section]=\"'hiddenInput'\"\n pAutoFocus\n [autofocus]=\"autofocus\"\n />\n </div>\n <div [ngClass]=\"{ 'cax-radiobutton-box': true, 'cax-highlight': checked, 'cax-disabled': disabled, 'cax-focus': focused }\" [attr.data-pc-section]=\"'input'\">\n <span class=\"cax-radiobutton-icon\" [attr.data-pc-section]=\"'icon'\"></span>\n </div>\n</div>\n<label\n (click)=\"select($event)\"\n [class]=\"labelStyleClass\"\n [ngClass]=\"{ 'cax-radiobutton-label': true, 'cax-radiobutton-label-active': input.checked, 'cax-disabled': disabled, 'cax-radiobutton-label-focus': focused, 'cax-radiobutton-label-sm': size === 'sm',\n 'cax-radiobutton-label-md': size === 'md' || !size,\n 'cax-radiobutton-label-lg': size === 'lg' }\"\n *ngIf=\"label\"\n [attr.for]=\"inputId\"\n [attr.data-pc-section]=\"'label'\"\n >{{ label }}</label\n>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: AutoFocusModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
236
236
|
}
|
|
237
237
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RadioButton, decorators: [{
|
|
238
238
|
type: Component,
|
|
239
239
|
args: [{ selector: 'cax-radioButton', providers: [RADIO_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, AutoFocusModule], host: {
|
|
240
240
|
class: 'cax-element'
|
|
241
|
-
}, template: "<div\
|
|
241
|
+
}, template: "<div\n [ngStyle]=\"style\"\n [ngClass]=\"{\n 'cax-radiobutton cax-component': true,\n 'cax-radiobutton-checked': checked,\n 'cax-radiobutton-disabled': disabled,\n 'cax-radiobutton-focused': focused,\n 'cax-variant-filled': variant === 'filled' || config.inputStyle() === 'filled',\n 'cax-radiobutton-sm': size === 'sm',\n 'cax-radiobutton-md': size === 'md' || !size,\n 'cax-radiobutton-lg': size === 'lg'\n }\"\n [class]=\"styleClass\"\n [attr.data-pc-name]=\"'radiobutton'\"\n [attr.data-pc-section]=\"'root'\"\n (click)=\"handleClick($event, input, true)\"\n>\n <div class=\"cax-hidden-accessible\" [attr.data-pc-section]=\"'hiddenInputWrapper'\">\n <input\n #input\n [attr.id]=\"inputId\"\n type=\"radio\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [value]=\"value\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-checked]=\"checked\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [attr.data-pc-section]=\"'hiddenInput'\"\n pAutoFocus\n [autofocus]=\"autofocus\"\n />\n </div>\n <div [ngClass]=\"{ 'cax-radiobutton-box': true, 'cax-highlight': checked, 'cax-disabled': disabled, 'cax-focus': focused }\" [attr.data-pc-section]=\"'input'\">\n <span class=\"cax-radiobutton-icon\" [attr.data-pc-section]=\"'icon'\"></span>\n </div>\n</div>\n<label\n (click)=\"select($event)\"\n [class]=\"labelStyleClass\"\n [ngClass]=\"{ 'cax-radiobutton-label': true, 'cax-radiobutton-label-active': input.checked, 'cax-disabled': disabled, 'cax-radiobutton-label-focus': focused, 'cax-radiobutton-label-sm': size === 'sm',\n 'cax-radiobutton-label-md': size === 'md' || !size,\n 'cax-radiobutton-label-lg': size === 'lg' }\"\n *ngIf=\"label\"\n [attr.for]=\"inputId\"\n [attr.data-pc-section]=\"'label'\"\n >{{ label }}</label\n>\n" }]
|
|
242
242
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: RadioControlRegistry }, { type: i1.caxConfig }], propDecorators: { value: [{
|
|
243
243
|
type: Input
|
|
244
244
|
}], size: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cax-design-system-radiobutton.mjs","sources":["../../src/app/components/radiobutton/radiobutton.ts","../../src/app/components/radiobutton/radiobutton.html","../../src/app/components/radiobutton/radiobutton.module.ts","../../src/app/components/radiobutton/cax-design-system-radiobutton.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Injectable, Injector, Input, NgModule, OnDestroy, OnInit, Output, ViewChild, booleanAttribute, forwardRef, numberAttribute } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\n\nimport { RadioButtonClickEvent } from './radiobutton.interface';\nimport { caxConfig } from 'cax-design-system/api';\n\nexport const RADIO_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioButton),\n multi: true\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RadioControlRegistry {\n private accessors: any[] = [];\n\n add(control: NgControl, accessor: RadioButton) {\n this.accessors.push([control, accessor]);\n }\n\n remove(accessor: RadioButton) {\n this.accessors = this.accessors.filter((c) => {\n return c[1] !== accessor;\n });\n }\n\n select(accessor: RadioButton) {\n this.accessors.forEach((c) => {\n if (this.isSameGroup(c, accessor) && c[1] !== accessor) {\n c[1].writeValue(accessor.value);\n }\n });\n }\n\n private isSameGroup(controlPair: [NgControl, RadioButton], accessor: RadioButton): boolean {\n if (!controlPair[0].control) {\n return false;\n }\n\n return controlPair[0].control.root === (accessor as any).control.control.root && controlPair[1].name === accessor.name;\n }\n}\n/**\n * RadioButton is an extension to standard radio button element with theming.\n * @group Components\n */\n@Component({\n selector: 'cax-radioButton',\n templateUrl: './radiobutton.html',\n providers: [RADIO_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [CommonModule, AutoFocusModule],\n host: {\n class: 'cax-element'\n }\n})\nexport class RadioButton implements ControlValueAccessor, OnInit, OnDestroy {\n /**\n * Value of the radiobutton.\n * @group Props\n */\n @Input() value: any;\n /**\n * Size of the radiobutton.\n * @group Props\n */\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n /**\n * The name of the form control.\n * @group Props\n */\n @Input() formControlName: string | undefined;\n /**\n * Name of the radiobutton group.\n * @group Props\n */\n @Input() name: 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 * Label of the radiobutton.\n * @group Props\n */\n @Input() label: string | undefined;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined' = 'outlined';\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | 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 * 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 * Used to define a string that labels the input element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Style class of the label.\n * @group Props\n */\n @Input() labelStyleClass: string | undefined;\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 * Callback to invoke on radio button click.\n * @param {RadioButtonClickEvent} event - Custom click event.\n * @group Emits\n */\n @Output() onClick: EventEmitter<RadioButtonClickEvent> = new EventEmitter<RadioButtonClickEvent>();\n /**\n * Callback to invoke when the receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when the loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter<Event>();\n\n @ViewChild('input') inputViewChild!: ElementRef;\n\n public onModelChange: Function = () => {};\n\n public onModelTouched: Function = () => {};\n\n public checked: Nullable<boolean>;\n\n public focused: Nullable<boolean>;\n\n control: Nullable<NgControl>;\n\n constructor(\n public cd: ChangeDetectorRef,\n private injector: Injector,\n private registry: RadioControlRegistry,\n public config: caxConfig\n ) {}\n\n ngOnInit() {\n this.control = this.injector.get(NgControl);\n this.checkName();\n this.registry.add(this.control, this);\n }\n\n handleClick(event: Event, radioButton: HTMLElement, focus: boolean) {\n event.preventDefault();\n\n if (this.disabled) {\n return;\n }\n\n this.select(event);\n\n if (focus) {\n radioButton.focus();\n }\n }\n\n select(event: Event) {\n if (!this.disabled) {\n this.inputViewChild.nativeElement.checked = true;\n this.checked = true;\n this.onModelChange(this.value);\n this.registry.select(this);\n this.onClick.emit({ originalEvent: event, value: this.value });\n }\n }\n\n writeValue(value: any): void {\n this.checked = value == this.value;\n\n if (this.inputViewChild && this.inputViewChild.nativeElement) {\n this.inputViewChild.nativeElement.checked = this.checked;\n }\n\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 onInputFocus(event: Event) {\n this.focused = true;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event: Event) {\n this.focused = false;\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n /**\n * Applies focus to input field.\n * @group Method\n */\n public focus() {\n this.inputViewChild.nativeElement.focus();\n }\n\n ngOnDestroy() {\n this.registry.remove(this);\n }\n\n private checkName() {\n if (this.name && this.formControlName && this.name !== this.formControlName) {\n this.throwNameError();\n }\n if (!this.name && this.formControlName) {\n this.name = this.formControlName;\n }\n }\n\n private throwNameError() {\n throw new Error(`\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: <cax-radioButton formControlName=\"food\" name=\"food\"></cax-radioButton>\n `);\n }\n}\n","<div\r\n [ngStyle]=\"style\"\r\n [ngClass]=\"{\r\n 'cax-radiobutton cax-component': true,\r\n 'cax-radiobutton-checked': checked,\r\n 'cax-radiobutton-disabled': disabled,\r\n 'cax-radiobutton-focused': focused,\r\n 'cax-variant-filled': variant === 'filled' || config.inputStyle() === 'filled',\r\n 'cax-radiobutton-sm': size === 'sm',\r\n 'cax-radiobutton-md': size === 'md' || !size,\r\n 'cax-radiobutton-lg': size === 'lg'\r\n }\"\r\n [class]=\"styleClass\"\r\n [attr.data-pc-name]=\"'radiobutton'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n (click)=\"handleClick($event, input, true)\"\r\n>\r\n <div class=\"cax-hidden-accessible\" [attr.data-pc-section]=\"'hiddenInputWrapper'\">\r\n <input\r\n #input\r\n [attr.id]=\"inputId\"\r\n type=\"radio\"\r\n [attr.name]=\"name\"\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n [value]=\"value\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-checked]=\"checked\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [attr.data-pc-section]=\"'hiddenInput'\"\r\n pAutoFocus\r\n [autofocus]=\"autofocus\"\r\n />\r\n </div>\r\n <div [ngClass]=\"{ 'cax-radiobutton-box': true, 'cax-highlight': checked, 'cax-disabled': disabled, 'cax-focus': focused }\" [attr.data-pc-section]=\"'input'\">\r\n <span class=\"cax-radiobutton-icon\" [attr.data-pc-section]=\"'icon'\"></span>\r\n </div>\r\n</div>\r\n<label\r\n (click)=\"select($event)\"\r\n [class]=\"labelStyleClass\"\r\n [ngClass]=\"{ 'cax-radiobutton-label': true, 'cax-radiobutton-label-active': input.checked, 'cax-disabled': disabled, 'cax-radiobutton-label-focus': focused, 'cax-radiobutton-label-sm': size === 'sm',\r\n 'cax-radiobutton-label-md': size === 'md' || !size,\r\n 'cax-radiobutton-label-lg': size === 'lg' }\"\r\n *ngIf=\"label\"\r\n [attr.for]=\"inputId\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >{{ label }}</label\r\n>\r\n","import { NgModule } from '@angular/core';\nimport { RadioButton } from './radiobutton';\n\n@NgModule({\n imports: [RadioButton],\n exports: [RadioButton]\n})\nexport class RadioButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cax-design-system-radiobutton.mjs","sources":["../../src/app/components/radiobutton/radiobutton.ts","../../src/app/components/radiobutton/radiobutton.html","../../src/app/components/radiobutton/radiobutton.module.ts","../../src/app/components/radiobutton/cax-design-system-radiobutton.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Injectable, Injector, Input, NgModule, OnDestroy, OnInit, Output, ViewChild, booleanAttribute, forwardRef, numberAttribute } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\n\nimport { RadioButtonClickEvent } from './radiobutton.interface';\nimport { caxConfig } from 'cax-design-system/api';\n\nexport const RADIO_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioButton),\n multi: true\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RadioControlRegistry {\n private accessors: any[] = [];\n\n add(control: NgControl, accessor: RadioButton) {\n this.accessors.push([control, accessor]);\n }\n\n remove(accessor: RadioButton) {\n this.accessors = this.accessors.filter((c) => {\n return c[1] !== accessor;\n });\n }\n\n select(accessor: RadioButton) {\n this.accessors.forEach((c) => {\n if (this.isSameGroup(c, accessor) && c[1] !== accessor) {\n c[1].writeValue(accessor.value);\n }\n });\n }\n\n private isSameGroup(controlPair: [NgControl, RadioButton], accessor: RadioButton): boolean {\n if (!controlPair[0].control) {\n return false;\n }\n\n return controlPair[0].control.root === (accessor as any).control.control.root && controlPair[1].name === accessor.name;\n }\n}\n/**\n * RadioButton is an extension to standard radio button element with theming.\n * @group Components\n */\n@Component({\n selector: 'cax-radioButton',\n templateUrl: './radiobutton.html',\n providers: [RADIO_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [CommonModule, AutoFocusModule],\n host: {\n class: 'cax-element'\n }\n})\nexport class RadioButton implements ControlValueAccessor, OnInit, OnDestroy {\n /**\n * Value of the radiobutton.\n * @group Props\n */\n @Input() value: any;\n /**\n * Size of the radiobutton.\n * @group Props\n */\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n /**\n * The name of the form control.\n * @group Props\n */\n @Input() formControlName: string | undefined;\n /**\n * Name of the radiobutton group.\n * @group Props\n */\n @Input() name: 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 * Label of the radiobutton.\n * @group Props\n */\n @Input() label: string | undefined;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined' = 'outlined';\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | 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 * 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 * Used to define a string that labels the input element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Style class of the label.\n * @group Props\n */\n @Input() labelStyleClass: string | undefined;\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 * Callback to invoke on radio button click.\n * @param {RadioButtonClickEvent} event - Custom click event.\n * @group Emits\n */\n @Output() onClick: EventEmitter<RadioButtonClickEvent> = new EventEmitter<RadioButtonClickEvent>();\n /**\n * Callback to invoke when the receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when the loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter<Event>();\n\n @ViewChild('input') inputViewChild!: ElementRef;\n\n public onModelChange: Function = () => {};\n\n public onModelTouched: Function = () => {};\n\n public checked: Nullable<boolean>;\n\n public focused: Nullable<boolean>;\n\n control: Nullable<NgControl>;\n\n constructor(\n public cd: ChangeDetectorRef,\n private injector: Injector,\n private registry: RadioControlRegistry,\n public config: caxConfig\n ) {}\n\n ngOnInit() {\n this.control = this.injector.get(NgControl);\n this.checkName();\n this.registry.add(this.control, this);\n }\n\n handleClick(event: Event, radioButton: HTMLElement, focus: boolean) {\n event.preventDefault();\n\n if (this.disabled) {\n return;\n }\n\n this.select(event);\n\n if (focus) {\n radioButton.focus();\n }\n }\n\n select(event: Event) {\n if (!this.disabled) {\n this.inputViewChild.nativeElement.checked = true;\n this.checked = true;\n this.onModelChange(this.value);\n this.registry.select(this);\n this.onClick.emit({ originalEvent: event, value: this.value });\n }\n }\n\n writeValue(value: any): void {\n this.checked = value == this.value;\n\n if (this.inputViewChild && this.inputViewChild.nativeElement) {\n this.inputViewChild.nativeElement.checked = this.checked;\n }\n\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 onInputFocus(event: Event) {\n this.focused = true;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event: Event) {\n this.focused = false;\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n /**\n * Applies focus to input field.\n * @group Method\n */\n public focus() {\n this.inputViewChild.nativeElement.focus();\n }\n\n ngOnDestroy() {\n this.registry.remove(this);\n }\n\n private checkName() {\n if (this.name && this.formControlName && this.name !== this.formControlName) {\n this.throwNameError();\n }\n if (!this.name && this.formControlName) {\n this.name = this.formControlName;\n }\n }\n\n private throwNameError() {\n throw new Error(`\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: <cax-radioButton formControlName=\"food\" name=\"food\"></cax-radioButton>\n `);\n }\n}\n","<div\n [ngStyle]=\"style\"\n [ngClass]=\"{\n 'cax-radiobutton cax-component': true,\n 'cax-radiobutton-checked': checked,\n 'cax-radiobutton-disabled': disabled,\n 'cax-radiobutton-focused': focused,\n 'cax-variant-filled': variant === 'filled' || config.inputStyle() === 'filled',\n 'cax-radiobutton-sm': size === 'sm',\n 'cax-radiobutton-md': size === 'md' || !size,\n 'cax-radiobutton-lg': size === 'lg'\n }\"\n [class]=\"styleClass\"\n [attr.data-pc-name]=\"'radiobutton'\"\n [attr.data-pc-section]=\"'root'\"\n (click)=\"handleClick($event, input, true)\"\n>\n <div class=\"cax-hidden-accessible\" [attr.data-pc-section]=\"'hiddenInputWrapper'\">\n <input\n #input\n [attr.id]=\"inputId\"\n type=\"radio\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [value]=\"value\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-checked]=\"checked\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [attr.data-pc-section]=\"'hiddenInput'\"\n pAutoFocus\n [autofocus]=\"autofocus\"\n />\n </div>\n <div [ngClass]=\"{ 'cax-radiobutton-box': true, 'cax-highlight': checked, 'cax-disabled': disabled, 'cax-focus': focused }\" [attr.data-pc-section]=\"'input'\">\n <span class=\"cax-radiobutton-icon\" [attr.data-pc-section]=\"'icon'\"></span>\n </div>\n</div>\n<label\n (click)=\"select($event)\"\n [class]=\"labelStyleClass\"\n [ngClass]=\"{ 'cax-radiobutton-label': true, 'cax-radiobutton-label-active': input.checked, 'cax-disabled': disabled, 'cax-radiobutton-label-focus': focused, 'cax-radiobutton-label-sm': size === 'sm',\n 'cax-radiobutton-label-md': size === 'md' || !size,\n 'cax-radiobutton-label-lg': size === 'lg' }\"\n *ngIf=\"label\"\n [attr.for]=\"inputId\"\n [attr.data-pc-section]=\"'label'\"\n >{{ label }}</label\n>\n","import { NgModule } from '@angular/core';\nimport { RadioButton } from './radiobutton';\n\n@NgModule({\n imports: [RadioButton],\n exports: [RadioButton]\n})\nexport class RadioButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|