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-selectbutton.mjs","sources":["../../src/app/components/selectbutton/selectbutton.ts","../../src/app/components/selectbutton/selectbutton.html","../../src/app/components/selectbutton/selectbutton.module.ts","../../src/app/components/selectbutton/cax-design-system-selectbutton.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, Input, NgModule, Output, TemplateRef, ViewChild, ViewEncapsulation, booleanAttribute, forwardRef, numberAttribute } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CaxTemplate, SharedModule } from 'cax-design-system/api';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { ObjectUtils } from 'cax-design-system/utils';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\nimport { SelectButtonChangeEvent, SelectButtonOptionClickEvent } from './selectbutton.interface';\n\nexport const SELECTBUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectButton),\n multi: true\n};\n/**\n * SelectButton is used to choose single or multiple items from a list using buttons.\n * @group Components\n */\n@Component({\n selector: 'cax-selectButton',\n templateUrl: `./selectbutton.html`,\n providers: [SELECTBUTTON_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['../button/button.scss'],\n host: {\n class: 'cax-element'\n }\n})\nexport class SelectButton implements ControlValueAccessor {\n /**\n * An array of selectitems to display as the available options.\n * @group Props\n */\n @Input() options: any[] | undefined;\n /**\n * Name of the label field of an option.\n * @group Props\n */\n @Input() optionLabel: string | undefined;\n /**\n * Name of the value field of an option.\n * @group Props\n */\n @Input() optionValue: string | undefined;\n /**\n * Name of the disabled field of an option.\n * @group Props\n */\n @Input() optionDisabled: string | undefined;\n @Input() invalid: boolean = false;\n /**\n * Whether selection can be cleared.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) unselectable: boolean = false;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number = 0;\n /**\n * When specified, allows selecting multiple values.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) multiple: boolean | undefined;\n /**\n * Whether selection can not be cleared.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) allowEmpty: boolean = true;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: any;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n @Input() dataKey: 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 input click.\n * @param {SelectButtonOptionClickEvent} event - Custom click event.\n * @group Emits\n */\n @Output() onOptionClick: EventEmitter<SelectButtonOptionClickEvent> = new EventEmitter<SelectButtonOptionClickEvent>();\n /**\n * Callback to invoke on selection change.\n * @param {SelectButtonChangeEvent} event - Custom change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<SelectButtonChangeEvent> = new EventEmitter<SelectButtonChangeEvent>();\n\n @ViewChild('container') container: Nullable<ElementRef>;\n\n @ContentChild(CaxTemplate) itemTemplate!: CaxTemplate;\n\n public get selectButtonTemplate(): TemplateRef<any> {\n return this.itemTemplate?.template;\n }\n\n get equalityKey() {\n return this.optionValue ? null : this.dataKey;\n }\n\n value: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n focusedIndex: number = 0;\n\n constructor(public cd: ChangeDetectorRef) {}\n\n getOptionLabel(option: any) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : option.label != undefined ? option.label : option;\n }\n\n getOptionValue(option: any) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : this.optionLabel || option.value === undefined ? option : option.value;\n }\n\n isOptionDisabled(option: any) {\n return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : option.disabled !== undefined ? option.disabled : false;\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n onOptionSelect(event, option, index) {\n if (this.disabled || this.isOptionDisabled(option)) {\n return;\n }\n\n let selected = this.isSelected(option);\n\n if (selected && this.unselectable) {\n return;\n }\n\n let optionValue = this.getOptionValue(option);\n let newValue;\n\n if (this.multiple) {\n if (selected) newValue = this.value.filter((val) => !ObjectUtils.equals(val, optionValue, this.equalityKey));\n else newValue = this.value ? [...this.value, optionValue] : [optionValue];\n } else {\n if (selected && !this.allowEmpty) {\n return;\n }\n newValue = selected ? null : optionValue;\n }\n\n this.focusedIndex = index;\n this.value = newValue;\n this.onModelChange(this.value);\n\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n\n this.onOptionClick.emit({\n originalEvent: event,\n option: option,\n index: index\n });\n }\n\n onKeyDown(event, option, index) {\n switch (event.code) {\n case 'Space': {\n this.onOptionSelect(event, option, index);\n event.preventDefault();\n break;\n }\n\n case 'ArrowDown':\n\n case 'ArrowRight': {\n this.changeTabIndexes(event, 'next');\n event.preventDefault();\n break;\n }\n\n case 'ArrowUp':\n\n case 'ArrowLeft': {\n this.changeTabIndexes(event, 'prev');\n event.preventDefault();\n break;\n }\n\n default:\n //no op\n break;\n }\n }\n\n changeTabIndexes(event, direction) {\n let firstTabableChild, index;\n\n for (let i = 0; i <= this.container.nativeElement.children.length - 1; i++) {\n if (this.container.nativeElement.children[i].getAttribute('tabindex') === '0') firstTabableChild = { elem: this.container.nativeElement.children[i], index: i };\n }\n\n if (direction === 'prev') {\n if (firstTabableChild.index === 0) index = this.container.nativeElement.children.length - 1;\n else index = firstTabableChild.index - 1;\n } else {\n if (firstTabableChild.index === this.container.nativeElement.children.length - 1) index = 0;\n else index = firstTabableChild.index + 1;\n }\n\n this.focusedIndex = index;\n this.container.nativeElement.children[index].focus();\n }\n\n onFocus(event: Event, index: number) {\n this.focusedIndex = index;\n }\n\n onBlur() {\n this.onModelTouched();\n }\n\n removeOption(option: any): void {\n this.value = this.value.filter((val: any) => !ObjectUtils.equals(val, this.getOptionValue(option), this.dataKey));\n }\n\n isSelected(option: any) {\n let selected = false;\n const optionValue = this.getOptionValue(option);\n\n if (this.multiple) {\n if (this.value && Array.isArray(this.value)) {\n for (let val of this.value) {\n if (ObjectUtils.equals(val, optionValue, this.dataKey)) {\n selected = true;\n break;\n }\n }\n }\n } else {\n selected = ObjectUtils.equals(this.getOptionValue(option), this.value, this.equalityKey);\n }\n\n return selected;\n }\n}\n","<div #container [ngClass]=\"'cax-selectbutton cax-buttonset cax-component'\" [ngStyle]=\"style\" [class]=\"styleClass\" role=\"group\" [attr.aria-labelledby]=\"ariaLabelledBy\" [attr.data-pc-name]=\"'selectbutton'\" [attr.data-pc-section]=\"'root'\">\r\n <div\r\n *ngFor=\"let option of options; let i = index\"\r\n caxRipple\r\n [attr.tabindex]=\"i === focusedIndex && !disabled ? '0' : '-1'\"\r\n [attr.aria-label]=\"option.label\"\r\n [role]=\"multiple ? 'checkbox' : 'radio'\"\r\n [attr.aria-checked]=\"isSelected(option)\"\r\n [attr.aria-disabled]=\"optionDisabled\"\r\n class=\"cax-button cax-component\"\r\n [class]=\"option.styleClass\"\r\n [ngClass]=\"{ 'cax-highlight': isSelected(option), 'cax-disabled': disabled || isOptionDisabled(option), 'cax-button-icon-only': option.icon && !getOptionLabel(option) , 'cax-input-invalid': invalid}\"\r\n (click)=\"onOptionSelect($event, option, i)\"\r\n (keydown)=\"onKeyDown($event, option, i)\"\r\n [attr.title]=\"option.title\"\r\n (focus)=\"onFocus($event, i)\"\r\n (blur)=\"onBlur()\"\r\n [attr.aria-labelledby]=\"this.getOptionLabel(option)\"\r\n [attr.data-pc-section]=\"'button'\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n >\r\n <ng-container *ngIf=\"!itemTemplate; else customcontent\">\r\n <span [ngClass]=\"'cax-button-icon cax-button-icon-left'\" [class]=\"option.icon\" *ngIf=\"option.icon\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax-button-label\" [attr.data-pc-section]=\"'label'\">{{ getOptionLabel(option) }}</span>\r\n </ng-container>\r\n <ng-template #customcontent>\r\n <ng-container *ngTemplateOutlet=\"selectButtonTemplate; context: { $implicit: option, index: i }\"></ng-container>\r\n </ng-template>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\nimport { SharedModule } from 'cax-design-system/api';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { SelectButton } from './selectbutton';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n imports: [CommonModule, RippleModule, SharedModule, AutoFocusModule],\n exports: [SelectButton, SharedModule],\n declarations: [SelectButton]\n})\nexport class SelectButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;AAUa,MAAA,2BAA2B,GAAQ;AAC5C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,YAAY,CAAC;AAC3C,IAAA,KAAK,EAAE,IAAI;EACb;AACF;;;AAGG;MAYU,YAAY,CAAA;AAyGF,IAAA,EAAA,CAAA;AAxGnB;;;AAGG;AACM,IAAA,OAAO,CAAoB;AACpC;;;AAGG;AACM,IAAA,WAAW,CAAqB;AACzC;;;AAGG;AACM,IAAA,WAAW,CAAqB;AACzC;;;AAGG;AACM,IAAA,cAAc,CAAqB;IACnC,OAAO,GAAY,KAAK,CAAC;AAClC;;;AAGG;IACqC,YAAY,GAAY,KAAK,CAAC;AACtE;;;AAGG;IACoC,QAAQ,GAAW,CAAC,CAAC;AAC5D;;;AAGG;AACqC,IAAA,QAAQ,CAAsB;AACtE;;;AAGG;IACqC,UAAU,GAAY,IAAI,CAAC;AACnE;;;AAGG;AACM,IAAA,KAAK,CAAM;AACpB;;;AAGG;AACM,IAAA,UAAU,CAAqB;AACxC;;;AAGG;AACM,IAAA,cAAc,CAAqB;AAC5C;;;AAGG;AACqC,IAAA,QAAQ,CAAsB;AACtE;;;AAGG;AACM,IAAA,OAAO,CAAqB;AACrC;;;AAGG;AACqC,IAAA,SAAS,CAAsB;AACvE;;;;AAIG;AACO,IAAA,aAAa,GAA+C,IAAI,YAAY,EAAgC,CAAC;AACvH;;;;AAIG;AACO,IAAA,QAAQ,GAA0C,IAAI,YAAY,EAA2B,CAAC;AAEhF,IAAA,SAAS,CAAuB;AAE7B,IAAA,YAAY,CAAe;AAEtD,IAAA,IAAW,oBAAoB,GAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC;KACtC;AAED,IAAA,IAAI,WAAW,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;KACjD;AAED,IAAA,KAAK,CAAM;AAEX,IAAA,aAAa,GAAa,MAAK,GAAG,CAAC;AAEnC,IAAA,cAAc,GAAa,MAAK,GAAG,CAAC;IAEpC,YAAY,GAAW,CAAC,CAAC;AAEzB,IAAA,WAAA,CAAmB,EAAqB,EAAA;QAArB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;KAAI;AAE5C,IAAA,cAAc,CAAC,MAAW,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;KACxI;AAED,IAAA,cAAc,CAAC,MAAW,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;KAC7J;AAED,IAAA,gBAAgB,CAAC,MAAW,EAAA;AACxB,QAAA,OAAO,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,QAAQ,KAAK,SAAS,GAAG,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;KACpJ;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;KAC1B;AAED,IAAA,gBAAgB,CAAC,EAAY,EAAA;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;KAC3B;AAED,IAAA,iBAAiB,CAAC,EAAY,EAAA;AAC1B,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;KAC5B;AAED,IAAA,gBAAgB,CAAC,GAAY,EAAA;AACzB,QAAA,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;AACpB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;KAC1B;AAED,IAAA,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAA;QAC/B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;YAChD,OAAO;SACV;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAEvC,QAAA,IAAI,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE;YAC/B,OAAO;SACV;QAED,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAC9C,QAAA,IAAI,QAAQ,CAAC;AAEb,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,IAAI,QAAQ;gBAAE,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;;gBACxG,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;SAC7E;aAAM;AACH,YAAA,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAC9B,OAAO;aACV;YACD,QAAQ,GAAG,QAAQ,GAAG,IAAI,GAAG,WAAW,CAAC;SAC5C;AAED,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC1B,QAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;AACtB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAE/B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACf,YAAA,aAAa,EAAE,KAAK;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK;AACpB,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;AACpB,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,KAAK,EAAE,KAAK;AACf,SAAA,CAAC,CAAC;KACN;AAED,IAAA,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAA;AAC1B,QAAA,QAAQ,KAAK,CAAC,IAAI;YACd,KAAK,OAAO,EAAE;gBACV,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC1C,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM;aACT;AAED,YAAA,KAAK,WAAW,CAAC;YAEjB,KAAK,YAAY,EAAE;AACf,gBAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACrC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM;aACT;AAED,YAAA,KAAK,SAAS,CAAC;YAEf,KAAK,WAAW,EAAE;AACd,gBAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACrC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM;aACT;AAED,YAAA;;gBAEI,MAAM;SACb;KACJ;IAED,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAA;QAC7B,IAAI,iBAAiB,EAAE,KAAK,CAAC;QAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACxE,YAAA,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,GAAG;AAAE,gBAAA,iBAAiB,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;SACnK;AAED,QAAA,IAAI,SAAS,KAAK,MAAM,EAAE;AACtB,YAAA,IAAI,iBAAiB,CAAC,KAAK,KAAK,CAAC;AAAE,gBAAA,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;;AACvF,gBAAA,KAAK,GAAG,iBAAiB,CAAC,KAAK,GAAG,CAAC,CAAC;SAC5C;aAAM;AACH,YAAA,IAAI,iBAAiB,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,GAAG,CAAC,CAAC;;AACvF,gBAAA,KAAK,GAAG,iBAAiB,CAAC,KAAK,GAAG,CAAC,CAAC;SAC5C;AAED,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC1B,QAAA,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;KACxD;IAED,OAAO,CAAC,KAAY,EAAE,KAAa,EAAA;AAC/B,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;KAC7B;IAED,MAAM,GAAA;QACF,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;AAED,IAAA,YAAY,CAAC,MAAW,EAAA;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAQ,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;KACrH;AAED,IAAA,UAAU,CAAC,MAAW,EAAA;QAClB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAEhD,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACzC,gBAAA,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE;AACxB,oBAAA,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;wBACpD,QAAQ,GAAG,IAAI,CAAC;wBAChB,MAAM;qBACT;iBACJ;aACJ;SACJ;aAAM;YACH,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SAC5F;AAED,QAAA,OAAO,QAAQ,CAAC;KACnB;uGAhQQ,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,2NA0BD,gBAAgB,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAKhB,eAAe,CAKf,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAgB,4CAKhB,gBAAgB,CAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAoBhB,gBAAgB,CAUhB,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAAA,gBAAgB,4HA/EzB,CAAC,2BAA2B,CAAC,EA+F1B,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,WAAW,wJCrH7B,24DA8BM,EAAA,MAAA,EAAA,CAAA,izGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDAO,YAAY,EAAA,UAAA,EAAA,CAAA;kBAXxB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAEjB,SAAA,EAAA,CAAC,2BAA2B,CAAC,EACvB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAE/B,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,aAAa;AACvB,qBAAA,EAAA,QAAA,EAAA,24DAAA,EAAA,MAAA,EAAA,CAAA,izGAAA,CAAA,EAAA,CAAA;sFAOQ,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAKG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAKG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKkC,YAAY,EAAA,CAAA;sBAAnD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAKC,QAAQ,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAA;gBAKG,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAKE,UAAU,EAAA,CAAA;sBAAjD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAK7B,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAKG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAKkC,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAK7B,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKkC,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAM5B,aAAa,EAAA,CAAA;sBAAtB,MAAM;gBAMG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAEiB,SAAS,EAAA,CAAA;sBAAhC,SAAS;uBAAC,WAAW,CAAA;gBAEK,YAAY,EAAA,CAAA;sBAAtC,YAAY;uBAAC,WAAW,CAAA;;;MEzGhB,kBAAkB,CAAA;uGAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EAFZ,YAAA,EAAA,CAAA,YAAY,CAFjB,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,CACzD,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,YAAY,CAAA,EAAA,CAAA,CAAA;wGAG3B,kBAAkB,EAAA,OAAA,EAAA,CAJjB,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAC3C,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAG3B,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,CAAC;AACpE,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;oBACrC,YAAY,EAAE,CAAC,YAAY,CAAC;AAC/B,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"cax-design-system-selectbutton.mjs","sources":["../../src/app/components/selectbutton/selectbutton.ts","../../src/app/components/selectbutton/selectbutton.html","../../src/app/components/selectbutton/selectbutton.module.ts","../../src/app/components/selectbutton/cax-design-system-selectbutton.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, Input, NgModule, Output, TemplateRef, ViewChild, ViewEncapsulation, booleanAttribute, forwardRef, numberAttribute } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CaxTemplate, SharedModule } from 'cax-design-system/api';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { ObjectUtils } from 'cax-design-system/utils';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\nimport { SelectButtonChangeEvent, SelectButtonOptionClickEvent } from './selectbutton.interface';\n\nexport const SELECTBUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectButton),\n multi: true\n};\n/**\n * SelectButton is used to choose single or multiple items from a list using buttons.\n * @group Components\n */\n@Component({\n selector: 'cax-selectButton',\n templateUrl: `./selectbutton.html`,\n providers: [SELECTBUTTON_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['../button/button.scss'],\n host: {\n class: 'cax-element'\n }\n})\nexport class SelectButton implements ControlValueAccessor {\n /**\n * An array of selectitems to display as the available options.\n * @group Props\n */\n @Input() options: any[] | undefined;\n /**\n * Name of the label field of an option.\n * @group Props\n */\n @Input() optionLabel: string | undefined;\n /**\n * Name of the value field of an option.\n * @group Props\n */\n @Input() optionValue: string | undefined;\n /**\n * Name of the disabled field of an option.\n * @group Props\n */\n @Input() optionDisabled: string | undefined;\n @Input() invalid: boolean = false;\n /**\n * Whether selection can be cleared.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) unselectable: boolean = false;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number = 0;\n /**\n * When specified, allows selecting multiple values.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) multiple: boolean | undefined;\n /**\n * Whether selection can not be cleared.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) allowEmpty: boolean = true;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: any;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n @Input() dataKey: 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 input click.\n * @param {SelectButtonOptionClickEvent} event - Custom click event.\n * @group Emits\n */\n @Output() onOptionClick: EventEmitter<SelectButtonOptionClickEvent> = new EventEmitter<SelectButtonOptionClickEvent>();\n /**\n * Callback to invoke on selection change.\n * @param {SelectButtonChangeEvent} event - Custom change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<SelectButtonChangeEvent> = new EventEmitter<SelectButtonChangeEvent>();\n\n @ViewChild('container') container: Nullable<ElementRef>;\n\n @ContentChild(CaxTemplate) itemTemplate!: CaxTemplate;\n\n public get selectButtonTemplate(): TemplateRef<any> {\n return this.itemTemplate?.template;\n }\n\n get equalityKey() {\n return this.optionValue ? null : this.dataKey;\n }\n\n value: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n focusedIndex: number = 0;\n\n constructor(public cd: ChangeDetectorRef) {}\n\n getOptionLabel(option: any) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : option.label != undefined ? option.label : option;\n }\n\n getOptionValue(option: any) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : this.optionLabel || option.value === undefined ? option : option.value;\n }\n\n isOptionDisabled(option: any) {\n return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : option.disabled !== undefined ? option.disabled : false;\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n onOptionSelect(event, option, index) {\n if (this.disabled || this.isOptionDisabled(option)) {\n return;\n }\n\n let selected = this.isSelected(option);\n\n if (selected && this.unselectable) {\n return;\n }\n\n let optionValue = this.getOptionValue(option);\n let newValue;\n\n if (this.multiple) {\n if (selected) newValue = this.value.filter((val) => !ObjectUtils.equals(val, optionValue, this.equalityKey));\n else newValue = this.value ? [...this.value, optionValue] : [optionValue];\n } else {\n if (selected && !this.allowEmpty) {\n return;\n }\n newValue = selected ? null : optionValue;\n }\n\n this.focusedIndex = index;\n this.value = newValue;\n this.onModelChange(this.value);\n\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n\n this.onOptionClick.emit({\n originalEvent: event,\n option: option,\n index: index\n });\n }\n\n onKeyDown(event, option, index) {\n switch (event.code) {\n case 'Space': {\n this.onOptionSelect(event, option, index);\n event.preventDefault();\n break;\n }\n\n case 'ArrowDown':\n\n case 'ArrowRight': {\n this.changeTabIndexes(event, 'next');\n event.preventDefault();\n break;\n }\n\n case 'ArrowUp':\n\n case 'ArrowLeft': {\n this.changeTabIndexes(event, 'prev');\n event.preventDefault();\n break;\n }\n\n default:\n //no op\n break;\n }\n }\n\n changeTabIndexes(event, direction) {\n let firstTabableChild, index;\n\n for (let i = 0; i <= this.container.nativeElement.children.length - 1; i++) {\n if (this.container.nativeElement.children[i].getAttribute('tabindex') === '0') firstTabableChild = { elem: this.container.nativeElement.children[i], index: i };\n }\n\n if (direction === 'prev') {\n if (firstTabableChild.index === 0) index = this.container.nativeElement.children.length - 1;\n else index = firstTabableChild.index - 1;\n } else {\n if (firstTabableChild.index === this.container.nativeElement.children.length - 1) index = 0;\n else index = firstTabableChild.index + 1;\n }\n\n this.focusedIndex = index;\n this.container.nativeElement.children[index].focus();\n }\n\n onFocus(event: Event, index: number) {\n this.focusedIndex = index;\n }\n\n onBlur() {\n this.onModelTouched();\n }\n\n removeOption(option: any): void {\n this.value = this.value.filter((val: any) => !ObjectUtils.equals(val, this.getOptionValue(option), this.dataKey));\n }\n\n isSelected(option: any) {\n let selected = false;\n const optionValue = this.getOptionValue(option);\n\n if (this.multiple) {\n if (this.value && Array.isArray(this.value)) {\n for (let val of this.value) {\n if (ObjectUtils.equals(val, optionValue, this.dataKey)) {\n selected = true;\n break;\n }\n }\n }\n } else {\n selected = ObjectUtils.equals(this.getOptionValue(option), this.value, this.equalityKey);\n }\n\n return selected;\n }\n}\n","<div #container [ngClass]=\"'cax-selectbutton cax-buttonset cax-component'\" [ngStyle]=\"style\" [class]=\"styleClass\" role=\"group\" [attr.aria-labelledby]=\"ariaLabelledBy\" [attr.data-pc-name]=\"'selectbutton'\" [attr.data-pc-section]=\"'root'\">\n <div\n *ngFor=\"let option of options; let i = index\"\n caxRipple\n [attr.tabindex]=\"i === focusedIndex && !disabled ? '0' : '-1'\"\n [attr.aria-label]=\"option.label\"\n [role]=\"multiple ? 'checkbox' : 'radio'\"\n [attr.aria-checked]=\"isSelected(option)\"\n [attr.aria-disabled]=\"optionDisabled\"\n class=\"cax-button cax-component\"\n [class]=\"option.styleClass\"\n [ngClass]=\"{ 'cax-highlight': isSelected(option), 'cax-disabled': disabled || isOptionDisabled(option), 'cax-button-icon-only': option.icon && !getOptionLabel(option) , 'cax-input-invalid': invalid}\"\n (click)=\"onOptionSelect($event, option, i)\"\n (keydown)=\"onKeyDown($event, option, i)\"\n [attr.title]=\"option.title\"\n (focus)=\"onFocus($event, i)\"\n (blur)=\"onBlur()\"\n [attr.aria-labelledby]=\"this.getOptionLabel(option)\"\n [attr.data-pc-section]=\"'button'\"\n caxAutoFocus\n [autofocus]=\"autofocus\"\n >\n <ng-container *ngIf=\"!itemTemplate; else customcontent\">\n <span [ngClass]=\"'cax-button-icon cax-button-icon-left'\" [class]=\"option.icon\" *ngIf=\"option.icon\" [attr.data-pc-section]=\"'icon'\"></span>\n <span class=\"cax-button-label\" [attr.data-pc-section]=\"'label'\">{{ getOptionLabel(option) }}</span>\n </ng-container>\n <ng-template #customcontent>\n <ng-container *ngTemplateOutlet=\"selectButtonTemplate; context: { $implicit: option, index: i }\"></ng-container>\n </ng-template>\n </div>\n</div>","import { CommonModule } from '@angular/common';\nimport { SharedModule } from 'cax-design-system/api';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { SelectButton } from './selectbutton';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n imports: [CommonModule, RippleModule, SharedModule, AutoFocusModule],\n exports: [SelectButton, SharedModule],\n declarations: [SelectButton]\n})\nexport class SelectButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -407,13 +407,13 @@ class Sidebar {
|
|
|
407
407
|
this.unbindAnimationEndListener();
|
|
408
408
|
}
|
|
409
409
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Sidebar, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.caxConfig }], target: i0.ɵɵFactoryTarget.Component });
|
|
410
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Sidebar, isStandalone: true, selector: "cax-sidebar", inputs: { headerText: "headerText", appendTo: "appendTo", blockScroll: ["blockScroll", "blockScroll", booleanAttribute], style: "style", styleClass: "styleClass", ariaCloseLabel: "ariaCloseLabel", autoZIndex: ["autoZIndex", "autoZIndex", booleanAttribute], baseZIndex: ["baseZIndex", "baseZIndex", numberAttribute], modal: ["modal", "modal", booleanAttribute], dismissible: ["dismissible", "dismissible", booleanAttribute], showCloseIcon: ["showCloseIcon", "showCloseIcon", booleanAttribute], closeOnEscape: ["closeOnEscape", "closeOnEscape", booleanAttribute], transitionOptions: "transitionOptions", visible: "visible", position: "position", fullScreen: "fullScreen", mode: "mode", contentTemplate: "contentTemplate", headerTemplate: "headerTemplate", headlessTemplate: "headlessTemplate", footerTemplate: "footerTemplate", closeIconTemplate: "closeIconTemplate", headerStyle: "headerStyle" }, outputs: { onShow: "onShow", onHide: "onHide", visibleChange: "visibleChange" }, host: { properties: { "class.sidebar-inline": "this.isInlineMode" }, classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "sidebarElement", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: " <!-- Sidebar Panel -->\
|
|
410
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Sidebar, isStandalone: true, selector: "cax-sidebar", inputs: { headerText: "headerText", appendTo: "appendTo", blockScroll: ["blockScroll", "blockScroll", booleanAttribute], style: "style", styleClass: "styleClass", ariaCloseLabel: "ariaCloseLabel", autoZIndex: ["autoZIndex", "autoZIndex", booleanAttribute], baseZIndex: ["baseZIndex", "baseZIndex", numberAttribute], modal: ["modal", "modal", booleanAttribute], dismissible: ["dismissible", "dismissible", booleanAttribute], showCloseIcon: ["showCloseIcon", "showCloseIcon", booleanAttribute], closeOnEscape: ["closeOnEscape", "closeOnEscape", booleanAttribute], transitionOptions: "transitionOptions", visible: "visible", position: "position", fullScreen: "fullScreen", mode: "mode", contentTemplate: "contentTemplate", headerTemplate: "headerTemplate", headlessTemplate: "headlessTemplate", footerTemplate: "footerTemplate", closeIconTemplate: "closeIconTemplate", headerStyle: "headerStyle" }, outputs: { onShow: "onShow", onHide: "onHide", visibleChange: "visibleChange" }, host: { properties: { "class.sidebar-inline": "this.isInlineMode" }, classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "sidebarElement", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: " <!-- Sidebar Panel -->\n <div\n #container\n [ngClass]=\"{\n 'cax-sidebar': true,\n 'cax-sidebar-active': visible,\n 'cax-sidebar-overlay': mode === 'overlay',\n 'cax-sidebar-inline': mode === 'inline',\n 'cax-sidebar-left': position === 'left' && !fullScreen,\n 'cax-sidebar-right': position === 'right' && !fullScreen,\n 'cax-sidebar-top': position === 'top' && !fullScreen,\n 'cax-sidebar-bottom': position === 'bottom' && !fullScreen,\n 'cax-sidebar-full': fullScreen\n }\"\n *ngIf=\"visible\"\n [@panelState]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\n (@panelState.start)=\"onAnimationStart($event)\"\n (@panelState.done)=\"onAnimationEnd($event)\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n role=\"complementary\"\n [attr.data-pc-name]=\"'sidebar'\"\n [attr.data-pc-section]=\"'root'\"\n (keydown)=\"onKeyDown($event)\"\n >\n <ng-container *ngTemplateOutlet=\"sidebarTemplate\"></ng-container>\n\n <ng-container *ngIf=\"headlessTemplate; else notHeadless\">\n <ng-container *ngTemplateOutlet=\"headlessTemplate\"></ng-container>\n </ng-container>\n\n <ng-template #notHeadless>\n <div class=\"cax-sidebar-header\" [ngStyle]=\"headerStyle\">\n <ng-container *ngIf=\"headerTemplate; else defaultHeader\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </ng-container>\n <ng-template #defaultHeader>\n <div>{{ headerText || 'Sidebar' }}</div>\n </ng-template>\n\n <button\n type=\"button\"\n class=\"cax-sidebar-close cax-sidebar-icon-css cax-link\"\n (click)=\"close($event)\"\n (keydown.enter)=\"close($event)\"\n [attr.aria-label]=\"ariaCloseLabel\"\n *ngIf=\"showCloseIcon\"\n caxRipple\n [attr.data-pc-section]=\"'closebutton'\"\n [attr.data-pc-groucax-section]=\"'iconcontainer'\"\n >\n <TimesIcon *ngIf=\"!closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\" />\n <span *ngIf=\"closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\">\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\n </span>\n </button>\n </div>\n\n <div class=\"cax-sidebar-content\"[attr.data-pc-section]=\"'content'\">\n <ng-content></ng-content>\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </div>\n\n <div *ngIf=\"footerTemplate\" class=\"cax-sidebar-footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </ng-template>\n </div>", styles: ["@layer cax{.cax-sidebar{position:fixed;transition:transform .3s;display:flex;flex-direction:column}.cax-sidebar-content{position:relative;overflow-y:auto;flex-grow:1}.cax-sidebar-header{display:flex;align-items:center}.cax-sidebar-footer{margin-top:auto}.cax-sidebar-icon-css{display:flex;align-items:center;justify-content:center;margin-left:auto}.cax-sidebar-left{top:0;left:0;width:478px;height:-webkit-fill-available;margin:15px;border-radius:12px}.cax-sidebar-right{top:0;right:0;width:480px;height:-webkit-fill-available;margin:15px;border-radius:12px}.cax-sidebar-top{top:0;left:0;width:-webkit-fill-available;height:10rem;margin:15px;border-radius:12px}.cax-sidebar-bottom{bottom:0;left:0;width:-webkit-fill-available;height:10rem;margin:15px;border-radius:12px}.cax-sidebar-inline{margin:0!important;border-radius:0!important}.cax-sidebar-full{width:100%;height:100%;top:0;left:0;-webkit-transition:none;transition:none}.cax-sidebar-left.cax-sidebar-sm,.cax-sidebar-right.cax-sidebar-sm{width:478px}.cax-sidebar-left.cax-sidebar-md,.cax-sidebar-right.cax-sidebar-md{width:40rem}.cax-sidebar-left.cax-sidebar-lg,.cax-sidebar-right.cax-sidebar-lg{width:60rem}.cax-sidebar-top.cax-sidebar-sm,.cax-sidebar-bottom.cax-sidebar-sm{height:10rem}.cax-sidebar-top.cax-sidebar-md,.cax-sidebar-bottom.cax-sidebar-md{height:478px}.cax-sidebar-top.cax-sidebar-lg,.cax-sidebar-bottom.cax-sidebar-lg{height:30rem}@media screen and (max-width: 64em){.cax-sidebar-left.cax-sidebar-lg,.cax-sidebar-left.cax-sidebar-md,.cax-sidebar-right.cax-sidebar-lg,.cax-sidebar-right.cax-sidebar-md{width:478px}}}\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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i3.Ripple, selector: "[caxRipple]" }, { kind: "ngmodule", type: SharedModule }, { kind: "component", type: TimesIcon, selector: "TimesIcon" }, { kind: "ngmodule", type: ButtonModule }], animations: [trigger('panelState', [transition('void => visible', [useAnimation(showAnimation)]), transition('visible => void', [useAnimation(hideAnimation)])])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
411
411
|
}
|
|
412
412
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Sidebar, decorators: [{
|
|
413
413
|
type: Component,
|
|
414
414
|
args: [{ selector: 'cax-sidebar', animations: [trigger('panelState', [transition('void => visible', [useAnimation(showAnimation)]), transition('visible => void', [useAnimation(hideAnimation)])])], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, RippleModule, SharedModule, TimesIcon, ButtonModule], host: {
|
|
415
415
|
class: 'cax-element'
|
|
416
|
-
}, template: " <!-- Sidebar Panel -->\
|
|
416
|
+
}, template: " <!-- Sidebar Panel -->\n <div\n #container\n [ngClass]=\"{\n 'cax-sidebar': true,\n 'cax-sidebar-active': visible,\n 'cax-sidebar-overlay': mode === 'overlay',\n 'cax-sidebar-inline': mode === 'inline',\n 'cax-sidebar-left': position === 'left' && !fullScreen,\n 'cax-sidebar-right': position === 'right' && !fullScreen,\n 'cax-sidebar-top': position === 'top' && !fullScreen,\n 'cax-sidebar-bottom': position === 'bottom' && !fullScreen,\n 'cax-sidebar-full': fullScreen\n }\"\n *ngIf=\"visible\"\n [@panelState]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\n (@panelState.start)=\"onAnimationStart($event)\"\n (@panelState.done)=\"onAnimationEnd($event)\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n role=\"complementary\"\n [attr.data-pc-name]=\"'sidebar'\"\n [attr.data-pc-section]=\"'root'\"\n (keydown)=\"onKeyDown($event)\"\n >\n <ng-container *ngTemplateOutlet=\"sidebarTemplate\"></ng-container>\n\n <ng-container *ngIf=\"headlessTemplate; else notHeadless\">\n <ng-container *ngTemplateOutlet=\"headlessTemplate\"></ng-container>\n </ng-container>\n\n <ng-template #notHeadless>\n <div class=\"cax-sidebar-header\" [ngStyle]=\"headerStyle\">\n <ng-container *ngIf=\"headerTemplate; else defaultHeader\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </ng-container>\n <ng-template #defaultHeader>\n <div>{{ headerText || 'Sidebar' }}</div>\n </ng-template>\n\n <button\n type=\"button\"\n class=\"cax-sidebar-close cax-sidebar-icon-css cax-link\"\n (click)=\"close($event)\"\n (keydown.enter)=\"close($event)\"\n [attr.aria-label]=\"ariaCloseLabel\"\n *ngIf=\"showCloseIcon\"\n caxRipple\n [attr.data-pc-section]=\"'closebutton'\"\n [attr.data-pc-groucax-section]=\"'iconcontainer'\"\n >\n <TimesIcon *ngIf=\"!closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\" />\n <span *ngIf=\"closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\">\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\n </span>\n </button>\n </div>\n\n <div class=\"cax-sidebar-content\"[attr.data-pc-section]=\"'content'\">\n <ng-content></ng-content>\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </div>\n\n <div *ngIf=\"footerTemplate\" class=\"cax-sidebar-footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </ng-template>\n </div>", styles: ["@layer cax{.cax-sidebar{position:fixed;transition:transform .3s;display:flex;flex-direction:column}.cax-sidebar-content{position:relative;overflow-y:auto;flex-grow:1}.cax-sidebar-header{display:flex;align-items:center}.cax-sidebar-footer{margin-top:auto}.cax-sidebar-icon-css{display:flex;align-items:center;justify-content:center;margin-left:auto}.cax-sidebar-left{top:0;left:0;width:478px;height:-webkit-fill-available;margin:15px;border-radius:12px}.cax-sidebar-right{top:0;right:0;width:480px;height:-webkit-fill-available;margin:15px;border-radius:12px}.cax-sidebar-top{top:0;left:0;width:-webkit-fill-available;height:10rem;margin:15px;border-radius:12px}.cax-sidebar-bottom{bottom:0;left:0;width:-webkit-fill-available;height:10rem;margin:15px;border-radius:12px}.cax-sidebar-inline{margin:0!important;border-radius:0!important}.cax-sidebar-full{width:100%;height:100%;top:0;left:0;-webkit-transition:none;transition:none}.cax-sidebar-left.cax-sidebar-sm,.cax-sidebar-right.cax-sidebar-sm{width:478px}.cax-sidebar-left.cax-sidebar-md,.cax-sidebar-right.cax-sidebar-md{width:40rem}.cax-sidebar-left.cax-sidebar-lg,.cax-sidebar-right.cax-sidebar-lg{width:60rem}.cax-sidebar-top.cax-sidebar-sm,.cax-sidebar-bottom.cax-sidebar-sm{height:10rem}.cax-sidebar-top.cax-sidebar-md,.cax-sidebar-bottom.cax-sidebar-md{height:478px}.cax-sidebar-top.cax-sidebar-lg,.cax-sidebar-bottom.cax-sidebar-lg{height:30rem}@media screen and (max-width: 64em){.cax-sidebar-left.cax-sidebar-lg,.cax-sidebar-left.cax-sidebar-md,.cax-sidebar-right.cax-sidebar-lg,.cax-sidebar-right.cax-sidebar-md{width:478px}}}\n"] }]
|
|
417
417
|
}], ctorParameters: () => [{ type: Document, decorators: [{
|
|
418
418
|
type: Inject,
|
|
419
419
|
args: [DOCUMENT]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cax-design-system-sidebar.mjs","sources":["../../src/app/components/sidebar/sidebar.ts","../../src/app/components/sidebar/sidebar.html","../../src/app/components/sidebar/sidebar.module.ts","../../src/app/components/sidebar/cax-design-system-sidebar.ts"],"sourcesContent":["import { animate, animation, style, transition, trigger, useAnimation } from '@angular/animations';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n Output,\n QueryList,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute\n} from '@angular/core';\nimport { caxConfig, CaxTemplate, SharedModule } from 'cax-design-system/api';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { Nullable, VoidListener } from 'cax-design-system/ts-helpers';\nimport { ZIndexUtils } from 'cax-design-system/utils';\n\nconst showAnimation = animation([style({ transform: '{{transform}}', opacity: 0 }), animate('{{transition}}')]);\n\nconst hideAnimation = animation([animate('{{transition}}', style({ transform: '{{transform}}', opacity: 0 }))]);\n/**\n * Sidebar is a panel component displayed as an overlay at the edges of the screen.\n * @group Components\n */\n@Component({\n selector: 'cax-sidebar',\n templateUrl: './sidebar.html',\n styleUrls: ['./sidebar.scss'],\n animations: [trigger('panelState', [transition('void => visible', [useAnimation(showAnimation)]), transition('visible => void', [useAnimation(hideAnimation)])])],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [CommonModule, RippleModule, SharedModule, TimesIcon, ButtonModule],\n host: {\n class: 'cax-element'\n }\n})\nexport class Sidebar implements AfterViewInit, AfterContentInit, OnDestroy {\n sidebarVisible = false;\n\n toggleSidebar() {\n this.sidebarVisible = this.visible;\n this.sidebarVisible = !this.sidebarVisible;\n }\n @Input() headerText: string = '';\n /**\n * Target element to attach the dialog, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n /**\n * Whether to block scrolling of the document when sidebar is active.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) blockScroll: boolean = false;\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 * Aria label of the close icon.\n * @group Props\n */\n @Input() ariaCloseLabel: string | undefined;\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoZIndex: boolean = true;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n @Input({ transform: numberAttribute }) baseZIndex: number = 0;\n /**\n * Whether an overlay mask is displayed behind the sidebar.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) modal: boolean = true;\n /**\n * Whether to dismiss sidebar on click of the mask.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) dismissible: boolean = true;\n /**\n * Whether to display the close icon.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showCloseIcon: boolean = true;\n /**\n * Specifies if pressing escape key should hide the sidebar.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) closeOnEscape: boolean = true;\n /**\n * Transition options of the animation.\n * @group Props\n */\n @Input() transitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Specifies the visibility of the dialog.\n * @group Props\n */\n @Input() get visible(): boolean {\n return this._visible as boolean;\n }\n set visible(val: boolean) {\n this._visible = val;\n this.visibleChange.emit(this._visible);\n }\n /**\n * Specifies the position of the sidebar, valid values are \"left\", \"right\", \"bottom\" and \"top\".\n * @group Props\n */\n @Input() get position(): string {\n return this._position;\n }\n set position(value: string) {\n this._position = value;\n\n switch (value) {\n case 'left':\n this.transformOptions = 'translate3d(-100%, 0px, 0px)';\n break;\n case 'right':\n this.transformOptions = 'translate3d(100%, 0px, 0px)';\n break;\n case 'bottom':\n this.transformOptions = 'translate3d(0px, 100%, 0px)';\n break;\n case 'top':\n this.transformOptions = 'translate3d(0px, -100%, 0px)';\n break;\n }\n }\n /**\n * Adds a close icon to the header to hide the dialog.\n * @group Props\n */\n @Input() get fullScreen(): boolean {\n return this._fullScreen;\n }\n set fullScreen(value: boolean) {\n this._fullScreen = value;\n\n if (value) this.transformOptions = 'none';\n }\n @Input() mode: 'overlay' | 'inline' = 'overlay';\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n /**\n * Callback to invoke when dialog is shown.\n * @group Emits\n */\n @Output() onShow: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke when dialog is hidden.\n * @group Emits\n */\n @Output() onHide: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke when dialog visibility is changed.\n * @param {boolean} value - Visible value.\n * @group Emits\n */\n @Output() visibleChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n initialized: boolean | undefined;\n\n _visible: boolean | undefined;\n\n _position: string = 'left';\n\n _fullScreen: boolean = false;\n\n container: Nullable<HTMLDivElement>;\n\n transformOptions: any = 'translate3d(-100%, 0px, 0px)';\n\n mask: Nullable<HTMLDivElement>;\n\n maskClickListener: VoidListener;\n\n documentEscapeListener: VoidListener;\n\n animationEndListener: VoidListener;\n\n @Input() contentTemplate: TemplateRef<any> | null = null;\n\n @Input() headerTemplate: TemplateRef<any> | null = null;\n @Input() headlessTemplate: TemplateRef<any> | null = null;\n\n @Input() footerTemplate: Nullable<TemplateRef<any>>;\n\n @Input() closeIconTemplate: TemplateRef<any> | null = null;\n\n /**\n * Inline style of the header section.\n * @group Props\n */\n @Input() headerStyle: { [klass: string]: any } = {}; // Changed to initialize with empty object\n\n // headlessTemplate: Nullable<TemplateRef<any>>;\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n public el: ElementRef,\n public renderer: Renderer2,\n public cd: ChangeDetectorRef,\n public config: caxConfig\n ) {}\n\n ngAfterViewInit() {\n this.initialized = true;\n }\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n case 'header':\n this.headerTemplate = item.template;\n break;\n case 'footer':\n this.footerTemplate = item.template;\n break;\n case 'closeicon':\n this.closeIconTemplate = item.template;\n break;\n case 'headless':\n this.headlessTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n @HostBinding('class.sidebar-inline') isInlineMode = false;\n @ViewChild('container') sidebarElement!: ElementRef;\n private hasShifted = false;\n ngAfterViewChecked(): void {\n if (this.visible && this.sidebarElement && !this.hasShifted) {\n this.handleContentShift();\n this.hasShifted = true;\n } else if (!this.visible && this.hasShifted) {\n this.resetBodyShift(); // optional cleanup\n this.hasShifted = false;\n }\n }\n\n handleContentShift(): void {\n const body = this.document.body;\n body.style.margin = '0'; // Clear any old shifts\n\n if (!this.sidebarElement || this.mode !== 'inline') return;\n const sidebar = this.sidebarElement.nativeElement as HTMLElement;\n const width = sidebar.offsetWidth;\n const height = sidebar.offsetHeight;\n switch (this.position) {\n case 'left':\n body.style.marginLeft = `${width}px`;\n break;\n case 'right':\n body.style.marginRight = `${width}px`;\n break;\n case 'top':\n body.style.marginTop = `${height}px`;\n break;\n case 'bottom':\n body.style.marginBottom = `${height}px`;\n break;\n }\n }\n\n resetBodyShift(): void {\n const body = document.body;\n body.style.marginLeft = '';\n body.style.marginRight = '';\n body.style.marginTop = '';\n body.style.marginBottom = '';\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (event.code === 'Escape') {\n this.hide(false);\n }\n }\n\n show() {\n if (this.autoZIndex) {\n ZIndexUtils.set('modal', this.container, this.baseZIndex || this.config.zIndex.modal);\n }\n\n if (this.modal) {\n this.enableModality();\n }\n\n this.onShow.emit({});\n this.visibleChange.emit(true);\n }\n\n hide(emit: boolean = true) {\n if (emit) {\n this.onHide.emit({});\n }\n\n if (this.modal) {\n this.disableModality();\n }\n }\n\n close(event: Event) {\n this.hide();\n this.visible = false;\n this.visibleChange.emit(this.visible);\n event.preventDefault();\n }\n\n enableModality() {\n const activeDrawers = this.document.querySelectorAll('.cax-sidebar-active');\n const activeDrawersLength = activeDrawers.length;\n const zIndex = activeDrawersLength == 1 ? String(parseInt((this.container as HTMLDivElement).style.zIndex) - 1) : String(parseInt((activeDrawers[0] as HTMLElement).style.zIndex) - 1);\n\n if (!this.mask) {\n this.mask = this.renderer.createElement('div');\n this.renderer.setStyle(this.mask, 'zIndex', zIndex);\n DomHandler.addMultipleClasses(this.mask, 'cax-component-overlay cax-sidebar-mask cax-component-overlay cax-component-overlay-enter');\n\n if (this.dismissible) {\n this.maskClickListener = this.renderer.listen(this.mask, 'click', (event: any) => {\n if (this.dismissible) {\n this.close(event);\n }\n });\n }\n\n this.renderer.appendChild(this.document.body, this.mask);\n if (this.blockScroll) {\n DomHandler.blockBodyScroll();\n }\n }\n }\n\n disableModality() {\n if (this.mask) {\n DomHandler.addClass(this.mask, 'cax-component-overlay-leave');\n this.animationEndListener = this.renderer.listen(this.mask, 'animationend', this.destroyModal.bind(this));\n }\n }\n\n destroyModal() {\n this.unbindMaskClickListener();\n\n if (this.mask) {\n this.renderer.removeChild(this.document.body, this.mask);\n }\n\n if (this.blockScroll) {\n DomHandler.unblockBodyScroll();\n }\n\n this.unbindAnimationEndListener();\n this.mask = null;\n }\n\n onAnimationStart(event: any) {\n switch (event.toState) {\n case 'visible':\n this.container = event.element;\n this.appendContainer();\n this.show();\n\n if (this.closeOnEscape) {\n this.bindDocumentEscapeListener();\n }\n break;\n }\n }\n\n onAnimationEnd(event: any) {\n switch (event.toState) {\n case 'void':\n this.hide(false);\n ZIndexUtils.clear(this.container);\n this.unbindGlobalListeners();\n break;\n }\n }\n\n appendContainer() {\n if (this.appendTo) {\n if (this.appendTo === 'body') this.renderer.appendChild(this.document.body, this.container);\n else DomHandler.appendChild(this.container, this.appendTo);\n }\n }\n\n bindDocumentEscapeListener() {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : this.document;\n\n this.documentEscapeListener = this.renderer.listen(documentTarget, 'keydown', (event) => {\n if (event.which == 27) {\n if (parseInt((this.container as HTMLDivElement).style.zIndex) === ZIndexUtils.get(this.container)) {\n this.close(event);\n }\n }\n });\n }\n\n unbindDocumentEscapeListener() {\n if (this.documentEscapeListener) {\n this.documentEscapeListener();\n this.documentEscapeListener = null;\n }\n }\n\n unbindMaskClickListener() {\n if (this.maskClickListener) {\n this.maskClickListener();\n this.maskClickListener = null;\n }\n }\n\n unbindGlobalListeners() {\n this.unbindMaskClickListener();\n this.unbindDocumentEscapeListener();\n }\n\n unbindAnimationEndListener() {\n if (this.animationEndListener && this.mask) {\n this.animationEndListener();\n this.animationEndListener = null;\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['mode']) {\n this.modal = this.mode !== 'inline';\n this.isInlineMode = this.mode === 'inline';\n this.handleContentShift();\n }\n\n if (changes['visible']) {\n this.handleContentShift();\n }\n }\n ngOnDestroy() {\n this.initialized = false;\n\n if (this.visible && this.modal) {\n this.destroyModal();\n }\n\n if (this.appendTo && this.container) {\n this.renderer.appendChild(this.el.nativeElement, this.container);\n }\n\n if (this.container && this.autoZIndex) {\n ZIndexUtils.clear(this.container);\n }\n\n this.container = null;\n this.unbindGlobalListeners();\n this.unbindAnimationEndListener();\n }\n}\n"," <!-- Sidebar Panel -->\r\n <div\r\n #container\r\n [ngClass]=\"{\r\n 'cax-sidebar': true,\r\n 'cax-sidebar-active': visible,\r\n 'cax-sidebar-overlay': mode === 'overlay',\r\n 'cax-sidebar-inline': mode === 'inline',\r\n 'cax-sidebar-left': position === 'left' && !fullScreen,\r\n 'cax-sidebar-right': position === 'right' && !fullScreen,\r\n 'cax-sidebar-top': position === 'top' && !fullScreen,\r\n 'cax-sidebar-bottom': position === 'bottom' && !fullScreen,\r\n 'cax-sidebar-full': fullScreen\r\n }\"\r\n *ngIf=\"visible\"\r\n [@panelState]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\r\n (@panelState.start)=\"onAnimationStart($event)\"\r\n (@panelState.done)=\"onAnimationEnd($event)\"\r\n [ngStyle]=\"style\"\r\n [class]=\"styleClass\"\r\n role=\"complementary\"\r\n [attr.data-pc-name]=\"'sidebar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n (keydown)=\"onKeyDown($event)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"sidebarTemplate\"></ng-container>\r\n\r\n <ng-container *ngIf=\"headlessTemplate; else notHeadless\">\r\n <ng-container *ngTemplateOutlet=\"headlessTemplate\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #notHeadless>\r\n <div class=\"cax-sidebar-header\" [ngStyle]=\"headerStyle\">\r\n <ng-container *ngIf=\"headerTemplate; else defaultHeader\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-template #defaultHeader>\r\n <div>{{ headerText || 'Sidebar' }}</div>\r\n </ng-template>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"cax-sidebar-close cax-sidebar-icon-css cax-link\"\r\n (click)=\"close($event)\"\r\n (keydown.enter)=\"close($event)\"\r\n [attr.aria-label]=\"ariaCloseLabel\"\r\n *ngIf=\"showCloseIcon\"\r\n caxRipple\r\n [attr.data-pc-section]=\"'closebutton'\"\r\n [attr.data-pc-groucax-section]=\"'iconcontainer'\"\r\n >\r\n <TimesIcon *ngIf=\"!closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\" />\r\n <span *ngIf=\"closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\">\r\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"cax-sidebar-content\"[attr.data-pc-section]=\"'content'\">\r\n <ng-content></ng-content>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"footerTemplate\" class=\"cax-sidebar-footer\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n </div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from 'cax-design-system/api';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { Sidebar } from './sidebar';\n\n@NgModule({\n imports: [Sidebar, CommonModule, RippleModule, SharedModule, TimesIcon, ButtonModule],\n exports: [SharedModule, Sidebar]\n})\nexport class SidebarModule {}\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-sidebar.mjs","sources":["../../src/app/components/sidebar/sidebar.ts","../../src/app/components/sidebar/sidebar.html","../../src/app/components/sidebar/sidebar.module.ts","../../src/app/components/sidebar/cax-design-system-sidebar.ts"],"sourcesContent":["import { animate, animation, style, transition, trigger, useAnimation } from '@angular/animations';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n Output,\n QueryList,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute\n} from '@angular/core';\nimport { caxConfig, CaxTemplate, SharedModule } from 'cax-design-system/api';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { Nullable, VoidListener } from 'cax-design-system/ts-helpers';\nimport { ZIndexUtils } from 'cax-design-system/utils';\n\nconst showAnimation = animation([style({ transform: '{{transform}}', opacity: 0 }), animate('{{transition}}')]);\n\nconst hideAnimation = animation([animate('{{transition}}', style({ transform: '{{transform}}', opacity: 0 }))]);\n/**\n * Sidebar is a panel component displayed as an overlay at the edges of the screen.\n * @group Components\n */\n@Component({\n selector: 'cax-sidebar',\n templateUrl: './sidebar.html',\n styleUrls: ['./sidebar.scss'],\n animations: [trigger('panelState', [transition('void => visible', [useAnimation(showAnimation)]), transition('visible => void', [useAnimation(hideAnimation)])])],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [CommonModule, RippleModule, SharedModule, TimesIcon, ButtonModule],\n host: {\n class: 'cax-element'\n }\n})\nexport class Sidebar implements AfterViewInit, AfterContentInit, OnDestroy {\n sidebarVisible = false;\n\n toggleSidebar() {\n this.sidebarVisible = this.visible;\n this.sidebarVisible = !this.sidebarVisible;\n }\n @Input() headerText: string = '';\n /**\n * Target element to attach the dialog, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n /**\n * Whether to block scrolling of the document when sidebar is active.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) blockScroll: boolean = false;\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 * Aria label of the close icon.\n * @group Props\n */\n @Input() ariaCloseLabel: string | undefined;\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoZIndex: boolean = true;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n @Input({ transform: numberAttribute }) baseZIndex: number = 0;\n /**\n * Whether an overlay mask is displayed behind the sidebar.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) modal: boolean = true;\n /**\n * Whether to dismiss sidebar on click of the mask.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) dismissible: boolean = true;\n /**\n * Whether to display the close icon.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showCloseIcon: boolean = true;\n /**\n * Specifies if pressing escape key should hide the sidebar.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) closeOnEscape: boolean = true;\n /**\n * Transition options of the animation.\n * @group Props\n */\n @Input() transitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Specifies the visibility of the dialog.\n * @group Props\n */\n @Input() get visible(): boolean {\n return this._visible as boolean;\n }\n set visible(val: boolean) {\n this._visible = val;\n this.visibleChange.emit(this._visible);\n }\n /**\n * Specifies the position of the sidebar, valid values are \"left\", \"right\", \"bottom\" and \"top\".\n * @group Props\n */\n @Input() get position(): string {\n return this._position;\n }\n set position(value: string) {\n this._position = value;\n\n switch (value) {\n case 'left':\n this.transformOptions = 'translate3d(-100%, 0px, 0px)';\n break;\n case 'right':\n this.transformOptions = 'translate3d(100%, 0px, 0px)';\n break;\n case 'bottom':\n this.transformOptions = 'translate3d(0px, 100%, 0px)';\n break;\n case 'top':\n this.transformOptions = 'translate3d(0px, -100%, 0px)';\n break;\n }\n }\n /**\n * Adds a close icon to the header to hide the dialog.\n * @group Props\n */\n @Input() get fullScreen(): boolean {\n return this._fullScreen;\n }\n set fullScreen(value: boolean) {\n this._fullScreen = value;\n\n if (value) this.transformOptions = 'none';\n }\n @Input() mode: 'overlay' | 'inline' = 'overlay';\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n /**\n * Callback to invoke when dialog is shown.\n * @group Emits\n */\n @Output() onShow: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke when dialog is hidden.\n * @group Emits\n */\n @Output() onHide: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke when dialog visibility is changed.\n * @param {boolean} value - Visible value.\n * @group Emits\n */\n @Output() visibleChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n initialized: boolean | undefined;\n\n _visible: boolean | undefined;\n\n _position: string = 'left';\n\n _fullScreen: boolean = false;\n\n container: Nullable<HTMLDivElement>;\n\n transformOptions: any = 'translate3d(-100%, 0px, 0px)';\n\n mask: Nullable<HTMLDivElement>;\n\n maskClickListener: VoidListener;\n\n documentEscapeListener: VoidListener;\n\n animationEndListener: VoidListener;\n\n @Input() contentTemplate: TemplateRef<any> | null = null;\n\n @Input() headerTemplate: TemplateRef<any> | null = null;\n @Input() headlessTemplate: TemplateRef<any> | null = null;\n\n @Input() footerTemplate: Nullable<TemplateRef<any>>;\n\n @Input() closeIconTemplate: TemplateRef<any> | null = null;\n\n /**\n * Inline style of the header section.\n * @group Props\n */\n @Input() headerStyle: { [klass: string]: any } = {}; // Changed to initialize with empty object\n\n // headlessTemplate: Nullable<TemplateRef<any>>;\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n public el: ElementRef,\n public renderer: Renderer2,\n public cd: ChangeDetectorRef,\n public config: caxConfig\n ) {}\n\n ngAfterViewInit() {\n this.initialized = true;\n }\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n case 'header':\n this.headerTemplate = item.template;\n break;\n case 'footer':\n this.footerTemplate = item.template;\n break;\n case 'closeicon':\n this.closeIconTemplate = item.template;\n break;\n case 'headless':\n this.headlessTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n @HostBinding('class.sidebar-inline') isInlineMode = false;\n @ViewChild('container') sidebarElement!: ElementRef;\n private hasShifted = false;\n ngAfterViewChecked(): void {\n if (this.visible && this.sidebarElement && !this.hasShifted) {\n this.handleContentShift();\n this.hasShifted = true;\n } else if (!this.visible && this.hasShifted) {\n this.resetBodyShift(); // optional cleanup\n this.hasShifted = false;\n }\n }\n\n handleContentShift(): void {\n const body = this.document.body;\n body.style.margin = '0'; // Clear any old shifts\n\n if (!this.sidebarElement || this.mode !== 'inline') return;\n const sidebar = this.sidebarElement.nativeElement as HTMLElement;\n const width = sidebar.offsetWidth;\n const height = sidebar.offsetHeight;\n switch (this.position) {\n case 'left':\n body.style.marginLeft = `${width}px`;\n break;\n case 'right':\n body.style.marginRight = `${width}px`;\n break;\n case 'top':\n body.style.marginTop = `${height}px`;\n break;\n case 'bottom':\n body.style.marginBottom = `${height}px`;\n break;\n }\n }\n\n resetBodyShift(): void {\n const body = document.body;\n body.style.marginLeft = '';\n body.style.marginRight = '';\n body.style.marginTop = '';\n body.style.marginBottom = '';\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (event.code === 'Escape') {\n this.hide(false);\n }\n }\n\n show() {\n if (this.autoZIndex) {\n ZIndexUtils.set('modal', this.container, this.baseZIndex || this.config.zIndex.modal);\n }\n\n if (this.modal) {\n this.enableModality();\n }\n\n this.onShow.emit({});\n this.visibleChange.emit(true);\n }\n\n hide(emit: boolean = true) {\n if (emit) {\n this.onHide.emit({});\n }\n\n if (this.modal) {\n this.disableModality();\n }\n }\n\n close(event: Event) {\n this.hide();\n this.visible = false;\n this.visibleChange.emit(this.visible);\n event.preventDefault();\n }\n\n enableModality() {\n const activeDrawers = this.document.querySelectorAll('.cax-sidebar-active');\n const activeDrawersLength = activeDrawers.length;\n const zIndex = activeDrawersLength == 1 ? String(parseInt((this.container as HTMLDivElement).style.zIndex) - 1) : String(parseInt((activeDrawers[0] as HTMLElement).style.zIndex) - 1);\n\n if (!this.mask) {\n this.mask = this.renderer.createElement('div');\n this.renderer.setStyle(this.mask, 'zIndex', zIndex);\n DomHandler.addMultipleClasses(this.mask, 'cax-component-overlay cax-sidebar-mask cax-component-overlay cax-component-overlay-enter');\n\n if (this.dismissible) {\n this.maskClickListener = this.renderer.listen(this.mask, 'click', (event: any) => {\n if (this.dismissible) {\n this.close(event);\n }\n });\n }\n\n this.renderer.appendChild(this.document.body, this.mask);\n if (this.blockScroll) {\n DomHandler.blockBodyScroll();\n }\n }\n }\n\n disableModality() {\n if (this.mask) {\n DomHandler.addClass(this.mask, 'cax-component-overlay-leave');\n this.animationEndListener = this.renderer.listen(this.mask, 'animationend', this.destroyModal.bind(this));\n }\n }\n\n destroyModal() {\n this.unbindMaskClickListener();\n\n if (this.mask) {\n this.renderer.removeChild(this.document.body, this.mask);\n }\n\n if (this.blockScroll) {\n DomHandler.unblockBodyScroll();\n }\n\n this.unbindAnimationEndListener();\n this.mask = null;\n }\n\n onAnimationStart(event: any) {\n switch (event.toState) {\n case 'visible':\n this.container = event.element;\n this.appendContainer();\n this.show();\n\n if (this.closeOnEscape) {\n this.bindDocumentEscapeListener();\n }\n break;\n }\n }\n\n onAnimationEnd(event: any) {\n switch (event.toState) {\n case 'void':\n this.hide(false);\n ZIndexUtils.clear(this.container);\n this.unbindGlobalListeners();\n break;\n }\n }\n\n appendContainer() {\n if (this.appendTo) {\n if (this.appendTo === 'body') this.renderer.appendChild(this.document.body, this.container);\n else DomHandler.appendChild(this.container, this.appendTo);\n }\n }\n\n bindDocumentEscapeListener() {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : this.document;\n\n this.documentEscapeListener = this.renderer.listen(documentTarget, 'keydown', (event) => {\n if (event.which == 27) {\n if (parseInt((this.container as HTMLDivElement).style.zIndex) === ZIndexUtils.get(this.container)) {\n this.close(event);\n }\n }\n });\n }\n\n unbindDocumentEscapeListener() {\n if (this.documentEscapeListener) {\n this.documentEscapeListener();\n this.documentEscapeListener = null;\n }\n }\n\n unbindMaskClickListener() {\n if (this.maskClickListener) {\n this.maskClickListener();\n this.maskClickListener = null;\n }\n }\n\n unbindGlobalListeners() {\n this.unbindMaskClickListener();\n this.unbindDocumentEscapeListener();\n }\n\n unbindAnimationEndListener() {\n if (this.animationEndListener && this.mask) {\n this.animationEndListener();\n this.animationEndListener = null;\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['mode']) {\n this.modal = this.mode !== 'inline';\n this.isInlineMode = this.mode === 'inline';\n this.handleContentShift();\n }\n\n if (changes['visible']) {\n this.handleContentShift();\n }\n }\n ngOnDestroy() {\n this.initialized = false;\n\n if (this.visible && this.modal) {\n this.destroyModal();\n }\n\n if (this.appendTo && this.container) {\n this.renderer.appendChild(this.el.nativeElement, this.container);\n }\n\n if (this.container && this.autoZIndex) {\n ZIndexUtils.clear(this.container);\n }\n\n this.container = null;\n this.unbindGlobalListeners();\n this.unbindAnimationEndListener();\n }\n}\n"," <!-- Sidebar Panel -->\n <div\n #container\n [ngClass]=\"{\n 'cax-sidebar': true,\n 'cax-sidebar-active': visible,\n 'cax-sidebar-overlay': mode === 'overlay',\n 'cax-sidebar-inline': mode === 'inline',\n 'cax-sidebar-left': position === 'left' && !fullScreen,\n 'cax-sidebar-right': position === 'right' && !fullScreen,\n 'cax-sidebar-top': position === 'top' && !fullScreen,\n 'cax-sidebar-bottom': position === 'bottom' && !fullScreen,\n 'cax-sidebar-full': fullScreen\n }\"\n *ngIf=\"visible\"\n [@panelState]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\n (@panelState.start)=\"onAnimationStart($event)\"\n (@panelState.done)=\"onAnimationEnd($event)\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n role=\"complementary\"\n [attr.data-pc-name]=\"'sidebar'\"\n [attr.data-pc-section]=\"'root'\"\n (keydown)=\"onKeyDown($event)\"\n >\n <ng-container *ngTemplateOutlet=\"sidebarTemplate\"></ng-container>\n\n <ng-container *ngIf=\"headlessTemplate; else notHeadless\">\n <ng-container *ngTemplateOutlet=\"headlessTemplate\"></ng-container>\n </ng-container>\n\n <ng-template #notHeadless>\n <div class=\"cax-sidebar-header\" [ngStyle]=\"headerStyle\">\n <ng-container *ngIf=\"headerTemplate; else defaultHeader\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </ng-container>\n <ng-template #defaultHeader>\n <div>{{ headerText || 'Sidebar' }}</div>\n </ng-template>\n\n <button\n type=\"button\"\n class=\"cax-sidebar-close cax-sidebar-icon-css cax-link\"\n (click)=\"close($event)\"\n (keydown.enter)=\"close($event)\"\n [attr.aria-label]=\"ariaCloseLabel\"\n *ngIf=\"showCloseIcon\"\n caxRipple\n [attr.data-pc-section]=\"'closebutton'\"\n [attr.data-pc-groucax-section]=\"'iconcontainer'\"\n >\n <TimesIcon *ngIf=\"!closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\" />\n <span *ngIf=\"closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\">\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\n </span>\n </button>\n </div>\n\n <div class=\"cax-sidebar-content\"[attr.data-pc-section]=\"'content'\">\n <ng-content></ng-content>\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </div>\n\n <div *ngIf=\"footerTemplate\" class=\"cax-sidebar-footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </ng-template>\n </div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from 'cax-design-system/api';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { Sidebar } from './sidebar';\n\n@NgModule({\n imports: [Sidebar, CommonModule, RippleModule, SharedModule, TimesIcon, ButtonModule],\n exports: [SharedModule, Sidebar]\n})\nexport class SidebarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -62,13 +62,13 @@ class Skeleton {
|
|
|
62
62
|
return { width: this.width, height: this.height, borderRadius: this.borderRadius, ...this.style };
|
|
63
63
|
}
|
|
64
64
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Skeleton, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
65
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: Skeleton, selector: "cax-skeleton", inputs: { styleClass: "styleClass", style: "style", shape: "shape", animation: "animation", borderRadius: "borderRadius", size: "size", width: "width", height: "height" }, host: { classAttribute: "cax-element" }, ngImport: i0, template: "<div \
|
|
65
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: Skeleton, selector: "cax-skeleton", inputs: { styleClass: "styleClass", style: "style", shape: "shape", animation: "animation", borderRadius: "borderRadius", size: "size", width: "width", height: "height" }, host: { classAttribute: "cax-element" }, ngImport: i0, template: "<div \n [ngClass]=\"containerClass()\" \n [class]=\"styleClass\" \n [ngStyle]=\"containerStyle\" \n [attr.data-pc-name]=\"'skeleton'\" \n [attr.aria-hidden]=\"true\" \n [attr.data-pc-section]=\"'root'\">\n</div>", styles: ["@layer cax{.cax-skeleton{position:relative;overflow:hidden}.cax-skeleton:after{content:\"\";height:100%;left:0;position:absolute;right:0;top:0;z-index:1}.cax-skeleton.cax-skeleton-circle{border-radius:50%}.cax-skeleton-none{animation:none}}\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 });
|
|
66
66
|
}
|
|
67
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Skeleton, decorators: [{
|
|
68
68
|
type: Component,
|
|
69
69
|
args: [{ selector: 'cax-skeleton', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
70
70
|
class: 'cax-element'
|
|
71
|
-
}, template: "<div \
|
|
71
|
+
}, template: "<div \n [ngClass]=\"containerClass()\" \n [class]=\"styleClass\" \n [ngStyle]=\"containerStyle\" \n [attr.data-pc-name]=\"'skeleton'\" \n [attr.aria-hidden]=\"true\" \n [attr.data-pc-section]=\"'root'\">\n</div>", styles: ["@layer cax{.cax-skeleton{position:relative;overflow:hidden}.cax-skeleton:after{content:\"\";height:100%;left:0;position:absolute;right:0;top:0;z-index:1}.cax-skeleton.cax-skeleton-circle{border-radius:50%}.cax-skeleton-none{animation:none}}\n"] }]
|
|
72
72
|
}], propDecorators: { styleClass: [{
|
|
73
73
|
type: Input
|
|
74
74
|
}], style: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cax-design-system-skeleton.mjs","sources":["../../src/app/components/skeleton/skeleton.ts","../../src/app/components/skeleton/skeleton.html","../../src/app/components/skeleton/skeleton.module.ts","../../src/app/components/skeleton/cax-design-system-skeleton.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n/**\n * Skeleton is a placeholder to display instead of the actual content.\n * @group Components\n */\n@Component({\n selector: 'cax-skeleton',\n templateUrl: './skeleton.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./skeleton.scss'],\n host: {\n class: 'cax-element'\n }\n})\nexport class Skeleton {\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 * Shape of the element.\n * @group Props\n */\n @Input() shape: string = 'rectangle';\n /**\n * Type of the animation.\n * @gruop Props\n */\n @Input() animation: string = 'wave';\n /**\n * Border radius of the element, defaults to value from theme.\n * @group Props\n */\n @Input() borderRadius: string | undefined;\n /**\n * Size of the skeleton.\n * @group Props\n */\n @Input() size: string | undefined;\n /**\n * Width of the element.\n * @group Props\n */\n @Input() width: string = '100%';\n /**\n * Height of the element.\n * @group Props\n */\n @Input() height: string = '1rem';\n\n containerClass() {\n return {\n 'cax-skeleton cax-component': true,\n 'cax-skeleton-circle': this.shape === 'circle',\n 'cax-skeleton-none': this.animation === 'none'\n };\n }\n\n get containerStyle() {\n if (this.size) return { ...this.style, width: this.size, height: this.size, borderRadius: this.borderRadius };\n else return { width: this.width, height: this.height, borderRadius: this.borderRadius, ...this.style };\n }\n}\n","<div \
|
|
1
|
+
{"version":3,"file":"cax-design-system-skeleton.mjs","sources":["../../src/app/components/skeleton/skeleton.ts","../../src/app/components/skeleton/skeleton.html","../../src/app/components/skeleton/skeleton.module.ts","../../src/app/components/skeleton/cax-design-system-skeleton.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n/**\n * Skeleton is a placeholder to display instead of the actual content.\n * @group Components\n */\n@Component({\n selector: 'cax-skeleton',\n templateUrl: './skeleton.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./skeleton.scss'],\n host: {\n class: 'cax-element'\n }\n})\nexport class Skeleton {\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 * Shape of the element.\n * @group Props\n */\n @Input() shape: string = 'rectangle';\n /**\n * Type of the animation.\n * @gruop Props\n */\n @Input() animation: string = 'wave';\n /**\n * Border radius of the element, defaults to value from theme.\n * @group Props\n */\n @Input() borderRadius: string | undefined;\n /**\n * Size of the skeleton.\n * @group Props\n */\n @Input() size: string | undefined;\n /**\n * Width of the element.\n * @group Props\n */\n @Input() width: string = '100%';\n /**\n * Height of the element.\n * @group Props\n */\n @Input() height: string = '1rem';\n\n containerClass() {\n return {\n 'cax-skeleton cax-component': true,\n 'cax-skeleton-circle': this.shape === 'circle',\n 'cax-skeleton-none': this.animation === 'none'\n };\n }\n\n get containerStyle() {\n if (this.size) return { ...this.style, width: this.size, height: this.size, borderRadius: this.borderRadius };\n else return { width: this.width, height: this.height, borderRadius: this.borderRadius, ...this.style };\n }\n}\n","<div \n [ngClass]=\"containerClass()\" \n [class]=\"styleClass\" \n [ngStyle]=\"containerStyle\" \n [attr.data-pc-name]=\"'skeleton'\" \n [attr.aria-hidden]=\"true\" \n [attr.data-pc-section]=\"'root'\">\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Skeleton } from './skeleton';\n\n@NgModule({\n imports: [CommonModule],\n exports: [Skeleton],\n declarations: [Skeleton]\n})\nexport class SkeletonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -533,13 +533,13 @@ class SpeedDial {
|
|
|
533
533
|
this.unbindDocumentClickListener();
|
|
534
534
|
}
|
|
535
535
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: SpeedDial, deps: [{ token: PLATFORM_ID }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
536
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: SpeedDial, selector: "cax-speedDial", inputs: { id: "id", model: "model", visible: "visible", style: "style", className: "className", direction: "direction", transitionDelay: ["transitionDelay", "transitionDelay", numberAttribute], type: "type", radius: ["radius", "radius", numberAttribute], mask: ["mask", "mask", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], hideOnClickOutside: ["hideOnClickOutside", "hideOnClickOutside", booleanAttribute], buttonStyle: "buttonStyle", buttonClassName: "buttonClassName", maskStyle: "maskStyle", maskClassName: "maskClassName", showIcon: "showIcon", hideIcon: "hideIcon", rotateAnimation: ["rotateAnimation", "rotateAnimation", booleanAttribute], ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy" }, outputs: { onVisibleChange: "onVisibleChange", visibleChange: "visibleChange", onClick: "onClick", onShow: "onShow", onHide: "onHide" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true }], ngImport: i0, template: "\r\n <div #container [ngClass]=\"containerClass()\" [class]=\"className\" [ngStyle]=\"style\" [attr.data-pc-name]=\"'speeddial'\" [attr.data-pc-section]=\"'root'\">\r\n <button\r\n caxRipple\r\n caxButton\r\n class=\"cax-button-icon-only\"\r\n [ngStyle]=\"buttonStyle\"\r\n [icon]=\"buttonIconClass\"\r\n [ngClass]=\"buttonClass()\"\r\n [disabled]=\"disabled\"\r\n [attr.aria-expanded]=\"visible\"\r\n [attr.aria-haspopup]=\"true\"\r\n [attr.aria-controls]=\"id + '_list'\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n (click)=\"onButtonClick($event)\"\r\n (keydown)=\"onTogglerKeydown($event)\"\r\n [attr.data-pc-name]=\"'button'\"\r\n >\r\n <PlusIcon *ngIf=\"!showIcon && !buttonTemplate\" />\r\n <ng-container *ngIf=\"buttonTemplate\">\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n </ng-container>\r\n </button>\r\n <ul\r\n #list\r\n class=\"cax-speeddial-list\"\r\n role=\"menu\"\r\n [id]=\"id + '_list'\"\r\n (focus)=\"onFocus($event)\"\r\n (focusout)=\"onBlur($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\r\n [tabindex]=\"-1\"\r\n [attr.data-pc-section]=\"'menu'\"\r\n >\r\n <li\r\n *ngFor=\"let item of model; let i = index\"\r\n [ngStyle]=\"getItemStyle(i)\"\r\n class=\"cax-speeddial-item\"\r\n caxTooltip\r\n [tooltipOptions]=\"item.tooltipOptions\"\r\n [ngClass]=\"{ 'cax-hidden': item.visible === false, 'cax-focus': focusedOptionId == id + '_' + i }\"\r\n [id]=\"id + '_' + i\"\r\n [attr.aria-controls]=\"id + '_item'\"\r\n role=\"menuitem\"\r\n [attr.data-pc-section]=\"'menuitem'\"\r\n >\r\n <ng-container *ngIf=\"itemTemplate\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, index: i }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!itemTemplate\">\r\n <a\r\n *ngIf=\"isClickableRouterLink(item); else elseBlock\"\r\n caxRipple\r\n [routerLink]=\"item.routerLink\"\r\n [queryParams]=\"item.queryParams\"\r\n class=\"cax-speeddial-action\"\r\n [ngClass]=\"{ 'cax-disabled': item.disabled }\"\r\n role=\"menuitem\"\r\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\r\n (click)=\"onItemClick($event, item)\"\r\n (keydown.enter)=\"onItemClick($event, item, i)\"\r\n [attr.target]=\"item.target\"\r\n [attr.tabindex]=\"item.disabled || readonly || !visible ? null : item.tabindex ? item.tabindex : '0'\"\r\n [fragment]=\"item.fragment\"\r\n [queryParamsHandling]=\"item.queryParamsHandling\"\r\n [preserveFragment]=\"item.preserveFragment\"\r\n [skipLocationChange]=\"item.skipLocationChange\"\r\n [replaceUrl]=\"item.replaceUrl\"\r\n [state]=\"item.state\"\r\n [attr.aria-label]=\"item.label\"\r\n [attr.data-pc-section]=\"'action'\"\r\n >\r\n <span class=\"cax-speeddial-action-icon\" *ngIf=\"item.icon\" [ngClass]=\"item.icon\"></span>\r\n </a>\r\n <ng-template #elseBlock>\r\n <a\r\n [attr.href]=\"item.url || null\"\r\n class=\"cax-speeddial-action\"\r\n role=\"menuitem\"\r\n caxRipple\r\n (click)=\"onItemClick($event, item)\"\r\n [ngClass]=\"{ 'cax-disabled': item.disabled }\"\r\n (keydown.enter)=\"onItemClick($event, item, i)\"\r\n [attr.target]=\"item.target\"\r\n [attr.data-pc-section]=\"'action'\"\r\n [attr.aria-label]=\"item.label\"\r\n [attr.tabindex]=\"item.disabled || (i !== activeIndex && readonly) || !visible ? null : item.tabindex ? item.tabindex : '0'\"\r\n >\r\n <span class=\"cax-speeddial-action-icon\" *ngIf=\"item.icon\" [ngClass]=\"item.icon\"></span>\r\n </a>\r\n </ng-template>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n </div>\r\n <div *ngIf=\"mask && visible\" [ngClass]=\"{ 'cax-speeddial-mask': true, 'cax-speeddial-mask-visible': visible }\" [class]=\"maskClassName\" [ngStyle]=\"maskStyle\"></div>\r\n ", styles: ["@layer cax{.cax-speeddial{position:absolute;display:flex;z-index:1}.cax-speeddial:not(.cax-speeddial-opened){pointer-events:none}.cax-speeddial:not(.cax-speeddial-opened) .cax-speeddial-button{pointer-events:auto}.cax-speeddial-list{margin:0;padding:0;list-style:none;display:flex;align-items:center;justify-content:center;transition:top 0s linear .2s;pointer-events:none}.cax-speeddial-item{transform:scale(0);opacity:0;transition:transform .2s cubic-bezier(.4,0,.2,1) 0ms,opacity .8s;will-change:transform}.cax-speeddial-action{display:flex;align-items:center;justify-content:center;border-radius:50%;position:relative;overflow:hidden;cursor:pointer}.cax-speeddial-circle .cax-speeddial-item,.cax-speeddial-semi-circle .cax-speeddial-item,.cax-speeddial-quarter-circle .cax-speeddial-item{position:absolute}.cax-speeddial-rotate{transition:transform .25s cubic-bezier(.4,0,.2,1) 0ms;will-change:transform}.cax-speeddial-mask{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;transition:opacity .25s cubic-bezier(.25,.8,.25,1)}.cax-speeddial-mask-visible{pointer-events:none;opacity:1;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.cax-speeddial-opened .cax-speeddial-list{pointer-events:auto}.cax-speeddial-opened .cax-speeddial-item{transform:scale(1);opacity:1}.cax-speeddial-opened .cax-speeddial-rotate{transform:rotate(45deg)}.cax-speeddial-direction-up{align-items:center;flex-direction:column-reverse}.cax-speeddial-direction-up .cax-speeddial-list{flex-direction:column-reverse}.cax-speeddial-direction-down{align-items:center;flex-direction:column}.cax-speeddial-direction-down .cax-speeddial-list{flex-direction:column}.cax-speeddial-direction-left{justify-content:center;flex-direction:row-reverse}.cax-speeddial-direction-left .cax-speeddial-list{flex-direction:row-reverse}.cax-speeddial-direction-right{justify-content:center;flex-direction:row}.cax-speeddial-direction-right .cax-speeddial-list{flex-direction:row}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.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"] }, { kind: "directive", type: i2.ButtonDirective, selector: "[caxButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "link"] }, { kind: "directive", type: i3.Ripple, selector: "[caxRipple]" }, { kind: "directive", type: i4.Tooltip, selector: "[caxTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "caxTooltip", "tooltipDisabled", "tooltipOptions", "linkUrl", "linkText"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i6.PlusIcon, selector: "PlusIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
536
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: SpeedDial, selector: "cax-speedDial", inputs: { id: "id", model: "model", visible: "visible", style: "style", className: "className", direction: "direction", transitionDelay: ["transitionDelay", "transitionDelay", numberAttribute], type: "type", radius: ["radius", "radius", numberAttribute], mask: ["mask", "mask", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], hideOnClickOutside: ["hideOnClickOutside", "hideOnClickOutside", booleanAttribute], buttonStyle: "buttonStyle", buttonClassName: "buttonClassName", maskStyle: "maskStyle", maskClassName: "maskClassName", showIcon: "showIcon", hideIcon: "hideIcon", rotateAnimation: ["rotateAnimation", "rotateAnimation", booleanAttribute], ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy" }, outputs: { onVisibleChange: "onVisibleChange", visibleChange: "visibleChange", onClick: "onClick", onShow: "onShow", onHide: "onHide" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true }], ngImport: i0, template: "\n <div #container [ngClass]=\"containerClass()\" [class]=\"className\" [ngStyle]=\"style\" [attr.data-pc-name]=\"'speeddial'\" [attr.data-pc-section]=\"'root'\">\n <button\n caxRipple\n caxButton\n class=\"cax-button-icon-only\"\n [ngStyle]=\"buttonStyle\"\n [icon]=\"buttonIconClass\"\n [ngClass]=\"buttonClass()\"\n [disabled]=\"disabled\"\n [attr.aria-expanded]=\"visible\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-controls]=\"id + '_list'\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n (click)=\"onButtonClick($event)\"\n (keydown)=\"onTogglerKeydown($event)\"\n [attr.data-pc-name]=\"'button'\"\n >\n <PlusIcon *ngIf=\"!showIcon && !buttonTemplate\" />\n <ng-container *ngIf=\"buttonTemplate\">\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n </ng-container>\n </button>\n <ul\n #list\n class=\"cax-speeddial-list\"\n role=\"menu\"\n [id]=\"id + '_list'\"\n (focus)=\"onFocus($event)\"\n (focusout)=\"onBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n [tabindex]=\"-1\"\n [attr.data-pc-section]=\"'menu'\"\n >\n <li\n *ngFor=\"let item of model; let i = index\"\n [ngStyle]=\"getItemStyle(i)\"\n class=\"cax-speeddial-item\"\n caxTooltip\n [tooltipOptions]=\"item.tooltipOptions\"\n [ngClass]=\"{ 'cax-hidden': item.visible === false, 'cax-focus': focusedOptionId == id + '_' + i }\"\n [id]=\"id + '_' + i\"\n [attr.aria-controls]=\"id + '_item'\"\n role=\"menuitem\"\n [attr.data-pc-section]=\"'menuitem'\"\n >\n <ng-container *ngIf=\"itemTemplate\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, index: i }\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!itemTemplate\">\n <a\n *ngIf=\"isClickableRouterLink(item); else elseBlock\"\n caxRipple\n [routerLink]=\"item.routerLink\"\n [queryParams]=\"item.queryParams\"\n class=\"cax-speeddial-action\"\n [ngClass]=\"{ 'cax-disabled': item.disabled }\"\n role=\"menuitem\"\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\n (click)=\"onItemClick($event, item)\"\n (keydown.enter)=\"onItemClick($event, item, i)\"\n [attr.target]=\"item.target\"\n [attr.tabindex]=\"item.disabled || readonly || !visible ? null : item.tabindex ? item.tabindex : '0'\"\n [fragment]=\"item.fragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n [attr.aria-label]=\"item.label\"\n [attr.data-pc-section]=\"'action'\"\n >\n <span class=\"cax-speeddial-action-icon\" *ngIf=\"item.icon\" [ngClass]=\"item.icon\"></span>\n </a>\n <ng-template #elseBlock>\n <a\n [attr.href]=\"item.url || null\"\n class=\"cax-speeddial-action\"\n role=\"menuitem\"\n caxRipple\n (click)=\"onItemClick($event, item)\"\n [ngClass]=\"{ 'cax-disabled': item.disabled }\"\n (keydown.enter)=\"onItemClick($event, item, i)\"\n [attr.target]=\"item.target\"\n [attr.data-pc-section]=\"'action'\"\n [attr.aria-label]=\"item.label\"\n [attr.tabindex]=\"item.disabled || (i !== activeIndex && readonly) || !visible ? null : item.tabindex ? item.tabindex : '0'\"\n >\n <span class=\"cax-speeddial-action-icon\" *ngIf=\"item.icon\" [ngClass]=\"item.icon\"></span>\n </a>\n </ng-template>\n </ng-container>\n </li>\n </ul>\n </div>\n <div *ngIf=\"mask && visible\" [ngClass]=\"{ 'cax-speeddial-mask': true, 'cax-speeddial-mask-visible': visible }\" [class]=\"maskClassName\" [ngStyle]=\"maskStyle\"></div>\n ", styles: ["@layer cax{.cax-speeddial{position:absolute;display:flex;z-index:1}.cax-speeddial:not(.cax-speeddial-opened){pointer-events:none}.cax-speeddial:not(.cax-speeddial-opened) .cax-speeddial-button{pointer-events:auto}.cax-speeddial-list{margin:0;padding:0;list-style:none;display:flex;align-items:center;justify-content:center;transition:top 0s linear .2s;pointer-events:none}.cax-speeddial-item{transform:scale(0);opacity:0;transition:transform .2s cubic-bezier(.4,0,.2,1) 0ms,opacity .8s;will-change:transform}.cax-speeddial-action{display:flex;align-items:center;justify-content:center;border-radius:50%;position:relative;overflow:hidden;cursor:pointer}.cax-speeddial-circle .cax-speeddial-item,.cax-speeddial-semi-circle .cax-speeddial-item,.cax-speeddial-quarter-circle .cax-speeddial-item{position:absolute}.cax-speeddial-rotate{transition:transform .25s cubic-bezier(.4,0,.2,1) 0ms;will-change:transform}.cax-speeddial-mask{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;transition:opacity .25s cubic-bezier(.25,.8,.25,1)}.cax-speeddial-mask-visible{pointer-events:none;opacity:1;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.cax-speeddial-opened .cax-speeddial-list{pointer-events:auto}.cax-speeddial-opened .cax-speeddial-item{transform:scale(1);opacity:1}.cax-speeddial-opened .cax-speeddial-rotate{transform:rotate(45deg)}.cax-speeddial-direction-up{align-items:center;flex-direction:column-reverse}.cax-speeddial-direction-up .cax-speeddial-list{flex-direction:column-reverse}.cax-speeddial-direction-down{align-items:center;flex-direction:column}.cax-speeddial-direction-down .cax-speeddial-list{flex-direction:column}.cax-speeddial-direction-left{justify-content:center;flex-direction:row-reverse}.cax-speeddial-direction-left .cax-speeddial-list{flex-direction:row-reverse}.cax-speeddial-direction-right{justify-content:center;flex-direction:row}.cax-speeddial-direction-right .cax-speeddial-list{flex-direction:row}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.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"] }, { kind: "directive", type: i2.ButtonDirective, selector: "[caxButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "link"] }, { kind: "directive", type: i3.Ripple, selector: "[caxRipple]" }, { kind: "directive", type: i4.Tooltip, selector: "[caxTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "caxTooltip", "tooltipDisabled", "tooltipOptions", "linkUrl", "linkText"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i6.PlusIcon, selector: "PlusIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
537
537
|
}
|
|
538
538
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: SpeedDial, decorators: [{
|
|
539
539
|
type: Component,
|
|
540
540
|
args: [{ selector: 'cax-speedDial', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
541
541
|
class: 'cax-element'
|
|
542
|
-
}, template: "\
|
|
542
|
+
}, template: "\n <div #container [ngClass]=\"containerClass()\" [class]=\"className\" [ngStyle]=\"style\" [attr.data-pc-name]=\"'speeddial'\" [attr.data-pc-section]=\"'root'\">\n <button\n caxRipple\n caxButton\n class=\"cax-button-icon-only\"\n [ngStyle]=\"buttonStyle\"\n [icon]=\"buttonIconClass\"\n [ngClass]=\"buttonClass()\"\n [disabled]=\"disabled\"\n [attr.aria-expanded]=\"visible\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-controls]=\"id + '_list'\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n (click)=\"onButtonClick($event)\"\n (keydown)=\"onTogglerKeydown($event)\"\n [attr.data-pc-name]=\"'button'\"\n >\n <PlusIcon *ngIf=\"!showIcon && !buttonTemplate\" />\n <ng-container *ngIf=\"buttonTemplate\">\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n </ng-container>\n </button>\n <ul\n #list\n class=\"cax-speeddial-list\"\n role=\"menu\"\n [id]=\"id + '_list'\"\n (focus)=\"onFocus($event)\"\n (focusout)=\"onBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n [tabindex]=\"-1\"\n [attr.data-pc-section]=\"'menu'\"\n >\n <li\n *ngFor=\"let item of model; let i = index\"\n [ngStyle]=\"getItemStyle(i)\"\n class=\"cax-speeddial-item\"\n caxTooltip\n [tooltipOptions]=\"item.tooltipOptions\"\n [ngClass]=\"{ 'cax-hidden': item.visible === false, 'cax-focus': focusedOptionId == id + '_' + i }\"\n [id]=\"id + '_' + i\"\n [attr.aria-controls]=\"id + '_item'\"\n role=\"menuitem\"\n [attr.data-pc-section]=\"'menuitem'\"\n >\n <ng-container *ngIf=\"itemTemplate\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, index: i }\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!itemTemplate\">\n <a\n *ngIf=\"isClickableRouterLink(item); else elseBlock\"\n caxRipple\n [routerLink]=\"item.routerLink\"\n [queryParams]=\"item.queryParams\"\n class=\"cax-speeddial-action\"\n [ngClass]=\"{ 'cax-disabled': item.disabled }\"\n role=\"menuitem\"\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\n (click)=\"onItemClick($event, item)\"\n (keydown.enter)=\"onItemClick($event, item, i)\"\n [attr.target]=\"item.target\"\n [attr.tabindex]=\"item.disabled || readonly || !visible ? null : item.tabindex ? item.tabindex : '0'\"\n [fragment]=\"item.fragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n [attr.aria-label]=\"item.label\"\n [attr.data-pc-section]=\"'action'\"\n >\n <span class=\"cax-speeddial-action-icon\" *ngIf=\"item.icon\" [ngClass]=\"item.icon\"></span>\n </a>\n <ng-template #elseBlock>\n <a\n [attr.href]=\"item.url || null\"\n class=\"cax-speeddial-action\"\n role=\"menuitem\"\n caxRipple\n (click)=\"onItemClick($event, item)\"\n [ngClass]=\"{ 'cax-disabled': item.disabled }\"\n (keydown.enter)=\"onItemClick($event, item, i)\"\n [attr.target]=\"item.target\"\n [attr.data-pc-section]=\"'action'\"\n [attr.aria-label]=\"item.label\"\n [attr.tabindex]=\"item.disabled || (i !== activeIndex && readonly) || !visible ? null : item.tabindex ? item.tabindex : '0'\"\n >\n <span class=\"cax-speeddial-action-icon\" *ngIf=\"item.icon\" [ngClass]=\"item.icon\"></span>\n </a>\n </ng-template>\n </ng-container>\n </li>\n </ul>\n </div>\n <div *ngIf=\"mask && visible\" [ngClass]=\"{ 'cax-speeddial-mask': true, 'cax-speeddial-mask-visible': visible }\" [class]=\"maskClassName\" [ngStyle]=\"maskStyle\"></div>\n ", styles: ["@layer cax{.cax-speeddial{position:absolute;display:flex;z-index:1}.cax-speeddial:not(.cax-speeddial-opened){pointer-events:none}.cax-speeddial:not(.cax-speeddial-opened) .cax-speeddial-button{pointer-events:auto}.cax-speeddial-list{margin:0;padding:0;list-style:none;display:flex;align-items:center;justify-content:center;transition:top 0s linear .2s;pointer-events:none}.cax-speeddial-item{transform:scale(0);opacity:0;transition:transform .2s cubic-bezier(.4,0,.2,1) 0ms,opacity .8s;will-change:transform}.cax-speeddial-action{display:flex;align-items:center;justify-content:center;border-radius:50%;position:relative;overflow:hidden;cursor:pointer}.cax-speeddial-circle .cax-speeddial-item,.cax-speeddial-semi-circle .cax-speeddial-item,.cax-speeddial-quarter-circle .cax-speeddial-item{position:absolute}.cax-speeddial-rotate{transition:transform .25s cubic-bezier(.4,0,.2,1) 0ms;will-change:transform}.cax-speeddial-mask{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;transition:opacity .25s cubic-bezier(.25,.8,.25,1)}.cax-speeddial-mask-visible{pointer-events:none;opacity:1;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.cax-speeddial-opened .cax-speeddial-list{pointer-events:auto}.cax-speeddial-opened .cax-speeddial-item{transform:scale(1);opacity:1}.cax-speeddial-opened .cax-speeddial-rotate{transform:rotate(45deg)}.cax-speeddial-direction-up{align-items:center;flex-direction:column-reverse}.cax-speeddial-direction-up .cax-speeddial-list{flex-direction:column-reverse}.cax-speeddial-direction-down{align-items:center;flex-direction:column}.cax-speeddial-direction-down .cax-speeddial-list{flex-direction:column}.cax-speeddial-direction-left{justify-content:center;flex-direction:row-reverse}.cax-speeddial-direction-left .cax-speeddial-list{flex-direction:row-reverse}.cax-speeddial-direction-right{justify-content:center;flex-direction:row}.cax-speeddial-direction-right .cax-speeddial-list{flex-direction:row}}\n"] }]
|
|
543
543
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
544
544
|
type: Inject,
|
|
545
545
|
args: [PLATFORM_ID]
|