@lucca-front/ng 22.0.0-rc.2 → 22.0.0-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/lucca-front-ng-a11y.mjs +125 -8
- package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-activity-feed.mjs +74 -27
- package/fesm2022/lucca-front-ng-activity-feed.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-api.mjs +116 -78
- package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-app-layout.mjs +4 -4
- package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-box.mjs +44 -6
- package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs +15 -9
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-bubble-icon.mjs +28 -13
- package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-bubble-illustration.mjs +20 -10
- package/fesm2022/lucca-front-ng-bubble-illustration.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-callout.mjs +105 -63
- package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-chip.mjs +33 -13
- package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-clear.mjs +17 -8
- package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-code.mjs +4 -4
- package/fesm2022/lucca-front-ng-code.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-color.mjs +16 -8
- package/fesm2022/lucca-front-ng-color.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-comment.mjs +48 -27
- package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-container.mjs +13 -6
- package/fesm2022/lucca-front-ng-container.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-api.mjs +70 -24
- package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-department.mjs +31 -18
- package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-establishment.mjs +21 -15
- package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +12 -9
- package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-legal-units.mjs +168 -0
- package/fesm2022/lucca-front-ng-core-select-legal-units.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs +9 -6
- package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-user.mjs +65 -41
- package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs +355 -236
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core.mjs +86 -29
- package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-data-table.mjs +143 -81
- package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date.mjs +91 -62
- package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date2.mjs +375 -161
- package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-department.mjs +31 -27
- package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dialog.mjs +71 -51
- package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-divider.mjs +16 -8
- package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dropdown.mjs +42 -41
- package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-empty-state.mjs +56 -30
- package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-error-page.mjs +15 -7
- package/fesm2022/lucca-front-ng-error-page.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-establishment.mjs +57 -45
- package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-fancy-box.mjs +23 -11
- package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-file-upload.mjs +135 -69
- package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-filter-pills.mjs +83 -52
- package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-footer.mjs +17 -8
- package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-field.mjs +124 -71
- package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-header.mjs +12 -6
- package/fesm2022/lucca-front-ng-form-header.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-label.mjs +65 -42
- package/fesm2022/lucca-front-ng-form-label.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form.mjs +9 -6
- package/fesm2022/lucca-front-ng-form.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-formly.mjs +58 -58
- package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +58 -40
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs +3 -3
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +8 -9
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs +3 -3
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +263 -105
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs +370 -154
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-gauge.mjs +23 -13
- package/fesm2022/lucca-front-ng-gauge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-grid.mjs +39 -18
- package/fesm2022/lucca-front-ng-grid.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-highlight-data.mjs +50 -15
- package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-highlight-text.mjs +28 -0
- package/fesm2022/lucca-front-ng-highlight-text.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +174 -17
- package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-impersonation.mjs +124 -0
- package/fesm2022/lucca-front-ng-impersonation.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-index-table.mjs +82 -54
- package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-inline-message.mjs +17 -7
- package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-input.mjs +27 -24
- package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-link.mjs +54 -23
- package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-listbox.mjs +31 -18
- package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-listing.mjs +16 -12
- package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-loading.mjs +13 -6
- package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-main-layout.mjs +6 -6
- package/fesm2022/lucca-front-ng-main-layout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-mobile-push.mjs +15 -5
- package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-modal.mjs +32 -26
- package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-multi-select.mjs +247 -123
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-new-badge.mjs +5 -4
- package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-number-format.mjs +14 -10
- package/fesm2022/lucca-front-ng-number-format.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-number.mjs +7 -7
- package/fesm2022/lucca-front-ng-number.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-numeric-badge.mjs +24 -12
- package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-option.mjs +160 -140
- package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-page-header.mjs +12 -8
- package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-pagination.mjs +26 -10
- package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-plg-push.mjs +14 -8
- package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover.mjs +23 -20
- package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover2.mjs +107 -35
- package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popup.mjs +10 -10
- package/fesm2022/lucca-front-ng-popup.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-progress-bar.mjs +13 -6
- package/fesm2022/lucca-front-ng-progress-bar.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-progress-stepper.mjs +22 -12
- package/fesm2022/lucca-front-ng-progress-stepper.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-read-more.mjs +38 -17
- package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-resource-card.mjs +26 -17
- package/fesm2022/lucca-front-ng-resource-card.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-safe-content.mjs +10 -10
- package/fesm2022/lucca-front-ng-safe-content.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-scroll-box.mjs +8 -6
- package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-scroll.mjs +14 -10
- package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +26 -14
- package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-segmented-control.mjs +12 -10
- package/fesm2022/lucca-front-ng-segmented-control.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-select.mjs +30 -23
- package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
- package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select.mjs +66 -50
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-skeleton.mjs +131 -62
- package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs +16 -11
- package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-software-icon.mjs +34 -25
- package/fesm2022/lucca-front-ng-software-icon.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-sortable-list.mjs +14 -11
- package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-status-badge.mjs +15 -7
- package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-table-of-content.mjs +8 -7
- package/fesm2022/lucca-front-ng-table-of-content.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tag.mjs +22 -11
- package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-text-flow.mjs +4 -4
- package/fesm2022/lucca-front-ng-text-flow.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-time.mjs +416 -80
- package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-title.mjs +34 -15
- package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-toast.mjs +20 -14
- package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tooltip.mjs +60 -30
- package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tree-select.mjs +20 -13
- package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user-popover.mjs +28 -23
- package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user.mjs +172 -113
- package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-vertical-navigation.mjs +34 -24
- package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -1
- package/package.json +20 -8
- package/schematics/action-icon/index.js +34 -1
- package/schematics/action-icon/migration.spec.js +36 -3
- package/schematics/alignment-utilities/migration.spec.js +36 -3
- package/schematics/cdn-urls/migration.spec.js +36 -3
- package/schematics/class-prefix/migration.spec.js +36 -3
- package/schematics/collection.json +10 -0
- package/schematics/color-text/migration.spec.js +36 -3
- package/schematics/component-path/migration.spec.js +36 -3
- package/schematics/deprecated-resolver/index.js +73 -0
- package/schematics/deprecated-resolver/migration.spec.js +58 -0
- package/schematics/deprecated-resolver/schema.json +23 -0
- package/schematics/empty-state-title/migration.spec.js +35 -2
- package/schematics/lib/css-mapper.js +44 -6
- package/schematics/lib/deprecated-mapper.js +109 -0
- package/schematics/lib/index.js +1 -0
- package/schematics/lib/lf-schematic-context.js +34 -1
- package/schematics/lib/local-deps/package-lock.json +17 -79
- package/schematics/lib/local-deps/package.json +1 -1
- package/schematics/lib/local-deps/postcss.js +34 -1
- package/schematics/lib/migration-test.js +5 -2
- package/schematics/lib/scss-ast.js +53 -0
- package/schematics/lu-button/migration.spec.js +34 -1
- package/schematics/lu-container/migration.spec.js +34 -1
- package/schematics/lu-grid/index.js +23 -0
- package/schematics/lu-grid/migration.js +237 -0
- package/schematics/lu-grid/migration.spec.js +56 -0
- package/schematics/lu-grid/migration.utils.js +60 -0
- package/schematics/lu-grid/schema.json +23 -0
- package/schematics/lu-icon/migration.spec.js +34 -1
- package/schematics/lu-loading/migration.spec.js +34 -1
- package/schematics/lu-select/migration.spec.js +34 -1
- package/schematics/lu-text-input/migration.spec.js +34 -1
- package/schematics/new-icons/index.js +35 -2
- package/schematics/new-icons/migration.spec.js +36 -3
- package/schematics/package.json +3 -0
- package/schematics/palettes/index.js +17 -2
- package/schematics/palettes/migration.spec.js +36 -3
- package/schematics/tokens-radius/migration.spec.js +36 -3
- package/schematics/tokens-spacing/migration.spec.js +36 -3
- package/schematics/tokens-typo/migration.spec.js +36 -3
- package/src/components/_picker.scss +6 -1
- package/src/components/_popover.scss +1 -2
- package/src/definitions/option/_option-item.scss +6 -25
- package/types/lucca-front-ng-a11y.d.ts +30 -2
- package/types/lucca-front-ng-activity-feed.d.ts +18 -3
- package/types/lucca-front-ng-api.d.ts +14 -8
- package/types/lucca-front-ng-box.d.ts +6 -1
- package/types/lucca-front-ng-bubble-icon.d.ts +12 -3
- package/types/lucca-front-ng-bubble-illustration.d.ts +11 -5
- package/types/lucca-front-ng-callout.d.ts +24 -16
- package/types/lucca-front-ng-chip.d.ts +10 -1
- package/types/lucca-front-ng-clear.d.ts +9 -3
- package/types/lucca-front-ng-color.d.ts +8 -1
- package/types/lucca-front-ng-comment.d.ts +8 -1
- package/types/lucca-front-ng-container.d.ts +8 -1
- package/types/lucca-front-ng-core-select-api.d.ts +13 -1
- package/types/lucca-front-ng-core-select-department.d.ts +3 -2
- package/types/lucca-front-ng-core-select-legal-units.d.ts +56 -0
- package/types/lucca-front-ng-core-select-user.d.ts +2 -1
- package/types/lucca-front-ng-core-select.d.ts +34 -15
- package/types/lucca-front-ng-core.d.ts +31 -8
- package/types/lucca-front-ng-data-table.d.ts +18 -3
- package/types/lucca-front-ng-date2.d.ts +28 -9
- package/types/lucca-front-ng-dialog.d.ts +13 -2
- package/types/lucca-front-ng-divider.d.ts +8 -1
- package/types/lucca-front-ng-empty-state.d.ts +16 -8
- package/types/lucca-front-ng-error-page.d.ts +9 -4
- package/types/lucca-front-ng-fancy-box.d.ts +8 -1
- package/types/lucca-front-ng-file-upload.d.ts +23 -11
- package/types/lucca-front-ng-filter-pills.d.ts +0 -1
- package/types/lucca-front-ng-footer.d.ts +11 -2
- package/types/lucca-front-ng-form-field.d.ts +34 -17
- package/types/lucca-front-ng-form-header.d.ts +9 -2
- package/types/lucca-front-ng-form-label.d.ts +13 -5
- package/types/lucca-front-ng-form.d.ts +2 -0
- package/types/lucca-front-ng-forms-phone-number-input.d.ts +19 -12
- package/types/lucca-front-ng-forms-rich-text-input.d.ts +17 -2
- package/types/lucca-front-ng-forms.d.ts +90 -22
- package/types/lucca-front-ng-gauge.d.ts +1 -1
- package/types/lucca-front-ng-grid.d.ts +23 -8
- package/types/lucca-front-ng-highlight-data.d.ts +16 -1
- package/types/lucca-front-ng-highlight-text.d.ts +12 -0
- package/types/lucca-front-ng-horizontal-navigation.d.ts +40 -3
- package/types/lucca-front-ng-impersonation.d.ts +33 -0
- package/types/lucca-front-ng-index-table.d.ts +19 -4
- package/types/lucca-front-ng-inline-message.d.ts +11 -4
- package/types/lucca-front-ng-input.d.ts +2 -1
- package/types/lucca-front-ng-link.d.ts +13 -3
- package/types/lucca-front-ng-listbox.d.ts +8 -1
- package/types/lucca-front-ng-listing.d.ts +1 -1
- package/types/lucca-front-ng-loading.d.ts +8 -1
- package/types/lucca-front-ng-modal.d.ts +1 -1
- package/types/lucca-front-ng-multi-select.d.ts +3 -0
- package/types/lucca-front-ng-numeric-badge.d.ts +9 -2
- package/types/lucca-front-ng-pagination.d.ts +8 -1
- package/types/lucca-front-ng-popover2.d.ts +23 -2
- package/types/lucca-front-ng-progress-bar.d.ts +8 -1
- package/types/lucca-front-ng-progress-stepper.d.ts +8 -1
- package/types/lucca-front-ng-read-more.d.ts +8 -1
- package/types/lucca-front-ng-resource-card.d.ts +10 -1
- package/types/lucca-front-ng-segmented-control-tabs.d.ts +2 -0
- package/types/lucca-front-ng-segmented-control.d.ts +4 -2
- package/types/lucca-front-ng-simple-select.d.ts +16 -17
- package/types/lucca-front-ng-skeleton.d.ts +51 -19
- package/types/lucca-front-ng-software-icon.d.ts +11 -6
- package/types/lucca-front-ng-sortable-list.d.ts +2 -1
- package/types/lucca-front-ng-status-badge.d.ts +9 -2
- package/types/lucca-front-ng-tag.d.ts +9 -2
- package/types/lucca-front-ng-time.d.ts +89 -8
- package/types/lucca-front-ng-title.d.ts +6 -1
- package/types/lucca-front-ng-tooltip.d.ts +7 -2
- package/types/lucca-front-ng-user.d.ts +19 -5
- package/types/lucca-front-ng-vertical-navigation.d.ts +1 -1
|
@@ -1,8 +1,117 @@
|
|
|
1
|
-
import { DOCUMENT } from '@angular/common';
|
|
2
1
|
import * as i0 from '@angular/core';
|
|
3
|
-
import {
|
|
2
|
+
import { signal, computed, untracked, Injectable, inject, ElementRef, Renderer2, input, linkedSignal, effect, Directive, InjectionToken, DOCUMENT, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
4
3
|
import { intlInputOptions } from '@lucca-front/ng/core';
|
|
5
4
|
|
|
5
|
+
class SkipLinksService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.#links = signal([], /* @ts-ignore */
|
|
8
|
+
...(ngDevMode ? [{ debugName: "#links" }] : /* istanbul ignore next */ []));
|
|
9
|
+
this.links = computed(() => {
|
|
10
|
+
return [...this.#links()].sort((a, b) => {
|
|
11
|
+
const pos = a.host.compareDocumentPosition(b.host);
|
|
12
|
+
if (pos & Node.DOCUMENT_POSITION_PRECEDING)
|
|
13
|
+
return 1;
|
|
14
|
+
if (pos & Node.DOCUMENT_POSITION_FOLLOWING)
|
|
15
|
+
return -1;
|
|
16
|
+
return 0;
|
|
17
|
+
});
|
|
18
|
+
}, /* @ts-ignore */
|
|
19
|
+
...(ngDevMode ? [{ debugName: "links" }] : /* istanbul ignore next */ []));
|
|
20
|
+
}
|
|
21
|
+
#links;
|
|
22
|
+
register(link) {
|
|
23
|
+
this.#links.set([...untracked(this.links), link]);
|
|
24
|
+
}
|
|
25
|
+
unregister(link) {
|
|
26
|
+
this.#links.set(untracked(this.#links).filter((l) => l.id !== link.id));
|
|
27
|
+
}
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SkipLinksService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SkipLinksService, providedIn: 'root' }); }
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SkipLinksService, decorators: [{
|
|
32
|
+
type: Injectable,
|
|
33
|
+
args: [{ providedIn: 'root' }]
|
|
34
|
+
}] });
|
|
35
|
+
|
|
36
|
+
let nextId = 0;
|
|
37
|
+
class SkipLinkDirective {
|
|
38
|
+
#service;
|
|
39
|
+
#host;
|
|
40
|
+
#renderer;
|
|
41
|
+
#link;
|
|
42
|
+
#registeredLink;
|
|
43
|
+
ngOnDestroy() {
|
|
44
|
+
if (this.#registeredLink) {
|
|
45
|
+
this.#service.unregister(this.#registeredLink);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
constructor() {
|
|
49
|
+
this.#service = inject(SkipLinksService);
|
|
50
|
+
this.#host = inject(ElementRef);
|
|
51
|
+
this.#renderer = inject(Renderer2);
|
|
52
|
+
this.luSkipLinkLabel = input.required(/* @ts-ignore */
|
|
53
|
+
...(ngDevMode ? [{ debugName: "luSkipLinkLabel" }] : /* istanbul ignore next */ []));
|
|
54
|
+
this.luSkipLinkTarget = input('', /* @ts-ignore */
|
|
55
|
+
...(ngDevMode ? [{ debugName: "luSkipLinkTarget" }] : /* istanbul ignore next */ []));
|
|
56
|
+
this.linkTarget = linkedSignal(() => this.luSkipLinkTarget(), /* @ts-ignore */
|
|
57
|
+
...(ngDevMode ? [{ debugName: "linkTarget" }] : /* istanbul ignore next */ []));
|
|
58
|
+
this.#link = computed(() => {
|
|
59
|
+
return {
|
|
60
|
+
label: this.luSkipLinkLabel(),
|
|
61
|
+
id: this.linkTarget(),
|
|
62
|
+
host: this.#host.nativeElement,
|
|
63
|
+
};
|
|
64
|
+
}, /* @ts-ignore */
|
|
65
|
+
...(ngDevMode ? [{ debugName: "#link" }] : /* istanbul ignore next */ []));
|
|
66
|
+
this.#registeredLink = null;
|
|
67
|
+
effect(() => {
|
|
68
|
+
const link = this.#link();
|
|
69
|
+
const currentId = this.#host.nativeElement.id;
|
|
70
|
+
this.#host.nativeElement.classList.add('skipLinks_target');
|
|
71
|
+
const isFocusable = this.#host.nativeElement.matches('button, a[href], input:not([type="hidden"]), textarea, select, [tabindex]');
|
|
72
|
+
if (!isFocusable) {
|
|
73
|
+
this.#renderer.setAttribute(this.#host.nativeElement, 'tabindex', '-1');
|
|
74
|
+
}
|
|
75
|
+
if (!currentId && !link.id) {
|
|
76
|
+
const id = `skipLink${++nextId}`;
|
|
77
|
+
this.#renderer.setAttribute(this.#host.nativeElement, 'id', id);
|
|
78
|
+
this.linkTarget.set(id);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
if (!currentId) {
|
|
82
|
+
this.#renderer.setAttribute(this.#host.nativeElement, 'id', link.id);
|
|
83
|
+
if (this.#registeredLink) {
|
|
84
|
+
this.#service.unregister(this.#registeredLink);
|
|
85
|
+
}
|
|
86
|
+
this.#registeredLink = link;
|
|
87
|
+
this.#service.register(this.#registeredLink);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
if (!link.id) {
|
|
91
|
+
this.linkTarget.set(currentId);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
if (link.id !== currentId) {
|
|
95
|
+
console.warn('The ID passed as a parameter to luSkipLinkTarget will overwrite the existing ID on the element.');
|
|
96
|
+
this.#renderer.setAttribute(this.#host.nativeElement, 'id', link.id);
|
|
97
|
+
}
|
|
98
|
+
if (this.#registeredLink) {
|
|
99
|
+
this.#service.unregister(this.#registeredLink);
|
|
100
|
+
}
|
|
101
|
+
this.#registeredLink = link;
|
|
102
|
+
this.#service.register(this.#registeredLink);
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SkipLinkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
106
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.7", type: SkipLinkDirective, isStandalone: true, selector: "[luSkipLinkTarget]", inputs: { luSkipLinkLabel: { classPropertyName: "luSkipLinkLabel", publicName: "luSkipLinkLabel", isSignal: true, isRequired: true, transformFunction: null }, luSkipLinkTarget: { classPropertyName: "luSkipLinkTarget", publicName: "luSkipLinkTarget", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
107
|
+
}
|
|
108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SkipLinkDirective, decorators: [{
|
|
109
|
+
type: Directive,
|
|
110
|
+
args: [{
|
|
111
|
+
selector: '[luSkipLinkTarget]',
|
|
112
|
+
}]
|
|
113
|
+
}], ctorParameters: () => [], propDecorators: { luSkipLinkLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "luSkipLinkLabel", required: true }] }], luSkipLinkTarget: [{ type: i0.Input, args: [{ isSignal: true, alias: "luSkipLinkTarget", required: false }] }] } });
|
|
114
|
+
|
|
6
115
|
const Translations = {
|
|
7
116
|
pt: {
|
|
8
117
|
Goto: 'Acesso rápido',
|
|
@@ -52,6 +161,12 @@ const Translations = {
|
|
|
52
161
|
Goto_Nav_Navside: 'Go to the internal navigation menu',
|
|
53
162
|
Goto_Content: 'Go to content',
|
|
54
163
|
},
|
|
164
|
+
pl: {
|
|
165
|
+
Goto: 'Szybki dostęp',
|
|
166
|
+
Goto_Nav_Banner: 'Przejdź do głównej nawigacji',
|
|
167
|
+
Goto_Nav_Navside: 'Przejdź do nawigacji wewnętrznej',
|
|
168
|
+
Goto_Content: 'Przejdź do treści',
|
|
169
|
+
},
|
|
55
170
|
};
|
|
56
171
|
|
|
57
172
|
const LU_SKIP_LINKS_TRANSLATIONS = new InjectionToken('LuModalTranslations', {
|
|
@@ -63,8 +178,10 @@ const luSkipLinksTranslations = Translations;
|
|
|
63
178
|
|
|
64
179
|
class LuSkipLinksComponent {
|
|
65
180
|
constructor() {
|
|
181
|
+
this.skipLinksService = inject(SkipLinksService);
|
|
182
|
+
this.intl = input(...intlInputOptions(LU_SKIP_LINKS_TRANSLATIONS), /* @ts-ignore */
|
|
183
|
+
...(ngDevMode ? [{ debugName: "intl" }] : /* istanbul ignore next */ []));
|
|
66
184
|
this.#document = inject(DOCUMENT);
|
|
67
|
-
this.intl = input(...intlInputOptions(LU_SKIP_LINKS_TRANSLATIONS), ...(ngDevMode ? [{ debugName: "intl" }] : /* istanbul ignore next */ []));
|
|
68
185
|
}
|
|
69
186
|
#document;
|
|
70
187
|
anchor(hash, e) {
|
|
@@ -72,17 +189,17 @@ class LuSkipLinksComponent {
|
|
|
72
189
|
this.#document.location.hash = '';
|
|
73
190
|
this.#document.location.hash = hash;
|
|
74
191
|
}
|
|
75
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
76
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
192
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: LuSkipLinksComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
193
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: LuSkipLinksComponent, isStandalone: true, selector: "lu-skip-links", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<nav role=\"navigation\" id=\"top\" class=\"skipLinks\" [attr.aria-label]=\"intl().Goto\">\n\t<a class=\"skipLinks-action\" href=\"#lucca-banner-solutions-container\" (click)=\"anchor('#lucca-banner-solutions-container', $event)\">{{\n\t\tintl().Goto_Nav_Banner\n\t}}</a>\n\t<a class=\"skipLinks-action\" href=\"#navSide\" (click)=\"anchor('#navSide', $event)\">{{ intl().Goto_Nav_Navside }}</a>\n\t<a class=\"skipLinks-action\" href=\"#main-content\" (click)=\"anchor('#main-content', $event)\">{{ intl().Goto_Content }}</a>\n\n\t@for (link of skipLinksService.links(); track link.id) {\n\t\t<a class=\"skipLinks-action\" [attr.href]=\"`#${link.id}`\" (click)=\"anchor(`#${link.id}`, $event)\">{{ link.label }}</a>\n\t}\n</nav>\n", styles: ["@layer components{.skipLinks{position:fixed;list-style-type:none;justify-content:center;display:flex;flex-direction:column;align-items:center;gap:var(--pr-t-spacings-100);margin:0;padding:0;z-index:9010;inset:var(--pr-t-spacings-150);inset-block-end:auto}.skipLinks_target:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.skipLinks-action{border:0;margin:0;border-radius:var(--pr-t-border-radius-default);font:var(--pr-t-font-body-XS);font-weight:var(--pr-t-font-fontWeight-semibold);padding-block:var(--pr-t-spacings-50);padding-inline:var(--pr-t-spacings-100);transition:all var(--commons-animations-durations-fast);background-color:var(--palettes-neutral-600);display:inline-block;position:relative;text-decoration:none;vertical-align:baseline;white-space:nowrap;color:var(--pr-t-color-text-reverse);cursor:pointer}.skipLinks-action:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.skipLinks-action:not(:focus-visible){border:0;clip-path:rect(1px 1px 1px 1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
77
194
|
}
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
195
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: LuSkipLinksComponent, decorators: [{
|
|
79
196
|
type: Component,
|
|
80
|
-
args: [{ selector: 'lu-skip-links', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<nav role=\"navigation\" id=\"top\" class=\"skipLinks\" [attr.aria-label]=\"intl().Goto\">\n\t<a
|
|
197
|
+
args: [{ selector: 'lu-skip-links', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<nav role=\"navigation\" id=\"top\" class=\"skipLinks\" [attr.aria-label]=\"intl().Goto\">\n\t<a class=\"skipLinks-action\" href=\"#lucca-banner-solutions-container\" (click)=\"anchor('#lucca-banner-solutions-container', $event)\">{{\n\t\tintl().Goto_Nav_Banner\n\t}}</a>\n\t<a class=\"skipLinks-action\" href=\"#navSide\" (click)=\"anchor('#navSide', $event)\">{{ intl().Goto_Nav_Navside }}</a>\n\t<a class=\"skipLinks-action\" href=\"#main-content\" (click)=\"anchor('#main-content', $event)\">{{ intl().Goto_Content }}</a>\n\n\t@for (link of skipLinksService.links(); track link.id) {\n\t\t<a class=\"skipLinks-action\" [attr.href]=\"`#${link.id}`\" (click)=\"anchor(`#${link.id}`, $event)\">{{ link.label }}</a>\n\t}\n</nav>\n", styles: ["@layer components{.skipLinks{position:fixed;list-style-type:none;justify-content:center;display:flex;flex-direction:column;align-items:center;gap:var(--pr-t-spacings-100);margin:0;padding:0;z-index:9010;inset:var(--pr-t-spacings-150);inset-block-end:auto}.skipLinks_target:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.skipLinks-action{border:0;margin:0;border-radius:var(--pr-t-border-radius-default);font:var(--pr-t-font-body-XS);font-weight:var(--pr-t-font-fontWeight-semibold);padding-block:var(--pr-t-spacings-50);padding-inline:var(--pr-t-spacings-100);transition:all var(--commons-animations-durations-fast);background-color:var(--palettes-neutral-600);display:inline-block;position:relative;text-decoration:none;vertical-align:baseline;white-space:nowrap;color:var(--pr-t-color-text-reverse);cursor:pointer}.skipLinks-action:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.skipLinks-action:not(:focus-visible){border:0;clip-path:rect(1px 1px 1px 1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}}\n"] }]
|
|
81
198
|
}], propDecorators: { intl: [{ type: i0.Input, args: [{ isSignal: true, alias: "intl", required: false }] }] } });
|
|
82
199
|
|
|
83
200
|
/**
|
|
84
201
|
* Generated bundle index. Do not edit.
|
|
85
202
|
*/
|
|
86
203
|
|
|
87
|
-
export { ALuSkipLinksLabel, LU_SKIP_LINKS_TRANSLATIONS, LuSkipLinksComponent, luSkipLinksTranslations };
|
|
204
|
+
export { ALuSkipLinksLabel, LU_SKIP_LINKS_TRANSLATIONS, LuSkipLinksComponent, SkipLinkDirective, SkipLinksService, luSkipLinksTranslations };
|
|
88
205
|
//# sourceMappingURL=lucca-front-ng-a11y.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-a11y.mjs","sources":["../../../packages/ng/a11y/skip-links/translations.ts","../../../packages/ng/a11y/skip-links/skip-links.translate.ts","../../../packages/ng/a11y/skip-links/skip-links.component.ts","../../../packages/ng/a11y/skip-links/skip-links.component.html","../../../packages/ng/a11y/lucca-front-ng-a11y.ts"],"sourcesContent":["export const Translations = {\n\tpt: {\n\t\tGoto: 'Acesso rápido',\n\t\tGoto_Nav_Banner: 'Ir para a navegação principal',\n\t\tGoto_Nav_Navside: 'Ir para a navegação interna',\n\t\tGoto_Content: 'Ir para o conteúdo',\n\t},\n\t'nl-BE': {\n\t\tGoto: 'Snelle toegang',\n\t\tGoto_Nav_Banner: 'Ga naar hoofdnavigatie',\n\t\tGoto_Nav_Navside: 'Ga naar interne navigatie',\n\t\tGoto_Content: 'Ga naar inhoud',\n\t},\n\tnl: {\n\t\tGoto: 'Snelle toegang',\n\t\tGoto_Nav_Banner: 'Ga naar hoofdnavigatie',\n\t\tGoto_Nav_Navside: 'Ga naar interne navigatie',\n\t\tGoto_Content: 'Ga naar inhoud',\n\t},\n\tit: {\n\t\tGoto: 'Accesso rapido',\n\t\tGoto_Nav_Banner: 'Vai alla navigazione principale',\n\t\tGoto_Nav_Navside: 'Vai alla navigazione interna',\n\t\tGoto_Content: 'Vai al contenuto',\n\t},\n\tde: {\n\t\tGoto: 'Schnellzugriff',\n\t\tGoto_Nav_Banner: 'Zur Hauptnavigation',\n\t\tGoto_Nav_Navside: 'Zur internen Navigation',\n\t\tGoto_Content: 'Zum Inhalt',\n\t},\n\tfr: {\n\t\tGoto: 'Accès rapides',\n\t\tGoto_Nav_Banner: 'Aller à la navigation principale',\n\t\tGoto_Nav_Navside: 'Aller à la navigation interne',\n\t\tGoto_Content: 'Aller au contenu',\n\t},\n\tes: {\n\t\tGoto: 'Accesos rápidos',\n\t\tGoto_Nav_Banner: 'Ir a la navegación principal',\n\t\tGoto_Nav_Navside: 'Ir a la navegación interna',\n\t\tGoto_Content: 'Ir al contenido',\n\t},\n\ten: {\n\t\tGoto: 'Quick access',\n\t\tGoto_Nav_Banner: 'Go to the main navigation menu',\n\t\tGoto_Nav_Navside: 'Go to the internal navigation menu',\n\t\tGoto_Content: 'Go to content',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_SKIP_LINKS_TRANSLATIONS = new InjectionToken<LuTranslation<ILuSkipLinksLabel>>('LuModalTranslations', {\n\tfactory: () => luSkipLinksTranslations,\n});\n\nexport interface ILuSkipLinksLabel {\n\tGoto: string;\n\tGoto_Nav_Banner: string;\n\tGoto_Nav_Navside: string;\n\tGoto_Content: string;\n}\nexport abstract class ALuSkipLinksLabel {\n\tGoto: string;\n\tGoto_Nav_Banner: string;\n\tGoto_Nav_Navside: string;\n\tGoto_Content: string;\n}\n\nexport const luSkipLinksTranslations: LuTranslation<ILuSkipLinksLabel> = Translations;\n","import { DOCUMENT } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { intlInputOptions } from '@lucca-front/ng/core';\nimport { LU_SKIP_LINKS_TRANSLATIONS } from './skip-links.translate';\n\n@Component({\n\tselector: 'lu-skip-links',\n\ttemplateUrl: './skip-links.component.html',\n\tstyleUrl: './skip-links.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class LuSkipLinksComponent {\n\t#document = inject(DOCUMENT);\n\n\treadonly intl = input(...intlInputOptions(LU_SKIP_LINKS_TRANSLATIONS));\n\n\tanchor(hash: string, e: Event) {\n\t\te.preventDefault();\n\t\tthis.#document.location.hash = '';\n\t\tthis.#document.location.hash = hash;\n\t}\n}\n","<nav role=\"navigation\" id=\"top\" class=\"skipLinks\" [attr.aria-label]=\"intl().Goto\">\n\t<a\n\t\tclass=\"skipLinks-action palette-neutral mod-XS\"\n\t\thref=\"#lucca-banner-solutions-container\"\n\t\t(click)=\"anchor('#lucca-banner-solutions-container', $event)\"\n\t\t>{{ intl().Goto_Nav_Banner }}</a\n\t>\n\t<a class=\"skipLinks-action palette-neutral mod-XS\" href=\"#navSide\" (click)=\"anchor('#navSide', $event)\">{{ intl().Goto_Nav_Navside }}</a>\n\t<a class=\"skipLinks-action palette-neutral mod-XS\" href=\"#main-content\" (click)=\"anchor('#main-content', $event)\">{{\n\t\tintl().Goto_Content\n\t}}</a>\n</nav>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAAO,MAAM,YAAY,GAAG;AAC3B,IAAA,EAAE,EAAE;AACH,QAAA,IAAI,EAAE,eAAe;AACrB,QAAA,eAAe,EAAE,+BAA+B;AAChD,QAAA,gBAAgB,EAAE,6BAA6B;AAC/C,QAAA,YAAY,EAAE,oBAAoB;AAClC,KAAA;AACD,IAAA,OAAO,EAAE;AACR,QAAA,IAAI,EAAE,gBAAgB;AACtB,QAAA,eAAe,EAAE,wBAAwB;AACzC,QAAA,gBAAgB,EAAE,2BAA2B;AAC7C,QAAA,YAAY,EAAE,gBAAgB;AAC9B,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,IAAI,EAAE,gBAAgB;AACtB,QAAA,eAAe,EAAE,wBAAwB;AACzC,QAAA,gBAAgB,EAAE,2BAA2B;AAC7C,QAAA,YAAY,EAAE,gBAAgB;AAC9B,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,IAAI,EAAE,gBAAgB;AACtB,QAAA,eAAe,EAAE,iCAAiC;AAClD,QAAA,gBAAgB,EAAE,8BAA8B;AAChD,QAAA,YAAY,EAAE,kBAAkB;AAChC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,IAAI,EAAE,gBAAgB;AACtB,QAAA,eAAe,EAAE,qBAAqB;AACtC,QAAA,gBAAgB,EAAE,yBAAyB;AAC3C,QAAA,YAAY,EAAE,YAAY;AAC1B,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,IAAI,EAAE,eAAe;AACrB,QAAA,eAAe,EAAE,kCAAkC;AACnD,QAAA,gBAAgB,EAAE,+BAA+B;AACjD,QAAA,YAAY,EAAE,kBAAkB;AAChC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,IAAI,EAAE,iBAAiB;AACvB,QAAA,eAAe,EAAE,8BAA8B;AAC/C,QAAA,gBAAgB,EAAE,4BAA4B;AAC9C,QAAA,YAAY,EAAE,iBAAiB;AAC/B,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,IAAI,EAAE,cAAc;AACpB,QAAA,eAAe,EAAE,gCAAgC;AACjD,QAAA,gBAAgB,EAAE,oCAAoC;AACtD,QAAA,YAAY,EAAE,eAAe;AAC7B,KAAA;CACD;;MC7CY,0BAA0B,GAAG,IAAI,cAAc,CAAmC,qBAAqB,EAAE;AACrH,IAAA,OAAO,EAAE,MAAM,uBAAuB;AACtC,CAAA;MAQqB,iBAAiB,CAAA;AAKtC;AAEM,MAAM,uBAAuB,GAAqC;;MCT5D,oBAAoB,CAAA;AAPjC,IAAA,WAAA,GAAA;AAQC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;QAEnB,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,GAAG,gBAAgB,CAAC,0BAA0B,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AAOtE,IAAA;AATA,IAAA,SAAS;IAIT,MAAM,CAAC,IAAY,EAAE,CAAQ,EAAA;QAC5B,CAAC,CAAC,cAAc,EAAE;QAClB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE;QACjC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI;IACpC;+GATY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,0MCZjC,unBAYA,EAAA,MAAA,EAAA,CAAA,4+BAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDAa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,mBAGR,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,unBAAA,EAAA,MAAA,EAAA,CAAA,4+BAAA,CAAA,EAAA;;;AEVtC;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-a11y.mjs","sources":["../../../packages/ng/a11y/skip-links/skip-links.service.ts","../../../packages/ng/a11y/skip-links/skip-link.directive.ts","../../../packages/ng/a11y/skip-links/translations.ts","../../../packages/ng/a11y/skip-links/skip-links.translate.ts","../../../packages/ng/a11y/skip-links/skip-links.component.ts","../../../packages/ng/a11y/skip-links/skip-links.component.html","../../../packages/ng/a11y/lucca-front-ng-a11y.ts"],"sourcesContent":["import { computed, Injectable, signal, untracked } from '@angular/core';\nimport { LuSkipLink } from './skip-link';\n\n@Injectable({ providedIn: 'root' })\nexport class SkipLinksService {\n\treadonly #links = signal<LuSkipLink[]>([]);\n\n\treadonly links = computed(() => {\n\t\treturn [...this.#links()].sort((a, b) => {\n\t\t\tconst pos = a.host.compareDocumentPosition(b.host);\n\t\t\tif (pos & Node.DOCUMENT_POSITION_PRECEDING) return 1;\n\t\t\tif (pos & Node.DOCUMENT_POSITION_FOLLOWING) return -1;\n\t\t\treturn 0;\n\t\t});\n\t});\n\n\tregister(link: LuSkipLink) {\n\t\tthis.#links.set([...untracked(this.links), link]);\n\t}\n\n\tunregister(link: LuSkipLink) {\n\t\tthis.#links.set(untracked(this.#links).filter((l) => l.id !== link.id));\n\t}\n}\n","import { computed, Directive, effect, ElementRef, inject, input, linkedSignal, OnDestroy, Renderer2 } from '@angular/core';\nimport { LuSkipLink } from './skip-link';\nimport { SkipLinksService } from './skip-links.service';\n\nlet nextId = 0;\n\n@Directive({\n\tselector: '[luSkipLinkTarget]',\n})\nexport class SkipLinkDirective implements OnDestroy {\n\t#service = inject(SkipLinksService);\n\t#host = inject<ElementRef<HTMLElement>>(ElementRef);\n\t#renderer = inject(Renderer2);\n\n\tlink: LuSkipLink;\n\n\treadonly luSkipLinkLabel = input.required<string>();\n\treadonly luSkipLinkTarget = input<string>('');\n\n\treadonly linkTarget = linkedSignal(() => this.luSkipLinkTarget());\n\n\treadonly #link = computed(() => {\n\t\treturn {\n\t\t\tlabel: this.luSkipLinkLabel(),\n\t\t\tid: this.linkTarget(),\n\t\t\thost: this.#host.nativeElement,\n\t\t};\n\t});\n\n\t#registeredLink: LuSkipLink | null = null;\n\n\tngOnDestroy(): void {\n\t\tif (this.#registeredLink) {\n\t\t\tthis.#service.unregister(this.#registeredLink);\n\t\t}\n\t}\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconst link = this.#link();\n\t\t\tconst currentId = this.#host.nativeElement.id;\n\n\t\t\tthis.#host.nativeElement.classList.add('skipLinks_target');\n\n\t\t\tconst isFocusable = this.#host.nativeElement.matches('button, a[href], input:not([type=\"hidden\"]), textarea, select, [tabindex]');\n\n\t\t\tif (!isFocusable) {\n\t\t\t\tthis.#renderer.setAttribute(this.#host.nativeElement, 'tabindex', '-1');\n\t\t\t}\n\n\t\t\tif (!currentId && !link.id) {\n\t\t\t\tconst id = `skipLink${++nextId}`;\n\n\t\t\t\tthis.#renderer.setAttribute(this.#host.nativeElement, 'id', id);\n\t\t\t\tthis.linkTarget.set(id);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!currentId) {\n\t\t\t\tthis.#renderer.setAttribute(this.#host.nativeElement, 'id', link.id);\n\n\t\t\t\tif (this.#registeredLink) {\n\t\t\t\t\tthis.#service.unregister(this.#registeredLink);\n\t\t\t\t}\n\t\t\t\tthis.#registeredLink = link;\n\t\t\t\tthis.#service.register(this.#registeredLink);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!link.id) {\n\t\t\t\tthis.linkTarget.set(currentId);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (link.id !== currentId) {\n\t\t\t\tconsole.warn('The ID passed as a parameter to luSkipLinkTarget will overwrite the existing ID on the element.');\n\t\t\t\tthis.#renderer.setAttribute(this.#host.nativeElement, 'id', link.id);\n\t\t\t}\n\n\t\t\tif (this.#registeredLink) {\n\t\t\t\tthis.#service.unregister(this.#registeredLink);\n\t\t\t}\n\n\t\t\tthis.#registeredLink = link;\n\t\t\tthis.#service.register(this.#registeredLink);\n\t\t});\n\t}\n}\n","export const Translations = {\n\tpt: {\n\t\tGoto: 'Acesso rápido',\n\t\tGoto_Nav_Banner: 'Ir para a navegação principal',\n\t\tGoto_Nav_Navside: 'Ir para a navegação interna',\n\t\tGoto_Content: 'Ir para o conteúdo',\n\t},\n\t'nl-BE': {\n\t\tGoto: 'Snelle toegang',\n\t\tGoto_Nav_Banner: 'Ga naar hoofdnavigatie',\n\t\tGoto_Nav_Navside: 'Ga naar interne navigatie',\n\t\tGoto_Content: 'Ga naar inhoud',\n\t},\n\tnl: {\n\t\tGoto: 'Snelle toegang',\n\t\tGoto_Nav_Banner: 'Ga naar hoofdnavigatie',\n\t\tGoto_Nav_Navside: 'Ga naar interne navigatie',\n\t\tGoto_Content: 'Ga naar inhoud',\n\t},\n\tit: {\n\t\tGoto: 'Accesso rapido',\n\t\tGoto_Nav_Banner: 'Vai alla navigazione principale',\n\t\tGoto_Nav_Navside: 'Vai alla navigazione interna',\n\t\tGoto_Content: 'Vai al contenuto',\n\t},\n\tde: {\n\t\tGoto: 'Schnellzugriff',\n\t\tGoto_Nav_Banner: 'Zur Hauptnavigation',\n\t\tGoto_Nav_Navside: 'Zur internen Navigation',\n\t\tGoto_Content: 'Zum Inhalt',\n\t},\n\tfr: {\n\t\tGoto: 'Accès rapides',\n\t\tGoto_Nav_Banner: 'Aller à la navigation principale',\n\t\tGoto_Nav_Navside: 'Aller à la navigation interne',\n\t\tGoto_Content: 'Aller au contenu',\n\t},\n\tes: {\n\t\tGoto: 'Accesos rápidos',\n\t\tGoto_Nav_Banner: 'Ir a la navegación principal',\n\t\tGoto_Nav_Navside: 'Ir a la navegación interna',\n\t\tGoto_Content: 'Ir al contenido',\n\t},\n\ten: {\n\t\tGoto: 'Quick access',\n\t\tGoto_Nav_Banner: 'Go to the main navigation menu',\n\t\tGoto_Nav_Navside: 'Go to the internal navigation menu',\n\t\tGoto_Content: 'Go to content',\n\t},\n\tpl: {\n\t\tGoto: 'Szybki dostęp',\n\t\tGoto_Nav_Banner: 'Przejdź do głównej nawigacji',\n\t\tGoto_Nav_Navside: 'Przejdź do nawigacji wewnętrznej',\n\t\tGoto_Content: 'Przejdź do treści',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_SKIP_LINKS_TRANSLATIONS = new InjectionToken<LuTranslation<ILuSkipLinksLabel>>('LuModalTranslations', {\n\tfactory: () => luSkipLinksTranslations,\n});\n\nexport interface ILuSkipLinksLabel {\n\tGoto: string;\n\tGoto_Nav_Banner: string;\n\tGoto_Nav_Navside: string;\n\tGoto_Content: string;\n}\nexport abstract class ALuSkipLinksLabel {\n\tGoto: string;\n\tGoto_Nav_Banner: string;\n\tGoto_Nav_Navside: string;\n\tGoto_Content: string;\n}\n\nexport const luSkipLinksTranslations: LuTranslation<ILuSkipLinksLabel> = Translations;\n","import { ChangeDetectionStrategy, Component, DOCUMENT, inject, input, ViewEncapsulation } from '@angular/core';\nimport { intlInputOptions } from '@lucca-front/ng/core';\nimport { SkipLinksService } from './skip-links.service';\nimport { LU_SKIP_LINKS_TRANSLATIONS } from './skip-links.translate';\n\n@Component({\n\tselector: 'lu-skip-links',\n\ttemplateUrl: './skip-links.component.html',\n\tstyleUrl: './skip-links.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class LuSkipLinksComponent {\n\tskipLinksService = inject(SkipLinksService);\n\n\treadonly intl = input(...intlInputOptions(LU_SKIP_LINKS_TRANSLATIONS));\n\n\t#document = inject(DOCUMENT);\n\n\tanchor(hash: string, e: Event) {\n\t\te.preventDefault();\n\t\tthis.#document.location.hash = '';\n\t\tthis.#document.location.hash = hash;\n\t}\n}\n","<nav role=\"navigation\" id=\"top\" class=\"skipLinks\" [attr.aria-label]=\"intl().Goto\">\n\t<a class=\"skipLinks-action\" href=\"#lucca-banner-solutions-container\" (click)=\"anchor('#lucca-banner-solutions-container', $event)\">{{\n\t\tintl().Goto_Nav_Banner\n\t}}</a>\n\t<a class=\"skipLinks-action\" href=\"#navSide\" (click)=\"anchor('#navSide', $event)\">{{ intl().Goto_Nav_Navside }}</a>\n\t<a class=\"skipLinks-action\" href=\"#main-content\" (click)=\"anchor('#main-content', $event)\">{{ intl().Goto_Content }}</a>\n\n\t@for (link of skipLinksService.links(); track link.id) {\n\t\t<a class=\"skipLinks-action\" [attr.href]=\"`#${link.id}`\" (click)=\"anchor(`#${link.id}`, $event)\">{{ link.label }}</a>\n\t}\n</nav>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
import { DatePipe
|
|
1
|
+
import { DatePipe } from '@angular/common';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { InjectionToken, input, inject, LOCALE_ID, computed, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
|
|
4
4
|
import { intlInputOptions, PortalDirective } from '@lucca-front/ng/core';
|
|
5
5
|
import { LuUserPictureComponent } from '@lucca-front/ng/user';
|
|
6
6
|
import { IconComponent } from '@lucca/prisme/icon';
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* Available ActivityFeedComponent Types
|
|
10
|
+
*/
|
|
11
|
+
const ACTIVITY_FEED_STEP_STATUS = ['success', 'critical', 'pending'];
|
|
12
|
+
|
|
8
13
|
const Translations = {
|
|
9
14
|
'nl-BE': {
|
|
10
15
|
replaceByAlt: 'is vervangen door',
|
|
@@ -16,10 +21,10 @@ const Translations = {
|
|
|
16
21
|
replaceByAlt: 'wurde ersetzt durch',
|
|
17
22
|
},
|
|
18
23
|
en: {
|
|
19
|
-
replaceByAlt: '
|
|
24
|
+
replaceByAlt: 'was replaced by',
|
|
20
25
|
},
|
|
21
26
|
es: {
|
|
22
|
-
replaceByAlt: 'ha
|
|
27
|
+
replaceByAlt: 'se ha sustituido por',
|
|
23
28
|
},
|
|
24
29
|
it: {
|
|
25
30
|
replaceByAlt: 'è stato sostituito da',
|
|
@@ -30,6 +35,9 @@ const Translations = {
|
|
|
30
35
|
pt: {
|
|
31
36
|
replaceByAlt: 'foi substituído por',
|
|
32
37
|
},
|
|
38
|
+
pl: {
|
|
39
|
+
replaceByAlt: 'został zastąpiony przez',
|
|
40
|
+
},
|
|
33
41
|
};
|
|
34
42
|
|
|
35
43
|
const LU_ACTIVITY_FEED_TRANSLATIONS = new InjectionToken('luActivityFeedTranslations', {
|
|
@@ -39,7 +47,8 @@ const luActivityFeedTranslations = Translations;
|
|
|
39
47
|
|
|
40
48
|
class ActivityFeedStepComponent {
|
|
41
49
|
constructor() {
|
|
42
|
-
this.intl = input(...intlInputOptions(LU_ACTIVITY_FEED_TRANSLATIONS),
|
|
50
|
+
this.intl = input(...intlInputOptions(LU_ACTIVITY_FEED_TRANSLATIONS), /* @ts-ignore */
|
|
51
|
+
...(ngDevMode ? [{ debugName: "intl" }] : /* istanbul ignore next */ []));
|
|
43
52
|
this.#locale = inject(LOCALE_ID);
|
|
44
53
|
this.#intlDateTimeFormat = new Intl.DateTimeFormat(this.#locale, {
|
|
45
54
|
weekday: 'long',
|
|
@@ -49,37 +58,44 @@ class ActivityFeedStepComponent {
|
|
|
49
58
|
hour: 'numeric',
|
|
50
59
|
minute: 'numeric',
|
|
51
60
|
});
|
|
52
|
-
this.label = input(null,
|
|
53
|
-
|
|
54
|
-
this.
|
|
55
|
-
|
|
61
|
+
this.label = input(null, /* @ts-ignore */
|
|
62
|
+
...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
63
|
+
this.user = input(null, /* @ts-ignore */
|
|
64
|
+
...(ngDevMode ? [{ debugName: "user" }] : /* istanbul ignore next */ []));
|
|
65
|
+
this.status = input(null, /* @ts-ignore */
|
|
66
|
+
...(ngDevMode ? [{ debugName: "status" }] : /* istanbul ignore next */ []));
|
|
67
|
+
this.date = input(null, /* @ts-ignore */
|
|
68
|
+
...(ngDevMode ? [{ debugName: "date" }] : /* istanbul ignore next */ []));
|
|
56
69
|
this.preparedDate = computed(() => {
|
|
57
70
|
const date = this.date();
|
|
58
71
|
if (typeof date === 'string') {
|
|
59
72
|
return new Date(date);
|
|
60
73
|
}
|
|
61
74
|
return date;
|
|
62
|
-
},
|
|
75
|
+
}, /* @ts-ignore */
|
|
76
|
+
...(ngDevMode ? [{ debugName: "preparedDate" }] : /* istanbul ignore next */ []));
|
|
63
77
|
/**
|
|
64
78
|
* format given to the date pipe for display.
|
|
65
79
|
*
|
|
66
80
|
* See https://angular.dev/api/common/DatePipe#custom-format-options
|
|
67
81
|
*/
|
|
68
|
-
this.datePipeFormat = input(
|
|
82
|
+
this.datePipeFormat = input(/* @ts-ignore */
|
|
83
|
+
...(ngDevMode ? [undefined, { debugName: "datePipeFormat" }] : /* istanbul ignore next */ []));
|
|
69
84
|
this.dateDisplay = computed(() => {
|
|
70
85
|
const date = this.preparedDate();
|
|
71
86
|
if (!date) {
|
|
72
87
|
return null;
|
|
73
88
|
}
|
|
74
89
|
return this.#intlDateTimeFormat.format(date);
|
|
75
|
-
},
|
|
90
|
+
}, /* @ts-ignore */
|
|
91
|
+
...(ngDevMode ? [{ debugName: "dateDisplay" }] : /* istanbul ignore next */ []));
|
|
76
92
|
}
|
|
77
93
|
#locale;
|
|
78
94
|
#intlDateTimeFormat;
|
|
79
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
80
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
95
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ActivityFeedStepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
96
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: ActivityFeedStepComponent, isStandalone: true, selector: "lu-activity-feed-step", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, user: { classPropertyName: "user", publicName: "user", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: false, transformFunction: null }, datePipeFormat: { classPropertyName: "datePipeFormat", publicName: "datePipeFormat", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "listitem" }, properties: { "class.mod-pending": "status() === \"pending\"" }, classAttribute: "activityFeed-step" }, ngImport: i0, template: "@if (status() === \"critical\" || status() === \"success\") {\n\t<div class=\"activityFeed-step-state\" [class.mod-critical]=\"status() === 'critical'\" [class.mod-success]=\"status() === 'success'\"></div>\n} @else {\n\t@if (user()) {\n\t\t<div class=\"activityFeed-step-avatar\">\n\t\t\t<lu-user-picture size=\"S\" [user]=\"user()\" />\n\t\t</div>\n\t}\n}\n<div class=\"activityFeed-step-description\">\n\t@if (label()) {\n\t\t<p class=\"activityFeed-step-description-content\">\n\t\t\t<ng-container *luPortal=\"label()\" />\n\t\t</p>\n\t}\n\t@if (date()) {\n\t\t<time class=\"comment-infos-date activityFeed-step-description-time\" [attr.datetime]=\"preparedDate().toISOString()\">\n\t\t\t@if (datePipeFormat()) {\n\t\t\t\t{{ date() | date: datePipeFormat() }}\n\t\t\t} @else {\n\t\t\t\t{{ dateDisplay() }}\n\t\t\t}\n\t\t</time>\n\t}\n\t<div class=\"activityFeed-content\">\n\t\t<ng-content />\n\t</div>\n</div>\n", dependencies: [{ kind: "component", type: LuUserPictureComponent, selector: "lu-user-picture", inputs: ["displayFormat", "user", "AI", "placeholder", "softRounded", "size", "imageLoadingAttribute"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
81
97
|
}
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ActivityFeedStepComponent, decorators: [{
|
|
83
99
|
type: Component,
|
|
84
100
|
args: [{ selector: 'lu-activity-feed-step', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [LuUserPictureComponent, DatePipe, PortalDirective], host: {
|
|
85
101
|
role: 'listitem',
|
|
@@ -88,32 +104,63 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
88
104
|
}, template: "@if (status() === \"critical\" || status() === \"success\") {\n\t<div class=\"activityFeed-step-state\" [class.mod-critical]=\"status() === 'critical'\" [class.mod-success]=\"status() === 'success'\"></div>\n} @else {\n\t@if (user()) {\n\t\t<div class=\"activityFeed-step-avatar\">\n\t\t\t<lu-user-picture size=\"S\" [user]=\"user()\" />\n\t\t</div>\n\t}\n}\n<div class=\"activityFeed-step-description\">\n\t@if (label()) {\n\t\t<p class=\"activityFeed-step-description-content\">\n\t\t\t<ng-container *luPortal=\"label()\" />\n\t\t</p>\n\t}\n\t@if (date()) {\n\t\t<time class=\"comment-infos-date activityFeed-step-description-time\" [attr.datetime]=\"preparedDate().toISOString()\">\n\t\t\t@if (datePipeFormat()) {\n\t\t\t\t{{ date() | date: datePipeFormat() }}\n\t\t\t} @else {\n\t\t\t\t{{ dateDisplay() }}\n\t\t\t}\n\t\t</time>\n\t}\n\t<div class=\"activityFeed-content\">\n\t\t<ng-content />\n\t</div>\n</div>\n" }]
|
|
89
105
|
}], propDecorators: { intl: [{ type: i0.Input, args: [{ isSignal: true, alias: "intl", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], user: [{ type: i0.Input, args: [{ isSignal: true, alias: "user", required: false }] }], status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], date: [{ type: i0.Input, args: [{ isSignal: true, alias: "date", required: false }] }], datePipeFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "datePipeFormat", required: false }] }] } });
|
|
90
106
|
|
|
91
|
-
class
|
|
107
|
+
class ActivityFeedUpdateItemComponent {
|
|
92
108
|
constructor() {
|
|
93
|
-
this
|
|
109
|
+
this.#locale = inject(LOCALE_ID);
|
|
110
|
+
this.intl = input(...intlInputOptions(LU_ACTIVITY_FEED_TRANSLATIONS), /* @ts-ignore */
|
|
111
|
+
...(ngDevMode ? [{ debugName: "intl" }] : /* istanbul ignore next */ []));
|
|
112
|
+
this.label = input.required(/* @ts-ignore */
|
|
113
|
+
...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
114
|
+
this.colonDisplay = computed(() => {
|
|
115
|
+
if (this.#locale === 'fr') {
|
|
116
|
+
return ' :';
|
|
117
|
+
}
|
|
118
|
+
return ':';
|
|
119
|
+
}, /* @ts-ignore */
|
|
120
|
+
...(ngDevMode ? [{ debugName: "colonDisplay" }] : /* istanbul ignore next */ []));
|
|
94
121
|
}
|
|
95
|
-
|
|
96
|
-
static { this.ɵ
|
|
122
|
+
#locale;
|
|
123
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ActivityFeedUpdateItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
124
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.7", type: ActivityFeedUpdateItemComponent, isStandalone: true, selector: "lu-activity-feed-update-item", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "listitem" }, classAttribute: "activityFeed-content-update-item" }, ngImport: i0, template: "<div class=\"activityFeed-content-update-item-object\">\n\t{{ label() }}\n\t{{ colonDisplay() }}\n</div>\n<div class=\"activityFeed-content-update-item-before\">\n\t<ng-content select=\"[activityFeedUpdateBefore]\" />\n</div>\n<lu-icon class=\"activityFeed-content-update-item-icon\" size=\"XS\" icon=\"arrowRight\" [alt]=\"intl().replaceByAlt\" />\n<div class=\"activityFeed-content-update-item-after\">\n\t<ng-content select=\"[activityFeedUpdateAfter]\" />\n</div>\n", dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon, pr-icon", inputs: ["icon", "alt", "size", "color", "AI"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
97
125
|
}
|
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ActivityFeedUpdateItemComponent, decorators: [{
|
|
99
127
|
type: Component,
|
|
100
|
-
args: [{ selector: 'lu-activity-feed-update', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [IconComponent
|
|
128
|
+
args: [{ selector: 'lu-activity-feed-update-item', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [IconComponent], host: {
|
|
129
|
+
role: 'listitem',
|
|
130
|
+
class: 'activityFeed-content-update-item',
|
|
131
|
+
}, template: "<div class=\"activityFeed-content-update-item-object\">\n\t{{ label() }}\n\t{{ colonDisplay() }}\n</div>\n<div class=\"activityFeed-content-update-item-before\">\n\t<ng-content select=\"[activityFeedUpdateBefore]\" />\n</div>\n<lu-icon class=\"activityFeed-content-update-item-icon\" size=\"XS\" icon=\"arrowRight\" [alt]=\"intl().replaceByAlt\" />\n<div class=\"activityFeed-content-update-item-after\">\n\t<ng-content select=\"[activityFeedUpdateAfter]\" />\n</div>\n" }]
|
|
132
|
+
}], propDecorators: { intl: [{ type: i0.Input, args: [{ isSignal: true, alias: "intl", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }] } });
|
|
133
|
+
|
|
134
|
+
class ActivityFeedUpdateComponent {
|
|
135
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ActivityFeedUpdateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
136
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: ActivityFeedUpdateComponent, isStandalone: true, selector: "lu-activity-feed-update", host: { attributes: { "role": "list" }, classAttribute: "activityFeed-content-update" }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
137
|
+
}
|
|
138
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ActivityFeedUpdateComponent, decorators: [{
|
|
139
|
+
type: Component,
|
|
140
|
+
args: [{
|
|
141
|
+
selector: 'lu-activity-feed-update',
|
|
142
|
+
template: '<ng-content />',
|
|
143
|
+
encapsulation: ViewEncapsulation.None,
|
|
144
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
145
|
+
host: {
|
|
101
146
|
class: 'activityFeed-content-update',
|
|
102
|
-
|
|
103
|
-
|
|
147
|
+
role: 'list',
|
|
148
|
+
},
|
|
149
|
+
}]
|
|
150
|
+
}] });
|
|
104
151
|
|
|
105
152
|
class ActivityFeedComponent {
|
|
106
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
107
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
153
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ActivityFeedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
154
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: ActivityFeedComponent, isStandalone: true, selector: "lu-activity-feed", ngImport: i0, template: "<ol class=\"activityFeed\">\n\t<ng-content />\n</ol>\n", styles: ["@charset \"UTF-8\";@layer components{.activityFeed{--components-activityFeed-content-update-item-display: flex;--components-activityFeed-content-update-item-icon-display: flex;--components-activityFeed-step-description-alignSelf: auto;--components-activityFeed-step-description-fontStyle: normal;--components-activityFeed-step-description-color: inherit;--components-activityFeed-step-description-lineHeight: inherit;--components-activityFeed-step-before-insetBlockStart: calc(var(--pr-t-spacings-500) + var(--pr-t-spacings-50));list-style-type:\"\";padding:0;font:var(--pr-t-font-body-M);color:var(--pr-t-color-text)}.activityFeed-step{position:relative;display:flex;gap:var(--pr-t-spacings-100)}.activityFeed-step:not(:last-child){padding-block-end:var(--pr-t-spacings-200)}.activityFeed-step:not(:last-child):before{content:\"\";inline-size:var(--pr-t-spacings-25);background-color:var(--palettes-neutral-100);position:absolute;inset-block-end:0;border-radius:var(--pr-t-border-radius-full);inset-block-start:var(--components-activityFeed-step-before-insetBlockStart);inset-inline-start:calc(var(--pr-t-spacings-200) - var(--pr-t-spacings-25) / 2)}.activityFeed-step-state,.activityFeed-step-avatar{margin-block:var(--pr-t-spacings-75)}.activityFeed-step-state{inline-size:var(--pr-t-spacings-400);block-size:var(--pr-t-spacings-400);border-radius:var(--pr-t-border-radius-full);position:relative;background-color:var(--palettes-100, var(--palettes-neutral-100))}.activityFeed-step-state:before{color:var(--palettes-700, var(--palettes-neutral-700));font-size:calc(1.5 * var(--pr-t-font-body-M-fontSize));block-size:var(--pr-t-font-body-M-lineHeight);inset:0;margin:auto;position:absolute;text-align:center}.activityFeed-step-description{flex-grow:1;align-self:var(--components-activityFeed-step-description-alignSelf);font-style:var(--components-activityFeed-step-description-fontStyle);color:var(--components-activityFeed-step-description-color);line-height:var(--components-activityFeed-step-description-lineHeight)}.activityFeed-step-description-time{font:var(--pr-t-font-body-S);color:var(--pr-t-color-text-subtle);display:block}.activityFeed-content-update-item-icon{display:var(--components-activityFeed-content-update-item-icon-display)}.activityFeed-content-update{margin:0;padding:0;list-style-type:none;padding:var(--pr-t-spacings-100) var(--pr-t-spacings-150);border-radius:var(--pr-t-border-radius-structure);border:1px solid var(--pr-t-color-input-border);display:flex;flex-direction:column;gap:var(--pr-t-spacings-50)}.activityFeed-content-update-item{display:var(--components-activityFeed-content-update-item-display);align-items:center;gap:var(--pr-t-spacings-75);min-block-size:var(--pr-t-spacings-300)}.activityFeed-content-update-item-object{margin-inline-end:calc(var(--pr-t-spacings-75) * -1);color:var(--pr-t-color-text-subtle);display:flex}.activityFeed-content-update-item-object:after{content:\"\\a0\"}.activityFeed-content-update-item-object:empty{display:none}.activityFeed-content-update-item-before,.activityFeed-content-update-item-after{display:flex}.activityFeed-content-update-item-before:empty,.activityFeed-content-update-item-after:empty{display:none}.activityFeed-content{margin-block-start:var(--pr-t-spacings-100);display:flex;flex-direction:column;gap:var(--pr-t-spacings-100);align-items:flex-start}.activityFeed-content:empty{display:none}}@layer mods{.activityFeed .readMore{--components-readMore-link-insetBlockEnd: 0;--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-sunken)}}@layer mods{.activityFeed-content>.button:only-child{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200)}.activityFeed-content>.button:only-child:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.activityFeed-content>.button:only-child:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.activityFeed-content>.button:only-child:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:3px}.activityFeed-content>.button:only-child:disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-100);--components-button-color: var(--pr-t-color-text-disabled)}.activityFeed-step-avatar{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.activityFeed-step-state.mod-success{--palettes-text: var(--palettes-success-text);--palettes-0: var(--palettes-success-0);--palettes-25: var(--palettes-success-25);--palettes-50: var(--palettes-success-50);--palettes-100: var(--palettes-success-100);--palettes-200: var(--palettes-success-200);--palettes-300: var(--palettes-success-300);--palettes-400: var(--palettes-success-400);--palettes-500: var(--palettes-success-500);--palettes-600: var(--palettes-success-600);--palettes-700: var(--palettes-success-700);--palettes-800: var(--palettes-success-800);--palettes-900: var(--palettes-success-900)}.activityFeed-step-state.mod-success:before{--icon-content: \"\\e97d\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none}.activityFeed-step-state.mod-critical{--palettes-text: var(--palettes-critical-text);--palettes-0: var(--palettes-critical-0);--palettes-25: var(--palettes-critical-25);--palettes-50: var(--palettes-critical-50);--palettes-100: var(--palettes-critical-100);--palettes-200: var(--palettes-critical-200);--palettes-300: var(--palettes-critical-300);--palettes-400: var(--palettes-critical-400);--palettes-500: var(--palettes-critical-500);--palettes-600: var(--palettes-critical-600);--palettes-700: var(--palettes-critical-700);--palettes-800: var(--palettes-critical-800);--palettes-900: var(--palettes-critical-900)}.activityFeed-step-state.mod-critical:before{--icon-content: \"\\e9bf\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none}.activityFeed-content-update-item:has(.activityFeed-content-update-item-before:empty,.activityFeed-content-update-item-after:empty){--components-activityFeed-content-update-item-icon-display: none}.activityFeed-content-update-item:has(.activityFeed-content-update-item-before:empty):has(.activityFeed-content-update-item-after:empty){--components-activityFeed-content-update-item-display: none}.activityFeed-step.mod-pending{--components-activityFeed-step-description-alignSelf: center;--components-activityFeed-step-description-fontStyle: italic;--components-activityFeed-step-description-color: var(--pr-t-color-text-subtle);--components-activityFeed-step-description-lineHeight: var(--pr-t-font-body-S-lineHeight)}.activityFeed-step:has(.activityFeed-content>.button:only-child){--components-activityFeed-step-before-insetBlockStart: var(--pr-t-spacings-700)}}lu-activity-feed{display:contents}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
108
155
|
}
|
|
109
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
156
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ActivityFeedComponent, decorators: [{
|
|
110
157
|
type: Component,
|
|
111
|
-
args: [{ selector: 'lu-activity-feed', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ol class=\"activityFeed\">\n\t<ng-content />\n</ol>\n", styles: ["@charset \"UTF-8\";@layer components{.activityFeed{--components-activityFeed-content-update-display: flex;--components-activityFeed-content-update-icon-display: flex;--components-activityFeed-step-description-alignSelf: auto;--components-activityFeed-step-description-fontStyle: normal;--components-activityFeed-step-description-color: inherit;--components-activityFeed-step-description-lineHeight: inherit;--components-activityFeed-step-before-insetBlockStart: calc(var(--pr-t-spacings-500) + var(--pr-t-spacings-50));list-style-type:\"\";padding:0;font:var(--pr-t-font-body-M);color:var(--pr-t-color-text)}.activityFeed-step{position:relative;display:flex;gap:var(--pr-t-spacings-100)}.activityFeed-step:not(:last-child){padding-block-end:var(--pr-t-spacings-200)}.activityFeed-step:not(:last-child):before{content:\"\";inline-size:var(--pr-t-spacings-25);background-color:var(--palettes-neutral-100);position:absolute;inset-block-end:0;border-radius:var(--pr-t-border-radius-full);inset-block-start:var(--components-activityFeed-step-before-insetBlockStart);inset-inline-start:calc(var(--pr-t-spacings-200) - var(--pr-t-spacings-25) / 2)}.activityFeed-step-state,.activityFeed-step-avatar{margin-block:var(--pr-t-spacings-75)}.activityFeed-step-state{inline-size:var(--pr-t-spacings-400);block-size:var(--pr-t-spacings-400);border-radius:var(--pr-t-border-radius-full);position:relative;background-color:var(--palettes-100, var(--palettes-neutral-100))}.activityFeed-step-state:before{color:var(--palettes-700, var(--palettes-neutral-700));font-size:calc(1.5 * var(--pr-t-font-body-M-fontSize));block-size:var(--pr-t-font-body-M-lineHeight);inset:0;margin:auto;position:absolute;text-align:center}.activityFeed-step-description{flex-grow:1;align-self:var(--components-activityFeed-step-description-alignSelf);font-style:var(--components-activityFeed-step-description-fontStyle);color:var(--components-activityFeed-step-description-color);line-height:var(--components-activityFeed-step-description-lineHeight)}.activityFeed-step-description-time{font:var(--pr-t-font-body-S);color:var(--pr-t-color-text-subtle);display:block}.activityFeed-content-update-icon{display:var(--components-activityFeed-content-update-icon-display)}.activityFeed-content-update{display:var(--components-activityFeed-content-update-display);align-items:center;gap:var(--pr-t-spacings-
|
|
158
|
+
args: [{ selector: 'lu-activity-feed', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ol class=\"activityFeed\">\n\t<ng-content />\n</ol>\n", styles: ["@charset \"UTF-8\";@layer components{.activityFeed{--components-activityFeed-content-update-item-display: flex;--components-activityFeed-content-update-item-icon-display: flex;--components-activityFeed-step-description-alignSelf: auto;--components-activityFeed-step-description-fontStyle: normal;--components-activityFeed-step-description-color: inherit;--components-activityFeed-step-description-lineHeight: inherit;--components-activityFeed-step-before-insetBlockStart: calc(var(--pr-t-spacings-500) + var(--pr-t-spacings-50));list-style-type:\"\";padding:0;font:var(--pr-t-font-body-M);color:var(--pr-t-color-text)}.activityFeed-step{position:relative;display:flex;gap:var(--pr-t-spacings-100)}.activityFeed-step:not(:last-child){padding-block-end:var(--pr-t-spacings-200)}.activityFeed-step:not(:last-child):before{content:\"\";inline-size:var(--pr-t-spacings-25);background-color:var(--palettes-neutral-100);position:absolute;inset-block-end:0;border-radius:var(--pr-t-border-radius-full);inset-block-start:var(--components-activityFeed-step-before-insetBlockStart);inset-inline-start:calc(var(--pr-t-spacings-200) - var(--pr-t-spacings-25) / 2)}.activityFeed-step-state,.activityFeed-step-avatar{margin-block:var(--pr-t-spacings-75)}.activityFeed-step-state{inline-size:var(--pr-t-spacings-400);block-size:var(--pr-t-spacings-400);border-radius:var(--pr-t-border-radius-full);position:relative;background-color:var(--palettes-100, var(--palettes-neutral-100))}.activityFeed-step-state:before{color:var(--palettes-700, var(--palettes-neutral-700));font-size:calc(1.5 * var(--pr-t-font-body-M-fontSize));block-size:var(--pr-t-font-body-M-lineHeight);inset:0;margin:auto;position:absolute;text-align:center}.activityFeed-step-description{flex-grow:1;align-self:var(--components-activityFeed-step-description-alignSelf);font-style:var(--components-activityFeed-step-description-fontStyle);color:var(--components-activityFeed-step-description-color);line-height:var(--components-activityFeed-step-description-lineHeight)}.activityFeed-step-description-time{font:var(--pr-t-font-body-S);color:var(--pr-t-color-text-subtle);display:block}.activityFeed-content-update-item-icon{display:var(--components-activityFeed-content-update-item-icon-display)}.activityFeed-content-update{margin:0;padding:0;list-style-type:none;padding:var(--pr-t-spacings-100) var(--pr-t-spacings-150);border-radius:var(--pr-t-border-radius-structure);border:1px solid var(--pr-t-color-input-border);display:flex;flex-direction:column;gap:var(--pr-t-spacings-50)}.activityFeed-content-update-item{display:var(--components-activityFeed-content-update-item-display);align-items:center;gap:var(--pr-t-spacings-75);min-block-size:var(--pr-t-spacings-300)}.activityFeed-content-update-item-object{margin-inline-end:calc(var(--pr-t-spacings-75) * -1);color:var(--pr-t-color-text-subtle);display:flex}.activityFeed-content-update-item-object:after{content:\"\\a0\"}.activityFeed-content-update-item-object:empty{display:none}.activityFeed-content-update-item-before,.activityFeed-content-update-item-after{display:flex}.activityFeed-content-update-item-before:empty,.activityFeed-content-update-item-after:empty{display:none}.activityFeed-content{margin-block-start:var(--pr-t-spacings-100);display:flex;flex-direction:column;gap:var(--pr-t-spacings-100);align-items:flex-start}.activityFeed-content:empty{display:none}}@layer mods{.activityFeed .readMore{--components-readMore-link-insetBlockEnd: 0;--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-sunken)}}@layer mods{.activityFeed-content>.button:only-child{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200)}.activityFeed-content>.button:only-child:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.activityFeed-content>.button:only-child:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.activityFeed-content>.button:only-child:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:3px}.activityFeed-content>.button:only-child:disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-100);--components-button-color: var(--pr-t-color-text-disabled)}.activityFeed-step-avatar{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.activityFeed-step-state.mod-success{--palettes-text: var(--palettes-success-text);--palettes-0: var(--palettes-success-0);--palettes-25: var(--palettes-success-25);--palettes-50: var(--palettes-success-50);--palettes-100: var(--palettes-success-100);--palettes-200: var(--palettes-success-200);--palettes-300: var(--palettes-success-300);--palettes-400: var(--palettes-success-400);--palettes-500: var(--palettes-success-500);--palettes-600: var(--palettes-success-600);--palettes-700: var(--palettes-success-700);--palettes-800: var(--palettes-success-800);--palettes-900: var(--palettes-success-900)}.activityFeed-step-state.mod-success:before{--icon-content: \"\\e97d\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none}.activityFeed-step-state.mod-critical{--palettes-text: var(--palettes-critical-text);--palettes-0: var(--palettes-critical-0);--palettes-25: var(--palettes-critical-25);--palettes-50: var(--palettes-critical-50);--palettes-100: var(--palettes-critical-100);--palettes-200: var(--palettes-critical-200);--palettes-300: var(--palettes-critical-300);--palettes-400: var(--palettes-critical-400);--palettes-500: var(--palettes-critical-500);--palettes-600: var(--palettes-critical-600);--palettes-700: var(--palettes-critical-700);--palettes-800: var(--palettes-critical-800);--palettes-900: var(--palettes-critical-900)}.activityFeed-step-state.mod-critical:before{--icon-content: \"\\e9bf\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none}.activityFeed-content-update-item:has(.activityFeed-content-update-item-before:empty,.activityFeed-content-update-item-after:empty){--components-activityFeed-content-update-item-icon-display: none}.activityFeed-content-update-item:has(.activityFeed-content-update-item-before:empty):has(.activityFeed-content-update-item-after:empty){--components-activityFeed-content-update-item-display: none}.activityFeed-step.mod-pending{--components-activityFeed-step-description-alignSelf: center;--components-activityFeed-step-description-fontStyle: italic;--components-activityFeed-step-description-color: var(--pr-t-color-text-subtle);--components-activityFeed-step-description-lineHeight: var(--pr-t-font-body-S-lineHeight)}.activityFeed-step:has(.activityFeed-content>.button:only-child){--components-activityFeed-step-before-insetBlockStart: var(--pr-t-spacings-700)}}lu-activity-feed{display:contents}\n"] }]
|
|
112
159
|
}] });
|
|
113
160
|
|
|
114
161
|
/**
|
|
115
162
|
* Generated bundle index. Do not edit.
|
|
116
163
|
*/
|
|
117
164
|
|
|
118
|
-
export { ActivityFeedComponent, ActivityFeedStepComponent, ActivityFeedUpdateComponent };
|
|
165
|
+
export { ACTIVITY_FEED_STEP_STATUS, ActivityFeedComponent, ActivityFeedStepComponent, ActivityFeedUpdateComponent, ActivityFeedUpdateItemComponent };
|
|
119
166
|
//# sourceMappingURL=lucca-front-ng-activity-feed.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-activity-feed.mjs","sources":["../../../packages/ng/activity-feed/translations.ts","../../../packages/ng/activity-feed/activity-feed.translate.ts","../../../packages/ng/activity-feed/activity-feed-step/activity-feed-step.component.ts","../../../packages/ng/activity-feed/activity-feed-step/activity-feed-step.component.html","../../../packages/ng/activity-feed/activity-feed-update/activity-feed-update.component.ts","../../../packages/ng/activity-feed/activity-feed-update/activity-feed-update.component.html","../../../packages/ng/activity-feed/activity-feed.component.ts","../../../packages/ng/activity-feed/activity-feed.component.html","../../../packages/ng/activity-feed/lucca-front-ng-activity-feed.ts"],"sourcesContent":["export const Translations = {\n\t'nl-BE': {\n\t\treplaceByAlt: 'is vervangen door',\n\t},\n\tfr: {\n\t\treplaceByAlt: 'à été remplacé par',\n\t},\n\tde: {\n\t\treplaceByAlt: 'wurde ersetzt durch',\n\t},\n\ten: {\n\t\treplaceByAlt: 'has been replaced by',\n\t},\n\tes: {\n\t\treplaceByAlt: 'ha sido sustituido por',\n\t},\n\tit: {\n\t\treplaceByAlt: 'è stato sostituito da',\n\t},\n\tnl: {\n\t\treplaceByAlt: 'is vervangen door',\n\t},\n\tpt: {\n\t\treplaceByAlt: 'foi substituído por',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_ACTIVITY_FEED_TRANSLATIONS = new InjectionToken('luActivityFeedTranslations', {\n\tfactory: () => luActivityFeedTranslations,\n});\n\nexport interface ActivityFeedTranslate {\n\treplaceByAlt: string;\n}\n\nexport const luActivityFeedTranslations: LuTranslation<ActivityFeedTranslate> = Translations;\n","import { DatePipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, LOCALE_ID, ViewEncapsulation } from '@angular/core';\nimport { intlInputOptions, PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { ILuUser, LuUserPictureComponent } from '@lucca-front/ng/user';\nimport { LU_ACTIVITY_FEED_TRANSLATIONS } from '../activity-feed.translate';\n\n@Component({\n\tselector: 'lu-activity-feed-step',\n\ttemplateUrl: './activity-feed-step.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [LuUserPictureComponent, DatePipe, PortalDirective],\n\thost: {\n\t\trole: 'listitem',\n\t\tclass: 'activityFeed-step',\n\t\t'[class.mod-pending]': 'status() === \"pending\"',\n\t},\n})\nexport class ActivityFeedStepComponent {\n\treadonly intl = input(...intlInputOptions(LU_ACTIVITY_FEED_TRANSLATIONS));\n\t#locale = inject(LOCALE_ID);\n\t#intlDateTimeFormat = new Intl.DateTimeFormat(this.#locale, {\n\t\tweekday: 'long',\n\t\tyear: 'numeric',\n\t\tmonth: 'short',\n\t\tday: 'numeric',\n\t\thour: 'numeric',\n\t\tminute: 'numeric',\n\t});\n\n\treadonly label = input<PortalContent | null>(null);\n\n\treadonly user = input<ILuUser | null>(null);\n\n\treadonly status = input<'success' | 'critical' | 'pending' | null>(null);\n\n\treadonly date = input<Date | string | null>(null);\n\n\tprotected readonly preparedDate = computed(() => {\n\t\tconst date = this.date();\n\t\tif (typeof date === 'string') {\n\t\t\treturn new Date(date);\n\t\t}\n\t\treturn date;\n\t});\n\n\t/**\n\t * format given to the date pipe for display.\n\t *\n\t * See https://angular.dev/api/common/DatePipe#custom-format-options\n\t */\n\treadonly datePipeFormat = input<string>();\n\n\tprotected readonly dateDisplay = computed<string | null>(() => {\n\t\tconst date = this.preparedDate();\n\t\tif (!date) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.#intlDateTimeFormat.format(date);\n\t});\n}\n","@if (status() === \"critical\" || status() === \"success\") {\n\t<div class=\"activityFeed-step-state\" [class.mod-critical]=\"status() === 'critical'\" [class.mod-success]=\"status() === 'success'\"></div>\n} @else {\n\t@if (user()) {\n\t\t<div class=\"activityFeed-step-avatar\">\n\t\t\t<lu-user-picture size=\"S\" [user]=\"user()\" />\n\t\t</div>\n\t}\n}\n<div class=\"activityFeed-step-description\">\n\t@if (label()) {\n\t\t<p class=\"activityFeed-step-description-content\">\n\t\t\t<ng-container *luPortal=\"label()\" />\n\t\t</p>\n\t}\n\t@if (date()) {\n\t\t<time class=\"comment-infos-date activityFeed-step-description-time\" [attr.datetime]=\"preparedDate().toISOString()\">\n\t\t\t@if (datePipeFormat()) {\n\t\t\t\t{{ date() | date: datePipeFormat() }}\n\t\t\t} @else {\n\t\t\t\t{{ dateDisplay() }}\n\t\t\t}\n\t\t</time>\n\t}\n\t<div class=\"activityFeed-content\">\n\t\t<ng-content />\n\t</div>\n</div>\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\nimport { intlInputOptions } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca/prisme/icon';\nimport { LU_ACTIVITY_FEED_TRANSLATIONS } from '../activity-feed.translate';\n\n@Component({\n\tselector: 'lu-activity-feed-update',\n\ttemplateUrl: './activity-feed-update.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [IconComponent, NgTemplateOutlet],\n\thost: {\n\t\tclass: 'activityFeed-content-update',\n\t},\n})\nexport class ActivityFeedUpdateComponent {\n\treadonly intl = input(...intlInputOptions(LU_ACTIVITY_FEED_TRANSLATIONS));\n}\n","<div class=\"activityFeed-content-update-before\">\n\t<ng-container *ngTemplateOutlet=\"content\" />\n</div>\n<lu-icon class=\"activityFeed-content-update-icon\" size=\"XS\" icon=\"arrowRight\" [alt]=\"intl().replaceByAlt\" />\n<div class=\"activityFeed-content-update-after\">\n\t<ng-content select=\"[activityFeedUpdateAfter]\" />\n</div>\n\n<ng-template #content>\n\t<ng-content select=\"[activityFeedUpdateBefore]\" />\n</ng-template>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-activity-feed',\n\tstyleUrl: './activity-feed.component.scss',\n\ttemplateUrl: './activity-feed.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ActivityFeedComponent {}\n","<ol class=\"activityFeed\">\n\t<ng-content />\n</ol>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;AAAO,MAAM,YAAY,GAAG;AAC3B,IAAA,OAAO,EAAE;AACR,QAAA,YAAY,EAAE,mBAAmB;AACjC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,YAAY,EAAE,oBAAoB;AAClC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,YAAY,EAAE,qBAAqB;AACnC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,YAAY,EAAE,sBAAsB;AACpC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,YAAY,EAAE,wBAAwB;AACtC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,YAAY,EAAE,uBAAuB;AACrC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,YAAY,EAAE,mBAAmB;AACjC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,YAAY,EAAE,qBAAqB;AACnC,KAAA;CACD;;ACrBM,MAAM,6BAA6B,GAAG,IAAI,cAAc,CAAC,4BAA4B,EAAE;AAC7F,IAAA,OAAO,EAAE,MAAM,0BAA0B;AACzC,CAAA,CAAC;AAMK,MAAM,0BAA0B,GAAyC,YAAY;;MCM/E,yBAAyB,CAAA;AAZtC,IAAA,WAAA,GAAA;QAaU,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,GAAG,gBAAgB,CAAC,6BAA6B,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AACzE,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC;QAC3B,IAAA,CAAA,mBAAmB,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE;AAC3D,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,MAAM,EAAE,SAAS;AACjB,SAAA,CAAC;AAEO,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAuB,IAAI,4EAAC;AAEzC,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAiB,IAAI,2EAAC;AAElC,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAA4C,IAAI,6EAAC;AAE/D,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAuB,IAAI,2EAAC;AAE9B,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;AAC/C,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;AACxB,YAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC7B,gBAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC;YACtB;AACA,YAAA,OAAO,IAAI;AACZ,QAAA,CAAC,mFAAC;AAEF;;;;AAIG;QACM,IAAA,CAAA,cAAc,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAU;AAEtB,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAgB,MAAK;AAC7D,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE;YAChC,IAAI,CAAC,IAAI,EAAE;AACV,gBAAA,OAAO,IAAI;YACZ;YACA,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC;AAC7C,QAAA,CAAC,kFAAC;AACF,IAAA;AAxCA,IAAA,OAAO;AACP,IAAA,mBAAmB;+GAHP,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,s9BClBtC,s5BA4BA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDjBW,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAY,eAAe,2FAAzB,QAAQ,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAO9B,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAZrC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,iBAElB,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,sBAAsB,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAA,IAAA,EACtD;AACL,wBAAA,IAAI,EAAE,UAAU;AAChB,wBAAA,KAAK,EAAE,mBAAmB;AAC1B,wBAAA,qBAAqB,EAAE,wBAAwB;AAC/C,qBAAA,EAAA,QAAA,EAAA,s5BAAA,EAAA;;;MEAW,2BAA2B,CAAA;AAVxC,IAAA,WAAA,GAAA;QAWU,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,GAAG,gBAAgB,CAAC,6BAA6B,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AACzE,IAAA;+GAFY,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,6BAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChBxC,0bAWA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDAW,aAAa,6GAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAK7B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAVvC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,EAAA,aAAA,EAEpB,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,aAAa,EAAE,gBAAgB,CAAC,EAAA,IAAA,EACpC;AACL,wBAAA,KAAK,EAAE,6BAA6B;AACpC,qBAAA,EAAA,QAAA,EAAA,0bAAA,EAAA;;;MELW,qBAAqB,CAAA;+GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,4ECTlC,wDAGA,EAAA,MAAA,EAAA,CAAA,+yNAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDMa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,iBAGb,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,+yNAAA,CAAA,EAAA;;;AEPhD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-activity-feed.mjs","sources":["../../../packages/ng/activity-feed/activity-feed-step.type.ts","../../../packages/ng/activity-feed/translations.ts","../../../packages/ng/activity-feed/activity-feed.translate.ts","../../../packages/ng/activity-feed/activity-feed-step/activity-feed-step.component.ts","../../../packages/ng/activity-feed/activity-feed-step/activity-feed-step.component.html","../../../packages/ng/activity-feed/activity-feed-update-item/activity-feed-update-item.component.ts","../../../packages/ng/activity-feed/activity-feed-update-item/activity-feed-update-item.component.html","../../../packages/ng/activity-feed/activity-feed-update/activity-feed-update.component.ts","../../../packages/ng/activity-feed/activity-feed.component.ts","../../../packages/ng/activity-feed/activity-feed.component.html","../../../packages/ng/activity-feed/lucca-front-ng-activity-feed.ts"],"sourcesContent":["/**\n * Available ActivityFeedComponent Types\n */\n\nexport const ACTIVITY_FEED_STEP_STATUS = ['success', 'critical', 'pending'] as const;\nexport type ActivityFeedStepStatus = (typeof ACTIVITY_FEED_STEP_STATUS)[number];\n","export const Translations = {\n\t'nl-BE': {\n\t\treplaceByAlt: 'is vervangen door',\n\t},\n\tfr: {\n\t\treplaceByAlt: 'à été remplacé par',\n\t},\n\tde: {\n\t\treplaceByAlt: 'wurde ersetzt durch',\n\t},\n\ten: {\n\t\treplaceByAlt: 'was replaced by',\n\t},\n\tes: {\n\t\treplaceByAlt: 'se ha sustituido por',\n\t},\n\tit: {\n\t\treplaceByAlt: 'è stato sostituito da',\n\t},\n\tnl: {\n\t\treplaceByAlt: 'is vervangen door',\n\t},\n\tpt: {\n\t\treplaceByAlt: 'foi substituído por',\n\t},\n\tpl: {\n\t\treplaceByAlt: 'został zastąpiony przez',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_ACTIVITY_FEED_TRANSLATIONS = new InjectionToken('luActivityFeedTranslations', {\n\tfactory: () => luActivityFeedTranslations,\n});\n\nexport interface ActivityFeedTranslate {\n\treplaceByAlt: string;\n}\n\nexport const luActivityFeedTranslations: LuTranslation<ActivityFeedTranslate> = Translations;\n","import { DatePipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, LOCALE_ID, ViewEncapsulation } from '@angular/core';\nimport { intlInputOptions, PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { ILuUser, LuUserPictureComponent } from '@lucca-front/ng/user';\nimport { ActivityFeedStepStatus } from '../activity-feed-step.type';\nimport { LU_ACTIVITY_FEED_TRANSLATIONS } from '../activity-feed.translate';\n\n@Component({\n\tselector: 'lu-activity-feed-step',\n\ttemplateUrl: './activity-feed-step.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [LuUserPictureComponent, DatePipe, PortalDirective],\n\thost: {\n\t\trole: 'listitem',\n\t\tclass: 'activityFeed-step',\n\t\t'[class.mod-pending]': 'status() === \"pending\"',\n\t},\n})\nexport class ActivityFeedStepComponent {\n\treadonly intl = input(...intlInputOptions(LU_ACTIVITY_FEED_TRANSLATIONS));\n\t#locale = inject(LOCALE_ID);\n\t#intlDateTimeFormat = new Intl.DateTimeFormat(this.#locale, {\n\t\tweekday: 'long',\n\t\tyear: 'numeric',\n\t\tmonth: 'short',\n\t\tday: 'numeric',\n\t\thour: 'numeric',\n\t\tminute: 'numeric',\n\t});\n\n\treadonly label = input<PortalContent | null>(null);\n\n\treadonly user = input<ILuUser | null>(null);\n\n\treadonly status = input<ActivityFeedStepStatus | null>(null);\n\n\treadonly date = input<Date | string | null>(null);\n\n\tprotected readonly preparedDate = computed(() => {\n\t\tconst date = this.date();\n\t\tif (typeof date === 'string') {\n\t\t\treturn new Date(date);\n\t\t}\n\t\treturn date;\n\t});\n\n\t/**\n\t * format given to the date pipe for display.\n\t *\n\t * See https://angular.dev/api/common/DatePipe#custom-format-options\n\t */\n\treadonly datePipeFormat = input<string>();\n\n\tprotected readonly dateDisplay = computed<string | null>(() => {\n\t\tconst date = this.preparedDate();\n\t\tif (!date) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.#intlDateTimeFormat.format(date);\n\t});\n}\n","@if (status() === \"critical\" || status() === \"success\") {\n\t<div class=\"activityFeed-step-state\" [class.mod-critical]=\"status() === 'critical'\" [class.mod-success]=\"status() === 'success'\"></div>\n} @else {\n\t@if (user()) {\n\t\t<div class=\"activityFeed-step-avatar\">\n\t\t\t<lu-user-picture size=\"S\" [user]=\"user()\" />\n\t\t</div>\n\t}\n}\n<div class=\"activityFeed-step-description\">\n\t@if (label()) {\n\t\t<p class=\"activityFeed-step-description-content\">\n\t\t\t<ng-container *luPortal=\"label()\" />\n\t\t</p>\n\t}\n\t@if (date()) {\n\t\t<time class=\"comment-infos-date activityFeed-step-description-time\" [attr.datetime]=\"preparedDate().toISOString()\">\n\t\t\t@if (datePipeFormat()) {\n\t\t\t\t{{ date() | date: datePipeFormat() }}\n\t\t\t} @else {\n\t\t\t\t{{ dateDisplay() }}\n\t\t\t}\n\t\t</time>\n\t}\n\t<div class=\"activityFeed-content\">\n\t\t<ng-content />\n\t</div>\n</div>\n","import { ChangeDetectionStrategy, Component, computed, inject, input, LOCALE_ID, ViewEncapsulation } from '@angular/core';\nimport { intlInputOptions } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca/prisme/icon';\nimport { LU_ACTIVITY_FEED_TRANSLATIONS } from '../activity-feed.translate';\n\n@Component({\n\tselector: 'lu-activity-feed-update-item',\n\ttemplateUrl: './activity-feed-update-item.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [IconComponent],\n\thost: {\n\t\trole: 'listitem',\n\t\tclass: 'activityFeed-content-update-item',\n\t},\n})\nexport class ActivityFeedUpdateItemComponent {\n\t#locale = inject(LOCALE_ID);\n\n\treadonly intl = input(...intlInputOptions(LU_ACTIVITY_FEED_TRANSLATIONS));\n\n\treadonly label = input.required<string>();\n\n\treadonly colonDisplay = computed(() => {\n\t\tif (this.#locale === 'fr') {\n\t\t\treturn ' :';\n\t\t}\n\t\treturn ':';\n\t});\n}\n","<div class=\"activityFeed-content-update-item-object\">\n\t{{ label() }}\n\t{{ colonDisplay() }}\n</div>\n<div class=\"activityFeed-content-update-item-before\">\n\t<ng-content select=\"[activityFeedUpdateBefore]\" />\n</div>\n<lu-icon class=\"activityFeed-content-update-item-icon\" size=\"XS\" icon=\"arrowRight\" [alt]=\"intl().replaceByAlt\" />\n<div class=\"activityFeed-content-update-item-after\">\n\t<ng-content select=\"[activityFeedUpdateAfter]\" />\n</div>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-activity-feed-update',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'activityFeed-content-update',\n\t\trole: 'list',\n\t},\n})\nexport class ActivityFeedUpdateComponent {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-activity-feed',\n\tstyleUrl: './activity-feed.component.scss',\n\ttemplateUrl: './activity-feed.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ActivityFeedComponent {}\n","<ol class=\"activityFeed\">\n\t<ng-content />\n</ol>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|