@fundamental-ngx/core 0.49.1 → 0.49.2
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/avatar-group-legacy/avatar-group-legacy.component.d.ts +6 -6
- package/avatar-group-legacy/directives/avatar-group-legacy-overflow-body.directive.d.ts +2 -2
- package/avatar-group-legacy/directives/avatar-group-legacy-overflow-button.directive.d.ts +2 -2
- package/bar/bar.component.d.ts +6 -6
- package/bar/button-bar/button-bar.component.d.ts +4 -4
- package/calendar/calendar-header/calendar-header.component.d.ts +2 -2
- package/card/card-content.component.d.ts +2 -2
- package/card/card-counter.directive.d.ts +2 -2
- package/card/card-header.component.d.ts +6 -6
- package/card/card-loader.component.d.ts +2 -2
- package/card/card-second-subtitle.directive.d.ts +2 -2
- package/card/card-subtitle.directive.d.ts +2 -2
- package/card/card-title.directive.d.ts +2 -2
- package/card/card.component.d.ts +3 -3
- package/card/kpi/card-kpi-analytics-content.directive.d.ts +2 -2
- package/card/kpi/card-kpi-analytics-label.directive.d.ts +2 -2
- package/card/kpi/card-kpi-analytics.directive.d.ts +2 -2
- package/card/kpi/card-kpi-header.component.d.ts +2 -2
- package/card/kpi/card-kpi-scale-icon.directive.d.ts +2 -2
- package/card/kpi/card-kpi-scale-text.directive.d.ts +2 -2
- package/card/kpi/card-kpi-value.directive.d.ts +4 -4
- package/checkbox/checkbox/checkbox.component.d.ts +3 -5
- package/content-density/providers/url-content-density-storage.d.ts +4 -4
- package/content-density/services/content-density-observer.service.d.ts +15 -15
- package/datetime/datetime-adapter.d.ts +9 -2
- package/datetime/fd-date.d.ts +10 -14
- package/datetime/fd-datetime-adapter.d.ts +2 -2
- package/dialog/base/dialog-base.class.d.ts +2 -2
- package/dialog/base/dialog-header-base.class.d.ts +4 -4
- package/dialog/base/dialog-ref-base.class.d.ts +6 -4
- package/dynamic-side-content/dynamic-side-content.component.d.ts +4 -4
- package/esm2022/avatar-group-legacy/avatar-group-legacy.component.mjs +15 -15
- package/esm2022/avatar-group-legacy/directives/avatar-group-legacy-overflow-body.directive.mjs +12 -12
- package/esm2022/avatar-group-legacy/directives/avatar-group-legacy-overflow-button.directive.mjs +9 -9
- package/esm2022/bar/bar.component.mjs +13 -13
- package/esm2022/bar/button-bar/button-bar.component.mjs +3 -3
- package/esm2022/calendar/calendar-header/calendar-header.component.mjs +1 -1
- package/esm2022/card/card-content.component.mjs +5 -5
- package/esm2022/card/card-counter.directive.mjs +6 -6
- package/esm2022/card/card-header.component.mjs +5 -5
- package/esm2022/card/card-loader.component.mjs +5 -5
- package/esm2022/card/card-second-subtitle.directive.mjs +5 -5
- package/esm2022/card/card-subtitle.directive.mjs +5 -5
- package/esm2022/card/card-title.directive.mjs +5 -5
- package/esm2022/card/card.component.mjs +5 -5
- package/esm2022/card/kpi/card-kpi-analytics-content.directive.mjs +5 -5
- package/esm2022/card/kpi/card-kpi-analytics-label.directive.mjs +5 -5
- package/esm2022/card/kpi/card-kpi-analytics.directive.mjs +5 -5
- package/esm2022/card/kpi/card-kpi-header.component.mjs +5 -5
- package/esm2022/card/kpi/card-kpi-scale-icon.directive.mjs +5 -5
- package/esm2022/card/kpi/card-kpi-scale-text.directive.mjs +5 -5
- package/esm2022/card/kpi/card-kpi-value.directive.mjs +5 -5
- package/esm2022/checkbox/checkbox/checkbox.component.mjs +1 -1
- package/esm2022/combobox/combobox.component.mjs +2 -2
- package/esm2022/content-density/providers/url-content-density-storage.mjs +11 -11
- package/esm2022/content-density/services/content-density-observer.service.mjs +7 -16
- package/esm2022/datetime/datetime-adapter.mjs +4 -2
- package/esm2022/datetime/fd-date.mjs +34 -27
- package/esm2022/datetime/fd-datetime-adapter.mjs +1 -1
- package/esm2022/dialog/base/dialog-base.class.mjs +1 -1
- package/esm2022/dialog/base/dialog-header-base.class.mjs +1 -1
- package/esm2022/dialog/base/dialog-ref-base.class.mjs +4 -8
- package/esm2022/dynamic-side-content/dynamic-side-content.component.mjs +9 -9
- package/esm2022/feed-input/directives/feed-input-avatar.directive.mjs +5 -5
- package/esm2022/feed-list-item/components/list/feed-list.component.mjs +15 -15
- package/esm2022/file-uploader/directives/file-uploader-select.directive.mjs +1 -1
- package/esm2022/file-uploader/file-uploader.component.mjs +5 -5
- package/esm2022/fixed-card-layout/fixed-card-layout-item/fixed-card-layout-item.component.mjs +3 -3
- package/esm2022/form/form-group/form-group.component.mjs +8 -8
- package/esm2022/form/form-message/form-message.component.mjs +9 -9
- package/esm2022/grid-list/components/grid-list/grid-list.component.mjs +2 -3
- package/esm2022/grid-list/components/grid-list-item/grid-list-item.component.mjs +3 -3
- package/esm2022/illustrated-message/illustrated-message.component.mjs +10 -10
- package/esm2022/input-group/input-group-directives.mjs +22 -22
- package/esm2022/layout-grid/directives/layout-grid-col.directive.mjs +9 -9
- package/esm2022/layout-grid/layout-grid.component.mjs +9 -9
- package/esm2022/layout-panel/layout-panel-footer/layout-panel-footer.component.mjs +9 -9
- package/esm2022/list/list-item/list-item.component.mjs +20 -17
- package/esm2022/list/list-message.directive.mjs +9 -9
- package/esm2022/menu/directives/segmented-button/segmented-button-header.directive.mjs +1 -2
- package/esm2022/menu/directives/toggle-button.directive.mjs +1 -2
- package/esm2022/message-box/message-box.component.mjs +17 -17
- package/esm2022/message-page/message-page.component.mjs +5 -5
- package/esm2022/message-strip/alert/message-strip-alert/message-strip-alert.component.mjs +5 -5
- package/esm2022/message-strip/alert/message-strip-alert-container/message-strip-alert-container.component.mjs +1 -1
- package/esm2022/message-strip/alert/message-strip-alert.service.mjs +2 -3
- package/esm2022/message-strip/message-strip.component.mjs +16 -16
- package/esm2022/micro-process-flow/components/micro-process-flow/micro-process-flow.component.mjs +43 -45
- package/esm2022/micro-process-flow/components/micro-process-flow-item/micro-process-flow-item.component.mjs +1 -1
- package/esm2022/micro-process-flow/micro-process-flow-focusable-item.directive.mjs +13 -13
- package/esm2022/multi-combobox/multi-combobox.component.mjs +2 -5
- package/esm2022/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +1 -1
- package/esm2022/multi-input/multi-input.component.mjs +2 -2
- package/esm2022/nested-list/nested-content/nested-list-content.directive.mjs +6 -6
- package/esm2022/nested-list/nested-item/nested-item.directive.mjs +3 -3
- package/esm2022/nested-list/nested-list/nested-list.directive.mjs +3 -3
- package/esm2022/notification/directives/notification-indicator.directive.mjs +9 -9
- package/esm2022/notification/notification/notification.component.mjs +9 -9
- package/esm2022/notification/notification-group/notification-group.component.mjs +5 -5
- package/esm2022/notification/notification-service/notification.service.mjs +5 -2
- package/esm2022/notification/notification-utils/notification-ref.mjs +2 -5
- package/esm2022/object-number/object-number.component.mjs +9 -9
- package/esm2022/object-status/object-status.component.mjs +13 -12
- package/esm2022/overflow-layout/directives/overflow-expand.directive.mjs +5 -5
- package/esm2022/overflow-layout/directives/overflow-item-ref.directive.mjs +1 -1
- package/esm2022/overflow-layout/directives/overflow-layout-focusable-item.directive.mjs +5 -5
- package/esm2022/overflow-layout/directives/overflow-layout-item-container.directive.mjs +8 -8
- package/esm2022/overflow-layout/interfaces/overflow-focusable-item.interface.mjs +1 -1
- package/esm2022/overflow-layout/overflow-layout.component.mjs +18 -18
- package/esm2022/radio/radio-button/radio-button.component.mjs +8 -9
- package/esm2022/rating-indicator/components/rating-indicator.component.mjs +28 -28
- package/esm2022/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.mjs +23 -23
- package/esm2022/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.mjs +7 -8
- package/esm2022/select/select.component.mjs +18 -18
- package/esm2022/shared/interfaces/search-component.interface.mjs +1 -1
- package/esm2022/shellbar/shellbar.component.mjs +7 -7
- package/esm2022/side-navigation/side-navigation.component.mjs +7 -7
- package/esm2022/skeleton/components/skeleton.component.mjs +3 -3
- package/esm2022/status-indicator/status-indicator.component.mjs +15 -15
- package/esm2022/table/directives/table-responsive-wrapper.directive.mjs +3 -3
- package/esm2022/tabs/tab-item/tab-item.directive.mjs +9 -9
- package/esm2022/tabs/tab-link/tab-link.directive.mjs +8 -8
- package/esm2022/tabs/tab-nav/tab-nav.component.mjs +15 -15
- package/esm2022/tabs/tab-panel/tab-panel.component.mjs +3 -3
- package/esm2022/tabs/tab-utils/tab-directives.mjs +8 -8
- package/esm2022/tile/directives/tile.directives.mjs +25 -25
- package/esm2022/tile/tile.component.mjs +9 -11
- package/esm2022/time/time-column/time-column.component.mjs +23 -23
- package/esm2022/timeline/services/position-strategies/base-strategy.mjs +1 -1
- package/esm2022/timeline/timeline.component.mjs +5 -5
- package/esm2022/title/title.component.mjs +4 -4
- package/esm2022/token/tokenizer.component.mjs +71 -71
- package/esm2022/toolbar/toolbar.component.mjs +3 -3
- package/esm2022/tree/components/tree-item/tree-item.component.mjs +4 -6
- package/esm2022/tree/tree.component.mjs +1 -4
- package/esm2022/upload-collection/upload-collection-item.directive.mjs +3 -3
- package/esm2022/vertical-navigation/vertical-navigation.component.mjs +6 -6
- package/esm2022/wizard/wizard-step/wizard-step.component.mjs +3 -3
- package/feed-input/directives/feed-input-avatar.directive.d.ts +2 -2
- package/feed-list-item/components/list/feed-list.component.d.ts +6 -6
- package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs +33 -33
- package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-bar.mjs +14 -14
- package/fesm2022/fundamental-ngx-core-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-card.mjs +61 -61
- package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-checkbox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-combobox.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-content-density.mjs +17 -26
- package/fesm2022/fundamental-ngx-core-content-density.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-datetime.mjs +36 -27
- package/fesm2022/fundamental-ngx-core-datetime.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dialog.mjs +3 -7
- package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs +8 -8
- package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-feed-input.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-feed-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-feed-list-item.mjs +14 -14
- package/fesm2022/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-file-uploader.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-file-uploader.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-form.mjs +15 -15
- package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-grid-list.mjs +3 -4
- package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +9 -9
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-input-group.mjs +21 -21
- package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-layout-grid.mjs +16 -16
- package/fesm2022/fundamental-ngx-core-layout-grid.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-layout-panel.mjs +8 -8
- package/fesm2022/fundamental-ngx-core-layout-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-list.mjs +27 -24
- package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-menu.mjs +0 -2
- package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-box.mjs +16 -16
- package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-page.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-message-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-strip.mjs +20 -21
- package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +55 -57
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +1 -4
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-input.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-nested-list.mjs +9 -9
- package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-notification.mjs +25 -25
- package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-number.mjs +8 -8
- package/fesm2022/fundamental-ngx-core-object-number.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-status.mjs +12 -11
- package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +32 -32
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-radio.mjs +7 -8
- package/fesm2022/fundamental-ngx-core-radio.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +27 -27
- package/fesm2022/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +28 -29
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-select.mjs +17 -17
- package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shellbar.mjs +6 -6
- package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-side-navigation.mjs +6 -6
- package/fesm2022/fundamental-ngx-core-side-navigation.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-skeleton.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-skeleton.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs +14 -14
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-table.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tabs.mjs +38 -38
- package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tile.mjs +32 -34
- package/fesm2022/fundamental-ngx-core-tile.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time.mjs +23 -23
- package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-timeline.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-timeline.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-title.mjs +3 -3
- package/fesm2022/fundamental-ngx-core-title.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-token.mjs +70 -70
- package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-toolbar.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tree.mjs +3 -8
- package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs +5 -5
- package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-wizard.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
- package/file-uploader/directives/file-uploader-select.directive.d.ts +1 -1
- package/file-uploader/file-uploader.component.d.ts +4 -4
- package/form/form-group/form-group.component.d.ts +4 -4
- package/form/form-message/form-message.component.d.ts +2 -2
- package/grid-list/components/grid-list/grid-list.component.d.ts +3 -2
- package/grid-list/components/grid-list-item/grid-list-item.component.d.ts +8 -8
- package/illustrated-message/illustrated-message.component.d.ts +7 -7
- package/input-group/input-group-directives.d.ts +12 -12
- package/layout-grid/directives/layout-grid-col.directive.d.ts +2 -2
- package/layout-grid/layout-grid.component.d.ts +2 -2
- package/layout-panel/layout-panel-footer/layout-panel-footer.component.d.ts +2 -2
- package/list/list-item/list-item.component.d.ts +13 -13
- package/list/list-message.directive.d.ts +4 -4
- package/message-box/message-box.component.d.ts +5 -5
- package/message-page/message-page.component.d.ts +2 -2
- package/message-strip/alert/message-strip-alert/message-strip-alert.component.d.ts +4 -4
- package/message-strip/alert/message-strip-alert-container/message-strip-alert-container.component.d.ts +4 -4
- package/message-strip/alert/message-strip-alert.service.d.ts +3 -2
- package/message-strip/message-strip.component.d.ts +6 -6
- package/micro-process-flow/components/micro-process-flow/micro-process-flow.component.d.ts +15 -17
- package/micro-process-flow/components/micro-process-flow-item/micro-process-flow-item.component.d.ts +2 -2
- package/micro-process-flow/micro-process-flow-focusable-item.directive.d.ts +6 -6
- package/multi-input/multi-input-mobile/multi-input-mobile.component.d.ts +2 -2
- package/nested-list/nested-content/nested-list-content.directive.d.ts +2 -2
- package/nested-list/nested-item/nested-item.directive.d.ts +2 -2
- package/nested-list/nested-list/nested-list.directive.d.ts +2 -2
- package/notification/directives/notification-indicator.directive.d.ts +4 -4
- package/notification/notification/notification.component.d.ts +2 -2
- package/notification/notification-group/notification-group.component.d.ts +2 -2
- package/notification/notification-utils/notification-ref.d.ts +5 -3
- package/object-number/object-number.component.d.ts +4 -4
- package/object-status/object-status.component.d.ts +5 -4
- package/overflow-layout/directives/overflow-expand.directive.d.ts +2 -2
- package/overflow-layout/directives/overflow-item-ref.directive.d.ts +2 -2
- package/overflow-layout/directives/overflow-layout-focusable-item.directive.d.ts +2 -2
- package/overflow-layout/directives/overflow-layout-item-container.directive.d.ts +2 -2
- package/overflow-layout/interfaces/overflow-focusable-item.interface.d.ts +1 -1
- package/overflow-layout/overflow-layout.component.d.ts +4 -4
- package/package.json +3 -3
- package/radio/radio-button/radio-button.component.d.ts +7 -7
- package/rating-indicator/components/rating-indicator.component.d.ts +12 -12
- package/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.d.ts +8 -8
- package/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.d.ts +2 -2
- package/select/select.component.d.ts +19 -19
- package/shared/interfaces/search-component.interface.d.ts +1 -1
- package/shellbar/shellbar.component.d.ts +12 -12
- package/side-navigation/side-navigation.component.d.ts +2 -2
- package/skeleton/components/skeleton.component.d.ts +2 -2
- package/status-indicator/status-indicator.component.d.ts +7 -7
- package/tabs/tab-item/tab-item.directive.d.ts +2 -2
- package/tabs/tab-link/tab-link.directive.d.ts +2 -2
- package/tabs/tab-nav/tab-nav.component.d.ts +8 -8
- package/tabs/tab-panel/tab-panel.component.d.ts +2 -2
- package/tabs/tab-utils/tab-directives.d.ts +5 -5
- package/tile/directives/tile.directives.d.ts +12 -12
- package/tile/tile.component.d.ts +4 -6
- package/time/time-column/time-column.component.d.ts +6 -6
- package/timeline/services/position-strategies/base-strategy.d.ts +2 -2
- package/timeline/timeline.component.d.ts +2 -2
- package/title/title.component.d.ts +2 -2
- package/token/tokenizer.component.d.ts +16 -16
- package/toolbar/toolbar.component.d.ts +2 -2
- package/tree/components/tree-item/tree-item.component.d.ts +10 -9
- package/upload-collection/upload-collection-item.directive.d.ts +2 -2
- package/vertical-navigation/vertical-navigation.component.d.ts +2 -2
- package/wizard/wizard-step/wizard-step.component.d.ts +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-dynamic-side-content.mjs","sources":["../../../../libs/core/dynamic-side-content/constants.ts","../../../../libs/core/dynamic-side-content/dynamic-side-content-main.component.ts","../../../../libs/core/dynamic-side-content/dynamic-side-content-side.component.ts","../../../../libs/core/dynamic-side-content/utils.ts","../../../../libs/core/dynamic-side-content/dynamic-side-content.component.ts","../../../../libs/core/dynamic-side-content/dynamic-side-content.component.html","../../../../libs/core/dynamic-side-content/dynamic-side-content.module.ts","../../../../libs/core/dynamic-side-content/fundamental-ngx-core-dynamic-side-content.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const DYNAMIC_SIDE_CONTENT_CLASS_NAME = {\n container: 'fd-dynamic-side',\n containerSizeSm: 'fd-dynamic-side--sm',\n containerSizeMd: 'fd-dynamic-side--md',\n containerSizeXl: 'fd-dynamic-side--xl',\n containerSideBelow: 'fd-dynamic-side--below',\n containerSideEqual: 'fd-dynamic-side--equal-split',\n\n side: 'fd-dynamic-side__side',\n main: 'fd-dynamic-side__main'\n} as const;\n\nexport type DynamicSideContentPosition = 'left' | 'right' | 'bottom' | 'equalSplit' | 'none';\n\nexport type DynamicSideContentSize = 'sm' | 'md' | 'lg' | 'xl';\n\nexport const DYNAMIC_SIDE_CONTENT_CHILD_TOKEN = new InjectionToken<string>('DYNAMIC_SIDE_CONTENT_CHILDREN_TOKEN');\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnInit,\n Renderer2,\n forwardRef\n} from '@angular/core';\n\nimport { DYNAMIC_SIDE_CONTENT_CHILD_TOKEN, DYNAMIC_SIDE_CONTENT_CLASS_NAME } from './constants';\n\nlet componentId = 0;\n\n@Component({\n selector: 'fd-dynamic-side-content-main',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: DYNAMIC_SIDE_CONTENT_CHILD_TOKEN,\n useExisting: forwardRef(() => DynamicSideContentMainComponent)\n }\n ],\n standalone: true\n})\nexport class DynamicSideContentMainComponent implements OnInit {\n /** Unique element Id, by default it's auto generated */\n @Input()\n @HostBinding('attr.id')\n id = 'fd-dynamic-side-content-main-id-' + componentId++;\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _render: Renderer2\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassName(DYNAMIC_SIDE_CONTENT_CLASS_NAME.main);\n }\n\n /** @hidden */\n private _addClassName(className: string): void {\n return this._render.addClass(this._elementRef.nativeElement, className);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnInit,\n Renderer2,\n forwardRef\n} from '@angular/core';\n\nimport { DYNAMIC_SIDE_CONTENT_CHILD_TOKEN, DYNAMIC_SIDE_CONTENT_CLASS_NAME } from './constants';\n\nlet componentId = 0;\n\n@Component({\n selector: 'fd-dynamic-side-content-side',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: DYNAMIC_SIDE_CONTENT_CHILD_TOKEN,\n useExisting: forwardRef(() => DynamicSideContentSideComponent)\n }\n ],\n standalone: true\n})\nexport class DynamicSideContentSideComponent implements OnInit {\n /** Unique element Id, by default it's auto generated */\n @Input()\n @HostBinding('attr.id')\n id = 'fd-dynamic-side-content-side-id-' + componentId++;\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _render: Renderer2\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassName(DYNAMIC_SIDE_CONTENT_CLASS_NAME.side);\n }\n\n /** @hidden */\n private _addClassName(className: string): void {\n return this._render.addClass(this._elementRef.nativeElement, className);\n }\n}\n","import { DYNAMIC_SIDE_CONTENT_CLASS_NAME, DynamicSideContentPosition, DynamicSideContentSize } from './constants';\n\nexport const getSizeClassName = (size: DynamicSideContentSize): string | null => {\n switch (size) {\n case 'sm':\n return DYNAMIC_SIDE_CONTENT_CLASS_NAME.containerSizeSm;\n case 'md':\n case 'lg':\n return DYNAMIC_SIDE_CONTENT_CLASS_NAME.containerSizeMd;\n case 'xl':\n return DYNAMIC_SIDE_CONTENT_CLASS_NAME.containerSizeXl;\n default:\n return null;\n }\n};\n\nexport const getPositionClassName = (position: DynamicSideContentPosition): string | null => {\n switch (position) {\n case 'bottom':\n return DYNAMIC_SIDE_CONTENT_CLASS_NAME.containerSideBelow;\n case 'equalSplit':\n return DYNAMIC_SIDE_CONTENT_CLASS_NAME.containerSideEqual;\n default:\n return null;\n }\n};\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { startWith } from 'rxjs/operators';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport {\n DYNAMIC_SIDE_CONTENT_CHILD_TOKEN,\n DYNAMIC_SIDE_CONTENT_CLASS_NAME,\n DynamicSideContentPosition,\n DynamicSideContentSize\n} from './constants';\nimport { DynamicSideContentMainComponent } from './dynamic-side-content-main.component';\nimport { DynamicSideContentSideComponent } from './dynamic-side-content-side.component';\nimport { getPositionClassName, getSizeClassName } from './utils';\n\nlet componentId = 0;\n\n@Component({\n selector: 'fd-dynamic-side-content',\n templateUrl: './dynamic-side-content.component.html',\n styleUrl: './dynamic-side-content.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgTemplateOutlet]\n})\nexport class DynamicSideContentComponent implements CssClassBuilder, OnChanges, OnInit, AfterContentInit {\n /**\n * Side content position, can be 'left' | 'right' | 'bottom' | 'equalSplit' | 'none'.\n */\n @Input()\n set position(position: DynamicSideContentPosition) {\n this._position = position;\n\n this._calculateSidePosition();\n }\n get position(): DynamicSideContentPosition {\n return this._position;\n }\n\n /**\n * Screen size, can be 'sm' | 'md' | 'lg' | 'xl'.\n */\n @Input()\n size: DynamicSideContentSize = 'xl';\n\n /** Unique element Id, by default it's auto generated */\n @Input()\n @HostBinding('attr.id')\n id = 'fd-dynamic-side-content-id-' + componentId++;\n\n /**\n * @hidden\n * required by CssClassBuilder\n */\n class: string;\n\n /**\n * @hidden\n * Indicates when side content should be rendered before or after main content\n */\n _isSideBefore = true;\n\n /** @hidden */\n @ContentChildren(DYNAMIC_SIDE_CONTENT_CHILD_TOKEN as any)\n private _children: QueryList<DynamicSideContentMainComponent | DynamicSideContentSideComponent>;\n\n /** @hidden */\n private _isSideProjectedAsFirst = false;\n\n /** @hidden */\n private _position: DynamicSideContentPosition = 'none';\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef<HTMLElement>,\n private readonly _changeDetectorRef: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._listenToChildrenOrder();\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n DYNAMIC_SIDE_CONTENT_CLASS_NAME.container,\n getSizeClassName(this.size),\n getPositionClassName(this.position)\n ].filter((v): v is string => !!v);\n }\n\n /** @hidden */\n private _listenToChildrenOrder(): void {\n this._children.changes.pipe(startWith(this._children)).subscribe(() => {\n this._isSideProjectedAsFirst = this._children.first instanceof DynamicSideContentSideComponent;\n\n this._calculateSidePosition();\n\n this._changeDetectorRef.markForCheck();\n });\n }\n\n /** @hidden */\n private _calculateSidePosition(): void {\n const position = this._position;\n\n if (position === 'none' || position === 'equalSplit' || !position) {\n this._isSideBefore = this._isSideProjectedAsFirst;\n }\n\n if (position === 'left') {\n this._isSideBefore = true;\n }\n\n if (position === 'right' || position === 'bottom') {\n this._isSideBefore = false;\n }\n }\n}\n","@if (_isSideBefore) {\n <ng-template [ngTemplateOutlet]=\"sideTemplate\"></ng-template>\n}\n<!-- Main Content -->\n<ng-content select=\"fd-dynamic-side-content-main\"></ng-content>\n@if (!_isSideBefore) {\n <ng-template [ngTemplateOutlet]=\"sideTemplate\"></ng-template>\n}\n<ng-template #sideTemplate>\n <!-- Side Content -->\n <ng-content select=\"fd-dynamic-side-content-side\"></ng-content>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { DynamicSideContentMainComponent } from './dynamic-side-content-main.component';\nimport { DynamicSideContentSideComponent } from './dynamic-side-content-side.component';\nimport { DynamicSideContentComponent } from './dynamic-side-content.component';\n\nconst components = [DynamicSideContentComponent, DynamicSideContentSideComponent, DynamicSideContentMainComponent];\n\n/**\n * @deprecated\n */\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class DynamicSideContentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["componentId"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-dynamic-side-content.mjs","sources":["../../../../libs/core/dynamic-side-content/constants.ts","../../../../libs/core/dynamic-side-content/dynamic-side-content-main.component.ts","../../../../libs/core/dynamic-side-content/dynamic-side-content-side.component.ts","../../../../libs/core/dynamic-side-content/utils.ts","../../../../libs/core/dynamic-side-content/dynamic-side-content.component.ts","../../../../libs/core/dynamic-side-content/dynamic-side-content.component.html","../../../../libs/core/dynamic-side-content/dynamic-side-content.module.ts","../../../../libs/core/dynamic-side-content/fundamental-ngx-core-dynamic-side-content.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const DYNAMIC_SIDE_CONTENT_CLASS_NAME = {\n container: 'fd-dynamic-side',\n containerSizeSm: 'fd-dynamic-side--sm',\n containerSizeMd: 'fd-dynamic-side--md',\n containerSizeXl: 'fd-dynamic-side--xl',\n containerSideBelow: 'fd-dynamic-side--below',\n containerSideEqual: 'fd-dynamic-side--equal-split',\n\n side: 'fd-dynamic-side__side',\n main: 'fd-dynamic-side__main'\n} as const;\n\nexport type DynamicSideContentPosition = 'left' | 'right' | 'bottom' | 'equalSplit' | 'none';\n\nexport type DynamicSideContentSize = 'sm' | 'md' | 'lg' | 'xl';\n\nexport const DYNAMIC_SIDE_CONTENT_CHILD_TOKEN = new InjectionToken<string>('DYNAMIC_SIDE_CONTENT_CHILDREN_TOKEN');\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnInit,\n Renderer2,\n forwardRef\n} from '@angular/core';\n\nimport { DYNAMIC_SIDE_CONTENT_CHILD_TOKEN, DYNAMIC_SIDE_CONTENT_CLASS_NAME } from './constants';\n\nlet componentId = 0;\n\n@Component({\n selector: 'fd-dynamic-side-content-main',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: DYNAMIC_SIDE_CONTENT_CHILD_TOKEN,\n useExisting: forwardRef(() => DynamicSideContentMainComponent)\n }\n ],\n standalone: true\n})\nexport class DynamicSideContentMainComponent implements OnInit {\n /** Unique element Id, by default it's auto generated */\n @Input()\n @HostBinding('attr.id')\n id = 'fd-dynamic-side-content-main-id-' + componentId++;\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _render: Renderer2\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassName(DYNAMIC_SIDE_CONTENT_CLASS_NAME.main);\n }\n\n /** @hidden */\n private _addClassName(className: string): void {\n return this._render.addClass(this._elementRef.nativeElement, className);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnInit,\n Renderer2,\n forwardRef\n} from '@angular/core';\n\nimport { DYNAMIC_SIDE_CONTENT_CHILD_TOKEN, DYNAMIC_SIDE_CONTENT_CLASS_NAME } from './constants';\n\nlet componentId = 0;\n\n@Component({\n selector: 'fd-dynamic-side-content-side',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: DYNAMIC_SIDE_CONTENT_CHILD_TOKEN,\n useExisting: forwardRef(() => DynamicSideContentSideComponent)\n }\n ],\n standalone: true\n})\nexport class DynamicSideContentSideComponent implements OnInit {\n /** Unique element Id, by default it's auto generated */\n @Input()\n @HostBinding('attr.id')\n id = 'fd-dynamic-side-content-side-id-' + componentId++;\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _render: Renderer2\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassName(DYNAMIC_SIDE_CONTENT_CLASS_NAME.side);\n }\n\n /** @hidden */\n private _addClassName(className: string): void {\n return this._render.addClass(this._elementRef.nativeElement, className);\n }\n}\n","import { DYNAMIC_SIDE_CONTENT_CLASS_NAME, DynamicSideContentPosition, DynamicSideContentSize } from './constants';\n\nexport const getSizeClassName = (size: DynamicSideContentSize): string | null => {\n switch (size) {\n case 'sm':\n return DYNAMIC_SIDE_CONTENT_CLASS_NAME.containerSizeSm;\n case 'md':\n case 'lg':\n return DYNAMIC_SIDE_CONTENT_CLASS_NAME.containerSizeMd;\n case 'xl':\n return DYNAMIC_SIDE_CONTENT_CLASS_NAME.containerSizeXl;\n default:\n return null;\n }\n};\n\nexport const getPositionClassName = (position: DynamicSideContentPosition): string | null => {\n switch (position) {\n case 'bottom':\n return DYNAMIC_SIDE_CONTENT_CLASS_NAME.containerSideBelow;\n case 'equalSplit':\n return DYNAMIC_SIDE_CONTENT_CLASS_NAME.containerSideEqual;\n default:\n return null;\n }\n};\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { startWith } from 'rxjs/operators';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport {\n DYNAMIC_SIDE_CONTENT_CHILD_TOKEN,\n DYNAMIC_SIDE_CONTENT_CLASS_NAME,\n DynamicSideContentPosition,\n DynamicSideContentSize\n} from './constants';\nimport { DynamicSideContentMainComponent } from './dynamic-side-content-main.component';\nimport { DynamicSideContentSideComponent } from './dynamic-side-content-side.component';\nimport { getPositionClassName, getSizeClassName } from './utils';\n\nlet componentId = 0;\n\n@Component({\n selector: 'fd-dynamic-side-content',\n templateUrl: './dynamic-side-content.component.html',\n styleUrl: './dynamic-side-content.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgTemplateOutlet]\n})\nexport class DynamicSideContentComponent implements CssClassBuilder, OnChanges, OnInit, AfterContentInit {\n /**\n * Side content position, can be 'left' | 'right' | 'bottom' | 'equalSplit' | 'none'.\n */\n @Input()\n set position(position: DynamicSideContentPosition) {\n this._position = position;\n\n this._calculateSidePosition();\n }\n get position(): DynamicSideContentPosition {\n return this._position;\n }\n\n /**\n * Screen size, can be 'sm' | 'md' | 'lg' | 'xl'.\n */\n @Input()\n size: DynamicSideContentSize = 'xl';\n\n /** Unique element Id, by default it's auto generated */\n @Input()\n @HostBinding('attr.id')\n id = 'fd-dynamic-side-content-id-' + componentId++;\n\n /** @hidden */\n @ContentChildren(DYNAMIC_SIDE_CONTENT_CHILD_TOKEN as any)\n private _children: QueryList<DynamicSideContentMainComponent | DynamicSideContentSideComponent>;\n\n /**\n * @hidden\n * required by CssClassBuilder\n */\n class: string;\n\n /**\n * @hidden\n * Indicates when side content should be rendered before or after main content\n */\n _isSideBefore = true;\n\n /** @hidden */\n private _isSideProjectedAsFirst = false;\n\n /** @hidden */\n private _position: DynamicSideContentPosition = 'none';\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef<HTMLElement>,\n private readonly _changeDetectorRef: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n DYNAMIC_SIDE_CONTENT_CLASS_NAME.container,\n getSizeClassName(this.size),\n getPositionClassName(this.position)\n ].filter((v): v is string => !!v);\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._listenToChildrenOrder();\n }\n\n /** @hidden */\n private _listenToChildrenOrder(): void {\n this._children.changes.pipe(startWith(this._children)).subscribe(() => {\n this._isSideProjectedAsFirst = this._children.first instanceof DynamicSideContentSideComponent;\n\n this._calculateSidePosition();\n\n this._changeDetectorRef.markForCheck();\n });\n }\n\n /** @hidden */\n private _calculateSidePosition(): void {\n const position = this._position;\n\n if (position === 'none' || position === 'equalSplit' || !position) {\n this._isSideBefore = this._isSideProjectedAsFirst;\n }\n\n if (position === 'left') {\n this._isSideBefore = true;\n }\n\n if (position === 'right' || position === 'bottom') {\n this._isSideBefore = false;\n }\n }\n}\n","@if (_isSideBefore) {\n <ng-template [ngTemplateOutlet]=\"sideTemplate\"></ng-template>\n}\n<!-- Main Content -->\n<ng-content select=\"fd-dynamic-side-content-main\"></ng-content>\n@if (!_isSideBefore) {\n <ng-template [ngTemplateOutlet]=\"sideTemplate\"></ng-template>\n}\n<ng-template #sideTemplate>\n <!-- Side Content -->\n <ng-content select=\"fd-dynamic-side-content-side\"></ng-content>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { DynamicSideContentMainComponent } from './dynamic-side-content-main.component';\nimport { DynamicSideContentSideComponent } from './dynamic-side-content-side.component';\nimport { DynamicSideContentComponent } from './dynamic-side-content.component';\n\nconst components = [DynamicSideContentComponent, DynamicSideContentSideComponent, DynamicSideContentMainComponent];\n\n/**\n * @deprecated\n */\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class DynamicSideContentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["componentId"],"mappings":"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"}
|
|
@@ -13,6 +13,10 @@ class FeedInputAvatarDirective {
|
|
|
13
13
|
this.elementRef = elementRef;
|
|
14
14
|
}
|
|
15
15
|
/** @hidden */
|
|
16
|
+
buildComponentCssClass() {
|
|
17
|
+
return ['fd-feed-input__thumb', this.placeholder ? `fd-avatar--placeholder` : '', this.class];
|
|
18
|
+
}
|
|
19
|
+
/** @hidden */
|
|
16
20
|
ngOnInit() {
|
|
17
21
|
this.buildComponentCssClass();
|
|
18
22
|
}
|
|
@@ -20,10 +24,6 @@ class FeedInputAvatarDirective {
|
|
|
20
24
|
ngOnChanges() {
|
|
21
25
|
this.buildComponentCssClass();
|
|
22
26
|
}
|
|
23
|
-
/** @hidden */
|
|
24
|
-
buildComponentCssClass() {
|
|
25
|
-
return ['fd-feed-input__thumb', this.placeholder ? `fd-avatar--placeholder` : '', this.class];
|
|
26
|
-
}
|
|
27
27
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: FeedInputAvatarDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
28
28
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.0", type: FeedInputAvatarDirective, isStandalone: true, selector: "[fdFeedInputAvatar]", inputs: { class: "class", placeholder: "placeholder" }, usesOnChanges: true, ngImport: i0 }); }
|
|
29
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-feed-input.mjs","sources":["../../../../libs/core/feed-input/directives/feed-input-avatar.directive.ts","../../../../libs/core/feed-input/directives/feed-input-button.directive.ts","../../../../libs/core/feed-input/directives/feed-input-textarea.directive.ts","../../../../libs/core/feed-input/feed-input.component.ts","../../../../libs/core/feed-input/feed-input.component.html","../../../../libs/core/feed-input/feed-input.module.ts","../../../../libs/core/feed-input/fundamental-ngx-core-feed-input.ts"],"sourcesContent":["import { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Applies a thumb styles\n */\n@Directive({\n selector: '[fdFeedInputAvatar]',\n standalone: true\n})\nexport class FeedInputAvatarDirective implements OnInit, OnChanges, CssClassBuilder {\n /** Apply user custom styles */\n @Input()\n class: string;\n\n /** @hidden */\n @Input()\n placeholder: boolean;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef<HTMLElement>) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return ['fd-feed-input__thumb', this.placeholder ? `fd-avatar--placeholder` : '', this.class];\n }\n}\n","import { Directive, ElementRef, HostBinding, OnInit, Renderer2 } from '@angular/core';\n\n/**\n * Applies button feed arrow icon and disabled state\n */\n@Directive({\n selector: '[fdFeedInputButton]',\n host: {\n class: 'fd-button fd-feed-input__submit-button is-cozy'\n },\n standalone: true\n})\nexport class FeedInputButtonDirective implements OnInit {\n /** @hidden */\n @HostBinding('attr.aria-disabled')\n @HostBinding('class.is-disabled')\n disabled = true;\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.createArrowIcon();\n }\n\n /** @hidden */\n get elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n\n /** @hidden create button icon */\n createArrowIcon(): void {\n const icon = this._renderer.createElement('i');\n this._renderer.addClass(icon, 'sap-icon--feeder-arrow');\n this._renderer.setAttribute(icon, 'role', 'presentation');\n this._renderer.appendChild(this.elementRef.nativeElement, icon);\n }\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n inject,\n Input,\n OnInit,\n Output,\n Renderer2\n} from '@angular/core';\nimport { HasElementRef } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Applies text area auto resize and set maximum rows to grow\n */\n@Directive({\n selector: '[fdFeedInputTextarea]',\n host: {\n '[class.fd-feed-input__textarea]': 'true',\n '[class.fd-textarea]': 'true'\n },\n standalone: true\n})\nexport class FeedInputTextareaDirective implements HasElementRef, OnInit {\n /** The maximum rows allowed to grow */\n @Input()\n fdFeedInputTextareaMaxRows: number;\n\n /** @hidden */\n @HostBinding('disabled')\n disabled: boolean;\n\n /** Event emitted when the textarea value changed */\n @Output()\n valueChange = new EventEmitter<string>();\n\n /** @hidden */\n elementRef: ElementRef<HTMLTextAreaElement> = inject(ElementRef);\n\n /** @hidden */\n private _renderer = inject(Renderer2);\n\n /** @hidden */\n @HostListener('keyup')\n onKeyup(): void {\n this.resize();\n this.valueChange.emit(this.elementRef.nativeElement.value);\n }\n\n /** @hidden */\n ngOnInit(): void {\n if (this.fdFeedInputTextareaMaxRows) {\n const lineHeight = this._getTextareaLineHeight();\n this.elementRef.nativeElement.style.maxHeight = lineHeight * this.fdFeedInputTextareaMaxRows + 'px';\n }\n }\n\n /** @hidden make to grow textarea */\n resize(): void {\n this._renderer.setStyle(this.elementRef.nativeElement, 'height', 'inherit');\n\n const totalHeight = this._getTextareaTotalHeight();\n this._renderer.setStyle(this.elementRef.nativeElement, 'height', `${totalHeight}px`);\n }\n\n /** @hidden get line height of textarea */\n private _getTextareaLineHeight(): number {\n const lineHeight = window.getComputedStyle(this.elementRef.nativeElement).getPropertyValue('line-height');\n\n if (lineHeight === 'normal') {\n return (\n parseInt(window.getComputedStyle(this.elementRef.nativeElement).getPropertyValue('font-size'), 10) * 1.1\n );\n }\n\n return parseInt(lineHeight, 10);\n }\n\n /** @hidden get the total height including borders and scroll height */\n private _getTextareaTotalHeight(): number {\n const computed = window.getComputedStyle(this.elementRef.nativeElement);\n\n return (\n parseInt(computed.getPropertyValue('border-top-width'), 10) +\n this.elementRef.nativeElement.scrollHeight +\n parseInt(computed.getPropertyValue('border-bottom-width'), 10)\n );\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Input,\n OnDestroy,\n ViewEncapsulation,\n forwardRef\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { FeedInputButtonDirective } from './directives/feed-input-button.directive';\nimport { FeedInputTextareaDirective } from './directives/feed-input-textarea.directive';\n\n@Component({\n selector: 'fd-feed-input',\n templateUrl: './feed-input.component.html',\n styleUrl: './feed-input.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class FeedInputComponent implements AfterContentInit, OnDestroy {\n /** Component disable state */\n @Input()\n disabled = false;\n\n /** @hidden */\n @ContentChild(forwardRef(() => FeedInputTextareaDirective))\n textareaElement: FeedInputTextareaDirective;\n\n /** @hidden */\n @ContentChild(forwardRef(() => FeedInputButtonDirective))\n buttonElement: FeedInputButtonDirective;\n\n /** @hidden */\n private readonly _subscriptions = new Subscription();\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this.disabled) {\n this.textareaElement.disabled = true;\n }\n\n this._subscriptions.add(\n this.textareaElement.valueChange.subscribe((value) => (this.buttonElement.disabled = !value))\n );\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n}\n","<div class=\"fd-feed-input\" [class.is-disabled]=\"disabled\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { FeedInputAvatarDirective } from './directives/feed-input-avatar.directive';\nimport { FeedInputButtonDirective } from './directives/feed-input-button.directive';\nimport { FeedInputTextareaDirective } from './directives/feed-input-textarea.directive';\nimport { FeedInputComponent } from './feed-input.component';\n\nconst components = [FeedInputComponent, FeedInputTextareaDirective, FeedInputButtonDirective, FeedInputAvatarDirective];\n\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class FeedInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-feed-input.mjs","sources":["../../../../libs/core/feed-input/directives/feed-input-avatar.directive.ts","../../../../libs/core/feed-input/directives/feed-input-button.directive.ts","../../../../libs/core/feed-input/directives/feed-input-textarea.directive.ts","../../../../libs/core/feed-input/feed-input.component.ts","../../../../libs/core/feed-input/feed-input.component.html","../../../../libs/core/feed-input/feed-input.module.ts","../../../../libs/core/feed-input/fundamental-ngx-core-feed-input.ts"],"sourcesContent":["import { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Applies a thumb styles\n */\n@Directive({\n selector: '[fdFeedInputAvatar]',\n standalone: true\n})\nexport class FeedInputAvatarDirective implements OnInit, OnChanges, CssClassBuilder {\n /** Apply user custom styles */\n @Input()\n class: string;\n\n /** @hidden */\n @Input()\n placeholder: boolean;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef<HTMLElement>) {}\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return ['fd-feed-input__thumb', this.placeholder ? `fd-avatar--placeholder` : '', this.class];\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n}\n","import { Directive, ElementRef, HostBinding, OnInit, Renderer2 } from '@angular/core';\n\n/**\n * Applies button feed arrow icon and disabled state\n */\n@Directive({\n selector: '[fdFeedInputButton]',\n host: {\n class: 'fd-button fd-feed-input__submit-button is-cozy'\n },\n standalone: true\n})\nexport class FeedInputButtonDirective implements OnInit {\n /** @hidden */\n @HostBinding('attr.aria-disabled')\n @HostBinding('class.is-disabled')\n disabled = true;\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.createArrowIcon();\n }\n\n /** @hidden */\n get elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n\n /** @hidden create button icon */\n createArrowIcon(): void {\n const icon = this._renderer.createElement('i');\n this._renderer.addClass(icon, 'sap-icon--feeder-arrow');\n this._renderer.setAttribute(icon, 'role', 'presentation');\n this._renderer.appendChild(this.elementRef.nativeElement, icon);\n }\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n inject,\n Input,\n OnInit,\n Output,\n Renderer2\n} from '@angular/core';\nimport { HasElementRef } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Applies text area auto resize and set maximum rows to grow\n */\n@Directive({\n selector: '[fdFeedInputTextarea]',\n host: {\n '[class.fd-feed-input__textarea]': 'true',\n '[class.fd-textarea]': 'true'\n },\n standalone: true\n})\nexport class FeedInputTextareaDirective implements HasElementRef, OnInit {\n /** The maximum rows allowed to grow */\n @Input()\n fdFeedInputTextareaMaxRows: number;\n\n /** @hidden */\n @HostBinding('disabled')\n disabled: boolean;\n\n /** Event emitted when the textarea value changed */\n @Output()\n valueChange = new EventEmitter<string>();\n\n /** @hidden */\n elementRef: ElementRef<HTMLTextAreaElement> = inject(ElementRef);\n\n /** @hidden */\n private _renderer = inject(Renderer2);\n\n /** @hidden */\n @HostListener('keyup')\n onKeyup(): void {\n this.resize();\n this.valueChange.emit(this.elementRef.nativeElement.value);\n }\n\n /** @hidden */\n ngOnInit(): void {\n if (this.fdFeedInputTextareaMaxRows) {\n const lineHeight = this._getTextareaLineHeight();\n this.elementRef.nativeElement.style.maxHeight = lineHeight * this.fdFeedInputTextareaMaxRows + 'px';\n }\n }\n\n /** @hidden make to grow textarea */\n resize(): void {\n this._renderer.setStyle(this.elementRef.nativeElement, 'height', 'inherit');\n\n const totalHeight = this._getTextareaTotalHeight();\n this._renderer.setStyle(this.elementRef.nativeElement, 'height', `${totalHeight}px`);\n }\n\n /** @hidden get line height of textarea */\n private _getTextareaLineHeight(): number {\n const lineHeight = window.getComputedStyle(this.elementRef.nativeElement).getPropertyValue('line-height');\n\n if (lineHeight === 'normal') {\n return (\n parseInt(window.getComputedStyle(this.elementRef.nativeElement).getPropertyValue('font-size'), 10) * 1.1\n );\n }\n\n return parseInt(lineHeight, 10);\n }\n\n /** @hidden get the total height including borders and scroll height */\n private _getTextareaTotalHeight(): number {\n const computed = window.getComputedStyle(this.elementRef.nativeElement);\n\n return (\n parseInt(computed.getPropertyValue('border-top-width'), 10) +\n this.elementRef.nativeElement.scrollHeight +\n parseInt(computed.getPropertyValue('border-bottom-width'), 10)\n );\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Input,\n OnDestroy,\n ViewEncapsulation,\n forwardRef\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { FeedInputButtonDirective } from './directives/feed-input-button.directive';\nimport { FeedInputTextareaDirective } from './directives/feed-input-textarea.directive';\n\n@Component({\n selector: 'fd-feed-input',\n templateUrl: './feed-input.component.html',\n styleUrl: './feed-input.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class FeedInputComponent implements AfterContentInit, OnDestroy {\n /** Component disable state */\n @Input()\n disabled = false;\n\n /** @hidden */\n @ContentChild(forwardRef(() => FeedInputTextareaDirective))\n textareaElement: FeedInputTextareaDirective;\n\n /** @hidden */\n @ContentChild(forwardRef(() => FeedInputButtonDirective))\n buttonElement: FeedInputButtonDirective;\n\n /** @hidden */\n private readonly _subscriptions = new Subscription();\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this.disabled) {\n this.textareaElement.disabled = true;\n }\n\n this._subscriptions.add(\n this.textareaElement.valueChange.subscribe((value) => (this.buttonElement.disabled = !value))\n );\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n}\n","<div class=\"fd-feed-input\" [class.is-disabled]=\"disabled\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { FeedInputAvatarDirective } from './directives/feed-input-avatar.directive';\nimport { FeedInputButtonDirective } from './directives/feed-input-button.directive';\nimport { FeedInputTextareaDirective } from './directives/feed-input-textarea.directive';\nimport { FeedInputComponent } from './feed-input.component';\n\nconst components = [FeedInputComponent, FeedInputTextareaDirective, FeedInputButtonDirective, FeedInputAvatarDirective];\n\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class FeedInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -181,6 +181,20 @@ class FeedListComponent {
|
|
|
181
181
|
*/
|
|
182
182
|
this.borderLess = false;
|
|
183
183
|
}
|
|
184
|
+
/** @hidden
|
|
185
|
+
* CssClassBuilder interface implementation
|
|
186
|
+
* function must return single string
|
|
187
|
+
* function is responsible for order which css classes are applied
|
|
188
|
+
*/
|
|
189
|
+
buildComponentCssClass() {
|
|
190
|
+
return [
|
|
191
|
+
CSS_CLASS_NAME.list,
|
|
192
|
+
this.class,
|
|
193
|
+
this.borderLess ? `${CSS_CLASS_NAME.list}--no-border` : '',
|
|
194
|
+
this.isGroup ? `${CSS_CLASS_NAME.list}--group` : '',
|
|
195
|
+
this.mobile ? `${CSS_CLASS_NAME.list}--s` : ''
|
|
196
|
+
];
|
|
197
|
+
}
|
|
184
198
|
/** @hidden */
|
|
185
199
|
ngAfterContentChecked() {
|
|
186
200
|
this._refreshItems();
|
|
@@ -203,20 +217,6 @@ class FeedListComponent {
|
|
|
203
217
|
this.$feedItemChanges.unsubscribe();
|
|
204
218
|
}
|
|
205
219
|
}
|
|
206
|
-
/** @hidden
|
|
207
|
-
* CssClassBuilder interface implementation
|
|
208
|
-
* function must return single string
|
|
209
|
-
* function is responsible for order which css classes are applied
|
|
210
|
-
*/
|
|
211
|
-
buildComponentCssClass() {
|
|
212
|
-
return [
|
|
213
|
-
CSS_CLASS_NAME.list,
|
|
214
|
-
this.class,
|
|
215
|
-
this.borderLess ? `${CSS_CLASS_NAME.list}--no-border` : '',
|
|
216
|
-
this.isGroup ? `${CSS_CLASS_NAME.list}--group` : '',
|
|
217
|
-
this.mobile ? `${CSS_CLASS_NAME.list}--s` : ''
|
|
218
|
-
];
|
|
219
|
-
}
|
|
220
220
|
/** @hidden */
|
|
221
221
|
_listenOnFeedItems() {
|
|
222
222
|
this.$feedItemChanges = this.feedItems.changes.subscribe(() => this._refreshItems());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-feed-list-item.mjs","sources":["../../../../libs/core/feed-list-item/components/feed-list-action/feed-list-action.component.ts","../../../../libs/core/feed-list-item/components/feed-list-avatar/feed-list-avatar.component.ts","../../../../libs/core/feed-list-item/components/feed-list-footer/feed-list-footer.component.ts","../../../../libs/core/feed-list-item/constants.ts","../../../../libs/core/feed-list-item/components/item/feed-list-item.component.ts","../../../../libs/core/feed-list-item/components/item/feed-list-item.component.html","../../../../libs/core/feed-list-item/components/list/feed-list.component.ts","../../../../libs/core/feed-list-item/components/list/feed-list.component.html","../../../../libs/core/feed-list-item/directives/byline.directive.ts","../../../../libs/core/feed-list-item/feed-list-item.module.ts","../../../../libs/core/feed-list-item/fundamental-ngx-core-feed-list-item.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'fd-feed-list-action',\n template: '<ng-content></ng-content>',\n host: { class: 'fd-feed-list__actions' },\n standalone: true\n})\nexport class FeedListActionComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'fd-feed-list-avatar',\n template: '<ng-content></ng-content>',\n host: { class: 'fd-feed-list__thumb' },\n standalone: true\n})\nexport class FeedListAvatarComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'fd-feed-list-footer',\n template: '<ng-content></ng-content>',\n host: { class: 'fd-feed-list__footer' },\n standalone: true\n})\nexport class FeedListFooterComponent {}\n","export const CSS_CLASS_NAME = {\n list: 'fd-feed-list',\n item: 'fd-feed-list__item'\n};\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\nimport { CssClassBuilder, Nullable, applyCssClass } from '@fundamental-ngx/cdk/utils';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { SafePipe, TruncatePipe } from '@fundamental-ngx/cdk/utils';\nimport { FormattedTextComponent } from '@fundamental-ngx/core/formatted-text';\nimport { LinkComponent } from '@fundamental-ngx/core/link';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { CSS_CLASS_NAME } from '../../constants';\n\n@Component({\n selector: 'fd-feed-list-item',\n templateUrl: './feed-list-item.component.html',\n styleUrl: './feed-list-item.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgTemplateOutlet, FormattedTextComponent, LinkComponent, SafePipe, TruncatePipe, FdTranslatePipe]\n})\nexport class FeedListItemComponent implements OnInit, OnChanges, CssClassBuilder {\n /** User's custom classes */\n @Input()\n class: string;\n\n /**\n * Author of feed\n */\n @Input()\n authorTitle: string;\n\n /**\n * Link to Author of feed\n */\n @Input()\n authorLink: Nullable<string>;\n\n /**\n * Feed text\n */\n @Input()\n text: string;\n\n /**\n * Max preview characters of Feed text. If you have more than max characters text, you can toggle preview/full text with more/less button.\n */\n @Input()\n maxChars: number;\n\n /**\n * Sets the `aria-label` attribute to the element.\n */\n @Input()\n ariaLabel = '';\n\n /**\n * aria-labelledby for element describing.\n */\n @Input()\n ariaLabelledby: string;\n\n /**\n * Apply rich feed text, please note - we use a formatted text component with this option, it has a list of controlled tags and attibutes.\n * This feature should be handled with care as it allows for countless custom layouts.\n */\n @Input()\n isRichText = false;\n\n /**\n * Apply mobile view\n */\n @Input()\n mobile = false;\n\n /**\n * Apply body class by default\n */\n @HostBinding('class.fd-feed-list__body')\n isFeedListItemBody = true;\n\n /** @hidden */\n maxCharsAtDefault = false;\n\n /**\n * Shows toggle state of feed text - more or less\n */\n isCollapsed = true;\n\n /**\n * Shows have you more line than max lines\n */\n hasMore = false;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef) {}\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 [CSS_CLASS_NAME.item, this.class, this.isRichText ? '' : `${CSS_CLASS_NAME.item}--collapsible`];\n }\n\n /** @hidden */\n setHasMore(): void {\n if (this.text) {\n this.hasMore = this.text.length > this.maxChars;\n }\n }\n\n /** @hidden */\n setDefaultMaxChars(): void {\n this.maxChars = this.mobile ? 300 : 500;\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n if (!this.maxChars) {\n this.setDefaultMaxChars();\n this.maxCharsAtDefault = true;\n }\n this.setHasMore();\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if ('class' in changes || 'isRichText' in changes) {\n this.buildComponentCssClass();\n }\n this.maxCharsAtDefault && this.setDefaultMaxChars();\n this.setHasMore();\n }\n\n /** @hidden */\n toggleTextView(): void {\n this.isCollapsed = !this.isCollapsed;\n }\n}\n","@if (mobile) {\n <div class=\"fd-feed-list__wrapper\">\n <div class=\"fd-feed-list__wrapper fd-feed-list__wrapper--header\">\n <ng-template [ngTemplateOutlet]=\"avatarContent\"></ng-template>\n <div>\n <ng-template [ngTemplateOutlet]=\"author\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"footerContent\"></ng-template>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"actionContent\"></ng-template>\n </div>\n} @else {\n <ng-content select=\"fd-feed-list-avatar\"></ng-content>\n}\n<div class=\"fd-feed-list__content\">\n @if (!mobile) {\n <ng-template [ngTemplateOutlet]=\"actionContent\"></ng-template>\n }\n <p class=\"fd-feed-list__text\">\n @if (!isRichText) {\n <ng-template\n [ngTemplateOutlet]=\"feedContent\"\n [ngTemplateOutletContext]=\"{ $implicit: author }\"\n ></ng-template>\n } @else {\n <ng-template [ngTemplateOutlet]=\"author\"></ng-template>\n <fd-formatted-text [htmlText]=\"text\"></fd-formatted-text>\n }\n </p>\n @if (!mobile) {\n <ng-template [ngTemplateOutlet]=\"footerContent\"></ng-template>\n }\n</div>\n<ng-template #avatarContent>\n <ng-content select=\"fd-feed-list-avatar\"></ng-content>\n</ng-template>\n<ng-template #actionContent>\n <ng-content select=\"fd-feed-list-action\"></ng-content>\n</ng-template>\n<ng-template #footerContent>\n <ng-content select=\"fd-feed-list-footer\"></ng-content>\n</ng-template>\n<ng-template #author>\n <span class=\"fd-feed-list__name\">\n @if (authorLink) {\n <a\n target=\"_blank\"\n fd-link\n [attr.title]=\"authorTitle\"\n [attr.href]=\"authorLink | safe: 'url'\"\n [emphasized]=\"true\"\n >\n <ng-template [ngTemplateOutlet]=\"authorTitleTemplate\"></ng-template>\n </a>\n } @else {\n {{ authorTitle }}\n }\n :\n </span>\n</ng-template>\n<ng-template #authorTitleTemplate>\n {{ authorTitle }}\n</ng-template>\n<ng-template #feedContent let-param>\n <ng-template [ngTemplateOutlet]=\"param\"></ng-template>\n <span>\n {{ isCollapsed ? (text | truncate: maxChars) : text }}\n </span>\n @if (!isRichText && hasMore) {\n <a fd-link class=\"fd-feed-list__link--more\" tabindex=\"0\" (click)=\"toggleTextView()\">{{\n isCollapsed\n ? ('coreFeedListItem.moreLabel' | fdTranslate: { count: (text ? text.length : 0) - maxChars })\n : ('coreFeedListItem.lessLabel' | fdTranslate)\n }}</a>\n }\n</ng-template>\n","import {\n AfterContentChecked,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n QueryList,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { Subscription } from 'rxjs';\n\nimport { CSS_CLASS_NAME } from '../../constants';\nimport { FeedListItemComponent } from '../item/feed-list-item.component';\n\n@Component({\n selector: 'fd-feed-list',\n templateUrl: './feed-list.component.html',\n styleUrl: './feed-list.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class FeedListComponent implements OnInit, AfterContentChecked, OnDestroy, OnChanges, CssClassBuilder {\n /** User's custom classes */\n @Input()\n class: string;\n /**\n * Sets the `aria-label` attribute to the element.\n */\n @Input()\n ariaLabel = '';\n /**\n * aria-labelledby for element describing.\n */\n @Input()\n ariaLabelledby: string;\n /**\n * Apply mobile view\n */\n @Input()\n mobile = false;\n /**\n * Feed list items will be display in a group.\n */\n @Input()\n isGroup = true;\n /**\n * It removes border if items are displaying in a group.\n */\n @Input()\n borderLess = false;\n /**\n * Gets feed list items\n */\n @ContentChildren(FeedListItemComponent)\n feedItems: QueryList<FeedListItemComponent>;\n\n /** @hidden */\n private $feedItemChanges: Subscription;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef) {}\n\n /** @hidden */\n ngAfterContentChecked(): void {\n this._refreshItems();\n this._listenOnFeedItems();\n }\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if ('mobile' in changes || 'borderLess' in changes) {\n this.buildComponentCssClass();\n this._refreshItems();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n if (this.$feedItemChanges) {\n this.$feedItemChanges.unsubscribe();\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 CSS_CLASS_NAME.list,\n this.class,\n this.borderLess ? `${CSS_CLASS_NAME.list}--no-border` : '',\n this.isGroup ? `${CSS_CLASS_NAME.list}--group` : '',\n this.mobile ? `${CSS_CLASS_NAME.list}--s` : ''\n ];\n }\n\n /** @hidden */\n private _listenOnFeedItems(): void {\n this.$feedItemChanges = this.feedItems.changes.subscribe(() => this._refreshItems());\n }\n\n /** @hidden */\n private _refreshItems(): void {\n (this.feedItems || []).forEach((feedItem) => {\n feedItem.mobile = this.mobile;\n if (feedItem.maxCharsAtDefault && this.mobile) {\n feedItem.setDefaultMaxChars();\n feedItem.setHasMore();\n }\n });\n }\n}\n","<ng-content select=\"fd-feed-list-item\"></ng-content>\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-item-footer-byline]',\n standalone: true\n})\nexport class FeedListFooterBylineDirective {\n /** @hidden */\n @HostBinding('class.fd-feed-list__footer--byline')\n fdBylineClass = true;\n}\n","import { NgModule } from '@angular/core';\n\nimport { FeedListActionComponent } from './components/feed-list-action/feed-list-action.component';\nimport { FeedListAvatarComponent } from './components/feed-list-avatar/feed-list-avatar.component';\nimport { FeedListFooterComponent } from './components/feed-list-footer/feed-list-footer.component';\nimport { FeedListItemComponent } from './components/item/feed-list-item.component';\nimport { FeedListComponent } from './components/list/feed-list.component';\nimport { FeedListFooterBylineDirective } from './directives/byline.directive';\n\nconst components = [\n FeedListComponent,\n FeedListItemComponent,\n FeedListAvatarComponent,\n FeedListActionComponent,\n FeedListFooterComponent,\n FeedListFooterBylineDirective\n];\n\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class FeedListItemModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-feed-list-item.mjs","sources":["../../../../libs/core/feed-list-item/components/feed-list-action/feed-list-action.component.ts","../../../../libs/core/feed-list-item/components/feed-list-avatar/feed-list-avatar.component.ts","../../../../libs/core/feed-list-item/components/feed-list-footer/feed-list-footer.component.ts","../../../../libs/core/feed-list-item/constants.ts","../../../../libs/core/feed-list-item/components/item/feed-list-item.component.ts","../../../../libs/core/feed-list-item/components/item/feed-list-item.component.html","../../../../libs/core/feed-list-item/components/list/feed-list.component.ts","../../../../libs/core/feed-list-item/components/list/feed-list.component.html","../../../../libs/core/feed-list-item/directives/byline.directive.ts","../../../../libs/core/feed-list-item/feed-list-item.module.ts","../../../../libs/core/feed-list-item/fundamental-ngx-core-feed-list-item.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'fd-feed-list-action',\n template: '<ng-content></ng-content>',\n host: { class: 'fd-feed-list__actions' },\n standalone: true\n})\nexport class FeedListActionComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'fd-feed-list-avatar',\n template: '<ng-content></ng-content>',\n host: { class: 'fd-feed-list__thumb' },\n standalone: true\n})\nexport class FeedListAvatarComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'fd-feed-list-footer',\n template: '<ng-content></ng-content>',\n host: { class: 'fd-feed-list__footer' },\n standalone: true\n})\nexport class FeedListFooterComponent {}\n","export const CSS_CLASS_NAME = {\n list: 'fd-feed-list',\n item: 'fd-feed-list__item'\n};\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\nimport { CssClassBuilder, Nullable, applyCssClass } from '@fundamental-ngx/cdk/utils';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { SafePipe, TruncatePipe } from '@fundamental-ngx/cdk/utils';\nimport { FormattedTextComponent } from '@fundamental-ngx/core/formatted-text';\nimport { LinkComponent } from '@fundamental-ngx/core/link';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { CSS_CLASS_NAME } from '../../constants';\n\n@Component({\n selector: 'fd-feed-list-item',\n templateUrl: './feed-list-item.component.html',\n styleUrl: './feed-list-item.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgTemplateOutlet, FormattedTextComponent, LinkComponent, SafePipe, TruncatePipe, FdTranslatePipe]\n})\nexport class FeedListItemComponent implements OnInit, OnChanges, CssClassBuilder {\n /** User's custom classes */\n @Input()\n class: string;\n\n /**\n * Author of feed\n */\n @Input()\n authorTitle: string;\n\n /**\n * Link to Author of feed\n */\n @Input()\n authorLink: Nullable<string>;\n\n /**\n * Feed text\n */\n @Input()\n text: string;\n\n /**\n * Max preview characters of Feed text. If you have more than max characters text, you can toggle preview/full text with more/less button.\n */\n @Input()\n maxChars: number;\n\n /**\n * Sets the `aria-label` attribute to the element.\n */\n @Input()\n ariaLabel = '';\n\n /**\n * aria-labelledby for element describing.\n */\n @Input()\n ariaLabelledby: string;\n\n /**\n * Apply rich feed text, please note - we use a formatted text component with this option, it has a list of controlled tags and attibutes.\n * This feature should be handled with care as it allows for countless custom layouts.\n */\n @Input()\n isRichText = false;\n\n /**\n * Apply mobile view\n */\n @Input()\n mobile = false;\n\n /**\n * Apply body class by default\n */\n @HostBinding('class.fd-feed-list__body')\n isFeedListItemBody = true;\n\n /** @hidden */\n maxCharsAtDefault = false;\n\n /**\n * Shows toggle state of feed text - more or less\n */\n isCollapsed = true;\n\n /**\n * Shows have you more line than max lines\n */\n hasMore = false;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef) {}\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 [CSS_CLASS_NAME.item, this.class, this.isRichText ? '' : `${CSS_CLASS_NAME.item}--collapsible`];\n }\n\n /** @hidden */\n setHasMore(): void {\n if (this.text) {\n this.hasMore = this.text.length > this.maxChars;\n }\n }\n\n /** @hidden */\n setDefaultMaxChars(): void {\n this.maxChars = this.mobile ? 300 : 500;\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n if (!this.maxChars) {\n this.setDefaultMaxChars();\n this.maxCharsAtDefault = true;\n }\n this.setHasMore();\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if ('class' in changes || 'isRichText' in changes) {\n this.buildComponentCssClass();\n }\n this.maxCharsAtDefault && this.setDefaultMaxChars();\n this.setHasMore();\n }\n\n /** @hidden */\n toggleTextView(): void {\n this.isCollapsed = !this.isCollapsed;\n }\n}\n","@if (mobile) {\n <div class=\"fd-feed-list__wrapper\">\n <div class=\"fd-feed-list__wrapper fd-feed-list__wrapper--header\">\n <ng-template [ngTemplateOutlet]=\"avatarContent\"></ng-template>\n <div>\n <ng-template [ngTemplateOutlet]=\"author\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"footerContent\"></ng-template>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"actionContent\"></ng-template>\n </div>\n} @else {\n <ng-content select=\"fd-feed-list-avatar\"></ng-content>\n}\n<div class=\"fd-feed-list__content\">\n @if (!mobile) {\n <ng-template [ngTemplateOutlet]=\"actionContent\"></ng-template>\n }\n <p class=\"fd-feed-list__text\">\n @if (!isRichText) {\n <ng-template\n [ngTemplateOutlet]=\"feedContent\"\n [ngTemplateOutletContext]=\"{ $implicit: author }\"\n ></ng-template>\n } @else {\n <ng-template [ngTemplateOutlet]=\"author\"></ng-template>\n <fd-formatted-text [htmlText]=\"text\"></fd-formatted-text>\n }\n </p>\n @if (!mobile) {\n <ng-template [ngTemplateOutlet]=\"footerContent\"></ng-template>\n }\n</div>\n<ng-template #avatarContent>\n <ng-content select=\"fd-feed-list-avatar\"></ng-content>\n</ng-template>\n<ng-template #actionContent>\n <ng-content select=\"fd-feed-list-action\"></ng-content>\n</ng-template>\n<ng-template #footerContent>\n <ng-content select=\"fd-feed-list-footer\"></ng-content>\n</ng-template>\n<ng-template #author>\n <span class=\"fd-feed-list__name\">\n @if (authorLink) {\n <a\n target=\"_blank\"\n fd-link\n [attr.title]=\"authorTitle\"\n [attr.href]=\"authorLink | safe: 'url'\"\n [emphasized]=\"true\"\n >\n <ng-template [ngTemplateOutlet]=\"authorTitleTemplate\"></ng-template>\n </a>\n } @else {\n {{ authorTitle }}\n }\n :\n </span>\n</ng-template>\n<ng-template #authorTitleTemplate>\n {{ authorTitle }}\n</ng-template>\n<ng-template #feedContent let-param>\n <ng-template [ngTemplateOutlet]=\"param\"></ng-template>\n <span>\n {{ isCollapsed ? (text | truncate: maxChars) : text }}\n </span>\n @if (!isRichText && hasMore) {\n <a fd-link class=\"fd-feed-list__link--more\" tabindex=\"0\" (click)=\"toggleTextView()\">{{\n isCollapsed\n ? ('coreFeedListItem.moreLabel' | fdTranslate: { count: (text ? text.length : 0) - maxChars })\n : ('coreFeedListItem.lessLabel' | fdTranslate)\n }}</a>\n }\n</ng-template>\n","import {\n AfterContentChecked,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n QueryList,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { Subscription } from 'rxjs';\n\nimport { CSS_CLASS_NAME } from '../../constants';\nimport { FeedListItemComponent } from '../item/feed-list-item.component';\n\n@Component({\n selector: 'fd-feed-list',\n templateUrl: './feed-list.component.html',\n styleUrl: './feed-list.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class FeedListComponent implements OnInit, AfterContentChecked, OnDestroy, OnChanges, CssClassBuilder {\n /** User's custom classes */\n @Input()\n class: string;\n /**\n * Sets the `aria-label` attribute to the element.\n */\n @Input()\n ariaLabel = '';\n /**\n * aria-labelledby for element describing.\n */\n @Input()\n ariaLabelledby: string;\n /**\n * Apply mobile view\n */\n @Input()\n mobile = false;\n /**\n * Feed list items will be display in a group.\n */\n @Input()\n isGroup = true;\n /**\n * It removes border if items are displaying in a group.\n */\n @Input()\n borderLess = false;\n /**\n * Gets feed list items\n */\n @ContentChildren(FeedListItemComponent)\n feedItems: QueryList<FeedListItemComponent>;\n\n /** @hidden */\n private $feedItemChanges: Subscription;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef) {}\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 CSS_CLASS_NAME.list,\n this.class,\n this.borderLess ? `${CSS_CLASS_NAME.list}--no-border` : '',\n this.isGroup ? `${CSS_CLASS_NAME.list}--group` : '',\n this.mobile ? `${CSS_CLASS_NAME.list}--s` : ''\n ];\n }\n /** @hidden */\n ngAfterContentChecked(): void {\n this._refreshItems();\n this._listenOnFeedItems();\n }\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if ('mobile' in changes || 'borderLess' in changes) {\n this.buildComponentCssClass();\n this._refreshItems();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n if (this.$feedItemChanges) {\n this.$feedItemChanges.unsubscribe();\n }\n }\n\n /** @hidden */\n private _listenOnFeedItems(): void {\n this.$feedItemChanges = this.feedItems.changes.subscribe(() => this._refreshItems());\n }\n\n /** @hidden */\n private _refreshItems(): void {\n (this.feedItems || []).forEach((feedItem) => {\n feedItem.mobile = this.mobile;\n if (feedItem.maxCharsAtDefault && this.mobile) {\n feedItem.setDefaultMaxChars();\n feedItem.setHasMore();\n }\n });\n }\n}\n","<ng-content select=\"fd-feed-list-item\"></ng-content>\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-item-footer-byline]',\n standalone: true\n})\nexport class FeedListFooterBylineDirective {\n /** @hidden */\n @HostBinding('class.fd-feed-list__footer--byline')\n fdBylineClass = true;\n}\n","import { NgModule } from '@angular/core';\n\nimport { FeedListActionComponent } from './components/feed-list-action/feed-list-action.component';\nimport { FeedListAvatarComponent } from './components/feed-list-avatar/feed-list-avatar.component';\nimport { FeedListFooterComponent } from './components/feed-list-footer/feed-list-footer.component';\nimport { FeedListItemComponent } from './components/item/feed-list-item.component';\nimport { FeedListComponent } from './components/list/feed-list.component';\nimport { FeedListFooterBylineDirective } from './directives/byline.directive';\n\nconst components = [\n FeedListComponent,\n FeedListItemComponent,\n FeedListAvatarComponent,\n FeedListActionComponent,\n FeedListFooterComponent,\n FeedListFooterBylineDirective\n];\n\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class FeedListItemModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -246,10 +246,6 @@ class FileUploaderComponent {
|
|
|
246
246
|
this.state = 'default';
|
|
247
247
|
/** Whether or not to hide the input, leaving only the upload/browse button. */
|
|
248
248
|
this.inputHidden = false;
|
|
249
|
-
/** * It stores the valid files */
|
|
250
|
-
this.validFiles = [];
|
|
251
|
-
/** * It stores the invalid files */
|
|
252
|
-
this.invalidFiles = [];
|
|
253
249
|
/** Event fired when files are selected. Passed object is the array of files selected. */
|
|
254
250
|
this.selectedFilesChanged = new EventEmitter();
|
|
255
251
|
/** Event fired when some invalid files are selected. Passed object is the array of invalid files. */
|
|
@@ -258,6 +254,10 @@ class FileUploaderComponent {
|
|
|
258
254
|
this.onDragEnter = new EventEmitter();
|
|
259
255
|
/** Event fired when the dragged file exits the component boundaries. */
|
|
260
256
|
this.onDragLeave = new EventEmitter();
|
|
257
|
+
/** * It stores the valid files */
|
|
258
|
+
this.validFiles = [];
|
|
259
|
+
/** * It stores the invalid files */
|
|
260
|
+
this.invalidFiles = [];
|
|
261
261
|
/** @hidden */
|
|
262
262
|
this._subscriptions = new Subscription();
|
|
263
263
|
/** @hidden */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-file-uploader.mjs","sources":["../../../../libs/core/file-uploader/file-uploader.service.ts","../../../../libs/core/file-uploader/directives/file-uploader-dragndrop.directive.ts","../../../../libs/core/file-uploader/directives/file-uploader-select.directive.ts","../../../../libs/core/file-uploader/file-uploader.component.ts","../../../../libs/core/file-uploader/file-uploader.component.html","../../../../libs/core/file-uploader/file-uploader.module.ts","../../../../libs/core/file-uploader/fundamental-ngx-core-file-uploader.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { Nullable, parserFileSize } from '@fundamental-ngx/cdk/utils';\n\nexport interface FileUploadOutput {\n validFiles?: File[];\n invalidFiles?: File[];\n}\n\n@Injectable({ providedIn: 'root' })\nexport class FileUploaderService {\n /**\n * Method that validates files passed. It is based on\n * @param files File[]\n * @param minFileSize string\n * @param maxFileSize string\n * @param acceptedExtensions string\n */\n validateFiles(\n files: File[],\n minFileSize: string,\n maxFileSize: string,\n acceptedExtensions: Nullable<string>\n ): FileUploadOutput {\n const maxSize = parserFileSize(maxFileSize);\n const minSize = parserFileSize(minFileSize);\n\n let allowedExtensions: string[] | null = null;\n if (acceptedExtensions) {\n allowedExtensions = acceptedExtensions.toLocaleLowerCase().replace(/[\\s.]/g, '').split(',');\n }\n\n const fileUploadOutput: FileUploadOutput = {};\n\n fileUploadOutput.validFiles = files.filter(\n (file) => this._checkSize(file.size, maxSize, minSize) && this._checkExtension(file, allowedExtensions)\n );\n fileUploadOutput.invalidFiles = files.filter(\n (file) => !this._checkSize(file.size, maxSize, minSize) || !this._checkExtension(file, allowedExtensions)\n );\n\n return fileUploadOutput;\n }\n\n /** @hidden */\n private _checkExtension(file: File, allowedExtensions: string[] | null): boolean {\n if (!allowedExtensions) {\n return true;\n }\n const extension = file.name.split('.')[file.name.split('.').length - 1].toLocaleLowerCase();\n return allowedExtensions.lastIndexOf(extension) !== -1;\n }\n\n /** @hidden */\n private _checkSize(fileSize: number, maxSize: number, minSize: number): boolean {\n if (maxSize && fileSize > maxSize) {\n return false;\n }\n if (minSize && fileSize < minSize) {\n return false;\n }\n return true;\n }\n}\n","import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { FileUploadOutput, FileUploaderService } from '../file-uploader.service';\n\n/**\n * Directive that handles the drag and drop feature of the file input.\n */\n@Directive({\n selector: '[fdFileDragnDrop], [fd-file-drag-n-drop]',\n standalone: true\n})\nexport class FileUploaderDragndropDirective {\n /** Whether multiple files can be dropped at once. */\n @Input()\n multiple = true;\n\n /** Accepted file extensions. Format: `'.png,.jpg'`. */\n @Input()\n accept: string;\n\n /** Max file size in bytes that the input will accept. */\n @Input()\n maxFileSize = '';\n\n /** Min file size in bytes that the input will accept. */\n @Input()\n minFileSize = '';\n\n /** Whether selecting of new files is disabled. */\n @Input()\n disabled = false;\n\n /** Whether drag and drop is enabled. Disables this directive. */\n @Input()\n dragndrop = true;\n\n /** Event emitted when files are dropped. Passes back an array of files. */\n @Output()\n readonly fileChanged = new EventEmitter<FileUploadOutput>();\n\n /** Event emitted when the dragged file enters the dropzone. */\n @Output()\n readonly dragEntered = new EventEmitter<void>();\n\n /** Event emitted when the dragged file exits the dropzone. */\n @Output()\n readonly dragLeave = new EventEmitter<void>();\n\n /** @hidden */\n private elementStateCounter = 0;\n\n /** @hidden */\n constructor(private _fileUploadService: FileUploaderService) {}\n\n /** @hidden */\n @HostListener('dragover', ['$event'])\n public onDragover(event: Event): void {\n if (this.dragndrop) {\n this._muteEvent(event);\n }\n }\n\n /** @hidden */\n @HostListener('dragenter', [])\n public onDragenter(): void {\n ++this.elementStateCounter;\n if (this.dragndrop && this.elementStateCounter === 1) {\n this.dragEntered.emit();\n }\n }\n\n /** @hidden */\n @HostListener('dragleave', ['$event'])\n public onDragleave(event: Event): void {\n --this.elementStateCounter;\n if (this.dragndrop && this.elementStateCounter === 0) {\n this._muteEvent(event);\n this.dragLeave.emit();\n }\n }\n\n /** @hidden */\n @HostListener('drop', ['$event'])\n public onDrop(event: any): void {\n this.elementStateCounter = 0;\n\n if (!this.dragndrop || this.disabled) {\n return;\n }\n this._muteEvent(event);\n const rawFiles = event.dataTransfer.files;\n const files: File[] = Array.from(rawFiles);\n\n if (!this.multiple && files.length > 1) {\n this.fileChanged.emit({\n validFiles: [],\n invalidFiles: files\n });\n return;\n }\n\n const fileOutput: FileUploadOutput = this._fileUploadService.validateFiles(\n files,\n this.minFileSize,\n this.maxFileSize,\n this.accept\n );\n\n this.fileChanged.emit(fileOutput);\n }\n\n /** @hidden */\n private _muteEvent(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n }\n}\n","import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\n\n/**\n * Directive tool to facilitate interacting with a native file input element.\n */\n@Directive({\n selector: '[fdFileSelect]',\n standalone: true\n})\nexport class FileUploaderSelectDirective {\n /** Whether the input should accept multiple file selections. */\n @Input()\n private multiple = true;\n\n /** Event emitted when files are selected. */\n @Output()\n readonly fileSelected = new EventEmitter<File[]>();\n\n /** @hidden */\n @HostBinding('attr.multiple')\n get multipleBinding(): boolean | undefined {\n return this.multiple ? true : undefined;\n }\n\n /** @hidden */\n @HostListener('change', ['$event'])\n onChange(event: Event): void {\n if (event.target instanceof HTMLInputElement) {\n const elRef = <HTMLInputElement>event.target;\n const files = elRef.files;\n if (files?.length) {\n const fileArray = Array.from(files);\n this.fileSelected.emit(fileArray);\n }\n }\n }\n}\n","import { ENTER, SPACE, TAB } from '@angular/cdk/keycodes';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation,\n forwardRef\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { KeyUtil, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { FormItemControl, registerFormItemControl } from '@fundamental-ngx/core/form';\nimport { stateType } from '@fundamental-ngx/core/radio';\nimport { Subscription } from 'rxjs';\nimport { FileUploaderDragndropDirective } from './directives/file-uploader-dragndrop.directive';\nimport { FileUploaderSelectDirective } from './directives/file-uploader-select.directive';\nimport { FileUploadOutput, FileUploaderService } from './file-uploader.service';\n\nlet fileUploaderInputUniqueId = 0;\n\n/**\n * Tool to facilitate the input of files from the user.\n * It supports drag and drop, multiple input, max file size and more.\n * The drag events make it very easy to create and style elements like a dropzone.\n */\n@Component({\n selector: 'fd-file-uploader',\n templateUrl: './file-uploader.component.html',\n styleUrl: './file-uploader.component.scss',\n host: {\n '(blur)': 'onTouched()',\n class: 'fd-file-uploader'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FileUploaderComponent),\n multi: true\n },\n registerFormItemControl(FileUploaderComponent),\n contentDensityObserverProviders()\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [FileUploaderDragndropDirective, ButtonComponent, FileUploaderSelectDirective]\n})\nexport class FileUploaderComponent implements ControlValueAccessor, OnDestroy, FormItemControl {\n /** @hidden */\n @ViewChild('fileInput')\n inputRef: ElementRef<HTMLInputElement>;\n\n /** @hidden */\n @ViewChild('textInput')\n inputRefText: ElementRef;\n\n /** Whether the file input is disabled. */\n @Input()\n disabled = false;\n\n /** If it is mandatory field */\n @Input()\n required = false;\n\n /** Whether the file input should accept multiple files. */\n @Input()\n multiple = true;\n\n /** Accepted file extensions. Format: `'.png,.jpg'`. */\n @Input()\n accept: string;\n\n /** Whether the file input accepts drag and dropped files. */\n @Input()\n dragndrop = true;\n\n /** Max file size in bytes that the input will accept. */\n @Input()\n maxFileSize = '';\n\n /** Min file size in bytes that the input will accept. */\n @Input()\n minFileSize = '';\n\n /** Id for the input element. */\n @Input()\n id: string = 'fd-file-uploader-input' + fileUploaderInputUniqueId++;\n\n /** aria-label value for input element. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** aria-label-by value for input element.*/\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** placeholder for input element. */\n @Input()\n placeholder: string;\n\n /** button value */\n @Input()\n buttonLabel: string;\n\n /** value for input element. */\n @Input()\n buttonAriaLabel: Nullable<string>;\n\n /** The field to set state of radio button using:\n * 'success' | 'error' | 'warning' | 'default' | 'information'\n * by default value is set to 'default'\n */\n @Input()\n state: stateType = 'default';\n\n /** specifies number of files to allow to select */\n @Input()\n fileLimit: number;\n\n /** Whether or not to hide the input, leaving only the upload/browse button. */\n @Input()\n inputHidden = false;\n\n /** Width of the file uploader */\n @Input()\n width: string;\n\n /** * It stores the valid files */\n validFiles: File[] = [];\n\n /** * It stores the invalid files */\n invalidFiles: File[] = [];\n\n /** Event fired when files are selected. Passed object is the array of files selected. */\n @Output()\n readonly selectedFilesChanged = new EventEmitter<File[]>();\n\n /** Event fired when some invalid files are selected. Passed object is the array of invalid files. */\n @Output()\n readonly selectedInvalidFiles = new EventEmitter<File[]>();\n\n /** Event fired when the dragged file enters the component boundaries. */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onDragEnter = new EventEmitter<void>();\n\n /** Event fired when the dragged file exits the component boundaries. */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onDragLeave = new EventEmitter<void>();\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n private _fileUploadService: FileUploaderService,\n private _changeDetRef: ChangeDetectorRef,\n readonly _contentDensityObserver: ContentDensityObserver\n ) {}\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n onChange: (values: File[]) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._changeDetRef.detectChanges();\n }\n\n /** @hidden */\n writeValue(files: File[]): void {\n if (files && files.length === 0) {\n this.clear();\n } else if (this._isEmpty()) {\n return;\n } else {\n this._propagateFiles();\n }\n }\n\n /** @hidden */\n handleDrop(files: FileUploadOutput): void {\n this.validFiles = files.validFiles ?? [];\n this.invalidFiles = files.invalidFiles ?? [];\n this._propagateFiles();\n }\n\n /** @hidden */\n selectHandler(event: File[]): void {\n this.validateFiles(event);\n this._propagateFiles();\n }\n\n /** @hidden */\n validateFiles(event: File[]): void {\n if (this.fileLimit && event.length > this.fileLimit) {\n throw new Error('FileLimitError - Selected files count is more than specified limit ');\n }\n\n const fileOutput: FileUploadOutput = this._fileUploadService.validateFiles(\n event,\n this.minFileSize,\n this.maxFileSize,\n this.accept\n );\n\n this.validFiles = fileOutput.validFiles ?? [];\n this.invalidFiles = fileOutput.invalidFiles ?? [];\n }\n\n /** @hidden */\n setInputValue(selectedFiles: File[], fromClear = false): void {\n let fileName = '';\n selectedFiles.forEach((file) => (fileName = fileName.concat(' ' + file.name)));\n if (!this.inputRefText) {\n return;\n }\n this.inputRefText.nativeElement.value = fileName;\n this.inputRefText.nativeElement.title = fileName;\n if (fileName) {\n this.inputRefText.nativeElement.placeholder = fileName;\n } else {\n this.inputRefText.nativeElement.placeholder = this.placeholder;\n this.inputRefText.nativeElement.title = this.placeholder;\n }\n if (!fromClear) {\n this.inputRefText.nativeElement.focus();\n }\n }\n\n /** @hidden */\n keyDownHandle(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n this.open();\n } else if (KeyUtil.isKeyCode(event, [TAB])) {\n return;\n }\n event.preventDefault();\n }\n\n /**\n * Opens the file selector.\n */\n public open(): void {\n this.inputRef.nativeElement.click();\n }\n\n /**\n * Clears the files from the input.\n */\n public clear(): void {\n this.validFiles = [];\n this.invalidFiles = [];\n // Clears selection in file uploader input.\n this.inputRef.nativeElement.value = '';\n this._propagateFiles();\n }\n\n /** @hidden */\n private _isEmpty(): boolean {\n return this.validFiles.length === 0 && this.invalidFiles.length === 0;\n }\n\n /** @hidden */\n private _propagateFiles(): void {\n this.setInputValue(this.validFiles);\n this.onChange(this.validFiles);\n this.selectedFilesChanged.emit(this.validFiles);\n this.selectedInvalidFiles.emit(this.invalidFiles);\n }\n}\n","<div\n class=\"fd-file-uploader__container\"\n fdFileDragnDrop\n [accept]=\"accept\"\n [maxFileSize]=\"maxFileSize\"\n [minFileSize]=\"minFileSize\"\n [dragndrop]=\"dragndrop\"\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n (fileChanged)=\"handleDrop($event)\"\n (dragEntered)=\"onDragEnter.emit()\"\n (dragLeave)=\"onDragLeave.emit()\"\n>\n <input\n #textInput\n class=\"fd-input fd-file-uploader__input\"\n [class]=\"state ? ' is-' + state : ''\"\n aria-live=\"polite\"\n autocomplete=\"off\"\n type=\"text\"\n tabindex=\"0\"\n [id]=\"id\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-required]=\"required\"\n [title]=\"ariaLabel\"\n [placeholder]=\"placeholder\"\n [value]=\"\"\n [style.width]=\"width\"\n [hidden]=\"inputHidden\"\n [disabled]=\"disabled\"\n (click)=\"open()\"\n (keydown)=\"keyDownHandle($event)\"\n />\n\n <button\n fd-button\n class=\"file-uploader__button\"\n [attr.aria-label]=\"buttonAriaLabel\"\n [label]=\"buttonLabel\"\n [disabled]=\"disabled\"\n (click)=\"open()\"\n ></button>\n <ng-content select=\"[fd-form-control]\"></ng-content>\n</div>\n\n<input\n #fileInput\n fdFileSelect\n class=\"fd-file-uploader__hidden\"\n type=\"file\"\n [attr.accept]=\"accept\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n (fileSelected)=\"selectHandler($event)\"\n/>\n","import { NgModule } from '@angular/core';\nimport { FileUploaderDragndropDirective } from './directives/file-uploader-dragndrop.directive';\nimport { FileUploaderSelectDirective } from './directives/file-uploader-select.directive';\nimport { FileUploaderComponent } from './file-uploader.component';\n\nconst components = [FileUploaderComponent, FileUploaderSelectDirective, FileUploaderDragndropDirective];\n\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class FileUploaderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.FileUploaderService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-file-uploader.mjs","sources":["../../../../libs/core/file-uploader/file-uploader.service.ts","../../../../libs/core/file-uploader/directives/file-uploader-dragndrop.directive.ts","../../../../libs/core/file-uploader/directives/file-uploader-select.directive.ts","../../../../libs/core/file-uploader/file-uploader.component.ts","../../../../libs/core/file-uploader/file-uploader.component.html","../../../../libs/core/file-uploader/file-uploader.module.ts","../../../../libs/core/file-uploader/fundamental-ngx-core-file-uploader.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { Nullable, parserFileSize } from '@fundamental-ngx/cdk/utils';\n\nexport interface FileUploadOutput {\n validFiles?: File[];\n invalidFiles?: File[];\n}\n\n@Injectable({ providedIn: 'root' })\nexport class FileUploaderService {\n /**\n * Method that validates files passed. It is based on\n * @param files File[]\n * @param minFileSize string\n * @param maxFileSize string\n * @param acceptedExtensions string\n */\n validateFiles(\n files: File[],\n minFileSize: string,\n maxFileSize: string,\n acceptedExtensions: Nullable<string>\n ): FileUploadOutput {\n const maxSize = parserFileSize(maxFileSize);\n const minSize = parserFileSize(minFileSize);\n\n let allowedExtensions: string[] | null = null;\n if (acceptedExtensions) {\n allowedExtensions = acceptedExtensions.toLocaleLowerCase().replace(/[\\s.]/g, '').split(',');\n }\n\n const fileUploadOutput: FileUploadOutput = {};\n\n fileUploadOutput.validFiles = files.filter(\n (file) => this._checkSize(file.size, maxSize, minSize) && this._checkExtension(file, allowedExtensions)\n );\n fileUploadOutput.invalidFiles = files.filter(\n (file) => !this._checkSize(file.size, maxSize, minSize) || !this._checkExtension(file, allowedExtensions)\n );\n\n return fileUploadOutput;\n }\n\n /** @hidden */\n private _checkExtension(file: File, allowedExtensions: string[] | null): boolean {\n if (!allowedExtensions) {\n return true;\n }\n const extension = file.name.split('.')[file.name.split('.').length - 1].toLocaleLowerCase();\n return allowedExtensions.lastIndexOf(extension) !== -1;\n }\n\n /** @hidden */\n private _checkSize(fileSize: number, maxSize: number, minSize: number): boolean {\n if (maxSize && fileSize > maxSize) {\n return false;\n }\n if (minSize && fileSize < minSize) {\n return false;\n }\n return true;\n }\n}\n","import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { FileUploadOutput, FileUploaderService } from '../file-uploader.service';\n\n/**\n * Directive that handles the drag and drop feature of the file input.\n */\n@Directive({\n selector: '[fdFileDragnDrop], [fd-file-drag-n-drop]',\n standalone: true\n})\nexport class FileUploaderDragndropDirective {\n /** Whether multiple files can be dropped at once. */\n @Input()\n multiple = true;\n\n /** Accepted file extensions. Format: `'.png,.jpg'`. */\n @Input()\n accept: string;\n\n /** Max file size in bytes that the input will accept. */\n @Input()\n maxFileSize = '';\n\n /** Min file size in bytes that the input will accept. */\n @Input()\n minFileSize = '';\n\n /** Whether selecting of new files is disabled. */\n @Input()\n disabled = false;\n\n /** Whether drag and drop is enabled. Disables this directive. */\n @Input()\n dragndrop = true;\n\n /** Event emitted when files are dropped. Passes back an array of files. */\n @Output()\n readonly fileChanged = new EventEmitter<FileUploadOutput>();\n\n /** Event emitted when the dragged file enters the dropzone. */\n @Output()\n readonly dragEntered = new EventEmitter<void>();\n\n /** Event emitted when the dragged file exits the dropzone. */\n @Output()\n readonly dragLeave = new EventEmitter<void>();\n\n /** @hidden */\n private elementStateCounter = 0;\n\n /** @hidden */\n constructor(private _fileUploadService: FileUploaderService) {}\n\n /** @hidden */\n @HostListener('dragover', ['$event'])\n public onDragover(event: Event): void {\n if (this.dragndrop) {\n this._muteEvent(event);\n }\n }\n\n /** @hidden */\n @HostListener('dragenter', [])\n public onDragenter(): void {\n ++this.elementStateCounter;\n if (this.dragndrop && this.elementStateCounter === 1) {\n this.dragEntered.emit();\n }\n }\n\n /** @hidden */\n @HostListener('dragleave', ['$event'])\n public onDragleave(event: Event): void {\n --this.elementStateCounter;\n if (this.dragndrop && this.elementStateCounter === 0) {\n this._muteEvent(event);\n this.dragLeave.emit();\n }\n }\n\n /** @hidden */\n @HostListener('drop', ['$event'])\n public onDrop(event: any): void {\n this.elementStateCounter = 0;\n\n if (!this.dragndrop || this.disabled) {\n return;\n }\n this._muteEvent(event);\n const rawFiles = event.dataTransfer.files;\n const files: File[] = Array.from(rawFiles);\n\n if (!this.multiple && files.length > 1) {\n this.fileChanged.emit({\n validFiles: [],\n invalidFiles: files\n });\n return;\n }\n\n const fileOutput: FileUploadOutput = this._fileUploadService.validateFiles(\n files,\n this.minFileSize,\n this.maxFileSize,\n this.accept\n );\n\n this.fileChanged.emit(fileOutput);\n }\n\n /** @hidden */\n private _muteEvent(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n }\n}\n","import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\n\n/**\n * Directive tool to facilitate interacting with a native file input element.\n */\n@Directive({\n selector: '[fdFileSelect]',\n standalone: true\n})\nexport class FileUploaderSelectDirective {\n /** Whether the input should accept multiple file selections. */\n @Input()\n multiple = true;\n\n /** Event emitted when files are selected. */\n @Output()\n readonly fileSelected = new EventEmitter<File[]>();\n\n /** @hidden */\n @HostBinding('attr.multiple')\n get multipleBinding(): boolean | undefined {\n return this.multiple ? true : undefined;\n }\n\n /** @hidden */\n @HostListener('change', ['$event'])\n onChange(event: Event): void {\n if (event.target instanceof HTMLInputElement) {\n const elRef = <HTMLInputElement>event.target;\n const files = elRef.files;\n if (files?.length) {\n const fileArray = Array.from(files);\n this.fileSelected.emit(fileArray);\n }\n }\n }\n}\n","import { ENTER, SPACE, TAB } from '@angular/cdk/keycodes';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation,\n forwardRef\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { KeyUtil, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { FormItemControl, registerFormItemControl } from '@fundamental-ngx/core/form';\nimport { stateType } from '@fundamental-ngx/core/radio';\nimport { Subscription } from 'rxjs';\nimport { FileUploaderDragndropDirective } from './directives/file-uploader-dragndrop.directive';\nimport { FileUploaderSelectDirective } from './directives/file-uploader-select.directive';\nimport { FileUploadOutput, FileUploaderService } from './file-uploader.service';\n\nlet fileUploaderInputUniqueId = 0;\n\n/**\n * Tool to facilitate the input of files from the user.\n * It supports drag and drop, multiple input, max file size and more.\n * The drag events make it very easy to create and style elements like a dropzone.\n */\n@Component({\n selector: 'fd-file-uploader',\n templateUrl: './file-uploader.component.html',\n styleUrl: './file-uploader.component.scss',\n host: {\n '(blur)': 'onTouched()',\n class: 'fd-file-uploader'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FileUploaderComponent),\n multi: true\n },\n registerFormItemControl(FileUploaderComponent),\n contentDensityObserverProviders()\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [FileUploaderDragndropDirective, ButtonComponent, FileUploaderSelectDirective]\n})\nexport class FileUploaderComponent implements ControlValueAccessor, OnDestroy, FormItemControl {\n /** @hidden */\n @ViewChild('fileInput')\n inputRef: ElementRef<HTMLInputElement>;\n\n /** @hidden */\n @ViewChild('textInput')\n inputRefText: ElementRef;\n\n /** Whether the file input is disabled. */\n @Input()\n disabled = false;\n\n /** If it is mandatory field */\n @Input()\n required = false;\n\n /** Whether the file input should accept multiple files. */\n @Input()\n multiple = true;\n\n /** Accepted file extensions. Format: `'.png,.jpg'`. */\n @Input()\n accept: string;\n\n /** Whether the file input accepts drag and dropped files. */\n @Input()\n dragndrop = true;\n\n /** Max file size in bytes that the input will accept. */\n @Input()\n maxFileSize = '';\n\n /** Min file size in bytes that the input will accept. */\n @Input()\n minFileSize = '';\n\n /** Id for the input element. */\n @Input()\n id: string = 'fd-file-uploader-input' + fileUploaderInputUniqueId++;\n\n /** aria-label value for input element. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** aria-label-by value for input element.*/\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** placeholder for input element. */\n @Input()\n placeholder: string;\n\n /** button value */\n @Input()\n buttonLabel: string;\n\n /** value for input element. */\n @Input()\n buttonAriaLabel: Nullable<string>;\n\n /** The field to set state of radio button using:\n * 'success' | 'error' | 'warning' | 'default' | 'information'\n * by default value is set to 'default'\n */\n @Input()\n state: stateType = 'default';\n\n /** specifies number of files to allow to select */\n @Input()\n fileLimit: number;\n\n /** Whether or not to hide the input, leaving only the upload/browse button. */\n @Input()\n inputHidden = false;\n\n /** Width of the file uploader */\n @Input()\n width: string;\n\n /** Event fired when files are selected. Passed object is the array of files selected. */\n @Output()\n readonly selectedFilesChanged = new EventEmitter<File[]>();\n\n /** Event fired when some invalid files are selected. Passed object is the array of invalid files. */\n @Output()\n readonly selectedInvalidFiles = new EventEmitter<File[]>();\n\n /** Event fired when the dragged file enters the component boundaries. */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onDragEnter = new EventEmitter<void>();\n\n /** Event fired when the dragged file exits the component boundaries. */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n readonly onDragLeave = new EventEmitter<void>();\n\n /** * It stores the valid files */\n validFiles: File[] = [];\n\n /** * It stores the invalid files */\n invalidFiles: File[] = [];\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n private _fileUploadService: FileUploaderService,\n private _changeDetRef: ChangeDetectorRef,\n readonly _contentDensityObserver: ContentDensityObserver\n ) {}\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n onChange: (values: File[]) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._changeDetRef.detectChanges();\n }\n\n /** @hidden */\n writeValue(files: File[]): void {\n if (files && files.length === 0) {\n this.clear();\n } else if (this._isEmpty()) {\n return;\n } else {\n this._propagateFiles();\n }\n }\n\n /** @hidden */\n handleDrop(files: FileUploadOutput): void {\n this.validFiles = files.validFiles ?? [];\n this.invalidFiles = files.invalidFiles ?? [];\n this._propagateFiles();\n }\n\n /** @hidden */\n selectHandler(event: File[]): void {\n this.validateFiles(event);\n this._propagateFiles();\n }\n\n /** @hidden */\n validateFiles(event: File[]): void {\n if (this.fileLimit && event.length > this.fileLimit) {\n throw new Error('FileLimitError - Selected files count is more than specified limit ');\n }\n\n const fileOutput: FileUploadOutput = this._fileUploadService.validateFiles(\n event,\n this.minFileSize,\n this.maxFileSize,\n this.accept\n );\n\n this.validFiles = fileOutput.validFiles ?? [];\n this.invalidFiles = fileOutput.invalidFiles ?? [];\n }\n\n /** @hidden */\n setInputValue(selectedFiles: File[], fromClear = false): void {\n let fileName = '';\n selectedFiles.forEach((file) => (fileName = fileName.concat(' ' + file.name)));\n if (!this.inputRefText) {\n return;\n }\n this.inputRefText.nativeElement.value = fileName;\n this.inputRefText.nativeElement.title = fileName;\n if (fileName) {\n this.inputRefText.nativeElement.placeholder = fileName;\n } else {\n this.inputRefText.nativeElement.placeholder = this.placeholder;\n this.inputRefText.nativeElement.title = this.placeholder;\n }\n if (!fromClear) {\n this.inputRefText.nativeElement.focus();\n }\n }\n\n /** @hidden */\n keyDownHandle(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n this.open();\n } else if (KeyUtil.isKeyCode(event, [TAB])) {\n return;\n }\n event.preventDefault();\n }\n\n /**\n * Opens the file selector.\n */\n public open(): void {\n this.inputRef.nativeElement.click();\n }\n\n /**\n * Clears the files from the input.\n */\n public clear(): void {\n this.validFiles = [];\n this.invalidFiles = [];\n // Clears selection in file uploader input.\n this.inputRef.nativeElement.value = '';\n this._propagateFiles();\n }\n\n /** @hidden */\n private _isEmpty(): boolean {\n return this.validFiles.length === 0 && this.invalidFiles.length === 0;\n }\n\n /** @hidden */\n private _propagateFiles(): void {\n this.setInputValue(this.validFiles);\n this.onChange(this.validFiles);\n this.selectedFilesChanged.emit(this.validFiles);\n this.selectedInvalidFiles.emit(this.invalidFiles);\n }\n}\n","<div\n class=\"fd-file-uploader__container\"\n fdFileDragnDrop\n [accept]=\"accept\"\n [maxFileSize]=\"maxFileSize\"\n [minFileSize]=\"minFileSize\"\n [dragndrop]=\"dragndrop\"\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n (fileChanged)=\"handleDrop($event)\"\n (dragEntered)=\"onDragEnter.emit()\"\n (dragLeave)=\"onDragLeave.emit()\"\n>\n <input\n #textInput\n class=\"fd-input fd-file-uploader__input\"\n [class]=\"state ? ' is-' + state : ''\"\n aria-live=\"polite\"\n autocomplete=\"off\"\n type=\"text\"\n tabindex=\"0\"\n [id]=\"id\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-required]=\"required\"\n [title]=\"ariaLabel\"\n [placeholder]=\"placeholder\"\n [value]=\"\"\n [style.width]=\"width\"\n [hidden]=\"inputHidden\"\n [disabled]=\"disabled\"\n (click)=\"open()\"\n (keydown)=\"keyDownHandle($event)\"\n />\n\n <button\n fd-button\n class=\"file-uploader__button\"\n [attr.aria-label]=\"buttonAriaLabel\"\n [label]=\"buttonLabel\"\n [disabled]=\"disabled\"\n (click)=\"open()\"\n ></button>\n <ng-content select=\"[fd-form-control]\"></ng-content>\n</div>\n\n<input\n #fileInput\n fdFileSelect\n class=\"fd-file-uploader__hidden\"\n type=\"file\"\n [attr.accept]=\"accept\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n (fileSelected)=\"selectHandler($event)\"\n/>\n","import { NgModule } from '@angular/core';\nimport { FileUploaderDragndropDirective } from './directives/file-uploader-dragndrop.directive';\nimport { FileUploaderSelectDirective } from './directives/file-uploader-select.directive';\nimport { FileUploaderComponent } from './file-uploader.component';\n\nconst components = [FileUploaderComponent, FileUploaderSelectDirective, FileUploaderDragndropDirective];\n\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class FileUploaderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.FileUploaderService"],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ class FixedCardLayoutItemComponent {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: FixedCardLayoutItemComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: FixedCardLayoutItemComponent, isStandalone: true, selector: "fd-fixed-card-layout-item", host: {
|
|
26
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: FixedCardLayoutItemComponent, isStandalone: true, selector: "fd-fixed-card-layout-item", host: { properties: { "style.display": "\"block\"" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27
27
|
}
|
|
28
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: FixedCardLayoutItemComponent, decorators: [{
|
|
29
29
|
type: Component,
|
|
@@ -32,7 +32,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
32
32
|
template: `<ng-content></ng-content>`,
|
|
33
33
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
34
34
|
host: {
|
|
35
|
-
style: '
|
|
35
|
+
'[style.display]': '"block"'
|
|
36
36
|
},
|
|
37
37
|
standalone: true
|
|
38
38
|
}]
|