@fundamental-ngx/core 0.42.0-rc.2 → 0.42.0-rc.21
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/alert/alert.component.d.ts +5 -4
- package/alert/alert.module.d.ts +2 -1
- package/avatar/avatar.component.d.ts +2 -4
- package/avatar-group/directives/avatar-group-focusable-avatar.directive.d.ts +2 -6
- package/avatar-group/directives/avatar-group-overflow-button.directive.d.ts +2 -4
- package/bar/bar.component.d.ts +2 -4
- package/busy-indicator/busy-indicator-extended/busy-indicator-extended.directive.d.ts +2 -4
- package/button/button.component.d.ts +2 -6
- package/card/card-content.component.d.ts +2 -4
- package/card/card-counter.directive.d.ts +2 -4
- package/card/card-header.component.d.ts +2 -4
- package/card/card-loader.component.d.ts +2 -4
- package/card/card-second-subtitle.directive.d.ts +2 -4
- package/card/card-subtitle.directive.d.ts +2 -4
- package/card/card-title.directive.d.ts +2 -4
- package/card/card.component.d.ts +3 -5
- package/card/kpi/card-kpi-analytics-content.directive.d.ts +2 -4
- package/card/kpi/card-kpi-analytics-label.directive.d.ts +2 -4
- package/card/kpi/card-kpi-analytics.directive.d.ts +2 -4
- package/card/kpi/card-kpi-header.component.d.ts +2 -4
- package/card/kpi/card-kpi-scale-icon.directive.d.ts +2 -4
- package/card/kpi/card-kpi-scale-text.directive.d.ts +2 -4
- package/card/kpi/card-kpi-value.directive.d.ts +2 -4
- package/dialog/base/dialog-base.class.d.ts +2 -2
- package/dialog/dialog-body/dialog-body.component.d.ts +2 -4
- package/dialog/dialog-container/dialog-container.component.d.ts +0 -2
- package/dialog/dialog-service/dialog.service.d.ts +4 -0
- package/dialog/dialog.component.d.ts +0 -2
- package/dynamic-page/dynamic-page-content/dynamic-page-content.component.d.ts +4 -6
- package/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.d.ts +2 -4
- package/dynamic-side-content/dynamic-side-content.component.d.ts +3 -5
- package/esm2020/alert/alert.component.mjs +7 -19
- package/esm2020/alert/alert.module.mjs +5 -4
- package/esm2020/avatar/avatar.component.mjs +6 -10
- package/esm2020/avatar-group/directives/avatar-group-focusable-avatar.directive.mjs +4 -12
- package/esm2020/avatar-group/directives/avatar-group-overflow-body.directive.mjs +2 -2
- package/esm2020/avatar-group/directives/avatar-group-overflow-button.directive.mjs +3 -7
- package/esm2020/bar/bar.component.mjs +3 -7
- package/esm2020/breadcrumb/breadcrumb-item.component.mjs +2 -2
- package/esm2020/breadcrumb/breadcrumb.component.mjs +2 -2
- package/esm2020/busy-indicator/busy-indicator-extended/busy-indicator-extended.directive.mjs +4 -8
- package/esm2020/button/button.component.mjs +3 -9
- package/esm2020/card/card-content.component.mjs +3 -7
- package/esm2020/card/card-counter.directive.mjs +3 -7
- package/esm2020/card/card-header.component.mjs +4 -8
- package/esm2020/card/card-loader.component.mjs +3 -7
- package/esm2020/card/card-second-subtitle.directive.mjs +3 -7
- package/esm2020/card/card-subtitle.directive.mjs +3 -7
- package/esm2020/card/card-title.directive.mjs +3 -7
- package/esm2020/card/card.component.mjs +3 -7
- package/esm2020/card/kpi/card-kpi-analytics-content.directive.mjs +3 -7
- package/esm2020/card/kpi/card-kpi-analytics-label.directive.mjs +3 -7
- package/esm2020/card/kpi/card-kpi-analytics.directive.mjs +3 -7
- package/esm2020/card/kpi/card-kpi-header.component.mjs +3 -7
- package/esm2020/card/kpi/card-kpi-scale-icon.directive.mjs +3 -7
- package/esm2020/card/kpi/card-kpi-scale-text.directive.mjs +3 -7
- package/esm2020/card/kpi/card-kpi-value.directive.mjs +3 -7
- package/esm2020/checkbox/checkbox/checkbox.component.mjs +3 -3
- package/esm2020/content-density/services/content-density-observer.service.mjs +3 -3
- package/esm2020/dialog/base/dialog-base.class.mjs +6 -6
- package/esm2020/dialog/dialog-body/dialog-body.component.mjs +3 -7
- package/esm2020/dialog/dialog-container/dialog-container.component.mjs +1 -5
- package/esm2020/dialog/dialog-service/dialog.service.mjs +10 -2
- package/esm2020/dialog/dialog.component.mjs +3 -7
- package/esm2020/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +4 -8
- package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.mjs +5 -9
- package/esm2020/dynamic-side-content/dynamic-side-content.component.mjs +3 -7
- package/esm2020/facets/content/facet-content.component.mjs +4 -8
- package/esm2020/facets/facet/facet.component.mjs +13 -19
- package/esm2020/feed-input/directives/feed-input-avatar.directive.mjs +3 -7
- package/esm2020/feed-list-item/components/item/feed-list-item.component.mjs +3 -7
- package/esm2020/feed-list-item/components/list/feed-list.component.mjs +3 -7
- package/esm2020/form/form-control/form-control.component.mjs +3 -7
- package/esm2020/form/form-group/form-group.component.mjs +3 -7
- package/esm2020/form/form-message/form-message.component.mjs +3 -7
- package/esm2020/icon/icon.component.mjs +3 -7
- package/esm2020/illustrated-message/illustrated-message.component.mjs +3 -7
- package/esm2020/info-label/info-label.component.mjs +3 -7
- package/esm2020/inline-help/inline-help.directive.mjs +26 -15
- package/esm2020/input-group/input-group-directives.mjs +6 -14
- package/esm2020/input-group/input-group.component.mjs +2 -2
- package/esm2020/layout-grid/directives/layout-grid-col.directive.mjs +3 -7
- package/esm2020/layout-grid/layout-grid.component.mjs +3 -7
- package/esm2020/layout-panel/layout-panel-footer/layout-panel-footer.component.mjs +3 -7
- package/esm2020/link/link.component.mjs +9 -13
- package/esm2020/list/directives/list-icon.directive.mjs +3 -7
- package/esm2020/list/directives/list-navigation-item-text.directive.mjs +3 -7
- package/esm2020/list/list-message.directive.mjs +3 -7
- package/esm2020/menu/menu-mobile/menu-mobile.component.mjs +2 -2
- package/esm2020/message-box/message-box-container/message-box-container.component.mjs +1 -5
- package/esm2020/message-box/message-box.component.mjs +1 -5
- package/esm2020/message-page/message-page.component.mjs +3 -7
- package/esm2020/message-strip/message-strip.component.mjs +5 -9
- package/esm2020/multi-input/multi-input.component.mjs +31 -17
- package/esm2020/notification/directives/notification-indicator.directive.mjs +3 -7
- package/esm2020/notification/notification-group/notification-group.component.mjs +3 -7
- package/esm2020/notification/notification-utils/notification-group-base.mjs +2 -2
- package/esm2020/object-marker/object-marker.component.mjs +3 -7
- package/esm2020/object-number/object-number.component.mjs +3 -7
- package/esm2020/object-status/object-status.component.mjs +3 -7
- package/esm2020/panel/panel.component.mjs +3 -7
- package/esm2020/popover/popover-body/popover-body.component.mjs +5 -2
- package/esm2020/product-switch/product-switch-body/product-switch-body.component.mjs +1 -1
- package/esm2020/radio/radio-button/radio-button.component.mjs +2 -2
- package/esm2020/rating-indicator/components/rating-indicator.component.mjs +3 -7
- package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.mjs +4 -8
- package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.mjs +3 -7
- package/esm2020/segmented-button/segmented-button.component.mjs +4 -4
- package/esm2020/select/select.component.mjs +4 -4
- package/esm2020/slider/slider.component.mjs +3 -7
- package/esm2020/status-indicator/status-indicator.component.mjs +4 -8
- package/esm2020/table/directives/table-cell.directive.mjs +31 -26
- package/esm2020/table/directives/table-icon.directive.mjs +3 -9
- package/esm2020/table/directives/table-row.directive.mjs +34 -19
- package/esm2020/table/table-wrapper.component.mjs +2 -2
- package/esm2020/table/table.component.mjs +1 -1
- package/esm2020/tabs/tab-item/tab-item.directive.mjs +3 -7
- package/esm2020/tabs/tab-nav/tab-nav.component.mjs +3 -9
- package/esm2020/tabs/tab-utils/tab-directives.mjs +3 -9
- package/esm2020/tile/directives/numeric-content.directives.mjs +14 -34
- package/esm2020/tile/directives/tile.directives.mjs +9 -21
- package/esm2020/tile/tile.component.mjs +2 -2
- package/esm2020/token/token-input.directive.mjs +3 -7
- package/esm2020/token/tokenizer.component.mjs +12 -16
- package/esm2020/toolbar/toolbar.component.mjs +2 -2
- package/esm2020/tree/components/tree-item/tree-item.component.mjs +1 -1
- package/esm2020/tree/models/base-tree-item.class.mjs +2 -6
- package/esm2020/tree/tree.component.mjs +3 -7
- package/esm2020/upload-collection/upload-collection-item.directive.mjs +2 -2
- package/esm2020/wizard/wizard.component.mjs +2 -2
- package/facets/content/facet-content.component.d.ts +2 -4
- package/facets/facet/facet.component.d.ts +2 -6
- package/feed-input/directives/feed-input-avatar.directive.d.ts +2 -4
- package/feed-list-item/components/item/feed-list-item.component.d.ts +2 -4
- package/feed-list-item/components/list/feed-list.component.d.ts +2 -4
- package/fesm2015/fundamental-ngx-core-alert.mjs +48 -58
- package/fesm2015/fundamental-ngx-core-alert.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-avatar-group.mjs +6 -18
- package/fesm2015/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-avatar.mjs +5 -9
- package/fesm2015/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-bar.mjs +2 -6
- 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 +3 -7
- package/fesm2015/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-button.mjs +2 -8
- package/fesm2015/fundamental-ngx-core-button.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-card.mjs +31 -91
- package/fesm2015/fundamental-ngx-core-card.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-content-density.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-content-density.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-dialog.mjs +18 -23
- package/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-dynamic-page.mjs +7 -15
- package/fesm2015/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs +2 -6
- package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-facets.mjs +15 -25
- package/fesm2015/fundamental-ngx-core-facets.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-feed-input.mjs +2 -6
- package/fesm2015/fundamental-ngx-core-feed-input.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-feed-list-item.mjs +4 -12
- package/fesm2015/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-form.mjs +6 -18
- package/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-icon.mjs +2 -6
- package/fesm2015/fundamental-ngx-core-icon.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-illustrated-message.mjs +2 -6
- package/fesm2015/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-info-label.mjs +2 -6
- package/fesm2015/fundamental-ngx-core-info-label.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-inline-help.mjs +24 -13
- package/fesm2015/fundamental-ngx-core-inline-help.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-input-group.mjs +6 -14
- package/fesm2015/fundamental-ngx-core-input-group.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-layout-grid.mjs +4 -12
- package/fesm2015/fundamental-ngx-core-layout-grid.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-layout-panel.mjs +2 -6
- package/fesm2015/fundamental-ngx-core-layout-panel.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-link.mjs +8 -12
- package/fesm2015/fundamental-ngx-core-link.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-list.mjs +6 -18
- package/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-menu.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-message-box.mjs +0 -8
- package/fesm2015/fundamental-ngx-core-message-box.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-message-page.mjs +2 -6
- package/fesm2015/fundamental-ngx-core-message-page.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-message-strip.mjs +4 -8
- package/fesm2015/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-multi-input.mjs +31 -15
- package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-notification.mjs +5 -13
- package/fesm2015/fundamental-ngx-core-notification.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-object-marker.mjs +2 -6
- package/fesm2015/fundamental-ngx-core-object-marker.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-object-number.mjs +2 -6
- package/fesm2015/fundamental-ngx-core-object-number.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-object-status.mjs +2 -6
- package/fesm2015/fundamental-ngx-core-object-status.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-panel.mjs +2 -6
- package/fesm2015/fundamental-ngx-core-panel.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-popover.mjs +4 -1
- package/fesm2015/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-product-switch.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-product-switch.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-radio.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-radio.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-rating-indicator.mjs +2 -6
- package/fesm2015/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs +5 -13
- package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-segmented-button.mjs +3 -3
- package/fesm2015/fundamental-ngx-core-segmented-button.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-select.mjs +3 -3
- package/fesm2015/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-slider.mjs +2 -6
- package/fesm2015/fundamental-ngx-core-slider.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-status-indicator.mjs +3 -7
- package/fesm2015/fundamental-ngx-core-status-indicator.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-table.mjs +64 -48
- package/fesm2015/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-tabs.mjs +6 -22
- package/fesm2015/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-tile.mjs +22 -54
- package/fesm2015/fundamental-ngx-core-tile.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-token.mjs +13 -21
- package/fesm2015/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-toolbar.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-toolbar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-tree.mjs +3 -11
- package/fesm2015/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-upload-collection.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-upload-collection.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-wizard.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-wizard.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-alert.mjs +48 -58
- package/fesm2020/fundamental-ngx-core-alert.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-avatar-group.mjs +6 -18
- package/fesm2020/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-avatar.mjs +5 -9
- package/fesm2020/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-bar.mjs +2 -6
- 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 +3 -7
- package/fesm2020/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-button.mjs +2 -8
- package/fesm2020/fundamental-ngx-core-button.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-card.mjs +31 -91
- package/fesm2020/fundamental-ngx-core-card.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-content-density.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-content-density.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-dialog.mjs +18 -23
- package/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-dynamic-page.mjs +7 -15
- package/fesm2020/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs +2 -6
- package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-facets.mjs +15 -25
- package/fesm2020/fundamental-ngx-core-facets.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-feed-input.mjs +2 -6
- package/fesm2020/fundamental-ngx-core-feed-input.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-feed-list-item.mjs +4 -12
- package/fesm2020/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-form.mjs +6 -18
- package/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-icon.mjs +2 -6
- package/fesm2020/fundamental-ngx-core-icon.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-illustrated-message.mjs +2 -6
- package/fesm2020/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-info-label.mjs +2 -6
- package/fesm2020/fundamental-ngx-core-info-label.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-inline-help.mjs +24 -13
- package/fesm2020/fundamental-ngx-core-inline-help.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-input-group.mjs +6 -14
- package/fesm2020/fundamental-ngx-core-input-group.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-layout-grid.mjs +4 -12
- package/fesm2020/fundamental-ngx-core-layout-grid.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-layout-panel.mjs +2 -6
- package/fesm2020/fundamental-ngx-core-layout-panel.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-link.mjs +8 -12
- package/fesm2020/fundamental-ngx-core-link.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-list.mjs +6 -18
- package/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-menu.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-message-box.mjs +0 -8
- package/fesm2020/fundamental-ngx-core-message-box.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-message-page.mjs +2 -6
- package/fesm2020/fundamental-ngx-core-message-page.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-message-strip.mjs +4 -8
- package/fesm2020/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-multi-input.mjs +29 -15
- package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-notification.mjs +5 -13
- package/fesm2020/fundamental-ngx-core-notification.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-object-marker.mjs +2 -6
- package/fesm2020/fundamental-ngx-core-object-marker.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-object-number.mjs +2 -6
- package/fesm2020/fundamental-ngx-core-object-number.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-object-status.mjs +2 -6
- package/fesm2020/fundamental-ngx-core-object-status.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-panel.mjs +2 -6
- package/fesm2020/fundamental-ngx-core-panel.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-popover.mjs +4 -1
- package/fesm2020/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-product-switch.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-product-switch.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-radio.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-radio.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-rating-indicator.mjs +2 -6
- package/fesm2020/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs +5 -13
- package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-segmented-button.mjs +3 -3
- package/fesm2020/fundamental-ngx-core-segmented-button.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-select.mjs +3 -3
- package/fesm2020/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-slider.mjs +2 -6
- package/fesm2020/fundamental-ngx-core-slider.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-status-indicator.mjs +3 -7
- package/fesm2020/fundamental-ngx-core-status-indicator.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-table.mjs +64 -48
- package/fesm2020/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-tabs.mjs +6 -22
- package/fesm2020/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-tile.mjs +22 -54
- package/fesm2020/fundamental-ngx-core-tile.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-token.mjs +13 -21
- package/fesm2020/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-toolbar.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-toolbar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-tree.mjs +3 -11
- package/fesm2020/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-upload-collection.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-upload-collection.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-wizard.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-wizard.mjs.map +1 -1
- package/form/form-control/form-control.component.d.ts +2 -4
- package/form/form-group/form-group.component.d.ts +2 -4
- package/form/form-message/form-message.component.d.ts +2 -4
- package/fundamental-ngx-core-v0.42.0-rc.21.tgz +0 -0
- package/icon/icon.component.d.ts +2 -4
- package/illustrated-message/illustrated-message.component.d.ts +2 -4
- package/info-label/info-label.component.d.ts +2 -4
- package/inline-help/inline-help.directive.d.ts +9 -3
- package/input-group/input-group-directives.d.ts +5 -9
- package/layout-grid/directives/layout-grid-col.directive.d.ts +2 -4
- package/layout-grid/layout-grid.component.d.ts +2 -4
- package/layout-panel/layout-panel-footer/layout-panel-footer.component.d.ts +4 -6
- package/link/link.component.d.ts +2 -4
- package/list/directives/list-icon.directive.d.ts +4 -5
- package/list/directives/list-navigation-item-text.directive.d.ts +2 -4
- package/list/list-message.directive.d.ts +2 -4
- package/message-box/message-box-container/message-box-container.component.d.ts +0 -2
- package/message-box/message-box.component.d.ts +0 -2
- package/message-page/message-page.component.d.ts +2 -4
- package/message-strip/message-strip.component.d.ts +4 -5
- package/multi-input/multi-input.component.d.ts +9 -5
- package/notification/directives/notification-indicator.directive.d.ts +2 -4
- package/notification/notification-group/notification-group.component.d.ts +2 -4
- package/object-marker/object-marker.component.d.ts +2 -4
- package/object-number/object-number.component.d.ts +2 -4
- package/object-status/object-status.component.d.ts +2 -4
- package/package.json +4 -4
- package/panel/panel.component.d.ts +2 -4
- package/radio/radio-button/radio-button.component.d.ts +1 -1
- package/rating-indicator/components/rating-indicator.component.d.ts +2 -4
- package/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.d.ts +2 -4
- package/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.d.ts +2 -4
- package/schematics/add-dependencies/index.js +6 -6
- package/slider/slider.component.d.ts +2 -4
- package/status-indicator/status-indicator.component.d.ts +2 -4
- package/table/directives/table-cell.directive.d.ts +6 -12
- package/table/directives/table-icon.directive.d.ts +2 -6
- package/table/directives/table-row.directive.d.ts +10 -10
- package/tabs/tab-item/tab-item.directive.d.ts +2 -4
- package/tabs/tab-nav/tab-nav.component.d.ts +4 -8
- package/tabs/tab-utils/tab-directives.d.ts +2 -6
- package/tile/directives/numeric-content.directives.d.ts +10 -20
- package/tile/directives/tile.directives.d.ts +6 -12
- package/tile/tile.component.d.ts +1 -1
- package/token/token-input.directive.d.ts +2 -4
- package/token/tokenizer.component.d.ts +2 -4
- package/toolbar/toolbar.component.d.ts +1 -1
- package/tree/models/base-tree-item.class.d.ts +1 -3
- package/tree/tree.component.d.ts +1 -3
- package/fundamental-ngx-core-v0.42.0-rc.2.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-slider.mjs","sources":["../../../../libs/core/src/lib/slider/slider.model.ts","../../../../libs/core/src/lib/slider/constants.ts","../../../../libs/core/src/lib/slider/slider-position.directive.ts","../../../../libs/core/src/lib/slider/slider.component.ts","../../../../libs/core/src/lib/slider/slider.component.html","../../../../libs/core/src/lib/slider/deprecated-slider-cozy.directive.ts","../../../../libs/core/src/lib/slider/slider.module.ts","../../../../libs/core/src/lib/slider/fundamental-ngx-core-slider.ts"],"sourcesContent":["export enum SliderValueTargets {\n SINGLE_SLIDER,\n RANGE_SLIDER1,\n RANGE_SLIDER2\n}\n\nexport enum SliderRangeHandles {\n First,\n Second\n}\n\nexport interface SliderTickMark {\n value: number | string;\n label: string;\n position?: number;\n}\n\nexport type SliderCustomValue = Omit<SliderTickMark, 'position'>;\n\nexport type SliderControlValue = number | number[] | SliderTickMark | SliderTickMark[];\n","export const MIN_DISTANCE_BETWEEN_TICKS = 8;\n","import { ChangeDetectorRef, Directive, ElementRef, Input, OnChanges, OnDestroy, OnInit, Optional } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-slider-position]'\n})\nexport class SliderPositionDirective implements OnInit, OnChanges, OnDestroy {\n /** Position of the slider */\n @Input()\n position: number;\n\n /** @hidden */\n private _isRtl = false;\n\n /** @hidden */\n private _rtlSubscription: Subscription;\n\n /** @hidden */\n constructor(\n private readonly _cd: ChangeDetectorRef,\n private readonly _elementRef: ElementRef<HTMLElement>,\n @Optional() private readonly _rtlService: RtlService\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._subscribeToRtl();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this._setPosition();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n if (this._rtlSubscription) {\n this._rtlSubscription.unsubscribe();\n }\n }\n\n /** @hidden */\n private _setPosition(): void {\n const { style } = this._elementRef.nativeElement;\n\n style.left = !this._isRtl ? `${this.position}%` : 'unset';\n style.right = this._isRtl ? `${this.position}%` : 'unset';\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n this._rtlSubscription = this._rtlService?.rtl\n .pipe(startWith(this._rtlService.rtl.getValue()))\n .subscribe((isRtl: boolean) => {\n this._isRtl = isRtl;\n\n this._setPosition();\n });\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n Renderer2,\n ViewChild,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DOWN_ARROW, ENTER, LEFT_ARROW, RIGHT_ARROW, SPACE, UP_ARROW } from '@angular/cdk/keycodes';\nimport { Platform } from '@angular/cdk/platform';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { LiveAnnouncer } from '@angular/cdk/a11y';\n\nimport { BehaviorSubject, combineLatest, fromEvent, Observable, of, Subject } from 'rxjs';\nimport {\n debounceTime,\n distinctUntilChanged,\n map,\n mapTo,\n skip,\n startWith,\n switchMap,\n take,\n takeUntil\n} from 'rxjs/operators';\n\nimport { PopoverComponent } from '@fundamental-ngx/core/popover';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport {\n SliderControlValue,\n SliderCustomValue,\n SliderRangeHandles,\n SliderTickMark,\n SliderValueTargets\n} from './slider.model';\nimport { MIN_DISTANCE_BETWEEN_TICKS } from './constants';\nimport { applyCssClass, CssClassBuilder, KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { FormItemControl, registerFormItemControl } from '@fundamental-ngx/core/form';\nimport {\n ContentDensityMode,\n ContentDensityObserver,\n contentDensityObserverProviders\n} from '@fundamental-ngx/core/content-density';\n\nexport const SLIDER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SliderComponent),\n multi: true\n};\n\nlet sliderId = 0;\n\n@Component({\n selector: 'fd-slider',\n templateUrl: './slider.component.html',\n styleUrls: ['./slider.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n SLIDER_VALUE_ACCESSOR,\n registerFormItemControl(SliderComponent),\n contentDensityObserverProviders({\n defaultContentDensity: ContentDensityMode.COMPACT,\n modifiers: { [ContentDensityMode.COZY]: 'fd-slider--lg' }\n })\n ],\n host: {\n '(mouseenter)': 'this._componentHovered$.next(true)',\n '(mouseleave)': 'this._componentHovered$.next(false)',\n '(focusout)': 'onTouched()'\n }\n})\nexport class SliderComponent\n implements OnInit, OnChanges, AfterViewInit, OnDestroy, ControlValueAccessor, CssClassBuilder, FormItemControl\n{\n /** Slider id, it has some default value if not set, */\n @Input()\n @HostBinding('attr.id')\n id = 'fd-slider-id-' + sliderId++;\n\n /** User's custom classes */\n @Input()\n class: string;\n\n /** Id of the element that labels slider. */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** Aria label for the slider. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Minimum value. */\n @Input()\n set min(value: number) {\n const newValue = coerceNumberProperty(value, this._min);\n if (((this.max - newValue) / this.step) % 1 !== 0) {\n return;\n }\n\n this._min = value;\n }\n get min(): number {\n return this._min;\n }\n\n /** Maximum value. */\n @Input()\n set max(value: number) {\n const newValue = coerceNumberProperty(value, this._max);\n if (((newValue - this.min) / this.step) % 1 !== 0) {\n return;\n }\n\n this._max = value;\n }\n get max(): number {\n return this._max;\n }\n\n /** Step value. */\n @Input()\n set step(value: number) {\n const newValue = coerceNumberProperty(value, this._step);\n if (((this.max - this.min) / newValue) % 1 !== 0) {\n return;\n }\n\n this._step = value;\n }\n get step(): number {\n return this._step;\n }\n\n /** Jump value. */\n @Input()\n set jump(value: number) {\n this._jump = coerceNumberProperty(value, this._jump);\n }\n get jump(): number {\n return this._jump;\n }\n\n /** Put a label on every N-th tickmark. */\n @Input()\n set tickmarksBetweenLabels(value: number) {\n this._tickmarksBetweenLabels = coerceNumberProperty(value, this._tickmarksBetweenLabels);\n }\n get tickmarksBetweenLabels(): number {\n return this._tickmarksBetweenLabels;\n }\n\n /**\n * Slider mode.\n * Options include: 'single' | 'range'\n * The default is set to 'single'\n */\n @Input()\n mode: 'single' | 'range' = 'single';\n\n /** Toggles the visibility of tick marks. */\n @Input()\n showTicks = false;\n\n /** Toggles the visibility of tick mark labels. Must be used in conjunction with 'showTicks' */\n @Input()\n showTicksLabels = false;\n\n /** Array of custom values to use for Slider. */\n @Input()\n customValues: SliderCustomValue[] = [];\n\n /** Tooltip can be two types, 'readonly' to display value and 'editable' to make the ability to set and display value. */\n @Input()\n tooltipMode: 'readonly' | 'editable';\n\n /** Hides display of colored progress bar. */\n @Input()\n hideProgressBar = false;\n\n /** Whether the control is disabled. */\n @Input()\n disabled = false;\n\n /**\n * slider current value verbose string.\n * This will be read only once by screen reader and upon slider value change,\n * this string will not be read.\n * @deprecated no longer used, use i18n capabilities instead\n */\n @Input()\n singleSliderCurrentValuePrefix: string;\n\n /**\n * @hidden range slider handle 1 current value supporting string\n * This will be read only once by screen reader and upon slider value change,\n * this string will not be read.\n * * @deprecated no longer used, use i18n capabilities instead\n */\n @Input()\n rangeSliderHandle1CurrentValuePrefix: string;\n\n /**\n * @hidden range slider handle 2 current value supporting string\n * This will be read only once by screen reader and upon slider value change,\n * this string will not be read.\n * * @deprecated no longer used, use i18n capabilities instead\n */\n @Input()\n rangeSliderHandle2CurrentValuePrefix: string;\n\n /** @hidden */\n _position: number | number[] = 0;\n\n /** Control value */\n @Input()\n set value(value: SliderControlValue) {\n this._setValue(value);\n }\n get value(): SliderControlValue {\n return this._value;\n }\n\n /** @hidden */\n get _popoverValueRef(): number[] {\n return [this._position as number, this._handle1Value, this._handle2Value];\n }\n\n /** @hidden */\n @ViewChild('track', { read: ElementRef })\n trackEl: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n @ViewChild('handle', { read: ElementRef })\n handle: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n @ViewChild('rangeHandle1', { read: ElementRef })\n rangeHandle1: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n @ViewChild('rangeHandle2', { read: ElementRef })\n rangeHandle2: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n @ViewChildren(PopoverComponent)\n _popovers: QueryList<PopoverComponent>;\n\n /** @hidden */\n @ViewChildren('sliderTooltipWrapper')\n _sliderTooltipWrappers: QueryList<ElementRef<HTMLDivElement>>;\n\n /** @hidden */\n _value: number | SliderTickMark | SliderTickMark[] | number[] = 0;\n\n /** @hidden */\n _progress = 0;\n\n /** @hidden */\n @HostBinding('class.fd-slider--range')\n _isRange = false;\n\n /** @hidden */\n _handle1Position = 0;\n\n /** @hidden */\n _handle2Position = 0;\n\n /** @hidden */\n _handle1Value = 0;\n\n /** @hidden */\n _handle2Value = 0;\n\n /** @hidden */\n _rangeProgress = 0;\n\n /** @hidden */\n _tickMarks: SliderTickMark[] = [];\n\n /** @hidden */\n _sliderValueTargets = SliderValueTargets;\n\n /** @hidden */\n _popoverInputFieldClass = `fd-slider-popover-input-${sliderId}`;\n\n /** @hidden */\n _isRtl = false;\n\n /**\n * @hidden\n * whether to use value with a prefix for announcing\n */\n _useSliderValuePrefix = true;\n\n /** @hidden */\n private _min = 0;\n\n /** @hidden */\n private _max = 100;\n\n /** @hidden */\n private _step = 1;\n\n /** @hidden */\n private _jump = 10;\n\n /** @hidden */\n private _tickmarksBetweenLabels = 1;\n\n /** @hidden */\n private _valuesBySteps: number[] = [];\n\n /**\n * @hidden\n * An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing)\n */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n readonly _componentHovered$ = new BehaviorSubject(false);\n\n /** @hidden */\n readonly _handleFocused$ = new BehaviorSubject(false);\n\n /** @hidden */\n readonly _rangeHandle1Focused$ = new BehaviorSubject(false);\n\n /** @hidden */\n readonly _rangeHandle2Focused$ = new BehaviorSubject(false);\n\n /** @hidden */\n readonly _popoverInputFieldFocused$ = new BehaviorSubject(false);\n\n /** @hidden */\n readonly _popoverInputFieldHovered$ = new BehaviorSubject(false);\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef,\n private readonly _cdr: ChangeDetectorRef,\n private readonly _renderer: Renderer2,\n private readonly _platform: Platform,\n private readonly _liveAnnouncer: LiveAnnouncer,\n @Optional() private readonly _rtlService: RtlService,\n readonly _contentDensityObserver: ContentDensityObserver\n ) {\n _contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._subscribeToRtl();\n this._attachResizeListener();\n this._onResize();\n\n if (this._valuesBySteps.length === 0) {\n this._constructValuesBySteps();\n }\n\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n this._checkIsInRangeMode();\n this._constructTickMarks();\n this._constructValuesBySteps();\n this._recalcHandlePositions();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenToInteractionChanges();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** @hidden */\n private isRtl(): boolean {\n return this._rtlService?.rtl.getValue();\n }\n\n /** @hidden */\n getValuenow(position: number | number[], sliderValueTarget: SliderValueTargets): string | number {\n return this.customValues.length > 0\n ? this.customValues[position as number].label\n : this._popoverValueRef[sliderValueTarget];\n }\n\n /** @hidden */\n get minValue(): string | number {\n return this.customValues.length > 0 ? this.customValues[this.min as number].label : this.min;\n }\n\n /** @hidden */\n get maxValue(): string | number {\n return this.customValues.length > 0 ? this.customValues[this.max as number].label : this.max;\n }\n\n /**\n * @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-slider',\n this.disabled ? 'is-disabled' : '',\n this._isRange ? 'fd-slider--range' : '',\n this.showTicks && this.showTicksLabels ? 'fd-slider--with-labels' : '',\n this.class,\n this._platform.EDGE || this._platform.TRIDENT ? 'fd-slider__alternative-tick-width' : ''\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden */\n onChange: (value: SliderControlValue) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n registerOnChange(fn: (value: SliderControlValue) => void): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** @hidden */\n writeValue(value: SliderControlValue): void {\n this._setValue(value, false);\n }\n\n /** @hidden */\n onTrackClick(event: MouseEvent): void {\n if (this.disabled || this._isRange) {\n return;\n }\n\n this._setValue(this._calculateValueFromPointerPosition(event));\n this._updatePopoversPosition();\n this.handle.nativeElement.focus();\n }\n\n /** @hidden */\n onHandleClick(event: MouseEvent): void {\n if (this.disabled) {\n return;\n }\n\n const unsubscribeFromMousemove = this._renderer.listen('document', 'mousemove', (moveEvent) => {\n this._updatePopoversPosition();\n\n if (!this._isRange) {\n this._setValue(this._calculateValueFromPointerPosition(moveEvent));\n\n return;\n }\n\n let handleIndex: SliderRangeHandles;\n if (event.target === this.rangeHandle1.nativeElement) {\n handleIndex = SliderRangeHandles.First;\n } else if (event.target === this.rangeHandle2.nativeElement) {\n handleIndex = SliderRangeHandles.Second;\n } else {\n return;\n }\n\n const value = this._calculateValueFromPointerPosition(moveEvent, false) as number;\n this._setRangeHandleValueAndPosition(handleIndex, value);\n\n this._setValue(this._constructRangeModelValue());\n });\n\n const unsubscribeFromMouseup = this._renderer.listen('document', 'mouseup', () => {\n unsubscribeFromMousemove();\n unsubscribeFromMouseup();\n });\n }\n\n /** @hidden */\n onKeyDown(event: KeyboardEvent): void {\n if (this.disabled) {\n return;\n }\n\n const allowedKeys: number[] = [LEFT_ARROW, RIGHT_ARROW, UP_ARROW, DOWN_ARROW, ENTER, SPACE];\n if (!KeyUtil.isKeyCode(event, allowedKeys)) {\n return;\n }\n event.preventDefault();\n\n const diff = event.shiftKey ? this.jump : this.step;\n let newValue: number | SliderTickMark | null = null;\n let prevValue = this._position as number;\n let handleIndex: SliderRangeHandles | undefined;\n if (this._isRange) {\n if (event.target === this.rangeHandle1.nativeElement) {\n prevValue = this._handle1Value;\n handleIndex = SliderRangeHandles.First;\n } else if (event.target === this.rangeHandle2.nativeElement) {\n prevValue = this._handle2Value;\n handleIndex = SliderRangeHandles.Second;\n }\n }\n if (this.isRtl()) {\n if (KeyUtil.isKeyCode(event, LEFT_ARROW) || KeyUtil.isKeyCode(event, UP_ARROW)) {\n newValue = prevValue + diff;\n }\n\n if (KeyUtil.isKeyCode(event, RIGHT_ARROW) || KeyUtil.isKeyCode(event, DOWN_ARROW)) {\n newValue = prevValue - diff;\n }\n } else {\n if (KeyUtil.isKeyCode(event, LEFT_ARROW) || KeyUtil.isKeyCode(event, DOWN_ARROW)) {\n newValue = prevValue - diff;\n }\n\n if (KeyUtil.isKeyCode(event, RIGHT_ARROW) || KeyUtil.isKeyCode(event, UP_ARROW)) {\n newValue = prevValue + diff;\n }\n }\n\n if (newValue === null) {\n return;\n }\n\n newValue = this._processNewValue(newValue as number, !this._isRange);\n\n if (!this._isRange) {\n this._setValue(newValue);\n } else if (handleIndex) {\n this._setRangeHandleValueAndPosition(handleIndex, newValue as number);\n this._setValue(this._constructRangeModelValue());\n }\n\n this._updatePopoversPosition();\n }\n\n /** @hidden */\n _updateValueFromInput(value: string, target: SliderValueTargets): void {\n const newValue = this._processNewValue(+value) as number;\n if (!this._isRange && target === SliderValueTargets.SINGLE_SLIDER) {\n this._setValue(newValue);\n this.handle.nativeElement.focus();\n this._updatePopoversPosition();\n\n return;\n }\n\n if (target === SliderValueTargets.RANGE_SLIDER1) {\n this._setRangeHandleValueAndPosition(SliderRangeHandles.First, newValue);\n this.rangeHandle1.nativeElement.focus();\n }\n\n if (target === SliderValueTargets.RANGE_SLIDER2) {\n this._setRangeHandleValueAndPosition(SliderRangeHandles.Second, newValue);\n this.rangeHandle2.nativeElement.focus();\n }\n\n this._setValue(this._constructRangeModelValue());\n\n this._updatePopoversPosition();\n }\n\n /** @hidden */\n private _setValue(value: SliderControlValue, emitEvent = true): void {\n if (this._isRange) {\n this._initRangeMode((value ?? [0.0]) as number[] | SliderTickMark[]);\n } else {\n this._initSingeMode((value ?? 0) as number | SliderTickMark);\n }\n\n this._value = value;\n\n if (emitEvent) {\n this.onChange(value);\n }\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n private _updatePopoversPosition(): void {\n this._cdr.detectChanges();\n\n this._popovers.forEach((popover) => popover.refreshPosition());\n }\n\n /** @hidden */\n private _calculateValueFromPointerPosition(event: MouseEvent, takeCustomValue = true): number | SliderTickMark {\n const { left, width } = this.trackEl.nativeElement.getBoundingClientRect();\n let percentage = (event.clientX - left) / width;\n\n if (this._isRtl) {\n percentage = 1 - percentage;\n }\n\n const newValue = this.min + percentage * (this.max - this.min);\n\n return this._processNewValue(newValue, takeCustomValue);\n }\n\n /** @hidden */\n private _processNewValue(newValue: number, takeCustomValue = true): number | SliderTickMark {\n if (newValue > this.max) {\n newValue = this.max;\n }\n\n if (newValue < this.min) {\n newValue = this.min;\n }\n\n this._useSliderValuePrefix = false;\n this._cdr.markForCheck();\n\n const stepDiffArray = this._valuesBySteps\n .map((stepValue) => ({ diff: Math.abs(stepValue - newValue), value: stepValue }))\n .sort((a, b) => a.diff - b.diff);\n let value: SliderTickMark | number = stepDiffArray[0].value;\n\n if (takeCustomValue && this.customValues.length > 0) {\n value = this.customValues[value];\n }\n\n return value;\n }\n\n /** @hidden */\n private _setRangeHandleValueAndPosition(handleIndex: SliderRangeHandles, value: number): void {\n const position = this._calcProgress(value, true);\n\n if (handleIndex === SliderRangeHandles.First) {\n this._handle1Value = value;\n this._handle1Position = position;\n }\n\n if (handleIndex === SliderRangeHandles.Second) {\n this._handle2Value = value;\n this._handle2Position = position;\n }\n\n this._rangeProgress = Math.abs(this._handle2Position - this._handle1Position);\n }\n\n /** @hidden */\n private _constructRangeModelValue(): number[] | SliderTickMark[] {\n let rangeLowerValue: number | string;\n let rangeHigherValue: number | string;\n let rangeValue: number[] | SliderTickMark[] = [\n Math.min(this._handle1Value, this._handle2Value),\n Math.max(this._handle1Value, this._handle2Value)\n ];\n\n rangeLowerValue = rangeValue[0];\n rangeHigherValue = rangeValue[1];\n\n if (this.customValues.length > 0) {\n const min = this.customValues[rangeValue[0]] || this.customValues[0];\n const max = this.customValues[rangeValue[1]] || this.customValues[this.customValues.length - 1];\n\n rangeValue = [min, max];\n rangeLowerValue = rangeValue[0].label;\n rangeHigherValue = rangeValue[1].label;\n }\n this._liveAnnouncer.announce('range value between ' + rangeLowerValue + ' and ' + rangeHigherValue, 'polite');\n return rangeValue;\n }\n\n /** @hidden */\n private _attachResizeListener(): void {\n fromEvent(window, 'resize')\n .pipe(debounceTime(500), takeUntil(this._onDestroy$))\n .subscribe(() => this._onResize());\n }\n\n /** @hidden */\n private _onResize(): void {\n this._constructTickMarks();\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n private _constructValuesBySteps(): void {\n try {\n this._valuesBySteps = Array.from({ length: (this.max - this.min) / this.step + 1 }, (_, i) =>\n Number((this.min + i * this.step).toFixed(2))\n );\n } catch (e) {}\n }\n\n /** @hidden */\n private _constructTickMarks(): void {\n if (!this.showTicks) {\n this._tickMarks = [];\n\n return;\n }\n\n if (this.customValues.length) {\n this.min = 0;\n this.max = this.customValues.length - 1;\n this.step = 1;\n const customValuesLength = this.customValues.length - 1;\n this._tickMarks = this.customValues.map((item, i) => ({\n ...item,\n position: (100 / customValuesLength) * i\n }));\n } else {\n const total = this.max - this.min;\n const tickMarksCount = total / this.step + 1;\n if (this._maxTickMarksNumber !== undefined && tickMarksCount > this._maxTickMarksNumber) {\n this._tickMarks = [\n { position: 0, value: 0, label: `${this.min}` },\n { position: 100, value: total, label: `${this.max}` }\n ];\n\n return;\n }\n\n if (tickMarksCount % 1 === 0) {\n this._tickMarks = Array.from({ length: tickMarksCount }, (_, i) => {\n const value = Math.round(i * this.step * 100) / 100;\n const position = (value / (this.max - this.min)) * 100;\n\n return { value, position, label: `${this.min + value}` };\n });\n }\n }\n }\n\n /** @hidden */\n private get _maxTickMarksNumber(): number | undefined {\n if (!this.trackEl || !this.trackEl.nativeElement) {\n return;\n }\n\n return Math.floor(this.trackEl.nativeElement.getBoundingClientRect().width / MIN_DISTANCE_BETWEEN_TICKS);\n }\n\n /** @hidden */\n private _calcProgress(value: number, skipRtl = false): number {\n let progress = ((value - this.min) / (this.max - this.min)) * 100;\n\n if (!skipRtl && this._isRtl) {\n progress = 100 - progress;\n }\n\n if (progress > 100) {\n return 100;\n }\n\n if (progress < 0) {\n return 0;\n }\n\n return progress;\n }\n\n /** @hidden */\n private _recalcHandlePositions(): void {\n if (this._isRange) {\n this._handle1Position = this._calcProgress(this._handle1Value);\n this._handle2Position = this._calcProgress(this._handle2Value);\n this._rangeProgress = Math.abs(this._handle2Position - this._handle1Position);\n }\n\n this._progress = this._calcProgress(this._position as number, true);\n }\n\n /** @hidden */\n private _checkIsInRangeMode(): void {\n this._isRange = this.mode === 'range';\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n this._rtlService.rtl.pipe(takeUntil(this._onDestroy$)).subscribe((isRtl: boolean) => {\n this._isRtl = isRtl;\n this._cdr.markForCheck();\n });\n }\n\n /** @hidden */\n private _initSingeMode(value: number | SliderTickMark): void {\n if (this.customValues.length > 0) {\n this._initSingeModeWithCustomValue(value as SliderTickMark);\n\n return;\n }\n\n this._initSingeModeDefault(coerceNumberProperty(value, this.min));\n }\n\n /** @hidden */\n private _initSingeModeDefault(value: number): void {\n this._position = value;\n\n this._progress = this._calcProgress(value, true);\n }\n\n /** @hidden */\n private _initSingeModeWithCustomValue(sliderTickMark: SliderTickMark): void {\n const value = (this._getCustomValuesPosition(sliderTickMark) as number) || this.min;\n\n this._initSingeModeDefault(value);\n }\n\n /** @hidden */\n private _initRangeMode(value: number[] | SliderTickMark[]): void {\n if (this.customValues.length > 0) {\n this._initRangeModeWithCustomValues(value as SliderTickMark[]);\n\n return;\n }\n\n const firstHandle = coerceNumberProperty(value[0], this.min);\n const secondHandle = coerceNumberProperty(value[1], this.max);\n\n this._initRangeModeDefault([firstHandle, secondHandle]);\n }\n\n /** @hidden */\n private _initRangeModeDefault([firstHandle, secondHandle]: number[]): void {\n this._position = [firstHandle, secondHandle];\n\n this._setRangeHandleValueAndPosition(SliderRangeHandles.First, firstHandle);\n this._setRangeHandleValueAndPosition(SliderRangeHandles.Second, secondHandle);\n }\n\n /** @hidden */\n private _initRangeModeWithCustomValues([firstHandle, secondHandle]: SliderTickMark[]): void {\n const value = this._getCustomValuesPosition([firstHandle, secondHandle]) || [this.min, this.max];\n\n this._initRangeModeDefault(value as number[]);\n }\n\n /** @hidden */\n private _getCustomValuesPosition(value: SliderTickMark | SliderTickMark[]): number | number[] {\n this.min = 0;\n this.max = this.customValues.length - 1;\n this.step = 1;\n\n return this._getCustomValuesPositions(value);\n }\n\n /** @hidden */\n private _getCustomValuesPositions(value: SliderTickMark | SliderTickMark[]): number | number[] {\n if (!value || (value as SliderTickMark[]).length === 0) {\n return this._isRange ? [0, this.customValues.length - 1] : 0;\n }\n\n if (Array.isArray(value)) {\n let [firstHandle, secondHandle] = value;\n if (!this._instanceOfCustomValue(firstHandle)) {\n firstHandle = this.customValues[0];\n }\n\n if (!this._instanceOfCustomValue(secondHandle)) {\n secondHandle = this.customValues[this.customValues.length - 1];\n }\n\n const firstHandlePosition = this.customValues.findIndex((item) => item.value === firstHandle.value);\n const secondHandlePosition = this.customValues.findIndex((item) => item.value === secondHandle.value);\n\n const indexes = [\n firstHandlePosition >= 0 ? firstHandlePosition : 0,\n secondHandlePosition >= 0 ? secondHandlePosition : this.customValues.length - 1\n ];\n\n return indexes;\n } else {\n let firstHandle = value as SliderTickMark;\n if (!this._instanceOfCustomValue(firstHandle)) {\n firstHandle = this.customValues[0];\n }\n\n return this.customValues.findIndex((item) => item.value === firstHandle.value) || 0;\n }\n }\n\n /** @hidden */\n private _instanceOfCustomValue(object: any): object is SliderCustomValue {\n return !!object && 'value' in object && 'label' in object;\n }\n\n /** @hidden */\n private _listenToInteractionChanges(): void {\n combineLatest([\n this._handleFocused$,\n this._rangeHandle1Focused$,\n this._rangeHandle2Focused$,\n this._popoverInputFieldFocused$,\n this._componentHovered$,\n this._popoverInputFieldHovered$\n ])\n .pipe(\n skip(1),\n map((states) => states.some(Boolean)),\n switchMap((focused) => {\n if (focused) {\n return of(true);\n }\n // If not focused, check for the edge case,\n // when hover is on the fd-popover-body, that is a parent for the tooltip.\n // This will return true, when hovering the gap between handle and the tooltip.\n return this._isPopoverHovered();\n }),\n debounceTime(10),\n distinctUntilChanged(),\n takeUntil(this._onDestroy$)\n )\n .subscribe((focused) => {\n if (focused) {\n this._popovers.forEach((popover) => popover.open());\n } else {\n this._resetPrefix();\n this._popovers.forEach((popover) => popover.close());\n }\n });\n }\n\n /** @hidden reset default prefix on leaving the slider */\n private _resetPrefix(): void {\n // reset prefix string for slider current value that need to be announced\n this._useSliderValuePrefix = true;\n this._cdr.markForCheck();\n }\n\n /**\n * @hidden\n * Checks whether input popover element is hovered.\n * Will also return true, when hovering the gap between handle and the tooltip.\n * If yes, returns \"true\" instantly and \"false\" once it's not hovered anymore.\n */\n private _isPopoverHovered(): Observable<boolean> {\n const popoverBody = this._sliderTooltipWrappers.first?.nativeElement.closest('fd-popover-body');\n if (popoverBody?.matches(':hover')) {\n return fromEvent(popoverBody, 'mouseleave').pipe(mapTo(false), take(1), startWith(true));\n }\n return of(false);\n }\n}\n","<div class=\"fd-slider__inner\">\n <ng-container *ngTemplateOutlet=\"_isRange ? rangeMode : singleMode\"></ng-container>\n\n <div class=\"fd-slider__track\" (click)=\"onTrackClick($event)\" #track>\n <ng-container *ngTemplateOutlet=\"_isRange ? rangeModeTrack : singleModeTrack\"></ng-container>\n </div>\n\n <div class=\"fd-slider__tick-wrapper\">\n <div class=\"fd-slider__ticks\" (click)=\"onTrackClick($event)\">\n <ng-container *ngIf=\"showTicks\">\n <ng-container *ngFor=\"let tick of _tickMarks; index as i\">\n <div\n class=\"fd-slider__tick\"\n fd-slider-position\n [position]=\"tick.position || 0\"\n [class.fd-slider__tick--in-range]=\"\n !hideProgressBar &&\n (_isRange\n ? tick.value >= _position[0] && tick.value <= _position[1]\n : tick.value <= _position)\n \"\n ></div>\n </ng-container>\n </ng-container>\n </div>\n\n <div class=\"fd-slider__labels\" *ngIf=\"showTicks && showTicksLabels\">\n <ng-container *ngFor=\"let tick of _tickMarks; index as i; last as last; first as first\">\n <div\n *ngIf=\"first || last || i % tickmarksBetweenLabels === 0\"\n class=\"fd-slider__label\"\n fd-slider-position\n [position]=\"tick.position || 0\"\n >\n {{ tick.label }}\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #singleModeTrack>\n <div *ngIf=\"!hideProgressBar\" class=\"fd-slider__track-range\" [style.width.%]=\"_progress\"></div>\n</ng-template>\n\n<ng-template #rangeModeTrack>\n <div\n *ngIf=\"!hideProgressBar\"\n class=\"fd-slider__track-range\"\n [style.width.%]=\"_rangeProgress\"\n fd-slider-position\n [position]=\"_handle1Position < _handle2Position ? _handle1Position : _handle2Position\"\n ></div>\n</ng-template>\n\n<ng-template #singleMode>\n <div\n #handle\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozy$ | async\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n role=\"slider\"\n [attr.aria-label]=\"\n ariaLabel || 'coreSlider.singleMinMaxDetails' | fdTranslate : { min: minValue, max: maxValue }\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? singleSliderPopover : null\"\n [attr.aria-valuemin]=\"'coreSlider.singleValueminDetails' | fdTranslate : { value: minValue }\"\n [attr.aria-valuemax]=\"'coreSlider.singleValuemaxDetails' | fdTranslate : { value: maxValue }\"\n [attr.aria-valuenow]=\"\n _useSliderValuePrefix\n ? ('coreSlider.singleValueNowDetails'\n | fdTranslate : { value: getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER) })\n : getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER)\n \"\n [attr.aria-valuetext]=\"\n _useSliderValuePrefix\n ? ('coreSlider.singleValueNowDetails'\n | fdTranslate : { value: getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER) })\n : getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER)\n \"\n fd-slider-position\n [position]=\"_progress\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (focus)=\"_handleFocused$.next(true)\"\n (blur)=\"_handleFocused$.next(false)\"\n (keydown)=\"onKeyDown($event)\"\n ></div>\n\n <fd-popover\n #singleSliderPopover\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"handle\"\n [disabled]=\"!tooltipMode\"\n class=\"fd-popover--slider\"\n additionalBodyClass=\"fd-slider--tooltip-popover\"\n placement=\"top\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n popoverInner;\n context: { target: _sliderValueTargets.SINGLE_SLIDER, position: _position }\n \"\n ></ng-container>\n </fd-popover>\n</ng-template>\n\n<ng-template #rangeMode>\n <div\n #rangeHandle1\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozy$ | async\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n role=\"slider\"\n [attr.aria-label]=\"\n ariaLabel || 'coreSlider.multipleHandle1MinMaxDetails' | fdTranslate : { min: minValue, max: maxValue }\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? rangeSliderPopover1 : null\"\n [attr.aria-valuemin]=\"'coreSlider.multipleHandle1ValueminDetails' | fdTranslate : { value: minValue }\"\n [attr.aria-valuemax]=\"'coreSlider.multipleHandle1ValuemaxDetails' | fdTranslate : { value: maxValue }\"\n [attr.aria-valuenow]=\"\n _useSliderValuePrefix\n ? ('coreSlider.multipleHandle1ValueNowDetails'\n | fdTranslate : { value: getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1) })\n : getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1)\n \"\n [attr.aria-valuetext]=\"\n _useSliderValuePrefix\n ? ('coreSlider.multipleHandle1ValueNowDetails'\n | fdTranslate : { value: getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1) })\n : getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1)\n \"\n fd-slider-position\n [position]=\"_handle1Position\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (keydown)=\"onKeyDown($event)\"\n (focus)=\"_rangeHandle1Focused$.next(true)\"\n (blur)=\"_rangeHandle1Focused$.next(false)\"\n ></div>\n\n <div\n #rangeHandle2\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozy$ | async\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n role=\"slider\"\n [attr.aria-label]=\"\n ariaLabel || 'coreSlider.multipleHandle2MinMaxDetails' | fdTranslate : { min: minValue, max: maxValue }\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? rangeSliderPopover2 : null\"\n [attr.aria-valuemin]=\"'coreSlider.multipleHandle2ValueminDetails' | fdTranslate : { value: minValue }\"\n [attr.aria-valuemax]=\"'coreSlider.multipleHandle2ValuemaxDetails' | fdTranslate : { value: maxValue }\"\n [attr.aria-valuenow]=\"\n _useSliderValuePrefix\n ? ('coreSlider.multipleHandle2ValueNowDetails'\n | fdTranslate : { value: getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2) })\n : getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2)\n \"\n [attr.aria-valuetext]=\"\n _useSliderValuePrefix\n ? ('coreSlider.multipleHandle2ValueNowDetails'\n | fdTranslate : { value: getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2) })\n : getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2)\n \"\n fd-slider-position\n [position]=\"_handle2Position\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (keydown)=\"onKeyDown($event)\"\n (focus)=\"_rangeHandle2Focused$.next(true)\"\n (blur)=\"_rangeHandle2Focused$.next(false)\"\n ></div>\n\n <fd-popover\n #rangeSliderPopover1\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"rangeHandle1\"\n [disabled]=\"!tooltipMode\"\n additionalBodyClass=\"fd-slider--tooltip-popover\"\n class=\"fd-popover--slider\"\n placement=\"top\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n popoverInner;\n context: { target: _sliderValueTargets.RANGE_SLIDER1, position: _handle1Value }\n \"\n ></ng-container>\n </fd-popover>\n\n <fd-popover\n #rangeSliderPopover2\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"rangeHandle2\"\n [disabled]=\"!tooltipMode\"\n additionalBodyClass=\"fd-slider--tooltip-popover\"\n class=\"fd-popover--slider\"\n placement=\"top\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n popoverInner;\n context: { target: _sliderValueTargets.RANGE_SLIDER2, position: _handle2Value }\n \"\n ></ng-container>\n </fd-popover>\n</ng-template>\n\n<ng-template #popoverInner let-target=\"target\" let-position=\"position\">\n <div\n #sliderTooltipWrapper\n class=\"fd-slider--tooltip-wrapper\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n (mouseenter)=\"_popoverInputFieldHovered$.next(true)\"\n (mouseleave)=\"_popoverInputFieldHovered$.next(false)\"\n >\n <div *ngIf=\"(customValues && customValues.length > 0) || tooltipMode === 'readonly'\" class=\"fd-slider--tooltip\">\n {{ customValues && customValues.length > 0 ? customValues[position].label : _popoverValueRef[target] }}\n </div>\n\n <input\n #popoverInputField\n tabindex=\"-1\"\n type=\"text\"\n [disabled]=\"disabled\"\n fdkOnlyDigits\n [decimal]=\"true\"\n [style.width.ch]=\"('' + _popoverValueRef[target]).length + 2\"\n class=\"fd-input fd-slider--tooltip {{ _popoverInputFieldClass }}\"\n *ngIf=\"customValues?.length === 0 && tooltipMode === 'editable'\"\n [(ngModel)]=\"_popoverValueRef[target]\"\n (blur)=\"_updateValueFromInput(popoverInputField.value, target)\"\n (keydown.enter)=\"_updateValueFromInput(popoverInputField.value, target)\"\n (focus)=\"_popoverInputFieldFocused$.next(true)\"\n (blur)=\"_popoverInputFieldFocused$.next(false)\"\n />\n </div>\n</ng-template>\n","import { CONTENT_DENSITY_DIRECTIVE, DeprecatedCozyDirective } from '@fundamental-ngx/core/content-density';\nimport { Directive, forwardRef } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-slider[cozy]',\n providers: [{ provide: CONTENT_DENSITY_DIRECTIVE, useExisting: forwardRef(() => DeprecatedSliderCozyDirective) }]\n})\nexport class DeprecatedSliderCozyDirective extends DeprecatedCozyDirective {\n /** @hidden */\n constructor() {\n super('fd-slider');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { SliderComponent } from './slider.component';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { SliderPositionDirective } from './slider-position.directive';\nimport { OnlyDigitsModule } from '@fundamental-ngx/cdk/utils';\nimport { I18nModule } from '@fundamental-ngx/i18n';\nimport { DeprecatedSliderCozyDirective } from './deprecated-slider-cozy.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n declarations: [SliderComponent, SliderPositionDirective, DeprecatedSliderCozyDirective],\n imports: [CommonModule, PopoverModule, FormsModule, OnlyDigitsModule, ContentDensityModule, I18nModule],\n exports: [SliderComponent, DeprecatedSliderCozyDirective, ContentDensityModule]\n})\nexport class SliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i8.SliderPositionDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-slider.mjs","sources":["../../../../libs/core/src/lib/slider/slider.model.ts","../../../../libs/core/src/lib/slider/constants.ts","../../../../libs/core/src/lib/slider/slider-position.directive.ts","../../../../libs/core/src/lib/slider/slider.component.ts","../../../../libs/core/src/lib/slider/slider.component.html","../../../../libs/core/src/lib/slider/deprecated-slider-cozy.directive.ts","../../../../libs/core/src/lib/slider/slider.module.ts","../../../../libs/core/src/lib/slider/fundamental-ngx-core-slider.ts"],"sourcesContent":["export enum SliderValueTargets {\n SINGLE_SLIDER,\n RANGE_SLIDER1,\n RANGE_SLIDER2\n}\n\nexport enum SliderRangeHandles {\n First,\n Second\n}\n\nexport interface SliderTickMark {\n value: number | string;\n label: string;\n position?: number;\n}\n\nexport type SliderCustomValue = Omit<SliderTickMark, 'position'>;\n\nexport type SliderControlValue = number | number[] | SliderTickMark | SliderTickMark[];\n","export const MIN_DISTANCE_BETWEEN_TICKS = 8;\n","import { ChangeDetectorRef, Directive, ElementRef, Input, OnChanges, OnDestroy, OnInit, Optional } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-slider-position]'\n})\nexport class SliderPositionDirective implements OnInit, OnChanges, OnDestroy {\n /** Position of the slider */\n @Input()\n position: number;\n\n /** @hidden */\n private _isRtl = false;\n\n /** @hidden */\n private _rtlSubscription: Subscription;\n\n /** @hidden */\n constructor(\n private readonly _cd: ChangeDetectorRef,\n private readonly _elementRef: ElementRef<HTMLElement>,\n @Optional() private readonly _rtlService: RtlService\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._subscribeToRtl();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this._setPosition();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n if (this._rtlSubscription) {\n this._rtlSubscription.unsubscribe();\n }\n }\n\n /** @hidden */\n private _setPosition(): void {\n const { style } = this._elementRef.nativeElement;\n\n style.left = !this._isRtl ? `${this.position}%` : 'unset';\n style.right = this._isRtl ? `${this.position}%` : 'unset';\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n this._rtlSubscription = this._rtlService?.rtl\n .pipe(startWith(this._rtlService.rtl.getValue()))\n .subscribe((isRtl: boolean) => {\n this._isRtl = isRtl;\n\n this._setPosition();\n });\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n Renderer2,\n ViewChild,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DOWN_ARROW, ENTER, LEFT_ARROW, RIGHT_ARROW, SPACE, UP_ARROW } from '@angular/cdk/keycodes';\nimport { Platform } from '@angular/cdk/platform';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { LiveAnnouncer } from '@angular/cdk/a11y';\n\nimport { BehaviorSubject, combineLatest, fromEvent, Observable, of, Subject } from 'rxjs';\nimport {\n debounceTime,\n distinctUntilChanged,\n map,\n mapTo,\n skip,\n startWith,\n switchMap,\n take,\n takeUntil\n} from 'rxjs/operators';\n\nimport { PopoverComponent } from '@fundamental-ngx/core/popover';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport {\n SliderControlValue,\n SliderCustomValue,\n SliderRangeHandles,\n SliderTickMark,\n SliderValueTargets\n} from './slider.model';\nimport { MIN_DISTANCE_BETWEEN_TICKS } from './constants';\nimport { applyCssClass, CssClassBuilder, KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { FormItemControl, registerFormItemControl } from '@fundamental-ngx/core/form';\nimport {\n ContentDensityMode,\n ContentDensityObserver,\n contentDensityObserverProviders\n} from '@fundamental-ngx/core/content-density';\n\nexport const SLIDER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SliderComponent),\n multi: true\n};\n\nlet sliderId = 0;\n\n@Component({\n selector: 'fd-slider',\n templateUrl: './slider.component.html',\n styleUrls: ['./slider.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n SLIDER_VALUE_ACCESSOR,\n registerFormItemControl(SliderComponent),\n contentDensityObserverProviders({\n defaultContentDensity: ContentDensityMode.COMPACT,\n modifiers: { [ContentDensityMode.COZY]: 'fd-slider--lg' }\n })\n ],\n host: {\n '(mouseenter)': 'this._componentHovered$.next(true)',\n '(mouseleave)': 'this._componentHovered$.next(false)',\n '(focusout)': 'onTouched()'\n }\n})\nexport class SliderComponent\n implements OnInit, OnChanges, AfterViewInit, OnDestroy, ControlValueAccessor, CssClassBuilder, FormItemControl\n{\n /** Slider id, it has some default value if not set, */\n @Input()\n @HostBinding('attr.id')\n id = 'fd-slider-id-' + sliderId++;\n\n /** User's custom classes */\n @Input()\n class: string;\n\n /** Id of the element that labels slider. */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** Aria label for the slider. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Minimum value. */\n @Input()\n set min(value: number) {\n const newValue = coerceNumberProperty(value, this._min);\n if (((this.max - newValue) / this.step) % 1 !== 0) {\n return;\n }\n\n this._min = value;\n }\n get min(): number {\n return this._min;\n }\n\n /** Maximum value. */\n @Input()\n set max(value: number) {\n const newValue = coerceNumberProperty(value, this._max);\n if (((newValue - this.min) / this.step) % 1 !== 0) {\n return;\n }\n\n this._max = value;\n }\n get max(): number {\n return this._max;\n }\n\n /** Step value. */\n @Input()\n set step(value: number) {\n const newValue = coerceNumberProperty(value, this._step);\n if (((this.max - this.min) / newValue) % 1 !== 0) {\n return;\n }\n\n this._step = value;\n }\n get step(): number {\n return this._step;\n }\n\n /** Jump value. */\n @Input()\n set jump(value: number) {\n this._jump = coerceNumberProperty(value, this._jump);\n }\n get jump(): number {\n return this._jump;\n }\n\n /** Put a label on every N-th tickmark. */\n @Input()\n set tickmarksBetweenLabels(value: number) {\n this._tickmarksBetweenLabels = coerceNumberProperty(value, this._tickmarksBetweenLabels);\n }\n get tickmarksBetweenLabels(): number {\n return this._tickmarksBetweenLabels;\n }\n\n /**\n * Slider mode.\n * Options include: 'single' | 'range'\n * The default is set to 'single'\n */\n @Input()\n mode: 'single' | 'range' = 'single';\n\n /** Toggles the visibility of tick marks. */\n @Input()\n showTicks = false;\n\n /** Toggles the visibility of tick mark labels. Must be used in conjunction with 'showTicks' */\n @Input()\n showTicksLabels = false;\n\n /** Array of custom values to use for Slider. */\n @Input()\n customValues: SliderCustomValue[] = [];\n\n /** Tooltip can be two types, 'readonly' to display value and 'editable' to make the ability to set and display value. */\n @Input()\n tooltipMode: 'readonly' | 'editable';\n\n /** Hides display of colored progress bar. */\n @Input()\n hideProgressBar = false;\n\n /** Whether the control is disabled. */\n @Input()\n disabled = false;\n\n /**\n * slider current value verbose string.\n * This will be read only once by screen reader and upon slider value change,\n * this string will not be read.\n * @deprecated no longer used, use i18n capabilities instead\n */\n @Input()\n singleSliderCurrentValuePrefix: string;\n\n /**\n * @hidden range slider handle 1 current value supporting string\n * This will be read only once by screen reader and upon slider value change,\n * this string will not be read.\n * * @deprecated no longer used, use i18n capabilities instead\n */\n @Input()\n rangeSliderHandle1CurrentValuePrefix: string;\n\n /**\n * @hidden range slider handle 2 current value supporting string\n * This will be read only once by screen reader and upon slider value change,\n * this string will not be read.\n * * @deprecated no longer used, use i18n capabilities instead\n */\n @Input()\n rangeSliderHandle2CurrentValuePrefix: string;\n\n /** @hidden */\n _position: number | number[] = 0;\n\n /** Control value */\n @Input()\n set value(value: SliderControlValue) {\n this._setValue(value);\n }\n get value(): SliderControlValue {\n return this._value;\n }\n\n /** @hidden */\n get _popoverValueRef(): number[] {\n return [this._position as number, this._handle1Value, this._handle2Value];\n }\n\n /** @hidden */\n @ViewChild('track', { read: ElementRef })\n trackEl: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n @ViewChild('handle', { read: ElementRef })\n handle: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n @ViewChild('rangeHandle1', { read: ElementRef })\n rangeHandle1: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n @ViewChild('rangeHandle2', { read: ElementRef })\n rangeHandle2: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n @ViewChildren(PopoverComponent)\n _popovers: QueryList<PopoverComponent>;\n\n /** @hidden */\n @ViewChildren('sliderTooltipWrapper')\n _sliderTooltipWrappers: QueryList<ElementRef<HTMLDivElement>>;\n\n /** @hidden */\n _value: number | SliderTickMark | SliderTickMark[] | number[] = 0;\n\n /** @hidden */\n _progress = 0;\n\n /** @hidden */\n @HostBinding('class.fd-slider--range')\n _isRange = false;\n\n /** @hidden */\n _handle1Position = 0;\n\n /** @hidden */\n _handle2Position = 0;\n\n /** @hidden */\n _handle1Value = 0;\n\n /** @hidden */\n _handle2Value = 0;\n\n /** @hidden */\n _rangeProgress = 0;\n\n /** @hidden */\n _tickMarks: SliderTickMark[] = [];\n\n /** @hidden */\n _sliderValueTargets = SliderValueTargets;\n\n /** @hidden */\n _popoverInputFieldClass = `fd-slider-popover-input-${sliderId}`;\n\n /** @hidden */\n _isRtl = false;\n\n /**\n * @hidden\n * whether to use value with a prefix for announcing\n */\n _useSliderValuePrefix = true;\n\n /** @hidden */\n private _min = 0;\n\n /** @hidden */\n private _max = 100;\n\n /** @hidden */\n private _step = 1;\n\n /** @hidden */\n private _jump = 10;\n\n /** @hidden */\n private _tickmarksBetweenLabels = 1;\n\n /** @hidden */\n private _valuesBySteps: number[] = [];\n\n /**\n * @hidden\n * An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing)\n */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n readonly _componentHovered$ = new BehaviorSubject(false);\n\n /** @hidden */\n readonly _handleFocused$ = new BehaviorSubject(false);\n\n /** @hidden */\n readonly _rangeHandle1Focused$ = new BehaviorSubject(false);\n\n /** @hidden */\n readonly _rangeHandle2Focused$ = new BehaviorSubject(false);\n\n /** @hidden */\n readonly _popoverInputFieldFocused$ = new BehaviorSubject(false);\n\n /** @hidden */\n readonly _popoverInputFieldHovered$ = new BehaviorSubject(false);\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n private readonly _cdr: ChangeDetectorRef,\n private readonly _renderer: Renderer2,\n private readonly _platform: Platform,\n private readonly _liveAnnouncer: LiveAnnouncer,\n @Optional() private readonly _rtlService: RtlService,\n readonly _contentDensityObserver: ContentDensityObserver\n ) {\n _contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._subscribeToRtl();\n this._attachResizeListener();\n this._onResize();\n\n if (this._valuesBySteps.length === 0) {\n this._constructValuesBySteps();\n }\n\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n this._checkIsInRangeMode();\n this._constructTickMarks();\n this._constructValuesBySteps();\n this._recalcHandlePositions();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenToInteractionChanges();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** @hidden */\n private isRtl(): boolean {\n return this._rtlService?.rtl.getValue();\n }\n\n /** @hidden */\n getValuenow(position: number | number[], sliderValueTarget: SliderValueTargets): string | number {\n return this.customValues.length > 0\n ? this.customValues[position as number].label\n : this._popoverValueRef[sliderValueTarget];\n }\n\n /** @hidden */\n get minValue(): string | number {\n return this.customValues.length > 0 ? this.customValues[this.min as number].label : this.min;\n }\n\n /** @hidden */\n get maxValue(): string | number {\n return this.customValues.length > 0 ? this.customValues[this.max as number].label : this.max;\n }\n\n /**\n * @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-slider',\n this.disabled ? 'is-disabled' : '',\n this._isRange ? 'fd-slider--range' : '',\n this.showTicks && this.showTicksLabels ? 'fd-slider--with-labels' : '',\n this.class,\n this._platform.EDGE || this._platform.TRIDENT ? 'fd-slider__alternative-tick-width' : ''\n ];\n }\n /** @hidden */\n onChange: (value: SliderControlValue) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n registerOnChange(fn: (value: SliderControlValue) => void): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** @hidden */\n writeValue(value: SliderControlValue): void {\n this._setValue(value, false);\n }\n\n /** @hidden */\n onTrackClick(event: MouseEvent): void {\n if (this.disabled || this._isRange) {\n return;\n }\n\n this._setValue(this._calculateValueFromPointerPosition(event));\n this._updatePopoversPosition();\n this.handle.nativeElement.focus();\n }\n\n /** @hidden */\n onHandleClick(event: MouseEvent): void {\n if (this.disabled) {\n return;\n }\n\n const unsubscribeFromMousemove = this._renderer.listen('document', 'mousemove', (moveEvent) => {\n this._updatePopoversPosition();\n\n if (!this._isRange) {\n this._setValue(this._calculateValueFromPointerPosition(moveEvent));\n\n return;\n }\n\n let handleIndex: SliderRangeHandles;\n if (event.target === this.rangeHandle1.nativeElement) {\n handleIndex = SliderRangeHandles.First;\n } else if (event.target === this.rangeHandle2.nativeElement) {\n handleIndex = SliderRangeHandles.Second;\n } else {\n return;\n }\n\n const value = this._calculateValueFromPointerPosition(moveEvent, false) as number;\n this._setRangeHandleValueAndPosition(handleIndex, value);\n\n this._setValue(this._constructRangeModelValue());\n });\n\n const unsubscribeFromMouseup = this._renderer.listen('document', 'mouseup', () => {\n unsubscribeFromMousemove();\n unsubscribeFromMouseup();\n });\n }\n\n /** @hidden */\n onKeyDown(event: KeyboardEvent): void {\n if (this.disabled) {\n return;\n }\n\n const allowedKeys: number[] = [LEFT_ARROW, RIGHT_ARROW, UP_ARROW, DOWN_ARROW, ENTER, SPACE];\n if (!KeyUtil.isKeyCode(event, allowedKeys)) {\n return;\n }\n event.preventDefault();\n\n const diff = event.shiftKey ? this.jump : this.step;\n let newValue: number | SliderTickMark | null = null;\n let prevValue = this._position as number;\n let handleIndex: SliderRangeHandles | undefined;\n if (this._isRange) {\n if (event.target === this.rangeHandle1.nativeElement) {\n prevValue = this._handle1Value;\n handleIndex = SliderRangeHandles.First;\n } else if (event.target === this.rangeHandle2.nativeElement) {\n prevValue = this._handle2Value;\n handleIndex = SliderRangeHandles.Second;\n }\n }\n if (this.isRtl()) {\n if (KeyUtil.isKeyCode(event, LEFT_ARROW) || KeyUtil.isKeyCode(event, UP_ARROW)) {\n newValue = prevValue + diff;\n }\n\n if (KeyUtil.isKeyCode(event, RIGHT_ARROW) || KeyUtil.isKeyCode(event, DOWN_ARROW)) {\n newValue = prevValue - diff;\n }\n } else {\n if (KeyUtil.isKeyCode(event, LEFT_ARROW) || KeyUtil.isKeyCode(event, DOWN_ARROW)) {\n newValue = prevValue - diff;\n }\n\n if (KeyUtil.isKeyCode(event, RIGHT_ARROW) || KeyUtil.isKeyCode(event, UP_ARROW)) {\n newValue = prevValue + diff;\n }\n }\n\n if (newValue === null) {\n return;\n }\n\n newValue = this._processNewValue(newValue as number, !this._isRange);\n\n if (!this._isRange) {\n this._setValue(newValue);\n } else if (handleIndex) {\n this._setRangeHandleValueAndPosition(handleIndex, newValue as number);\n this._setValue(this._constructRangeModelValue());\n }\n\n this._updatePopoversPosition();\n }\n\n /** @hidden */\n _updateValueFromInput(value: string, target: SliderValueTargets): void {\n const newValue = this._processNewValue(+value) as number;\n if (!this._isRange && target === SliderValueTargets.SINGLE_SLIDER) {\n this._setValue(newValue);\n this.handle.nativeElement.focus();\n this._updatePopoversPosition();\n\n return;\n }\n\n if (target === SliderValueTargets.RANGE_SLIDER1) {\n this._setRangeHandleValueAndPosition(SliderRangeHandles.First, newValue);\n this.rangeHandle1.nativeElement.focus();\n }\n\n if (target === SliderValueTargets.RANGE_SLIDER2) {\n this._setRangeHandleValueAndPosition(SliderRangeHandles.Second, newValue);\n this.rangeHandle2.nativeElement.focus();\n }\n\n this._setValue(this._constructRangeModelValue());\n\n this._updatePopoversPosition();\n }\n\n /** @hidden */\n private _setValue(value: SliderControlValue, emitEvent = true): void {\n if (this._isRange) {\n this._initRangeMode((value ?? [0.0]) as number[] | SliderTickMark[]);\n } else {\n this._initSingeMode((value ?? 0) as number | SliderTickMark);\n }\n\n this._value = value;\n\n if (emitEvent) {\n this.onChange(value);\n }\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n private _updatePopoversPosition(): void {\n this._cdr.detectChanges();\n\n this._popovers.forEach((popover) => popover.refreshPosition());\n }\n\n /** @hidden */\n private _calculateValueFromPointerPosition(event: MouseEvent, takeCustomValue = true): number | SliderTickMark {\n const { left, width } = this.trackEl.nativeElement.getBoundingClientRect();\n let percentage = (event.clientX - left) / width;\n\n if (this._isRtl) {\n percentage = 1 - percentage;\n }\n\n const newValue = this.min + percentage * (this.max - this.min);\n\n return this._processNewValue(newValue, takeCustomValue);\n }\n\n /** @hidden */\n private _processNewValue(newValue: number, takeCustomValue = true): number | SliderTickMark {\n if (newValue > this.max) {\n newValue = this.max;\n }\n\n if (newValue < this.min) {\n newValue = this.min;\n }\n\n this._useSliderValuePrefix = false;\n this._cdr.markForCheck();\n\n const stepDiffArray = this._valuesBySteps\n .map((stepValue) => ({ diff: Math.abs(stepValue - newValue), value: stepValue }))\n .sort((a, b) => a.diff - b.diff);\n let value: SliderTickMark | number = stepDiffArray[0].value;\n\n if (takeCustomValue && this.customValues.length > 0) {\n value = this.customValues[value];\n }\n\n return value;\n }\n\n /** @hidden */\n private _setRangeHandleValueAndPosition(handleIndex: SliderRangeHandles, value: number): void {\n const position = this._calcProgress(value, true);\n\n if (handleIndex === SliderRangeHandles.First) {\n this._handle1Value = value;\n this._handle1Position = position;\n }\n\n if (handleIndex === SliderRangeHandles.Second) {\n this._handle2Value = value;\n this._handle2Position = position;\n }\n\n this._rangeProgress = Math.abs(this._handle2Position - this._handle1Position);\n }\n\n /** @hidden */\n private _constructRangeModelValue(): number[] | SliderTickMark[] {\n let rangeLowerValue: number | string;\n let rangeHigherValue: number | string;\n let rangeValue: number[] | SliderTickMark[] = [\n Math.min(this._handle1Value, this._handle2Value),\n Math.max(this._handle1Value, this._handle2Value)\n ];\n\n rangeLowerValue = rangeValue[0];\n rangeHigherValue = rangeValue[1];\n\n if (this.customValues.length > 0) {\n const min = this.customValues[rangeValue[0]] || this.customValues[0];\n const max = this.customValues[rangeValue[1]] || this.customValues[this.customValues.length - 1];\n\n rangeValue = [min, max];\n rangeLowerValue = rangeValue[0].label;\n rangeHigherValue = rangeValue[1].label;\n }\n this._liveAnnouncer.announce('range value between ' + rangeLowerValue + ' and ' + rangeHigherValue, 'polite');\n return rangeValue;\n }\n\n /** @hidden */\n private _attachResizeListener(): void {\n fromEvent(window, 'resize')\n .pipe(debounceTime(500), takeUntil(this._onDestroy$))\n .subscribe(() => this._onResize());\n }\n\n /** @hidden */\n private _onResize(): void {\n this._constructTickMarks();\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n private _constructValuesBySteps(): void {\n try {\n this._valuesBySteps = Array.from({ length: (this.max - this.min) / this.step + 1 }, (_, i) =>\n Number((this.min + i * this.step).toFixed(2))\n );\n } catch (e) {}\n }\n\n /** @hidden */\n private _constructTickMarks(): void {\n if (!this.showTicks) {\n this._tickMarks = [];\n\n return;\n }\n\n if (this.customValues.length) {\n this.min = 0;\n this.max = this.customValues.length - 1;\n this.step = 1;\n const customValuesLength = this.customValues.length - 1;\n this._tickMarks = this.customValues.map((item, i) => ({\n ...item,\n position: (100 / customValuesLength) * i\n }));\n } else {\n const total = this.max - this.min;\n const tickMarksCount = total / this.step + 1;\n if (this._maxTickMarksNumber !== undefined && tickMarksCount > this._maxTickMarksNumber) {\n this._tickMarks = [\n { position: 0, value: 0, label: `${this.min}` },\n { position: 100, value: total, label: `${this.max}` }\n ];\n\n return;\n }\n\n if (tickMarksCount % 1 === 0) {\n this._tickMarks = Array.from({ length: tickMarksCount }, (_, i) => {\n const value = Math.round(i * this.step * 100) / 100;\n const position = (value / (this.max - this.min)) * 100;\n\n return { value, position, label: `${this.min + value}` };\n });\n }\n }\n }\n\n /** @hidden */\n private get _maxTickMarksNumber(): number | undefined {\n if (!this.trackEl || !this.trackEl.nativeElement) {\n return;\n }\n\n return Math.floor(this.trackEl.nativeElement.getBoundingClientRect().width / MIN_DISTANCE_BETWEEN_TICKS);\n }\n\n /** @hidden */\n private _calcProgress(value: number, skipRtl = false): number {\n let progress = ((value - this.min) / (this.max - this.min)) * 100;\n\n if (!skipRtl && this._isRtl) {\n progress = 100 - progress;\n }\n\n if (progress > 100) {\n return 100;\n }\n\n if (progress < 0) {\n return 0;\n }\n\n return progress;\n }\n\n /** @hidden */\n private _recalcHandlePositions(): void {\n if (this._isRange) {\n this._handle1Position = this._calcProgress(this._handle1Value);\n this._handle2Position = this._calcProgress(this._handle2Value);\n this._rangeProgress = Math.abs(this._handle2Position - this._handle1Position);\n }\n\n this._progress = this._calcProgress(this._position as number, true);\n }\n\n /** @hidden */\n private _checkIsInRangeMode(): void {\n this._isRange = this.mode === 'range';\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n this._rtlService.rtl.pipe(takeUntil(this._onDestroy$)).subscribe((isRtl: boolean) => {\n this._isRtl = isRtl;\n this._cdr.markForCheck();\n });\n }\n\n /** @hidden */\n private _initSingeMode(value: number | SliderTickMark): void {\n if (this.customValues.length > 0) {\n this._initSingeModeWithCustomValue(value as SliderTickMark);\n\n return;\n }\n\n this._initSingeModeDefault(coerceNumberProperty(value, this.min));\n }\n\n /** @hidden */\n private _initSingeModeDefault(value: number): void {\n this._position = value;\n\n this._progress = this._calcProgress(value, true);\n }\n\n /** @hidden */\n private _initSingeModeWithCustomValue(sliderTickMark: SliderTickMark): void {\n const value = (this._getCustomValuesPosition(sliderTickMark) as number) || this.min;\n\n this._initSingeModeDefault(value);\n }\n\n /** @hidden */\n private _initRangeMode(value: number[] | SliderTickMark[]): void {\n if (this.customValues.length > 0) {\n this._initRangeModeWithCustomValues(value as SliderTickMark[]);\n\n return;\n }\n\n const firstHandle = coerceNumberProperty(value[0], this.min);\n const secondHandle = coerceNumberProperty(value[1], this.max);\n\n this._initRangeModeDefault([firstHandle, secondHandle]);\n }\n\n /** @hidden */\n private _initRangeModeDefault([firstHandle, secondHandle]: number[]): void {\n this._position = [firstHandle, secondHandle];\n\n this._setRangeHandleValueAndPosition(SliderRangeHandles.First, firstHandle);\n this._setRangeHandleValueAndPosition(SliderRangeHandles.Second, secondHandle);\n }\n\n /** @hidden */\n private _initRangeModeWithCustomValues([firstHandle, secondHandle]: SliderTickMark[]): void {\n const value = this._getCustomValuesPosition([firstHandle, secondHandle]) || [this.min, this.max];\n\n this._initRangeModeDefault(value as number[]);\n }\n\n /** @hidden */\n private _getCustomValuesPosition(value: SliderTickMark | SliderTickMark[]): number | number[] {\n this.min = 0;\n this.max = this.customValues.length - 1;\n this.step = 1;\n\n return this._getCustomValuesPositions(value);\n }\n\n /** @hidden */\n private _getCustomValuesPositions(value: SliderTickMark | SliderTickMark[]): number | number[] {\n if (!value || (value as SliderTickMark[]).length === 0) {\n return this._isRange ? [0, this.customValues.length - 1] : 0;\n }\n\n if (Array.isArray(value)) {\n let [firstHandle, secondHandle] = value;\n if (!this._instanceOfCustomValue(firstHandle)) {\n firstHandle = this.customValues[0];\n }\n\n if (!this._instanceOfCustomValue(secondHandle)) {\n secondHandle = this.customValues[this.customValues.length - 1];\n }\n\n const firstHandlePosition = this.customValues.findIndex((item) => item.value === firstHandle.value);\n const secondHandlePosition = this.customValues.findIndex((item) => item.value === secondHandle.value);\n\n const indexes = [\n firstHandlePosition >= 0 ? firstHandlePosition : 0,\n secondHandlePosition >= 0 ? secondHandlePosition : this.customValues.length - 1\n ];\n\n return indexes;\n } else {\n let firstHandle = value as SliderTickMark;\n if (!this._instanceOfCustomValue(firstHandle)) {\n firstHandle = this.customValues[0];\n }\n\n return this.customValues.findIndex((item) => item.value === firstHandle.value) || 0;\n }\n }\n\n /** @hidden */\n private _instanceOfCustomValue(object: any): object is SliderCustomValue {\n return !!object && 'value' in object && 'label' in object;\n }\n\n /** @hidden */\n private _listenToInteractionChanges(): void {\n combineLatest([\n this._handleFocused$,\n this._rangeHandle1Focused$,\n this._rangeHandle2Focused$,\n this._popoverInputFieldFocused$,\n this._componentHovered$,\n this._popoverInputFieldHovered$\n ])\n .pipe(\n skip(1),\n map((states) => states.some(Boolean)),\n switchMap((focused) => {\n if (focused) {\n return of(true);\n }\n // If not focused, check for the edge case,\n // when hover is on the fd-popover-body, that is a parent for the tooltip.\n // This will return true, when hovering the gap between handle and the tooltip.\n return this._isPopoverHovered();\n }),\n debounceTime(10),\n distinctUntilChanged(),\n takeUntil(this._onDestroy$)\n )\n .subscribe((focused) => {\n if (focused) {\n this._popovers.forEach((popover) => popover.open());\n } else {\n this._resetPrefix();\n this._popovers.forEach((popover) => popover.close());\n }\n });\n }\n\n /** @hidden reset default prefix on leaving the slider */\n private _resetPrefix(): void {\n // reset prefix string for slider current value that need to be announced\n this._useSliderValuePrefix = true;\n this._cdr.markForCheck();\n }\n\n /**\n * @hidden\n * Checks whether input popover element is hovered.\n * Will also return true, when hovering the gap between handle and the tooltip.\n * If yes, returns \"true\" instantly and \"false\" once it's not hovered anymore.\n */\n private _isPopoverHovered(): Observable<boolean> {\n const popoverBody = this._sliderTooltipWrappers.first?.nativeElement.closest('fd-popover-body');\n if (popoverBody?.matches(':hover')) {\n return fromEvent(popoverBody, 'mouseleave').pipe(mapTo(false), take(1), startWith(true));\n }\n return of(false);\n }\n}\n","<div class=\"fd-slider__inner\">\n <ng-container *ngTemplateOutlet=\"_isRange ? rangeMode : singleMode\"></ng-container>\n\n <div class=\"fd-slider__track\" (click)=\"onTrackClick($event)\" #track>\n <ng-container *ngTemplateOutlet=\"_isRange ? rangeModeTrack : singleModeTrack\"></ng-container>\n </div>\n\n <div class=\"fd-slider__tick-wrapper\">\n <div class=\"fd-slider__ticks\" (click)=\"onTrackClick($event)\">\n <ng-container *ngIf=\"showTicks\">\n <ng-container *ngFor=\"let tick of _tickMarks; index as i\">\n <div\n class=\"fd-slider__tick\"\n fd-slider-position\n [position]=\"tick.position || 0\"\n [class.fd-slider__tick--in-range]=\"\n !hideProgressBar &&\n (_isRange\n ? tick.value >= _position[0] && tick.value <= _position[1]\n : tick.value <= _position)\n \"\n ></div>\n </ng-container>\n </ng-container>\n </div>\n\n <div class=\"fd-slider__labels\" *ngIf=\"showTicks && showTicksLabels\">\n <ng-container *ngFor=\"let tick of _tickMarks; index as i; last as last; first as first\">\n <div\n *ngIf=\"first || last || i % tickmarksBetweenLabels === 0\"\n class=\"fd-slider__label\"\n fd-slider-position\n [position]=\"tick.position || 0\"\n >\n {{ tick.label }}\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #singleModeTrack>\n <div *ngIf=\"!hideProgressBar\" class=\"fd-slider__track-range\" [style.width.%]=\"_progress\"></div>\n</ng-template>\n\n<ng-template #rangeModeTrack>\n <div\n *ngIf=\"!hideProgressBar\"\n class=\"fd-slider__track-range\"\n [style.width.%]=\"_rangeProgress\"\n fd-slider-position\n [position]=\"_handle1Position < _handle2Position ? _handle1Position : _handle2Position\"\n ></div>\n</ng-template>\n\n<ng-template #singleMode>\n <div\n #handle\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozy$ | async\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n role=\"slider\"\n [attr.aria-label]=\"\n ariaLabel || 'coreSlider.singleMinMaxDetails' | fdTranslate : { min: minValue, max: maxValue }\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? singleSliderPopover : null\"\n [attr.aria-valuemin]=\"'coreSlider.singleValueminDetails' | fdTranslate : { value: minValue }\"\n [attr.aria-valuemax]=\"'coreSlider.singleValuemaxDetails' | fdTranslate : { value: maxValue }\"\n [attr.aria-valuenow]=\"\n _useSliderValuePrefix\n ? ('coreSlider.singleValueNowDetails'\n | fdTranslate : { value: getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER) })\n : getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER)\n \"\n [attr.aria-valuetext]=\"\n _useSliderValuePrefix\n ? ('coreSlider.singleValueNowDetails'\n | fdTranslate : { value: getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER) })\n : getValuenow(_position, _sliderValueTargets.SINGLE_SLIDER)\n \"\n fd-slider-position\n [position]=\"_progress\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (focus)=\"_handleFocused$.next(true)\"\n (blur)=\"_handleFocused$.next(false)\"\n (keydown)=\"onKeyDown($event)\"\n ></div>\n\n <fd-popover\n #singleSliderPopover\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"handle\"\n [disabled]=\"!tooltipMode\"\n class=\"fd-popover--slider\"\n additionalBodyClass=\"fd-slider--tooltip-popover\"\n placement=\"top\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n popoverInner;\n context: { target: _sliderValueTargets.SINGLE_SLIDER, position: _position }\n \"\n ></ng-container>\n </fd-popover>\n</ng-template>\n\n<ng-template #rangeMode>\n <div\n #rangeHandle1\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozy$ | async\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n role=\"slider\"\n [attr.aria-label]=\"\n ariaLabel || 'coreSlider.multipleHandle1MinMaxDetails' | fdTranslate : { min: minValue, max: maxValue }\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? rangeSliderPopover1 : null\"\n [attr.aria-valuemin]=\"'coreSlider.multipleHandle1ValueminDetails' | fdTranslate : { value: minValue }\"\n [attr.aria-valuemax]=\"'coreSlider.multipleHandle1ValuemaxDetails' | fdTranslate : { value: maxValue }\"\n [attr.aria-valuenow]=\"\n _useSliderValuePrefix\n ? ('coreSlider.multipleHandle1ValueNowDetails'\n | fdTranslate : { value: getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1) })\n : getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1)\n \"\n [attr.aria-valuetext]=\"\n _useSliderValuePrefix\n ? ('coreSlider.multipleHandle1ValueNowDetails'\n | fdTranslate : { value: getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1) })\n : getValuenow(_handle1Value, _sliderValueTargets.RANGE_SLIDER1)\n \"\n fd-slider-position\n [position]=\"_handle1Position\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (keydown)=\"onKeyDown($event)\"\n (focus)=\"_rangeHandle1Focused$.next(true)\"\n (blur)=\"_rangeHandle1Focused$.next(false)\"\n ></div>\n\n <div\n #rangeHandle2\n class=\"fd-slider__handle\"\n [class.fd-slider__handle--lg]=\"_contentDensityObserver.isCozy$ | async\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n role=\"slider\"\n [attr.aria-label]=\"\n ariaLabel || 'coreSlider.multipleHandle2MinMaxDetails' | fdTranslate : { min: minValue, max: maxValue }\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [fdPopoverTrigger]=\"tooltipMode ? rangeSliderPopover2 : null\"\n [attr.aria-valuemin]=\"'coreSlider.multipleHandle2ValueminDetails' | fdTranslate : { value: minValue }\"\n [attr.aria-valuemax]=\"'coreSlider.multipleHandle2ValuemaxDetails' | fdTranslate : { value: maxValue }\"\n [attr.aria-valuenow]=\"\n _useSliderValuePrefix\n ? ('coreSlider.multipleHandle2ValueNowDetails'\n | fdTranslate : { value: getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2) })\n : getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2)\n \"\n [attr.aria-valuetext]=\"\n _useSliderValuePrefix\n ? ('coreSlider.multipleHandle2ValueNowDetails'\n | fdTranslate : { value: getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2) })\n : getValuenow(_handle2Value, _sliderValueTargets.RANGE_SLIDER2)\n \"\n fd-slider-position\n [position]=\"_handle2Position\"\n (mousedown)=\"onHandleClick($event); $event.stopPropagation()\"\n (keydown)=\"onKeyDown($event)\"\n (focus)=\"_rangeHandle2Focused$.next(true)\"\n (blur)=\"_rangeHandle2Focused$.next(false)\"\n ></div>\n\n <fd-popover\n #rangeSliderPopover1\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"rangeHandle1\"\n [disabled]=\"!tooltipMode\"\n additionalBodyClass=\"fd-slider--tooltip-popover\"\n class=\"fd-popover--slider\"\n placement=\"top\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n popoverInner;\n context: { target: _sliderValueTargets.RANGE_SLIDER1, position: _handle1Value }\n \"\n ></ng-container>\n </fd-popover>\n\n <fd-popover\n #rangeSliderPopover2\n [triggers]=\"[]\"\n [closeOnOutsideClick]=\"false\"\n [appendTo]=\"rangeHandle2\"\n [disabled]=\"!tooltipMode\"\n additionalBodyClass=\"fd-slider--tooltip-popover\"\n class=\"fd-popover--slider\"\n placement=\"top\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n popoverInner;\n context: { target: _sliderValueTargets.RANGE_SLIDER2, position: _handle2Value }\n \"\n ></ng-container>\n </fd-popover>\n</ng-template>\n\n<ng-template #popoverInner let-target=\"target\" let-position=\"position\">\n <div\n #sliderTooltipWrapper\n class=\"fd-slider--tooltip-wrapper\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n (mouseenter)=\"_popoverInputFieldHovered$.next(true)\"\n (mouseleave)=\"_popoverInputFieldHovered$.next(false)\"\n >\n <div *ngIf=\"(customValues && customValues.length > 0) || tooltipMode === 'readonly'\" class=\"fd-slider--tooltip\">\n {{ customValues && customValues.length > 0 ? customValues[position].label : _popoverValueRef[target] }}\n </div>\n\n <input\n #popoverInputField\n tabindex=\"-1\"\n type=\"text\"\n [disabled]=\"disabled\"\n fdkOnlyDigits\n [decimal]=\"true\"\n [style.width.ch]=\"('' + _popoverValueRef[target]).length + 2\"\n class=\"fd-input fd-slider--tooltip {{ _popoverInputFieldClass }}\"\n *ngIf=\"customValues?.length === 0 && tooltipMode === 'editable'\"\n [(ngModel)]=\"_popoverValueRef[target]\"\n (blur)=\"_updateValueFromInput(popoverInputField.value, target)\"\n (keydown.enter)=\"_updateValueFromInput(popoverInputField.value, target)\"\n (focus)=\"_popoverInputFieldFocused$.next(true)\"\n (blur)=\"_popoverInputFieldFocused$.next(false)\"\n />\n </div>\n</ng-template>\n","import { CONTENT_DENSITY_DIRECTIVE, DeprecatedCozyDirective } from '@fundamental-ngx/core/content-density';\nimport { Directive, forwardRef } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-slider[cozy]',\n providers: [{ provide: CONTENT_DENSITY_DIRECTIVE, useExisting: forwardRef(() => DeprecatedSliderCozyDirective) }]\n})\nexport class DeprecatedSliderCozyDirective extends DeprecatedCozyDirective {\n /** @hidden */\n constructor() {\n super('fd-slider');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { SliderComponent } from './slider.component';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { SliderPositionDirective } from './slider-position.directive';\nimport { OnlyDigitsModule } from '@fundamental-ngx/cdk/utils';\nimport { I18nModule } from '@fundamental-ngx/i18n';\nimport { DeprecatedSliderCozyDirective } from './deprecated-slider-cozy.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n declarations: [SliderComponent, SliderPositionDirective, DeprecatedSliderCozyDirective],\n imports: [CommonModule, PopoverModule, FormsModule, OnlyDigitsModule, ContentDensityModule, I18nModule],\n exports: [SliderComponent, DeprecatedSliderCozyDirective, ContentDensityModule]\n})\nexport class SliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i8.SliderPositionDirective"],"mappings":"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"}
|
|
@@ -21,8 +21,8 @@ class StatusIndicatorComponent {
|
|
|
21
21
|
return this.fillDirection;
|
|
22
22
|
}
|
|
23
23
|
/** @hidden */
|
|
24
|
-
constructor(
|
|
25
|
-
this.
|
|
24
|
+
constructor(elementRef, _cd) {
|
|
25
|
+
this.elementRef = elementRef;
|
|
26
26
|
this._cd = _cd;
|
|
27
27
|
/**
|
|
28
28
|
* defines the size of the status indicator.
|
|
@@ -78,10 +78,6 @@ class StatusIndicatorComponent {
|
|
|
78
78
|
];
|
|
79
79
|
}
|
|
80
80
|
/** @hidden */
|
|
81
|
-
elementRef() {
|
|
82
|
-
return this._elementRef;
|
|
83
|
-
}
|
|
84
|
-
/** @hidden */
|
|
85
81
|
_calculateFilling() {
|
|
86
82
|
if (this.fillPercentage < 0 || this.fillPercentage === undefined) {
|
|
87
83
|
this.fillCalculator = 0;
|
|
@@ -102,7 +98,7 @@ class StatusIndicatorComponent {
|
|
|
102
98
|
case 'radial': {
|
|
103
99
|
const tempPercent = this.fillCalculator % 1;
|
|
104
100
|
const fillNumber = Number(tempPercent.toFixed(2));
|
|
105
|
-
const element = this.
|
|
101
|
+
const element = this.elementRef.nativeElement.querySelectorAll('svg');
|
|
106
102
|
for (let i = 1; i < element.length; i++) {
|
|
107
103
|
sPointsAttributeValue = this._getPolygonPointsForCircularFilling(fillNumber * 100, element[i].getBBox());
|
|
108
104
|
polygonPoints = sPointsAttributeValue.reduce((acc, item) => acc + item.x + ',' + item.y + ' ', '');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-status-indicator.mjs","sources":["../../../../libs/core/src/lib/status-indicator/status-indicator.component.ts","../../../../libs/core/src/lib/status-indicator/status-indicator.component.html","../../../../libs/core/src/lib/status-indicator/status-indicator.module.ts","../../../../libs/core/src/lib/status-indicator/fundamental-ngx-core-status-indicator.ts"],"sourcesContent":["import {\n Component,\n Input,\n ElementRef,\n OnChanges,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n AfterViewInit,\n ChangeDetectorRef,\n OnInit\n} from '@angular/core';\nimport { applyCssClass, CssClassBuilder } from '@fundamental-ngx/cdk/utils';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nexport type StatusIndicatorSize = 'sm' | 'md' | 'lg' | 'xl';\nexport type StatusIndicatorColor = 'negative' | 'critical' | 'positive';\nexport type LablePosition = 'left' | 'right' | 'top' | 'bottom';\nexport type FillingType = 'radial' | 'angled' | 'linearup' | 'lineardown' | 'linearleft';\nexport type FillingDirection = 'clockwise' | 'counterclockwise';\n\nexport class Point {\n /** @hidden */\n constructor(public x: number, public y: number) {}\n}\n\n@Component({\n selector: 'fd-status-indicator',\n templateUrl: './status-indicator.component.html',\n styleUrls: ['./status-indicator.component.scss'],\n host: {\n '[attr.aria-label]': 'ariaLabel',\n '[attr.aria-roledescription]': 'ariaRoleDescription',\n '[attr.focusable]': 'focusable',\n '[attr.title]': 'title',\n '[attr.role]': 'role',\n '[attr.aria-valuetext]': 'ariaValueText',\n '[attr.aria-valuenow]': 'fillPercentage ? fillPercentage : 0',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuemax]': '100',\n '[attr.tabindex]': 'focusable ? 0 : -1'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class StatusIndicatorComponent implements OnChanges, AfterViewInit, CssClassBuilder, OnInit {\n /**\n * value id defines the id of the object.\n */\n @Input()\n id: string;\n\n /**\n * defines the size of the status indicator.\n * Can be one of the following: 'sm' | 'md' | 'lg' | 'xl'\n * Default size is Medium(md).\n */\n @Input()\n size: StatusIndicatorSize = 'md';\n\n /**\n * The status represented by the Status Indicator.\n * Can be one of the following: 'negative' | 'critical' | 'informative'\n * For default Object Status omit this property\n */\n @Input()\n status: StatusIndicatorColor;\n\n /** Define the text content of the Status indicator*/\n @Input()\n statusLabel: string;\n\n /**\n * positioning of the status indicator image withing the defined height and width .\n */\n @Input()\n viewBox: string;\n\n /**\n * boolean value to be marked as a clickable\n */\n @Input()\n clickable: boolean;\n\n /**\n * defines the size of the status indicator.\n * Can be one of the following: 'sm' | 'md' | 'lg' | 'xl'\n */\n @Input()\n labelSize: StatusIndicatorSize = 'sm';\n\n /** Aria label for the Status Indicator. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Aria defines role description for the Status Indicator. */\n @Input()\n ariaRoleDescription: Nullable<string>;\n\n /** Aria Focusable for the Status Indicator. */\n @Input()\n focusable: boolean;\n\n /** Aria Role for the Status Indicator. */\n @Input()\n role: Nullable<string>;\n\n /** Aria Value Text for the Status Indicator. */\n @Input()\n ariaValueText: Nullable<string>;\n\n /** Aria title for the status indicator. */\n @Input()\n title: Nullable<string>;\n\n /** defines the label position the value can be 'left' | 'right' | 'top' | 'bottom' */\n @Input()\n labelPosition: LablePosition;\n\n /** Path for the status indicator */\n @Input()\n path: string[];\n\n /**\n * Offset value to be filled under the give percentatge value.\n */\n @Input()\n fillPercentage: number;\n\n /**\n * value to define fill direction\n */\n @Input()\n fillDirection: FillingDirection = 'clockwise';\n\n /** @hidden */\n set _fillDirection(direction: FillingDirection) {\n this.fillDirection = direction;\n }\n get _fillDirection(): FillingDirection {\n return this.fillDirection;\n }\n\n /**\n * FillingType to represent the fill pattern of the component\n */\n @Input()\n fillingType: FillingType = 'lineardown';\n\n /** represent the degree of angle to project the filling of the component */\n @Input()\n angle: number;\n\n /** @hidden */\n fillCalculator: number;\n /** @hidden */\n binaryString: string;\n /** @hidden */\n x1: string;\n /** @hidden */\n y1: string;\n /** @hidden */\n x2: string;\n /** @hidden */\n y2: string;\n /** @hidden */\n pointsArray: string[] = [];\n\n /** @hidden */\n constructor(private _elementRef: ElementRef<HTMLElement>, private _cd: ChangeDetectorRef) {}\n\n /** @hidden */\n class: string;\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._angleCalculation();\n this._cd.detectChanges();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this._calculateFilling();\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n public ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-status-indicator',\n this.size ? `fd-status-indicator--${this.size}` : '',\n this.status ? `fd-status-indicator--${this.status}` : '',\n this.clickable ? `fd-status-indicator--link` : '',\n this.labelPosition === 'right' || this.labelPosition === 'left'\n ? `fd-status-indicator--horizontal-label`\n : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden */\n private _calculateFilling(): void {\n if (this.fillPercentage < 0 || this.fillPercentage === undefined) {\n this.fillCalculator = 0;\n } else {\n this.fillCalculator = (this.fillPercentage * this.path.length) / 100;\n }\n }\n\n /** @hidden */\n private _angleCalculation(): void {\n let sPointsAttributeValue: Array<Point>;\n let polygonPoints: string;\n switch (this.fillingType) {\n case 'angled':\n this.binaryString = this._convertAngleToBinary(this.angle);\n this._assignBinaryValue(this.binaryString);\n break;\n case 'radial': {\n const tempPercent = this.fillCalculator % 1;\n const fillNumber = Number(tempPercent.toFixed(2));\n const element = this._elementRef.nativeElement.querySelectorAll('svg');\n\n for (let i = 1; i < element.length; i++) {\n sPointsAttributeValue = this._getPolygonPointsForCircularFilling(\n fillNumber * 100,\n element[i].getBBox()\n );\n polygonPoints = sPointsAttributeValue.reduce((acc, item) => acc + item.x + ',' + item.y + ' ', '');\n this.pointsArray.push(polygonPoints);\n }\n break;\n }\n case 'linearup':\n this.binaryString = this._convertAngleToBinary(90);\n this._assignBinaryValue(this.binaryString);\n break;\n case 'lineardown':\n this.binaryString = this._convertAngleToBinary(270);\n this._assignBinaryValue(this.binaryString);\n break;\n case 'linearleft':\n this.binaryString = this._convertAngleToBinary(180);\n this._assignBinaryValue(this.binaryString);\n break;\n default:\n throw new Error(`fdStatusIndicator: No fillType found for ${this.fillingType}.`);\n }\n }\n\n /** @hidden */\n private _convertAngleToBinary(angle: number): string {\n if (angle > 0 && angle <= 45) {\n return '1,0,0,1';\n } else if (angle >= 45 && angle < 90) {\n return '0,0,0,1';\n } else if (angle >= 90 && angle < 135) {\n return '0,0,0,1';\n } else if (angle >= 135 && angle < 180) {\n return '0,0,1,1';\n } else if (angle >= 180 && angle < 225) {\n return '0,0,1,0';\n } else if (angle >= 225 && angle < 270) {\n return '0,1,1,0';\n } else if (angle >= 270 && angle < 315) {\n return '0,1,0,0';\n } else if (angle >= 315 && angle < 360) {\n return '1,1,0,0';\n } else if (angle === 0 || angle === 360) {\n return '1,0,0,0';\n } else {\n return 'invalid';\n }\n }\n\n /** @hidden */\n private _assignBinaryValue(binaryString: string): void {\n const binaryValue = binaryString.split(',');\n this.x1 = binaryValue[0];\n this.y1 = binaryValue[1];\n this.x2 = binaryValue[2];\n this.y2 = binaryValue[3];\n }\n\n /** @hidden */\n private _getPolygonPointsForCircularFilling(value: number, boundingBoxSvg: DOMRect): Array<Point> {\n const angle = 3.6 * value;\n const points: Point[] = [];\n let xDifferenceFromBoundaryCentre: number;\n let yDifferenceFromBoundaryCentre: number;\n let polygonPoint: Point;\n\n // starts at 12, the algorithm computes the coordination for clockwise direction only\n // counter clockwise direction is managed by symmetry\n const oStartPoint = new Point(boundingBoxSvg.x + boundingBoxSvg.width / 2, boundingBoxSvg.y);\n const oCentrePoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width / 2,\n boundingBoxSvg.y + boundingBoxSvg.height / 2\n );\n\n // Reflects x coordinate by centre point for Counter Clockwise type\n const _adjustIfCounterClockwise = (oPoint: Point): Point => {\n const res = Object.assign({}, oPoint);\n\n if (this._fillDirection === 'counterclockwise') {\n const iXDistanceFromCentre = oPoint.x - oCentrePoint.x;\n res.x = oCentrePoint.x - iXDistanceFromCentre;\n }\n\n return res;\n };\n\n // Boundary centre is given by angle distance from the beginning (0°). The returned difference is related\n // to x or y coordinate depending on boundary centre angle (e.g. 0° -> x, 90° -> y, 180° -> x 270° -> y).\n // Boundary length is length of the corresponding side of bounding box (width for x, height for y).\n const computeDifferenceFromBoundaryCentre = (\n inAngle: number,\n iBoundaryCentreAngle: number,\n iBoundaryLength: number\n ): number => {\n const tan = Math.tan(((iBoundaryCentreAngle - inAngle) * Math.PI) / 180);\n\n return (tan * iBoundaryLength) / 2;\n };\n\n points.push(oStartPoint);\n\n if (0 < angle && angle < 45) {\n xDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 0, boundingBoxSvg.height);\n polygonPoint = new Point(oStartPoint.x - xDifferenceFromBoundaryCentre, oStartPoint.y);\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (45 <= angle) {\n points.push(\n _adjustIfCounterClockwise(new Point(boundingBoxSvg.x + boundingBoxSvg.width, boundingBoxSvg.y))\n );\n }\n\n if (45 < angle && angle < 135) {\n yDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 90, boundingBoxSvg.width);\n polygonPoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width,\n boundingBoxSvg.y + boundingBoxSvg.height / 2 - yDifferenceFromBoundaryCentre\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (135 <= angle) {\n points.push(\n _adjustIfCounterClockwise(\n new Point(boundingBoxSvg.x + boundingBoxSvg.width, boundingBoxSvg.y + boundingBoxSvg.height)\n )\n );\n }\n\n if (135 < angle && angle < 225) {\n xDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 180, boundingBoxSvg.height);\n polygonPoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width / 2 + xDifferenceFromBoundaryCentre,\n boundingBoxSvg.y + boundingBoxSvg.height\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (225 <= angle) {\n points.push(\n _adjustIfCounterClockwise(new Point(boundingBoxSvg.x, boundingBoxSvg.y + boundingBoxSvg.height))\n );\n }\n\n if (225 < angle && angle < 315) {\n yDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 270, boundingBoxSvg.width);\n polygonPoint = new Point(\n boundingBoxSvg.x,\n boundingBoxSvg.y + boundingBoxSvg.height / 2 + yDifferenceFromBoundaryCentre\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (315 <= angle) {\n points.push(_adjustIfCounterClockwise(new Point(boundingBoxSvg.x, boundingBoxSvg.y)));\n }\n\n if (315 < angle && angle <= 360) {\n xDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 360, boundingBoxSvg.height);\n polygonPoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width / 2 - xDifferenceFromBoundaryCentre,\n boundingBoxSvg.y\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n points.push(oCentrePoint);\n\n return points;\n }\n}\n","<span\n *ngIf=\"labelPosition === 'left' || labelPosition === 'top'\"\n [class.fd-status-indicator__label--sm]=\"labelSize === 'sm'\"\n [class.fd-status-indicator__label--md]=\"labelSize === 'md'\"\n [class.fd-status-indicator__label--lg]=\"labelSize === 'lg'\"\n [class.fd-status-indicator__label--xl]=\"labelSize === 'xl'\"\n [class.fd-status-indicator__label--top]=\"labelPosition === 'top'\"\n [class.fd-status-indicator__label--left]=\"labelPosition === 'left'\"\n class=\"fd-status-indicator__label\"\n >{{ statusLabel }}\n</span>\n<svg\n [attr.id]=\"id\"\n data-sap-ui=\"__shape0-__box21-24\"\n version=\"1.1\"\n [attr.viewBox]=\"viewBox\"\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n class=\"fd-status-indicator__svg\"\n>\n <ng-container [ngTemplateOutlet]=\"svgTemplate\"></ng-container>\n</svg>\n<span\n *ngIf=\"labelPosition === 'right' || labelPosition === 'bottom'\"\n [class.fd-status-indicator__label--sm]=\"labelSize === 'sm'\"\n [class.fd-status-indicator__label--md]=\"labelSize === 'md'\"\n [class.fd-status-indicator__label--lg]=\"labelSize === 'lg'\"\n [class.fd-status-indicator__label--xl]=\"labelSize === 'xl'\"\n [class.fd-status-indicator__label--right]=\"labelPosition === 'right'\"\n [class.fd-status-indicator__label--bottom]=\"labelPosition === 'bottom'\"\n class=\"fd-status-indicator__label\"\n >{{ statusLabel }}\n</span>\n\n<ng-template #svgTemplate>\n <svg\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n overflow=\"visible\"\n [attr.id]=\"id + i\"\n data-sap-ui=\"id\"\n *ngFor=\"let path of path; let i = index\"\n >\n <defs>\n <linearGradient\n *ngIf=\"!(fillCalculator - i > 0 && fillCalculator - i < 1) || fillingType !== 'radial'\"\n id=\"{{ id + i }}-gradient\"\n [attr.x1]=\"x1\"\n [attr.y1]=\"y1\"\n [attr.x2]=\"x2\"\n [attr.y2]=\"y2\"\n >\n <stop [attr.offset]=\"fillCalculator - i\" stop-color=\"white\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n <stop [attr.offset]=\"fillCalculator - i\" stop-color=\"transparent\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n </linearGradient>\n <mask #maskTemplate id=\"{{ id + i }}-mask\">\n <path\n *ngIf=\"!(fillCalculator - i > 0 && fillCalculator - i < 1) || fillingType !== 'radial'\"\n id=\"{{ id + i }}-mask-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"white\"\n attr.fill=\"url(#{{ id + i }}-gradient)\"\n ></path>\n <polygon\n *ngIf=\"fillingType === 'radial' && fillCalculator - i > 0 && fillCalculator - i < 1\"\n id=\"{{ id + i }}-mask-shape\"\n fill=\"white\"\n [attr.points]=\"pointsArray[i]\"\n ></polygon>\n </mask>\n </defs>\n <path\n id=\"{{ id + i }}-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"#89919A\"\n attr.mask=\"url(#{{ id + i }}-mask)\"\n ></path>\n <path\n id=\"{{ id + i }}-shape-border\"\n [attr.d]=\"path\"\n stroke-width=\"0.25\"\n stroke=\"#89919A\"\n fill=\"transparent\"\n ></path>\n </svg>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { StatusIndicatorComponent } from './status-indicator.component';\n\n@NgModule({\n declarations: [StatusIndicatorComponent],\n imports: [CommonModule],\n exports: [StatusIndicatorComponent]\n})\nexport class StatusIndicatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-status-indicator.mjs","sources":["../../../../libs/core/src/lib/status-indicator/status-indicator.component.ts","../../../../libs/core/src/lib/status-indicator/status-indicator.component.html","../../../../libs/core/src/lib/status-indicator/status-indicator.module.ts","../../../../libs/core/src/lib/status-indicator/fundamental-ngx-core-status-indicator.ts"],"sourcesContent":["import {\n Component,\n Input,\n ElementRef,\n OnChanges,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n AfterViewInit,\n ChangeDetectorRef,\n OnInit\n} from '@angular/core';\nimport { applyCssClass, CssClassBuilder } from '@fundamental-ngx/cdk/utils';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nexport type StatusIndicatorSize = 'sm' | 'md' | 'lg' | 'xl';\nexport type StatusIndicatorColor = 'negative' | 'critical' | 'positive';\nexport type LablePosition = 'left' | 'right' | 'top' | 'bottom';\nexport type FillingType = 'radial' | 'angled' | 'linearup' | 'lineardown' | 'linearleft';\nexport type FillingDirection = 'clockwise' | 'counterclockwise';\n\nexport class Point {\n /** @hidden */\n constructor(public x: number, public y: number) {}\n}\n\n@Component({\n selector: 'fd-status-indicator',\n templateUrl: './status-indicator.component.html',\n styleUrls: ['./status-indicator.component.scss'],\n host: {\n '[attr.aria-label]': 'ariaLabel',\n '[attr.aria-roledescription]': 'ariaRoleDescription',\n '[attr.focusable]': 'focusable',\n '[attr.title]': 'title',\n '[attr.role]': 'role',\n '[attr.aria-valuetext]': 'ariaValueText',\n '[attr.aria-valuenow]': 'fillPercentage ? fillPercentage : 0',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuemax]': '100',\n '[attr.tabindex]': 'focusable ? 0 : -1'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class StatusIndicatorComponent implements OnChanges, AfterViewInit, CssClassBuilder, OnInit {\n /**\n * value id defines the id of the object.\n */\n @Input()\n id: string;\n\n /**\n * defines the size of the status indicator.\n * Can be one of the following: 'sm' | 'md' | 'lg' | 'xl'\n * Default size is Medium(md).\n */\n @Input()\n size: StatusIndicatorSize = 'md';\n\n /**\n * The status represented by the Status Indicator.\n * Can be one of the following: 'negative' | 'critical' | 'informative'\n * For default Object Status omit this property\n */\n @Input()\n status: StatusIndicatorColor;\n\n /** Define the text content of the Status indicator*/\n @Input()\n statusLabel: string;\n\n /**\n * positioning of the status indicator image withing the defined height and width .\n */\n @Input()\n viewBox: string;\n\n /**\n * boolean value to be marked as a clickable\n */\n @Input()\n clickable: boolean;\n\n /**\n * defines the size of the status indicator.\n * Can be one of the following: 'sm' | 'md' | 'lg' | 'xl'\n */\n @Input()\n labelSize: StatusIndicatorSize = 'sm';\n\n /** Aria label for the Status Indicator. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Aria defines role description for the Status Indicator. */\n @Input()\n ariaRoleDescription: Nullable<string>;\n\n /** Aria Focusable for the Status Indicator. */\n @Input()\n focusable: boolean;\n\n /** Aria Role for the Status Indicator. */\n @Input()\n role: Nullable<string>;\n\n /** Aria Value Text for the Status Indicator. */\n @Input()\n ariaValueText: Nullable<string>;\n\n /** Aria title for the status indicator. */\n @Input()\n title: Nullable<string>;\n\n /** defines the label position the value can be 'left' | 'right' | 'top' | 'bottom' */\n @Input()\n labelPosition: LablePosition;\n\n /** Path for the status indicator */\n @Input()\n path: string[];\n\n /**\n * Offset value to be filled under the give percentatge value.\n */\n @Input()\n fillPercentage: number;\n\n /**\n * value to define fill direction\n */\n @Input()\n fillDirection: FillingDirection = 'clockwise';\n\n /** @hidden */\n set _fillDirection(direction: FillingDirection) {\n this.fillDirection = direction;\n }\n get _fillDirection(): FillingDirection {\n return this.fillDirection;\n }\n\n /**\n * FillingType to represent the fill pattern of the component\n */\n @Input()\n fillingType: FillingType = 'lineardown';\n\n /** represent the degree of angle to project the filling of the component */\n @Input()\n angle: number;\n\n /** @hidden */\n fillCalculator: number;\n /** @hidden */\n binaryString: string;\n /** @hidden */\n x1: string;\n /** @hidden */\n y1: string;\n /** @hidden */\n x2: string;\n /** @hidden */\n y2: string;\n /** @hidden */\n pointsArray: string[] = [];\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef<HTMLElement>, private _cd: ChangeDetectorRef) {}\n\n /** @hidden */\n class: string;\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._angleCalculation();\n this._cd.detectChanges();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this._calculateFilling();\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n public ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-status-indicator',\n this.size ? `fd-status-indicator--${this.size}` : '',\n this.status ? `fd-status-indicator--${this.status}` : '',\n this.clickable ? `fd-status-indicator--link` : '',\n this.labelPosition === 'right' || this.labelPosition === 'left'\n ? `fd-status-indicator--horizontal-label`\n : '',\n this.class\n ];\n }\n\n /** @hidden */\n private _calculateFilling(): void {\n if (this.fillPercentage < 0 || this.fillPercentage === undefined) {\n this.fillCalculator = 0;\n } else {\n this.fillCalculator = (this.fillPercentage * this.path.length) / 100;\n }\n }\n\n /** @hidden */\n private _angleCalculation(): void {\n let sPointsAttributeValue: Array<Point>;\n let polygonPoints: string;\n switch (this.fillingType) {\n case 'angled':\n this.binaryString = this._convertAngleToBinary(this.angle);\n this._assignBinaryValue(this.binaryString);\n break;\n case 'radial': {\n const tempPercent = this.fillCalculator % 1;\n const fillNumber = Number(tempPercent.toFixed(2));\n const element = this.elementRef.nativeElement.querySelectorAll('svg');\n\n for (let i = 1; i < element.length; i++) {\n sPointsAttributeValue = this._getPolygonPointsForCircularFilling(\n fillNumber * 100,\n element[i].getBBox()\n );\n polygonPoints = sPointsAttributeValue.reduce((acc, item) => acc + item.x + ',' + item.y + ' ', '');\n this.pointsArray.push(polygonPoints);\n }\n break;\n }\n case 'linearup':\n this.binaryString = this._convertAngleToBinary(90);\n this._assignBinaryValue(this.binaryString);\n break;\n case 'lineardown':\n this.binaryString = this._convertAngleToBinary(270);\n this._assignBinaryValue(this.binaryString);\n break;\n case 'linearleft':\n this.binaryString = this._convertAngleToBinary(180);\n this._assignBinaryValue(this.binaryString);\n break;\n default:\n throw new Error(`fdStatusIndicator: No fillType found for ${this.fillingType}.`);\n }\n }\n\n /** @hidden */\n private _convertAngleToBinary(angle: number): string {\n if (angle > 0 && angle <= 45) {\n return '1,0,0,1';\n } else if (angle >= 45 && angle < 90) {\n return '0,0,0,1';\n } else if (angle >= 90 && angle < 135) {\n return '0,0,0,1';\n } else if (angle >= 135 && angle < 180) {\n return '0,0,1,1';\n } else if (angle >= 180 && angle < 225) {\n return '0,0,1,0';\n } else if (angle >= 225 && angle < 270) {\n return '0,1,1,0';\n } else if (angle >= 270 && angle < 315) {\n return '0,1,0,0';\n } else if (angle >= 315 && angle < 360) {\n return '1,1,0,0';\n } else if (angle === 0 || angle === 360) {\n return '1,0,0,0';\n } else {\n return 'invalid';\n }\n }\n\n /** @hidden */\n private _assignBinaryValue(binaryString: string): void {\n const binaryValue = binaryString.split(',');\n this.x1 = binaryValue[0];\n this.y1 = binaryValue[1];\n this.x2 = binaryValue[2];\n this.y2 = binaryValue[3];\n }\n\n /** @hidden */\n private _getPolygonPointsForCircularFilling(value: number, boundingBoxSvg: DOMRect): Array<Point> {\n const angle = 3.6 * value;\n const points: Point[] = [];\n let xDifferenceFromBoundaryCentre: number;\n let yDifferenceFromBoundaryCentre: number;\n let polygonPoint: Point;\n\n // starts at 12, the algorithm computes the coordination for clockwise direction only\n // counter clockwise direction is managed by symmetry\n const oStartPoint = new Point(boundingBoxSvg.x + boundingBoxSvg.width / 2, boundingBoxSvg.y);\n const oCentrePoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width / 2,\n boundingBoxSvg.y + boundingBoxSvg.height / 2\n );\n\n // Reflects x coordinate by centre point for Counter Clockwise type\n const _adjustIfCounterClockwise = (oPoint: Point): Point => {\n const res = Object.assign({}, oPoint);\n\n if (this._fillDirection === 'counterclockwise') {\n const iXDistanceFromCentre = oPoint.x - oCentrePoint.x;\n res.x = oCentrePoint.x - iXDistanceFromCentre;\n }\n\n return res;\n };\n\n // Boundary centre is given by angle distance from the beginning (0°). The returned difference is related\n // to x or y coordinate depending on boundary centre angle (e.g. 0° -> x, 90° -> y, 180° -> x 270° -> y).\n // Boundary length is length of the corresponding side of bounding box (width for x, height for y).\n const computeDifferenceFromBoundaryCentre = (\n inAngle: number,\n iBoundaryCentreAngle: number,\n iBoundaryLength: number\n ): number => {\n const tan = Math.tan(((iBoundaryCentreAngle - inAngle) * Math.PI) / 180);\n\n return (tan * iBoundaryLength) / 2;\n };\n\n points.push(oStartPoint);\n\n if (0 < angle && angle < 45) {\n xDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 0, boundingBoxSvg.height);\n polygonPoint = new Point(oStartPoint.x - xDifferenceFromBoundaryCentre, oStartPoint.y);\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (45 <= angle) {\n points.push(\n _adjustIfCounterClockwise(new Point(boundingBoxSvg.x + boundingBoxSvg.width, boundingBoxSvg.y))\n );\n }\n\n if (45 < angle && angle < 135) {\n yDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 90, boundingBoxSvg.width);\n polygonPoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width,\n boundingBoxSvg.y + boundingBoxSvg.height / 2 - yDifferenceFromBoundaryCentre\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (135 <= angle) {\n points.push(\n _adjustIfCounterClockwise(\n new Point(boundingBoxSvg.x + boundingBoxSvg.width, boundingBoxSvg.y + boundingBoxSvg.height)\n )\n );\n }\n\n if (135 < angle && angle < 225) {\n xDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 180, boundingBoxSvg.height);\n polygonPoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width / 2 + xDifferenceFromBoundaryCentre,\n boundingBoxSvg.y + boundingBoxSvg.height\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (225 <= angle) {\n points.push(\n _adjustIfCounterClockwise(new Point(boundingBoxSvg.x, boundingBoxSvg.y + boundingBoxSvg.height))\n );\n }\n\n if (225 < angle && angle < 315) {\n yDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 270, boundingBoxSvg.width);\n polygonPoint = new Point(\n boundingBoxSvg.x,\n boundingBoxSvg.y + boundingBoxSvg.height / 2 + yDifferenceFromBoundaryCentre\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (315 <= angle) {\n points.push(_adjustIfCounterClockwise(new Point(boundingBoxSvg.x, boundingBoxSvg.y)));\n }\n\n if (315 < angle && angle <= 360) {\n xDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 360, boundingBoxSvg.height);\n polygonPoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width / 2 - xDifferenceFromBoundaryCentre,\n boundingBoxSvg.y\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n points.push(oCentrePoint);\n\n return points;\n }\n}\n","<span\n *ngIf=\"labelPosition === 'left' || labelPosition === 'top'\"\n [class.fd-status-indicator__label--sm]=\"labelSize === 'sm'\"\n [class.fd-status-indicator__label--md]=\"labelSize === 'md'\"\n [class.fd-status-indicator__label--lg]=\"labelSize === 'lg'\"\n [class.fd-status-indicator__label--xl]=\"labelSize === 'xl'\"\n [class.fd-status-indicator__label--top]=\"labelPosition === 'top'\"\n [class.fd-status-indicator__label--left]=\"labelPosition === 'left'\"\n class=\"fd-status-indicator__label\"\n >{{ statusLabel }}\n</span>\n<svg\n [attr.id]=\"id\"\n data-sap-ui=\"__shape0-__box21-24\"\n version=\"1.1\"\n [attr.viewBox]=\"viewBox\"\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n class=\"fd-status-indicator__svg\"\n>\n <ng-container [ngTemplateOutlet]=\"svgTemplate\"></ng-container>\n</svg>\n<span\n *ngIf=\"labelPosition === 'right' || labelPosition === 'bottom'\"\n [class.fd-status-indicator__label--sm]=\"labelSize === 'sm'\"\n [class.fd-status-indicator__label--md]=\"labelSize === 'md'\"\n [class.fd-status-indicator__label--lg]=\"labelSize === 'lg'\"\n [class.fd-status-indicator__label--xl]=\"labelSize === 'xl'\"\n [class.fd-status-indicator__label--right]=\"labelPosition === 'right'\"\n [class.fd-status-indicator__label--bottom]=\"labelPosition === 'bottom'\"\n class=\"fd-status-indicator__label\"\n >{{ statusLabel }}\n</span>\n\n<ng-template #svgTemplate>\n <svg\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n overflow=\"visible\"\n [attr.id]=\"id + i\"\n data-sap-ui=\"id\"\n *ngFor=\"let path of path; let i = index\"\n >\n <defs>\n <linearGradient\n *ngIf=\"!(fillCalculator - i > 0 && fillCalculator - i < 1) || fillingType !== 'radial'\"\n id=\"{{ id + i }}-gradient\"\n [attr.x1]=\"x1\"\n [attr.y1]=\"y1\"\n [attr.x2]=\"x2\"\n [attr.y2]=\"y2\"\n >\n <stop [attr.offset]=\"fillCalculator - i\" stop-color=\"white\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n <stop [attr.offset]=\"fillCalculator - i\" stop-color=\"transparent\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n </linearGradient>\n <mask #maskTemplate id=\"{{ id + i }}-mask\">\n <path\n *ngIf=\"!(fillCalculator - i > 0 && fillCalculator - i < 1) || fillingType !== 'radial'\"\n id=\"{{ id + i }}-mask-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"white\"\n attr.fill=\"url(#{{ id + i }}-gradient)\"\n ></path>\n <polygon\n *ngIf=\"fillingType === 'radial' && fillCalculator - i > 0 && fillCalculator - i < 1\"\n id=\"{{ id + i }}-mask-shape\"\n fill=\"white\"\n [attr.points]=\"pointsArray[i]\"\n ></polygon>\n </mask>\n </defs>\n <path\n id=\"{{ id + i }}-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"#89919A\"\n attr.mask=\"url(#{{ id + i }}-mask)\"\n ></path>\n <path\n id=\"{{ id + i }}-shape-border\"\n [attr.d]=\"path\"\n stroke-width=\"0.25\"\n stroke=\"#89919A\"\n fill=\"transparent\"\n ></path>\n </svg>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { StatusIndicatorComponent } from './status-indicator.component';\n\n@NgModule({\n declarations: [StatusIndicatorComponent],\n imports: [CommonModule],\n exports: [StatusIndicatorComponent]\n})\nexport class StatusIndicatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|