@spartan-ng/brain 0.0.1-alpha.373 → 0.0.1-alpha.379
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/accordion/README.md +3 -0
- package/accordion/index.d.ts +13 -0
- package/accordion/lib/brn-accordion-content.component.d.ts +15 -0
- package/accordion/lib/brn-accordion.directive.d.ts +47 -0
- package/alert-dialog/README.md +3 -0
- package/alert-dialog/index.d.ts +25 -0
- package/alert-dialog/lib/brn-alert-dialog-content.directive.d.ts +6 -0
- package/alert-dialog/lib/brn-alert-dialog-description.directive.d.ts +6 -0
- package/alert-dialog/lib/brn-alert-dialog-overlay.component.d.ts +6 -0
- package/alert-dialog/lib/brn-alert-dialog-title.directive.d.ts +6 -0
- package/alert-dialog/lib/brn-alert-dialog-trigger.directive.d.ts +8 -0
- package/alert-dialog/lib/brn-alert-dialog.component.d.ts +7 -0
- package/avatar/README.md +3 -0
- package/avatar/index.d.ts +17 -0
- package/avatar/lib/brn-avatar.component.d.ts +7 -0
- package/avatar/lib/fallback/brn-avatar-fallback.directive.d.ts +11 -0
- package/avatar/lib/fallback/index.d.ts +1 -0
- package/avatar/lib/image/brn-avatar-image.directive.d.ts +9 -0
- package/avatar/lib/image/index.d.ts +1 -0
- package/avatar/lib/util/hex-color-for.d.ts +1 -0
- package/avatar/lib/util/index.d.ts +3 -0
- package/avatar/lib/util/initials.pipe.d.ts +7 -0
- package/avatar/lib/util/is-bright.d.ts +1 -0
- package/calendar/README.md +3 -0
- package/calendar/index.d.ts +36 -0
- package/calendar/lib/brn-calendar-cell-button.directive.d.ts +59 -0
- package/calendar/lib/brn-calendar-cell.directive.d.ts +5 -0
- package/calendar/lib/brn-calendar-grid.directive.d.ts +7 -0
- package/calendar/lib/brn-calendar-header.directive.d.ts +7 -0
- package/calendar/lib/brn-calendar-next-button.directive.d.ts +13 -0
- package/calendar/lib/brn-calendar-previous-button.directive.d.ts +13 -0
- package/calendar/lib/brn-calendar-week.directive.d.ts +25 -0
- package/calendar/lib/brn-calendar-weekday.directive.d.ts +25 -0
- package/calendar/lib/brn-calendar.directive.d.ts +55 -0
- package/calendar/lib/brn-calendar.token.d.ts +8 -0
- package/calendar/lib/i18n/calendar-i18n.d.ts +17 -0
- package/checkbox/lib/brn-checkbox.component.d.ts +1 -1
- package/collapsible/README.md +3 -0
- package/collapsible/index.d.ts +16 -0
- package/collapsible/lib/brn-collapsible-content.component.d.ts +19 -0
- package/collapsible/lib/brn-collapsible-trigger.directive.d.ts +12 -0
- package/collapsible/lib/brn-collapsible.component.d.ts +11 -0
- package/command/README.md +3 -0
- package/command/index.d.ts +33 -0
- package/command/lib/brn-command-empty.directive.d.ts +6 -0
- package/command/lib/brn-command-group.component.d.ts +6 -0
- package/command/lib/brn-command-input.directive.d.ts +6 -0
- package/command/lib/brn-command-item.directive.d.ts +6 -0
- package/command/lib/brn-command-list.component.d.ts +6 -0
- package/command/lib/brn-command-loader.directive.d.ts +6 -0
- package/command/lib/brn-command-separator.component.d.ts +6 -0
- package/command/lib/brn-command.component.d.ts +6 -0
- package/date-time/README.md +3 -0
- package/date-time/index.d.ts +2 -0
- package/date-time/lib/date-adapter.d.ts +176 -0
- package/date-time/lib/native-date-adapter.d.ts +103 -0
- package/date-time-luxon/README.md +3 -0
- package/date-time-luxon/index.d.ts +1 -0
- package/date-time-luxon/lib/date-adapter.d.ts +29 -0
- package/dialog/README.md +3 -0
- package/dialog/index.d.ts +33 -0
- package/dialog/lib/brn-dialog-close.directive.d.ts +10 -0
- package/dialog/lib/brn-dialog-content.directive.d.ts +12 -0
- package/dialog/lib/brn-dialog-description.directive.d.ts +8 -0
- package/dialog/lib/brn-dialog-options.d.ts +26 -0
- package/dialog/lib/brn-dialog-overlay.component.d.ts +8 -0
- package/dialog/lib/brn-dialog-ref.d.ts +24 -0
- package/dialog/lib/brn-dialog-state.d.ts +1 -0
- package/dialog/lib/brn-dialog-title.directive.d.ts +8 -0
- package/dialog/lib/brn-dialog-trigger.directive.d.ts +16 -0
- package/dialog/lib/brn-dialog-utils.d.ts +1 -0
- package/dialog/lib/brn-dialog.component.d.ts +56 -0
- package/dialog/lib/brn-dialog.service.d.ts +22 -0
- package/esm2022/accordion/index.mjs +31 -0
- package/esm2022/accordion/lib/brn-accordion-content.component.mjs +50 -0
- package/esm2022/accordion/lib/brn-accordion.directive.mjs +180 -0
- package/esm2022/accordion/spartan-ng-brain-accordion.mjs +5 -0
- package/esm2022/alert-dialog/index.mjs +45 -0
- package/esm2022/alert-dialog/lib/brn-alert-dialog-content.directive.mjs +17 -0
- package/esm2022/alert-dialog/lib/brn-alert-dialog-description.directive.mjs +18 -0
- package/esm2022/alert-dialog/lib/brn-alert-dialog-overlay.component.mjs +20 -0
- package/esm2022/alert-dialog/lib/brn-alert-dialog-title.directive.mjs +18 -0
- package/esm2022/alert-dialog/lib/brn-alert-dialog-trigger.directive.mjs +27 -0
- package/esm2022/alert-dialog/lib/brn-alert-dialog.component.mjs +40 -0
- package/esm2022/alert-dialog/spartan-ng-brain-alert-dialog.mjs +5 -0
- package/esm2022/avatar/index.mjs +23 -0
- package/esm2022/avatar/lib/brn-avatar.component.mjs +31 -0
- package/esm2022/avatar/lib/fallback/brn-avatar-fallback.directive.mjs +21 -0
- package/esm2022/avatar/lib/fallback/index.mjs +2 -0
- package/esm2022/avatar/lib/image/brn-avatar-image.directive.mjs +29 -0
- package/esm2022/avatar/lib/image/index.mjs +2 -0
- package/esm2022/avatar/lib/util/hex-color-for.mjs +22 -0
- package/esm2022/avatar/lib/util/index.mjs +4 -0
- package/esm2022/avatar/lib/util/initials.pipe.mjs +27 -0
- package/esm2022/avatar/lib/util/is-bright.mjs +12 -0
- package/esm2022/avatar/spartan-ng-brain-avatar.mjs +5 -0
- package/esm2022/calendar/index.mjs +62 -0
- package/esm2022/calendar/lib/brn-calendar-cell-button.directive.mjs +160 -0
- package/esm2022/calendar/lib/brn-calendar-cell.directive.mjs +17 -0
- package/esm2022/calendar/lib/brn-calendar-grid.directive.mjs +21 -0
- package/esm2022/calendar/lib/brn-calendar-header.directive.mjs +22 -0
- package/esm2022/calendar/lib/brn-calendar-next-button.directive.mjs +42 -0
- package/esm2022/calendar/lib/brn-calendar-previous-button.directive.mjs +42 -0
- package/esm2022/calendar/lib/brn-calendar-week.directive.mjs +64 -0
- package/esm2022/calendar/lib/brn-calendar-weekday.directive.mjs +48 -0
- package/esm2022/calendar/lib/brn-calendar.directive.mjs +154 -0
- package/esm2022/calendar/lib/brn-calendar.token.mjs +12 -0
- package/esm2022/calendar/lib/i18n/calendar-i18n.mjs +33 -0
- package/esm2022/calendar/spartan-ng-brain-calendar.mjs +5 -0
- package/esm2022/checkbox/lib/brn-checkbox.component.mjs +1 -1
- package/esm2022/collapsible/index.mjs +30 -0
- package/esm2022/collapsible/lib/brn-collapsible-content.component.mjs +61 -0
- package/esm2022/collapsible/lib/brn-collapsible-trigger.directive.mjs +35 -0
- package/esm2022/collapsible/lib/brn-collapsible.component.mjs +33 -0
- package/esm2022/collapsible/spartan-ng-brain-collapsible.mjs +5 -0
- package/esm2022/command/index.mjs +64 -0
- package/esm2022/command/lib/brn-command-empty.directive.mjs +29 -0
- package/esm2022/command/lib/brn-command-group.component.mjs +45 -0
- package/esm2022/command/lib/brn-command-input.directive.mjs +29 -0
- package/esm2022/command/lib/brn-command-item.directive.mjs +36 -0
- package/esm2022/command/lib/brn-command-list.component.mjs +35 -0
- package/esm2022/command/lib/brn-command-loader.directive.mjs +29 -0
- package/esm2022/command/lib/brn-command-separator.component.mjs +30 -0
- package/esm2022/command/lib/brn-command.component.mjs +21 -0
- package/esm2022/command/spartan-ng-brain-command.mjs +5 -0
- package/esm2022/date-time/index.mjs +3 -0
- package/esm2022/date-time/lib/date-adapter.mjs +16 -0
- package/esm2022/date-time/lib/native-date-adapter.mjs +155 -0
- package/esm2022/date-time/spartan-ng-brain-date-time.mjs +5 -0
- package/esm2022/date-time-luxon/index.mjs +2 -0
- package/esm2022/date-time-luxon/lib/date-adapter.mjs +85 -0
- package/esm2022/date-time-luxon/spartan-ng-brain-date-time-luxon.mjs +5 -0
- package/esm2022/dialog/index.mjs +55 -0
- package/esm2022/dialog/lib/brn-dialog-close.directive.mjs +29 -0
- package/esm2022/dialog/lib/brn-dialog-content.directive.mjs +41 -0
- package/esm2022/dialog/lib/brn-dialog-description.directive.mjs +25 -0
- package/esm2022/dialog/lib/brn-dialog-options.mjs +19 -0
- package/esm2022/dialog/lib/brn-dialog-overlay.component.mjs +29 -0
- package/esm2022/dialog/lib/brn-dialog-ref.mjs +53 -0
- package/esm2022/dialog/lib/brn-dialog-state.mjs +2 -0
- package/esm2022/dialog/lib/brn-dialog-title.directive.mjs +25 -0
- package/esm2022/dialog/lib/brn-dialog-trigger.directive.mjs +39 -0
- package/esm2022/dialog/lib/brn-dialog-utils.mjs +12 -0
- package/esm2022/dialog/lib/brn-dialog.component.mjs +208 -0
- package/esm2022/dialog/lib/brn-dialog.service.mjs +127 -0
- package/esm2022/dialog/spartan-ng-brain-dialog.mjs +5 -0
- package/esm2022/form-field/index.mjs +2 -0
- package/esm2022/form-field/lib/brn-form-field-control.mjs +14 -0
- package/esm2022/form-field/spartan-ng-brain-form-field.mjs +5 -0
- package/esm2022/forms/index.mjs +4 -0
- package/esm2022/forms/lib/control-value-accessor.mjs +2 -0
- package/esm2022/forms/lib/error-options.mjs +26 -0
- package/esm2022/forms/lib/error-state-tracker.mjs +29 -0
- package/esm2022/forms/spartan-ng-brain-forms.mjs +5 -0
- package/esm2022/hover-card/index.mjs +29 -0
- package/esm2022/hover-card/lib/brn-hover-card-content.service.mjs +205 -0
- package/esm2022/hover-card/lib/brn-hover-card.component.mjs +34 -0
- package/esm2022/hover-card/lib/createHoverObservable.mjs +19 -0
- package/esm2022/hover-card/spartan-ng-brain-hover-card.mjs +5 -0
- package/esm2022/label/index.mjs +17 -0
- package/esm2022/label/lib/brn-label.directive.mjs +49 -0
- package/esm2022/label/spartan-ng-brain-label.mjs +5 -0
- package/esm2022/menu/index.mjs +100 -0
- package/esm2022/menu/lib/brn-context-menu-trigger.directive.mjs +40 -0
- package/esm2022/menu/lib/brn-menu-align.mjs +15 -0
- package/esm2022/menu/lib/brn-menu-bar.directive.mjs +17 -0
- package/esm2022/menu/lib/brn-menu-group.directive.mjs +17 -0
- package/esm2022/menu/lib/brn-menu-item-checkbox.directive.mjs +30 -0
- package/esm2022/menu/lib/brn-menu-item-radio.directive.mjs +30 -0
- package/esm2022/menu/lib/brn-menu-item.directive.mjs +27 -0
- package/esm2022/menu/lib/brn-menu-trigger.directive.mjs +36 -0
- package/esm2022/menu/lib/brn-menu.directive.mjs +50 -0
- package/esm2022/menu/spartan-ng-brain-menu.mjs +5 -0
- package/esm2022/popover/index.mjs +35 -0
- package/esm2022/popover/lib/brn-popover-close.directive.mjs +15 -0
- package/esm2022/popover/lib/brn-popover-content.directive.mjs +17 -0
- package/esm2022/popover/lib/brn-popover-trigger.directive.mjs +37 -0
- package/esm2022/popover/lib/brn-popover.component.mjs +81 -0
- package/esm2022/popover/spartan-ng-brain-popover.mjs +5 -0
- package/esm2022/progress/index.mjs +21 -0
- package/esm2022/progress/lib/brn-progress-indicator.component.mjs +22 -0
- package/esm2022/progress/lib/brn-progress.component.mjs +61 -0
- package/esm2022/progress/lib/brn-progress.token.mjs +9 -0
- package/esm2022/progress/spartan-ng-brain-progress.mjs +5 -0
- package/esm2022/radio-group/index.mjs +20 -0
- package/esm2022/radio-group/lib/brn-radio-group.component.mjs +90 -0
- package/esm2022/radio-group/lib/brn-radio-group.token.mjs +9 -0
- package/esm2022/radio-group/lib/brn-radio.component.mjs +185 -0
- package/esm2022/radio-group/spartan-ng-brain-radio-group.mjs +5 -0
- package/esm2022/select/index.mjs +56 -0
- package/esm2022/select/lib/brn-select-content.component.mjs +204 -0
- package/esm2022/select/lib/brn-select-group.directive.mjs +19 -0
- package/esm2022/select/lib/brn-select-label.directive.mjs +23 -0
- package/esm2022/select/lib/brn-select-option.directive.mjs +65 -0
- package/esm2022/select/lib/brn-select-value.component.mjs +46 -0
- package/esm2022/select/lib/brn-select.component.mjs +358 -0
- package/esm2022/select/lib/brn-select.service.mjs +197 -0
- package/esm2022/select/spartan-ng-brain-select.mjs +5 -0
- package/esm2022/separator/index.mjs +17 -0
- package/esm2022/separator/lib/brn-separator.component.mjs +24 -0
- package/esm2022/separator/spartan-ng-brain-separator.mjs +5 -0
- package/esm2022/sheet/index.mjs +50 -0
- package/esm2022/sheet/lib/brn-sheet-close.directive.mjs +15 -0
- package/esm2022/sheet/lib/brn-sheet-content.directive.mjs +25 -0
- package/esm2022/sheet/lib/brn-sheet-description.directive.mjs +18 -0
- package/esm2022/sheet/lib/brn-sheet-overlay.component.mjs +20 -0
- package/esm2022/sheet/lib/brn-sheet-title.directive.mjs +18 -0
- package/esm2022/sheet/lib/brn-sheet-trigger.directive.mjs +26 -0
- package/esm2022/sheet/lib/brn-sheet.component.mjs +55 -0
- package/esm2022/sheet/spartan-ng-brain-sheet.mjs +5 -0
- package/esm2022/slider/index.mjs +13 -0
- package/esm2022/slider/lib/brn-slider-thumb.directive.mjs +41 -0
- package/esm2022/slider/lib/brn-slider-tick-mark.directive.mjs +37 -0
- package/esm2022/slider/lib/brn-slider-track-active-fill.directive.mjs +29 -0
- package/esm2022/slider/lib/brn-slider-track.directive.mjs +290 -0
- package/esm2022/slider/spartan-ng-brain-slider.mjs +5 -0
- package/esm2022/switch/index.mjs +20 -0
- package/esm2022/switch/lib/brn-switch-thumb.component.mjs +16 -0
- package/esm2022/switch/lib/brn-switch.component.mjs +236 -0
- package/esm2022/switch/spartan-ng-brain-switch.mjs +5 -0
- package/esm2022/table/index.mjs +47 -0
- package/esm2022/table/lib/brn-cell-def.directive.mjs +22 -0
- package/esm2022/table/lib/brn-column-def.component.mjs +82 -0
- package/esm2022/table/lib/brn-column-manager.mjs +61 -0
- package/esm2022/table/lib/brn-footer-def.directive.mjs +22 -0
- package/esm2022/table/lib/brn-header-def.directive.mjs +22 -0
- package/esm2022/table/lib/brn-paginator.directive.mjs +109 -0
- package/esm2022/table/lib/brn-table.component.mjs +169 -0
- package/esm2022/table/spartan-ng-brain-table.mjs +5 -0
- package/esm2022/tabs/index.mjs +32 -0
- package/esm2022/tabs/lib/brn-tabs-list.directive.mjs +65 -0
- package/esm2022/tabs/lib/brn-tabs-paginated-list.directive.mjs +525 -0
- package/esm2022/tabs/lib/brn-tabs-trigger.directive.mjs +134 -0
- package/esm2022/tabs/spartan-ng-brain-tabs.mjs +5 -0
- package/esm2022/toggle/index.mjs +31 -0
- package/esm2022/toggle/lib/brn-toggle-group.component.mjs +159 -0
- package/esm2022/toggle/lib/brn-toggle-group.token.mjs +9 -0
- package/esm2022/toggle/lib/brn-toggle.directive.mjs +65 -0
- package/esm2022/toggle/spartan-ng-brain-toggle.mjs +5 -0
- package/esm2022/tooltip/index.mjs +35 -0
- package/esm2022/tooltip/lib/brn-tooltip-content.component.mjs +228 -0
- package/esm2022/tooltip/lib/brn-tooltip-content.directive.mjs +22 -0
- package/esm2022/tooltip/lib/brn-tooltip-trigger.directive.mjs +689 -0
- package/esm2022/tooltip/lib/brn-tooltip.directive.mjs +15 -0
- package/esm2022/tooltip/spartan-ng-brain-tooltip.mjs +5 -0
- package/fesm2022/spartan-ng-brain-accordion.mjs +259 -0
- package/fesm2022/spartan-ng-brain-accordion.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-alert-dialog.mjs +162 -0
- package/fesm2022/spartan-ng-brain-alert-dialog.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-avatar.mjs +156 -0
- package/fesm2022/spartan-ng-brain-avatar.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-calendar.mjs +629 -0
- package/fesm2022/spartan-ng-brain-calendar.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-checkbox.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-collapsible.mjs +152 -0
- package/fesm2022/spartan-ng-brain-collapsible.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-command.mjs +284 -0
- package/fesm2022/spartan-ng-brain-command.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-date-time-luxon.mjs +92 -0
- package/fesm2022/spartan-ng-brain-date-time-luxon.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-date-time.mjs +177 -0
- package/fesm2022/spartan-ng-brain-date-time.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-dialog.mjs +617 -0
- package/fesm2022/spartan-ng-brain-dialog.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-form-field.mjs +21 -0
- package/fesm2022/spartan-ng-brain-form-field.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-forms.mjs +61 -0
- package/fesm2022/spartan-ng-brain-forms.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-hover-card.mjs +274 -0
- package/fesm2022/spartan-ng-brain-hover-card.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-label.mjs +69 -0
- package/fesm2022/spartan-ng-brain-label.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-menu.mjs +316 -0
- package/fesm2022/spartan-ng-brain-menu.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-popover.mjs +173 -0
- package/fesm2022/spartan-ng-brain-popover.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-progress.mjs +108 -0
- package/fesm2022/spartan-ng-brain-progress.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-radio-group.mjs +299 -0
- package/fesm2022/spartan-ng-brain-radio-group.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-select.mjs +928 -0
- package/fesm2022/spartan-ng-brain-select.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-separator.mjs +44 -0
- package/fesm2022/spartan-ng-brain-separator.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-sheet.mjs +197 -0
- package/fesm2022/spartan-ng-brain-sheet.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-slider.mjs +399 -0
- package/fesm2022/spartan-ng-brain-slider.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-switch.mjs +271 -0
- package/fesm2022/spartan-ng-brain-switch.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-table.mjs +506 -0
- package/fesm2022/spartan-ng-brain-table.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-tabs.mjs +748 -0
- package/fesm2022/spartan-ng-brain-tabs.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-toggle.mjs +260 -0
- package/fesm2022/spartan-ng-brain-toggle.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-tooltip.mjs +975 -0
- package/fesm2022/spartan-ng-brain-tooltip.mjs.map +1 -0
- package/form-field/README.md +3 -0
- package/form-field/index.d.ts +1 -0
- package/form-field/lib/brn-form-field-control.d.ts +11 -0
- package/forms/README.md +3 -0
- package/forms/index.d.ts +3 -0
- package/forms/lib/control-value-accessor.d.ts +2 -0
- package/forms/lib/error-options.d.ts +14 -0
- package/forms/lib/error-state-tracker.d.ts +15 -0
- package/hover-card/README.md +3 -0
- package/hover-card/index.d.ts +14 -0
- package/hover-card/lib/brn-hover-card-content.service.d.ts +65 -0
- package/hover-card/lib/brn-hover-card.component.d.ts +9 -0
- package/hover-card/lib/createHoverObservable.d.ts +4 -0
- package/label/README.md +3 -0
- package/label/index.d.ts +8 -0
- package/label/lib/brn-label.directive.d.ts +15 -0
- package/menu/README.md +3 -0
- package/menu/index.d.ts +49 -0
- package/menu/lib/brn-context-menu-trigger.directive.d.ts +13 -0
- package/menu/lib/brn-menu-align.d.ts +3 -0
- package/menu/lib/brn-menu-bar.directive.d.ts +6 -0
- package/menu/lib/brn-menu-group.directive.d.ts +6 -0
- package/menu/lib/brn-menu-item-checkbox.directive.d.ts +11 -0
- package/menu/lib/brn-menu-item-radio.directive.d.ts +11 -0
- package/menu/lib/brn-menu-item.directive.d.ts +10 -0
- package/menu/lib/brn-menu-trigger.directive.d.ts +10 -0
- package/menu/lib/brn-menu.directive.d.ts +11 -0
- package/package.json +182 -9
- package/popover/README.md +3 -0
- package/popover/index.d.ts +19 -0
- package/popover/lib/brn-popover-close.directive.d.ts +6 -0
- package/popover/lib/brn-popover-content.directive.d.ts +6 -0
- package/popover/lib/brn-popover-trigger.directive.d.ts +10 -0
- package/popover/lib/brn-popover.component.d.ts +14 -0
- package/progress/README.md +3 -0
- package/progress/index.d.ts +14 -0
- package/progress/lib/brn-progress-indicator.component.d.ts +6 -0
- package/progress/lib/brn-progress.component.d.ts +15 -0
- package/progress/lib/brn-progress.token.d.ts +4 -0
- package/radio-group/README.md +3 -0
- package/radio-group/index.d.ts +13 -0
- package/radio-group/lib/brn-radio-group.component.d.ts +57 -0
- package/radio-group/lib/brn-radio-group.token.d.ts +4 -0
- package/radio-group/lib/brn-radio.component.d.ts +58 -0
- package/select/README.md +3 -0
- package/select/index.d.ts +28 -0
- package/select/lib/brn-select-content.component.d.ts +50 -0
- package/select/lib/brn-select-group.directive.d.ts +6 -0
- package/select/lib/brn-select-label.directive.d.ts +9 -0
- package/select/lib/brn-select-option.directive.d.ts +25 -0
- package/select/lib/brn-select-value.component.d.ts +11 -0
- package/select/lib/brn-select.component.d.ts +82 -0
- package/select/lib/brn-select.service.d.ts +67 -0
- package/separator/README.md +3 -0
- package/separator/index.d.ts +8 -0
- package/separator/lib/brn-separator.component.d.ts +11 -0
- package/sheet/README.md +3 -0
- package/sheet/index.d.ts +28 -0
- package/sheet/lib/brn-sheet-close.directive.d.ts +6 -0
- package/sheet/lib/brn-sheet-content.directive.d.ts +8 -0
- package/sheet/lib/brn-sheet-description.directive.d.ts +6 -0
- package/sheet/lib/brn-sheet-overlay.component.d.ts +6 -0
- package/sheet/lib/brn-sheet-title.directive.d.ts +6 -0
- package/sheet/lib/brn-sheet-trigger.directive.d.ts +9 -0
- package/sheet/lib/brn-sheet.component.d.ts +9 -0
- package/slider/README.md +3 -0
- package/slider/index.d.ts +7 -0
- package/slider/lib/brn-slider-thumb.directive.d.ts +17 -0
- package/slider/lib/brn-slider-tick-mark.directive.d.ts +15 -0
- package/slider/lib/brn-slider-track-active-fill.directive.d.ts +10 -0
- package/slider/lib/brn-slider-track.directive.d.ts +139 -0
- package/switch/README.md +3 -0
- package/switch/index.d.ts +13 -0
- package/switch/lib/brn-switch-thumb.component.d.ts +5 -0
- package/switch/lib/brn-switch.component.d.ts +58 -0
- package/table/README.md +3 -0
- package/table/index.d.ts +26 -0
- package/table/lib/brn-cell-def.directive.d.ts +9 -0
- package/table/lib/brn-column-def.component.d.ts +18 -0
- package/table/lib/brn-column-manager.d.ts +26 -0
- package/table/lib/brn-footer-def.directive.d.ts +9 -0
- package/table/lib/brn-header-def.directive.d.ts +9 -0
- package/table/lib/brn-paginator.directive.d.ts +41 -0
- package/table/lib/brn-table.component.d.ts +37 -0
- package/tabs/README.md +3 -0
- package/tabs/index.d.ts +14 -0
- package/tabs/lib/brn-tabs-list.directive.d.ts +17 -0
- package/tabs/lib/brn-tabs-paginated-list.directive.d.ts +196 -0
- package/tabs/lib/brn-tabs-trigger.directive.d.ts +61 -0
- package/toggle/README.md +3 -0
- package/toggle/index.d.ts +15 -0
- package/toggle/lib/brn-toggle-group.component.d.ts +68 -0
- package/toggle/lib/brn-toggle-group.token.d.ts +4 -0
- package/toggle/lib/brn-toggle.directive.d.ts +25 -0
- package/tooltip/README.md +3 -0
- package/tooltip/index.d.ts +19 -0
- package/tooltip/lib/brn-tooltip-content.component.d.ts +73 -0
- package/tooltip/lib/brn-tooltip-content.directive.d.ts +8 -0
- package/tooltip/lib/brn-tooltip-trigger.directive.d.ts +177 -0
- package/tooltip/lib/brn-tooltip.directive.d.ts +7 -0
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* We are building on shoulders of giants here and adapt the implementation provided by the incredible Angular
|
|
3
|
+
* team: https://github.com/angular/components/blob/main/src/material/tooltip/tooltip.ts
|
|
4
|
+
* Check them out! Give them a try! Leave a star! Their work is incredible!
|
|
5
|
+
*/
|
|
6
|
+
import { NgTemplateOutlet, isPlatformBrowser } from '@angular/common';
|
|
7
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, PLATFORM_ID, Renderer2, ViewChild, ViewEncapsulation, inject, signal, } from '@angular/core';
|
|
8
|
+
import { Subject } from 'rxjs';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
/**
|
|
11
|
+
* Internal component that wraps the tooltip's content.
|
|
12
|
+
* @docs-private
|
|
13
|
+
*/
|
|
14
|
+
export class BrnTooltipContentComponent {
|
|
15
|
+
_cdr = inject(ChangeDetectorRef);
|
|
16
|
+
_isBrowser = isPlatformBrowser(inject(PLATFORM_ID));
|
|
17
|
+
_renderer2 = inject(Renderer2);
|
|
18
|
+
_contentHovered = signal(false);
|
|
19
|
+
_tooltipClasses = signal('');
|
|
20
|
+
side = signal('above');
|
|
21
|
+
/** Message to display in the tooltip */
|
|
22
|
+
content = null;
|
|
23
|
+
/** The timeout ID of any current timer set to show the tooltip */
|
|
24
|
+
_showTimeoutId;
|
|
25
|
+
/** The timeout ID of any current timer set to hide the tooltip */
|
|
26
|
+
_hideTimeoutId;
|
|
27
|
+
/** The timeout ID of any current timer set to animate the tooltip */
|
|
28
|
+
_animateTimeoutId;
|
|
29
|
+
/** Element that caused the tooltip to open. */
|
|
30
|
+
_triggerElement;
|
|
31
|
+
/** Amount of milliseconds to delay the closing sequence. */
|
|
32
|
+
_mouseLeaveHideDelay = 0;
|
|
33
|
+
/** Amount of milliseconds of closing animation. */
|
|
34
|
+
_exitAnimationDuration = 0;
|
|
35
|
+
/** Reference to the internal tooltip element. */
|
|
36
|
+
_tooltip;
|
|
37
|
+
/** Whether interactions on the page should close the tooltip */
|
|
38
|
+
_closeOnInteraction = false;
|
|
39
|
+
/** Whether the tooltip is currently visible. */
|
|
40
|
+
_isVisible = false;
|
|
41
|
+
/** Subject for notifying that the tooltip has been hidden from the view */
|
|
42
|
+
_onHide = new Subject();
|
|
43
|
+
afterHidden = this._onHide.asObservable();
|
|
44
|
+
/**
|
|
45
|
+
* Shows the tooltip with originating from the provided origin
|
|
46
|
+
* @param delay Amount of milliseconds to the delay showing the tooltip.
|
|
47
|
+
*/
|
|
48
|
+
show(delay) {
|
|
49
|
+
// Cancel the delayed hide if it is scheduled
|
|
50
|
+
if (this._hideTimeoutId !== null) {
|
|
51
|
+
clearTimeout(this._hideTimeoutId);
|
|
52
|
+
}
|
|
53
|
+
if (this._animateTimeoutId !== null) {
|
|
54
|
+
clearTimeout(this._animateTimeoutId);
|
|
55
|
+
}
|
|
56
|
+
this._showTimeoutId = setTimeout(() => {
|
|
57
|
+
this._toggleDataAttributes(true, this.side());
|
|
58
|
+
this._toggleVisibility(true);
|
|
59
|
+
this._showTimeoutId = undefined;
|
|
60
|
+
}, delay);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Begins to hide the tooltip after the provided delay in ms.
|
|
64
|
+
* @param delay Amount of milliseconds to delay hiding the tooltip.
|
|
65
|
+
* @param exitAnimationDuration Time before hiding to finish animation
|
|
66
|
+
* */
|
|
67
|
+
hide(delay, exitAnimationDuration) {
|
|
68
|
+
// Cancel the delayed show if it is scheduled
|
|
69
|
+
if (this._showTimeoutId !== null) {
|
|
70
|
+
clearTimeout(this._showTimeoutId);
|
|
71
|
+
}
|
|
72
|
+
// start out animation at delay minus animation delay or immediately if possible
|
|
73
|
+
this._animateTimeoutId = setTimeout(() => {
|
|
74
|
+
this._animateTimeoutId = undefined;
|
|
75
|
+
if (this._contentHovered())
|
|
76
|
+
return;
|
|
77
|
+
this._toggleDataAttributes(false, this.side());
|
|
78
|
+
}, Math.max(delay, 0));
|
|
79
|
+
this._hideTimeoutId = setTimeout(() => {
|
|
80
|
+
this._hideTimeoutId = undefined;
|
|
81
|
+
if (this._contentHovered())
|
|
82
|
+
return;
|
|
83
|
+
this._toggleVisibility(false);
|
|
84
|
+
}, delay + exitAnimationDuration);
|
|
85
|
+
}
|
|
86
|
+
/** Whether the tooltip is being displayed. */
|
|
87
|
+
isVisible() {
|
|
88
|
+
return this._isVisible;
|
|
89
|
+
}
|
|
90
|
+
ngOnDestroy() {
|
|
91
|
+
this._cancelPendingAnimations();
|
|
92
|
+
this._onHide.complete();
|
|
93
|
+
this._triggerElement = undefined;
|
|
94
|
+
}
|
|
95
|
+
_isTypeOfString(content) {
|
|
96
|
+
return typeof content === 'string';
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Interactions on the HTML body should close the tooltip immediately as defined in the
|
|
100
|
+
* material design spec.
|
|
101
|
+
* https://material.io/design/components/tooltips.html#behavior
|
|
102
|
+
*/
|
|
103
|
+
_handleBodyInteraction() {
|
|
104
|
+
if (this._closeOnInteraction) {
|
|
105
|
+
this.hide(0, 0);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Marks that the tooltip needs to be checked in the next change detection run.
|
|
110
|
+
* Mainly used for rendering the initial text before positioning a tooltip, which
|
|
111
|
+
* can be problematic in components with OnPush change detection.
|
|
112
|
+
*/
|
|
113
|
+
_markForCheck() {
|
|
114
|
+
this._cdr.markForCheck();
|
|
115
|
+
}
|
|
116
|
+
_handleMouseLeave({ relatedTarget }) {
|
|
117
|
+
if (!relatedTarget || !this._triggerElement?.contains(relatedTarget)) {
|
|
118
|
+
if (this.isVisible()) {
|
|
119
|
+
this.hide(this._mouseLeaveHideDelay, this._exitAnimationDuration);
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
this._finalize(false);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
this._contentHovered.set(false);
|
|
126
|
+
}
|
|
127
|
+
/** Cancels any pending animation sequences. */
|
|
128
|
+
_cancelPendingAnimations() {
|
|
129
|
+
if (this._showTimeoutId !== null) {
|
|
130
|
+
clearTimeout(this._showTimeoutId);
|
|
131
|
+
}
|
|
132
|
+
if (this._hideTimeoutId !== null) {
|
|
133
|
+
clearTimeout(this._hideTimeoutId);
|
|
134
|
+
}
|
|
135
|
+
this._showTimeoutId = this._hideTimeoutId = undefined;
|
|
136
|
+
}
|
|
137
|
+
_finalize(toVisible) {
|
|
138
|
+
if (toVisible) {
|
|
139
|
+
this._closeOnInteraction = true;
|
|
140
|
+
}
|
|
141
|
+
else if (!this.isVisible()) {
|
|
142
|
+
this._onHide.next();
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/** Toggles the visibility of the tooltip element. */
|
|
146
|
+
_toggleVisibility(isVisible) {
|
|
147
|
+
// We set the classes directly here ourselves so that toggling the tooltip state
|
|
148
|
+
// isn't bound by change detection. This allows us to hide it even if the
|
|
149
|
+
// view ref has been detached from the CD tree.
|
|
150
|
+
const tooltip = this._tooltip?.nativeElement;
|
|
151
|
+
if (!tooltip || !this._isBrowser)
|
|
152
|
+
return;
|
|
153
|
+
this._renderer2.setStyle(tooltip, 'visibility', isVisible ? 'visible' : 'hidden');
|
|
154
|
+
if (isVisible) {
|
|
155
|
+
this._renderer2.removeStyle(tooltip, 'display');
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
this._renderer2.setStyle(tooltip, 'display', 'none');
|
|
159
|
+
}
|
|
160
|
+
this._isVisible = isVisible;
|
|
161
|
+
}
|
|
162
|
+
_toggleDataAttributes(isVisible, side) {
|
|
163
|
+
// We set the classes directly here ourselves so that toggling the tooltip state
|
|
164
|
+
// isn't bound by change detection. This allows us to hide it even if the
|
|
165
|
+
// view ref has been detached from the CD tree.
|
|
166
|
+
const tooltip = this._tooltip?.nativeElement;
|
|
167
|
+
if (!tooltip || !this._isBrowser)
|
|
168
|
+
return;
|
|
169
|
+
this._renderer2.setAttribute(tooltip, 'data-side', side);
|
|
170
|
+
this._renderer2.setAttribute(tooltip, 'data-state', isVisible ? 'open' : 'closed');
|
|
171
|
+
}
|
|
172
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnTooltipContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
173
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: BrnTooltipContentComponent, isStandalone: true, selector: "brn-tooltip-content", host: { attributes: { "aria-hidden": "true" }, listeners: { "mouseleave": "_handleMouseLeave($event)" }, properties: { "style.zoom": "isVisible() ? 1 : null" } }, viewQueries: [{ propertyName: "_tooltip", first: true, predicate: ["tooltip"], descendants: true, static: true }], ngImport: i0, template: `
|
|
174
|
+
<div
|
|
175
|
+
(mouseenter)="_contentHovered.set(true)"
|
|
176
|
+
(mouseleave)="_contentHovered.set(false)"
|
|
177
|
+
[class]="_tooltipClasses()"
|
|
178
|
+
[style.visibility]="'hidden'"
|
|
179
|
+
#tooltip
|
|
180
|
+
>
|
|
181
|
+
@if (_isTypeOfString(content)) {
|
|
182
|
+
{{ content }}
|
|
183
|
+
} @else {
|
|
184
|
+
<ng-container [ngTemplateOutlet]="content" />
|
|
185
|
+
}
|
|
186
|
+
</div>
|
|
187
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
188
|
+
}
|
|
189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnTooltipContentComponent, decorators: [{
|
|
190
|
+
type: Component,
|
|
191
|
+
args: [{
|
|
192
|
+
selector: 'brn-tooltip-content',
|
|
193
|
+
standalone: true,
|
|
194
|
+
template: `
|
|
195
|
+
<div
|
|
196
|
+
(mouseenter)="_contentHovered.set(true)"
|
|
197
|
+
(mouseleave)="_contentHovered.set(false)"
|
|
198
|
+
[class]="_tooltipClasses()"
|
|
199
|
+
[style.visibility]="'hidden'"
|
|
200
|
+
#tooltip
|
|
201
|
+
>
|
|
202
|
+
@if (_isTypeOfString(content)) {
|
|
203
|
+
{{ content }}
|
|
204
|
+
} @else {
|
|
205
|
+
<ng-container [ngTemplateOutlet]="content" />
|
|
206
|
+
}
|
|
207
|
+
</div>
|
|
208
|
+
`,
|
|
209
|
+
encapsulation: ViewEncapsulation.None,
|
|
210
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
211
|
+
host: {
|
|
212
|
+
// Forces the element to have a layout in IE and Edge. This fixes issues where the element
|
|
213
|
+
// won't be rendered if the animations are disabled or there is no web animations polyfill.
|
|
214
|
+
'[style.zoom]': 'isVisible() ? 1 : null',
|
|
215
|
+
'(mouseleave)': '_handleMouseLeave($event)',
|
|
216
|
+
'aria-hidden': 'true',
|
|
217
|
+
},
|
|
218
|
+
imports: [NgTemplateOutlet],
|
|
219
|
+
}]
|
|
220
|
+
}], propDecorators: { _tooltip: [{
|
|
221
|
+
type: ViewChild,
|
|
222
|
+
args: ['tooltip', {
|
|
223
|
+
// Use a static query here since we interact directly with
|
|
224
|
+
// the DOM which can happen before `ngAfterViewInit`.
|
|
225
|
+
static: true,
|
|
226
|
+
}]
|
|
227
|
+
}] } });
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXRvb2x0aXAtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL3Rvb2x0aXAvc3JjL2xpYi9icm4tdG9vbHRpcC1jb250ZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEUsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUdULFdBQVcsRUFDWCxTQUFTLEVBRVQsU0FBUyxFQUNULGlCQUFpQixFQUNqQixNQUFNLEVBQ04sTUFBTSxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRS9COzs7R0FHRztBQThCSCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JCLElBQUksR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNqQyxVQUFVLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDcEQsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUU3QixlQUFlLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRW5DLGVBQWUsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0IsSUFBSSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2Qyx3Q0FBd0M7SUFDakMsT0FBTyxHQUF5QyxJQUFJLENBQUM7SUFFNUQsa0VBQWtFO0lBQzFELGNBQWMsQ0FBNEM7SUFDbEUsa0VBQWtFO0lBQzFELGNBQWMsQ0FBNEM7SUFDbEUscUVBQXFFO0lBQzdELGlCQUFpQixDQUE0QztJQUVyRSwrQ0FBK0M7SUFDeEMsZUFBZSxDQUFlO0lBRXJDLDREQUE0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QUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7MEhBckxXLDBCQUEwQjs4R0FBMUIsMEJBQTBCLHFXQTFCNUI7Ozs7Ozs7Ozs7Ozs7O0VBY1QsNERBVVMsZ0JBQWdCOzsyRkFFZCwwQkFBMEI7a0JBN0J0QyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7O0VBY1Q7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxJQUFJLEVBQUU7d0JBQ0wsMEZBQTBGO3dCQUMxRiwyRkFBMkY7d0JBQzNGLGNBQWMsRUFBRSx3QkFBd0I7d0JBQ3hDLGNBQWMsRUFBRSwyQkFBMkI7d0JBQzNDLGFBQWEsRUFBRSxNQUFNO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDM0I7OEJBa0NPLFFBQVE7c0JBTGQsU0FBUzt1QkFBQyxTQUFTLEVBQUU7d0JBQ3JCLDBEQUEwRDt3QkFDMUQscURBQXFEO3dCQUNyRCxNQUFNLEVBQUUsSUFBSTtxQkFDWiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogV2UgYXJlIGJ1aWxkaW5nIG9uIHNob3VsZGVycyBvZiBnaWFudHMgaGVyZSBhbmQgYWRhcHQgdGhlIGltcGxlbWVudGF0aW9uIHByb3ZpZGVkIGJ5IHRoZSBpbmNyZWRpYmxlIEFuZ3VsYXJcbiAqIHRlYW06IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYWluL3NyYy9tYXRlcmlhbC90b29sdGlwL3Rvb2x0aXAudHNcbiAqIENoZWNrIHRoZW0gb3V0ISBHaXZlIHRoZW0gYSB0cnkhIExlYXZlIGEgc3RhciEgVGhlaXIgd29yayBpcyBpbmNyZWRpYmxlIVxuICovXG5cbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDaGFuZ2VEZXRlY3RvclJlZixcblx0Q29tcG9uZW50LFxuXHR0eXBlIEVsZW1lbnRSZWYsXG5cdHR5cGUgT25EZXN0cm95LFxuXHRQTEFURk9STV9JRCxcblx0UmVuZGVyZXIyLFxuXHR0eXBlIFRlbXBsYXRlUmVmLFxuXHRWaWV3Q2hpbGQsXG5cdFZpZXdFbmNhcHN1bGF0aW9uLFxuXHRpbmplY3QsXG5cdHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogSW50ZXJuYWwgY29tcG9uZW50IHRoYXQgd3JhcHMgdGhlIHRvb2x0aXAncyBjb250ZW50LlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdicm4tdG9vbHRpcC1jb250ZW50Jyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8ZGl2XG5cdFx0XHQobW91c2VlbnRlcik9XCJfY29udGVudEhvdmVyZWQuc2V0KHRydWUpXCJcblx0XHRcdChtb3VzZWxlYXZlKT1cIl9jb250ZW50SG92ZXJlZC5zZXQoZmFsc2UpXCJcblx0XHRcdFtjbGFzc109XCJfdG9vbHRpcENsYXNzZXMoKVwiXG5cdFx0XHRbc3R5bGUudmlzaWJpbGl0eV09XCInaGlkZGVuJ1wiXG5cdFx0XHQjdG9vbHRpcFxuXHRcdD5cblx0XHRcdEBpZiAoX2lzVHlwZU9mU3RyaW5nKGNvbnRlbnQpKSB7XG5cdFx0XHRcdHt7IGNvbnRlbnQgfX1cblx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHQ8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRcIiAvPlxuXHRcdFx0fVxuXHRcdDwvZGl2PlxuXHRgLFxuXHRlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0aG9zdDoge1xuXHRcdC8vIEZvcmNlcyB0aGUgZWxlbWVudCB0byBoYXZlIGEgbGF5b3V0IGluIElFIGFuZCBFZGdlLiBUaGlzIGZpeGVzIGlzc3VlcyB3aGVyZSB0aGUgZWxlbWVudFxuXHRcdC8vIHdvbid0IGJlIHJlbmRlcmVkIGlmIHRoZSBhbmltYXRpb25zIGFyZSBkaXNhYmxlZCBvciB0aGVyZSBpcyBubyB3ZWIgYW5pbWF0aW9ucyBwb2x5ZmlsbC5cblx0XHQnW3N0eWxlLnpvb21dJzogJ2lzVmlzaWJsZSgpID8gMSA6IG51bGwnLFxuXHRcdCcobW91c2VsZWF2ZSknOiAnX2hhbmRsZU1vdXNlTGVhdmUoJGV2ZW50KScsXG5cdFx0J2FyaWEtaGlkZGVuJzogJ3RydWUnLFxuXHR9LFxuXHRpbXBvcnRzOiBbTmdUZW1wbGF0ZU91dGxldF0sXG59KVxuZXhwb3J0IGNsYXNzIEJyblRvb2x0aXBDb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblx0cHJpdmF0ZSByZWFkb25seSBfY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblx0cHJpdmF0ZSByZWFkb25seSBfaXNCcm93c2VyID0gaXNQbGF0Zm9ybUJyb3dzZXIoaW5qZWN0KFBMQVRGT1JNX0lEKSk7XG5cdHByaXZhdGUgcmVhZG9ubHkgX3JlbmRlcmVyMiA9IGluamVjdChSZW5kZXJlcjIpO1xuXG5cdHByb3RlY3RlZCByZWFkb25seSBfY29udGVudEhvdmVyZWQgPSBzaWduYWwoZmFsc2UpO1xuXG5cdHB1YmxpYyByZWFkb25seSBfdG9vbHRpcENsYXNzZXMgPSBzaWduYWwoJycpO1xuXHRwdWJsaWMgcmVhZG9ubHkgc2lkZSA9IHNpZ25hbCgnYWJvdmUnKTtcblx0LyoqIE1lc3NhZ2UgdG8gZGlzcGxheSBpbiB0aGUgdG9vbHRpcCAqL1xuXHRwdWJsaWMgY29udGVudDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsID0gbnVsbDtcblxuXHQvKiogVGhlIHRpbWVvdXQgSUQgb2YgYW55IGN1cnJlbnQgdGltZXIgc2V0IHRvIHNob3cgdGhlIHRvb2x0aXAgKi9cblx0cHJpdmF0ZSBfc2hvd1RpbWVvdXRJZDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCB1bmRlZmluZWQ7XG5cdC8qKiBUaGUgdGltZW91dCBJRCBvZiBhbnkgY3VycmVudCB0aW1lciBzZXQgdG8gaGlkZSB0aGUgdG9vbHRpcCAqL1xuXHRwcml2YXRlIF9oaWRlVGltZW91dElkOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IHVuZGVmaW5lZDtcblx0LyoqIFRoZSB0aW1lb3V0IElEIG9mIGFueSBjdXJyZW50IHRpbWVyIHNldCB0byBhbmltYXRlIHRoZSB0b29sdGlwICovXG5cdHByaXZhdGUgX2FuaW1hdGVUaW1lb3V0SWQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgdW5kZWZpbmVkO1xuXG5cdC8qKiBFbGVtZW50IHRoYXQgY2F1c2VkIHRoZSB0b29sdGlwIHRvIG9wZW4uICovXG5cdHB1YmxpYyBfdHJpZ2dlckVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcblxuXHQvKiogQW1vdW50IG9mIG1pbGxpc2Vjb25kcyB0byBkZWxheSB0aGUgY2xvc2luZyBzZXF1ZW5jZS4gKi9cblx0cHVibGljIF9tb3VzZUxlYXZlSGlkZURlbGF5ID0gMDtcblx0LyoqIEFtb3VudCBvZiBtaWxsaXNlY29uZHMgb2YgY2xvc2luZyBhbmltYXRpb24uICovXG5cdHB1YmxpYyBfZXhpdEFuaW1hdGlvbkR1cmF0aW9uID0gMDtcblxuXHQvKiogUmVmZXJlbmNlIHRvIHRoZSBpbnRlcm5hbCB0b29sdGlwIGVsZW1lbnQuICovXG5cdEBWaWV3Q2hpbGQoJ3Rvb2x0aXAnLCB7XG5cdFx0Ly8gVXNlIGEgc3RhdGljIHF1ZXJ5IGhlcmUgc2luY2Ugd2UgaW50ZXJhY3QgZGlyZWN0bHkgd2l0aFxuXHRcdC8vIHRoZSBET00gd2hpY2ggY2FuIGhhcHBlbiBiZWZvcmUgYG5nQWZ0ZXJWaWV3SW5pdGAuXG5cdFx0c3RhdGljOiB0cnVlLFxuXHR9KVxuXHRwdWJsaWMgX3Rvb2x0aXA/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuXHQvKiogV2hldGhlciBpbnRlcmFjdGlvbnMgb24gdGhlIHBhZ2Ugc2hvdWxkIGNsb3NlIHRoZSB0b29sdGlwICovXG5cdHByaXZhdGUgX2Nsb3NlT25JbnRlcmFjdGlvbiA9IGZhbHNlO1xuXG5cdC8qKiBXaGV0aGVyIHRoZSB0b29sdGlwIGlzIGN1cnJlbnRseSB2aXNpYmxlLiAqL1xuXHRwcml2YXRlIF9pc1Zpc2libGUgPSBmYWxzZTtcblxuXHQvKiogU3ViamVjdCBmb3Igbm90aWZ5aW5nIHRoYXQgdGhlIHRvb2x0aXAgaGFzIGJlZW4gaGlkZGVuIGZyb20gdGhlIHZpZXcgKi9cblx0cHJpdmF0ZSByZWFkb25seSBfb25IaWRlOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblx0cHVibGljIHJlYWRvbmx5IGFmdGVySGlkZGVuID0gdGhpcy5fb25IaWRlLmFzT2JzZXJ2YWJsZSgpO1xuXG5cdC8qKlxuXHQgKiBTaG93cyB0aGUgdG9vbHRpcCB3aXRoIG9yaWdpbmF0aW5nIGZyb20gdGhlIHByb3ZpZGVkIG9yaWdpblxuXHQgKiBAcGFyYW0gZGVsYXkgQW1vdW50IG9mIG1pbGxpc2Vjb25kcyB0byB0aGUgZGVsYXkgc2hvd2luZyB0aGUgdG9vbHRpcC5cblx0ICovXG5cdHNob3coZGVsYXk6IG51bWJlcik6IHZvaWQge1xuXHRcdC8vIENhbmNlbCB0aGUgZGVsYXllZCBoaWRlIGlmIGl0IGlzIHNjaGVkdWxlZFxuXHRcdGlmICh0aGlzLl9oaWRlVGltZW91dElkICE9PSBudWxsKSB7XG5cdFx0XHRjbGVhclRpbWVvdXQodGhpcy5faGlkZVRpbWVvdXRJZCk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLl9hbmltYXRlVGltZW91dElkICE9PSBudWxsKSB7XG5cdFx0XHRjbGVhclRpbWVvdXQodGhpcy5fYW5pbWF0ZVRpbWVvdXRJZCk7XG5cdFx0fVxuXHRcdHRoaXMuX3Nob3dUaW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdHRoaXMuX3RvZ2dsZURhdGFBdHRyaWJ1dGVzKHRydWUsIHRoaXMuc2lkZSgpKTtcblx0XHRcdHRoaXMuX3RvZ2dsZVZpc2liaWxpdHkodHJ1ZSk7XG5cdFx0XHR0aGlzLl9zaG93VGltZW91dElkID0gdW5kZWZpbmVkO1xuXHRcdH0sIGRlbGF5KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCZWdpbnMgdG8gaGlkZSB0aGUgdG9vbHRpcCBhZnRlciB0aGUgcHJvdmlkZWQgZGVsYXkgaW4gbXMuXG5cdCAqIEBwYXJhbSBkZWxheSBBbW91bnQgb2YgbWlsbGlzZWNvbmRzIHRvIGRlbGF5IGhpZGluZyB0aGUgdG9vbHRpcC5cblx0ICogQHBhcmFtIGV4aXRBbmltYXRpb25EdXJhdGlvbiBUaW1lIGJlZm9yZSBoaWRpbmcgdG8gZmluaXNoIGFuaW1hdGlvblxuXHQgKiAqL1xuXHRoaWRlKGRlbGF5OiBudW1iZXIsIGV4aXRBbmltYXRpb25EdXJhdGlvbjogbnVtYmVyKTogdm9pZCB7XG5cdFx0Ly8gQ2FuY2VsIHRoZSBkZWxheWVkIHNob3cgaWYgaXQgaXMgc2NoZWR1bGVkXG5cdFx0aWYgKHRoaXMuX3Nob3dUaW1lb3V0SWQgIT09IG51bGwpIHtcblx0XHRcdGNsZWFyVGltZW91dCh0aGlzLl9zaG93VGltZW91dElkKTtcblx0XHR9XG5cdFx0Ly8gc3RhcnQgb3V0IGFuaW1hdGlvbiBhdCBkZWxheSBtaW51cyBhbmltYXRpb24gZGVsYXkgb3IgaW1tZWRpYXRlbHkgaWYgcG9zc2libGVcblx0XHR0aGlzLl9hbmltYXRlVGltZW91dElkID0gc2V0VGltZW91dChcblx0XHRcdCgpID0+IHtcblx0XHRcdFx0dGhpcy5fYW5pbWF0ZVRpbWVvdXRJZCA9IHVuZGVmaW5lZDtcblx0XHRcdFx0aWYgKHRoaXMuX2NvbnRlbnRIb3ZlcmVkKCkpIHJldHVybjtcblx0XHRcdFx0dGhpcy5fdG9nZ2xlRGF0YUF0dHJpYnV0ZXMoZmFsc2UsIHRoaXMuc2lkZSgpKTtcblx0XHRcdH0sXG5cdFx0XHRNYXRoLm1heChkZWxheSwgMCksXG5cdFx0KTtcblx0XHR0aGlzLl9oaWRlVGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHR0aGlzLl9oaWRlVGltZW91dElkID0gdW5kZWZpbmVkO1xuXHRcdFx0aWYgKHRoaXMuX2NvbnRlbnRIb3ZlcmVkKCkpIHJldHVybjtcblx0XHRcdHRoaXMuX3RvZ2dsZVZpc2liaWxpdHkoZmFsc2UpO1xuXHRcdH0sIGRlbGF5ICsgZXhpdEFuaW1hdGlvbkR1cmF0aW9uKTtcblx0fVxuXG5cdC8qKiBXaGV0aGVyIHRoZSB0b29sdGlwIGlzIGJlaW5nIGRpc3BsYXllZC4gKi9cblx0aXNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLl9pc1Zpc2libGU7XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpIHtcblx0XHR0aGlzLl9jYW5jZWxQZW5kaW5nQW5pbWF0aW9ucygpO1xuXHRcdHRoaXMuX29uSGlkZS5jb21wbGV0ZSgpO1xuXHRcdHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gdW5kZWZpbmVkO1xuXHR9XG5cblx0X2lzVHlwZU9mU3RyaW5nKGNvbnRlbnQ6IHVua25vd24pOiBjb250ZW50IGlzIHN0cmluZyB7XG5cdFx0cmV0dXJuIHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJztcblx0fVxuXG5cdC8qKlxuXHQgKiBJbnRlcmFjdGlvbnMgb24gdGhlIEhUTUwgYm9keSBzaG91bGQgY2xvc2UgdGhlIHRvb2x0aXAgaW1tZWRpYXRlbHkgYXMgZGVmaW5lZCBpbiB0aGVcblx0ICogbWF0ZXJpYWwgZGVzaWduIHNwZWMuXG5cdCAqIGh0dHBzOi8vbWF0ZXJpYWwuaW8vZGVzaWduL2NvbXBvbmVudHMvdG9vbHRpcHMuaHRtbCNiZWhhdmlvclxuXHQgKi9cblx0X2hhbmRsZUJvZHlJbnRlcmFjdGlvbigpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5fY2xvc2VPbkludGVyYWN0aW9uKSB7XG5cdFx0XHR0aGlzLmhpZGUoMCwgMCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIE1hcmtzIHRoYXQgdGhlIHRvb2x0aXAgbmVlZHMgdG8gYmUgY2hlY2tlZCBpbiB0aGUgbmV4dCBjaGFuZ2UgZGV0ZWN0aW9uIHJ1bi5cblx0ICogTWFpbmx5IHVzZWQgZm9yIHJlbmRlcmluZyB0aGUgaW5pdGlhbCB0ZXh0IGJlZm9yZSBwb3NpdGlvbmluZyBhIHRvb2x0aXAsIHdoaWNoXG5cdCAqIGNhbiBiZSBwcm9ibGVtYXRpYyBpbiBjb21wb25lbnRzIHdpdGggT25QdXNoIGNoYW5nZSBkZXRlY3Rpb24uXG5cdCAqL1xuXHRfbWFya0ZvckNoZWNrKCk6IHZvaWQge1xuXHRcdHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcblx0fVxuXG5cdF9oYW5kbGVNb3VzZUxlYXZlKHsgcmVsYXRlZFRhcmdldCB9OiBNb3VzZUV2ZW50KSB7XG5cdFx0aWYgKCFyZWxhdGVkVGFyZ2V0IHx8ICF0aGlzLl90cmlnZ2VyRWxlbWVudD8uY29udGFpbnMocmVsYXRlZFRhcmdldCBhcyBOb2RlKSkge1xuXHRcdFx0aWYgKHRoaXMuaXNWaXNpYmxlKCkpIHtcblx0XHRcdFx0dGhpcy5oaWRlKHRoaXMuX21vdXNlTGVhdmVIaWRlRGVsYXksIHRoaXMuX2V4aXRBbmltYXRpb25EdXJhdGlvbik7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLl9maW5hbGl6ZShmYWxzZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHRoaXMuX2NvbnRlbnRIb3ZlcmVkLnNldChmYWxzZSk7XG5cdH1cblxuXHQvKiogQ2FuY2VscyBhbnkgcGVuZGluZyBhbmltYXRpb24gc2VxdWVuY2VzLiAqL1xuXHRfY2FuY2VsUGVuZGluZ0FuaW1hdGlvbnMoKSB7XG5cdFx0aWYgKHRoaXMuX3Nob3dUaW1lb3V0SWQgIT09IG51bGwpIHtcblx0XHRcdGNsZWFyVGltZW91dCh0aGlzLl9zaG93VGltZW91dElkKTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5faGlkZVRpbWVvdXRJZCAhPT0gbnVsbCkge1xuXHRcdFx0Y2xlYXJUaW1lb3V0KHRoaXMuX2hpZGVUaW1lb3V0SWQpO1xuXHRcdH1cblxuXHRcdHRoaXMuX3Nob3dUaW1lb3V0SWQgPSB0aGlzLl9oaWRlVGltZW91dElkID0gdW5kZWZpbmVkO1xuXHR9XG5cblx0cHJpdmF0ZSBfZmluYWxpemUodG9WaXNpYmxlOiBib29sZWFuKSB7XG5cdFx0aWYgKHRvVmlzaWJsZSkge1xuXHRcdFx0dGhpcy5fY2xvc2VPbkludGVyYWN0aW9uID0gdHJ1ZTtcblx0XHR9IGVsc2UgaWYgKCF0aGlzLmlzVmlzaWJsZSgpKSB7XG5cdFx0XHR0aGlzLl9vbkhpZGUubmV4dCgpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBUb2dnbGVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSB0b29sdGlwIGVsZW1lbnQuICovXG5cdHByaXZhdGUgX3RvZ2dsZVZpc2liaWxpdHkoaXNWaXNpYmxlOiBib29sZWFuKSB7XG5cdFx0Ly8gV2Ugc2V0IHRoZSBjbGFzc2VzIGRpcmVjdGx5IGhlcmUgb3Vyc2VsdmVzIHNvIHRoYXQgdG9nZ2xpbmcgdGhlIHRvb2x0aXAgc3RhdGVcblx0XHQvLyBpc24ndCBib3VuZCBieSBjaGFuZ2UgZGV0ZWN0aW9uLiBUaGlzIGFsbG93cyB1cyB0byBoaWRlIGl0IGV2ZW4gaWYgdGhlXG5cdFx0Ly8gdmlldyByZWYgaGFzIGJlZW4gZGV0YWNoZWQgZnJvbSB0aGUgQ0QgdHJlZS5cblx0XHRjb25zdCB0b29sdGlwID0gdGhpcy5fdG9vbHRpcD8ubmF0aXZlRWxlbWVudDtcblx0XHRpZiAoIXRvb2x0aXAgfHwgIXRoaXMuX2lzQnJvd3NlcikgcmV0dXJuO1xuXHRcdHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZSh0b29sdGlwLCAndmlzaWJpbGl0eScsIGlzVmlzaWJsZSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nKTtcblx0XHRpZiAoaXNWaXNpYmxlKSB7XG5cdFx0XHR0aGlzLl9yZW5kZXJlcjIucmVtb3ZlU3R5bGUodG9vbHRpcCwgJ2Rpc3BsYXknKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKHRvb2x0aXAsICdkaXNwbGF5JywgJ25vbmUnKTtcblx0XHR9XG5cdFx0dGhpcy5faXNWaXNpYmxlID0gaXNWaXNpYmxlO1xuXHR9XG5cblx0cHJpdmF0ZSBfdG9nZ2xlRGF0YUF0dHJpYnV0ZXMoaXNWaXNpYmxlOiBib29sZWFuLCBzaWRlOiBzdHJpbmcpIHtcblx0XHQvLyBXZSBzZXQgdGhlIGNsYXNzZXMgZGlyZWN0bHkgaGVyZSBvdXJzZWx2ZXMgc28gdGhhdCB0b2dnbGluZyB0aGUgdG9vbHRpcCBzdGF0ZVxuXHRcdC8vIGlzbid0IGJvdW5kIGJ5IGNoYW5nZSBkZXRlY3Rpb24uIFRoaXMgYWxsb3dzIHVzIHRvIGhpZGUgaXQgZXZlbiBpZiB0aGVcblx0XHQvLyB2aWV3IHJlZiBoYXMgYmVlbiBkZXRhY2hlZCBmcm9tIHRoZSBDRCB0cmVlLlxuXHRcdGNvbnN0IHRvb2x0aXAgPSB0aGlzLl90b29sdGlwPy5uYXRpdmVFbGVtZW50O1xuXHRcdGlmICghdG9vbHRpcCB8fCAhdGhpcy5faXNCcm93c2VyKSByZXR1cm47XG5cdFx0dGhpcy5fcmVuZGVyZXIyLnNldEF0dHJpYnV0ZSh0b29sdGlwLCAnZGF0YS1zaWRlJywgc2lkZSk7XG5cdFx0dGhpcy5fcmVuZGVyZXIyLnNldEF0dHJpYnV0ZSh0b29sdGlwLCAnZGF0YS1zdGF0ZScsIGlzVmlzaWJsZSA/ICdvcGVuJyA6ICdjbG9zZWQnKTtcblx0fVxufVxuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Directive, TemplateRef, inject } from '@angular/core';
|
|
2
|
+
import { BrnTooltipDirective } from './brn-tooltip.directive';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class BrnTooltipContentDirective {
|
|
5
|
+
_brnTooltipDirective = inject(BrnTooltipDirective, { optional: true });
|
|
6
|
+
_tpl = inject(TemplateRef);
|
|
7
|
+
constructor() {
|
|
8
|
+
if (!this._brnTooltipDirective || !this._tpl)
|
|
9
|
+
return;
|
|
10
|
+
this._brnTooltipDirective.tooltipTemplate.set(this._tpl);
|
|
11
|
+
}
|
|
12
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnTooltipContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
13
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnTooltipContentDirective, isStandalone: true, selector: "[brnTooltipContent]", ngImport: i0 });
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnTooltipContentDirective, decorators: [{
|
|
16
|
+
type: Directive,
|
|
17
|
+
args: [{
|
|
18
|
+
selector: '[brnTooltipContent]',
|
|
19
|
+
standalone: true,
|
|
20
|
+
}]
|
|
21
|
+
}], ctorParameters: () => [] });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXRvb2x0aXAtY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL3Rvb2x0aXAvc3JjL2xpYi9icm4tdG9vbHRpcC1jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBTTlELE1BQU0sT0FBTywwQkFBMEI7SUFDckIsb0JBQW9CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdkUsSUFBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUU1QztRQUNDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDckQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7MEhBUFcsMEJBQTBCOzhHQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBSnRDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBUZW1wbGF0ZVJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCcm5Ub29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnLi9icm4tdG9vbHRpcC5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnJuVG9vbHRpcENvbnRlbnRdJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuVG9vbHRpcENvbnRlbnREaXJlY3RpdmUge1xuXHRwcml2YXRlIHJlYWRvbmx5IF9icm5Ub29sdGlwRGlyZWN0aXZlID0gaW5qZWN0KEJyblRvb2x0aXBEaXJlY3RpdmUsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cdHByaXZhdGUgcmVhZG9ubHkgX3RwbCA9IGluamVjdChUZW1wbGF0ZVJlZik7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0aWYgKCF0aGlzLl9icm5Ub29sdGlwRGlyZWN0aXZlIHx8ICF0aGlzLl90cGwpIHJldHVybjtcblx0XHR0aGlzLl9icm5Ub29sdGlwRGlyZWN0aXZlLnRvb2x0aXBUZW1wbGF0ZS5zZXQodGhpcy5fdHBsKTtcblx0fVxufVxuIl19
|