@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,21 +1,21 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, inject, input, booleanAttribute, viewChild, ElementRef, contentChildren, signal, computed, effect, forwardRef, ChangeDetectionStrategy, ViewEncapsulation, Component, DestroyRef, ViewContainerRef, TemplateRef, viewChildren } from '@angular/core';
|
|
3
3
|
import { ButtonComponent } from '@lucca-front/ng/button';
|
|
4
|
-
import { isNil, intlInputOptions } from '@lucca-front/ng/core';
|
|
4
|
+
import { isNil, intlInputOptions, isNotNil } from '@lucca-front/ng/core';
|
|
5
5
|
import { IconComponent } from '@lucca-front/ng/icon';
|
|
6
6
|
import { LuTooltipTriggerDirective } from '@lucca-front/ng/tooltip';
|
|
7
|
-
import
|
|
7
|
+
import { DomPortal, CdkPortalOutlet } from '@angular/cdk/portal';
|
|
8
8
|
import { CommonModule } from '@angular/common';
|
|
9
|
-
import * as i1
|
|
9
|
+
import * as i1 from '@angular/forms';
|
|
10
10
|
import { NG_VALUE_ACCESSOR, FormControl, ReactiveFormsModule, FormGroup, Validators } from '@angular/forms';
|
|
11
11
|
import { registerHistory, createEmptyHistoryState } from '@lexical/history';
|
|
12
12
|
import { $isRootTextContentEmpty, $canShowPlaceholderCurry } from '@lexical/text';
|
|
13
13
|
import { mergeRegister, $getNearestNodeOfType } from '@lexical/utils';
|
|
14
14
|
import { FormFieldComponent, InputDirective, ɵPresentationDisplayDefaultDirective as _PresentationDisplayDefaultDirective } from '@lucca-front/ng/form-field';
|
|
15
|
-
import { createEditor, $getRoot, $createTextNode, createCommand, $getSelection, $isRangeSelection, $isTextNode, $createParagraphNode, COMMAND_PRIORITY_NORMAL, SELECTION_CHANGE_COMMAND, INSERT_PARAGRAPH_COMMAND, DecoratorNode, TextNode, $getNodeByKey, FORMAT_TEXT_COMMAND } from 'lexical';
|
|
15
|
+
import { createEditor, SKIP_DOM_SELECTION_TAG, $getRoot, $createTextNode, createCommand, $getSelection, $isRangeSelection, $isTextNode, $createParagraphNode, COMMAND_PRIORITY_NORMAL, SELECTION_CHANGE_COMMAND, INSERT_PARAGRAPH_COMMAND, KEY_ENTER_COMMAND, DecoratorNode, TextNode, $getNodeByKey, FORMAT_TEXT_COMMAND } from 'lexical';
|
|
16
16
|
import { $isAtNodeEnd, $setBlocksType } from '@lexical/selection';
|
|
17
17
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
18
|
-
import { LuOptionDirective } from '@lucca-front/ng/core-select';
|
|
18
|
+
import { LuOptionDirective, LuOptionGroupDirective } from '@lucca-front/ng/core-select';
|
|
19
19
|
import { LuSimpleSelectInputComponent } from '@lucca-front/ng/simple-select';
|
|
20
20
|
import { filter } from 'rxjs';
|
|
21
21
|
import { $createHeadingNode, HeadingNode } from '@lexical/rich-text';
|
|
@@ -25,7 +25,10 @@ import { LinkComponent as LinkComponent$1 } from '@lucca-front/ng/link';
|
|
|
25
25
|
import { PopoverDirective } from '@lucca-front/ng/popover2';
|
|
26
26
|
import { TextInputComponent } from '@lucca-front/ng/forms';
|
|
27
27
|
import { ListNode, $removeList, $insertList, $handleListInsertParagraph, ListItemNode } from '@lexical/list';
|
|
28
|
+
import { ConnectionPositionPair } from '@angular/cdk/overlay';
|
|
28
29
|
import { ChipComponent } from '@lucca-front/ng/chip';
|
|
30
|
+
import { IconComponent as IconComponent$1 } from '@lucca/prisme/icon';
|
|
31
|
+
import { FilterPillComponent } from '@lucca-front/ng/filter-pills';
|
|
29
32
|
|
|
30
33
|
class RichTextFormatter {
|
|
31
34
|
}
|
|
@@ -45,8 +48,6 @@ const RICH_TEXT_FORMATTER = new InjectionToken('RICH_TEXT_FORMATTER', {
|
|
|
45
48
|
});
|
|
46
49
|
|
|
47
50
|
const INITIAL_UPDATE_TAG = 'initial-update';
|
|
48
|
-
// TODO replace by lexical import when upgrade lexical
|
|
49
|
-
const SKIP_DOM_SELECTION_TAG = 'skip-dom-selection';
|
|
50
51
|
const RICH_TEXT_PLUGIN_COMPONENT = new InjectionToken('RichTextPlugin');
|
|
51
52
|
class RichTextInputComponent {
|
|
52
53
|
#richTextFormatter;
|
|
@@ -60,26 +61,39 @@ class RichTextInputComponent {
|
|
|
60
61
|
#focusedPlugin;
|
|
61
62
|
#editor;
|
|
62
63
|
#isRootElementInitialized;
|
|
64
|
+
#pendingValue;
|
|
63
65
|
constructor() {
|
|
64
66
|
this.#richTextFormatter = inject(RICH_TEXT_FORMATTER);
|
|
65
67
|
this.#formField = inject(FormFieldComponent, { optional: true });
|
|
66
|
-
this.placeholder = input('',
|
|
68
|
+
this.placeholder = input('', /* @ts-ignore */
|
|
69
|
+
...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
|
|
67
70
|
this.disableSpellcheck = input(false, { ...(ngDevMode ? { debugName: "disableSpellcheck" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
68
71
|
this.autoResize = input(false, { ...(ngDevMode ? { debugName: "autoResize" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
69
72
|
this.hideToolbar = input(false, { ...(ngDevMode ? { debugName: "hideToolbar" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
70
73
|
this.content = viewChild('content', { ...(ngDevMode ? { debugName: "content" } : /* istanbul ignore next */ {}), read: ElementRef });
|
|
71
74
|
this.contentPresentation = viewChild('contentPresentation', { ...(ngDevMode ? { debugName: "contentPresentation" } : /* istanbul ignore next */ {}), read: ElementRef });
|
|
72
75
|
this.pluginComponents = contentChildren(RICH_TEXT_PLUGIN_COMPONENT, { ...(ngDevMode ? { debugName: "pluginComponents" } : /* istanbul ignore next */ {}), descendants: true });
|
|
73
|
-
this.
|
|
74
|
-
|
|
75
|
-
this.
|
|
76
|
+
this.toolsProjection = viewChild.required('toolsProjection', /* @ts-ignore */
|
|
77
|
+
...(ngDevMode ? [{ debugName: "toolsProjection" }] : /* istanbul ignore next */ []));
|
|
78
|
+
this.currentCanShowPlaceholder = signal(false, /* @ts-ignore */
|
|
79
|
+
...(ngDevMode ? [{ debugName: "currentCanShowPlaceholder" }] : /* istanbul ignore next */ []));
|
|
80
|
+
this.isDisabled = signal(false, /* @ts-ignore */
|
|
81
|
+
...(ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []));
|
|
82
|
+
this.formFieldId = computed(() => this.#formField?.id(), /* @ts-ignore */
|
|
83
|
+
...(ngDevMode ? [{ debugName: "formFieldId" }] : /* istanbul ignore next */ []));
|
|
84
|
+
this.toolsPortal = computed(() => new DomPortal(this.toolsProjection()), /* @ts-ignore */
|
|
85
|
+
...(ngDevMode ? [{ debugName: "toolsPortal" }] : /* istanbul ignore next */ []));
|
|
76
86
|
this.#customNodes = computed(() => this.pluginComponents()
|
|
77
87
|
.map((c) => c.getLexicalNodes?.() ?? [])
|
|
78
|
-
.flat(),
|
|
79
|
-
|
|
80
|
-
this.#
|
|
88
|
+
.flat(), /* @ts-ignore */
|
|
89
|
+
...(ngDevMode ? [{ debugName: "#customNodes" }] : /* istanbul ignore next */ []));
|
|
90
|
+
this.#allPlugins = computed(() => this.#flattenPlugins(this.pluginComponents()), /* @ts-ignore */
|
|
91
|
+
...(ngDevMode ? [{ debugName: "#allPlugins" }] : /* istanbul ignore next */ []));
|
|
92
|
+
this.#isTouched = signal(false, /* @ts-ignore */
|
|
93
|
+
...(ngDevMode ? [{ debugName: "#isTouched" }] : /* istanbul ignore next */ []));
|
|
81
94
|
this.#focusedPlugin = 0;
|
|
82
95
|
this.#isRootElementInitialized = false;
|
|
96
|
+
this.#pendingValue = null;
|
|
83
97
|
effect(() => {
|
|
84
98
|
if (this.#formField?.presentation() && this.contentPresentation()) {
|
|
85
99
|
this.#editor?.setRootElement(this.contentPresentation()?.nativeElement ?? null);
|
|
@@ -111,6 +125,9 @@ class RichTextInputComponent {
|
|
|
111
125
|
if (this.#allPlugins().length > 0) {
|
|
112
126
|
this.#allPlugins()[this.#focusedPlugin].tabindex?.set(0);
|
|
113
127
|
}
|
|
128
|
+
if (this.#pendingValue) {
|
|
129
|
+
this.writeValue(this.#pendingValue);
|
|
130
|
+
}
|
|
114
131
|
}
|
|
115
132
|
ngOnDestroy() {
|
|
116
133
|
this.#cleanup?.();
|
|
@@ -118,6 +135,7 @@ class RichTextInputComponent {
|
|
|
118
135
|
writeValue(value) {
|
|
119
136
|
const editorRef = this.#editor;
|
|
120
137
|
if (isNil(editorRef)) {
|
|
138
|
+
this.#pendingValue = value;
|
|
121
139
|
return;
|
|
122
140
|
}
|
|
123
141
|
const updateTags = [SKIP_DOM_SELECTION_TAG, INITIAL_UPDATE_TAG];
|
|
@@ -188,29 +206,29 @@ class RichTextInputComponent {
|
|
|
188
206
|
const currentCanShowPlaceholder = this.#editor?.getEditorState().read($canShowPlaceholderCurry(isComposing ?? false));
|
|
189
207
|
this.currentCanShowPlaceholder.set(currentCanShowPlaceholder ?? false);
|
|
190
208
|
}
|
|
191
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
192
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
209
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: RichTextInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
210
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: RichTextInputComponent, isStandalone: true, selector: "lu-rich-text-input", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disableSpellcheck: { classPropertyName: "disableSpellcheck", publicName: "disableSpellcheck", isSignal: true, isRequired: false, transformFunction: null }, autoResize: { classPropertyName: "autoResize", publicName: "autoResize", isSignal: true, isRequired: false, transformFunction: null }, hideToolbar: { classPropertyName: "hideToolbar", publicName: "hideToolbar", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
193
211
|
{
|
|
194
212
|
provide: NG_VALUE_ACCESSOR,
|
|
195
213
|
useExisting: forwardRef(() => RichTextInputComponent),
|
|
196
214
|
multi: true,
|
|
197
215
|
},
|
|
198
|
-
], queries: [{ propertyName: "pluginComponents", predicate: RICH_TEXT_PLUGIN_COMPONENT, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "contentPresentation", first: true, predicate: ["contentPresentation"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<div class=\"richTextField\" [class.is-disabled]=\"isDisabled()\" [class.mod-autoResize]=\"autoResize()\">\n\t<div\n\t\t#content\n\t\tluInput\n\t\tclass=\"richTextField-content textFlow\"\n\t\trole=\"textbox\"\n\t\t[attr.contenteditable]=\"!isDisabled()\"\n\t\t[attr.aria-disabled]=\"isDisabled()\"\n\t\t[attr.aria-placeholder]=\"currentCanShowPlaceholder() ? placeholder() : null\"\n\t\t[attr.aria-labelledby]=\"formFieldId() + '-label'\"\n\t\t[attr.spellcheck]=\"!disableSpellcheck()\"\n\t\t(blur)=\"touch()\"\n\t></div>\n\t@if (currentCanShowPlaceholder()) {\n\t\t<div aria-hidden=\"true\" class=\"richTextField-content-placeholder\">{{ placeholder() }}</div>\n\t}\n\t<div\n\t\tclass=\"richTextField-toolbar\"\n\t\t[class.pr-u-displayNone]=\"hideToolbar()\"\n\t\t(keydown.arrowleft)=\"focusSiblingPlugin($event, -1)\"\n\t\t(keydown.arrowRight)=\"focusSiblingPlugin($event, 1)\"\n\t\trole=\"toolbar\"\n\t\t[attr.aria-labelledby]=\"formFieldId() + '-label'\"\n\t\t[attr.aria-controls]=\"formFieldId()\"\n\t>\n\t\t<ng-container *
|
|
216
|
+
], queries: [{ propertyName: "pluginComponents", predicate: RICH_TEXT_PLUGIN_COMPONENT, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "contentPresentation", first: true, predicate: ["contentPresentation"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "toolsProjection", first: true, predicate: ["toolsProjection"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"richTextField\" [class.is-disabled]=\"isDisabled()\" [class.mod-autoResize]=\"autoResize()\">\n\t<div\n\t\t#content\n\t\tluInput\n\t\tclass=\"richTextField-content textFlow\"\n\t\trole=\"textbox\"\n\t\t[attr.contenteditable]=\"!isDisabled()\"\n\t\t[attr.aria-disabled]=\"isDisabled()\"\n\t\t[attr.aria-placeholder]=\"currentCanShowPlaceholder() ? placeholder() : null\"\n\t\t[attr.aria-labelledby]=\"formFieldId() + '-label'\"\n\t\t[attr.spellcheck]=\"!disableSpellcheck()\"\n\t\t(blur)=\"touch()\"\n\t></div>\n\t@if (currentCanShowPlaceholder()) {\n\t\t<div aria-hidden=\"true\" class=\"richTextField-content-placeholder\">{{ placeholder() }}</div>\n\t}\n\t<div\n\t\tclass=\"richTextField-toolbar\"\n\t\t[class.pr-u-displayNone]=\"hideToolbar()\"\n\t\t(keydown.arrowleft)=\"focusSiblingPlugin($event, -1)\"\n\t\t(keydown.arrowRight)=\"focusSiblingPlugin($event, 1)\"\n\t\trole=\"toolbar\"\n\t\t[attr.aria-labelledby]=\"formFieldId() + '-label'\"\n\t\t[attr.aria-controls]=\"formFieldId()\"\n\t>\n\t\t<ng-container *cdkPortalOutlet=\"toolsPortal()\" />\n\t</div>\n</div>\n\n<ng-container *luPresentationDisplayDefault>\n\t<span class=\"pr-u-displayNone\">\n\t\t<ng-container *cdkPortalOutlet=\"toolsPortal()\" />\n\t</span>\n\t<div #contentPresentation class=\"textFlow\"></div>\n</ng-container>\n\n<span #toolsProjection>\n\t<ng-content />\n</span>\n", styles: ["@layer components{.richTextField{--components-richTextField-borderColor: var(--pr-t-color-input-border);--components-richTextField-backgroundColor: var(--pr-t-color-input-background);--components-richTextField-color: var(--pr-t-color-input-text);--components-richTextField-toolbar-backgroundColor: var(--palettes-neutral-25);--components-richTextField-toolbar-display: block;--components-richTextField-placeholder-color: var(--pr-t-color-input-text-placeholder);--components-richTextField-content-resize: var(--components-richTextField-resize, vertical);--components-richTextField-content-height: var(--components-richTextField-height, calc(3lh + var(--pr-t-spacings-200)));--components-richTextField-content-minHeight: var(--components-richTextField-minHeight, calc(2lh + var(--pr-t-spacings-200)));--components-richTextField-content-maxHeight: var(--components-richTextField-maxHeight, 90dvh);position:relative;flex-grow:1;background-color:var(--components-richTextField-backgroundColor);color:var(--components-richTextField-color);border-color:var(--components-richTextField-borderColor);border-style:solid;border-width:1px;border-radius:var(--pr-t-border-radius-input);overflow:auto}.richTextField:has(.richTextField-toolbar-formatting):has(.richTextField-toolbar-chips){min-block-size:calc(var(--components-richTextField-minHeight) + var(--pr-t-spacings-800) + var(--pr-t-spacings-25) + var(--pr-t-spacings-600))}.richTextField:has(.richTextField-toolbar-formatting):has(.richTextField-toolbar-chips) .richTextField-toolbar-chips{border-block-start:1px solid var(--palettes-neutral-200);padding-block-start:var(--pr-t-spacings-100)}.richTextField:has(.richTextField-toolbar-formatting):has(.richTextField-toolbar-chips) .richTextField-toolbar-formatting{padding-block-end:var(--pr-t-spacings-100)}.richTextField-toolbar{display:var(--components-richTextField-toolbar-display);background-color:var(--components-richTextField-toolbar-backgroundColor);border-radius:0 0 var(--pr-t-border-radius-input) var(--pr-t-border-radius-input);padding:var(--pr-t-spacings-100);overflow:hidden;animation-name:fadeIn;animation-duration:var(--commons-animations-durations-fast);animation-delay:var(--commons-animations-durations-fast);opacity:0;flex-shrink:0;animation-fill-mode:forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.richTextField-toolbar-formatting{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--pr-t-spacings-400);flex-shrink:0}.richTextField-toolbar-formatting:empty{display:none}.richTextField-toolbar-col{display:flex;flex-wrap:wrap;align-items:center;row-gap:var(--pr-t-spacings-100);margin-inline-start:calc(var(--pr-t-spacings-400) * -1)}.richTextField-toolbar-col-group{display:flex;flex-wrap:wrap;align-items:center}.richTextField-toolbar-col-group:not(:only-child){position:relative;margin-inline-start:var(--pr-t-spacings-400)}.richTextField-toolbar-col-group:not(:only-child):before{content:\"\";position:absolute;inset:var(--pr-t-spacings-100) auto var(--pr-t-spacings-100) calc(var(--pr-t-spacings-400) / -2);inline-size:2px;border-radius:var(--pr-t-border-radius-full);background-color:var(--palettes-neutral-300)}.richTextField-toolbar-col-group .richTextField-toolbar-col-group{display:contents}.richTextField-toolbar-chips{display:flex;flex-wrap:wrap;gap:var(--pr-t-spacings-50);padding-block-start:0;border-block-start:0}.richTextField-toolbar-chips-chip{border:0}.richTextField-toolbar-chips-chip:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.richTextField-content{padding:var(--pr-t-spacings-100);outline:none;overflow:auto;resize:var(--components-richTextField-content-resize);min-block-size:var(--components-richTextField-content-minHeight);max-block-size:var(--components-richTextField-content-maxHeight);block-size:var(--components-richTextField-content-height)}.richTextField-content-chip{vertical-align:middle}.richTextField-content-chip:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.richTextField-content-placeholder{position:absolute;pointer-events:none;inset-block-start:0;padding:var(--pr-t-spacings-100);-webkit-user-select:none;user-select:none;color:var(--components-richTextField-placeholder-color)}}@layer mods{.richTextField:has(.richTextField-content:focus-visible){outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.richTextField:hover{--components-richTextField-borderColor: var(--pr-t-color-input-border-hover)}.richTextField:has(.richTextField-content[aria-invalid=true]){--components-richTextField-borderColor: var(--pr-t-color-input-border-critical);--components-richTextField-backgroundColor: var(--pr-t-color-input-background-critical);--components-richTextField-placeholder-color: var(--pr-t-color-input-text-placeholder-critical)}.richTextField:has(.richTextField-content[aria-invalid=true]):hover{--components-richTextField-borderColor: var(--pr-t-color-input-border-critical-hover)}.richTextField.is-disabled{--components-richTextField-backgroundColor: var(--pr-t-color-input-background-disabled);--components-richTextField-toolbar-backgroundColor: var(--pr-t-color-input-background-disabled);--components-richTextField-toolbar-display: none;--components-richTextField-color: var(--pr-t-color-input-text-disabled);--components-richTextField-borderColor: var(--pr-t-color-input-border)}.richTextField.mod-autoResize{--components-richTextField-content-minHeight: calc(3lh + var(--pr-t-spacings-200));--components-richTextField-content-height: auto;--components-richTextField-content-resize: none}}@layer mods{.richTextField-toolbar-button.button.mod-onlyIcon[aria-pressed=true]{--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700))}.richTextField-toolbar-button.button.mod-onlyIcon[aria-pressed=true]:hover{--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-600, var(--palettes-product-600))}.richTextField-toolbar-button.button.mod-onlyIcon[aria-pressed=true]:active{--components-button-backgroundColor: var(--palettes-800, var(--palettes-product-800))}.richTextField-toolbar-button.button.mod-onlyIcon[aria-pressed=true]:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.richTextField-toolbar-button.button.mod-onlyIcon[aria-pressed=true]:disabled{--components-button-color: var(--commons-disabled-background);--components-button-backgroundColor: var(--palettes-neutral-500)}}\n"], dependencies: [{ kind: "directive", type: InputDirective, selector: "[luInput]", inputs: ["luInputStandalone"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: _PresentationDisplayDefaultDirective, selector: "[luPresentationDisplayDefault]" }, { kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
199
217
|
}
|
|
200
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
218
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: RichTextInputComponent, decorators: [{
|
|
201
219
|
type: Component,
|
|
202
|
-
args: [{ selector: 'lu-rich-text-input', imports: [InputDirective, CommonModule, _PresentationDisplayDefaultDirective], encapsulation: ViewEncapsulation.None, providers: [
|
|
220
|
+
args: [{ selector: 'lu-rich-text-input', imports: [InputDirective, CommonModule, _PresentationDisplayDefaultDirective, CdkPortalOutlet], encapsulation: ViewEncapsulation.None, providers: [
|
|
203
221
|
{
|
|
204
222
|
provide: NG_VALUE_ACCESSOR,
|
|
205
223
|
useExisting: forwardRef(() => RichTextInputComponent),
|
|
206
224
|
multi: true,
|
|
207
225
|
},
|
|
208
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"richTextField\" [class.is-disabled]=\"isDisabled()\" [class.mod-autoResize]=\"autoResize()\">\n\t<div\n\t\t#content\n\t\tluInput\n\t\tclass=\"richTextField-content textFlow\"\n\t\trole=\"textbox\"\n\t\t[attr.contenteditable]=\"!isDisabled()\"\n\t\t[attr.aria-disabled]=\"isDisabled()\"\n\t\t[attr.aria-placeholder]=\"currentCanShowPlaceholder() ? placeholder() : null\"\n\t\t[attr.aria-labelledby]=\"formFieldId() + '-label'\"\n\t\t[attr.spellcheck]=\"!disableSpellcheck()\"\n\t\t(blur)=\"touch()\"\n\t></div>\n\t@if (currentCanShowPlaceholder()) {\n\t\t<div aria-hidden=\"true\" class=\"richTextField-content-placeholder\">{{ placeholder() }}</div>\n\t}\n\t<div\n\t\tclass=\"richTextField-toolbar\"\n\t\t[class.pr-u-displayNone]=\"hideToolbar()\"\n\t\t(keydown.arrowleft)=\"focusSiblingPlugin($event, -1)\"\n\t\t(keydown.arrowRight)=\"focusSiblingPlugin($event, 1)\"\n\t\trole=\"toolbar\"\n\t\t[attr.aria-labelledby]=\"formFieldId() + '-label'\"\n\t\t[attr.aria-controls]=\"formFieldId()\"\n\t>\n\t\t<ng-container *
|
|
226
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"richTextField\" [class.is-disabled]=\"isDisabled()\" [class.mod-autoResize]=\"autoResize()\">\n\t<div\n\t\t#content\n\t\tluInput\n\t\tclass=\"richTextField-content textFlow\"\n\t\trole=\"textbox\"\n\t\t[attr.contenteditable]=\"!isDisabled()\"\n\t\t[attr.aria-disabled]=\"isDisabled()\"\n\t\t[attr.aria-placeholder]=\"currentCanShowPlaceholder() ? placeholder() : null\"\n\t\t[attr.aria-labelledby]=\"formFieldId() + '-label'\"\n\t\t[attr.spellcheck]=\"!disableSpellcheck()\"\n\t\t(blur)=\"touch()\"\n\t></div>\n\t@if (currentCanShowPlaceholder()) {\n\t\t<div aria-hidden=\"true\" class=\"richTextField-content-placeholder\">{{ placeholder() }}</div>\n\t}\n\t<div\n\t\tclass=\"richTextField-toolbar\"\n\t\t[class.pr-u-displayNone]=\"hideToolbar()\"\n\t\t(keydown.arrowleft)=\"focusSiblingPlugin($event, -1)\"\n\t\t(keydown.arrowRight)=\"focusSiblingPlugin($event, 1)\"\n\t\trole=\"toolbar\"\n\t\t[attr.aria-labelledby]=\"formFieldId() + '-label'\"\n\t\t[attr.aria-controls]=\"formFieldId()\"\n\t>\n\t\t<ng-container *cdkPortalOutlet=\"toolsPortal()\" />\n\t</div>\n</div>\n\n<ng-container *luPresentationDisplayDefault>\n\t<span class=\"pr-u-displayNone\">\n\t\t<ng-container *cdkPortalOutlet=\"toolsPortal()\" />\n\t</span>\n\t<div #contentPresentation class=\"textFlow\"></div>\n</ng-container>\n\n<span #toolsProjection>\n\t<ng-content />\n</span>\n", styles: ["@layer components{.richTextField{--components-richTextField-borderColor: var(--pr-t-color-input-border);--components-richTextField-backgroundColor: var(--pr-t-color-input-background);--components-richTextField-color: var(--pr-t-color-input-text);--components-richTextField-toolbar-backgroundColor: var(--palettes-neutral-25);--components-richTextField-toolbar-display: block;--components-richTextField-placeholder-color: var(--pr-t-color-input-text-placeholder);--components-richTextField-content-resize: var(--components-richTextField-resize, vertical);--components-richTextField-content-height: var(--components-richTextField-height, calc(3lh + var(--pr-t-spacings-200)));--components-richTextField-content-minHeight: var(--components-richTextField-minHeight, calc(2lh + var(--pr-t-spacings-200)));--components-richTextField-content-maxHeight: var(--components-richTextField-maxHeight, 90dvh);position:relative;flex-grow:1;background-color:var(--components-richTextField-backgroundColor);color:var(--components-richTextField-color);border-color:var(--components-richTextField-borderColor);border-style:solid;border-width:1px;border-radius:var(--pr-t-border-radius-input);overflow:auto}.richTextField:has(.richTextField-toolbar-formatting):has(.richTextField-toolbar-chips){min-block-size:calc(var(--components-richTextField-minHeight) + var(--pr-t-spacings-800) + var(--pr-t-spacings-25) + var(--pr-t-spacings-600))}.richTextField:has(.richTextField-toolbar-formatting):has(.richTextField-toolbar-chips) .richTextField-toolbar-chips{border-block-start:1px solid var(--palettes-neutral-200);padding-block-start:var(--pr-t-spacings-100)}.richTextField:has(.richTextField-toolbar-formatting):has(.richTextField-toolbar-chips) .richTextField-toolbar-formatting{padding-block-end:var(--pr-t-spacings-100)}.richTextField-toolbar{display:var(--components-richTextField-toolbar-display);background-color:var(--components-richTextField-toolbar-backgroundColor);border-radius:0 0 var(--pr-t-border-radius-input) var(--pr-t-border-radius-input);padding:var(--pr-t-spacings-100);overflow:hidden;animation-name:fadeIn;animation-duration:var(--commons-animations-durations-fast);animation-delay:var(--commons-animations-durations-fast);opacity:0;flex-shrink:0;animation-fill-mode:forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.richTextField-toolbar-formatting{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--pr-t-spacings-400);flex-shrink:0}.richTextField-toolbar-formatting:empty{display:none}.richTextField-toolbar-col{display:flex;flex-wrap:wrap;align-items:center;row-gap:var(--pr-t-spacings-100);margin-inline-start:calc(var(--pr-t-spacings-400) * -1)}.richTextField-toolbar-col-group{display:flex;flex-wrap:wrap;align-items:center}.richTextField-toolbar-col-group:not(:only-child){position:relative;margin-inline-start:var(--pr-t-spacings-400)}.richTextField-toolbar-col-group:not(:only-child):before{content:\"\";position:absolute;inset:var(--pr-t-spacings-100) auto var(--pr-t-spacings-100) calc(var(--pr-t-spacings-400) / -2);inline-size:2px;border-radius:var(--pr-t-border-radius-full);background-color:var(--palettes-neutral-300)}.richTextField-toolbar-col-group .richTextField-toolbar-col-group{display:contents}.richTextField-toolbar-chips{display:flex;flex-wrap:wrap;gap:var(--pr-t-spacings-50);padding-block-start:0;border-block-start:0}.richTextField-toolbar-chips-chip{border:0}.richTextField-toolbar-chips-chip:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.richTextField-content{padding:var(--pr-t-spacings-100);outline:none;overflow:auto;resize:var(--components-richTextField-content-resize);min-block-size:var(--components-richTextField-content-minHeight);max-block-size:var(--components-richTextField-content-maxHeight);block-size:var(--components-richTextField-content-height)}.richTextField-content-chip{vertical-align:middle}.richTextField-content-chip:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.richTextField-content-placeholder{position:absolute;pointer-events:none;inset-block-start:0;padding:var(--pr-t-spacings-100);-webkit-user-select:none;user-select:none;color:var(--components-richTextField-placeholder-color)}}@layer mods{.richTextField:has(.richTextField-content:focus-visible){outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.richTextField:hover{--components-richTextField-borderColor: var(--pr-t-color-input-border-hover)}.richTextField:has(.richTextField-content[aria-invalid=true]){--components-richTextField-borderColor: var(--pr-t-color-input-border-critical);--components-richTextField-backgroundColor: var(--pr-t-color-input-background-critical);--components-richTextField-placeholder-color: var(--pr-t-color-input-text-placeholder-critical)}.richTextField:has(.richTextField-content[aria-invalid=true]):hover{--components-richTextField-borderColor: var(--pr-t-color-input-border-critical-hover)}.richTextField.is-disabled{--components-richTextField-backgroundColor: var(--pr-t-color-input-background-disabled);--components-richTextField-toolbar-backgroundColor: var(--pr-t-color-input-background-disabled);--components-richTextField-toolbar-display: none;--components-richTextField-color: var(--pr-t-color-input-text-disabled);--components-richTextField-borderColor: var(--pr-t-color-input-border)}.richTextField.mod-autoResize{--components-richTextField-content-minHeight: calc(3lh + var(--pr-t-spacings-200));--components-richTextField-content-height: auto;--components-richTextField-content-resize: none}}@layer mods{.richTextField-toolbar-button.button.mod-onlyIcon[aria-pressed=true]{--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700))}.richTextField-toolbar-button.button.mod-onlyIcon[aria-pressed=true]:hover{--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-600, var(--palettes-product-600))}.richTextField-toolbar-button.button.mod-onlyIcon[aria-pressed=true]:active{--components-button-backgroundColor: var(--palettes-800, var(--palettes-product-800))}.richTextField-toolbar-button.button.mod-onlyIcon[aria-pressed=true]:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.richTextField-toolbar-button.button.mod-onlyIcon[aria-pressed=true]:disabled{--components-button-color: var(--commons-disabled-background);--components-button-backgroundColor: var(--palettes-neutral-500)}}\n"] }]
|
|
209
227
|
}], ctorParameters: () => [], propDecorators: { placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], disableSpellcheck: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableSpellcheck", required: false }] }], autoResize: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoResize", required: false }] }], hideToolbar: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideToolbar", required: false }] }], content: [{ type: i0.ViewChild, args: ['content', { ...{
|
|
210
228
|
read: ElementRef,
|
|
211
229
|
}, isSignal: true }] }], contentPresentation: [{ type: i0.ViewChild, args: ['contentPresentation', { ...{
|
|
212
230
|
read: ElementRef,
|
|
213
|
-
}, isSignal: true }] }], pluginComponents: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => RICH_TEXT_PLUGIN_COMPONENT), { ...{ descendants: true }, isSignal: true }] }] } });
|
|
231
|
+
}, isSignal: true }] }], pluginComponents: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => RICH_TEXT_PLUGIN_COMPONENT), { ...{ descendants: true }, isSignal: true }] }], toolsProjection: [{ type: i0.ViewChild, args: ['toolsProjection', { isSignal: true }] }] } });
|
|
214
232
|
|
|
215
233
|
const Translations = {
|
|
216
234
|
'nl-BE': {
|
|
@@ -236,6 +254,7 @@ const Translations = {
|
|
|
236
254
|
stylesStrikethrough: 'Doorgehaald',
|
|
237
255
|
linksPlaceholder: 'https://www.nomDuSite.com',
|
|
238
256
|
insertTag: 'Invoegen:',
|
|
257
|
+
selectTag: 'Een tag toevoegen',
|
|
239
258
|
},
|
|
240
259
|
fr: {
|
|
241
260
|
clearFormat: 'Effacer la mise en forme',
|
|
@@ -260,6 +279,7 @@ const Translations = {
|
|
|
260
279
|
stylesStrikethrough: 'Barré',
|
|
261
280
|
linksPlaceholder: 'https://www.nomDuSite.com',
|
|
262
281
|
insertTag: 'Insérer :',
|
|
282
|
+
selectTag: 'Ajouter une balise',
|
|
263
283
|
},
|
|
264
284
|
en: {
|
|
265
285
|
clearFormat: 'Delete formatting',
|
|
@@ -284,6 +304,7 @@ const Translations = {
|
|
|
284
304
|
stylesStrikethrough: 'Strikethrough',
|
|
285
305
|
linksPlaceholder: 'https://www.SiteName.com',
|
|
286
306
|
insertTag: 'Insert:',
|
|
307
|
+
selectTag: 'Add a tag',
|
|
287
308
|
},
|
|
288
309
|
de: {
|
|
289
310
|
clearFormat: 'Formatierung löschen',
|
|
@@ -308,6 +329,7 @@ const Translations = {
|
|
|
308
329
|
stylesStrikethrough: 'Durchgestrichen',
|
|
309
330
|
linksPlaceholder: 'https://www.NameDerSeite.com',
|
|
310
331
|
insertTag: 'Einfügen:',
|
|
332
|
+
selectTag: 'Ein Tag hinzufügen',
|
|
311
333
|
},
|
|
312
334
|
it: {
|
|
313
335
|
clearFormat: 'Cancellare la formattazione',
|
|
@@ -332,6 +354,7 @@ const Translations = {
|
|
|
332
354
|
stylesStrikethrough: 'Barrato',
|
|
333
355
|
linksPlaceholder: 'https://www.nomDuSite.com',
|
|
334
356
|
insertTag: 'Inserire:',
|
|
357
|
+
selectTag: 'Aggiungi un tag',
|
|
335
358
|
},
|
|
336
359
|
nl: {
|
|
337
360
|
clearFormat: 'Opmaak wissen',
|
|
@@ -356,6 +379,7 @@ const Translations = {
|
|
|
356
379
|
stylesStrikethrough: 'Doorgehaald',
|
|
357
380
|
linksPlaceholder: 'https://www.nomDuSite.com',
|
|
358
381
|
insertTag: 'Invoegen:',
|
|
382
|
+
selectTag: 'Een tag toevoegen',
|
|
359
383
|
},
|
|
360
384
|
es: {
|
|
361
385
|
clearFormat: 'Borrar formato',
|
|
@@ -380,6 +404,7 @@ const Translations = {
|
|
|
380
404
|
stylesStrikethrough: 'Tachado',
|
|
381
405
|
linksPlaceholder: 'https://www.nomDuSite.com',
|
|
382
406
|
insertTag: 'Introducir:',
|
|
407
|
+
selectTag: 'Añadir una etiqueta',
|
|
383
408
|
},
|
|
384
409
|
pt: {
|
|
385
410
|
clearFormat: 'Eliminar a formatação',
|
|
@@ -404,6 +429,32 @@ const Translations = {
|
|
|
404
429
|
stylesStrikethrough: 'Barré',
|
|
405
430
|
linksPlaceholder: 'https://www.nomeDoSitio.com/',
|
|
406
431
|
insertTag: 'Inserir:',
|
|
432
|
+
selectTag: 'Adicionar uma etiqueta',
|
|
433
|
+
},
|
|
434
|
+
pl: {
|
|
435
|
+
clearFormat: 'Usuń formatowanie',
|
|
436
|
+
linksCancel: 'Anuluj',
|
|
437
|
+
linksDelete: 'Usuń link',
|
|
438
|
+
linksHref: 'Adres internetowy',
|
|
439
|
+
linksLabel: 'Link',
|
|
440
|
+
linksSubmit: 'Potwierdź',
|
|
441
|
+
listsNumberedLabel: 'Lista numerowana',
|
|
442
|
+
listsBulletLabel: 'Lista punktowana',
|
|
443
|
+
headingsLabel: 'Poziom tytułu',
|
|
444
|
+
headings0: 'Akapit',
|
|
445
|
+
headings1: 'Nagłówek poziomu 1',
|
|
446
|
+
headings2: 'Nagłówek poziomu 2',
|
|
447
|
+
headings3: 'Nagłówek poziomu 3',
|
|
448
|
+
headings4: 'Nagłówek poziomu 4',
|
|
449
|
+
headings5: 'Nagłówek poziomu 5',
|
|
450
|
+
headings6: 'Nagłówek poziomu 6',
|
|
451
|
+
stylesItalic: 'Kursywa',
|
|
452
|
+
stylesBold: 'Tłuste',
|
|
453
|
+
stylesUnderline: 'Podkreślone',
|
|
454
|
+
stylesStrikethrough: 'Przekreślone',
|
|
455
|
+
linksPlaceholder: 'https://www.nomDuSite.com',
|
|
456
|
+
insertTag: 'Wstaw:',
|
|
457
|
+
selectTag: 'Dodaj tag',
|
|
407
458
|
},
|
|
408
459
|
};
|
|
409
460
|
|
|
@@ -494,10 +545,13 @@ function registerClearFormat(editor) {
|
|
|
494
545
|
class ClearFormatComponent {
|
|
495
546
|
constructor() {
|
|
496
547
|
this.#registeredCommands = () => { };
|
|
497
|
-
this.intl = input(...intlInputOptions(LU_RICH_TEXT_INPUT_TRANSLATIONS),
|
|
548
|
+
this.intl = input(...intlInputOptions(LU_RICH_TEXT_INPUT_TRANSLATIONS), /* @ts-ignore */
|
|
549
|
+
...(ngDevMode ? [{ debugName: "intl" }] : /* istanbul ignore next */ []));
|
|
498
550
|
this.element = viewChild('element', { ...(ngDevMode ? { debugName: "element" } : /* istanbul ignore next */ {}), read: (ElementRef) });
|
|
499
|
-
this.tabindex = signal(-1,
|
|
500
|
-
|
|
551
|
+
this.tabindex = signal(-1, /* @ts-ignore */
|
|
552
|
+
...(ngDevMode ? [{ debugName: "tabindex" }] : /* istanbul ignore next */ []));
|
|
553
|
+
this.isDisabled = signal(false, /* @ts-ignore */
|
|
554
|
+
...(ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []));
|
|
501
555
|
}
|
|
502
556
|
#editor;
|
|
503
557
|
#registeredCommands;
|
|
@@ -517,15 +571,15 @@ class ClearFormatComponent {
|
|
|
517
571
|
focus() {
|
|
518
572
|
this.element().nativeElement.focus();
|
|
519
573
|
}
|
|
520
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
521
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
574
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ClearFormatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
575
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.7", type: ClearFormatComponent, isStandalone: true, selector: "lu-rich-text-plugin-clear-format", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "richTextField-toolbar-col-group" }, providers: [
|
|
522
576
|
{
|
|
523
577
|
provide: RICH_TEXT_PLUGIN_COMPONENT,
|
|
524
578
|
useExisting: forwardRef(() => ClearFormatComponent),
|
|
525
579
|
},
|
|
526
|
-
], viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<button\n\t#element\n\tluButton=\"ghost\"\n\ttype=\"button\"\n\tsize=\"S\"\n\t(click)=\"dispatchCommand()\"\n\t[luTooltip]=\"intl().clearFormat\"\n\tluTooltipOnlyForDisplay\n\t[attr.tabindex]=\"tabindex()\"\n\t[disabled]=\"isDisabled()\"\n\tclass=\"richTextField-toolbar-button\"\n>\n\t<lu-icon icon=\"formatClear\" [alt]=\"intl().clearFormat\" />\n</button>\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[luButton], a[luButton], span[luButton], button[prButton], a[prButton], span[prButton]", inputs: ["size", "block", "critical", "delete", "disclosure", "palette", "state", "luButton", "prButton"] }, { kind: "component", type: IconComponent, selector: "lu-icon, pr-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis", "luTooltipAnchor", "id"], exportAs: ["luTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
580
|
+
], viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<button\n\t#element\n\tluButton=\"ghost\"\n\ttype=\"button\"\n\tsize=\"S\"\n\t(click)=\"dispatchCommand()\"\n\t[luTooltip]=\"intl().clearFormat\"\n\tluTooltipOnlyForDisplay\n\t[attr.tabindex]=\"tabindex()\"\n\t[disabled]=\"isDisabled()\"\n\tclass=\"richTextField-toolbar-button\"\n>\n\t<lu-icon icon=\"formatClear\" [alt]=\"intl().clearFormat\" />\n</button>\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[luButton], a[luButton], span[luButton], button[prButton], a[prButton], span[prButton]", inputs: ["size", "block", "disabled", "critical", "delete", "disclosure", "palette", "state", "luButton", "prButton"] }, { kind: "component", type: IconComponent, selector: "lu-icon, pr-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis", "luTooltipAnchor", "id"], exportAs: ["luTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
527
581
|
}
|
|
528
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
582
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ClearFormatComponent, decorators: [{
|
|
529
583
|
type: Component,
|
|
530
584
|
args: [{ selector: 'lu-rich-text-plugin-clear-format', imports: [ButtonComponent, IconComponent, LuTooltipTriggerDirective], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
531
585
|
class: 'richTextField-toolbar-col-group',
|
|
@@ -568,11 +622,16 @@ function registerHeadingsSelectionChange(editor, onselectionchange) {
|
|
|
568
622
|
class HeadingsComponent {
|
|
569
623
|
constructor() {
|
|
570
624
|
this.#destroyRef = inject(DestroyRef);
|
|
571
|
-
this.element = viewChild('selectRef',
|
|
572
|
-
|
|
573
|
-
this.
|
|
574
|
-
|
|
575
|
-
this.
|
|
625
|
+
this.element = viewChild('selectRef', /* @ts-ignore */
|
|
626
|
+
...(ngDevMode ? [{ debugName: "element" }] : /* istanbul ignore next */ []));
|
|
627
|
+
this.tabindex = signal(-1, /* @ts-ignore */
|
|
628
|
+
...(ngDevMode ? [{ debugName: "tabindex" }] : /* istanbul ignore next */ []));
|
|
629
|
+
this.maxHeadingLevel = input(6, /* @ts-ignore */
|
|
630
|
+
...(ngDevMode ? [{ debugName: "maxHeadingLevel" }] : /* istanbul ignore next */ []));
|
|
631
|
+
this.headingOptions = computed(() => Object.keys(this.headingLabels()).slice(0, this.maxHeadingLevel() + 1), /* @ts-ignore */
|
|
632
|
+
...(ngDevMode ? [{ debugName: "headingOptions" }] : /* istanbul ignore next */ []));
|
|
633
|
+
this.intl = input(...intlInputOptions(LU_RICH_TEXT_INPUT_TRANSLATIONS), /* @ts-ignore */
|
|
634
|
+
...(ngDevMode ? [{ debugName: "intl" }] : /* istanbul ignore next */ []));
|
|
576
635
|
this.headingLabels = computed(() => ({
|
|
577
636
|
paragraph: [this.intl().headings0, 0],
|
|
578
637
|
h1: [this.intl().headings1, 1],
|
|
@@ -581,7 +640,8 @@ class HeadingsComponent {
|
|
|
581
640
|
h4: [this.intl().headings4, 4],
|
|
582
641
|
h5: [this.intl().headings5, 5],
|
|
583
642
|
h6: [this.intl().headings6, 6],
|
|
584
|
-
}),
|
|
643
|
+
}), /* @ts-ignore */
|
|
644
|
+
...(ngDevMode ? [{ debugName: "headingLabels" }] : /* istanbul ignore next */ []));
|
|
585
645
|
this.formControl = new FormControl('paragraph');
|
|
586
646
|
this.#registeredCommands = () => { };
|
|
587
647
|
}
|
|
@@ -608,15 +668,15 @@ class HeadingsComponent {
|
|
|
608
668
|
this.formControl.enable();
|
|
609
669
|
}
|
|
610
670
|
}
|
|
611
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
612
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
671
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HeadingsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
672
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.7", type: HeadingsComponent, isStandalone: true, selector: "lu-rich-text-plugin-headings", inputs: { maxHeadingLevel: { classPropertyName: "maxHeadingLevel", publicName: "maxHeadingLevel", isSignal: true, isRequired: false, transformFunction: null }, intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "richTextField-toolbar-col-group" }, providers: [
|
|
613
673
|
{
|
|
614
674
|
provide: RICH_TEXT_PLUGIN_COMPONENT,
|
|
615
675
|
useExisting: forwardRef(() => HeadingsComponent),
|
|
616
676
|
},
|
|
617
|
-
], viewQueries: [{ propertyName: "element", first: true, predicate: ["selectRef"], descendants: true, isSignal: true }], ngImport: i0, template: "<lu-form-field [label]=\"intl().headingsLabel\" size=\"S\" hiddenLabel class=\"mod-width20\">\n\t<lu-simple-select [options]=\"headingOptions()\" [formControl]=\"formControl\" #selectRef [inputTabindex]=\"tabindex()\">\n\t\t<ng-container *luOption=\"let heading; select: selectRef\">{{ headingLabels()[heading][0] }}</ng-container>\n\t</lu-simple-select>\n</lu-form-field>\n", dependencies: [{ kind: "component", type: LuSimpleSelectInputComponent, selector: "lu-simple-select", inputs: ["intl", "autocomplete"] }, { kind: "component", type: FormFieldComponent, selector: "lu-form-field", inputs: ["intl", "label", "hiddenLabel", "rolePresentationLabel", "inline", "statusControl", "tooltip", "tag", "AI", "iconAItooltip", "iconAIalt", "width", "invalid", "inlineMessage", "errorInlineMessage", "inlineMessageState", "size", "extraDescribedBy", "layout", "counter", "presentation"], outputs: ["rolePresentationLabelChange", "layoutChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1
|
|
677
|
+
], viewQueries: [{ propertyName: "element", first: true, predicate: ["selectRef"], descendants: true, isSignal: true }], ngImport: i0, template: "<lu-form-field [label]=\"intl().headingsLabel\" size=\"S\" hiddenLabel class=\"mod-width20\">\n\t<lu-simple-select [options]=\"headingOptions()\" [formControl]=\"formControl\" #selectRef [inputTabindex]=\"tabindex()\">\n\t\t<ng-container *luOption=\"let heading; select: selectRef\">{{ headingLabels()[heading][0] }}</ng-container>\n\t</lu-simple-select>\n</lu-form-field>\n", dependencies: [{ kind: "component", type: LuSimpleSelectInputComponent, selector: "lu-simple-select", inputs: ["intl", "autocomplete", "impersonation"] }, { kind: "component", type: FormFieldComponent, selector: "lu-form-field", inputs: ["intl", "label", "hiddenLabel", "rolePresentationLabel", "inline", "statusControl", "tooltip", "tag", "AI", "iconAItooltip", "iconAIalt", "width", "invalid", "inlineMessage", "errorInlineMessage", "inlineMessageState", "size", "extraDescribedBy", "layout", "counter", "presentation"], outputs: ["rolePresentationLabelChange", "layoutChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: LuOptionDirective, selector: "[luOption]", inputs: ["luOptionSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
618
678
|
}
|
|
619
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
679
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HeadingsComponent, decorators: [{
|
|
620
680
|
type: Component,
|
|
621
681
|
args: [{ selector: 'lu-rich-text-plugin-headings', changeDetection: ChangeDetectionStrategy.OnPush, imports: [LuSimpleSelectInputComponent, FormFieldComponent, ReactiveFormsModule, LuOptionDirective], host: {
|
|
622
682
|
class: 'richTextField-toolbar-col-group',
|
|
@@ -632,7 +692,8 @@ class LinkDialogComponent {
|
|
|
632
692
|
constructor() {
|
|
633
693
|
this.dialogData = injectDialogData();
|
|
634
694
|
this.dialogRef = injectDialogRef();
|
|
635
|
-
this.intl = input(...intlInputOptions(LU_RICH_TEXT_INPUT_TRANSLATIONS),
|
|
695
|
+
this.intl = input(...intlInputOptions(LU_RICH_TEXT_INPUT_TRANSLATIONS), /* @ts-ignore */
|
|
696
|
+
...(ngDevMode ? [{ debugName: "intl" }] : /* istanbul ignore next */ []));
|
|
636
697
|
this.formGroup = new FormGroup({
|
|
637
698
|
href: new FormControl(this.dialogData.url, Validators.required),
|
|
638
699
|
});
|
|
@@ -643,15 +704,30 @@ class LinkDialogComponent {
|
|
|
643
704
|
return;
|
|
644
705
|
}
|
|
645
706
|
const hrefValue = this.formGroup.controls.href.value;
|
|
646
|
-
this.dialogRef.close(hrefValue ?
|
|
707
|
+
this.dialogRef.close(hrefValue ? this.#encodeHref(hrefValue.trim()) : hrefValue);
|
|
708
|
+
}
|
|
709
|
+
/**
|
|
710
|
+
* Encodes a href without double-encoding URLs that are already (partially) encoded.
|
|
711
|
+
* Pasted URLs (e.g. SharePoint links) often already contain percent-encoded characters
|
|
712
|
+
* like `%20`; applying `encodeURI` directly would re-encode the `%` into `%25`.
|
|
713
|
+
* We first decode to get back the raw URL, then re-encode it so the result is idempotent.
|
|
714
|
+
*/
|
|
715
|
+
#encodeHref(href) {
|
|
716
|
+
try {
|
|
717
|
+
return encodeURI(decodeURI(href));
|
|
718
|
+
}
|
|
719
|
+
catch {
|
|
720
|
+
// Malformed URI sequence (e.g. a lone `%`): fall back to encoding as-is.
|
|
721
|
+
return encodeURI(href);
|
|
722
|
+
}
|
|
647
723
|
}
|
|
648
724
|
deleteLink() {
|
|
649
725
|
this.dialogRef.close(undefined);
|
|
650
726
|
}
|
|
651
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
652
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
727
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: LinkDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
728
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: LinkDialogComponent, isStandalone: true, selector: "lu-rich-text-plugin-link-dialog", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<lu-dialog>\n\t<form class=\"dialog-form\" (submit)=\"save()\" [formGroup]=\"formGroup\">\n\t\t<lu-dialog-content>\n\t\t\t<lu-form-field [label]=\"intl().linksHref\">\n\t\t\t\t<lu-text-input formControlName=\"href\" type=\"url\" [placeholder]=\"intl().linksPlaceholder\" />\n\t\t\t</lu-form-field>\n\t\t</lu-dialog-content>\n\t\t<lu-dialog-footer>\n\t\t\t@if (dialogData.url && dialogData.canDelete) {\n\t\t\t\t<div class=\"footer-content\">\n\t\t\t\t\t<button type=\"button\" luButton=\"ghost\" critical (click)=\"deleteLink()\">{{ intl().linksDelete }}</button>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t<div class=\"footer-actions\">\n\t\t\t\t<button type=\"submit\" luButton>{{ intl().linksSubmit }}</button>\n\t\t\t\t<button type=\"button\" luButton=\"ghost\" luDialogDismiss>{{ intl().linksCancel }}</button>\n\t\t\t</div>\n\t\t</lu-dialog-footer>\n\t</form>\n</lu-dialog>\n", dependencies: [{ kind: "component", type: DialogComponent, selector: "lu-dialog", inputs: ["stacked", "fancyIllustration", "fancyIllustrationUrl"] }, { kind: "component", type: DialogContentComponent, selector: "lu-dialog-content" }, { kind: "component", type: DialogFooterComponent, selector: "lu-dialog-footer" }, { kind: "component", type: FormFieldComponent, selector: "lu-form-field", inputs: ["intl", "label", "hiddenLabel", "rolePresentationLabel", "inline", "statusControl", "tooltip", "tag", "AI", "iconAItooltip", "iconAIalt", "width", "invalid", "inlineMessage", "errorInlineMessage", "inlineMessageState", "size", "extraDescribedBy", "layout", "counter", "presentation"], outputs: ["rolePresentationLabelChange", "layoutChange"] }, { kind: "component", type: TextInputComponent, selector: "lu-text-input", inputs: ["intl", "mask", "placeholder", "autocomplete", "hasClearer", "hasSearchIcon", "valueAlignRight", "prefix", "suffix", "searchIcon", "type"], outputs: ["blur"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ButtonComponent, selector: "button[luButton], a[luButton], span[luButton], button[prButton], a[prButton], span[prButton]", inputs: ["size", "block", "disabled", "critical", "delete", "disclosure", "palette", "state", "luButton", "prButton"] }, { kind: "directive", type: DialogDismissDirective, selector: "[luDialogDismiss]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
653
729
|
}
|
|
654
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
730
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: LinkDialogComponent, decorators: [{
|
|
655
731
|
type: Component,
|
|
656
732
|
args: [{ selector: 'lu-rich-text-plugin-link-dialog', changeDetection: ChangeDetectionStrategy.OnPush, imports: [DialogComponent, DialogContentComponent, DialogFooterComponent, FormFieldComponent, TextInputComponent, ReactiveFormsModule, ButtonComponent, DialogDismissDirective], template: "<lu-dialog>\n\t<form class=\"dialog-form\" (submit)=\"save()\" [formGroup]=\"formGroup\">\n\t\t<lu-dialog-content>\n\t\t\t<lu-form-field [label]=\"intl().linksHref\">\n\t\t\t\t<lu-text-input formControlName=\"href\" type=\"url\" [placeholder]=\"intl().linksPlaceholder\" />\n\t\t\t</lu-form-field>\n\t\t</lu-dialog-content>\n\t\t<lu-dialog-footer>\n\t\t\t@if (dialogData.url && dialogData.canDelete) {\n\t\t\t\t<div class=\"footer-content\">\n\t\t\t\t\t<button type=\"button\" luButton=\"ghost\" critical (click)=\"deleteLink()\">{{ intl().linksDelete }}</button>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\t<div class=\"footer-actions\">\n\t\t\t\t<button type=\"submit\" luButton>{{ intl().linksSubmit }}</button>\n\t\t\t\t<button type=\"button\" luButton=\"ghost\" luDialogDismiss>{{ intl().linksCancel }}</button>\n\t\t\t</div>\n\t\t</lu-dialog-footer>\n\t</form>\n</lu-dialog>\n" }]
|
|
657
733
|
}], propDecorators: { intl: [{ type: i0.Input, args: [{ isSignal: true, alias: "intl", required: false }] }] } });
|
|
@@ -861,13 +937,18 @@ class LinkComponent {
|
|
|
861
937
|
constructor() {
|
|
862
938
|
this.#luDialogService = inject(LuDialogService);
|
|
863
939
|
this.#viewContainerRef = inject(ViewContainerRef);
|
|
864
|
-
this.linkNodeTemplate = viewChild.required('linkNodeTemplate', { read: TemplateRef });
|
|
865
|
-
this.element = viewChild.required('element', { read: (ElementRef) });
|
|
866
|
-
this.tabindex = signal(-1,
|
|
867
|
-
|
|
868
|
-
this.
|
|
869
|
-
|
|
870
|
-
this.
|
|
940
|
+
this.linkNodeTemplate = viewChild.required('linkNodeTemplate', { ...(ngDevMode ? { debugName: "linkNodeTemplate" } : /* istanbul ignore next */ {}), read: TemplateRef });
|
|
941
|
+
this.element = viewChild.required('element', { ...(ngDevMode ? { debugName: "element" } : /* istanbul ignore next */ {}), read: (ElementRef) });
|
|
942
|
+
this.tabindex = signal(-1, /* @ts-ignore */
|
|
943
|
+
...(ngDevMode ? [{ debugName: "tabindex" }] : /* istanbul ignore next */ []));
|
|
944
|
+
this.active = signal(false, /* @ts-ignore */
|
|
945
|
+
...(ngDevMode ? [{ debugName: "active" }] : /* istanbul ignore next */ []));
|
|
946
|
+
this.isDisabled = signal(false, /* @ts-ignore */
|
|
947
|
+
...(ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []));
|
|
948
|
+
this.intl = input(...intlInputOptions(LU_RICH_TEXT_INPUT_TRANSLATIONS), /* @ts-ignore */
|
|
949
|
+
...(ngDevMode ? [{ debugName: "intl" }] : /* istanbul ignore next */ []));
|
|
950
|
+
this.isEditable = signal(false, /* @ts-ignore */
|
|
951
|
+
...(ngDevMode ? [{ debugName: "isEditable" }] : /* istanbul ignore next */ []));
|
|
871
952
|
this.#registeredCommands = () => { };
|
|
872
953
|
}
|
|
873
954
|
#luDialogService;
|
|
@@ -956,16 +1037,16 @@ class LinkComponent {
|
|
|
956
1037
|
setDisabledState(isDisabled) {
|
|
957
1038
|
this.isDisabled.set(isDisabled);
|
|
958
1039
|
}
|
|
959
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
960
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1040
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: LinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1041
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: LinkComponent, isStandalone: true, selector: "lu-rich-text-plugin-link", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "richTextField-toolbar-col-group" }, providers: [
|
|
961
1042
|
provideLuDialog(),
|
|
962
1043
|
{
|
|
963
1044
|
provide: RICH_TEXT_PLUGIN_COMPONENT,
|
|
964
1045
|
useExisting: forwardRef(() => LinkComponent),
|
|
965
1046
|
},
|
|
966
|
-
], viewQueries: [{ propertyName: "linkNodeTemplate", first: true, predicate: ["linkNodeTemplate"], descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "element", first: true, predicate: ["element"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<button\n\t#element\n\tluButton=\"ghost\"\n\ttype=\"button\"\n\tsize=\"S\"\n\t(click)=\"dispatchCommand()\"\n\t[luTooltip]=\"intl().linksLabel\"\n\t[attr.aria-pressed]=\"active()\"\n\tluTooltipOnlyForDisplay\n\t[attr.tabindex]=\"tabindex()\"\n\t[disabled]=\"isDisabled()\"\n\tclass=\"richTextField-toolbar-button\"\n>\n\t<lu-icon icon=\"formatLink\" [alt]=\"intl().linksLabel\" />\n</button>\n\n<ng-template #linkNodeTemplate let-href=\"href\" let-title=\"title\" let-target=\"target\" let-isAutoLink=\"isAutoLink\">\n\t<a\n\t\t[href]=\"href\"\n\t\t[attr.title]=\"title\"\n\t\t[attr.target]=\"target\"\n\t\t[luPopover2]=\"popover\"\n\t\t[luPopoverDisabled]=\"!isEditable()\"\n\t\trel=\"noopener noreferrer\"\n\t\t#trigger=\"luPopover2\"\n\t></a>\n\t<ng-template #popover>\n\t\t<div class=\"popover-contentOptional linkPopover\">\n\t\t\t<a [href]=\"href\" luLink external class=\"pr-u-ellipsis\">{{ href }}</a>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tluButton=\"ghost\"\n\t\t\t\tsize=\"XS\"\n\t\t\t\t(click)=\"trigger.close(); dispatchCommand()\"\n\t\t\t\t[luTooltip]=\"intl().linksLabel\"\n\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t>\n\t\t\t\t<lu-icon icon=\"officePen\" [alt]=\"intl().linksLabel\" />\n\t\t\t</button>\n\t\t\t@if (!isAutoLink) {\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tluButton=\"ghost\"\n\t\t\t\t\tsize=\"XS\"\n\t\t\t\t\t(click)=\"trigger.close(); deleteLink()\"\n\t\t\t\t\t[luTooltip]=\"intl().linksDelete\"\n\t\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t\t>\n\t\t\t\t\t<lu-icon icon=\"trashDelete\" [alt]=\"intl().linksDelete\" />\n\t\t\t\t</button>\n\t\t\t}\n\t\t</div>\n\t</ng-template>\n</ng-template>\n", styles: [".linkPopover{display:flex;justify-items:center;gap:var(--pr-t-spacings-50);max-
|
|
1047
|
+
], viewQueries: [{ propertyName: "linkNodeTemplate", first: true, predicate: ["linkNodeTemplate"], descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "element", first: true, predicate: ["element"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<button\n\t#element\n\tluButton=\"ghost\"\n\ttype=\"button\"\n\tsize=\"S\"\n\t(click)=\"dispatchCommand()\"\n\t[luTooltip]=\"intl().linksLabel\"\n\t[attr.aria-pressed]=\"active()\"\n\tluTooltipOnlyForDisplay\n\t[attr.tabindex]=\"tabindex()\"\n\t[disabled]=\"isDisabled()\"\n\tclass=\"richTextField-toolbar-button\"\n>\n\t<lu-icon icon=\"formatLink\" [alt]=\"intl().linksLabel\" />\n</button>\n\n<ng-template #linkNodeTemplate let-href=\"href\" let-title=\"title\" let-target=\"target\" let-isAutoLink=\"isAutoLink\">\n\t<a\n\t\t[href]=\"href\"\n\t\t[attr.title]=\"title\"\n\t\t[attr.target]=\"target\"\n\t\t[luPopover2]=\"popover\"\n\t\t[luPopoverDisabled]=\"!isEditable()\"\n\t\trel=\"noopener noreferrer\"\n\t\t#trigger=\"luPopover2\"\n\t></a>\n\t<ng-template #popover>\n\t\t<div class=\"popover-contentOptional linkPopover\">\n\t\t\t<a [href]=\"href\" luLink external class=\"pr-u-ellipsis\">{{ href }}</a>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tluButton=\"ghost\"\n\t\t\t\tsize=\"XS\"\n\t\t\t\t(click)=\"trigger.close(); dispatchCommand()\"\n\t\t\t\t[luTooltip]=\"intl().linksLabel\"\n\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t>\n\t\t\t\t<lu-icon icon=\"officePen\" [alt]=\"intl().linksLabel\" />\n\t\t\t</button>\n\t\t\t@if (!isAutoLink) {\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tluButton=\"ghost\"\n\t\t\t\t\tsize=\"XS\"\n\t\t\t\t\t(click)=\"trigger.close(); deleteLink()\"\n\t\t\t\t\t[luTooltip]=\"intl().linksDelete\"\n\t\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t\t>\n\t\t\t\t\t<lu-icon icon=\"trashDelete\" [alt]=\"intl().linksDelete\" />\n\t\t\t\t</button>\n\t\t\t}\n\t\t</div>\n\t</ng-template>\n</ng-template>\n", styles: [".linkPopover{display:flex;justify-items:center;gap:var(--pr-t-spacings-50);max-inline-size:20rem}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[luButton], a[luButton], span[luButton], button[prButton], a[prButton], span[prButton]", inputs: ["size", "block", "disabled", "critical", "delete", "disclosure", "palette", "state", "luButton", "prButton"] }, { kind: "component", type: IconComponent, selector: "lu-icon, pr-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis", "luTooltipAnchor", "id"], exportAs: ["luTooltip"] }, { kind: "directive", type: PopoverDirective, selector: "[luPopover2]", inputs: ["intl", "luPopover2", "luPopoverPosition", "luPopoverMaxBlockSize", "luPopoverMaxInlineSize", "overlayScrollStrategy", "luPopoverDisabled", "luPopoverTrigger", "customPositions", "luPopoverNoCloseButton", "luPopoverAnchor", "luPopoverIgnoredOutsidePointerTargets", "luPopoverOpenDelay", "luPopoverCloseDelay"], outputs: ["luPopoverTriggerChange", "luPopoverClosed", "luPopoverOpened"], exportAs: ["luPopover2"] }, { kind: "component", type: LinkComponent$1, selector: "a[luLink], button[luLink]", inputs: ["intl", "href", "luLink", "disabled", "decorationHover", "external", "hiddenIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
967
1048
|
}
|
|
968
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1049
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: LinkComponent, decorators: [{
|
|
969
1050
|
type: Component,
|
|
970
1051
|
args: [{ selector: 'lu-rich-text-plugin-link', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ButtonComponent, IconComponent, LuTooltipTriggerDirective, PopoverDirective, LinkComponent$1], host: {
|
|
971
1052
|
class: 'richTextField-toolbar-col-group',
|
|
@@ -975,7 +1056,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
975
1056
|
provide: RICH_TEXT_PLUGIN_COMPONENT,
|
|
976
1057
|
useExisting: forwardRef(() => LinkComponent),
|
|
977
1058
|
},
|
|
978
|
-
], template: "<button\n\t#element\n\tluButton=\"ghost\"\n\ttype=\"button\"\n\tsize=\"S\"\n\t(click)=\"dispatchCommand()\"\n\t[luTooltip]=\"intl().linksLabel\"\n\t[attr.aria-pressed]=\"active()\"\n\tluTooltipOnlyForDisplay\n\t[attr.tabindex]=\"tabindex()\"\n\t[disabled]=\"isDisabled()\"\n\tclass=\"richTextField-toolbar-button\"\n>\n\t<lu-icon icon=\"formatLink\" [alt]=\"intl().linksLabel\" />\n</button>\n\n<ng-template #linkNodeTemplate let-href=\"href\" let-title=\"title\" let-target=\"target\" let-isAutoLink=\"isAutoLink\">\n\t<a\n\t\t[href]=\"href\"\n\t\t[attr.title]=\"title\"\n\t\t[attr.target]=\"target\"\n\t\t[luPopover2]=\"popover\"\n\t\t[luPopoverDisabled]=\"!isEditable()\"\n\t\trel=\"noopener noreferrer\"\n\t\t#trigger=\"luPopover2\"\n\t></a>\n\t<ng-template #popover>\n\t\t<div class=\"popover-contentOptional linkPopover\">\n\t\t\t<a [href]=\"href\" luLink external class=\"pr-u-ellipsis\">{{ href }}</a>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tluButton=\"ghost\"\n\t\t\t\tsize=\"XS\"\n\t\t\t\t(click)=\"trigger.close(); dispatchCommand()\"\n\t\t\t\t[luTooltip]=\"intl().linksLabel\"\n\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t>\n\t\t\t\t<lu-icon icon=\"officePen\" [alt]=\"intl().linksLabel\" />\n\t\t\t</button>\n\t\t\t@if (!isAutoLink) {\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tluButton=\"ghost\"\n\t\t\t\t\tsize=\"XS\"\n\t\t\t\t\t(click)=\"trigger.close(); deleteLink()\"\n\t\t\t\t\t[luTooltip]=\"intl().linksDelete\"\n\t\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t\t>\n\t\t\t\t\t<lu-icon icon=\"trashDelete\" [alt]=\"intl().linksDelete\" />\n\t\t\t\t</button>\n\t\t\t}\n\t\t</div>\n\t</ng-template>\n</ng-template>\n", styles: [".linkPopover{display:flex;justify-items:center;gap:var(--pr-t-spacings-50);max-
|
|
1059
|
+
], template: "<button\n\t#element\n\tluButton=\"ghost\"\n\ttype=\"button\"\n\tsize=\"S\"\n\t(click)=\"dispatchCommand()\"\n\t[luTooltip]=\"intl().linksLabel\"\n\t[attr.aria-pressed]=\"active()\"\n\tluTooltipOnlyForDisplay\n\t[attr.tabindex]=\"tabindex()\"\n\t[disabled]=\"isDisabled()\"\n\tclass=\"richTextField-toolbar-button\"\n>\n\t<lu-icon icon=\"formatLink\" [alt]=\"intl().linksLabel\" />\n</button>\n\n<ng-template #linkNodeTemplate let-href=\"href\" let-title=\"title\" let-target=\"target\" let-isAutoLink=\"isAutoLink\">\n\t<a\n\t\t[href]=\"href\"\n\t\t[attr.title]=\"title\"\n\t\t[attr.target]=\"target\"\n\t\t[luPopover2]=\"popover\"\n\t\t[luPopoverDisabled]=\"!isEditable()\"\n\t\trel=\"noopener noreferrer\"\n\t\t#trigger=\"luPopover2\"\n\t></a>\n\t<ng-template #popover>\n\t\t<div class=\"popover-contentOptional linkPopover\">\n\t\t\t<a [href]=\"href\" luLink external class=\"pr-u-ellipsis\">{{ href }}</a>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tluButton=\"ghost\"\n\t\t\t\tsize=\"XS\"\n\t\t\t\t(click)=\"trigger.close(); dispatchCommand()\"\n\t\t\t\t[luTooltip]=\"intl().linksLabel\"\n\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t>\n\t\t\t\t<lu-icon icon=\"officePen\" [alt]=\"intl().linksLabel\" />\n\t\t\t</button>\n\t\t\t@if (!isAutoLink) {\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tluButton=\"ghost\"\n\t\t\t\t\tsize=\"XS\"\n\t\t\t\t\t(click)=\"trigger.close(); deleteLink()\"\n\t\t\t\t\t[luTooltip]=\"intl().linksDelete\"\n\t\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t\t>\n\t\t\t\t\t<lu-icon icon=\"trashDelete\" [alt]=\"intl().linksDelete\" />\n\t\t\t\t</button>\n\t\t\t}\n\t\t</div>\n\t</ng-template>\n</ng-template>\n", styles: [".linkPopover{display:flex;justify-items:center;gap:var(--pr-t-spacings-50);max-inline-size:20rem}\n"] }]
|
|
979
1060
|
}], propDecorators: { linkNodeTemplate: [{ type: i0.ViewChild, args: ['linkNodeTemplate', { ...{ read: TemplateRef }, isSignal: true }] }], element: [{ type: i0.ViewChild, args: ['element', { ...{ read: (ElementRef) }, isSignal: true }] }], intl: [{ type: i0.Input, args: [{ isSignal: true, alias: "intl", required: false }] }] } });
|
|
980
1061
|
|
|
981
1062
|
const FORMAT_LIST = createCommand('FORMAT_LIST');
|
|
@@ -999,7 +1080,24 @@ function registerListsGlobal(editor) {
|
|
|
999
1080
|
return true;
|
|
1000
1081
|
}, COMMAND_PRIORITY_NORMAL),
|
|
1001
1082
|
// end list with enter key on an empty list item node
|
|
1002
|
-
editor.registerCommand(INSERT_PARAGRAPH_COMMAND, () => $handleListInsertParagraph(), COMMAND_PRIORITY_NORMAL)
|
|
1083
|
+
editor.registerCommand(INSERT_PARAGRAPH_COMMAND, () => $handleListInsertParagraph(), COMMAND_PRIORITY_NORMAL),
|
|
1084
|
+
// Shift+Enter (soft line break) inside a list cannot be represented in Markdown,
|
|
1085
|
+
// so redirect it to a new list item, matching the plain Enter behaviour.
|
|
1086
|
+
editor.registerCommand(KEY_ENTER_COMMAND, (event) => {
|
|
1087
|
+
if (!event?.shiftKey) {
|
|
1088
|
+
return false;
|
|
1089
|
+
}
|
|
1090
|
+
const selection = $getSelection();
|
|
1091
|
+
if (!$isRangeSelection(selection)) {
|
|
1092
|
+
return false;
|
|
1093
|
+
}
|
|
1094
|
+
const parent = $getNearestNodeOfType(getSelectedNode(selection), ListNode);
|
|
1095
|
+
if (!parent) {
|
|
1096
|
+
return false;
|
|
1097
|
+
}
|
|
1098
|
+
event.preventDefault();
|
|
1099
|
+
return editor.dispatchCommand(INSERT_PARAGRAPH_COMMAND, undefined);
|
|
1100
|
+
}, COMMAND_PRIORITY_NORMAL));
|
|
1003
1101
|
}
|
|
1004
1102
|
function registerListsSelectionChange(editor, type, onselectionchange) {
|
|
1005
1103
|
return editor.registerCommand(SELECTION_CHANGE_COMMAND, () => {
|
|
@@ -1015,13 +1113,19 @@ function registerListsSelectionChange(editor, type, onselectionchange) {
|
|
|
1015
1113
|
|
|
1016
1114
|
class ListFormatComponent {
|
|
1017
1115
|
constructor() {
|
|
1018
|
-
this.format = input.required(
|
|
1019
|
-
|
|
1020
|
-
this.
|
|
1116
|
+
this.format = input.required(/* @ts-ignore */
|
|
1117
|
+
...(ngDevMode ? [{ debugName: "format" }] : /* istanbul ignore next */ []));
|
|
1118
|
+
this.icon = input.required(/* @ts-ignore */
|
|
1119
|
+
...(ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []));
|
|
1120
|
+
this.tooltip = input.required(/* @ts-ignore */
|
|
1121
|
+
...(ngDevMode ? [{ debugName: "tooltip" }] : /* istanbul ignore next */ []));
|
|
1021
1122
|
this.element = viewChild('element', { ...(ngDevMode ? { debugName: "element" } : /* istanbul ignore next */ {}), read: (ElementRef) });
|
|
1022
|
-
this.tabindex = signal(-1,
|
|
1023
|
-
|
|
1024
|
-
this.
|
|
1123
|
+
this.tabindex = signal(-1, /* @ts-ignore */
|
|
1124
|
+
...(ngDevMode ? [{ debugName: "tabindex" }] : /* istanbul ignore next */ []));
|
|
1125
|
+
this.active = signal(false, /* @ts-ignore */
|
|
1126
|
+
...(ngDevMode ? [{ debugName: "active" }] : /* istanbul ignore next */ []));
|
|
1127
|
+
this.isDisabled = signal(false, /* @ts-ignore */
|
|
1128
|
+
...(ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []));
|
|
1025
1129
|
this.#registeredCommands = () => { };
|
|
1026
1130
|
}
|
|
1027
1131
|
#editor;
|
|
@@ -1042,15 +1146,15 @@ class ListFormatComponent {
|
|
|
1042
1146
|
focus() {
|
|
1043
1147
|
this.element().nativeElement.focus();
|
|
1044
1148
|
}
|
|
1045
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1046
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
1149
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ListFormatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1150
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.7", type: ListFormatComponent, isStandalone: true, selector: "lu-rich-text-plugin-list", inputs: { format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "richTextField-toolbar-col-group" }, providers: [
|
|
1047
1151
|
{
|
|
1048
1152
|
provide: RICH_TEXT_PLUGIN_COMPONENT,
|
|
1049
1153
|
useExisting: forwardRef(() => ListFormatComponent),
|
|
1050
1154
|
},
|
|
1051
|
-
], viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<button\n\t#element\n\tluButton=\"ghost\"\n\ttype=\"button\"\n\tsize=\"S\"\n\t(click)=\"dispatchCommand()\"\n\t[luTooltip]=\"tooltip()\"\n\tluTooltipOnlyForDisplay\n\t[attr.aria-pressed]=\"active()\"\n\t[attr.tabindex]=\"tabindex()\"\n\t[disabled]=\"isDisabled()\"\n\tclass=\"richTextField-toolbar-button\"\n>\n\t<lu-icon [icon]=\"icon()\" [alt]=\"tooltip()\" />\n</button>\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[luButton], a[luButton], span[luButton], button[prButton], a[prButton], span[prButton]", inputs: ["size", "block", "critical", "delete", "disclosure", "palette", "state", "luButton", "prButton"] }, { kind: "component", type: IconComponent, selector: "lu-icon, pr-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis", "luTooltipAnchor", "id"], exportAs: ["luTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1155
|
+
], viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<button\n\t#element\n\tluButton=\"ghost\"\n\ttype=\"button\"\n\tsize=\"S\"\n\t(click)=\"dispatchCommand()\"\n\t[luTooltip]=\"tooltip()\"\n\tluTooltipOnlyForDisplay\n\t[attr.aria-pressed]=\"active()\"\n\t[attr.tabindex]=\"tabindex()\"\n\t[disabled]=\"isDisabled()\"\n\tclass=\"richTextField-toolbar-button\"\n>\n\t<lu-icon [icon]=\"icon()\" [alt]=\"tooltip()\" />\n</button>\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[luButton], a[luButton], span[luButton], button[prButton], a[prButton], span[prButton]", inputs: ["size", "block", "disabled", "critical", "delete", "disclosure", "palette", "state", "luButton", "prButton"] }, { kind: "component", type: IconComponent, selector: "lu-icon, pr-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis", "luTooltipAnchor", "id"], exportAs: ["luTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1052
1156
|
}
|
|
1053
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1157
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ListFormatComponent, decorators: [{
|
|
1054
1158
|
type: Component,
|
|
1055
1159
|
args: [{ selector: 'lu-rich-text-plugin-list', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ButtonComponent, IconComponent, LuTooltipTriggerDirective], host: {
|
|
1056
1160
|
class: 'richTextField-toolbar-col-group',
|
|
@@ -1065,8 +1169,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
1065
1169
|
class ListStyleToolbarComponent {
|
|
1066
1170
|
constructor() {
|
|
1067
1171
|
this.#registeredCommands = () => { };
|
|
1068
|
-
this.pluginComponents = viewChildren(RICH_TEXT_PLUGIN_COMPONENT,
|
|
1069
|
-
|
|
1172
|
+
this.pluginComponents = viewChildren(RICH_TEXT_PLUGIN_COMPONENT, /* @ts-ignore */
|
|
1173
|
+
...(ngDevMode ? [{ debugName: "pluginComponents" }] : /* istanbul ignore next */ []));
|
|
1174
|
+
this.intl = input(...intlInputOptions(LU_RICH_TEXT_INPUT_TRANSLATIONS), /* @ts-ignore */
|
|
1175
|
+
...(ngDevMode ? [{ debugName: "intl" }] : /* istanbul ignore next */ []));
|
|
1070
1176
|
}
|
|
1071
1177
|
#registeredCommands;
|
|
1072
1178
|
setEditorInstance(editor) {
|
|
@@ -1082,15 +1188,15 @@ class ListStyleToolbarComponent {
|
|
|
1082
1188
|
ngOnDestroy() {
|
|
1083
1189
|
this.#registeredCommands();
|
|
1084
1190
|
}
|
|
1085
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1086
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
1191
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ListStyleToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1192
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.7", type: ListStyleToolbarComponent, isStandalone: true, selector: "lu-rich-text-toolbar-list-style", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "radiogroup" }, classAttribute: "richTextField-toolbar-col-group" }, providers: [
|
|
1087
1193
|
{
|
|
1088
1194
|
provide: RICH_TEXT_PLUGIN_COMPONENT,
|
|
1089
1195
|
useExisting: forwardRef(() => ListStyleToolbarComponent),
|
|
1090
1196
|
},
|
|
1091
1197
|
], viewQueries: [{ propertyName: "pluginComponents", predicate: RICH_TEXT_PLUGIN_COMPONENT, descendants: true, isSignal: true }], ngImport: i0, template: "<lu-rich-text-plugin-list format=\"bullet\" [tooltip]=\"intl().listsBulletLabel\" icon=\"formatBulletedList\" />\n<lu-rich-text-plugin-list format=\"number\" [tooltip]=\"intl().listsNumberedLabel\" icon=\"formatNumberedList\" />\n", dependencies: [{ kind: "component", type: ListFormatComponent, selector: "lu-rich-text-plugin-list", inputs: ["format", "icon", "tooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1092
1198
|
}
|
|
1093
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1199
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ListStyleToolbarComponent, decorators: [{
|
|
1094
1200
|
type: Component,
|
|
1095
1201
|
args: [{ selector: 'lu-rich-text-toolbar-list-style', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
1096
1202
|
class: 'richTextField-toolbar-col-group',
|
|
@@ -1279,13 +1385,41 @@ class RichTextPluginTagComponent {
|
|
|
1279
1385
|
#registeredCommands;
|
|
1280
1386
|
constructor() {
|
|
1281
1387
|
this.#viewContainerRef = inject(ViewContainerRef);
|
|
1282
|
-
this.intl = input(...intlInputOptions(LU_RICH_TEXT_INPUT_TRANSLATIONS),
|
|
1283
|
-
|
|
1284
|
-
this.
|
|
1285
|
-
|
|
1286
|
-
this.
|
|
1388
|
+
this.intl = input(...intlInputOptions(LU_RICH_TEXT_INPUT_TRANSLATIONS), /* @ts-ignore */
|
|
1389
|
+
...(ngDevMode ? [{ debugName: "intl" }] : /* istanbul ignore next */ []));
|
|
1390
|
+
this.tags = input.required(/* @ts-ignore */
|
|
1391
|
+
...(ngDevMode ? [{ debugName: "tags" }] : /* istanbul ignore next */ []));
|
|
1392
|
+
this.isDisabled = signal(false, /* @ts-ignore */
|
|
1393
|
+
...(ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []));
|
|
1394
|
+
this.focusIndex = signal(0, /* @ts-ignore */
|
|
1395
|
+
...(ngDevMode ? [{ debugName: "focusIndex" }] : /* istanbul ignore next */ []));
|
|
1396
|
+
this.focusableElements = viewChildren('focusable', { ...(ngDevMode ? { debugName: "focusableElements" } : /* istanbul ignore next */ {}), read: ElementRef });
|
|
1397
|
+
this.addTagButton = viewChild('addButton', { ...(ngDevMode ? { debugName: "addTagButton" } : /* istanbul ignore next */ {}), read: ElementRef });
|
|
1398
|
+
this.primaryTags = computed(() => this.tags().filter((t) => !t.secondary), /* @ts-ignore */
|
|
1399
|
+
...(ngDevMode ? [{ debugName: "primaryTags" }] : /* istanbul ignore next */ []));
|
|
1400
|
+
this.secondaryTags = computed(() => this.tags().filter((t) => t.secondary), /* @ts-ignore */
|
|
1401
|
+
...(ngDevMode ? [{ debugName: "secondaryTags" }] : /* istanbul ignore next */ []));
|
|
1402
|
+
this.filteredSecondaryTags = computed(() => {
|
|
1403
|
+
const search = this.#normalize(this.tagSearch());
|
|
1404
|
+
return this.secondaryTags().filter((t) => {
|
|
1405
|
+
const description = t.description ? this.#normalize(t.description) : '';
|
|
1406
|
+
return !search || description.includes(search);
|
|
1407
|
+
});
|
|
1408
|
+
}, /* @ts-ignore */
|
|
1409
|
+
...(ngDevMode ? [{ debugName: "filteredSecondaryTags" }] : /* istanbul ignore next */ []));
|
|
1410
|
+
this.secondaryHasGroup = computed(() => this.secondaryTags().some((s) => isNotNil(s.group)), /* @ts-ignore */
|
|
1411
|
+
...(ngDevMode ? [{ debugName: "secondaryHasGroup" }] : /* istanbul ignore next */ []));
|
|
1412
|
+
this.tagSearch = signal('', /* @ts-ignore */
|
|
1413
|
+
...(ngDevMode ? [{ debugName: "tagSearch" }] : /* istanbul ignore next */ []));
|
|
1414
|
+
this.selectedTagControl = new FormControl(null);
|
|
1415
|
+
// Anchor the dropdown to the trigger button, opening below it (flipping above if there isn't room).
|
|
1416
|
+
this.popoverPositions = [
|
|
1417
|
+
new ConnectionPositionPair({ originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' }, -4, 0),
|
|
1418
|
+
new ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' }, -4, 0),
|
|
1419
|
+
];
|
|
1287
1420
|
this.editor = null;
|
|
1288
|
-
this.#tagNodeKeys = signal(new Set(),
|
|
1421
|
+
this.#tagNodeKeys = signal(new Set(), /* @ts-ignore */
|
|
1422
|
+
...(ngDevMode ? [{ debugName: "#tagNodeKeys" }] : /* istanbul ignore next */ []));
|
|
1289
1423
|
this.#registeredCommands = () => { };
|
|
1290
1424
|
// Listen for new partial tag nodes and update their descriptions
|
|
1291
1425
|
effect(() => {
|
|
@@ -1310,6 +1444,12 @@ class RichTextPluginTagComponent {
|
|
|
1310
1444
|
});
|
|
1311
1445
|
}, { tag: [SKIP_DOM_SELECTION_TAG, INITIAL_UPDATE_TAG] });
|
|
1312
1446
|
});
|
|
1447
|
+
this.selectedTagControl.valueChanges.pipe(takeUntilDestroyed()).subscribe((tag) => {
|
|
1448
|
+
if (tag) {
|
|
1449
|
+
this.selectedTagControl.reset();
|
|
1450
|
+
this.insertTag(tag);
|
|
1451
|
+
}
|
|
1452
|
+
});
|
|
1313
1453
|
}
|
|
1314
1454
|
setEditorInstance(editor) {
|
|
1315
1455
|
this.editor = editor;
|
|
@@ -1360,23 +1500,32 @@ class RichTextPluginTagComponent {
|
|
|
1360
1500
|
ngOnDestroy() {
|
|
1361
1501
|
this.#registeredCommands();
|
|
1362
1502
|
}
|
|
1363
|
-
|
|
1364
|
-
|
|
1503
|
+
groupByTagGroup(tag) {
|
|
1504
|
+
return tag.group;
|
|
1505
|
+
}
|
|
1506
|
+
#normalize(str) {
|
|
1507
|
+
return str
|
|
1508
|
+
.normalize('NFD')
|
|
1509
|
+
.replace(/\p{Diacritic}/gu, '')
|
|
1510
|
+
.toLowerCase();
|
|
1511
|
+
}
|
|
1512
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: RichTextPluginTagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1513
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: RichTextPluginTagComponent, isStandalone: true, selector: "lu-rich-text-plugin-tag", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null }, tags: { classPropertyName: "tags", publicName: "tags", isSignal: true, isRequired: true, transformFunction: null } }, providers: [
|
|
1365
1514
|
{
|
|
1366
1515
|
provide: RICH_TEXT_PLUGIN_COMPONENT,
|
|
1367
1516
|
useExisting: forwardRef(() => RichTextPluginTagComponent),
|
|
1368
1517
|
},
|
|
1369
|
-
], viewQueries: [{ propertyName: "focusableElements", predicate: ["
|
|
1518
|
+
], viewQueries: [{ propertyName: "focusableElements", predicate: ["focusable"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "addTagButton", first: true, predicate: ["addButton"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<div class=\"richTextField-toolbar-chips\" (keydown.arrowleft)=\"focusTag($event, -1)\" (keydown.arrowRight)=\"focusTag($event, 1)\">\n\t<span aria-hidden=\"true\">{{ intl().insertTag }}</span>\n\t@for (tag of primaryTags(); track tag) {\n\t\t<lu-chip\n\t\t\t[attr.tabindex]=\"isDisabled() ? null : $first ? 0 : -1\"\n\t\t\t[disabled]=\"isDisabled()\"\n\t\t\t(click)=\"!isDisabled() ? insertTag(tag) : null\"\n\t\t\t(keyup.space)=\"!isDisabled() ? insertTag(tag) : null\"\n\t\t\t(keyup.enter)=\"!isDisabled() ? insertTag(tag) : null\"\n\t\t\tclass=\"richTextField-toolbar-chips-chip\"\n\t\t\tpalette=\"product\"\n\t\t\t#focusable\n\t\t\tunkillable\n\t\t>\n\t\t\t<span class=\"pr-u-mask\">{{ intl().insertTag }}</span>\n\t\t\t{{ tag.description }}\n\t\t</lu-chip>\n\t}\n\t@if (secondaryTags().length) {\n\t\t<div class=\"richTextInputTag-addTag\">\n\t\t\t<lu-filter-pill [label]=\"intl().selectTag\" class=\"richTextInputTag-addTag-select\" tabindex=\"-1\" aria-hidden=\"true\" #filterPillRef>\n\t\t\t\t<lu-simple-select\n\t\t\t\t\t[formControl]=\"selectedTagControl\"\n\t\t\t\t\t[options]=\"filteredSecondaryTags()\"\n\t\t\t\t\t[disabled]=\"isDisabled()\"\n\t\t\t\t\t(clueChange)=\"tagSearch.set($event)\"\n\t\t\t\t\t(panelClosed)=\"addTagButton()?.nativeElement.focus()\"\n\t\t\t\t\tsize=\"XS\"\n\t\t\t\t\t#tagsSelect\n\t\t\t\t>\n\t\t\t\t\t@if (secondaryHasGroup()) {\n\t\t\t\t\t\t<ng-container *luOptionGroup=\"let group; by: groupByTagGroup; select: tagsSelect\">\n\t\t\t\t\t\t\t{{ group.key }}\n\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t}\n\t\t\t\t\t<ng-container *luOption=\"let tag; select: tagsSelect\">{{ tag.description ?? tag.key }}</ng-container>\n\t\t\t\t</lu-simple-select>\n\t\t\t</lu-filter-pill>\n\n\t\t\t<button\n\t\t\t\tluButton=\"ghost\"\n\t\t\t\ttype=\"button\"\n\t\t\t\tsize=\"XS\"\n\t\t\t\t(click)=\"filterPillRef.popoverRef().openPopover(true)\"\n\t\t\t\t[disabled]=\"isDisabled()\"\n\t\t\t\t[attr.tabindex]=\"isDisabled() ? null : !primaryTags().length ? 0 : -1\"\n\t\t\t\t#focusable\n\t\t\t\t#addButton\n\t\t\t>\n\t\t\t\t<lu-icon icon=\"mathsPlus\" />\n\t\t\t\t{{ intl().selectTag }}\n\t\t\t</button>\n\t\t</div>\n\t}\n</div>\n", styles: ["@layer components{.chip{--components-chip-font: var(--pr-t-font-body-S);--components-chip-backgroundColor: var(--palettes-100, var(--palettes-neutral-100));--components-chip-color: var(--palettes-800, var(--pr-t-color-text));--components-chip-borderRadius: var(--pr-t-border-radius-default);--components-chip-kill-size: .75rem;--components-chip-kill-disk-color: var(--palettes-800, var(--palettes-neutral-800));--components-chip-kill-cross-color: var(--palettes-text, var(--palettes-neutral-text));--components-chip-kill-background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16' width='16' fill='none'%3E%3Cpath d='M5.80473 4.86192C5.54438 4.60157 5.12227 4.60157 4.86192 4.86192C4.60157 5.12227 4.60157 5.54438 4.86192 5.80473L7.05718 7.99999L4.86192 10.1953C4.60157 10.4556 4.60157 10.8777 4.86192 11.1381C5.12227 11.3984 5.54438 11.3984 5.80473 11.1381L7.99999 8.9428L10.1953 11.1381C10.4556 11.3984 10.8777 11.3984 11.1381 11.1381C11.3984 10.8777 11.3984 10.4556 11.1381 10.1953L8.9428 7.99999L11.1381 5.80473C11.3984 5.54438 11.3984 5.12227 11.1381 4.86192C10.8777 4.60157 10.4556 4.60157 10.1953 4.86192L7.99999 7.05718L5.80473 4.86192Z' fill='currentColor'/%3E%3C/svg%3E\");--components-chip-fontSize: var(--pr-t-font-body-S-fontSize);--components-chip-lineHeight: var(--pr-t-font-body-S-lineHeight);background-color:var(--components-chip-backgroundColor);border:none;border-radius:var(--components-chip-borderRadius);color:var(--components-chip-color);display:inline-flex;align-items:center;position:relative;vertical-align:middle;padding-block:calc(var(--pr-t-spacings-50) / 2);padding-inline:var(--pr-t-spacings-100);font:var(--components-chip-font);max-inline-size:100%}.chip .lucca-icon{--icon-size: 1rem;margin-inline-end:var(--pr-t-spacings-50)}.chip-content{outline:none}.chip-kill{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:\"main\";place-items:center;inline-size:var(--pr-t-spacings-300);block-size:var(--pr-t-spacings-300);margin:calc(var(--pr-t-spacings-75) * -1);margin-inline-start:var(--pr-t-spacings-25);flex-shrink:0;cursor:pointer}.chip-kill:before,.chip-kill:after{content:\"\";grid-area:main;inline-size:var(--components-chip-kill-size);block-size:var(--components-chip-kill-size)}.chip-kill:before{border-radius:var(--pr-t-border-radius-full);background-color:var(--components-chip-kill-disk-color)}.chip-kill:after{-webkit-mask-image:var(--components-chip-kill-background-image);mask-image:var(--components-chip-kill-background-image);-webkit-mask-size:var(--components-chip-kill-size);mask-size:var(--components-chip-kill-size);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--components-chip-kill-cross-color)}.chip-kill:hover{--components-chip-kill-disk-color: var(--palettes-700, var(--palettes-neutral-700))}.chip-kill:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:-4px;border-radius:var(--pr-t-border-radius-full)}.chip-kill:active{--components-chip-kill-disk-color: var(--palettes-900, var(--palettes-neutral-900))}}@layer mods{.chip.mod-S{--components-chip-font: var(--pr-t-font-body-XS);--components-chip-borderRadius: var(--pr-t-border-radius-small)}.chip.mod-S .lucca-icon{--icon-size: .75rem}.chip.mod-unkillable .chip-kill{display:none}.chip.mod-clickable{cursor:pointer;text-decoration:none}.chip.is-disabled{--components-chip-backgroundColor: var(--palettes-neutral-200);--components-chip-color: var(--pr-t-color-text-subtle)}.chip.is-disabled .chip-kill{display:none}.chip:has(.chip-content:focus-visible){outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.chip.mod-product{--components-chip-backgroundColor: var(--palettes-100, var(--palettes-product-100));--components-chip-kill-disk-color: var(--palettes-800, var(--palettes-product-800));--components-chip-color: var(--palettes-800, var(--palettes-product-800))}}.richTextInputTag-addTag{display:inline-flex}.richTextInputTag-addTag-select{visibility:hidden;height:0;width:0}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[luButton], a[luButton], span[luButton], button[prButton], a[prButton], span[prButton]", inputs: ["size", "block", "disabled", "critical", "delete", "disclosure", "palette", "state", "luButton", "prButton"] }, { kind: "component", type: ChipComponent, selector: "lu-chip, button[luChip], a[luChip]", inputs: ["intl", "withEllipsis", "unkillable", "palette", "disabled", "size", "state", "icon"], outputs: ["kill"] }, { kind: "component", type: IconComponent$1, selector: "lu-icon, pr-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "component", type: LuSimpleSelectInputComponent, selector: "lu-simple-select", inputs: ["intl", "autocomplete", "impersonation"] }, { kind: "directive", type: LuOptionGroupDirective, selector: "[luOptionGroup]", inputs: ["luOptionGroupSelect", "luOptionGroupBy"] }, { kind: "directive", type: LuOptionDirective, selector: "[luOption]", inputs: ["luOptionSelect"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: FilterPillComponent, selector: "lu-filter-pill", inputs: ["intl", "name", "optional", "displayed", "label", "placeholder", "icon"], outputs: ["displayedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1370
1519
|
}
|
|
1371
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1520
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: RichTextPluginTagComponent, decorators: [{
|
|
1372
1521
|
type: Component,
|
|
1373
|
-
args: [{ selector: 'lu-rich-text-plugin-tag', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ChipComponent], providers: [
|
|
1522
|
+
args: [{ selector: 'lu-rich-text-plugin-tag', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ButtonComponent, ChipComponent, IconComponent$1, LuSimpleSelectInputComponent, LuOptionGroupDirective, LuOptionDirective, ReactiveFormsModule, FilterPillComponent], providers: [
|
|
1374
1523
|
{
|
|
1375
1524
|
provide: RICH_TEXT_PLUGIN_COMPONENT,
|
|
1376
1525
|
useExisting: forwardRef(() => RichTextPluginTagComponent),
|
|
1377
1526
|
},
|
|
1378
|
-
], template: "<div class=\"richTextField-toolbar-chips\" (keydown.arrowleft)=\"focusTag($event, -1)\" (keydown.arrowRight)=\"focusTag($event, 1)\">\n\t<span aria-hidden=\"true\">{{ intl().insertTag }}</span>\n\t@for (tag of
|
|
1379
|
-
}], ctorParameters: () => [], propDecorators: { intl: [{ type: i0.Input, args: [{ isSignal: true, alias: "intl", required: false }] }], tags: [{ type: i0.Input, args: [{ isSignal: true, alias: "tags", required: true }] }], focusableElements: [{ type: i0.ViewChildren, args: ['
|
|
1527
|
+
], template: "<div class=\"richTextField-toolbar-chips\" (keydown.arrowleft)=\"focusTag($event, -1)\" (keydown.arrowRight)=\"focusTag($event, 1)\">\n\t<span aria-hidden=\"true\">{{ intl().insertTag }}</span>\n\t@for (tag of primaryTags(); track tag) {\n\t\t<lu-chip\n\t\t\t[attr.tabindex]=\"isDisabled() ? null : $first ? 0 : -1\"\n\t\t\t[disabled]=\"isDisabled()\"\n\t\t\t(click)=\"!isDisabled() ? insertTag(tag) : null\"\n\t\t\t(keyup.space)=\"!isDisabled() ? insertTag(tag) : null\"\n\t\t\t(keyup.enter)=\"!isDisabled() ? insertTag(tag) : null\"\n\t\t\tclass=\"richTextField-toolbar-chips-chip\"\n\t\t\tpalette=\"product\"\n\t\t\t#focusable\n\t\t\tunkillable\n\t\t>\n\t\t\t<span class=\"pr-u-mask\">{{ intl().insertTag }}</span>\n\t\t\t{{ tag.description }}\n\t\t</lu-chip>\n\t}\n\t@if (secondaryTags().length) {\n\t\t<div class=\"richTextInputTag-addTag\">\n\t\t\t<lu-filter-pill [label]=\"intl().selectTag\" class=\"richTextInputTag-addTag-select\" tabindex=\"-1\" aria-hidden=\"true\" #filterPillRef>\n\t\t\t\t<lu-simple-select\n\t\t\t\t\t[formControl]=\"selectedTagControl\"\n\t\t\t\t\t[options]=\"filteredSecondaryTags()\"\n\t\t\t\t\t[disabled]=\"isDisabled()\"\n\t\t\t\t\t(clueChange)=\"tagSearch.set($event)\"\n\t\t\t\t\t(panelClosed)=\"addTagButton()?.nativeElement.focus()\"\n\t\t\t\t\tsize=\"XS\"\n\t\t\t\t\t#tagsSelect\n\t\t\t\t>\n\t\t\t\t\t@if (secondaryHasGroup()) {\n\t\t\t\t\t\t<ng-container *luOptionGroup=\"let group; by: groupByTagGroup; select: tagsSelect\">\n\t\t\t\t\t\t\t{{ group.key }}\n\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t}\n\t\t\t\t\t<ng-container *luOption=\"let tag; select: tagsSelect\">{{ tag.description ?? tag.key }}</ng-container>\n\t\t\t\t</lu-simple-select>\n\t\t\t</lu-filter-pill>\n\n\t\t\t<button\n\t\t\t\tluButton=\"ghost\"\n\t\t\t\ttype=\"button\"\n\t\t\t\tsize=\"XS\"\n\t\t\t\t(click)=\"filterPillRef.popoverRef().openPopover(true)\"\n\t\t\t\t[disabled]=\"isDisabled()\"\n\t\t\t\t[attr.tabindex]=\"isDisabled() ? null : !primaryTags().length ? 0 : -1\"\n\t\t\t\t#focusable\n\t\t\t\t#addButton\n\t\t\t>\n\t\t\t\t<lu-icon icon=\"mathsPlus\" />\n\t\t\t\t{{ intl().selectTag }}\n\t\t\t</button>\n\t\t</div>\n\t}\n</div>\n", styles: ["@layer components{.chip{--components-chip-font: var(--pr-t-font-body-S);--components-chip-backgroundColor: var(--palettes-100, var(--palettes-neutral-100));--components-chip-color: var(--palettes-800, var(--pr-t-color-text));--components-chip-borderRadius: var(--pr-t-border-radius-default);--components-chip-kill-size: .75rem;--components-chip-kill-disk-color: var(--palettes-800, var(--palettes-neutral-800));--components-chip-kill-cross-color: var(--palettes-text, var(--palettes-neutral-text));--components-chip-kill-background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16' width='16' fill='none'%3E%3Cpath d='M5.80473 4.86192C5.54438 4.60157 5.12227 4.60157 4.86192 4.86192C4.60157 5.12227 4.60157 5.54438 4.86192 5.80473L7.05718 7.99999L4.86192 10.1953C4.60157 10.4556 4.60157 10.8777 4.86192 11.1381C5.12227 11.3984 5.54438 11.3984 5.80473 11.1381L7.99999 8.9428L10.1953 11.1381C10.4556 11.3984 10.8777 11.3984 11.1381 11.1381C11.3984 10.8777 11.3984 10.4556 11.1381 10.1953L8.9428 7.99999L11.1381 5.80473C11.3984 5.54438 11.3984 5.12227 11.1381 4.86192C10.8777 4.60157 10.4556 4.60157 10.1953 4.86192L7.99999 7.05718L5.80473 4.86192Z' fill='currentColor'/%3E%3C/svg%3E\");--components-chip-fontSize: var(--pr-t-font-body-S-fontSize);--components-chip-lineHeight: var(--pr-t-font-body-S-lineHeight);background-color:var(--components-chip-backgroundColor);border:none;border-radius:var(--components-chip-borderRadius);color:var(--components-chip-color);display:inline-flex;align-items:center;position:relative;vertical-align:middle;padding-block:calc(var(--pr-t-spacings-50) / 2);padding-inline:var(--pr-t-spacings-100);font:var(--components-chip-font);max-inline-size:100%}.chip .lucca-icon{--icon-size: 1rem;margin-inline-end:var(--pr-t-spacings-50)}.chip-content{outline:none}.chip-kill{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:\"main\";place-items:center;inline-size:var(--pr-t-spacings-300);block-size:var(--pr-t-spacings-300);margin:calc(var(--pr-t-spacings-75) * -1);margin-inline-start:var(--pr-t-spacings-25);flex-shrink:0;cursor:pointer}.chip-kill:before,.chip-kill:after{content:\"\";grid-area:main;inline-size:var(--components-chip-kill-size);block-size:var(--components-chip-kill-size)}.chip-kill:before{border-radius:var(--pr-t-border-radius-full);background-color:var(--components-chip-kill-disk-color)}.chip-kill:after{-webkit-mask-image:var(--components-chip-kill-background-image);mask-image:var(--components-chip-kill-background-image);-webkit-mask-size:var(--components-chip-kill-size);mask-size:var(--components-chip-kill-size);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--components-chip-kill-cross-color)}.chip-kill:hover{--components-chip-kill-disk-color: var(--palettes-700, var(--palettes-neutral-700))}.chip-kill:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:-4px;border-radius:var(--pr-t-border-radius-full)}.chip-kill:active{--components-chip-kill-disk-color: var(--palettes-900, var(--palettes-neutral-900))}}@layer mods{.chip.mod-S{--components-chip-font: var(--pr-t-font-body-XS);--components-chip-borderRadius: var(--pr-t-border-radius-small)}.chip.mod-S .lucca-icon{--icon-size: .75rem}.chip.mod-unkillable .chip-kill{display:none}.chip.mod-clickable{cursor:pointer;text-decoration:none}.chip.is-disabled{--components-chip-backgroundColor: var(--palettes-neutral-200);--components-chip-color: var(--pr-t-color-text-subtle)}.chip.is-disabled .chip-kill{display:none}.chip:has(.chip-content:focus-visible){outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.chip.mod-product{--components-chip-backgroundColor: var(--palettes-100, var(--palettes-product-100));--components-chip-kill-disk-color: var(--palettes-800, var(--palettes-product-800));--components-chip-color: var(--palettes-800, var(--palettes-product-800))}}.richTextInputTag-addTag{display:inline-flex}.richTextInputTag-addTag-select{visibility:hidden;height:0;width:0}\n"] }]
|
|
1528
|
+
}], ctorParameters: () => [], propDecorators: { intl: [{ type: i0.Input, args: [{ isSignal: true, alias: "intl", required: false }] }], tags: [{ type: i0.Input, args: [{ isSignal: true, alias: "tags", required: true }] }], focusableElements: [{ type: i0.ViewChildren, args: ['focusable', { ...{ read: ElementRef }, isSignal: true }] }], addTagButton: [{ type: i0.ViewChild, args: ['addButton', { ...{ read: ElementRef }, isSignal: true }] }] } });
|
|
1380
1529
|
|
|
1381
1530
|
function registerFormatSelectionChange(editor, format, onselectionchange) {
|
|
1382
1531
|
return editor.registerCommand(SELECTION_CHANGE_COMMAND, () => {
|
|
@@ -1390,12 +1539,18 @@ function registerFormatSelectionChange(editor, format, onselectionchange) {
|
|
|
1390
1539
|
|
|
1391
1540
|
class TextStyleComponent {
|
|
1392
1541
|
constructor() {
|
|
1393
|
-
this.format = input.required(
|
|
1394
|
-
|
|
1395
|
-
this.
|
|
1396
|
-
|
|
1397
|
-
this.
|
|
1398
|
-
|
|
1542
|
+
this.format = input.required(/* @ts-ignore */
|
|
1543
|
+
...(ngDevMode ? [{ debugName: "format" }] : /* istanbul ignore next */ []));
|
|
1544
|
+
this.icon = input.required(/* @ts-ignore */
|
|
1545
|
+
...(ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []));
|
|
1546
|
+
this.tooltip = input.required(/* @ts-ignore */
|
|
1547
|
+
...(ngDevMode ? [{ debugName: "tooltip" }] : /* istanbul ignore next */ []));
|
|
1548
|
+
this.tabindex = signal(-1, /* @ts-ignore */
|
|
1549
|
+
...(ngDevMode ? [{ debugName: "tabindex" }] : /* istanbul ignore next */ []));
|
|
1550
|
+
this.active = signal(false, /* @ts-ignore */
|
|
1551
|
+
...(ngDevMode ? [{ debugName: "active" }] : /* istanbul ignore next */ []));
|
|
1552
|
+
this.isDisabled = signal(false, /* @ts-ignore */
|
|
1553
|
+
...(ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []));
|
|
1399
1554
|
this.element = viewChild('element', { ...(ngDevMode ? { debugName: "element" } : /* istanbul ignore next */ {}), read: (ElementRef) });
|
|
1400
1555
|
this.#registeredCommands = () => { };
|
|
1401
1556
|
}
|
|
@@ -1419,15 +1574,15 @@ class TextStyleComponent {
|
|
|
1419
1574
|
focus() {
|
|
1420
1575
|
this.element().nativeElement.focus();
|
|
1421
1576
|
}
|
|
1422
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1423
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
1577
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TextStyleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1578
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.7", type: TextStyleComponent, isStandalone: true, selector: "lu-rich-text-plugin-text-style", inputs: { format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "richTextField-toolbar-col-group" }, providers: [
|
|
1424
1579
|
{
|
|
1425
1580
|
provide: RICH_TEXT_PLUGIN_COMPONENT,
|
|
1426
1581
|
useExisting: forwardRef(() => TextStyleComponent),
|
|
1427
1582
|
},
|
|
1428
|
-
], viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<button\n\t#element\n\tluButton=\"ghost\"\n\ttype=\"button\"\n\tsize=\"S\"\n\t(click)=\"dispatchCommand()\"\n\t[attr.aria-pressed]=\"active()\"\n\t[luTooltip]=\"tooltip()\"\n\tluTooltipOnlyForDisplay\n\t[attr.tabindex]=\"tabindex()\"\n\tclass=\"richTextField-toolbar-button\"\n\t[disabled]=\"isDisabled()\"\n>\n\t<lu-icon [icon]=\"icon()\" [alt]=\"tooltip()\" />\n</button>\n", styles: ["@charset \"UTF-8\";@layer components{.button{--components-button-font: var(--pr-t-font-body-M);--components-button-borderRadius: var(--pr-t-border-radius-default);--components-button-paddingBlock: var(--pr-t-spacings-100);--components-button-paddingInline: var(--pr-t-spacings-150);--components-button-paddingBlockStart: var(--components-button-paddingBlock);--components-button-paddingBlockEnd: var(--components-button-paddingBlock);--components-button-paddingInlineStart: var(--components-button-paddingInline);--components-button-paddingInlineEnd: var(--components-button-paddingInline);--components-button-padding: var(--components-button-paddingBlockStart) var(--components-button-paddingInlineEnd) var(--components-button-paddingBlockEnd) var(--components-button-paddingInlineStart);--components-button-gap: var(--pr-t-spacings-100);--components-button-opacity: 1;--components-button-cursor: pointer;--components-button-pointerEvents: auto;--components-button-width: auto;--components-button-minWidth: none;--components-button-userSelect: auto;--components-button-boxShadow: var(--pr-t-elevation-shadow-button);--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700));--components-button-arrow-transform: none;--components-button-AI-background-opacity: 25%;--components-button-font-size: var(--pr-t-font-body-M-fontSize);--components-button-line-height: var(--pr-t-font-body-M-lineHeight);--icon-size: 1.5rem;background-color:var(--components-button-backgroundColor);box-shadow:var(--components-button-boxShadow);border-radius:var(--components-button-borderRadius);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);inline-size:var(--components-button-width);min-inline-size:var(--components-button-minWidth);font:var(--components-button-font);font-size:var(--components-button-font-size);line-height:var(--components-button-line-height);font-weight:var(--pr-t-font-fontWeight-semibold);gap:var(--components-button-gap);pointer-events:var(--components-button-pointerEvents);-webkit-user-select:var(--components-button-userSelect);user-select:var(--components-button-userSelect);opacity:var(--components-button-opacity);cursor:var(--components-button-cursor);transition-timing-function:ease;display:inline-flex;align-items:center;justify-content:center;position:relative;text-decoration:none;vertical-align:middle;text-wrap:balance;text-align:center;border:0}.button,.button:is(a){color:var(--components-button-color)}.button .lucca-icon{display:block}.button .button-icon{--icon-size: 1.5rem}.button:not(.mod-outlined,.mod-outline) .numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-product-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-product-800))}.button:hover{--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-800, var(--palettes-product-800))}.button:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--components-button-borderRadius)}.button:active{--components-button-backgroundColor: var(--palettes-900, var(--palettes-product-900))}.button:disabled{--components-button-cursor: default;--components-button-color: var(--palettes-neutral-500);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button:disabled .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}}@layer mods{.button.mod-AI:not(.invert){--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)}.button.mod-AI:not(.invert):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))}.button.mod-AI:not(.invert):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-AI:not(.invert):focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:3px}.button.mod-AI:not(.invert):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)}.button.mod-AI:not(.invert):not(:disabled):before{content:\"\";pointer-events:none;position:absolute;inset:calc(var(--commons-divider-width) * -1);padding:var(--commons-divider-width);background-image:conic-gradient(from 135deg,var(--palettes-brand-400),var(--palettes-AI-500),var(--palettes-brand-400));border-radius:calc(var(--pr-t-border-radius-default) + var(--commons-divider-width));-webkit-mask:linear-gradient(var(--palettes-neutral-0)) content-box,linear-gradient(var(--palettes-neutral-0));mask:linear-gradient(var(--palettes-neutral-0)) content-box,linear-gradient(var(--palettes-neutral-0));-webkit-mask-composite:xor;mask-composite:exclude}.button.mod-AI:not(.invert):not(:disabled):not(.mod-invert) .lucca-icon{background-image:linear-gradient(135deg,var(--palettes-AI-600),var(--palettes-brand-500));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.button.mod-AI:not(.invert).mod-invert{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-neutral-0);background-image:linear-gradient(225deg,color-mix(in srgb,var(--palettes-AI-500) var(--components-button-AI-background-opacity),transparent),color-mix(in srgb,var(--palettes-brand-400) var(--components-button-AI-background-opacity),transparent))}.button.mod-AI:not(.invert).mod-invert:hover,.button.mod-AI:not(.invert).mod-invert:focus-visible{--components-button-AI-background-opacity: 15%;--components-button-color: var(--palettes-neutral-0)}.button.mod-AI:not(.invert).mod-invert:active{--components-button-AI-background-opacity: 5%}.button.mod-AI:not(.invert).is-success .lucca-icon{background-image:none}.button.mod-AI:not(.invert).is-success:before{content:none}.button.mod-AI:not(.invert).is-success:after{background-image:linear-gradient(135deg,var(--palettes-AI-600),var(--palettes-brand-500));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.button.mod-AI:not(.invert).is-loading{--components-button-color: transparent;--components-button-backgroundColor: var(--palettes-neutral-0);--commons-loading-frontground: var(--palettes-neutral-300);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.mod-AI:not(.invert).is-loading .lucca-icon{background-image:none!important}.button.mod-AI:not(.invert).is-loading:before{content:none}.button.mod-block{--components-button-width: 100%}.button.mod-S{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.button.mod-S .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.button.mod-S{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.button.mod-S:after{font-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight)}.button.mod-XS{--icon-size: 1rem;--components-button-font: var(--pr-t-font-body-XS);--components-button-paddingBlock: var(--pr-t-spacings-50);--components-button-paddingInline: var(--pr-t-spacings-75);--components-button-gap: var(--pr-t-spacings-50);--components-button-borderRadius: var(--pr-t-border-radius-small)}.button.mod-XS .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.button.mod-XS{--components-button-font-size: var(--pr-t-font-body-XS-fontSize);--components-button-line-height: var(--pr-t-font-body-XS-lineHeight)}.button.mod-XS:after{font-size:var(--pr-t-font-body-XS-lineHeight);block-size:var(--pr-t-font-body-XS-lineHeight)}.button.mod-disclosure{--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button.mod-disclosure .icon-arrowChevronBottom{transition-property:transform;transition-duration:var(--commons-animations-durations-fast);transform:var(--components-button-arrow-transform)}.button.mod-disclosure[aria-expanded=true]{--components-button-arrow-transform: rotate(180deg)}.button.mod-outline:where(:not(.is-success,.is-error)),.button.mod-outlined:where(:not(.is-success,.is-error)){--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)}.button.mod-outline:where(:not(.is-success,.is-error)):hover,.button.mod-outlined:where(:not(.is-success,.is-error)):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))}.button.mod-outline:where(:not(.is-success,.is-error)):active,.button.mod-outlined:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-outline:where(:not(.is-success,.is-error)):focus-visible,.button.mod-outlined:where(:not(.is-success,.is-error)):focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:3px}.button.mod-outline:where(:not(.is-success,.is-error)):disabled,.button.mod-outlined:where(:not(.is-success,.is-error)):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)}.button.mod-link:where(:not(.is-success,.is-error)),.button.mod-text:where(:not(.is-success,.is-error)),.button.mod-ghost:where(:not(.is-success,.is-error)){--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.button.mod-link:where(:not(.is-success,.is-error)):hover,.button.mod-link:where(:not(.is-success,.is-error)):focus-visible,.button.mod-text:where(:not(.is-success,.is-error)):hover,.button.mod-text:where(:not(.is-success,.is-error)):focus-visible,.button.mod-ghost:where(:not(.is-success,.is-error)):hover,.button.mod-ghost:where(:not(.is-success,.is-error)):focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.button.mod-link:where(:not(.is-success,.is-error)):active,.button.mod-text:where(:not(.is-success,.is-error)):active,.button.mod-ghost:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-link:where(:not(.is-success,.is-error)):disabled,.button.mod-text:where(:not(.is-success,.is-error)):disabled,.button.mod-ghost:where(:not(.is-success,.is-error)):disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.button.mod-withIcon.mod-iconOnLeft{--components-button-paddingInlineStart: var(--pr-t-spacings-100)}.button.mod-withIcon.mod-iconOnLeft.mod-S{--components-button-paddingInlineStart: var(--pr-t-spacings-75)}.button.mod-withIcon.mod-iconOnLeft.mod-XS{--components-button-paddingInlineStart: var(--pr-t-spacings-50)}.button.mod-withIcon.mod-iconOnRight{--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button.mod-withIcon.mod-iconOnRight.mod-S{--components-button-paddingInlineEnd: var(--pr-t-spacings-75)}.button.mod-withIcon.mod-iconOnRight.mod-XS{--components-button-paddingInlineEnd: var(--pr-t-spacings-50)}.button.mod-onlyIcon{--components-button-padding: var(--pr-t-spacings-100)}.button.mod-onlyIcon.mod-S{--components-button-padding: var(--pr-t-spacings-75)}.button.mod-onlyIcon.mod-XS{--components-button-padding: var(--pr-t-spacings-50)}.button:has(.numericBadge){--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button:has(.numericBadge).mod-S{--components-button-paddingInlineEnd: var(--pr-t-spacings-75)}.button:has(.numericBadge).mod-XS{--components-button-paddingInlineEnd: var(--pr-t-spacings-50)}.button.mod-delete:hover,.button.mod-critical:hover{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-delete:active,.button.mod-critical:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-delete.mod-link:hover,.button.mod-delete.mod-link:focus-visible,.button.mod-delete.mod-text:hover,.button.mod-delete.mod-text:focus-visible,.button.mod-critical.mod-link:hover,.button.mod-critical.mod-link:focus-visible,.button.mod-critical.mod-text:hover,.button.mod-critical.mod-text:focus-visible{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-delete.mod-link:active,.button.mod-delete.mod-text:active,.button.mod-critical.mod-link:active,.button.mod-critical.mod-text:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-delete.mod-outline:hover,.button.mod-delete.mod-outlined:hover,.button.mod-critical.mod-outline:hover,.button.mod-critical.mod-outlined:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-delete.mod-outline:focus-visible,.button.mod-delete.mod-outlined:focus-visible,.button.mod-critical.mod-outline:focus-visible,.button.mod-critical.mod-outlined:focus-visible{--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700)}.button.mod-delete.mod-outline:active,.button.mod-delete.mod-outlined:active,.button.mod-critical.mod-outline:active,.button.mod-critical.mod-outlined:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-invert,.button.mod-inverted{--components-button-color: var(--palettes-neutral-0)}.button.mod-invert:hover,.button.mod-invert:focus-visible,.button.mod-inverted:hover,.button.mod-inverted:focus-visible{--components-button-color: var(--palettes-neutral-0);--components-button-backgroundColor: var(--palettes-neutral-900)}.button.mod-invert:active,.button.mod-inverted:active{--components-button-backgroundColor: var(--palettes-neutral-700)}.button.mod-more{--components-button-minWidth: 2rem;--components-button-padding: 0}.button.mod-more:after{--icon-content: \"\\e97c\";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;block-size:0;order:-1;vertical-align:text-top}.button.mod-more.mod-S{--components-button-minWidth: 1.75rem}.button.mod-more.mod-XS{--components-button-minWidth: 1.5rem}.button.loading,.button.is-loading{--components-button-pointerEvents: none;--components-button-color: transparent;--components-button-userSelect: none;--components-button-boxShadow: none;--components-button-backgroundColor: var(--palettes-500, var(--palettes-product-500));--commons-loading-frontground: var(--palettes-50, var(--palettes-product-50))}.button.loading:after,.button.is-loading:after{content:\"\";inline-size:var(--pr-t-font-body-M-lineHeight);block-size:var(--pr-t-font-body-M-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}.button.loading .numericBadge,.button.is-loading .numericBadge{--components-numericBadge-background: transparent;--components-numericBadge-color: transparent}.button.loading.mod-S:after,.button.is-loading.mod-S:after{content:\"\";inline-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}.button.loading.mod-XS:after,.button.is-loading.mod-XS:after{content:\"\";inline-size:var(--pr-t-font-body-XS-lineHeight);block-size:var(--pr-t-font-body-XS-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button.loading.mod-XS,.button.is-loading.mod-XS{--commons-loading-borderWidth: 2px}.button.loading.mod-outlined,.button.is-loading.mod-outlined{--components-button-backgroundColor: var(--palettes-neutral-0);--commons-loading-frontground: var(--palettes-neutral-300);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.loading.mod-ghost,.button.is-loading.mod-ghost{--components-button-backgroundColor: var(--palettes-neutral-50);--commons-loading-frontground: var(--palettes-neutral-400)}.button.error,.button.is-error{animation-name:shake;animation-iteration-count:1;animation-duration:var(--commons-animations-durations-standard)}@keyframes shake{0%,to{transform:translateZ(0)}20%,60%{transform:translate3d(-3px,0,0)}40%,80%{transform:translate3d(3px,0,0)}}.button.success,.button.is-success{--components-button-backgroundColor: var(--palettes-500, var(--palettes-product-500));--components-button-color: transparent;--components-button-pointerEvents: none;--components-button-userSelect: none}.button.success:after,.button.is-success:after{--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;color:var(--palettes-neutral-0);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}.button.success .numericBadge,.button.is-success .numericBadge{--components-numericBadge-background: transparent;--components-numericBadge-color: transparent}.button.success.mod-AI,.button.success.mod-outlined,.button.is-success.mod-AI,.button.is-success.mod-outlined{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.success.mod-AI:after,.button.success.mod-outlined:after,.button.is-success.mod-AI:after,.button.is-success.mod-outlined:after{color:var(--palettes-700, var(--palettes-product-700))}.button.success.mod-ghost,.button.is-success.mod-ghost{--components-button-backgroundColor: var(--palettes-neutral-50);--components-button-boxShadow: none}.button.success.mod-ghost:after,.button.is-success.mod-ghost:after{color:var(--palettes-700, var(--palettes-product-700))}.button.disabled,.button.is-disabled,.button[aria-disabled=true]{--components-button-cursor: default;--components-button-color: var(--pr-t-color-text-disabled);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button.disabled .numericBadge,.button.is-disabled .numericBadge,.button[aria-disabled=true] .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[luButton], a[luButton], span[luButton], button[prButton], a[prButton], span[prButton]", inputs: ["size", "block", "critical", "delete", "disclosure", "palette", "state", "luButton", "prButton"] }, { kind: "component", type: IconComponent, selector: "lu-icon, pr-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis", "luTooltipAnchor", "id"], exportAs: ["luTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1583
|
+
], viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<button\n\t#element\n\tluButton=\"ghost\"\n\ttype=\"button\"\n\tsize=\"S\"\n\t(click)=\"dispatchCommand()\"\n\t[attr.aria-pressed]=\"active()\"\n\t[luTooltip]=\"tooltip()\"\n\tluTooltipOnlyForDisplay\n\t[attr.tabindex]=\"tabindex()\"\n\tclass=\"richTextField-toolbar-button\"\n\t[disabled]=\"isDisabled()\"\n>\n\t<lu-icon [icon]=\"icon()\" [alt]=\"tooltip()\" />\n</button>\n", styles: ["@charset \"UTF-8\";@layer components{.button{--components-button-font: var(--pr-t-font-body-M);--components-button-borderRadius: var(--pr-t-border-radius-default);--components-button-paddingBlock: var(--pr-t-spacings-100);--components-button-paddingInline: var(--pr-t-spacings-150);--components-button-paddingBlockStart: var(--components-button-paddingBlock);--components-button-paddingBlockEnd: var(--components-button-paddingBlock);--components-button-paddingInlineStart: var(--components-button-paddingInline);--components-button-paddingInlineEnd: var(--components-button-paddingInline);--components-button-padding: var(--components-button-paddingBlockStart) var(--components-button-paddingInlineEnd) var(--components-button-paddingBlockEnd) var(--components-button-paddingInlineStart);--components-button-gap: var(--pr-t-spacings-100);--components-button-opacity: 1;--components-button-cursor: pointer;--components-button-pointerEvents: auto;--components-button-width: auto;--components-button-minWidth: none;--components-button-userSelect: auto;--components-button-boxShadow: var(--pr-t-elevation-shadow-button);--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700));--components-button-arrow-transform: none;--components-button-AI-background-opacity: 25%;--components-button-font-size: var(--pr-t-font-body-M-fontSize);--components-button-line-height: var(--pr-t-font-body-M-lineHeight);--icon-size: 1.5rem;background-color:var(--components-button-backgroundColor);box-shadow:var(--components-button-boxShadow);border-radius:var(--components-button-borderRadius);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);inline-size:var(--components-button-width);min-inline-size:var(--components-button-minWidth);font:var(--components-button-font);font-size:var(--components-button-font-size);line-height:var(--components-button-line-height);font-weight:var(--pr-t-font-fontWeight-semibold);gap:var(--components-button-gap);pointer-events:var(--components-button-pointerEvents);-webkit-user-select:var(--components-button-userSelect);user-select:var(--components-button-userSelect);opacity:var(--components-button-opacity);cursor:var(--components-button-cursor);transition-timing-function:ease;display:inline-flex;align-items:center;justify-content:center;position:relative;text-decoration:none;vertical-align:middle;text-wrap:balance;text-align:center;border:0}.button,.button:is(a){color:var(--components-button-color)}.button .lucca-icon{display:block}.button .button-icon{--icon-size: 1.5rem}.button:not(.mod-outlined,.mod-outline) .numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-product-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-product-800))}.button:hover{--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-800, var(--palettes-product-800))}.button:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--components-button-borderRadius)}.button:active{--components-button-backgroundColor: var(--palettes-900, var(--palettes-product-900))}.button:disabled{--components-button-cursor: default;--components-button-color: var(--palettes-neutral-500);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button:disabled .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}}@layer mods{.button.mod-AI:not(.invert){--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)}.button.mod-AI:not(.invert):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))}.button.mod-AI:not(.invert):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-AI:not(.invert):focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:3px}.button.mod-AI:not(.invert):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)}.button.mod-AI:not(.invert):not(:disabled):before{content:\"\";pointer-events:none;position:absolute;inset:calc(var(--commons-divider-width) * -1);padding:var(--commons-divider-width);background-image:var(--pr-t-color-border-ai);border-radius:calc(var(--pr-t-border-radius-default) + var(--commons-divider-width));-webkit-mask:linear-gradient(var(--palettes-neutral-0)) content-box,linear-gradient(var(--palettes-neutral-0));mask:linear-gradient(var(--palettes-neutral-0)) content-box,linear-gradient(var(--palettes-neutral-0));-webkit-mask-composite:xor;mask-composite:exclude}.button.mod-AI:not(.invert):not(:disabled):not(.mod-invert) .lucca-icon{background-image:var(--pr-t-color-icon-ai);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.button.mod-AI:not(.invert).mod-invert{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-neutral-0);background-image:linear-gradient(var(--palettes-ai-angle),color-mix(in srgb,var(--palettes-orchid-300) var(--components-button-AI-background-opacity),transparent),color-mix(in srgb,var(--palettes-brand-200) var(--components-button-AI-background-opacity),transparent))}.button.mod-AI:not(.invert).mod-invert:hover,.button.mod-AI:not(.invert).mod-invert:focus-visible{--components-button-AI-background-opacity: 15%;--components-button-color: var(--palettes-neutral-0)}.button.mod-AI:not(.invert).mod-invert:active{--components-button-AI-background-opacity: 5%}.button.mod-AI:not(.invert).is-success .lucca-icon{background-image:none}.button.mod-AI:not(.invert).is-success:before{content:none}.button.mod-AI:not(.invert).is-success:after{background-image:var(--pr-t-color-icon-ai);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.button.mod-AI:not(.invert).is-loading{--components-button-color: transparent;--components-button-backgroundColor: var(--palettes-neutral-0);--commons-loading-frontground: var(--palettes-neutral-300);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.mod-AI:not(.invert).is-loading .lucca-icon{background-image:none!important}.button.mod-AI:not(.invert).is-loading:before{content:none}.button.mod-block{--components-button-width: 100%}.button.mod-S{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.button.mod-S .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS)}.button.mod-S{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.button.mod-S:after{font-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight)}.button.mod-XS{--icon-size: 1rem;--components-button-font: var(--pr-t-font-body-XS);--components-button-paddingBlock: var(--pr-t-spacings-50);--components-button-paddingInline: var(--pr-t-spacings-75);--components-button-gap: var(--pr-t-spacings-50);--components-button-borderRadius: var(--pr-t-border-radius-small)}.button.mod-XS .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS)}.button.mod-XS{--components-button-font-size: var(--pr-t-font-body-XS-fontSize);--components-button-line-height: var(--pr-t-font-body-XS-lineHeight)}.button.mod-XS:after{font-size:var(--pr-t-font-body-XS-lineHeight);block-size:var(--pr-t-font-body-XS-lineHeight)}.button.mod-disclosure{--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button.mod-disclosure .icon-arrowChevronBottom{transition-property:transform;transition-duration:var(--commons-animations-durations-fast);transform:var(--components-button-arrow-transform)}.button.mod-disclosure[aria-expanded=true]{--components-button-arrow-transform: rotate(180deg)}.button.mod-outline:where(:not(.is-success,.is-error)),.button.mod-outlined:where(:not(.is-success,.is-error)){--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)}.button.mod-outline:where(:not(.is-success,.is-error)):hover,.button.mod-outlined:where(:not(.is-success,.is-error)):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))}.button.mod-outline:where(:not(.is-success,.is-error)):active,.button.mod-outlined:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-outline:where(:not(.is-success,.is-error)):focus-visible,.button.mod-outlined:where(:not(.is-success,.is-error)):focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:3px}.button.mod-outline:where(:not(.is-success,.is-error)):disabled,.button.mod-outlined:where(:not(.is-success,.is-error)):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)}.button.mod-link:where(:not(.is-success,.is-error)),.button.mod-text:where(:not(.is-success,.is-error)),.button.mod-ghost:where(:not(.is-success,.is-error)){--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.button.mod-link:where(:not(.is-success,.is-error)):hover,.button.mod-link:where(:not(.is-success,.is-error)):focus-visible,.button.mod-text:where(:not(.is-success,.is-error)):hover,.button.mod-text:where(:not(.is-success,.is-error)):focus-visible,.button.mod-ghost:where(:not(.is-success,.is-error)):hover,.button.mod-ghost:where(:not(.is-success,.is-error)):focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.button.mod-link:where(:not(.is-success,.is-error)):active,.button.mod-text:where(:not(.is-success,.is-error)):active,.button.mod-ghost:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-link:where(:not(.is-success,.is-error)):disabled,.button.mod-text:where(:not(.is-success,.is-error)):disabled,.button.mod-ghost:where(:not(.is-success,.is-error)):disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.button.mod-withIcon.mod-iconOnLeft{--components-button-paddingInlineStart: var(--pr-t-spacings-100)}.button.mod-withIcon.mod-iconOnLeft.mod-S{--components-button-paddingInlineStart: var(--pr-t-spacings-75)}.button.mod-withIcon.mod-iconOnLeft.mod-XS{--components-button-paddingInlineStart: var(--pr-t-spacings-50)}.button.mod-withIcon.mod-iconOnRight{--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button.mod-withIcon.mod-iconOnRight.mod-S{--components-button-paddingInlineEnd: var(--pr-t-spacings-75)}.button.mod-withIcon.mod-iconOnRight.mod-XS{--components-button-paddingInlineEnd: var(--pr-t-spacings-50)}.button.mod-onlyIcon{--components-button-padding: var(--pr-t-spacings-100)}.button.mod-onlyIcon.mod-S{--components-button-padding: var(--pr-t-spacings-75)}.button.mod-onlyIcon.mod-XS{--components-button-padding: var(--pr-t-spacings-50)}.button:has(.numericBadge){--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button:has(.numericBadge).mod-S{--components-button-paddingInlineEnd: var(--pr-t-spacings-75)}.button:has(.numericBadge).mod-XS{--components-button-paddingInlineEnd: var(--pr-t-spacings-50)}.button.mod-delete:hover,.button.mod-critical:hover{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-delete:active,.button.mod-critical:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-delete.mod-link:hover,.button.mod-delete.mod-link:focus-visible,.button.mod-delete.mod-text:hover,.button.mod-delete.mod-text:focus-visible,.button.mod-critical.mod-link:hover,.button.mod-critical.mod-link:focus-visible,.button.mod-critical.mod-text:hover,.button.mod-critical.mod-text:focus-visible{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-delete.mod-link:active,.button.mod-delete.mod-text:active,.button.mod-critical.mod-link:active,.button.mod-critical.mod-text:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-delete.mod-outline:hover,.button.mod-delete.mod-outlined:hover,.button.mod-critical.mod-outline:hover,.button.mod-critical.mod-outlined:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-delete.mod-outline:focus-visible,.button.mod-delete.mod-outlined:focus-visible,.button.mod-critical.mod-outline:focus-visible,.button.mod-critical.mod-outlined:focus-visible{--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700)}.button.mod-delete.mod-outline:active,.button.mod-delete.mod-outlined:active,.button.mod-critical.mod-outline:active,.button.mod-critical.mod-outlined:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-invert,.button.mod-inverted{--components-button-color: var(--palettes-neutral-0)}.button.mod-invert:hover,.button.mod-invert:focus-visible,.button.mod-inverted:hover,.button.mod-inverted:focus-visible{--components-button-color: var(--palettes-neutral-0);--components-button-backgroundColor: var(--palettes-neutral-900)}.button.mod-invert:active,.button.mod-inverted:active{--components-button-backgroundColor: var(--palettes-neutral-700)}.button.mod-more{--components-button-minWidth: 2rem;--components-button-padding: 0}.button.mod-more:after{--icon-content: \"\\e97c\";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;block-size:0;order:-1;vertical-align:text-top}.button.mod-more.mod-S{--components-button-minWidth: 1.75rem}.button.mod-more.mod-XS{--components-button-minWidth: 1.5rem}.button.loading,.button.is-loading{--components-button-pointerEvents: none;--components-button-userSelect: none;--components-button-boxShadow: none;--components-button-backgroundColor: var(--palettes-500, var(--palettes-product-500));--commons-loading-frontground: var(--palettes-50, var(--palettes-product-50))}.button.loading:after,.button.is-loading:after{content:\"\";inline-size:var(--pr-t-font-body-M-lineHeight);block-size:var(--pr-t-font-body-M-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}.button.loading,.button.loading:disabled,.button.is-loading,.button.is-loading:disabled{--components-button-color: transparent}.button.loading .numericBadge,.button.is-loading .numericBadge{--components-numericBadge-background: transparent;--components-numericBadge-color: transparent}.button.loading.mod-S:after,.button.is-loading.mod-S:after{content:\"\";inline-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}.button.loading.mod-XS:after,.button.is-loading.mod-XS:after{content:\"\";inline-size:var(--pr-t-font-body-XS-lineHeight);block-size:var(--pr-t-font-body-XS-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button.loading.mod-XS,.button.is-loading.mod-XS{--commons-loading-borderWidth: 2px}.button.loading.mod-outlined,.button.is-loading.mod-outlined{--components-button-backgroundColor: var(--palettes-neutral-0);--commons-loading-frontground: var(--palettes-neutral-300);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.loading.mod-ghost,.button.is-loading.mod-ghost{--components-button-backgroundColor: var(--palettes-neutral-50);--commons-loading-frontground: var(--palettes-neutral-400)}.button.error,.button.is-error{animation-name:shake;animation-iteration-count:1;animation-duration:var(--commons-animations-durations-standard)}@keyframes shake{0%,to{transform:translateZ(0)}20%,60%{transform:translate3d(-3px,0,0)}40%,80%{transform:translate3d(3px,0,0)}}.button.success,.button.is-success{--components-button-backgroundColor: var(--palettes-500, var(--palettes-product-500));--components-button-color: transparent;--components-button-pointerEvents: none;--components-button-userSelect: none}.button.success:after,.button.is-success:after{--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;color:var(--palettes-neutral-0);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}.button.success .numericBadge,.button.is-success .numericBadge{--components-numericBadge-background: transparent;--components-numericBadge-color: transparent}.button.success.mod-AI,.button.success.mod-outlined,.button.is-success.mod-AI,.button.is-success.mod-outlined{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.success.mod-AI:after,.button.success.mod-outlined:after,.button.is-success.mod-AI:after,.button.is-success.mod-outlined:after{color:var(--palettes-700, var(--palettes-product-700))}.button.success.mod-ghost,.button.is-success.mod-ghost{--components-button-backgroundColor: var(--palettes-neutral-50);--components-button-boxShadow: none}.button.success.mod-ghost:after,.button.is-success.mod-ghost:after{color:var(--palettes-700, var(--palettes-product-700))}.button.disabled,.button.is-disabled,.button[aria-disabled=true]{--components-button-cursor: default;--components-button-color: var(--pr-t-color-text-disabled);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button.disabled .numericBadge,.button.is-disabled .numericBadge,.button[aria-disabled=true] .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[luButton], a[luButton], span[luButton], button[prButton], a[prButton], span[prButton]", inputs: ["size", "block", "disabled", "critical", "delete", "disclosure", "palette", "state", "luButton", "prButton"] }, { kind: "component", type: IconComponent, selector: "lu-icon, pr-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis", "luTooltipAnchor", "id"], exportAs: ["luTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1429
1584
|
}
|
|
1430
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1585
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TextStyleComponent, decorators: [{
|
|
1431
1586
|
type: Component,
|
|
1432
1587
|
args: [{ selector: 'lu-rich-text-plugin-text-style', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ButtonComponent, IconComponent, LuTooltipTriggerDirective], host: {
|
|
1433
1588
|
class: 'richTextField-toolbar-col-group',
|
|
@@ -1436,13 +1591,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
1436
1591
|
provide: RICH_TEXT_PLUGIN_COMPONENT,
|
|
1437
1592
|
useExisting: forwardRef(() => TextStyleComponent),
|
|
1438
1593
|
},
|
|
1439
|
-
], template: "<button\n\t#element\n\tluButton=\"ghost\"\n\ttype=\"button\"\n\tsize=\"S\"\n\t(click)=\"dispatchCommand()\"\n\t[attr.aria-pressed]=\"active()\"\n\t[luTooltip]=\"tooltip()\"\n\tluTooltipOnlyForDisplay\n\t[attr.tabindex]=\"tabindex()\"\n\tclass=\"richTextField-toolbar-button\"\n\t[disabled]=\"isDisabled()\"\n>\n\t<lu-icon [icon]=\"icon()\" [alt]=\"tooltip()\" />\n</button>\n", styles: ["@charset \"UTF-8\";@layer components{.button{--components-button-font: var(--pr-t-font-body-M);--components-button-borderRadius: var(--pr-t-border-radius-default);--components-button-paddingBlock: var(--pr-t-spacings-100);--components-button-paddingInline: var(--pr-t-spacings-150);--components-button-paddingBlockStart: var(--components-button-paddingBlock);--components-button-paddingBlockEnd: var(--components-button-paddingBlock);--components-button-paddingInlineStart: var(--components-button-paddingInline);--components-button-paddingInlineEnd: var(--components-button-paddingInline);--components-button-padding: var(--components-button-paddingBlockStart) var(--components-button-paddingInlineEnd) var(--components-button-paddingBlockEnd) var(--components-button-paddingInlineStart);--components-button-gap: var(--pr-t-spacings-100);--components-button-opacity: 1;--components-button-cursor: pointer;--components-button-pointerEvents: auto;--components-button-width: auto;--components-button-minWidth: none;--components-button-userSelect: auto;--components-button-boxShadow: var(--pr-t-elevation-shadow-button);--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700));--components-button-arrow-transform: none;--components-button-AI-background-opacity: 25%;--components-button-font-size: var(--pr-t-font-body-M-fontSize);--components-button-line-height: var(--pr-t-font-body-M-lineHeight);--icon-size: 1.5rem;background-color:var(--components-button-backgroundColor);box-shadow:var(--components-button-boxShadow);border-radius:var(--components-button-borderRadius);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);inline-size:var(--components-button-width);min-inline-size:var(--components-button-minWidth);font:var(--components-button-font);font-size:var(--components-button-font-size);line-height:var(--components-button-line-height);font-weight:var(--pr-t-font-fontWeight-semibold);gap:var(--components-button-gap);pointer-events:var(--components-button-pointerEvents);-webkit-user-select:var(--components-button-userSelect);user-select:var(--components-button-userSelect);opacity:var(--components-button-opacity);cursor:var(--components-button-cursor);transition-timing-function:ease;display:inline-flex;align-items:center;justify-content:center;position:relative;text-decoration:none;vertical-align:middle;text-wrap:balance;text-align:center;border:0}.button,.button:is(a){color:var(--components-button-color)}.button .lucca-icon{display:block}.button .button-icon{--icon-size: 1.5rem}.button:not(.mod-outlined,.mod-outline) .numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-product-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-product-800))}.button:hover{--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-800, var(--palettes-product-800))}.button:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--components-button-borderRadius)}.button:active{--components-button-backgroundColor: var(--palettes-900, var(--palettes-product-900))}.button:disabled{--components-button-cursor: default;--components-button-color: var(--palettes-neutral-500);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button:disabled .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}}@layer mods{.button.mod-AI:not(.invert){--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)}.button.mod-AI:not(.invert):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))}.button.mod-AI:not(.invert):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-AI:not(.invert):focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:3px}.button.mod-AI:not(.invert):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)}.button.mod-AI:not(.invert):not(:disabled):before{content:\"\";pointer-events:none;position:absolute;inset:calc(var(--commons-divider-width) * -1);padding:var(--commons-divider-width);background-image:conic-gradient(from 135deg,var(--palettes-brand-400),var(--palettes-AI-500),var(--palettes-brand-400));border-radius:calc(var(--pr-t-border-radius-default) + var(--commons-divider-width));-webkit-mask:linear-gradient(var(--palettes-neutral-0)) content-box,linear-gradient(var(--palettes-neutral-0));mask:linear-gradient(var(--palettes-neutral-0)) content-box,linear-gradient(var(--palettes-neutral-0));-webkit-mask-composite:xor;mask-composite:exclude}.button.mod-AI:not(.invert):not(:disabled):not(.mod-invert) .lucca-icon{background-image:linear-gradient(135deg,var(--palettes-AI-600),var(--palettes-brand-500));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.button.mod-AI:not(.invert).mod-invert{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-neutral-0);background-image:linear-gradient(225deg,color-mix(in srgb,var(--palettes-AI-500) var(--components-button-AI-background-opacity),transparent),color-mix(in srgb,var(--palettes-brand-400) var(--components-button-AI-background-opacity),transparent))}.button.mod-AI:not(.invert).mod-invert:hover,.button.mod-AI:not(.invert).mod-invert:focus-visible{--components-button-AI-background-opacity: 15%;--components-button-color: var(--palettes-neutral-0)}.button.mod-AI:not(.invert).mod-invert:active{--components-button-AI-background-opacity: 5%}.button.mod-AI:not(.invert).is-success .lucca-icon{background-image:none}.button.mod-AI:not(.invert).is-success:before{content:none}.button.mod-AI:not(.invert).is-success:after{background-image:linear-gradient(135deg,var(--palettes-AI-600),var(--palettes-brand-500));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.button.mod-AI:not(.invert).is-loading{--components-button-color: transparent;--components-button-backgroundColor: var(--palettes-neutral-0);--commons-loading-frontground: var(--palettes-neutral-300);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.mod-AI:not(.invert).is-loading .lucca-icon{background-image:none!important}.button.mod-AI:not(.invert).is-loading:before{content:none}.button.mod-block{--components-button-width: 100%}.button.mod-S{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.button.mod-S .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.button.mod-S{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.button.mod-S:after{font-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight)}.button.mod-XS{--icon-size: 1rem;--components-button-font: var(--pr-t-font-body-XS);--components-button-paddingBlock: var(--pr-t-spacings-50);--components-button-paddingInline: var(--pr-t-spacings-75);--components-button-gap: var(--pr-t-spacings-50);--components-button-borderRadius: var(--pr-t-border-radius-small)}.button.mod-XS .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.button.mod-XS{--components-button-font-size: var(--pr-t-font-body-XS-fontSize);--components-button-line-height: var(--pr-t-font-body-XS-lineHeight)}.button.mod-XS:after{font-size:var(--pr-t-font-body-XS-lineHeight);block-size:var(--pr-t-font-body-XS-lineHeight)}.button.mod-disclosure{--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button.mod-disclosure .icon-arrowChevronBottom{transition-property:transform;transition-duration:var(--commons-animations-durations-fast);transform:var(--components-button-arrow-transform)}.button.mod-disclosure[aria-expanded=true]{--components-button-arrow-transform: rotate(180deg)}.button.mod-outline:where(:not(.is-success,.is-error)),.button.mod-outlined:where(:not(.is-success,.is-error)){--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)}.button.mod-outline:where(:not(.is-success,.is-error)):hover,.button.mod-outlined:where(:not(.is-success,.is-error)):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))}.button.mod-outline:where(:not(.is-success,.is-error)):active,.button.mod-outlined:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-outline:where(:not(.is-success,.is-error)):focus-visible,.button.mod-outlined:where(:not(.is-success,.is-error)):focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:3px}.button.mod-outline:where(:not(.is-success,.is-error)):disabled,.button.mod-outlined:where(:not(.is-success,.is-error)):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)}.button.mod-link:where(:not(.is-success,.is-error)),.button.mod-text:where(:not(.is-success,.is-error)),.button.mod-ghost:where(:not(.is-success,.is-error)){--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.button.mod-link:where(:not(.is-success,.is-error)):hover,.button.mod-link:where(:not(.is-success,.is-error)):focus-visible,.button.mod-text:where(:not(.is-success,.is-error)):hover,.button.mod-text:where(:not(.is-success,.is-error)):focus-visible,.button.mod-ghost:where(:not(.is-success,.is-error)):hover,.button.mod-ghost:where(:not(.is-success,.is-error)):focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.button.mod-link:where(:not(.is-success,.is-error)):active,.button.mod-text:where(:not(.is-success,.is-error)):active,.button.mod-ghost:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-link:where(:not(.is-success,.is-error)):disabled,.button.mod-text:where(:not(.is-success,.is-error)):disabled,.button.mod-ghost:where(:not(.is-success,.is-error)):disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.button.mod-withIcon.mod-iconOnLeft{--components-button-paddingInlineStart: var(--pr-t-spacings-100)}.button.mod-withIcon.mod-iconOnLeft.mod-S{--components-button-paddingInlineStart: var(--pr-t-spacings-75)}.button.mod-withIcon.mod-iconOnLeft.mod-XS{--components-button-paddingInlineStart: var(--pr-t-spacings-50)}.button.mod-withIcon.mod-iconOnRight{--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button.mod-withIcon.mod-iconOnRight.mod-S{--components-button-paddingInlineEnd: var(--pr-t-spacings-75)}.button.mod-withIcon.mod-iconOnRight.mod-XS{--components-button-paddingInlineEnd: var(--pr-t-spacings-50)}.button.mod-onlyIcon{--components-button-padding: var(--pr-t-spacings-100)}.button.mod-onlyIcon.mod-S{--components-button-padding: var(--pr-t-spacings-75)}.button.mod-onlyIcon.mod-XS{--components-button-padding: var(--pr-t-spacings-50)}.button:has(.numericBadge){--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button:has(.numericBadge).mod-S{--components-button-paddingInlineEnd: var(--pr-t-spacings-75)}.button:has(.numericBadge).mod-XS{--components-button-paddingInlineEnd: var(--pr-t-spacings-50)}.button.mod-delete:hover,.button.mod-critical:hover{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-delete:active,.button.mod-critical:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-delete.mod-link:hover,.button.mod-delete.mod-link:focus-visible,.button.mod-delete.mod-text:hover,.button.mod-delete.mod-text:focus-visible,.button.mod-critical.mod-link:hover,.button.mod-critical.mod-link:focus-visible,.button.mod-critical.mod-text:hover,.button.mod-critical.mod-text:focus-visible{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-delete.mod-link:active,.button.mod-delete.mod-text:active,.button.mod-critical.mod-link:active,.button.mod-critical.mod-text:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-delete.mod-outline:hover,.button.mod-delete.mod-outlined:hover,.button.mod-critical.mod-outline:hover,.button.mod-critical.mod-outlined:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-delete.mod-outline:focus-visible,.button.mod-delete.mod-outlined:focus-visible,.button.mod-critical.mod-outline:focus-visible,.button.mod-critical.mod-outlined:focus-visible{--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700)}.button.mod-delete.mod-outline:active,.button.mod-delete.mod-outlined:active,.button.mod-critical.mod-outline:active,.button.mod-critical.mod-outlined:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-invert,.button.mod-inverted{--components-button-color: var(--palettes-neutral-0)}.button.mod-invert:hover,.button.mod-invert:focus-visible,.button.mod-inverted:hover,.button.mod-inverted:focus-visible{--components-button-color: var(--palettes-neutral-0);--components-button-backgroundColor: var(--palettes-neutral-900)}.button.mod-invert:active,.button.mod-inverted:active{--components-button-backgroundColor: var(--palettes-neutral-700)}.button.mod-more{--components-button-minWidth: 2rem;--components-button-padding: 0}.button.mod-more:after{--icon-content: \"\\e97c\";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;block-size:0;order:-1;vertical-align:text-top}.button.mod-more.mod-S{--components-button-minWidth: 1.75rem}.button.mod-more.mod-XS{--components-button-minWidth: 1.5rem}.button.loading,.button.is-loading{--components-button-pointerEvents: none;--components-button-color: transparent;--components-button-userSelect: none;--components-button-boxShadow: none;--components-button-backgroundColor: var(--palettes-500, var(--palettes-product-500));--commons-loading-frontground: var(--palettes-50, var(--palettes-product-50))}.button.loading:after,.button.is-loading:after{content:\"\";inline-size:var(--pr-t-font-body-M-lineHeight);block-size:var(--pr-t-font-body-M-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}.button.loading .numericBadge,.button.is-loading .numericBadge{--components-numericBadge-background: transparent;--components-numericBadge-color: transparent}.button.loading.mod-S:after,.button.is-loading.mod-S:after{content:\"\";inline-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}.button.loading.mod-XS:after,.button.is-loading.mod-XS:after{content:\"\";inline-size:var(--pr-t-font-body-XS-lineHeight);block-size:var(--pr-t-font-body-XS-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button.loading.mod-XS,.button.is-loading.mod-XS{--commons-loading-borderWidth: 2px}.button.loading.mod-outlined,.button.is-loading.mod-outlined{--components-button-backgroundColor: var(--palettes-neutral-0);--commons-loading-frontground: var(--palettes-neutral-300);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.loading.mod-ghost,.button.is-loading.mod-ghost{--components-button-backgroundColor: var(--palettes-neutral-50);--commons-loading-frontground: var(--palettes-neutral-400)}.button.error,.button.is-error{animation-name:shake;animation-iteration-count:1;animation-duration:var(--commons-animations-durations-standard)}@keyframes shake{0%,to{transform:translateZ(0)}20%,60%{transform:translate3d(-3px,0,0)}40%,80%{transform:translate3d(3px,0,0)}}.button.success,.button.is-success{--components-button-backgroundColor: var(--palettes-500, var(--palettes-product-500));--components-button-color: transparent;--components-button-pointerEvents: none;--components-button-userSelect: none}.button.success:after,.button.is-success:after{--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;color:var(--palettes-neutral-0);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}.button.success .numericBadge,.button.is-success .numericBadge{--components-numericBadge-background: transparent;--components-numericBadge-color: transparent}.button.success.mod-AI,.button.success.mod-outlined,.button.is-success.mod-AI,.button.is-success.mod-outlined{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.success.mod-AI:after,.button.success.mod-outlined:after,.button.is-success.mod-AI:after,.button.is-success.mod-outlined:after{color:var(--palettes-700, var(--palettes-product-700))}.button.success.mod-ghost,.button.is-success.mod-ghost{--components-button-backgroundColor: var(--palettes-neutral-50);--components-button-boxShadow: none}.button.success.mod-ghost:after,.button.is-success.mod-ghost:after{color:var(--palettes-700, var(--palettes-product-700))}.button.disabled,.button.is-disabled,.button[aria-disabled=true]{--components-button-cursor: default;--components-button-color: var(--pr-t-color-text-disabled);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button.disabled .numericBadge,.button.is-disabled .numericBadge,.button[aria-disabled=true] .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}}\n"] }]
|
|
1594
|
+
], template: "<button\n\t#element\n\tluButton=\"ghost\"\n\ttype=\"button\"\n\tsize=\"S\"\n\t(click)=\"dispatchCommand()\"\n\t[attr.aria-pressed]=\"active()\"\n\t[luTooltip]=\"tooltip()\"\n\tluTooltipOnlyForDisplay\n\t[attr.tabindex]=\"tabindex()\"\n\tclass=\"richTextField-toolbar-button\"\n\t[disabled]=\"isDisabled()\"\n>\n\t<lu-icon [icon]=\"icon()\" [alt]=\"tooltip()\" />\n</button>\n", styles: ["@charset \"UTF-8\";@layer components{.button{--components-button-font: var(--pr-t-font-body-M);--components-button-borderRadius: var(--pr-t-border-radius-default);--components-button-paddingBlock: var(--pr-t-spacings-100);--components-button-paddingInline: var(--pr-t-spacings-150);--components-button-paddingBlockStart: var(--components-button-paddingBlock);--components-button-paddingBlockEnd: var(--components-button-paddingBlock);--components-button-paddingInlineStart: var(--components-button-paddingInline);--components-button-paddingInlineEnd: var(--components-button-paddingInline);--components-button-padding: var(--components-button-paddingBlockStart) var(--components-button-paddingInlineEnd) var(--components-button-paddingBlockEnd) var(--components-button-paddingInlineStart);--components-button-gap: var(--pr-t-spacings-100);--components-button-opacity: 1;--components-button-cursor: pointer;--components-button-pointerEvents: auto;--components-button-width: auto;--components-button-minWidth: none;--components-button-userSelect: auto;--components-button-boxShadow: var(--pr-t-elevation-shadow-button);--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700));--components-button-arrow-transform: none;--components-button-AI-background-opacity: 25%;--components-button-font-size: var(--pr-t-font-body-M-fontSize);--components-button-line-height: var(--pr-t-font-body-M-lineHeight);--icon-size: 1.5rem;background-color:var(--components-button-backgroundColor);box-shadow:var(--components-button-boxShadow);border-radius:var(--components-button-borderRadius);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);inline-size:var(--components-button-width);min-inline-size:var(--components-button-minWidth);font:var(--components-button-font);font-size:var(--components-button-font-size);line-height:var(--components-button-line-height);font-weight:var(--pr-t-font-fontWeight-semibold);gap:var(--components-button-gap);pointer-events:var(--components-button-pointerEvents);-webkit-user-select:var(--components-button-userSelect);user-select:var(--components-button-userSelect);opacity:var(--components-button-opacity);cursor:var(--components-button-cursor);transition-timing-function:ease;display:inline-flex;align-items:center;justify-content:center;position:relative;text-decoration:none;vertical-align:middle;text-wrap:balance;text-align:center;border:0}.button,.button:is(a){color:var(--components-button-color)}.button .lucca-icon{display:block}.button .button-icon{--icon-size: 1.5rem}.button:not(.mod-outlined,.mod-outline) .numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-product-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-product-800))}.button:hover{--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-800, var(--palettes-product-800))}.button:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--components-button-borderRadius)}.button:active{--components-button-backgroundColor: var(--palettes-900, var(--palettes-product-900))}.button:disabled{--components-button-cursor: default;--components-button-color: var(--palettes-neutral-500);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button:disabled .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}}@layer mods{.button.mod-AI:not(.invert){--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)}.button.mod-AI:not(.invert):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))}.button.mod-AI:not(.invert):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-AI:not(.invert):focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:3px}.button.mod-AI:not(.invert):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)}.button.mod-AI:not(.invert):not(:disabled):before{content:\"\";pointer-events:none;position:absolute;inset:calc(var(--commons-divider-width) * -1);padding:var(--commons-divider-width);background-image:var(--pr-t-color-border-ai);border-radius:calc(var(--pr-t-border-radius-default) + var(--commons-divider-width));-webkit-mask:linear-gradient(var(--palettes-neutral-0)) content-box,linear-gradient(var(--palettes-neutral-0));mask:linear-gradient(var(--palettes-neutral-0)) content-box,linear-gradient(var(--palettes-neutral-0));-webkit-mask-composite:xor;mask-composite:exclude}.button.mod-AI:not(.invert):not(:disabled):not(.mod-invert) .lucca-icon{background-image:var(--pr-t-color-icon-ai);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.button.mod-AI:not(.invert).mod-invert{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-neutral-0);background-image:linear-gradient(var(--palettes-ai-angle),color-mix(in srgb,var(--palettes-orchid-300) var(--components-button-AI-background-opacity),transparent),color-mix(in srgb,var(--palettes-brand-200) var(--components-button-AI-background-opacity),transparent))}.button.mod-AI:not(.invert).mod-invert:hover,.button.mod-AI:not(.invert).mod-invert:focus-visible{--components-button-AI-background-opacity: 15%;--components-button-color: var(--palettes-neutral-0)}.button.mod-AI:not(.invert).mod-invert:active{--components-button-AI-background-opacity: 5%}.button.mod-AI:not(.invert).is-success .lucca-icon{background-image:none}.button.mod-AI:not(.invert).is-success:before{content:none}.button.mod-AI:not(.invert).is-success:after{background-image:var(--pr-t-color-icon-ai);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.button.mod-AI:not(.invert).is-loading{--components-button-color: transparent;--components-button-backgroundColor: var(--palettes-neutral-0);--commons-loading-frontground: var(--palettes-neutral-300);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.mod-AI:not(.invert).is-loading .lucca-icon{background-image:none!important}.button.mod-AI:not(.invert).is-loading:before{content:none}.button.mod-block{--components-button-width: 100%}.button.mod-S{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.button.mod-S .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS)}.button.mod-S{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.button.mod-S:after{font-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight)}.button.mod-XS{--icon-size: 1rem;--components-button-font: var(--pr-t-font-body-XS);--components-button-paddingBlock: var(--pr-t-spacings-50);--components-button-paddingInline: var(--pr-t-spacings-75);--components-button-gap: var(--pr-t-spacings-50);--components-button-borderRadius: var(--pr-t-border-radius-small)}.button.mod-XS .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS)}.button.mod-XS{--components-button-font-size: var(--pr-t-font-body-XS-fontSize);--components-button-line-height: var(--pr-t-font-body-XS-lineHeight)}.button.mod-XS:after{font-size:var(--pr-t-font-body-XS-lineHeight);block-size:var(--pr-t-font-body-XS-lineHeight)}.button.mod-disclosure{--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button.mod-disclosure .icon-arrowChevronBottom{transition-property:transform;transition-duration:var(--commons-animations-durations-fast);transform:var(--components-button-arrow-transform)}.button.mod-disclosure[aria-expanded=true]{--components-button-arrow-transform: rotate(180deg)}.button.mod-outline:where(:not(.is-success,.is-error)),.button.mod-outlined:where(:not(.is-success,.is-error)){--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)}.button.mod-outline:where(:not(.is-success,.is-error)):hover,.button.mod-outlined:where(:not(.is-success,.is-error)):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))}.button.mod-outline:where(:not(.is-success,.is-error)):active,.button.mod-outlined:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-outline:where(:not(.is-success,.is-error)):focus-visible,.button.mod-outlined:where(:not(.is-success,.is-error)):focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:3px}.button.mod-outline:where(:not(.is-success,.is-error)):disabled,.button.mod-outlined:where(:not(.is-success,.is-error)):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)}.button.mod-link:where(:not(.is-success,.is-error)),.button.mod-text:where(:not(.is-success,.is-error)),.button.mod-ghost:where(:not(.is-success,.is-error)){--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.button.mod-link:where(:not(.is-success,.is-error)):hover,.button.mod-link:where(:not(.is-success,.is-error)):focus-visible,.button.mod-text:where(:not(.is-success,.is-error)):hover,.button.mod-text:where(:not(.is-success,.is-error)):focus-visible,.button.mod-ghost:where(:not(.is-success,.is-error)):hover,.button.mod-ghost:where(:not(.is-success,.is-error)):focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.button.mod-link:where(:not(.is-success,.is-error)):active,.button.mod-text:where(:not(.is-success,.is-error)):active,.button.mod-ghost:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-link:where(:not(.is-success,.is-error)):disabled,.button.mod-text:where(:not(.is-success,.is-error)):disabled,.button.mod-ghost:where(:not(.is-success,.is-error)):disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.button.mod-withIcon.mod-iconOnLeft{--components-button-paddingInlineStart: var(--pr-t-spacings-100)}.button.mod-withIcon.mod-iconOnLeft.mod-S{--components-button-paddingInlineStart: var(--pr-t-spacings-75)}.button.mod-withIcon.mod-iconOnLeft.mod-XS{--components-button-paddingInlineStart: var(--pr-t-spacings-50)}.button.mod-withIcon.mod-iconOnRight{--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button.mod-withIcon.mod-iconOnRight.mod-S{--components-button-paddingInlineEnd: var(--pr-t-spacings-75)}.button.mod-withIcon.mod-iconOnRight.mod-XS{--components-button-paddingInlineEnd: var(--pr-t-spacings-50)}.button.mod-onlyIcon{--components-button-padding: var(--pr-t-spacings-100)}.button.mod-onlyIcon.mod-S{--components-button-padding: var(--pr-t-spacings-75)}.button.mod-onlyIcon.mod-XS{--components-button-padding: var(--pr-t-spacings-50)}.button:has(.numericBadge){--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button:has(.numericBadge).mod-S{--components-button-paddingInlineEnd: var(--pr-t-spacings-75)}.button:has(.numericBadge).mod-XS{--components-button-paddingInlineEnd: var(--pr-t-spacings-50)}.button.mod-delete:hover,.button.mod-critical:hover{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-delete:active,.button.mod-critical:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-delete.mod-link:hover,.button.mod-delete.mod-link:focus-visible,.button.mod-delete.mod-text:hover,.button.mod-delete.mod-text:focus-visible,.button.mod-critical.mod-link:hover,.button.mod-critical.mod-link:focus-visible,.button.mod-critical.mod-text:hover,.button.mod-critical.mod-text:focus-visible{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-delete.mod-link:active,.button.mod-delete.mod-text:active,.button.mod-critical.mod-link:active,.button.mod-critical.mod-text:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-delete.mod-outline:hover,.button.mod-delete.mod-outlined:hover,.button.mod-critical.mod-outline:hover,.button.mod-critical.mod-outlined:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-delete.mod-outline:focus-visible,.button.mod-delete.mod-outlined:focus-visible,.button.mod-critical.mod-outline:focus-visible,.button.mod-critical.mod-outlined:focus-visible{--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700)}.button.mod-delete.mod-outline:active,.button.mod-delete.mod-outlined:active,.button.mod-critical.mod-outline:active,.button.mod-critical.mod-outlined:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-invert,.button.mod-inverted{--components-button-color: var(--palettes-neutral-0)}.button.mod-invert:hover,.button.mod-invert:focus-visible,.button.mod-inverted:hover,.button.mod-inverted:focus-visible{--components-button-color: var(--palettes-neutral-0);--components-button-backgroundColor: var(--palettes-neutral-900)}.button.mod-invert:active,.button.mod-inverted:active{--components-button-backgroundColor: var(--palettes-neutral-700)}.button.mod-more{--components-button-minWidth: 2rem;--components-button-padding: 0}.button.mod-more:after{--icon-content: \"\\e97c\";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;block-size:0;order:-1;vertical-align:text-top}.button.mod-more.mod-S{--components-button-minWidth: 1.75rem}.button.mod-more.mod-XS{--components-button-minWidth: 1.5rem}.button.loading,.button.is-loading{--components-button-pointerEvents: none;--components-button-userSelect: none;--components-button-boxShadow: none;--components-button-backgroundColor: var(--palettes-500, var(--palettes-product-500));--commons-loading-frontground: var(--palettes-50, var(--palettes-product-50))}.button.loading:after,.button.is-loading:after{content:\"\";inline-size:var(--pr-t-font-body-M-lineHeight);block-size:var(--pr-t-font-body-M-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}.button.loading,.button.loading:disabled,.button.is-loading,.button.is-loading:disabled{--components-button-color: transparent}.button.loading .numericBadge,.button.is-loading .numericBadge{--components-numericBadge-background: transparent;--components-numericBadge-color: transparent}.button.loading.mod-S:after,.button.is-loading.mod-S:after{content:\"\";inline-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}.button.loading.mod-XS:after,.button.is-loading.mod-XS:after{content:\"\";inline-size:var(--pr-t-font-body-XS-lineHeight);block-size:var(--pr-t-font-body-XS-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button.loading.mod-XS,.button.is-loading.mod-XS{--commons-loading-borderWidth: 2px}.button.loading.mod-outlined,.button.is-loading.mod-outlined{--components-button-backgroundColor: var(--palettes-neutral-0);--commons-loading-frontground: var(--palettes-neutral-300);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.loading.mod-ghost,.button.is-loading.mod-ghost{--components-button-backgroundColor: var(--palettes-neutral-50);--commons-loading-frontground: var(--palettes-neutral-400)}.button.error,.button.is-error{animation-name:shake;animation-iteration-count:1;animation-duration:var(--commons-animations-durations-standard)}@keyframes shake{0%,to{transform:translateZ(0)}20%,60%{transform:translate3d(-3px,0,0)}40%,80%{transform:translate3d(3px,0,0)}}.button.success,.button.is-success{--components-button-backgroundColor: var(--palettes-500, var(--palettes-product-500));--components-button-color: transparent;--components-button-pointerEvents: none;--components-button-userSelect: none}.button.success:after,.button.is-success:after{--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;color:var(--palettes-neutral-0);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}.button.success .numericBadge,.button.is-success .numericBadge{--components-numericBadge-background: transparent;--components-numericBadge-color: transparent}.button.success.mod-AI,.button.success.mod-outlined,.button.is-success.mod-AI,.button.is-success.mod-outlined{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.success.mod-AI:after,.button.success.mod-outlined:after,.button.is-success.mod-AI:after,.button.is-success.mod-outlined:after{color:var(--palettes-700, var(--palettes-product-700))}.button.success.mod-ghost,.button.is-success.mod-ghost{--components-button-backgroundColor: var(--palettes-neutral-50);--components-button-boxShadow: none}.button.success.mod-ghost:after,.button.is-success.mod-ghost:after{color:var(--palettes-700, var(--palettes-product-700))}.button.disabled,.button.is-disabled,.button[aria-disabled=true]{--components-button-cursor: default;--components-button-color: var(--pr-t-color-text-disabled);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button.disabled .numericBadge,.button.is-disabled .numericBadge,.button[aria-disabled=true] .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}}\n"] }]
|
|
1440
1595
|
}], propDecorators: { format: [{ type: i0.Input, args: [{ isSignal: true, alias: "format", required: true }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: true }] }], tooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip", required: true }] }], element: [{ type: i0.ViewChild, args: ['element', { ...{ read: (ElementRef) }, isSignal: true }] }] } });
|
|
1441
1596
|
|
|
1442
1597
|
class TextStyleToolbarComponent {
|
|
1443
1598
|
constructor() {
|
|
1444
|
-
this.pluginComponents = viewChildren(RICH_TEXT_PLUGIN_COMPONENT,
|
|
1445
|
-
|
|
1599
|
+
this.pluginComponents = viewChildren(RICH_TEXT_PLUGIN_COMPONENT, /* @ts-ignore */
|
|
1600
|
+
...(ngDevMode ? [{ debugName: "pluginComponents" }] : /* istanbul ignore next */ []));
|
|
1601
|
+
this.intl = input(...intlInputOptions(LU_RICH_TEXT_INPUT_TRANSLATIONS), /* @ts-ignore */
|
|
1602
|
+
...(ngDevMode ? [{ debugName: "intl" }] : /* istanbul ignore next */ []));
|
|
1446
1603
|
}
|
|
1447
1604
|
setEditorInstance(editor) {
|
|
1448
1605
|
this.pluginComponents().forEach((plugin) => plugin.setEditorInstance(editor));
|
|
@@ -1450,15 +1607,15 @@ class TextStyleToolbarComponent {
|
|
|
1450
1607
|
setDisabledState(isDisabled) {
|
|
1451
1608
|
this.pluginComponents().forEach((plugin) => plugin.setDisabledState(isDisabled));
|
|
1452
1609
|
}
|
|
1453
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1454
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
1610
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TextStyleToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1611
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.7", type: TextStyleToolbarComponent, isStandalone: true, selector: "lu-rich-text-toolbar-text-style", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "richTextField-toolbar-col-group" }, providers: [
|
|
1455
1612
|
{
|
|
1456
1613
|
provide: RICH_TEXT_PLUGIN_COMPONENT,
|
|
1457
1614
|
useExisting: forwardRef(() => TextStyleToolbarComponent),
|
|
1458
1615
|
},
|
|
1459
1616
|
], viewQueries: [{ propertyName: "pluginComponents", predicate: RICH_TEXT_PLUGIN_COMPONENT, descendants: true, isSignal: true }], ngImport: i0, template: "<lu-rich-text-plugin-text-style icon=\"formatTextBold\" [tooltip]=\"intl().stylesBold\" format=\"bold\" />\n<lu-rich-text-plugin-text-style icon=\"formatTextItalic\" [tooltip]=\"intl().stylesItalic\" format=\"italic\" />\n<lu-rich-text-plugin-text-style icon=\"formatTextStrikethrough\" [tooltip]=\"intl().stylesStrikethrough\" format=\"strikethrough\" />\n", dependencies: [{ kind: "component", type: TextStyleComponent, selector: "lu-rich-text-plugin-text-style", inputs: ["format", "icon", "tooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1460
1617
|
}
|
|
1461
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1618
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TextStyleToolbarComponent, decorators: [{
|
|
1462
1619
|
type: Component,
|
|
1463
1620
|
args: [{ selector: 'lu-rich-text-toolbar-text-style', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TextStyleComponent], host: {
|
|
1464
1621
|
class: 'richTextField-toolbar-col-group',
|
|
@@ -1472,7 +1629,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
1472
1629
|
|
|
1473
1630
|
class RichTextInputToolbarComponent {
|
|
1474
1631
|
constructor() {
|
|
1475
|
-
this.pluginComponents = viewChildren(RICH_TEXT_PLUGIN_COMPONENT,
|
|
1632
|
+
this.pluginComponents = viewChildren(RICH_TEXT_PLUGIN_COMPONENT, /* @ts-ignore */
|
|
1633
|
+
...(ngDevMode ? [{ debugName: "pluginComponents" }] : /* istanbul ignore next */ []));
|
|
1476
1634
|
}
|
|
1477
1635
|
setEditorInstance(editor) {
|
|
1478
1636
|
this.pluginComponents().forEach((plugin) => plugin.setEditorInstance(editor));
|
|
@@ -1483,15 +1641,15 @@ class RichTextInputToolbarComponent {
|
|
|
1483
1641
|
setDisabledState(isDisabled) {
|
|
1484
1642
|
this.pluginComponents().forEach((plugin) => plugin.setDisabledState(isDisabled));
|
|
1485
1643
|
}
|
|
1486
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1487
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
1644
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: RichTextInputToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1645
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.7", type: RichTextInputToolbarComponent, isStandalone: true, selector: "lu-rich-text-input-toolbar", host: { classAttribute: "richTextField-toolbar-formatting" }, providers: [
|
|
1488
1646
|
{
|
|
1489
1647
|
provide: RICH_TEXT_PLUGIN_COMPONENT,
|
|
1490
1648
|
useExisting: forwardRef(() => RichTextInputToolbarComponent),
|
|
1491
1649
|
},
|
|
1492
1650
|
], viewQueries: [{ propertyName: "pluginComponents", predicate: RICH_TEXT_PLUGIN_COMPONENT, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"richTextField-toolbar-col\">\n\t<lu-rich-text-toolbar-text-style />\n\t<lu-rich-text-plugin-headings />\n\t<lu-rich-text-toolbar-list-style />\n\t<lu-rich-text-plugin-link />\n</div>\n<div class=\"richTextField-toolbar-col\">\n\t<lu-rich-text-plugin-clear-format />\n</div>\n", dependencies: [{ kind: "component", type: TextStyleToolbarComponent, selector: "lu-rich-text-toolbar-text-style", inputs: ["intl"] }, { kind: "component", type: ListStyleToolbarComponent, selector: "lu-rich-text-toolbar-list-style", inputs: ["intl"] }, { kind: "component", type: HeadingsComponent, selector: "lu-rich-text-plugin-headings", inputs: ["maxHeadingLevel", "intl"] }, { kind: "component", type: LinkComponent, selector: "lu-rich-text-plugin-link", inputs: ["intl"] }, { kind: "component", type: ClearFormatComponent, selector: "lu-rich-text-plugin-clear-format", inputs: ["intl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1493
1651
|
}
|
|
1494
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1652
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: RichTextInputToolbarComponent, decorators: [{
|
|
1495
1653
|
type: Component,
|
|
1496
1654
|
args: [{ selector: 'lu-rich-text-input-toolbar', host: {
|
|
1497
1655
|
class: 'richTextField-toolbar-formatting',
|
|
@@ -1507,5 +1665,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
1507
1665
|
* Generated bundle index. Do not edit.
|
|
1508
1666
|
*/
|
|
1509
1667
|
|
|
1510
|
-
export { $createTagNode, $isTagNode, ClearFormatComponent, HeadingsComponent, INITIAL_UPDATE_TAG, LinkComponent, ListStyleToolbarComponent, RICH_TEXT_FORMATTER, RICH_TEXT_PLUGIN_COMPONENT, RichTextFormatter, RichTextInputComponent, RichTextInputToolbarComponent, RichTextPluginTagComponent,
|
|
1668
|
+
export { $createTagNode, $isTagNode, ClearFormatComponent, HeadingsComponent, INITIAL_UPDATE_TAG, LinkComponent, ListStyleToolbarComponent, RICH_TEXT_FORMATTER, RICH_TEXT_PLUGIN_COMPONENT, RichTextFormatter, RichTextInputComponent, RichTextInputToolbarComponent, RichTextPluginTagComponent, TagNode, TextStyleComponent, TextStyleToolbarComponent };
|
|
1511
1669
|
//# sourceMappingURL=lucca-front-ng-forms-rich-text-input.mjs.map
|