@fundamental-ngx/core 0.38.3-rc.4 → 0.38.4
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/esm2020/action-bar/action-bar.component.mjs +2 -2
- package/esm2020/action-sheet/action-sheet.component.mjs +2 -2
- package/esm2020/alert/alert.component.mjs +3 -3
- package/esm2020/avatar/avatar.component.mjs +2 -2
- package/esm2020/avatar-group/avatar-group.component.mjs +2 -2
- package/esm2020/bar/bar.component.mjs +2 -2
- package/esm2020/breadcrumb/breadcrumb.component.mjs +2 -2
- package/esm2020/busy-indicator/busy-indicator.component.mjs +2 -2
- package/esm2020/button/button.component.mjs +2 -2
- package/esm2020/calendar/calendar.component.mjs +2 -2
- package/esm2020/card/card.component.mjs +2 -2
- package/esm2020/carousel/carousel.component.mjs +2 -2
- package/esm2020/checkbox/checkbox/checkbox.component.mjs +2 -2
- package/esm2020/dialog/dialog.component.mjs +3 -3
- package/esm2020/dynamic-page/dynamic-page.component.mjs +2 -2
- package/esm2020/dynamic-side-content/dynamic-side-content.component.mjs +2 -2
- package/esm2020/facets/facet/facet.component.mjs +2 -2
- package/esm2020/feed-input/feed-input.component.mjs +2 -2
- package/esm2020/feed-list-item/components/item/feed-list-item.component.mjs +3 -3
- package/esm2020/feed-list-item/components/list/feed-list.component.mjs +2 -2
- package/esm2020/file-uploader/file-uploader.component.mjs +2 -2
- package/esm2020/fixed-card-layout/fixed-card-layout.component.mjs +2 -2
- package/esm2020/flexible-column-layout/flexible-column-layout.component.mjs +2 -2
- package/esm2020/form/fieldset/fieldset.component.mjs +2 -2
- package/esm2020/form/form-control/form-control.component.mjs +2 -2
- package/esm2020/form/form-group/form-group.component.mjs +2 -2
- package/esm2020/form/form-header/form-header.component.mjs +2 -2
- package/esm2020/form/form-item/form-item.component.mjs +2 -2
- package/esm2020/form/form-label/form-label.component.mjs +2 -2
- package/esm2020/form/form-message/form-message.component.mjs +2 -2
- package/esm2020/grid-list/components/grid-list/grid-list.component.mjs +2 -2
- package/esm2020/icon/icon.component.mjs +2 -2
- package/esm2020/illustrated-message/illustrated-message.component.mjs +18 -8
- package/esm2020/info-label/info-label.component.mjs +2 -2
- package/esm2020/input-group/input-group.component.mjs +3 -7
- package/esm2020/layout-grid/layout-grid.component.mjs +2 -2
- package/esm2020/layout-panel/layout-panel.component.mjs +2 -2
- package/esm2020/link/link.component.mjs +2 -2
- package/esm2020/list/list-navigation-item/list-navigation-item.component.mjs +2 -2
- package/esm2020/list/list.component.mjs +2 -2
- package/esm2020/menu/menu.component.mjs +2 -2
- package/esm2020/message-box/message-box.component.mjs +3 -3
- package/esm2020/message-page/message-page.component.mjs +2 -2
- package/esm2020/message-strip/message-strip.component.mjs +2 -2
- package/esm2020/message-toast/message-toast.component.mjs +2 -2
- package/esm2020/notification/notification/notification.component.mjs +2 -2
- package/esm2020/object-identifier/object-identifier.component.mjs +2 -2
- package/esm2020/object-marker/object-marker.component.mjs +2 -2
- package/esm2020/object-number/object-number.component.mjs +2 -2
- package/esm2020/object-status/object-status.component.mjs +2 -2
- package/esm2020/pagination/pagination.component.mjs +2 -2
- package/esm2020/panel/panel.component.mjs +2 -2
- package/esm2020/popover/popover-body/popover-body.component.mjs +2 -2
- package/esm2020/product-switch/product-switch-body/product-switch-body.component.mjs +2 -2
- package/esm2020/progress-indicator/progress-indicator.component.mjs +2 -2
- package/esm2020/quick-view/quick-view/quick-view.component.mjs +2 -2
- package/esm2020/radio/radio-button/radio-button.component.mjs +2 -2
- package/esm2020/rating-indicator/components/rating-indicator.component.mjs +2 -2
- package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.mjs +2 -2
- package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.mjs +2 -2
- package/esm2020/scrollbar/scrollbar.component.mjs +2 -2
- package/esm2020/segmented-button/segmented-button.component.mjs +2 -2
- package/esm2020/select/select.component.mjs +2 -2
- package/esm2020/shellbar/shellbar.component.mjs +2 -2
- package/esm2020/side-navigation/side-navigation.component.mjs +2 -2
- package/esm2020/skeleton/components/skeleton.component.mjs +2 -2
- package/esm2020/slider/slider.component.mjs +2 -2
- package/esm2020/split-button/split-button.component.mjs +2 -2
- package/esm2020/splitter/splitter.component.mjs +2 -2
- package/esm2020/status-indicator/status-indicator.component.mjs +2 -2
- package/esm2020/step-input/step-input.component.mjs +2 -2
- package/esm2020/switch/switch.component.mjs +2 -2
- package/esm2020/table/table-wrapper.component.mjs +2 -2
- package/esm2020/table/table.component.mjs +2 -2
- package/esm2020/tabs/tab-list.component.mjs +2 -2
- package/esm2020/tabs/tab-nav/tab-nav.component.mjs +2 -2
- package/esm2020/text/text.component.mjs +2 -2
- package/esm2020/tile/tile.component.mjs +2 -2
- package/esm2020/time/time.component.mjs +2 -2
- package/esm2020/timeline/components/timeline-node/timeline-node.component.mjs +3 -3
- package/esm2020/title/title.component.mjs +2 -2
- package/esm2020/token/token.component.mjs +2 -2
- package/esm2020/token/tokenizer.component.mjs +2 -2
- package/esm2020/toolbar/toolbar.component.mjs +2 -2
- package/esm2020/tree/tree.component.mjs +2 -2
- package/esm2020/upload-collection/upload-collection.component.mjs +2 -2
- package/esm2020/vertical-navigation/vertical-navigation-main-navigation.component.mjs +2 -2
- package/esm2020/vertical-navigation/vertical-navigation.component.mjs +2 -2
- package/esm2020/wizard/wizard.component.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-action-bar.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-action-bar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-action-sheet.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-action-sheet.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-alert.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-alert.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-avatar-group.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-avatar.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-bar.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-bar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-breadcrumb.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-busy-indicator.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-button.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-button.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-calendar.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-calendar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-card.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-card.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-carousel.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-carousel.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-checkbox.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-checkbox.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-dialog.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-dynamic-page.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-facets.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-facets.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-feed-input.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-feed-input.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-feed-list-item.mjs +4 -4
- package/fesm2015/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-file-uploader.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-file-uploader.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-fixed-card-layout.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-flexible-column-layout.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-form.mjs +14 -14
- package/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-grid-list.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-grid-list.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-icon.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-icon.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-illustrated-message.mjs +18 -8
- package/fesm2015/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-info-label.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-info-label.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-input-group.mjs +2 -6
- package/fesm2015/fundamental-ngx-core-input-group.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-layout-grid.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-layout-grid.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-layout-panel.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-layout-panel.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-link.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-link.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-list.mjs +4 -4
- package/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-menu.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-message-box.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-message-box.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-message-page.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-message-page.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-message-strip.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-message-toast.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-message-toast.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-notification.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-notification.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-object-identifier.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-object-identifier.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-object-marker.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-object-marker.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-object-number.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-object-number.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-object-status.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-object-status.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-pagination.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-pagination.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-panel.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-panel.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-popover.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-product-switch.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-product-switch.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-progress-indicator.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-quick-view.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-quick-view.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-radio.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-radio.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-rating-indicator.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs +4 -4
- package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-scrollbar.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-scrollbar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-segmented-button.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-segmented-button.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-select.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-shellbar.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-side-navigation.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-side-navigation.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-skeleton.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-skeleton.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-slider.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-slider.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-split-button.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-split-button.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-splitter.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-splitter.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-status-indicator.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-status-indicator.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-step-input.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-step-input.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-switch.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-switch.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-table.mjs +4 -4
- package/fesm2015/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-tabs.mjs +4 -4
- package/fesm2015/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-text.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-text.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-tile.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-tile.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-time.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-time.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-timeline.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-timeline.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-title.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-title.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-token.mjs +4 -4
- package/fesm2015/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-toolbar.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-toolbar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-tree.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-upload-collection.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-upload-collection.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-vertical-navigation.mjs +4 -4
- package/fesm2015/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-wizard.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-wizard.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-action-bar.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-action-bar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-action-sheet.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-action-sheet.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-alert.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-alert.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-avatar-group.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-avatar.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-bar.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-bar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-breadcrumb.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-busy-indicator.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-button.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-button.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-calendar.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-calendar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-card.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-card.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-carousel.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-carousel.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-checkbox.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-checkbox.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-dialog.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-dynamic-page.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-facets.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-facets.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-feed-input.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-feed-input.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-feed-list-item.mjs +4 -4
- package/fesm2020/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-file-uploader.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-file-uploader.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-fixed-card-layout.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-flexible-column-layout.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-form.mjs +14 -14
- package/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-grid-list.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-grid-list.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-icon.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-icon.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-illustrated-message.mjs +17 -7
- package/fesm2020/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-info-label.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-info-label.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-input-group.mjs +2 -6
- package/fesm2020/fundamental-ngx-core-input-group.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-layout-grid.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-layout-grid.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-layout-panel.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-layout-panel.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-link.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-link.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-list.mjs +4 -4
- package/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-menu.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-message-box.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-message-box.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-message-page.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-message-page.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-message-strip.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-message-toast.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-message-toast.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-notification.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-notification.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-object-identifier.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-object-identifier.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-object-marker.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-object-marker.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-object-number.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-object-number.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-object-status.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-object-status.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-pagination.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-pagination.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-panel.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-panel.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-popover.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-product-switch.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-product-switch.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-progress-indicator.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-quick-view.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-quick-view.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-radio.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-radio.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-rating-indicator.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs +4 -4
- package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-scrollbar.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-scrollbar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-segmented-button.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-segmented-button.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-select.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-shellbar.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-side-navigation.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-side-navigation.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-skeleton.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-skeleton.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-slider.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-slider.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-split-button.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-split-button.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-splitter.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-splitter.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-status-indicator.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-status-indicator.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-step-input.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-step-input.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-switch.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-switch.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-table.mjs +4 -4
- package/fesm2020/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-tabs.mjs +4 -4
- package/fesm2020/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-text.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-text.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-tile.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-tile.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-time.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-time.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-timeline.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-timeline.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-title.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-title.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-token.mjs +4 -4
- package/fesm2020/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-toolbar.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-toolbar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-tree.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-upload-collection.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-upload-collection.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-vertical-navigation.mjs +4 -4
- package/fesm2020/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-wizard.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-wizard.mjs.map +1 -1
- package/fundamental-ngx-core-v0.38.4.tgz +0 -0
- package/illustrated-message/illustrated-message.component.d.ts +2 -3
- package/input-group/input-group.component.d.ts +0 -2
- package/package.json +3 -3
- package/schematics/add-dependencies/index.js +4 -4
- package/fundamental-ngx-core-v0.38.3-rc.4.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-timeline.mjs","sources":["../../../../libs/core/src/lib/timeline/directives/timeline-first-list-outlet.directive.ts","../../../../libs/core/src/lib/timeline/directives/timeline-node-def.directive.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/base-strategy.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/vertical-double-sides-strategy.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/horizontal-single-side-strategy.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/horizontal-double-sides-strategy.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/vertical-single-side-strategy.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/position-strategy-factory.ts","../../../../libs/core/src/lib/timeline/services/timeline-position-control.service.ts","../../../../libs/core/src/lib/timeline/directives/timeline-second-list-outlet.directive.ts","../../../../libs/core/src/lib/timeline/components/timeline-node-header/timeline-node-header.component.ts","../../../../libs/core/src/lib/timeline/components/timeline-node/timeline-node.component.ts","../../../../libs/core/src/lib/timeline/components/timeline-node/timeline-node.component.html","../../../../libs/core/src/lib/timeline/timeline.component.ts","../../../../libs/core/src/lib/timeline/timeline.component.html","../../../../libs/core/src/lib/timeline/components/timeline-node-header/timeline-node-header-info/timeline-node-header-info.component.ts","../../../../libs/core/src/lib/timeline/components/timeline-node-body/timeline-node-body.component.ts","../../../../libs/core/src/lib/timeline/components/timeline-node-body/timeline-node-body.component.html","../../../../libs/core/src/lib/timeline/components/timeline-node-footer/timeline-node-footer.component.ts","../../../../libs/core/src/lib/timeline/directives/class-bindings/timeline-node-header-info-title.directive.ts","../../../../libs/core/src/lib/timeline/directives/class-bindings/timeline-node-header-info-text.directive.ts","../../../../libs/core/src/lib/timeline/directives/class-bindings/timeline-header-info-sub-title.directive.ts","../../../../libs/core/src/lib/timeline/timeline.module.ts","../../../../libs/core/src/lib/timeline/fundamental-ngx-core-timeline.ts"],"sourcesContent":["import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[fdTimelineFirstListOutlet], [fd-timeline-first-list-outlet]'\n})\nexport class TimelineFirstListOutletDirective {\n /** Ref to ViewContainerRef instance*/\n constructor(public viewContainer: ViewContainerRef) {}\n}\n","import { Directive, Input, TemplateRef } from '@angular/core';\n\n/** Context provided to the timeline node component. */\nexport class TimelineNodeOutletContext<T> {\n /** Data for the node. */\n $implicit: T;\n\n /** Index location of the node. */\n index?: number;\n\n /** Length of the number of total dataNodes. */\n count?: number;\n\n /** @hidden */\n constructor(data: T) {\n this.$implicit = data;\n }\n}\n\n@Directive({\n selector: '[fdTimelineNodeDef], [fd-timeline-node-def]'\n})\nexport class TimelineNodeDefDirective<T> {\n /** Data passed to the template*/\n @Input()\n fdTimelineNodeData: T;\n\n /** @hidden */\n constructor(public template: TemplateRef<any>) {}\n}\n","import { TimelineNodeComponentInterface } from '../../components/timeline-node/timeline-node-component.interface';\nimport { TimelineAxis } from '../../types';\n\nexport abstract class BaseStrategy {\n /** Offset between nodes lines */\n private readonly SMALL_OFFSET = 14;\n\n /** Offset between nodes lines with icon */\n private readonly BIG_OFFSET = 30;\n\n /** Offset for second list in within vertical axis */\n private readonly VERTICAL_TOP_LIST_OFFSET = 24;\n\n /** Calculate styles for timeline nodes */\n abstract calculateStyles(nodes: TimelineNodeComponentInterface[]): any;\n\n /** @hidden */\n protected _getOffset(node: TimelineNodeComponentInterface): number {\n return node.glyph ? this.BIG_OFFSET : this.SMALL_OFFSET;\n }\n\n /** @hidden */\n protected _getTwoListFromOne(\n nodes: TimelineNodeComponentInterface[]\n ): [TimelineNodeComponentInterface[], TimelineNodeComponentInterface[]] {\n const lastIndexInFirstList = Math.ceil(nodes.length / 2);\n const firstList = nodes.slice(0, lastIndexInFirstList);\n const secondList = nodes.slice(lastIndexInFirstList, nodes.length);\n return [firstList, secondList];\n }\n\n /** @hidden */\n protected _setStylesForSingleList(nodes: TimelineNodeComponentInterface[], axis: TimelineAxis): void {\n const [offsetProperty, sizeProperty] =\n axis === 'horizontal' ? ['offsetLeft', 'width'] : ['offsetTop', 'height'];\n\n nodes.forEach((node, index) => {\n const nextNode = nodes[index + 1];\n // Set line size depend on where next node item is started\n if (nextNode) {\n const size =\n nextNode.el.nativeElement[offsetProperty] -\n node.el.nativeElement[offsetProperty] -\n this._getOffset(node);\n node.lineEl.nativeElement.style[sizeProperty] = size + 'px';\n } else {\n // Hide last timeline line in list\n node.lineEl.nativeElement.style.opacity = '0';\n }\n });\n }\n\n /** @hidden */\n protected _setStylesForDoubleList(nodes: TimelineNodeComponentInterface[], axis: TimelineAxis): void {\n const [firstList, secondList] = this._getTwoListFromOne(nodes);\n const [offsetProp, sizeProp, sizeOffsetProp] =\n axis === 'horizontal' ? ['offsetLeft', 'width', 'offsetWidth'] : ['offsetTop', 'height', 'offsetHeight'];\n\n // Set styles for second list\n secondList.forEach((node, index) => {\n const el = node.el.nativeElement;\n const parallelNodeEl = firstList[index].el.nativeElement;\n\n // Handle case when bottom edge of item in second list higher than top edge of next item in first list\n // Actual only for vertical axis because items in horizontal axis have fixed size\n if (axis === 'vertical') {\n secondList[index].el.nativeElement.style.marginTop = `${this.SMALL_OFFSET}px`;\n const prevNode = secondList[index - 1];\n const diffBetween = prevNode\n ? parallelNodeEl.offsetTop +\n this.VERTICAL_TOP_LIST_OFFSET -\n (prevNode.el.nativeElement.offsetTop + prevNode.el.nativeElement.offsetHeight)\n : -1;\n if (diffBetween > 0) {\n prevNode.el.nativeElement.style.marginBottom = `${diffBetween}px`;\n }\n }\n\n // Set line size depend on where next node item is started\n const diff =\n parallelNodeEl[offsetProp] + parallelNodeEl[sizeOffsetProp] - el[offsetProp] - this._getOffset(node);\n node.lineEl.nativeElement.style[sizeProp] = diff + 'px';\n });\n\n // Set styles for first list\n firstList.forEach((node, index) => {\n const el = node.el.nativeElement;\n const parallelNode = secondList[index];\n // Set line size depend on where next node item is started\n if (parallelNode) {\n const diff = parallelNode.el.nativeElement[offsetProp] - el[offsetProp] - this._getOffset(node);\n node.lineEl.nativeElement.style[sizeProp] = diff + 'px';\n }\n });\n\n // Hide last timeline line in lists\n const lastNode =\n firstList.length === secondList.length\n ? secondList[secondList.length - 1]\n : firstList[firstList.length - 1];\n lastNode.lineEl.nativeElement.style.opacity = '0';\n }\n}\n","import { BaseStrategy } from './base-strategy';\nimport { TimelineNodeComponentInterface } from '../../components/timeline-node/timeline-node-component.interface';\n\nexport class VerticalDoubleSidesStrategy extends BaseStrategy {\n /** Calculate styles for timeline nodes */\n calculateStyles(nodes: TimelineNodeComponentInterface[]): void {\n this._setStylesForDoubleList(nodes, 'vertical');\n }\n}\n","import { BaseStrategy } from './base-strategy';\nimport { TimelineNodeComponentInterface } from '../../components/timeline-node/timeline-node-component.interface';\n\nexport class HorizontalSingleSideStrategy extends BaseStrategy {\n /** Calculate styles for timeline nodes */\n calculateStyles(nodes: TimelineNodeComponentInterface[]): any {\n this._setStylesForSingleList(nodes, 'horizontal');\n }\n}\n","import { BaseStrategy } from './base-strategy';\nimport { TimelineNodeComponentInterface } from '../../components/timeline-node/timeline-node-component.interface';\n\nexport class HorizontalDoubleSidesStrategy extends BaseStrategy {\n /** Calculate styles for timeline nodes */\n calculateStyles(nodes: TimelineNodeComponentInterface[]): any {\n this._setStylesForDoubleList(nodes, 'horizontal');\n }\n}\n","import { BaseStrategy } from './base-strategy';\nimport { TimelineNodeComponentInterface } from '../../components/timeline-node/timeline-node-component.interface';\n\nexport class VerticalSingleSideStrategy extends BaseStrategy {\n /** Calculate styles for timeline nodes */\n calculateStyles(nodes: TimelineNodeComponentInterface[]): void {\n this._setStylesForSingleList(nodes, 'vertical');\n }\n}\n","import { BaseStrategy } from './base-strategy';\nimport { TimeLinePositionStrategy } from '../../types';\nimport { VerticalDoubleSidesStrategy } from './vertical-double-sides-strategy';\nimport { HorizontalSingleSideStrategy } from './horizontal-single-side-strategy';\nimport { HorizontalDoubleSidesStrategy } from './horizontal-double-sides-strategy';\nimport { VerticalSingleSideStrategy } from './vertical-single-side-strategy';\n\nexport class PositionStrategyFactory {\n /** Get timeline position strategy */\n static getStrategy(strategy: TimeLinePositionStrategy): BaseStrategy {\n switch (strategy) {\n case 'vertical-right':\n return new VerticalSingleSideStrategy();\n case 'vertical-left':\n return new VerticalSingleSideStrategy();\n case 'vertical-double':\n return new VerticalDoubleSidesStrategy();\n case 'horizontal-top':\n return new HorizontalSingleSideStrategy();\n case 'horizontal-bottom':\n return new HorizontalSingleSideStrategy();\n case 'horizontal-double':\n return new HorizontalDoubleSidesStrategy();\n default:\n throw Error(`Unsupported strategy: ${strategy}`);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { TimelineNodeComponentInterface } from '../components/timeline-node/timeline-node-component.interface';\nimport { TimeLinePositionStrategy } from '../types';\nimport { BaseStrategy } from './position-strategies/base-strategy';\nimport { PositionStrategyFactory } from './position-strategies/position-strategy-factory';\n\n@Injectable()\nexport class TimelinePositionControlService {\n /* List of TimelineNodeComponent */\n /** @hidden */\n private _nodeItems: TimelineNodeComponentInterface[] = [];\n\n /* Current position strategy. It depends on axis and layout */\n /** @hidden */\n private _positionStrategy: BaseStrategy;\n\n /** Calculate styles for timeline nodes */\n calculatePositions(): void {\n this._positionStrategy.calculateStyles(this._nodeItems);\n }\n\n /** Set strategy for current axis and layout */\n setStrategy(strategy: TimeLinePositionStrategy): void {\n this._positionStrategy = PositionStrategyFactory.getStrategy(strategy);\n }\n\n /** Register TimelineNodeComponent */\n registerNode(node: TimelineNodeComponentInterface): void {\n this._nodeItems.push(node);\n }\n\n /** Remove TimelineNodeComponent */\n removeNode(node: TimelineNodeComponentInterface): void {\n this._nodeItems = this._nodeItems.filter((item) => item !== node);\n }\n}\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[fdTimelineSecondListOutlet], [fd-timeline-second-list-outlet]'\n})\nexport class TimelineSecondListOutletDirective {\n /** Ref to ViewContainerRef instance*/\n constructor(public viewContainer: ViewContainerRef) {}\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-timeline-node-header',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'fd-timeline__post-header-container'\n }\n})\nexport class TimelineNodeHeaderComponent {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { TimelinePositionControlService } from '../../services/timeline-position-control.service';\nimport { TimelineNodeComponentInterface } from './timeline-node-component.interface';\n\n@Component({\n selector: 'fd-timeline-node',\n templateUrl: './timeline-node.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-timeline__node-wrapper',\n '[class.fd-timeline__node-wrapper--icon]': '!!glyph'\n }\n})\nexport class TimelineNodeComponent implements TimelineNodeComponentInterface, OnInit, OnDestroy {\n /** Glyph of the current timeline node.*/\n @Input()\n glyph: string;\n\n /** Aria label for the current timeline node. */\n @Input()\n ariaLabel = 'timelineitem';\n\n /** Reference to the line of timeline node*/\n @ViewChild('lineEl')\n lineEl: ElementRef;\n\n /** @hidden */\n constructor(public el: ElementRef, private _timelinePositionControl: TimelinePositionControlService) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._timelinePositionControl.registerNode(this);\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._timelinePositionControl.removeNode(this);\n }\n}\n","<div class=\"fd-timeline__node-container\">\n <div class=\"fd-timeline__icon-wrapper\">\n <div class=\"fd-timeline__node\" [class.fd-timeline__node--icon]=\"!!glyph\">\n <fd-icon *ngIf=\"glyph\" [glyph]=\"glyph\"></fd-icon>\n </div>\n </div>\n <div #lineEl class=\"fd-timeline__connecting-line\"></div>\n</div>\n<div role=\"timelineitem\" [attr.aria-label]=\"ariaLabel\" class=\"fd-timeline__post\">\n <ng-content></ng-content>\n</div>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n IterableChangeRecord,\n IterableDiffer,\n IterableDiffers,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n QueryList,\n SimpleChanges,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { ViewportRuler } from '@angular/cdk/overlay';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { TimelineFirstListOutletDirective } from './directives/timeline-first-list-outlet.directive';\nimport { TimelineNodeDefDirective, TimelineNodeOutletContext } from './directives/timeline-node-def.directive';\nimport { TimelinePositionControlService } from './services/timeline-position-control.service';\nimport { TimelineAxis, TimeLinePositionStrategy, TimelineSidePosition } from './types';\nimport { TimelineSecondListOutletDirective } from './directives/timeline-second-list-outlet.directive';\n\n@Component({\n selector: 'fd-timeline',\n templateUrl: './timeline.component.html',\n styleUrls: ['./timeline.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TimelinePositionControlService],\n host: {\n role: 'timeline',\n 'arial-label': 'timeline',\n class: 'fd-timeline',\n '[class.fd-timeline--horizontal]': 'axis === \"horizontal\"',\n '[class.fd-timeline--vertical]': 'axis === \"vertical\"'\n }\n})\nexport class TimelineComponent<T> implements OnInit, OnDestroy, OnChanges, AfterViewInit {\n /**\n * Data array to render\n */\n @Input()\n dataSource: T[];\n\n /**\n * Tracking function that will be used to check the differences in data changes.\n */\n @Input()\n trackBy: TrackByFunction<T>;\n\n /**\n * Axis for timeline\n */\n @Input()\n axis: TimelineAxis = 'vertical';\n\n /**\n * Layout for timeline\n */\n @Input()\n layout: TimelineSidePosition = 'right';\n\n /* First outlet within the timeline template where the dataNodes will be inserted. */\n /** @hidden */\n @ViewChild(TimelineFirstListOutletDirective, { static: true })\n private _firstListOutlet: TimelineFirstListOutletDirective;\n\n /* Second outlet within the timeline template where the dataNodes will be inserted. */\n /** @hidden */\n @ViewChild(TimelineSecondListOutletDirective, { static: true })\n private _secondListOutlet: TimelineSecondListOutletDirective;\n\n /** The timeline node template for the timeline */\n /** @hidden */\n @ContentChildren(TimelineNodeDefDirective, { descendants: true })\n private _nodeDefs: QueryList<TimelineNodeDefDirective<T>>;\n\n /** @hidden */\n _canShowFirstList = true;\n\n /** @hidden */\n _canShowSecondList = true;\n\n /** @hidden */\n _loading = true;\n\n /** @hidden */\n @ViewChild('loadingTemplate')\n _loadingTemplate: TemplateRef<any>;\n\n /** @hidden\n * Differ used to find the changes in the data provided by the data source.\n */\n private _dataDifferForFirstList: IterableDiffer<T>;\n\n /** @hidden */\n private _dataDifferForSecondList: IterableDiffer<T>;\n\n /** @hidden */\n private readonly _onDestroy = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _differs: IterableDiffers,\n private _cd: ChangeDetectorRef,\n private _timelinePositionControlService: TimelinePositionControlService,\n private _viewportRuler: ViewportRuler,\n private _ngZone: NgZone\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._dataDifferForFirstList = this._differs.find([]).create(this.trackBy);\n this._dataDifferForSecondList = this._differs.find([]).create(this.trackBy);\n\n this._canShowFirstList = this.layout !== 'right' && this.layout !== 'bottom';\n this._canShowSecondList = this.layout !== 'left' && this.layout !== 'top';\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if ('axis' in changes || 'layout' in changes) {\n this._canShowFirstList = this.layout !== 'right' && this.layout !== 'bottom';\n this._canShowSecondList = this.layout !== 'left' && this.layout !== 'top';\n this._setPositionStrategy();\n this.switchDataSource(this.dataSource);\n }\n if ('dataSource' in changes && !changes['dataSource'].firstChange) {\n const value = changes['dataSource'].currentValue;\n this.switchDataSource(value);\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._viewportRuler\n .change(50)\n .pipe(takeUntil(this._onDestroy))\n // ViewportRuler invoked out of zone, that is why I need to invoke function in zone\n .subscribe(() => this._ngZone.run(() => this._timelinePositionControlService.calculatePositions()));\n this._setPositionStrategy();\n this.switchDataSource(this.dataSource);\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._firstListOutlet.viewContainer.clear();\n this._onDestroy.next();\n this._onDestroy.complete();\n }\n\n /**\n * Update state by new data source\n * If the data source is null, interpret this by clearing the node outlet.\n */\n /** @hidden */\n private switchDataSource(data: T[]): void {\n this._loading = true;\n if (!data) {\n this._firstListOutlet.viewContainer.clear();\n this._firstListOutlet.viewContainer.createEmbeddedView(this._loadingTemplate);\n this._cd.detectChanges();\n this._timelinePositionControlService.calculatePositions();\n this._cd.detectChanges();\n return;\n }\n if (this._nodeDefs) {\n const [first, second] = this._splitList(data);\n this._renderNodeChanges(first, this._dataDifferForFirstList, this._firstListOutlet?.viewContainer);\n this._renderNodeChanges(second, this._dataDifferForSecondList, this._secondListOutlet?.viewContainer);\n this._cd.detectChanges();\n this._timelinePositionControlService.calculatePositions();\n this._loading = false;\n this._cd.detectChanges();\n }\n }\n\n /** Check for changes made in the data and render each change (node added/removed/moved). */\n /** @hidden */\n private _renderNodeChanges(data: T[], differ: IterableDiffer<T>, vcr: ViewContainerRef): void {\n const changes = differ.diff(data);\n if (!changes) {\n return;\n }\n changes.forEachOperation(\n (item: IterableChangeRecord<T>, adjustedPreviousIndex: number | null, currentIndex: number | null) => {\n if (currentIndex != null && item.previousIndex === null) {\n this._insertNode(data[currentIndex], currentIndex, vcr);\n } else if (currentIndex === null && adjustedPreviousIndex != null) {\n vcr.remove(adjustedPreviousIndex);\n } else if (adjustedPreviousIndex != null && currentIndex != null) {\n const view = vcr.get(adjustedPreviousIndex);\n if (view) {\n vcr.move(view, currentIndex);\n }\n }\n }\n );\n }\n\n /** @hidden */\n private _setPositionStrategy(): void {\n this._timelinePositionControlService.setStrategy(`${this.axis}-${this.layout}` as TimeLinePositionStrategy);\n }\n\n /**\n * Create the embedded view for the data node template and place it in the correct index location\n * within the data node view container.\n */\n /** @hidden */\n private _insertNode(nodeData: T, index: number, vcr: ViewContainerRef): void {\n const node = this._getNodeDef(index);\n\n // Node context that will be provided to created embedded view\n const context = new TimelineNodeOutletContext<T>(nodeData);\n\n vcr.createEmbeddedView(node.template, context, index);\n }\n\n /**\n * Finds the matching node definition that should be used for this node data. If there is only\n * one node definition, it is returned.\n */\n /** @hidden */\n private _getNodeDef(i: number): TimelineNodeDefDirective<T> {\n if (this._nodeDefs.length === 1) {\n return this._nodeDefs.first;\n }\n return this._nodeDefs[i];\n }\n\n /**\n * Split data list to two list first and second to represent timelines in two lists.\n */\n /** @hidden */\n private _splitList(dataSource: T[]): T[][] {\n let dataForFirstList: T[] = [];\n let dataForSecondList: T[] = [];\n if (this.layout === 'left' || this.layout === 'top') {\n dataForFirstList = [...dataSource];\n } else if (this.layout === 'right' || this.layout === 'bottom') {\n dataForSecondList = [...dataSource];\n } else {\n dataSource.forEach((item, index) => {\n if (index % 2 === 0) {\n dataForFirstList.push(item);\n } else {\n dataForSecondList.push(item);\n }\n });\n }\n return [dataForFirstList, dataForSecondList];\n }\n}\n","<div\n [class.fd-timeline__list--empty]=\"!_canShowFirstList && !_loading\"\n class=\"fd-timeline__list fd-timeline__list--first\"\n>\n <ng-container fdTimelineFirstListOutlet></ng-container>\n</div>\n<div class=\"fd-timeline__main-line\"></div>\n<div\n [class.fd-timeline__list--empty]=\"!_canShowSecondList\"\n [class.fd-timeline__list--with-offset]=\"_canShowFirstList\"\n class=\"fd-timeline__list fd-timeline__list--second\"\n>\n <ng-container fdTimelineSecondListOutlet></ng-container>\n</div>\n\n<ng-template #loadingTemplate>\n <fd-timeline-node *fdRepeat=\"3\">\n <fd-timeline-node-header>\n <fd-skeleton width=\"100%\" height=\"32px\">\n <svg:circle cx=\"16\" cy=\"16\" r=\"16\" rx=\"4\"></svg:circle>\n <svg:rect x=\"37\" y=\"0\" width=\"120\" height=\"12\" rx=\"4\"></svg:rect>\n <svg:rect x=\"37\" y=\"20\" width=\"80\" height=\"8\" rx=\"4\"></svg:rect>\n </fd-skeleton>\n </fd-timeline-node-header>\n\n <fd-skeleton type=\"text\"></fd-skeleton>\n </fd-timeline-node>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-timeline-node-header-info',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'fd-timeline__post-header'\n }\n})\nexport class TimelineNodeHeaderInfoComponent {}\n","import { ChangeDetectionStrategy, Component, Input, NgZone, ViewEncapsulation } from '@angular/core';\nimport { TimelinePositionControlService } from '../../services/timeline-position-control.service';\nimport { first } from 'rxjs/operators';\n\n@Component({\n selector: 'fd-timeline-node-body',\n templateUrl: './timeline-node-body.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'fd-timeline__post-content'\n }\n})\nexport class TimelineNodeBodyComponent {\n /** Text content of timeline node*/\n @Input()\n content: string;\n\n /**\n * The number of lines to be visible.\n * If user doesn't provide it, all lines will be visible\n */\n @Input()\n maxLines: number;\n\n /** @hidden */\n constructor(private _ngZone: NgZone, private _timelinePositionControlService: TimelinePositionControlService) {}\n\n /** @hidden */\n calculatePositions(): void {\n this._ngZone.onStable.pipe(first()).subscribe(() => {\n this._timelinePositionControlService.calculatePositions();\n });\n }\n}\n","<fd-text\n [maxLines]=\"maxLines || 0\"\n [text]=\"content\"\n [isCollapsed]=\"!!maxLines\"\n [expandable]=\"!!maxLines\"\n (isCollapsedChange)=\"calculatePositions()\"\n></fd-text>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-timeline-node-footer',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'fd-timeline__post-actions'\n },\n styles: [\n `\n .fd-timeline__post-actions button + button {\n margin-left: 0.5rem;\n }\n `\n ]\n})\nexport class TimelineNodeFooterComponent {}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTimelineNodeHeaderInfoTitle], [fd-timeline-node-header-info-title]'\n})\nexport class TimelineNodeHeaderInfoTitleDirective {\n /** fd-timeline__post-header-title*/\n @HostBinding('class.fd-timeline__post-header-title')\n fdTimelineNodeHeaderInfoTitleClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTimelineNodeHeaderInfoText], [fd-timeline-node-header-info-text]'\n})\nexport class TimelineNodeHeaderInfoTextDirective {\n /** add/remove fd-timeline__post-header-text class*/\n @HostBinding('class.fd-timeline__post-header-text')\n fdTimelineNodeHeaderInfoTextClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTimelineHeaderInfoSubTitle], [fd-timeline-header-info-sub-title]'\n})\nexport class TimelineHeaderInfoSubTitleDirective {\n /** add/remove fd-timeline__post-subheader class*/\n @HostBinding('class.fd-timeline__post-subheader')\n fdTimelineNodeHeaderInfoSubTitleClass = true;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { TextModule } from '@fundamental-ngx/core/text';\nimport { SkeletonModule } from '@fundamental-ngx/core/skeleton';\nimport { RepeatModule } from '@fundamental-ngx/core/utils';\n\nimport { TimelineComponent } from './timeline.component';\nimport { TimelineNodeDefDirective } from './directives/timeline-node-def.directive';\nimport { TimelineFirstListOutletDirective } from './directives/timeline-first-list-outlet.directive';\nimport { TimelineNodeHeaderComponent } from './components/timeline-node-header/timeline-node-header.component';\nimport { TimelineNodeHeaderInfoComponent } from './components/timeline-node-header/timeline-node-header-info/timeline-node-header-info.component';\nimport { TimelineNodeBodyComponent } from './components/timeline-node-body/timeline-node-body.component';\nimport { TimelineNodeFooterComponent } from './components/timeline-node-footer/timeline-node-footer.component';\nimport { TimelineNodeComponent } from './components/timeline-node/timeline-node.component';\nimport { TimelineNodeHeaderInfoTitleDirective } from './directives/class-bindings/timeline-node-header-info-title.directive';\nimport { TimelineNodeHeaderInfoTextDirective } from './directives/class-bindings/timeline-node-header-info-text.directive';\nimport { TimelineHeaderInfoSubTitleDirective } from './directives/class-bindings/timeline-header-info-sub-title.directive';\nimport { TimelineSecondListOutletDirective } from './directives/timeline-second-list-outlet.directive';\n\n@NgModule({\n declarations: [\n TimelineComponent,\n TimelineNodeDefDirective,\n TimelineFirstListOutletDirective,\n TimelineNodeHeaderComponent,\n TimelineNodeHeaderInfoComponent,\n TimelineNodeBodyComponent,\n TimelineNodeFooterComponent,\n TimelineNodeComponent,\n TimelineNodeHeaderInfoTitleDirective,\n TimelineNodeHeaderInfoTextDirective,\n TimelineHeaderInfoSubTitleDirective,\n TimelineSecondListOutletDirective\n ],\n imports: [CommonModule, IconModule, TextModule, SkeletonModule, RepeatModule],\n exports: [\n TimelineComponent,\n TimelineNodeDefDirective,\n TimelineNodeHeaderComponent,\n TimelineNodeHeaderInfoComponent,\n TimelineNodeBodyComponent,\n TimelineNodeFooterComponent,\n TimelineNodeComponent,\n TimelineNodeHeaderInfoTitleDirective,\n TimelineNodeHeaderInfoTextDirective,\n TimelineHeaderInfoSubTitleDirective\n ]\n})\nexport class TimelineModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.TimelinePositionControlService","i2","i3","i5.TimelineFirstListOutletDirective","i6.TimelineNodeHeaderComponent","i7.TimelineNodeComponent","i8.TimelineSecondListOutletDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-timeline.mjs","sources":["../../../../libs/core/src/lib/timeline/directives/timeline-first-list-outlet.directive.ts","../../../../libs/core/src/lib/timeline/directives/timeline-node-def.directive.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/base-strategy.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/vertical-double-sides-strategy.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/horizontal-single-side-strategy.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/horizontal-double-sides-strategy.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/vertical-single-side-strategy.ts","../../../../libs/core/src/lib/timeline/services/position-strategies/position-strategy-factory.ts","../../../../libs/core/src/lib/timeline/services/timeline-position-control.service.ts","../../../../libs/core/src/lib/timeline/directives/timeline-second-list-outlet.directive.ts","../../../../libs/core/src/lib/timeline/components/timeline-node-header/timeline-node-header.component.ts","../../../../libs/core/src/lib/timeline/components/timeline-node/timeline-node.component.ts","../../../../libs/core/src/lib/timeline/components/timeline-node/timeline-node.component.html","../../../../libs/core/src/lib/timeline/timeline.component.ts","../../../../libs/core/src/lib/timeline/timeline.component.html","../../../../libs/core/src/lib/timeline/components/timeline-node-header/timeline-node-header-info/timeline-node-header-info.component.ts","../../../../libs/core/src/lib/timeline/components/timeline-node-body/timeline-node-body.component.ts","../../../../libs/core/src/lib/timeline/components/timeline-node-body/timeline-node-body.component.html","../../../../libs/core/src/lib/timeline/components/timeline-node-footer/timeline-node-footer.component.ts","../../../../libs/core/src/lib/timeline/directives/class-bindings/timeline-node-header-info-title.directive.ts","../../../../libs/core/src/lib/timeline/directives/class-bindings/timeline-node-header-info-text.directive.ts","../../../../libs/core/src/lib/timeline/directives/class-bindings/timeline-header-info-sub-title.directive.ts","../../../../libs/core/src/lib/timeline/timeline.module.ts","../../../../libs/core/src/lib/timeline/fundamental-ngx-core-timeline.ts"],"sourcesContent":["import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[fdTimelineFirstListOutlet], [fd-timeline-first-list-outlet]'\n})\nexport class TimelineFirstListOutletDirective {\n /** Ref to ViewContainerRef instance*/\n constructor(public viewContainer: ViewContainerRef) {}\n}\n","import { Directive, Input, TemplateRef } from '@angular/core';\n\n/** Context provided to the timeline node component. */\nexport class TimelineNodeOutletContext<T> {\n /** Data for the node. */\n $implicit: T;\n\n /** Index location of the node. */\n index?: number;\n\n /** Length of the number of total dataNodes. */\n count?: number;\n\n /** @hidden */\n constructor(data: T) {\n this.$implicit = data;\n }\n}\n\n@Directive({\n selector: '[fdTimelineNodeDef], [fd-timeline-node-def]'\n})\nexport class TimelineNodeDefDirective<T> {\n /** Data passed to the template*/\n @Input()\n fdTimelineNodeData: T;\n\n /** @hidden */\n constructor(public template: TemplateRef<any>) {}\n}\n","import { TimelineNodeComponentInterface } from '../../components/timeline-node/timeline-node-component.interface';\nimport { TimelineAxis } from '../../types';\n\nexport abstract class BaseStrategy {\n /** Offset between nodes lines */\n private readonly SMALL_OFFSET = 14;\n\n /** Offset between nodes lines with icon */\n private readonly BIG_OFFSET = 30;\n\n /** Offset for second list in within vertical axis */\n private readonly VERTICAL_TOP_LIST_OFFSET = 24;\n\n /** Calculate styles for timeline nodes */\n abstract calculateStyles(nodes: TimelineNodeComponentInterface[]): any;\n\n /** @hidden */\n protected _getOffset(node: TimelineNodeComponentInterface): number {\n return node.glyph ? this.BIG_OFFSET : this.SMALL_OFFSET;\n }\n\n /** @hidden */\n protected _getTwoListFromOne(\n nodes: TimelineNodeComponentInterface[]\n ): [TimelineNodeComponentInterface[], TimelineNodeComponentInterface[]] {\n const lastIndexInFirstList = Math.ceil(nodes.length / 2);\n const firstList = nodes.slice(0, lastIndexInFirstList);\n const secondList = nodes.slice(lastIndexInFirstList, nodes.length);\n return [firstList, secondList];\n }\n\n /** @hidden */\n protected _setStylesForSingleList(nodes: TimelineNodeComponentInterface[], axis: TimelineAxis): void {\n const [offsetProperty, sizeProperty] =\n axis === 'horizontal' ? ['offsetLeft', 'width'] : ['offsetTop', 'height'];\n\n nodes.forEach((node, index) => {\n const nextNode = nodes[index + 1];\n // Set line size depend on where next node item is started\n if (nextNode) {\n const size =\n nextNode.el.nativeElement[offsetProperty] -\n node.el.nativeElement[offsetProperty] -\n this._getOffset(node);\n node.lineEl.nativeElement.style[sizeProperty] = size + 'px';\n } else {\n // Hide last timeline line in list\n node.lineEl.nativeElement.style.opacity = '0';\n }\n });\n }\n\n /** @hidden */\n protected _setStylesForDoubleList(nodes: TimelineNodeComponentInterface[], axis: TimelineAxis): void {\n const [firstList, secondList] = this._getTwoListFromOne(nodes);\n const [offsetProp, sizeProp, sizeOffsetProp] =\n axis === 'horizontal' ? ['offsetLeft', 'width', 'offsetWidth'] : ['offsetTop', 'height', 'offsetHeight'];\n\n // Set styles for second list\n secondList.forEach((node, index) => {\n const el = node.el.nativeElement;\n const parallelNodeEl = firstList[index].el.nativeElement;\n\n // Handle case when bottom edge of item in second list higher than top edge of next item in first list\n // Actual only for vertical axis because items in horizontal axis have fixed size\n if (axis === 'vertical') {\n secondList[index].el.nativeElement.style.marginTop = `${this.SMALL_OFFSET}px`;\n const prevNode = secondList[index - 1];\n const diffBetween = prevNode\n ? parallelNodeEl.offsetTop +\n this.VERTICAL_TOP_LIST_OFFSET -\n (prevNode.el.nativeElement.offsetTop + prevNode.el.nativeElement.offsetHeight)\n : -1;\n if (diffBetween > 0) {\n prevNode.el.nativeElement.style.marginBottom = `${diffBetween}px`;\n }\n }\n\n // Set line size depend on where next node item is started\n const diff =\n parallelNodeEl[offsetProp] + parallelNodeEl[sizeOffsetProp] - el[offsetProp] - this._getOffset(node);\n node.lineEl.nativeElement.style[sizeProp] = diff + 'px';\n });\n\n // Set styles for first list\n firstList.forEach((node, index) => {\n const el = node.el.nativeElement;\n const parallelNode = secondList[index];\n // Set line size depend on where next node item is started\n if (parallelNode) {\n const diff = parallelNode.el.nativeElement[offsetProp] - el[offsetProp] - this._getOffset(node);\n node.lineEl.nativeElement.style[sizeProp] = diff + 'px';\n }\n });\n\n // Hide last timeline line in lists\n const lastNode =\n firstList.length === secondList.length\n ? secondList[secondList.length - 1]\n : firstList[firstList.length - 1];\n lastNode.lineEl.nativeElement.style.opacity = '0';\n }\n}\n","import { BaseStrategy } from './base-strategy';\nimport { TimelineNodeComponentInterface } from '../../components/timeline-node/timeline-node-component.interface';\n\nexport class VerticalDoubleSidesStrategy extends BaseStrategy {\n /** Calculate styles for timeline nodes */\n calculateStyles(nodes: TimelineNodeComponentInterface[]): void {\n this._setStylesForDoubleList(nodes, 'vertical');\n }\n}\n","import { BaseStrategy } from './base-strategy';\nimport { TimelineNodeComponentInterface } from '../../components/timeline-node/timeline-node-component.interface';\n\nexport class HorizontalSingleSideStrategy extends BaseStrategy {\n /** Calculate styles for timeline nodes */\n calculateStyles(nodes: TimelineNodeComponentInterface[]): any {\n this._setStylesForSingleList(nodes, 'horizontal');\n }\n}\n","import { BaseStrategy } from './base-strategy';\nimport { TimelineNodeComponentInterface } from '../../components/timeline-node/timeline-node-component.interface';\n\nexport class HorizontalDoubleSidesStrategy extends BaseStrategy {\n /** Calculate styles for timeline nodes */\n calculateStyles(nodes: TimelineNodeComponentInterface[]): any {\n this._setStylesForDoubleList(nodes, 'horizontal');\n }\n}\n","import { BaseStrategy } from './base-strategy';\nimport { TimelineNodeComponentInterface } from '../../components/timeline-node/timeline-node-component.interface';\n\nexport class VerticalSingleSideStrategy extends BaseStrategy {\n /** Calculate styles for timeline nodes */\n calculateStyles(nodes: TimelineNodeComponentInterface[]): void {\n this._setStylesForSingleList(nodes, 'vertical');\n }\n}\n","import { BaseStrategy } from './base-strategy';\nimport { TimeLinePositionStrategy } from '../../types';\nimport { VerticalDoubleSidesStrategy } from './vertical-double-sides-strategy';\nimport { HorizontalSingleSideStrategy } from './horizontal-single-side-strategy';\nimport { HorizontalDoubleSidesStrategy } from './horizontal-double-sides-strategy';\nimport { VerticalSingleSideStrategy } from './vertical-single-side-strategy';\n\nexport class PositionStrategyFactory {\n /** Get timeline position strategy */\n static getStrategy(strategy: TimeLinePositionStrategy): BaseStrategy {\n switch (strategy) {\n case 'vertical-right':\n return new VerticalSingleSideStrategy();\n case 'vertical-left':\n return new VerticalSingleSideStrategy();\n case 'vertical-double':\n return new VerticalDoubleSidesStrategy();\n case 'horizontal-top':\n return new HorizontalSingleSideStrategy();\n case 'horizontal-bottom':\n return new HorizontalSingleSideStrategy();\n case 'horizontal-double':\n return new HorizontalDoubleSidesStrategy();\n default:\n throw Error(`Unsupported strategy: ${strategy}`);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { TimelineNodeComponentInterface } from '../components/timeline-node/timeline-node-component.interface';\nimport { TimeLinePositionStrategy } from '../types';\nimport { BaseStrategy } from './position-strategies/base-strategy';\nimport { PositionStrategyFactory } from './position-strategies/position-strategy-factory';\n\n@Injectable()\nexport class TimelinePositionControlService {\n /* List of TimelineNodeComponent */\n /** @hidden */\n private _nodeItems: TimelineNodeComponentInterface[] = [];\n\n /* Current position strategy. It depends on axis and layout */\n /** @hidden */\n private _positionStrategy: BaseStrategy;\n\n /** Calculate styles for timeline nodes */\n calculatePositions(): void {\n this._positionStrategy.calculateStyles(this._nodeItems);\n }\n\n /** Set strategy for current axis and layout */\n setStrategy(strategy: TimeLinePositionStrategy): void {\n this._positionStrategy = PositionStrategyFactory.getStrategy(strategy);\n }\n\n /** Register TimelineNodeComponent */\n registerNode(node: TimelineNodeComponentInterface): void {\n this._nodeItems.push(node);\n }\n\n /** Remove TimelineNodeComponent */\n removeNode(node: TimelineNodeComponentInterface): void {\n this._nodeItems = this._nodeItems.filter((item) => item !== node);\n }\n}\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[fdTimelineSecondListOutlet], [fd-timeline-second-list-outlet]'\n})\nexport class TimelineSecondListOutletDirective {\n /** Ref to ViewContainerRef instance*/\n constructor(public viewContainer: ViewContainerRef) {}\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-timeline-node-header',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'fd-timeline__post-header-container'\n }\n})\nexport class TimelineNodeHeaderComponent {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { TimelinePositionControlService } from '../../services/timeline-position-control.service';\nimport { TimelineNodeComponentInterface } from './timeline-node-component.interface';\n\n@Component({\n selector: 'fd-timeline-node',\n templateUrl: './timeline-node.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-timeline__node-wrapper',\n '[class.fd-timeline__node-wrapper--icon]': '!!glyph'\n }\n})\nexport class TimelineNodeComponent implements TimelineNodeComponentInterface, OnInit, OnDestroy {\n /** Glyph of the current timeline node.*/\n @Input()\n glyph: string;\n\n /** Aria label for the current timeline node. */\n @Input()\n ariaLabel = 'timelineitem';\n\n /** Reference to the line of timeline node*/\n @ViewChild('lineEl')\n lineEl: ElementRef;\n\n /** @hidden */\n constructor(public el: ElementRef, private _timelinePositionControl: TimelinePositionControlService) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._timelinePositionControl.registerNode(this);\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._timelinePositionControl.removeNode(this);\n }\n}\n","<div class=\"fd-timeline__node-container\">\n <div class=\"fd-timeline__icon-wrapper\">\n <div class=\"fd-timeline__node\" [class.fd-timeline__node--icon]=\"!!glyph\">\n <fd-icon *ngIf=\"glyph\" [glyph]=\"glyph\"></fd-icon>\n </div>\n </div>\n <div #lineEl class=\"fd-timeline__connecting-line\"></div>\n</div>\n<div tabindex=\"0\" role=\"timelineitem\" [attr.aria-label]=\"ariaLabel\" class=\"fd-timeline__post\">\n <ng-content></ng-content>\n</div>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n IterableChangeRecord,\n IterableDiffer,\n IterableDiffers,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n QueryList,\n SimpleChanges,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { ViewportRuler } from '@angular/cdk/overlay';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { TimelineFirstListOutletDirective } from './directives/timeline-first-list-outlet.directive';\nimport { TimelineNodeDefDirective, TimelineNodeOutletContext } from './directives/timeline-node-def.directive';\nimport { TimelinePositionControlService } from './services/timeline-position-control.service';\nimport { TimelineAxis, TimeLinePositionStrategy, TimelineSidePosition } from './types';\nimport { TimelineSecondListOutletDirective } from './directives/timeline-second-list-outlet.directive';\n\n@Component({\n selector: 'fd-timeline',\n templateUrl: './timeline.component.html',\n styleUrls: ['./timeline.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TimelinePositionControlService],\n host: {\n role: 'timeline',\n 'arial-label': 'timeline',\n class: 'fd-timeline',\n '[class.fd-timeline--horizontal]': 'axis === \"horizontal\"',\n '[class.fd-timeline--vertical]': 'axis === \"vertical\"'\n }\n})\nexport class TimelineComponent<T> implements OnInit, OnDestroy, OnChanges, AfterViewInit {\n /**\n * Data array to render\n */\n @Input()\n dataSource: T[];\n\n /**\n * Tracking function that will be used to check the differences in data changes.\n */\n @Input()\n trackBy: TrackByFunction<T>;\n\n /**\n * Axis for timeline\n */\n @Input()\n axis: TimelineAxis = 'vertical';\n\n /**\n * Layout for timeline\n */\n @Input()\n layout: TimelineSidePosition = 'right';\n\n /* First outlet within the timeline template where the dataNodes will be inserted. */\n /** @hidden */\n @ViewChild(TimelineFirstListOutletDirective, { static: true })\n private _firstListOutlet: TimelineFirstListOutletDirective;\n\n /* Second outlet within the timeline template where the dataNodes will be inserted. */\n /** @hidden */\n @ViewChild(TimelineSecondListOutletDirective, { static: true })\n private _secondListOutlet: TimelineSecondListOutletDirective;\n\n /** The timeline node template for the timeline */\n /** @hidden */\n @ContentChildren(TimelineNodeDefDirective, { descendants: true })\n private _nodeDefs: QueryList<TimelineNodeDefDirective<T>>;\n\n /** @hidden */\n _canShowFirstList = true;\n\n /** @hidden */\n _canShowSecondList = true;\n\n /** @hidden */\n _loading = true;\n\n /** @hidden */\n @ViewChild('loadingTemplate')\n _loadingTemplate: TemplateRef<any>;\n\n /** @hidden\n * Differ used to find the changes in the data provided by the data source.\n */\n private _dataDifferForFirstList: IterableDiffer<T>;\n\n /** @hidden */\n private _dataDifferForSecondList: IterableDiffer<T>;\n\n /** @hidden */\n private readonly _onDestroy = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _differs: IterableDiffers,\n private _cd: ChangeDetectorRef,\n private _timelinePositionControlService: TimelinePositionControlService,\n private _viewportRuler: ViewportRuler,\n private _ngZone: NgZone\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._dataDifferForFirstList = this._differs.find([]).create(this.trackBy);\n this._dataDifferForSecondList = this._differs.find([]).create(this.trackBy);\n\n this._canShowFirstList = this.layout !== 'right' && this.layout !== 'bottom';\n this._canShowSecondList = this.layout !== 'left' && this.layout !== 'top';\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if ('axis' in changes || 'layout' in changes) {\n this._canShowFirstList = this.layout !== 'right' && this.layout !== 'bottom';\n this._canShowSecondList = this.layout !== 'left' && this.layout !== 'top';\n this._setPositionStrategy();\n this.switchDataSource(this.dataSource);\n }\n if ('dataSource' in changes && !changes['dataSource'].firstChange) {\n const value = changes['dataSource'].currentValue;\n this.switchDataSource(value);\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._viewportRuler\n .change(50)\n .pipe(takeUntil(this._onDestroy))\n // ViewportRuler invoked out of zone, that is why I need to invoke function in zone\n .subscribe(() => this._ngZone.run(() => this._timelinePositionControlService.calculatePositions()));\n this._setPositionStrategy();\n this.switchDataSource(this.dataSource);\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._firstListOutlet.viewContainer.clear();\n this._onDestroy.next();\n this._onDestroy.complete();\n }\n\n /**\n * Update state by new data source\n * If the data source is null, interpret this by clearing the node outlet.\n */\n /** @hidden */\n private switchDataSource(data: T[]): void {\n this._loading = true;\n if (!data) {\n this._firstListOutlet.viewContainer.clear();\n this._firstListOutlet.viewContainer.createEmbeddedView(this._loadingTemplate);\n this._cd.detectChanges();\n this._timelinePositionControlService.calculatePositions();\n this._cd.detectChanges();\n return;\n }\n if (this._nodeDefs) {\n const [first, second] = this._splitList(data);\n this._renderNodeChanges(first, this._dataDifferForFirstList, this._firstListOutlet?.viewContainer);\n this._renderNodeChanges(second, this._dataDifferForSecondList, this._secondListOutlet?.viewContainer);\n this._cd.detectChanges();\n this._timelinePositionControlService.calculatePositions();\n this._loading = false;\n this._cd.detectChanges();\n }\n }\n\n /** Check for changes made in the data and render each change (node added/removed/moved). */\n /** @hidden */\n private _renderNodeChanges(data: T[], differ: IterableDiffer<T>, vcr: ViewContainerRef): void {\n const changes = differ.diff(data);\n if (!changes) {\n return;\n }\n changes.forEachOperation(\n (item: IterableChangeRecord<T>, adjustedPreviousIndex: number | null, currentIndex: number | null) => {\n if (currentIndex != null && item.previousIndex === null) {\n this._insertNode(data[currentIndex], currentIndex, vcr);\n } else if (currentIndex === null && adjustedPreviousIndex != null) {\n vcr.remove(adjustedPreviousIndex);\n } else if (adjustedPreviousIndex != null && currentIndex != null) {\n const view = vcr.get(adjustedPreviousIndex);\n if (view) {\n vcr.move(view, currentIndex);\n }\n }\n }\n );\n }\n\n /** @hidden */\n private _setPositionStrategy(): void {\n this._timelinePositionControlService.setStrategy(`${this.axis}-${this.layout}` as TimeLinePositionStrategy);\n }\n\n /**\n * Create the embedded view for the data node template and place it in the correct index location\n * within the data node view container.\n */\n /** @hidden */\n private _insertNode(nodeData: T, index: number, vcr: ViewContainerRef): void {\n const node = this._getNodeDef(index);\n\n // Node context that will be provided to created embedded view\n const context = new TimelineNodeOutletContext<T>(nodeData);\n\n vcr.createEmbeddedView(node.template, context, index);\n }\n\n /**\n * Finds the matching node definition that should be used for this node data. If there is only\n * one node definition, it is returned.\n */\n /** @hidden */\n private _getNodeDef(i: number): TimelineNodeDefDirective<T> {\n if (this._nodeDefs.length === 1) {\n return this._nodeDefs.first;\n }\n return this._nodeDefs[i];\n }\n\n /**\n * Split data list to two list first and second to represent timelines in two lists.\n */\n /** @hidden */\n private _splitList(dataSource: T[]): T[][] {\n let dataForFirstList: T[] = [];\n let dataForSecondList: T[] = [];\n if (this.layout === 'left' || this.layout === 'top') {\n dataForFirstList = [...dataSource];\n } else if (this.layout === 'right' || this.layout === 'bottom') {\n dataForSecondList = [...dataSource];\n } else {\n dataSource.forEach((item, index) => {\n if (index % 2 === 0) {\n dataForFirstList.push(item);\n } else {\n dataForSecondList.push(item);\n }\n });\n }\n return [dataForFirstList, dataForSecondList];\n }\n}\n","<div\n [class.fd-timeline__list--empty]=\"!_canShowFirstList && !_loading\"\n class=\"fd-timeline__list fd-timeline__list--first\"\n>\n <ng-container fdTimelineFirstListOutlet></ng-container>\n</div>\n<div class=\"fd-timeline__main-line\"></div>\n<div\n [class.fd-timeline__list--empty]=\"!_canShowSecondList\"\n [class.fd-timeline__list--with-offset]=\"_canShowFirstList\"\n class=\"fd-timeline__list fd-timeline__list--second\"\n>\n <ng-container fdTimelineSecondListOutlet></ng-container>\n</div>\n\n<ng-template #loadingTemplate>\n <fd-timeline-node *fdRepeat=\"3\">\n <fd-timeline-node-header>\n <fd-skeleton width=\"100%\" height=\"32px\">\n <svg:circle cx=\"16\" cy=\"16\" r=\"16\" rx=\"4\"></svg:circle>\n <svg:rect x=\"37\" y=\"0\" width=\"120\" height=\"12\" rx=\"4\"></svg:rect>\n <svg:rect x=\"37\" y=\"20\" width=\"80\" height=\"8\" rx=\"4\"></svg:rect>\n </fd-skeleton>\n </fd-timeline-node-header>\n\n <fd-skeleton type=\"text\"></fd-skeleton>\n </fd-timeline-node>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-timeline-node-header-info',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'fd-timeline__post-header'\n }\n})\nexport class TimelineNodeHeaderInfoComponent {}\n","import { ChangeDetectionStrategy, Component, Input, NgZone, ViewEncapsulation } from '@angular/core';\nimport { TimelinePositionControlService } from '../../services/timeline-position-control.service';\nimport { first } from 'rxjs/operators';\n\n@Component({\n selector: 'fd-timeline-node-body',\n templateUrl: './timeline-node-body.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'fd-timeline__post-content'\n }\n})\nexport class TimelineNodeBodyComponent {\n /** Text content of timeline node*/\n @Input()\n content: string;\n\n /**\n * The number of lines to be visible.\n * If user doesn't provide it, all lines will be visible\n */\n @Input()\n maxLines: number;\n\n /** @hidden */\n constructor(private _ngZone: NgZone, private _timelinePositionControlService: TimelinePositionControlService) {}\n\n /** @hidden */\n calculatePositions(): void {\n this._ngZone.onStable.pipe(first()).subscribe(() => {\n this._timelinePositionControlService.calculatePositions();\n });\n }\n}\n","<fd-text\n [maxLines]=\"maxLines || 0\"\n [text]=\"content\"\n [isCollapsed]=\"!!maxLines\"\n [expandable]=\"!!maxLines\"\n (isCollapsedChange)=\"calculatePositions()\"\n></fd-text>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-timeline-node-footer',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'fd-timeline__post-actions'\n },\n styles: [\n `\n .fd-timeline__post-actions button + button {\n margin-left: 0.5rem;\n }\n `\n ]\n})\nexport class TimelineNodeFooterComponent {}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTimelineNodeHeaderInfoTitle], [fd-timeline-node-header-info-title]'\n})\nexport class TimelineNodeHeaderInfoTitleDirective {\n /** fd-timeline__post-header-title*/\n @HostBinding('class.fd-timeline__post-header-title')\n fdTimelineNodeHeaderInfoTitleClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTimelineNodeHeaderInfoText], [fd-timeline-node-header-info-text]'\n})\nexport class TimelineNodeHeaderInfoTextDirective {\n /** add/remove fd-timeline__post-header-text class*/\n @HostBinding('class.fd-timeline__post-header-text')\n fdTimelineNodeHeaderInfoTextClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdTimelineHeaderInfoSubTitle], [fd-timeline-header-info-sub-title]'\n})\nexport class TimelineHeaderInfoSubTitleDirective {\n /** add/remove fd-timeline__post-subheader class*/\n @HostBinding('class.fd-timeline__post-subheader')\n fdTimelineNodeHeaderInfoSubTitleClass = true;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { TextModule } from '@fundamental-ngx/core/text';\nimport { SkeletonModule } from '@fundamental-ngx/core/skeleton';\nimport { RepeatModule } from '@fundamental-ngx/core/utils';\n\nimport { TimelineComponent } from './timeline.component';\nimport { TimelineNodeDefDirective } from './directives/timeline-node-def.directive';\nimport { TimelineFirstListOutletDirective } from './directives/timeline-first-list-outlet.directive';\nimport { TimelineNodeHeaderComponent } from './components/timeline-node-header/timeline-node-header.component';\nimport { TimelineNodeHeaderInfoComponent } from './components/timeline-node-header/timeline-node-header-info/timeline-node-header-info.component';\nimport { TimelineNodeBodyComponent } from './components/timeline-node-body/timeline-node-body.component';\nimport { TimelineNodeFooterComponent } from './components/timeline-node-footer/timeline-node-footer.component';\nimport { TimelineNodeComponent } from './components/timeline-node/timeline-node.component';\nimport { TimelineNodeHeaderInfoTitleDirective } from './directives/class-bindings/timeline-node-header-info-title.directive';\nimport { TimelineNodeHeaderInfoTextDirective } from './directives/class-bindings/timeline-node-header-info-text.directive';\nimport { TimelineHeaderInfoSubTitleDirective } from './directives/class-bindings/timeline-header-info-sub-title.directive';\nimport { TimelineSecondListOutletDirective } from './directives/timeline-second-list-outlet.directive';\n\n@NgModule({\n declarations: [\n TimelineComponent,\n TimelineNodeDefDirective,\n TimelineFirstListOutletDirective,\n TimelineNodeHeaderComponent,\n TimelineNodeHeaderInfoComponent,\n TimelineNodeBodyComponent,\n TimelineNodeFooterComponent,\n TimelineNodeComponent,\n TimelineNodeHeaderInfoTitleDirective,\n TimelineNodeHeaderInfoTextDirective,\n TimelineHeaderInfoSubTitleDirective,\n TimelineSecondListOutletDirective\n ],\n imports: [CommonModule, IconModule, TextModule, SkeletonModule, RepeatModule],\n exports: [\n TimelineComponent,\n TimelineNodeDefDirective,\n TimelineNodeHeaderComponent,\n TimelineNodeHeaderInfoComponent,\n TimelineNodeBodyComponent,\n TimelineNodeFooterComponent,\n TimelineNodeComponent,\n TimelineNodeHeaderInfoTitleDirective,\n TimelineNodeHeaderInfoTextDirective,\n TimelineHeaderInfoSubTitleDirective\n ]\n})\nexport class TimelineModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.TimelinePositionControlService","i2","i3","i5.TimelineFirstListOutletDirective","i6.TimelineNodeHeaderComponent","i7.TimelineNodeComponent","i8.TimelineSecondListOutletDirective"],"mappings":"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"}
|
|
@@ -47,13 +47,13 @@ class TitleComponent extends TitleToken {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
TitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TitleComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
-
TitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: { headerSize: "headerSize", wrap: "wrap" }, host: { properties: { "class.fd-title--wrap": "wrap" }, classAttribute: "fd-title" }, providers: [{ provide: TitleToken, useExisting: TitleComponent }], exportAs: ["fd-title"], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["/*!\n * Fundamental Library Styles v0.26.
|
|
50
|
+
TitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: { headerSize: "headerSize", wrap: "wrap" }, host: { properties: { "class.fd-title--wrap": "wrap" }, classAttribute: "fd-title" }, providers: [{ provide: TitleToken, useExisting: TitleComponent }], exportAs: ["fd-title"], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["/*!\n * Fundamental Library Styles v0.26.4\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-family:var(--sapFontHeaderFamily);font-size:1rem;font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-title:after,.fd-title:before{box-sizing:inherit;font-size:inherit}.fd-title--h1{font-size:var(--sapFontHeader1Size)}.fd-title--h2{font-size:var(--sapFontHeader2Size)}.fd-title--h3{font-size:var(--sapFontHeader3Size)}.fd-title--h4{font-size:var(--sapFontHeader4Size)}.fd-title--h5{font-size:var(--sapFontHeader5Size)}.fd-title--h6{font-size:var(--sapFontHeader6Size)}.fd-title--wrap{overflow:auto;text-overflow:clip;white-space:normal}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
51
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TitleComponent, decorators: [{
|
|
52
52
|
type: Component,
|
|
53
53
|
args: [{ selector: 'h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]', exportAs: 'fd-title', template: '<ng-content></ng-content>', host: {
|
|
54
54
|
class: 'fd-title',
|
|
55
55
|
'[class.fd-title--wrap]': 'wrap'
|
|
56
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: TitleToken, useExisting: TitleComponent }], styles: ["/*!\n * Fundamental Library Styles v0.26.
|
|
56
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: TitleToken, useExisting: TitleComponent }], styles: ["/*!\n * Fundamental Library Styles v0.26.4\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-family:var(--sapFontHeaderFamily);font-size:1rem;font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-title:after,.fd-title:before{box-sizing:inherit;font-size:inherit}.fd-title--h1{font-size:var(--sapFontHeader1Size)}.fd-title--h2{font-size:var(--sapFontHeader2Size)}.fd-title--h3{font-size:var(--sapFontHeader3Size)}.fd-title--h4{font-size:var(--sapFontHeader4Size)}.fd-title--h5{font-size:var(--sapFontHeader5Size)}.fd-title--h6{font-size:var(--sapFontHeader6Size)}.fd-title--wrap{overflow:auto;text-overflow:clip;white-space:normal}\n"] }]
|
|
57
57
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { headerSize: [{
|
|
58
58
|
type: Input
|
|
59
59
|
}], wrap: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-title.mjs","sources":["../../../../libs/core/src/lib/title/title.component.ts","../../../../libs/core/src/lib/title/title.module.ts","../../../../libs/core/src/lib/title/fundamental-ngx-core-title.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, Input, OnInit, ViewEncapsulation } from '@angular/core';\n\nimport { Nullable } from '@fundamental-ngx/core/shared';\n\nexport type HeaderSizes = 1 | 2 | 3 | 4 | 5 | 6;\n\nexport abstract class TitleToken {\n abstract elementRef: ElementRef;\n}\n\n@Component({\n // eslint-disable-next-line\n selector: 'h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]',\n exportAs: 'fd-title',\n template: '<ng-content></ng-content>',\n host: {\n class: 'fd-title',\n '[class.fd-title--wrap]': 'wrap'\n },\n styleUrls: ['./title.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: TitleToken, useExisting: TitleComponent }]\n})\nexport class TitleComponent extends TitleToken implements OnInit {\n /** The size of the header */\n _headerSize: Nullable<HeaderSizes> = null;\n\n /** Header size of the title. */\n @Input()\n set headerSize(value: Nullable<HeaderSizes>) {\n this._headerSize = value;\n if (this._appliedHeaderSize !== this.headerSize) {\n this._setHeaderSize();\n }\n }\n get headerSize(): Nullable<HeaderSizes> {\n return this._headerSize;\n }\n\n /** Whether or not the title should wrap (truncates by default) */\n @Input()\n wrap = false;\n\n /** @hidden */\n private _appliedHeaderSize: number;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {\n super();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._setHeaderSize();\n }\n\n /** returns the reference to the title element */\n get elementRef(): ElementRef {\n return this._elementRef;\n }\n\n /** @hidden */\n private _setHeaderSize(): void {\n let headerSize;\n if (this.headerSize) {\n headerSize = this.headerSize;\n } else {\n headerSize = this._elementRef.nativeElement.tagName.charAt(1);\n }\n\n this._elementRef.nativeElement.classList.remove(`fd-title--h${this._appliedHeaderSize}`);\n this._elementRef.nativeElement.classList.add(`fd-title--h${headerSize}`);\n this._appliedHeaderSize = headerSize;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TitleComponent } from './title.component';\n\n@NgModule({\n declarations: [TitleComponent],\n imports: [CommonModule],\n exports: [TitleComponent]\n})\nexport class TitleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;MAMsB,UAAU,CAAA;AAE/B,CAAA;AAgBK,MAAO,cAAe,SAAQ,UAAU,CAAA;;AAwB1C,IAAA,WAAA,CAAoB,WAAuB,EAAA;AACvC,QAAA,KAAK,EAAE,CAAC;AADQ,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;;AAtB3C,QAAA,IAAW,CAAA,WAAA,GAA0B,IAAI,CAAC;;AAgB1C,QAAA,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;KAQZ;;IArBD,IACI,UAAU,CAAC,KAA4B,EAAA;AACvC,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACzB,QAAA,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,CAAC,UAAU,EAAE;YAC7C,IAAI,CAAC,cAAc,EAAE,CAAC;AACzB,SAAA;KACJ;AACD,IAAA,IAAI,UAAU,GAAA;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;;IAeD,QAAQ,GAAA;QACJ,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;;AAGD,IAAA,IAAI,UAAU,GAAA;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;;IAGO,cAAc,GAAA;AAClB,QAAA,IAAI,UAAU,CAAC;QACf,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AAChC,SAAA;AAAM,aAAA;AACH,YAAA,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACjE,SAAA;AAED,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,kBAAkB,CAAA,CAAE,CAAC,CAAC;AACzF,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA,WAAA,EAAc,UAAU,CAAA,CAAE,CAAC,CAAC;AACzE,QAAA,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;KACxC;;2GAlDQ,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,EAFZ,QAAA,EAAA,oFAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,yEARvD,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-title.mjs","sources":["../../../../libs/core/src/lib/title/title.component.ts","../../../../libs/core/src/lib/title/title.module.ts","../../../../libs/core/src/lib/title/fundamental-ngx-core-title.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, Input, OnInit, ViewEncapsulation } from '@angular/core';\n\nimport { Nullable } from '@fundamental-ngx/core/shared';\n\nexport type HeaderSizes = 1 | 2 | 3 | 4 | 5 | 6;\n\nexport abstract class TitleToken {\n abstract elementRef: ElementRef;\n}\n\n@Component({\n // eslint-disable-next-line\n selector: 'h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]',\n exportAs: 'fd-title',\n template: '<ng-content></ng-content>',\n host: {\n class: 'fd-title',\n '[class.fd-title--wrap]': 'wrap'\n },\n styleUrls: ['./title.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: TitleToken, useExisting: TitleComponent }]\n})\nexport class TitleComponent extends TitleToken implements OnInit {\n /** The size of the header */\n _headerSize: Nullable<HeaderSizes> = null;\n\n /** Header size of the title. */\n @Input()\n set headerSize(value: Nullable<HeaderSizes>) {\n this._headerSize = value;\n if (this._appliedHeaderSize !== this.headerSize) {\n this._setHeaderSize();\n }\n }\n get headerSize(): Nullable<HeaderSizes> {\n return this._headerSize;\n }\n\n /** Whether or not the title should wrap (truncates by default) */\n @Input()\n wrap = false;\n\n /** @hidden */\n private _appliedHeaderSize: number;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {\n super();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._setHeaderSize();\n }\n\n /** returns the reference to the title element */\n get elementRef(): ElementRef {\n return this._elementRef;\n }\n\n /** @hidden */\n private _setHeaderSize(): void {\n let headerSize;\n if (this.headerSize) {\n headerSize = this.headerSize;\n } else {\n headerSize = this._elementRef.nativeElement.tagName.charAt(1);\n }\n\n this._elementRef.nativeElement.classList.remove(`fd-title--h${this._appliedHeaderSize}`);\n this._elementRef.nativeElement.classList.add(`fd-title--h${headerSize}`);\n this._appliedHeaderSize = headerSize;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TitleComponent } from './title.component';\n\n@NgModule({\n declarations: [TitleComponent],\n imports: [CommonModule],\n exports: [TitleComponent]\n})\nexport class TitleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -96,10 +96,10 @@ class TokenComponent {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
TokenComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TokenComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component });
|
|
99
|
-
TokenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: TokenComponent, selector: "fd-token", inputs: { disabled: "disabled", selected: "selected", readOnly: "readOnly", deleteButtonLabel: "deleteButtonLabel", ariaRoleDescription: "ariaRoleDescription" }, outputs: { onCloseClick: "onCloseClick", onRemove: "onRemove", onTokenClick: "onTokenClick", onTokenKeydown: "onTokenKeydown" }, providers: [contentDensityObserverProviders()], viewQueries: [{ propertyName: "tokenWrapperElement", first: true, predicate: ["tokenWrapperElement"], descendants: true }, { propertyName: "_content", first: true, predicate: ["content"], descendants: true }, { propertyName: "_viewContainer", first: true, predicate: ["viewContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<span\n #tokenWrapperElement\n class=\"fd-token\"\n role=\"option\"\n tabindex=\"0\"\n [attr.aria-roledescription]=\"ariaRoleDescription\"\n (click)=\"tokenClickHandler($event)\"\n (keydown)=\"tokenKeydownHandler($event)\"\n [attr.aria-setsize]=\"totalCount\"\n [class.fd-token__disabled]=\"disabled\"\n [class.fd-token--compact]=\"_contentDensityObserver.isCompact$ | async\"\n [class.fd-token--selected]=\"selected\"\n [class.fd-token--readonly]=\"readOnly\"\n [attr.aria-selected]=\"selected\"\n [attr.aria-readonly]=\"readOnly\"\n>\n <span class=\"fd-token__text no-text-select\">\n <ng-container #viewContainer></ng-container>\n </span>\n <span\n (click)=\"closeClickHandler($event)\"\n role=\"button\"\n [attr.aria-label]=\"deleteButtonLabel || ('coreToken.deleteButtonLabel' | fdTranslate)\"\n *ngIf=\"!readOnly\"\n class=\"fd-token__close\"\n ></span>\n</span>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.26.
|
|
99
|
+
TokenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: TokenComponent, selector: "fd-token", inputs: { disabled: "disabled", selected: "selected", readOnly: "readOnly", deleteButtonLabel: "deleteButtonLabel", ariaRoleDescription: "ariaRoleDescription" }, outputs: { onCloseClick: "onCloseClick", onRemove: "onRemove", onTokenClick: "onTokenClick", onTokenKeydown: "onTokenKeydown" }, providers: [contentDensityObserverProviders()], viewQueries: [{ propertyName: "tokenWrapperElement", first: true, predicate: ["tokenWrapperElement"], descendants: true }, { propertyName: "_content", first: true, predicate: ["content"], descendants: true }, { propertyName: "_viewContainer", first: true, predicate: ["viewContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<span\n #tokenWrapperElement\n class=\"fd-token\"\n role=\"option\"\n tabindex=\"0\"\n [attr.aria-roledescription]=\"ariaRoleDescription\"\n (click)=\"tokenClickHandler($event)\"\n (keydown)=\"tokenKeydownHandler($event)\"\n [attr.aria-setsize]=\"totalCount\"\n [class.fd-token__disabled]=\"disabled\"\n [class.fd-token--compact]=\"_contentDensityObserver.isCompact$ | async\"\n [class.fd-token--selected]=\"selected\"\n [class.fd-token--readonly]=\"readOnly\"\n [attr.aria-selected]=\"selected\"\n [attr.aria-readonly]=\"readOnly\"\n>\n <span class=\"fd-token__text no-text-select\">\n <ng-container #viewContainer></ng-container>\n </span>\n <span\n (click)=\"closeClickHandler($event)\"\n role=\"button\"\n [attr.aria-label]=\"deleteButtonLabel || ('coreToken.deleteButtonLabel' | fdTranslate)\"\n *ngIf=\"!readOnly\"\n class=\"fd-token__close\"\n ></span>\n</span>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.26.4\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-token{-webkit-box-sizing:border-box;-ms-flex-negative:0;align-items:center;background-color:var(--sapButton_TokenBackground);border:0;border:var(--sapButton_BorderWidth) solid var(--sapButton_TokenBorderColor);border-radius:var(--fdToken_Border_Radius);box-sizing:border-box;color:var(--sapTextColor);color:var(--fdToken_Text_Color);cursor:default;display:inline-flex;flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:1.625rem;line-height:var(--sapContent_LineHeight);line-height:1.5rem;margin:0;max-width:100%;min-width:3.625rem;padding:0;padding:.25rem 0 .25rem var(--fdToken_Padding_Left);text-align:center;text-overflow:clip;white-space:nowrap}.fd-token:after,.fd-token:before{box-sizing:inherit;font-size:inherit}.fd-token[dir=rtl],[dir=rtl] .fd-token{padding-left:0;padding-right:var(--fdToken_Padding_Left)}.fd-token__text{max-width:100%;min-width:auto;overflow:hidden;text-overflow:ellipsis;text-shadow:var(--fdToken_Text_Shadow);width:100%}.fd-token__close{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:transparent;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_IconColor);cursor:pointer;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;height:1.625rem;justify-content:center;line-height:var(--sapContent_LineHeight);line-height:1.25rem;margin:0;min-width:1.75rem;padding:.25rem .5rem;width:1.75rem}.fd-token__close:after,.fd-token__close:before{box-sizing:inherit;font-size:inherit}.fd-token__close:before{content:\"\\e03e\";font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-token__close.is-focus,.fd-token__close:focus{box-shadow:none;outline:none;z-index:5}.fd-token:hover{-webkit-box-shadow:var(--fdToken_Box_Shadow_Hover);background-color:var(--fdToken_Background_Color_Hover);border-color:var(--fdToken_Border_Color_Hover);box-shadow:var(--fdToken_Box_Shadow_Hover)}.fd-token.is-focus,.fd-token:focus{box-shadow:none;outline-color:var(--sapContent_FocusColor);outline-offset:var(--fdToken_Outline_Offset);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-token--compact{height:1.25rem;line-height:1.125rem;min-width:3rem;padding:.1rem 0 .1rem .25rem}.fd-token--compact .fd-token__close{height:1.25rem;min-width:1.25rem;padding:.1rem .25rem;vertical-align:baseline;width:1.25rem}.fd-token--compact[dir=rtl],[dir=rtl] .fd-token--compact{padding-left:0;padding-right:.25rem}.fd-token--compact.is-focus,.fd-token--compact:focus{box-shadow:none;outline-color:var(--sapContent_FocusColor);outline-offset:var(--fdToken_Outline_Offset);outline-offset:var(--fdToken_Outline_Offset_Compact);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-token--disabled{cursor:not-allowed}.fd-token--readonly{background-color:var(--fdToken_Background_Color_Read_Only);border:var(--sapButton_BorderWidth) solid var(--fdToken_Border_Color_Read_Only);color:var(--sapContent_LabelColor);padding:.25rem .375rem}.fd-token--readonly.fd-token--compact{padding:.1rem .25rem}.fd-token--readonly.fd-token--compact[dir=rtl],[dir=rtl] .fd-token--readonly.fd-token--compact{padding-left:.25rem}.fd-token--readonly.is-hover,.fd-token--readonly:hover{-webkit-box-shadow:none;background-color:var(--fdToken_Background_Color_Read_Only);border:var(--sapButton_BorderWidth) solid var(--fdToken_Border_Color_Read_Only);box-shadow:none;color:var(--sapContent_LabelColor)}.fd-token--readonly[dir=rtl],[dir=rtl] .fd-token--readonly{padding-left:.375rem}.fd-token.fd-token--selected{background-color:var(--sapButton_Selected_Background);border-color:var(--sapButton_Selected_BorderColor)}.fd-token.fd-token--selected,.fd-token.fd-token--selected .fd-token__close{color:var(--sapButton_Selected_TextColor)}.fd-token.fd-token--selected.is-hover,.fd-token.fd-token--selected:hover{-webkit-box-shadow:var(--fdToken_Box_Shadow_Selected_Hover);background-color:var(--sapButton_Selected_Hover_Background);border-color:var(--sapButton_Selected_Hover_BorderColor);box-shadow:var(--fdToken_Box_Shadow_Selected_Hover)}.fd-token.fd-token--selected.is-focus,.fd-token.fd-token--selected:focus{box-shadow:none;outline-color:var(--sapContent_FocusColor);outline-color:var(--fdToken_Border_Color_Selected_Focus);outline-offset:var(--fdToken_Outline_Offset);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-token__disabled:after{cursor:not-allowed}.no-text-select{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
100
100
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TokenComponent, decorators: [{
|
|
101
101
|
type: Component,
|
|
102
|
-
args: [{ selector: 'fd-token', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [contentDensityObserverProviders()], template: "<span\n #tokenWrapperElement\n class=\"fd-token\"\n role=\"option\"\n tabindex=\"0\"\n [attr.aria-roledescription]=\"ariaRoleDescription\"\n (click)=\"tokenClickHandler($event)\"\n (keydown)=\"tokenKeydownHandler($event)\"\n [attr.aria-setsize]=\"totalCount\"\n [class.fd-token__disabled]=\"disabled\"\n [class.fd-token--compact]=\"_contentDensityObserver.isCompact$ | async\"\n [class.fd-token--selected]=\"selected\"\n [class.fd-token--readonly]=\"readOnly\"\n [attr.aria-selected]=\"selected\"\n [attr.aria-readonly]=\"readOnly\"\n>\n <span class=\"fd-token__text no-text-select\">\n <ng-container #viewContainer></ng-container>\n </span>\n <span\n (click)=\"closeClickHandler($event)\"\n role=\"button\"\n [attr.aria-label]=\"deleteButtonLabel || ('coreToken.deleteButtonLabel' | fdTranslate)\"\n *ngIf=\"!readOnly\"\n class=\"fd-token__close\"\n ></span>\n</span>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.26.
|
|
102
|
+
args: [{ selector: 'fd-token', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [contentDensityObserverProviders()], template: "<span\n #tokenWrapperElement\n class=\"fd-token\"\n role=\"option\"\n tabindex=\"0\"\n [attr.aria-roledescription]=\"ariaRoleDescription\"\n (click)=\"tokenClickHandler($event)\"\n (keydown)=\"tokenKeydownHandler($event)\"\n [attr.aria-setsize]=\"totalCount\"\n [class.fd-token__disabled]=\"disabled\"\n [class.fd-token--compact]=\"_contentDensityObserver.isCompact$ | async\"\n [class.fd-token--selected]=\"selected\"\n [class.fd-token--readonly]=\"readOnly\"\n [attr.aria-selected]=\"selected\"\n [attr.aria-readonly]=\"readOnly\"\n>\n <span class=\"fd-token__text no-text-select\">\n <ng-container #viewContainer></ng-container>\n </span>\n <span\n (click)=\"closeClickHandler($event)\"\n role=\"button\"\n [attr.aria-label]=\"deleteButtonLabel || ('coreToken.deleteButtonLabel' | fdTranslate)\"\n *ngIf=\"!readOnly\"\n class=\"fd-token__close\"\n ></span>\n</span>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.26.4\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-token{-webkit-box-sizing:border-box;-ms-flex-negative:0;align-items:center;background-color:var(--sapButton_TokenBackground);border:0;border:var(--sapButton_BorderWidth) solid var(--sapButton_TokenBorderColor);border-radius:var(--fdToken_Border_Radius);box-sizing:border-box;color:var(--sapTextColor);color:var(--fdToken_Text_Color);cursor:default;display:inline-flex;flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:1.625rem;line-height:var(--sapContent_LineHeight);line-height:1.5rem;margin:0;max-width:100%;min-width:3.625rem;padding:0;padding:.25rem 0 .25rem var(--fdToken_Padding_Left);text-align:center;text-overflow:clip;white-space:nowrap}.fd-token:after,.fd-token:before{box-sizing:inherit;font-size:inherit}.fd-token[dir=rtl],[dir=rtl] .fd-token{padding-left:0;padding-right:var(--fdToken_Padding_Left)}.fd-token__text{max-width:100%;min-width:auto;overflow:hidden;text-overflow:ellipsis;text-shadow:var(--fdToken_Text_Shadow);width:100%}.fd-token__close{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:transparent;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_IconColor);cursor:pointer;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;height:1.625rem;justify-content:center;line-height:var(--sapContent_LineHeight);line-height:1.25rem;margin:0;min-width:1.75rem;padding:.25rem .5rem;width:1.75rem}.fd-token__close:after,.fd-token__close:before{box-sizing:inherit;font-size:inherit}.fd-token__close:before{content:\"\\e03e\";font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-token__close.is-focus,.fd-token__close:focus{box-shadow:none;outline:none;z-index:5}.fd-token:hover{-webkit-box-shadow:var(--fdToken_Box_Shadow_Hover);background-color:var(--fdToken_Background_Color_Hover);border-color:var(--fdToken_Border_Color_Hover);box-shadow:var(--fdToken_Box_Shadow_Hover)}.fd-token.is-focus,.fd-token:focus{box-shadow:none;outline-color:var(--sapContent_FocusColor);outline-offset:var(--fdToken_Outline_Offset);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-token--compact{height:1.25rem;line-height:1.125rem;min-width:3rem;padding:.1rem 0 .1rem .25rem}.fd-token--compact .fd-token__close{height:1.25rem;min-width:1.25rem;padding:.1rem .25rem;vertical-align:baseline;width:1.25rem}.fd-token--compact[dir=rtl],[dir=rtl] .fd-token--compact{padding-left:0;padding-right:.25rem}.fd-token--compact.is-focus,.fd-token--compact:focus{box-shadow:none;outline-color:var(--sapContent_FocusColor);outline-offset:var(--fdToken_Outline_Offset);outline-offset:var(--fdToken_Outline_Offset_Compact);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-token--disabled{cursor:not-allowed}.fd-token--readonly{background-color:var(--fdToken_Background_Color_Read_Only);border:var(--sapButton_BorderWidth) solid var(--fdToken_Border_Color_Read_Only);color:var(--sapContent_LabelColor);padding:.25rem .375rem}.fd-token--readonly.fd-token--compact{padding:.1rem .25rem}.fd-token--readonly.fd-token--compact[dir=rtl],[dir=rtl] .fd-token--readonly.fd-token--compact{padding-left:.25rem}.fd-token--readonly.is-hover,.fd-token--readonly:hover{-webkit-box-shadow:none;background-color:var(--fdToken_Background_Color_Read_Only);border:var(--sapButton_BorderWidth) solid var(--fdToken_Border_Color_Read_Only);box-shadow:none;color:var(--sapContent_LabelColor)}.fd-token--readonly[dir=rtl],[dir=rtl] .fd-token--readonly{padding-left:.375rem}.fd-token.fd-token--selected{background-color:var(--sapButton_Selected_Background);border-color:var(--sapButton_Selected_BorderColor)}.fd-token.fd-token--selected,.fd-token.fd-token--selected .fd-token__close{color:var(--sapButton_Selected_TextColor)}.fd-token.fd-token--selected.is-hover,.fd-token.fd-token--selected:hover{-webkit-box-shadow:var(--fdToken_Box_Shadow_Selected_Hover);background-color:var(--sapButton_Selected_Hover_Background);border-color:var(--sapButton_Selected_Hover_BorderColor);box-shadow:var(--fdToken_Box_Shadow_Selected_Hover)}.fd-token.fd-token--selected.is-focus,.fd-token.fd-token--selected:focus{box-shadow:none;outline-color:var(--sapContent_FocusColor);outline-color:var(--fdToken_Border_Color_Selected_Focus);outline-offset:var(--fdToken_Outline_Offset);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-token__disabled:after{cursor:not-allowed}.no-text-select{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}\n"] }]
|
|
103
103
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.ContentDensityObserver }]; }, propDecorators: { disabled: [{
|
|
104
104
|
type: Input
|
|
105
105
|
}], tokenWrapperElement: [{
|
|
@@ -663,7 +663,7 @@ class TokenizerComponent {
|
|
|
663
663
|
}
|
|
664
664
|
}
|
|
665
665
|
TokenizerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TokenizerComponent, deps: [{ token: i1.ContentDensityObserver }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i2.RtlService, optional: true }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
666
|
-
TokenizerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: TokenizerComponent, selector: "fd-tokenizer", inputs: { class: "class", disableKeyboardDeletion: "disableKeyboardDeletion", compactCollapse: "compactCollapse", tokenizerFocusable: "tokenizerFocusable", inputValue: "inputValue", glyph: "glyph", moreTerm: "moreTerm", open: "open" }, outputs: { moreClickedEvent: "moreClickedEvent" }, host: { listeners: { "keydown": "keyDown($event)" } }, providers: [contentDensityObserverProviders()], queries: [{ propertyName: "input", first: true, predicate: i0.forwardRef(function () { return FormControlComponent; }), descendants: true }, { propertyName: "tokenList", predicate: i0.forwardRef(function () { return TokenComponent; }) }], viewQueries: [{ propertyName: "tokenizerInnerEl", first: true, predicate: ["tokenizerInner"], descendants: true }, { propertyName: "moreElement", first: true, predicate: ["moreElement"], descendants: true }, { propertyName: "content", first: true, predicate: ["inputGroupAddOn"], descendants: true }, { propertyName: "_viewContainer", predicate: ["viewContainer"], descendants: true, read: ViewContainerRef }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"fd-tokenizer fd-tokenizer--scrollable\"\n [class.is-focus]=\"_tokenizerHasFocus\"\n [class.fd-tokenizer--compact]=\"compact\"\n>\n <div class=\"fd-tokenizer__inner\" #tokenizerInner>\n <div role=\"listbox\">\n <ng-content select=\"fd-token\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"_showOverflowPopover && (compact || compactCollapse); else moreElement\">\n <ng-container *ngTemplateOutlet=\"tokensOverflow\"></ng-container>\n </ng-container>\n\n <ng-content select=\"[fd-form-control]\"></ng-content>\n </div>\n <span fd-input-group-addon *ngIf=\"glyph\" #inputGroupAddOn [button]=\"true\" placement=\"after\">\n <button\n fd-button\n [class]=\"compact ? 'fd-tokenizer-addon--compact' : 'fd-tokenizer-addon'\"\n fdType=\"transparent\"\n [glyph]=\"glyph\"\n type=\"button\"\n ></button>\n </span>\n</div>\n\n<ng-template #tokensOverflow>\n <fd-popover placement=\"bottom-start\" title=\"\" [noArrow]=\"false\" [focusTrapped]=\"true\" [focusAutoCapture]=\"true\">\n <fd-popover-control>\n <ng-container *ngTemplateOutlet=\"moreElement\"></ng-container>\n </fd-popover-control>\n\n <fd-popover-body>\n <ul fd-list class=\"fd-tokenizer__overflow-list\">\n <li fd-list-item class=\"fd-tokenizer__overflow-list-item\" *ngFor=\"let token of _hiddenTokens\">\n <ng-container #viewContainer></ng-container>\n\n <span\n *ngIf=\"!token.readOnly\"\n class=\"fd-token__close\"\n role=\"button\"\n [attr.aria-label]=\"token.deleteButtonLabel || ('coreToken.deleteButtonLabel' | fdTranslate)\"\n (click)=\"token.closeClickHandler($event)\"\n ></span>\n </li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n</ng-template>\n\n<ng-template #moreElement>\n <span\n (click)=\"moreClicked()\"\n *ngIf=\"\n (moreTokensLeft.length > 0 || moreTokensRight.length > 0 || hiddenCozyTokenCount > 0) &&\n !open &&\n !_tokenizerHasFocus\n \"\n class=\"fd-tokenizer-more\"\n role=\"button\"\n tabindex=\"0\"\n >\n <ng-container *ngIf=\"compact || compactCollapse\">\n {{ 'coreTokenizer.moreLabel' | fdTranslate: { count: moreTokensLeft.length + moreTokensRight.length } }}\n </ng-container>\n <ng-container *ngIf=\"!compact && !compactCollapse\">\n {{ 'coreTokenizer.moreLabel' | fdTranslate: { count: hiddenCozyTokenCount } }}\n </ng-container>\n </span>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.26.5-rc.4\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-tokenizer{-webkit-box-sizing:border-box;-webkit-box-shadow:none;-moz-appearance:none;-webkit-appearance:none;align-items:center;appearance:none;background:var(--sapField_BackgroundStyle);background-color:var(--sapField_Background);border:none;border-radius:var(--sapField_BorderCornerRadius);box-shadow:none;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapField_TextColor);cursor:text;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:2.25rem;height:auto;line-height:var(--sapContent_LineHeight);margin:0;min-height:2.25rem;min-width:2.75rem;outline:none;overflow:hidden;padding:0;text-overflow:ellipsis;text-shadow:var(--fdInput_Text_Shadow);white-space:nowrap;width:100%;z-index:1}.fd-tokenizer:after,.fd-tokenizer:before{box-sizing:inherit;font-size:inherit}.fd-tokenizer::placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-tokenizer[dir=rtl]::placeholder,[dir=rtl] .fd-tokenizer::placeholder{text-indent:.125rem}.fd-tokenizer::selection{background-color:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}.fd-tokenizer::-ms-clear{display:none}.fd-tokenizer.is-hover,.fd-tokenizer:hover{-webkit-box-shadow:var(--fdInput_Box_Shadow_Hover);background:var(--sapField_Hover_BackgroundStyle);background-color:var(--sapField_Hover_Background);border-color:var(--sapField_Hover_BorderColor);box-shadow:var(--fdInput_Box_Shadow_Hover)}.fd-tokenizer.is-focus,.fd-tokenizer:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-tokenizer.is-hover,.fd-tokenizer:hover{box-shadow:none}.fd-tokenizer__inner{-ms-overflow-style:none;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:end;-ms-flex-pack:end;align-items:center;display:flex;float:right;justify-content:flex-end;overflow:hidden;padding:0 .3125rem;scrollbar-width:none;white-space:nowrap;width:100%}.fd-tokenizer__inner::-webkit-scrollbar{display:none}.fd-tokenizer .fd-token{margin-right:.3125rem;max-width:calc(100% - 3.3125rem)}.fd-tokenizer .fd-token[dir=rtl],[dir=rtl] .fd-tokenizer .fd-token{margin:0 0 0 .3125rem}.fd-tokenizer__indicator{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-tokenizer__indicator:after,.fd-tokenizer__indicator:before{box-sizing:inherit;font-size:inherit}.fd-tokenizer .fd-tokenizer__input{background:transparent}.fd-tokenizer .fd-tokenizer__input.fd-input{border:none;min-width:3rem;padding:0}.fd-tokenizer .fd-tokenizer__input:first-child{padding:0 .3125rem}.fd-tokenizer .fd-tokenizer__input:last-child{flex-basis:100%}.fd-tokenizer .fd-tokenizer__input.is-focus,.fd-tokenizer .fd-tokenizer__input:focus{-webkit-box-shadow:none;background:none;background-color:transparent;border:none;box-shadow:none;outline:none;z-index:5}.fd-tokenizer .fd-tokenizer__input.is-hover,.fd-tokenizer .fd-tokenizer__input:hover{-webkit-box-shadow:none;background:none;background-color:transparent;box-shadow:none}.fd-tokenizer.is-focus,.fd-tokenizer:focus{-webkit-box-shadow:none;border:none;box-shadow:none;outline-color:var(--sapContent_FocusColor);outline-offset:-.0625rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth);z-index:5}.fd-tokenizer--compact{height:1.625rem;min-height:1.625rem}.fd-tokenizer--compact .fd-tokenizer__inner{padding:0 .25rem}.fd-tokenizer--compact .fd-tokenizer__input.fd-input{min-width:2rem}.fd-tokenizer--compact .fd-tokenizer__input:first-child{padding:0 .25rem}.fd-tokenizer--compact .fd-token{margin-right:.25rem;max-width:calc(100% - 2.25rem)}.fd-tokenizer--compact .fd-token[dir=rtl],[dir=rtl] .fd-tokenizer--compact .fd-token{margin:0 0 0 .3125rem}.fd-tokenizer--readonly{background-color:var(--sapField_ReadOnly_Background);overflow:visible}.fd-tokenizer--readonly .fd-tokenizer__inner{overflow:visible}.fd-tokenizer--readonly .fd-tokenizer__input.is-readonly,.fd-tokenizer--readonly .fd-tokenizer__input[aria-readonly=true],.fd-tokenizer--readonly .fd-tokenizer__input[readonly]{-webkit-box-shadow:none;background:none;background-color:transparent;box-shadow:none}.fd-tokenizer--readonly .fd-tokenizer__input.is-readonly.is-focus,.fd-tokenizer--readonly .fd-tokenizer__input.is-readonly:focus,.fd-tokenizer--readonly .fd-tokenizer__input[aria-readonly=true].is-focus,.fd-tokenizer--readonly .fd-tokenizer__input[aria-readonly=true]:focus,.fd-tokenizer--readonly .fd-tokenizer__input[readonly].is-focus,.fd-tokenizer--readonly .fd-tokenizer__input[readonly]:focus{-webkit-box-shadow:none;background:none;background-color:transparent;box-shadow:none;z-index:5}.fd-tokenizer--scrollable .fd-tokenizer__inner{justify-content:normal;overflow:scroll}.fd-tokenizer .fd-token{max-width:inherit}input.fd-input.fd-tokenizer__input{background-color:transparent;margin-right:1px;border:none;outline:none}.fd-tokenizer-more{padding-right:.5rem}[dir=rtl] .fd-tokenizer-more,.fd-tokenizer-more[dir=rtl]{padding-left:.5rem;padding-right:0}.fd-input-group__addon--button .fd-input-group__button.fd-tokenizer-addon{height:2.25rem}.fd-input-group__addon--button .fd-input-group__button.fd-tokenizer-addon--compact{height:1.625rem}.fd-tokenizer__overflow-list-item{display:flex;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.InputGroupAddOnDirective, selector: "[fd-input-group-addon]", inputs: ["class", "placement", "type", "state", "button"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i6.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i6.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i6.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "pipe", type: i3$1.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
666
|
+
TokenizerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: TokenizerComponent, selector: "fd-tokenizer", inputs: { class: "class", disableKeyboardDeletion: "disableKeyboardDeletion", compactCollapse: "compactCollapse", tokenizerFocusable: "tokenizerFocusable", inputValue: "inputValue", glyph: "glyph", moreTerm: "moreTerm", open: "open" }, outputs: { moreClickedEvent: "moreClickedEvent" }, host: { listeners: { "keydown": "keyDown($event)" } }, providers: [contentDensityObserverProviders()], queries: [{ propertyName: "input", first: true, predicate: i0.forwardRef(function () { return FormControlComponent; }), descendants: true }, { propertyName: "tokenList", predicate: i0.forwardRef(function () { return TokenComponent; }) }], viewQueries: [{ propertyName: "tokenizerInnerEl", first: true, predicate: ["tokenizerInner"], descendants: true }, { propertyName: "moreElement", first: true, predicate: ["moreElement"], descendants: true }, { propertyName: "content", first: true, predicate: ["inputGroupAddOn"], descendants: true }, { propertyName: "_viewContainer", predicate: ["viewContainer"], descendants: true, read: ViewContainerRef }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"fd-tokenizer fd-tokenizer--scrollable\"\n [class.is-focus]=\"_tokenizerHasFocus\"\n [class.fd-tokenizer--compact]=\"compact\"\n>\n <div class=\"fd-tokenizer__inner\" #tokenizerInner>\n <div role=\"listbox\">\n <ng-content select=\"fd-token\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"_showOverflowPopover && (compact || compactCollapse); else moreElement\">\n <ng-container *ngTemplateOutlet=\"tokensOverflow\"></ng-container>\n </ng-container>\n\n <ng-content select=\"[fd-form-control]\"></ng-content>\n </div>\n <span fd-input-group-addon *ngIf=\"glyph\" #inputGroupAddOn [button]=\"true\" placement=\"after\">\n <button\n fd-button\n [class]=\"compact ? 'fd-tokenizer-addon--compact' : 'fd-tokenizer-addon'\"\n fdType=\"transparent\"\n [glyph]=\"glyph\"\n type=\"button\"\n ></button>\n </span>\n</div>\n\n<ng-template #tokensOverflow>\n <fd-popover placement=\"bottom-start\" title=\"\" [noArrow]=\"false\" [focusTrapped]=\"true\" [focusAutoCapture]=\"true\">\n <fd-popover-control>\n <ng-container *ngTemplateOutlet=\"moreElement\"></ng-container>\n </fd-popover-control>\n\n <fd-popover-body>\n <ul fd-list class=\"fd-tokenizer__overflow-list\">\n <li fd-list-item class=\"fd-tokenizer__overflow-list-item\" *ngFor=\"let token of _hiddenTokens\">\n <ng-container #viewContainer></ng-container>\n\n <span\n *ngIf=\"!token.readOnly\"\n class=\"fd-token__close\"\n role=\"button\"\n [attr.aria-label]=\"token.deleteButtonLabel || ('coreToken.deleteButtonLabel' | fdTranslate)\"\n (click)=\"token.closeClickHandler($event)\"\n ></span>\n </li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n</ng-template>\n\n<ng-template #moreElement>\n <span\n (click)=\"moreClicked()\"\n *ngIf=\"\n (moreTokensLeft.length > 0 || moreTokensRight.length > 0 || hiddenCozyTokenCount > 0) &&\n !open &&\n !_tokenizerHasFocus\n \"\n class=\"fd-tokenizer-more\"\n role=\"button\"\n tabindex=\"0\"\n >\n <ng-container *ngIf=\"compact || compactCollapse\">\n {{ 'coreTokenizer.moreLabel' | fdTranslate: { count: moreTokensLeft.length + moreTokensRight.length } }}\n </ng-container>\n <ng-container *ngIf=\"!compact && !compactCollapse\">\n {{ 'coreTokenizer.moreLabel' | fdTranslate: { count: hiddenCozyTokenCount } }}\n </ng-container>\n </span>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.26.4\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-tokenizer{-webkit-box-sizing:border-box;-webkit-box-shadow:none;-moz-appearance:none;-webkit-appearance:none;align-items:center;appearance:none;background:var(--sapField_BackgroundStyle);background-color:var(--sapField_Background);border:none;border-radius:var(--sapField_BorderCornerRadius);box-shadow:none;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapField_TextColor);cursor:text;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:2.25rem;height:auto;line-height:var(--sapContent_LineHeight);margin:0;min-height:2.25rem;min-width:2.75rem;outline:none;overflow:hidden;padding:0;text-overflow:ellipsis;text-shadow:var(--fdInput_Text_Shadow);white-space:nowrap;width:100%;z-index:1}.fd-tokenizer:after,.fd-tokenizer:before{box-sizing:inherit;font-size:inherit}.fd-tokenizer::placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-tokenizer[dir=rtl]::placeholder,[dir=rtl] .fd-tokenizer::placeholder{text-indent:.125rem}.fd-tokenizer::selection{background-color:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}.fd-tokenizer::-ms-clear{display:none}.fd-tokenizer.is-hover,.fd-tokenizer:hover{-webkit-box-shadow:var(--fdInput_Box_Shadow_Hover);background:var(--sapField_Hover_BackgroundStyle);background-color:var(--sapField_Hover_Background);border-color:var(--sapField_Hover_BorderColor);box-shadow:var(--fdInput_Box_Shadow_Hover)}.fd-tokenizer.is-focus,.fd-tokenizer:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-tokenizer.is-hover,.fd-tokenizer:hover{box-shadow:none}.fd-tokenizer__inner{-ms-overflow-style:none;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:end;-ms-flex-pack:end;align-items:center;display:flex;float:right;justify-content:flex-end;overflow:hidden;padding:0 .3125rem;scrollbar-width:none;white-space:nowrap;width:100%}.fd-tokenizer__inner::-webkit-scrollbar{display:none}.fd-tokenizer .fd-token{margin-right:.3125rem;max-width:calc(100% - 3.3125rem)}.fd-tokenizer .fd-token[dir=rtl],[dir=rtl] .fd-tokenizer .fd-token{margin:0 0 0 .3125rem}.fd-tokenizer__indicator{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-tokenizer__indicator:after,.fd-tokenizer__indicator:before{box-sizing:inherit;font-size:inherit}.fd-tokenizer .fd-tokenizer__input{background:transparent}.fd-tokenizer .fd-tokenizer__input.fd-input{border:none;min-width:3rem;padding:0}.fd-tokenizer .fd-tokenizer__input:first-child{padding:0 .3125rem}.fd-tokenizer .fd-tokenizer__input:last-child{flex-basis:100%}.fd-tokenizer .fd-tokenizer__input.is-focus,.fd-tokenizer .fd-tokenizer__input:focus{-webkit-box-shadow:none;background:none;background-color:transparent;border:none;box-shadow:none;outline:none;z-index:5}.fd-tokenizer .fd-tokenizer__input.is-hover,.fd-tokenizer .fd-tokenizer__input:hover{-webkit-box-shadow:none;background:none;background-color:transparent;box-shadow:none}.fd-tokenizer.is-focus,.fd-tokenizer:focus{-webkit-box-shadow:none;border:none;box-shadow:none;outline-color:var(--sapContent_FocusColor);outline-offset:-.0625rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth);z-index:5}.fd-tokenizer--compact{height:1.625rem;min-height:1.625rem}.fd-tokenizer--compact .fd-tokenizer__inner{padding:0 .25rem}.fd-tokenizer--compact .fd-tokenizer__input.fd-input{min-width:2rem}.fd-tokenizer--compact .fd-tokenizer__input:first-child{padding:0 .25rem}.fd-tokenizer--compact .fd-token{margin-right:.25rem;max-width:calc(100% - 2.25rem)}.fd-tokenizer--compact .fd-token[dir=rtl],[dir=rtl] .fd-tokenizer--compact .fd-token{margin:0 0 0 .3125rem}.fd-tokenizer--readonly{background-color:var(--sapField_ReadOnly_Background);overflow:visible}.fd-tokenizer--readonly .fd-tokenizer__inner{overflow:visible}.fd-tokenizer--readonly .fd-tokenizer__input.is-readonly,.fd-tokenizer--readonly .fd-tokenizer__input[aria-readonly=true],.fd-tokenizer--readonly .fd-tokenizer__input[readonly]{-webkit-box-shadow:none;background:none;background-color:transparent;box-shadow:none}.fd-tokenizer--readonly .fd-tokenizer__input.is-readonly.is-focus,.fd-tokenizer--readonly .fd-tokenizer__input.is-readonly:focus,.fd-tokenizer--readonly .fd-tokenizer__input[aria-readonly=true].is-focus,.fd-tokenizer--readonly .fd-tokenizer__input[aria-readonly=true]:focus,.fd-tokenizer--readonly .fd-tokenizer__input[readonly].is-focus,.fd-tokenizer--readonly .fd-tokenizer__input[readonly]:focus{-webkit-box-shadow:none;background:none;background-color:transparent;box-shadow:none;z-index:5}.fd-tokenizer--scrollable .fd-tokenizer__inner{justify-content:normal;overflow:scroll}.fd-tokenizer .fd-token{max-width:inherit}input.fd-input.fd-tokenizer__input{background-color:transparent;margin-right:1px;border:none;outline:none}.fd-tokenizer-more{padding-right:.5rem}[dir=rtl] .fd-tokenizer-more,.fd-tokenizer-more[dir=rtl]{padding-left:.5rem;padding-right:0}.fd-input-group__addon--button .fd-input-group__button.fd-tokenizer-addon{height:2.25rem}.fd-input-group__addon--button .fd-input-group__button.fd-tokenizer-addon--compact{height:1.625rem}.fd-tokenizer__overflow-list-item{display:flex;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.InputGroupAddOnDirective, selector: "[fd-input-group-addon]", inputs: ["class", "placement", "type", "state", "button"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i6.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i6.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i6.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "pipe", type: i3$1.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
667
667
|
__decorate([
|
|
668
668
|
applyCssClass,
|
|
669
669
|
__metadata("design:type", Function),
|
|
@@ -672,7 +672,7 @@ __decorate([
|
|
|
672
672
|
], TokenizerComponent.prototype, "buildComponentCssClass", null);
|
|
673
673
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TokenizerComponent, decorators: [{
|
|
674
674
|
type: Component,
|
|
675
|
-
args: [{ selector: 'fd-tokenizer', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [contentDensityObserverProviders()], template: "<div\n class=\"fd-tokenizer fd-tokenizer--scrollable\"\n [class.is-focus]=\"_tokenizerHasFocus\"\n [class.fd-tokenizer--compact]=\"compact\"\n>\n <div class=\"fd-tokenizer__inner\" #tokenizerInner>\n <div role=\"listbox\">\n <ng-content select=\"fd-token\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"_showOverflowPopover && (compact || compactCollapse); else moreElement\">\n <ng-container *ngTemplateOutlet=\"tokensOverflow\"></ng-container>\n </ng-container>\n\n <ng-content select=\"[fd-form-control]\"></ng-content>\n </div>\n <span fd-input-group-addon *ngIf=\"glyph\" #inputGroupAddOn [button]=\"true\" placement=\"after\">\n <button\n fd-button\n [class]=\"compact ? 'fd-tokenizer-addon--compact' : 'fd-tokenizer-addon'\"\n fdType=\"transparent\"\n [glyph]=\"glyph\"\n type=\"button\"\n ></button>\n </span>\n</div>\n\n<ng-template #tokensOverflow>\n <fd-popover placement=\"bottom-start\" title=\"\" [noArrow]=\"false\" [focusTrapped]=\"true\" [focusAutoCapture]=\"true\">\n <fd-popover-control>\n <ng-container *ngTemplateOutlet=\"moreElement\"></ng-container>\n </fd-popover-control>\n\n <fd-popover-body>\n <ul fd-list class=\"fd-tokenizer__overflow-list\">\n <li fd-list-item class=\"fd-tokenizer__overflow-list-item\" *ngFor=\"let token of _hiddenTokens\">\n <ng-container #viewContainer></ng-container>\n\n <span\n *ngIf=\"!token.readOnly\"\n class=\"fd-token__close\"\n role=\"button\"\n [attr.aria-label]=\"token.deleteButtonLabel || ('coreToken.deleteButtonLabel' | fdTranslate)\"\n (click)=\"token.closeClickHandler($event)\"\n ></span>\n </li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n</ng-template>\n\n<ng-template #moreElement>\n <span\n (click)=\"moreClicked()\"\n *ngIf=\"\n (moreTokensLeft.length > 0 || moreTokensRight.length > 0 || hiddenCozyTokenCount > 0) &&\n !open &&\n !_tokenizerHasFocus\n \"\n class=\"fd-tokenizer-more\"\n role=\"button\"\n tabindex=\"0\"\n >\n <ng-container *ngIf=\"compact || compactCollapse\">\n {{ 'coreTokenizer.moreLabel' | fdTranslate: { count: moreTokensLeft.length + moreTokensRight.length } }}\n </ng-container>\n <ng-container *ngIf=\"!compact && !compactCollapse\">\n {{ 'coreTokenizer.moreLabel' | fdTranslate: { count: hiddenCozyTokenCount } }}\n </ng-container>\n </span>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.26.
|
|
675
|
+
args: [{ selector: 'fd-tokenizer', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [contentDensityObserverProviders()], template: "<div\n class=\"fd-tokenizer fd-tokenizer--scrollable\"\n [class.is-focus]=\"_tokenizerHasFocus\"\n [class.fd-tokenizer--compact]=\"compact\"\n>\n <div class=\"fd-tokenizer__inner\" #tokenizerInner>\n <div role=\"listbox\">\n <ng-content select=\"fd-token\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"_showOverflowPopover && (compact || compactCollapse); else moreElement\">\n <ng-container *ngTemplateOutlet=\"tokensOverflow\"></ng-container>\n </ng-container>\n\n <ng-content select=\"[fd-form-control]\"></ng-content>\n </div>\n <span fd-input-group-addon *ngIf=\"glyph\" #inputGroupAddOn [button]=\"true\" placement=\"after\">\n <button\n fd-button\n [class]=\"compact ? 'fd-tokenizer-addon--compact' : 'fd-tokenizer-addon'\"\n fdType=\"transparent\"\n [glyph]=\"glyph\"\n type=\"button\"\n ></button>\n </span>\n</div>\n\n<ng-template #tokensOverflow>\n <fd-popover placement=\"bottom-start\" title=\"\" [noArrow]=\"false\" [focusTrapped]=\"true\" [focusAutoCapture]=\"true\">\n <fd-popover-control>\n <ng-container *ngTemplateOutlet=\"moreElement\"></ng-container>\n </fd-popover-control>\n\n <fd-popover-body>\n <ul fd-list class=\"fd-tokenizer__overflow-list\">\n <li fd-list-item class=\"fd-tokenizer__overflow-list-item\" *ngFor=\"let token of _hiddenTokens\">\n <ng-container #viewContainer></ng-container>\n\n <span\n *ngIf=\"!token.readOnly\"\n class=\"fd-token__close\"\n role=\"button\"\n [attr.aria-label]=\"token.deleteButtonLabel || ('coreToken.deleteButtonLabel' | fdTranslate)\"\n (click)=\"token.closeClickHandler($event)\"\n ></span>\n </li>\n </ul>\n </fd-popover-body>\n </fd-popover>\n</ng-template>\n\n<ng-template #moreElement>\n <span\n (click)=\"moreClicked()\"\n *ngIf=\"\n (moreTokensLeft.length > 0 || moreTokensRight.length > 0 || hiddenCozyTokenCount > 0) &&\n !open &&\n !_tokenizerHasFocus\n \"\n class=\"fd-tokenizer-more\"\n role=\"button\"\n tabindex=\"0\"\n >\n <ng-container *ngIf=\"compact || compactCollapse\">\n {{ 'coreTokenizer.moreLabel' | fdTranslate: { count: moreTokensLeft.length + moreTokensRight.length } }}\n </ng-container>\n <ng-container *ngIf=\"!compact && !compactCollapse\">\n {{ 'coreTokenizer.moreLabel' | fdTranslate: { count: hiddenCozyTokenCount } }}\n </ng-container>\n </span>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.26.4\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-tokenizer{-webkit-box-sizing:border-box;-webkit-box-shadow:none;-moz-appearance:none;-webkit-appearance:none;align-items:center;appearance:none;background:var(--sapField_BackgroundStyle);background-color:var(--sapField_Background);border:none;border-radius:var(--sapField_BorderCornerRadius);box-shadow:none;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapField_TextColor);cursor:text;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:2.25rem;height:auto;line-height:var(--sapContent_LineHeight);margin:0;min-height:2.25rem;min-width:2.75rem;outline:none;overflow:hidden;padding:0;text-overflow:ellipsis;text-shadow:var(--fdInput_Text_Shadow);white-space:nowrap;width:100%;z-index:1}.fd-tokenizer:after,.fd-tokenizer:before{box-sizing:inherit;font-size:inherit}.fd-tokenizer::placeholder{color:var(--sapField_PlaceholderTextColor);font-style:var(--fdPlaceholder_Font_Style)}.fd-tokenizer[dir=rtl]::placeholder,[dir=rtl] .fd-tokenizer::placeholder{text-indent:.125rem}.fd-tokenizer::selection{background-color:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}.fd-tokenizer::-ms-clear{display:none}.fd-tokenizer.is-hover,.fd-tokenizer:hover{-webkit-box-shadow:var(--fdInput_Box_Shadow_Hover);background:var(--sapField_Hover_BackgroundStyle);background-color:var(--sapField_Hover_Background);border-color:var(--sapField_Hover_BorderColor);box-shadow:var(--fdInput_Box_Shadow_Hover)}.fd-tokenizer.is-focus,.fd-tokenizer:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Outline_Color);outline-offset:var(--fdInput_Outline_Offset)}.fd-tokenizer.is-hover,.fd-tokenizer:hover{box-shadow:none}.fd-tokenizer__inner{-ms-overflow-style:none;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:end;-ms-flex-pack:end;align-items:center;display:flex;float:right;justify-content:flex-end;overflow:hidden;padding:0 .3125rem;scrollbar-width:none;white-space:nowrap;width:100%}.fd-tokenizer__inner::-webkit-scrollbar{display:none}.fd-tokenizer .fd-token{margin-right:.3125rem;max-width:calc(100% - 3.3125rem)}.fd-tokenizer .fd-token[dir=rtl],[dir=rtl] .fd-tokenizer .fd-token{margin:0 0 0 .3125rem}.fd-tokenizer__indicator{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-tokenizer__indicator:after,.fd-tokenizer__indicator:before{box-sizing:inherit;font-size:inherit}.fd-tokenizer .fd-tokenizer__input{background:transparent}.fd-tokenizer .fd-tokenizer__input.fd-input{border:none;min-width:3rem;padding:0}.fd-tokenizer .fd-tokenizer__input:first-child{padding:0 .3125rem}.fd-tokenizer .fd-tokenizer__input:last-child{flex-basis:100%}.fd-tokenizer .fd-tokenizer__input.is-focus,.fd-tokenizer .fd-tokenizer__input:focus{-webkit-box-shadow:none;background:none;background-color:transparent;border:none;box-shadow:none;outline:none;z-index:5}.fd-tokenizer .fd-tokenizer__input.is-hover,.fd-tokenizer .fd-tokenizer__input:hover{-webkit-box-shadow:none;background:none;background-color:transparent;box-shadow:none}.fd-tokenizer.is-focus,.fd-tokenizer:focus{-webkit-box-shadow:none;border:none;box-shadow:none;outline-color:var(--sapContent_FocusColor);outline-offset:-.0625rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth);z-index:5}.fd-tokenizer--compact{height:1.625rem;min-height:1.625rem}.fd-tokenizer--compact .fd-tokenizer__inner{padding:0 .25rem}.fd-tokenizer--compact .fd-tokenizer__input.fd-input{min-width:2rem}.fd-tokenizer--compact .fd-tokenizer__input:first-child{padding:0 .25rem}.fd-tokenizer--compact .fd-token{margin-right:.25rem;max-width:calc(100% - 2.25rem)}.fd-tokenizer--compact .fd-token[dir=rtl],[dir=rtl] .fd-tokenizer--compact .fd-token{margin:0 0 0 .3125rem}.fd-tokenizer--readonly{background-color:var(--sapField_ReadOnly_Background);overflow:visible}.fd-tokenizer--readonly .fd-tokenizer__inner{overflow:visible}.fd-tokenizer--readonly .fd-tokenizer__input.is-readonly,.fd-tokenizer--readonly .fd-tokenizer__input[aria-readonly=true],.fd-tokenizer--readonly .fd-tokenizer__input[readonly]{-webkit-box-shadow:none;background:none;background-color:transparent;box-shadow:none}.fd-tokenizer--readonly .fd-tokenizer__input.is-readonly.is-focus,.fd-tokenizer--readonly .fd-tokenizer__input.is-readonly:focus,.fd-tokenizer--readonly .fd-tokenizer__input[aria-readonly=true].is-focus,.fd-tokenizer--readonly .fd-tokenizer__input[aria-readonly=true]:focus,.fd-tokenizer--readonly .fd-tokenizer__input[readonly].is-focus,.fd-tokenizer--readonly .fd-tokenizer__input[readonly]:focus{-webkit-box-shadow:none;background:none;background-color:transparent;box-shadow:none;z-index:5}.fd-tokenizer--scrollable .fd-tokenizer__inner{justify-content:normal;overflow:scroll}.fd-tokenizer .fd-token{max-width:inherit}input.fd-input.fd-tokenizer__input{background-color:transparent;margin-right:1px;border:none;outline:none}.fd-tokenizer-more{padding-right:.5rem}[dir=rtl] .fd-tokenizer-more,.fd-tokenizer-more[dir=rtl]{padding-left:.5rem;padding-right:0}.fd-input-group__addon--button .fd-input-group__button.fd-tokenizer-addon{height:2.25rem}.fd-input-group__addon--button .fd-input-group__button.fd-tokenizer-addon--compact{height:1.625rem}.fd-tokenizer__overflow-list-item{display:flex;justify-content:space-between}\n"] }]
|
|
676
676
|
}], ctorParameters: function () {
|
|
677
677
|
return [{ type: i1.ContentDensityObserver }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i2.RtlService, decorators: [{
|
|
678
678
|
type: Optional
|