@fundamental-ngx/ui5-webcomponents 0.63.0-rc.9 → 0.63.0
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/fundamental-ngx-ui5-webcomponents-avatar-badge.mjs +100 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-avatar-badge.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-avatar-group.mjs +177 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-avatar-group.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-avatar.mjs +242 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-avatar.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-bar.mjs +132 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-bar.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-breadcrumbs-item.mjs +146 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-breadcrumbs-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-breadcrumbs.mjs +133 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-breadcrumbs.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-busy-indicator.mjs +121 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-busy-indicator.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-button-badge.mjs +88 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-button-badge.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-button.mjs +244 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-button.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-calendar-date-range.mjs +83 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-calendar-date-range.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-calendar-date.mjs +77 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-calendar-date.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-calendar-legend-item.mjs +81 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-calendar-legend-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-calendar-legend.mjs +116 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-calendar-legend.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-calendar.mjs +205 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-calendar.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-card-header.mjs +143 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-card-header.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-card.mjs +126 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-card.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-carousel.mjs +200 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-carousel.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-check-box.mjs +210 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-check-box.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-color-palette-item.mjs +112 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-color-palette-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-color-palette-popover.mjs +169 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-color-palette-popover.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-color-palette.mjs +125 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-color-palette.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-color-picker.mjs +119 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-color-picker.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-combo-box-item-group.mjs +156 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-combo-box-item-group.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-combo-box-item.mjs +125 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-combo-box-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-combo-box.mjs +269 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-combo-box.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-date-picker.mjs +303 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-date-picker.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-date-range-picker.mjs +340 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-date-range-picker.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-date-time-input.mjs +300 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-date-time-input.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-date-time-picker.mjs +303 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-date-time-picker.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-day-picker.mjs +118 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-day-picker.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-dialog.mjs +238 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-dialog.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-drop-indicator.mjs +91 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-drop-indicator.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-dynamic-date-range.mjs +101 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-dynamic-date-range.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-expandable-text.mjs +91 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-expandable-text.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-file-uploader.mjs +263 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-file-uploader.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-form-group.mjs +132 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-form-group.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-form-item.mjs +112 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-form-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-form.mjs +188 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-form.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-icon.mjs +181 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-icon.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-input.mjs +300 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-input.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-label.mjs +128 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-label.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-link.mjs +235 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-link.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-list-item-custom.mjs +195 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-list-item-custom.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-list-item-group-header.mjs +141 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-list-item-group-header.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-list-item-group.mjs +156 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-list-item-group.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-list-item-standard.mjs +262 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-list-item-standard.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-list.mjs +298 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-list.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-menu-item-group.mjs +102 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-menu-item-group.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-menu-item.mjs +295 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-menu-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-menu-separator.mjs +73 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-menu-separator.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-menu.mjs +178 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-menu.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-message-strip.mjs +153 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-message-strip.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-month-picker.mjs +118 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-month-picker.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-combo-box-item-group.mjs +156 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-combo-box-item-group.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-combo-box-item.mjs +116 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-combo-box-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-combo-box.mjs +285 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-combo-box.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-input.mjs +324 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-input.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-option-custom.mjs +139 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-option-custom.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-option.mjs +149 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-option.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-panel.mjs +172 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-panel.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-popover.mjs +242 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-popover.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-progress-indicator.mjs +104 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-progress-indicator.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-radio-button.mjs +188 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-radio-button.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-range-slider.mjs +207 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-range-slider.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-rating-indicator.mjs +156 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-rating-indicator.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-responsive-popover.mjs +242 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-responsive-popover.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-segmented-button-item.mjs +167 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-segmented-button-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-segmented-button.mjs +180 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-segmented-button.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-select.mjs +292 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-select.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-slider-handle.mjs +52 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-slider-handle.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-slider-tooltip.mjs +52 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-slider-tooltip.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-slider.mjs +202 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-slider.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-special-calendar-date.mjs +82 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-special-calendar-date.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-split-button.mjs +175 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-split-button.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-step-input.mjs +203 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-step-input.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-suggestion-item-custom.mjs +123 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-suggestion-item-custom.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-suggestion-item-group.mjs +156 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-suggestion-item-group.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-suggestion-item.mjs +102 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-suggestion-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-suggestion-list-item.mjs +262 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-suggestion-list-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-switch.mjs +194 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-switch.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-tab-container.mjs +195 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-tab-container.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-tab-separator.mjs +52 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-tab-separator.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-tab.mjs +169 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-tab.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-cell.mjs +110 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-cell.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-group-row.mjs +133 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-group-row.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-growing.mjs +117 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-growing.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-header-cell-action-a-i.mjs +71 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-header-cell-action-a-i.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-header-cell.mjs +161 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-header-cell.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-header-row.mjs +105 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-header-row.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-row-action-navigation.mjs +102 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-row-action-navigation.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-row-action.mjs +114 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-row-action.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-row.mjs +133 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-row.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-selection-multi.mjs +105 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-selection-multi.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-selection-single.mjs +100 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-selection-single.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-selection.mjs +100 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-selection.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-virtualizer.mjs +111 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table-virtualizer.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table.mjs +213 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-table.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-tag.mjs +159 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-tag.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-text-area.mjs +260 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-text-area.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-text.mjs +106 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-text.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-theming.mjs +23 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-theming.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-time-picker-clock.mjs +52 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-time-picker-clock.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-time-picker.mjs +249 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-time-picker.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-time-selection-clocks.mjs +86 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-time-selection-clocks.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-time-selection-inputs.mjs +86 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-time-selection-inputs.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-title.mjs +120 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-title.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-toast.mjs +136 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-toast.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-toggle-button.mjs +249 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-toggle-button.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-toggle-spin-button.mjs +249 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-toggle-spin-button.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-token.mjs +108 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-token.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-tokenizer.mjs +168 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-tokenizer.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar-button.mjs +194 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar-button.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar-item.mjs +109 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar-select-option.mjs +103 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar-select-option.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar-select.mjs +183 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar-select.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar-separator.mjs +83 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar-separator.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar-spacer.mjs +90 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar-spacer.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar.mjs +125 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-toolbar.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-tree-item-custom.mjs +256 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-tree-item-custom.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-tree-item.mjs +256 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-tree-item.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-tree.mjs +215 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-tree.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-year-picker.mjs +118 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-year-picker.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-year-range-picker.mjs +118 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-year-range-picker.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents.mjs +532 -39
- package/fesm2022/fundamental-ngx-ui5-webcomponents.mjs.map +1 -1
- package/package.json +498 -6
- package/types/fundamental-ngx-ui5-webcomponents-avatar-badge.d.ts +46 -0
- package/types/fundamental-ngx-ui5-webcomponents-avatar-group.d.ts +103 -0
- package/types/fundamental-ngx-ui5-webcomponents-avatar.d.ts +160 -0
- package/types/fundamental-ngx-ui5-webcomponents-bar.d.ts +67 -0
- package/types/fundamental-ngx-ui5-webcomponents-breadcrumbs-item.d.ts +76 -0
- package/types/fundamental-ngx-ui5-webcomponents-breadcrumbs.d.ts +64 -0
- package/types/fundamental-ngx-ui5-webcomponents-busy-indicator.d.ts +63 -0
- package/types/fundamental-ngx-ui5-webcomponents-button-badge.d.ts +35 -0
- package/types/fundamental-ngx-ui5-webcomponents-button.d.ts +163 -0
- package/types/fundamental-ngx-ui5-webcomponents-calendar-date-range.d.ts +30 -0
- package/types/fundamental-ngx-ui5-webcomponents-calendar-date.d.ts +25 -0
- package/types/fundamental-ngx-ui5-webcomponents-calendar-legend-item.d.ts +28 -0
- package/types/fundamental-ngx-ui5-webcomponents-calendar-legend.d.ts +59 -0
- package/types/fundamental-ngx-ui5-webcomponents-calendar.d.ts +118 -0
- package/types/fundamental-ngx-ui5-webcomponents-card-header.d.ts +68 -0
- package/types/fundamental-ngx-ui5-webcomponents-card.d.ts +69 -0
- package/types/fundamental-ngx-ui5-webcomponents-carousel.d.ts +120 -0
- package/types/fundamental-ngx-ui5-webcomponents-check-box.d.ts +114 -0
- package/types/fundamental-ngx-ui5-webcomponents-color-palette-item.d.ts +44 -0
- package/types/fundamental-ngx-ui5-webcomponents-color-palette-popover.d.ts +92 -0
- package/types/fundamental-ngx-ui5-webcomponents-color-palette.d.ts +56 -0
- package/types/fundamental-ngx-ui5-webcomponents-color-picker.d.ts +49 -0
- package/types/fundamental-ngx-ui5-webcomponents-combo-box-item-group.d.ts +81 -0
- package/types/fundamental-ngx-ui5-webcomponents-combo-box-item.d.ts +57 -0
- package/types/fundamental-ngx-ui5-webcomponents-combo-box.d.ts +160 -0
- package/types/fundamental-ngx-ui5-webcomponents-date-picker.d.ts +188 -0
- package/types/fundamental-ngx-ui5-webcomponents-date-range-picker.d.ts +217 -0
- package/types/fundamental-ngx-ui5-webcomponents-date-time-input.d.ts +188 -0
- package/types/fundamental-ngx-ui5-webcomponents-date-time-picker.d.ts +188 -0
- package/types/fundamental-ngx-ui5-webcomponents-day-picker.d.ts +59 -0
- package/types/fundamental-ngx-ui5-webcomponents-dialog.d.ts +146 -0
- package/types/fundamental-ngx-ui5-webcomponents-drop-indicator.d.ts +36 -0
- package/types/fundamental-ngx-ui5-webcomponents-dynamic-date-range.d.ts +35 -0
- package/types/fundamental-ngx-ui5-webcomponents-expandable-text.d.ts +36 -0
- package/types/fundamental-ngx-ui5-webcomponents-file-uploader.d.ts +142 -0
- package/types/fundamental-ngx-ui5-webcomponents-form-group.d.ts +73 -0
- package/types/fundamental-ngx-ui5-webcomponents-form-item.d.ts +54 -0
- package/types/fundamental-ngx-ui5-webcomponents-form.d.ts +122 -0
- package/types/fundamental-ngx-ui5-webcomponents-icon.d.ts +109 -0
- package/types/fundamental-ngx-ui5-webcomponents-input.d.ts +188 -0
- package/types/fundamental-ngx-ui5-webcomponents-label.d.ts +71 -0
- package/types/fundamental-ngx-ui5-webcomponents-link.d.ts +155 -0
- package/types/fundamental-ngx-ui5-webcomponents-list-item-custom.d.ts +119 -0
- package/types/fundamental-ngx-ui5-webcomponents-list-item-group-header.d.ts +72 -0
- package/types/fundamental-ngx-ui5-webcomponents-list-item-group.d.ts +81 -0
- package/types/fundamental-ngx-ui5-webcomponents-list-item-standard.d.ts +174 -0
- package/types/fundamental-ngx-ui5-webcomponents-list.d.ts +203 -0
- package/types/fundamental-ngx-ui5-webcomponents-menu-item-group.d.ts +48 -0
- package/types/fundamental-ngx-ui5-webcomponents-menu-item.d.ts +203 -0
- package/types/fundamental-ngx-ui5-webcomponents-menu-separator.d.ts +27 -0
- package/types/fundamental-ngx-ui5-webcomponents-menu.d.ts +100 -0
- package/types/fundamental-ngx-ui5-webcomponents-message-strip.d.ts +78 -0
- package/types/fundamental-ngx-ui5-webcomponents-month-picker.d.ts +59 -0
- package/types/fundamental-ngx-ui5-webcomponents-multi-combo-box-item-group.d.ts +81 -0
- package/types/fundamental-ngx-ui5-webcomponents-multi-combo-box-item.d.ts +47 -0
- package/types/fundamental-ngx-ui5-webcomponents-multi-combo-box.d.ts +173 -0
- package/types/fundamental-ngx-ui5-webcomponents-multi-input.d.ts +205 -0
- package/types/fundamental-ngx-ui5-webcomponents-option-custom.d.ts +68 -0
- package/types/fundamental-ngx-ui5-webcomponents-option.d.ts +77 -0
- package/types/fundamental-ngx-ui5-webcomponents-panel.d.ts +93 -0
- package/types/fundamental-ngx-ui5-webcomponents-popover.d.ts +146 -0
- package/types/fundamental-ngx-ui5-webcomponents-progress-indicator.d.ts +48 -0
- package/types/fundamental-ngx-ui5-webcomponents-radio-button.d.ts +94 -0
- package/types/fundamental-ngx-ui5-webcomponents-range-slider.d.ts +111 -0
- package/types/fundamental-ngx-ui5-webcomponents-rating-indicator.d.ts +80 -0
- package/types/fundamental-ngx-ui5-webcomponents-responsive-popover.d.ts +146 -0
- package/types/fundamental-ngx-ui5-webcomponents-segmented-button-item.d.ts +92 -0
- package/types/fundamental-ngx-ui5-webcomponents-segmented-button.d.ts +87 -0
- package/types/fundamental-ngx-ui5-webcomponents-select.d.ts +161 -0
- package/types/fundamental-ngx-ui5-webcomponents-slider-handle.d.ts +20 -0
- package/types/fundamental-ngx-ui5-webcomponents-slider-tooltip.d.ts +20 -0
- package/types/fundamental-ngx-ui5-webcomponents-slider.d.ts +107 -0
- package/types/fundamental-ngx-ui5-webcomponents-special-calendar-date.d.ts +29 -0
- package/types/fundamental-ngx-ui5-webcomponents-split-button.d.ts +102 -0
- package/types/fundamental-ngx-ui5-webcomponents-step-input.d.ts +121 -0
- package/types/fundamental-ngx-ui5-webcomponents-suggestion-item-custom.d.ts +55 -0
- package/types/fundamental-ngx-ui5-webcomponents-suggestion-item-group.d.ts +81 -0
- package/types/fundamental-ngx-ui5-webcomponents-suggestion-item.d.ts +35 -0
- package/types/fundamental-ngx-ui5-webcomponents-suggestion-list-item.d.ts +169 -0
- package/types/fundamental-ngx-ui5-webcomponents-switch.d.ts +99 -0
- package/types/fundamental-ngx-ui5-webcomponents-tab-container.d.ts +114 -0
- package/types/fundamental-ngx-ui5-webcomponents-tab-separator.d.ts +20 -0
- package/types/fundamental-ngx-ui5-webcomponents-tab.d.ts +91 -0
- package/types/fundamental-ngx-ui5-webcomponents-table-cell.d.ts +55 -0
- package/types/fundamental-ngx-ui5-webcomponents-table-group-row.d.ts +75 -0
- package/types/fundamental-ngx-ui5-webcomponents-table-growing.d.ts +49 -0
- package/types/fundamental-ngx-ui5-webcomponents-table-header-cell-action-a-i.d.ts +25 -0
- package/types/fundamental-ngx-ui5-webcomponents-table-header-cell.d.ts +101 -0
- package/types/fundamental-ngx-ui5-webcomponents-table-header-row.d.ts +51 -0
- package/types/fundamental-ngx-ui5-webcomponents-table-row-action-navigation.d.ts +35 -0
- package/types/fundamental-ngx-ui5-webcomponents-table-row-action.d.ts +46 -0
- package/types/fundamental-ngx-ui5-webcomponents-table-row.d.ts +75 -0
- package/types/fundamental-ngx-ui5-webcomponents-table-selection-multi.d.ts +37 -0
- package/types/fundamental-ngx-ui5-webcomponents-table-selection-single.d.ts +33 -0
- package/types/fundamental-ngx-ui5-webcomponents-table-selection.d.ts +33 -0
- package/types/fundamental-ngx-ui5-webcomponents-table-virtualizer.d.ts +43 -0
- package/types/fundamental-ngx-ui5-webcomponents-table.d.ts +123 -0
- package/types/fundamental-ngx-ui5-webcomponents-tag.d.ts +82 -0
- package/types/fundamental-ngx-ui5-webcomponents-text-area.d.ts +156 -0
- package/types/fundamental-ngx-ui5-webcomponents-text.d.ts +51 -0
- package/types/fundamental-ngx-ui5-webcomponents-theming.d.ts +11 -0
- package/types/fundamental-ngx-ui5-webcomponents-time-picker-clock.d.ts +20 -0
- package/types/fundamental-ngx-ui5-webcomponents-time-picker.d.ts +144 -0
- package/types/fundamental-ngx-ui5-webcomponents-time-selection-clocks.d.ts +33 -0
- package/types/fundamental-ngx-ui5-webcomponents-time-selection-inputs.d.ts +33 -0
- package/types/fundamental-ngx-ui5-webcomponents-title.d.ts +64 -0
- package/types/fundamental-ngx-ui5-webcomponents-toast.d.ts +66 -0
- package/types/fundamental-ngx-ui5-webcomponents-toggle-button.d.ts +167 -0
- package/types/fundamental-ngx-ui5-webcomponents-toggle-spin-button.d.ts +167 -0
- package/types/fundamental-ngx-ui5-webcomponents-token.d.ts +53 -0
- package/types/fundamental-ngx-ui5-webcomponents-tokenizer.d.ts +93 -0
- package/types/fundamental-ngx-ui5-webcomponents-toolbar-button.d.ts +118 -0
- package/types/fundamental-ngx-ui5-webcomponents-toolbar-item.d.ts +54 -0
- package/types/fundamental-ngx-ui5-webcomponents-toolbar-select-option.d.ts +49 -0
- package/types/fundamental-ngx-ui5-webcomponents-toolbar-select.d.ts +106 -0
- package/types/fundamental-ngx-ui5-webcomponents-toolbar-separator.d.ts +30 -0
- package/types/fundamental-ngx-ui5-webcomponents-toolbar-spacer.d.ts +36 -0
- package/types/fundamental-ngx-ui5-webcomponents-toolbar.d.ts +67 -0
- package/types/fundamental-ngx-ui5-webcomponents-tree-item-custom.d.ts +165 -0
- package/types/fundamental-ngx-ui5-webcomponents-tree-item.d.ts +168 -0
- package/types/fundamental-ngx-ui5-webcomponents-tree.d.ts +129 -0
- package/types/fundamental-ngx-ui5-webcomponents-year-picker.d.ts +59 -0
- package/types/fundamental-ngx-ui5-webcomponents-year-range-picker.d.ts +59 -0
- package/types/fundamental-ngx-ui5-webcomponents.d.ts +309 -19
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { input, booleanAttribute, output, inject, ElementRef, Injector, runInInjectionContext, effect, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
+
import '@ui5/webcomponents/dist/Option.js';
|
|
4
|
+
import { ContentDensityObserver, contentDensityObserverProviders, ContentDensityMode } from '@fundamental-ngx/core/content-density';
|
|
5
|
+
|
|
6
|
+
class Option {
|
|
7
|
+
constructor() {
|
|
8
|
+
/**
|
|
9
|
+
* Defines the `additionalText`, displayed in the end of the option.
|
|
10
|
+
*/
|
|
11
|
+
this.additionalText = input(...(ngDevMode ? [undefined, { debugName: "additionalText" }] : []));
|
|
12
|
+
/**
|
|
13
|
+
* Defines the `icon` source URI.
|
|
14
|
+
|
|
15
|
+
**Note:**
|
|
16
|
+
SAP-icons font provides numerous built-in icons. To find all the available icons, see the
|
|
17
|
+
[Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).
|
|
18
|
+
*/
|
|
19
|
+
this.icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : []));
|
|
20
|
+
/**
|
|
21
|
+
* Defines the selected state of the component.
|
|
22
|
+
*/
|
|
23
|
+
this.selected = input(false, { ...(ngDevMode ? { debugName: "selected" } : {}), transform: booleanAttribute });
|
|
24
|
+
/**
|
|
25
|
+
* Defines the tooltip of the option.
|
|
26
|
+
*/
|
|
27
|
+
this.tooltip = input(...(ngDevMode ? [undefined, { debugName: "tooltip" }] : []));
|
|
28
|
+
/**
|
|
29
|
+
* Defines the value of the `ui5-select` inside an HTML Form element when this component is selected.
|
|
30
|
+
For more information on HTML Form support, see the `name` property of `ui5-select`.
|
|
31
|
+
*/
|
|
32
|
+
this.value = input(...(ngDevMode ? [undefined, { debugName: "value" }] : [])); // className is now passed
|
|
33
|
+
/**
|
|
34
|
+
* Fired when the component is activated either with a mouse/tap or by using the Enter or Space key.
|
|
35
|
+
|
|
36
|
+
**Note:** The event will not be fired if the `disabled` property is set to `true`.
|
|
37
|
+
*/
|
|
38
|
+
this.ui5Click = output();
|
|
39
|
+
/**
|
|
40
|
+
* Available slots for content projection in this component.
|
|
41
|
+
*
|
|
42
|
+
* Slots allow you to insert custom content into predefined areas of the web component.
|
|
43
|
+
* Use the `slot` attribute on child elements to target specific slots.
|
|
44
|
+
*
|
|
45
|
+
* - **(default)**: Defines the text of the component.
|
|
46
|
+
|
|
47
|
+
**Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```html
|
|
51
|
+
* <ui5-option>
|
|
52
|
+
* <div slot="header">Custom header content</div>
|
|
53
|
+
* <p>Default slot content</p>
|
|
54
|
+
* </ui5-option>
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
57
|
+
* @readonly
|
|
58
|
+
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots | MDN Web Components Slots}
|
|
59
|
+
*/
|
|
60
|
+
this.slots = [
|
|
61
|
+
{
|
|
62
|
+
"name": "default",
|
|
63
|
+
"description": "Defines the text of the component.\n\n**Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design."
|
|
64
|
+
}
|
|
65
|
+
];
|
|
66
|
+
this.elementRef = inject(ElementRef);
|
|
67
|
+
this.injector = inject(Injector);
|
|
68
|
+
/**
|
|
69
|
+
* Content density observer is injected to activate automatic CSS class and
|
|
70
|
+
* UI5 attribute application. The observer self-initializes, no explicit subscribe() needed.
|
|
71
|
+
* @private
|
|
72
|
+
*/
|
|
73
|
+
this._contentDensityObserver = inject(ContentDensityObserver);
|
|
74
|
+
}
|
|
75
|
+
get element() {
|
|
76
|
+
return this.elementRef.nativeElement;
|
|
77
|
+
}
|
|
78
|
+
ngAfterViewInit() {
|
|
79
|
+
const wcElement = this.element;
|
|
80
|
+
const inputsToSync = [
|
|
81
|
+
'additionalText',
|
|
82
|
+
'icon',
|
|
83
|
+
'selected',
|
|
84
|
+
'tooltip',
|
|
85
|
+
'value',
|
|
86
|
+
];
|
|
87
|
+
// Synchronize inputs (properties)
|
|
88
|
+
for (const inputName of inputsToSync) {
|
|
89
|
+
// Find the corresponding camelCase signal property on the Angular component
|
|
90
|
+
const signalName = inputName.replace(/-./g, (x) => x[1].toUpperCase());
|
|
91
|
+
// Use the Injector to run the effect in the correct context
|
|
92
|
+
if (this[signalName] && typeof this[signalName] === 'function') {
|
|
93
|
+
runInInjectionContext(this.injector, () => {
|
|
94
|
+
effect(() => {
|
|
95
|
+
// Read the signal value
|
|
96
|
+
const value = this[signalName]();
|
|
97
|
+
if (wcElement) {
|
|
98
|
+
// Write the value to the Web Component's property
|
|
99
|
+
wcElement[inputName] = value;
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
const outputsToSync = [
|
|
106
|
+
'ui5Click',
|
|
107
|
+
];
|
|
108
|
+
// Synchronize outputs (events)
|
|
109
|
+
for (const outputName of outputsToSync) {
|
|
110
|
+
// Map Angular output name to UI5 web component event name
|
|
111
|
+
const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
|
|
112
|
+
// Ensure the output property exists and has an emit function before adding listener
|
|
113
|
+
if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
|
|
114
|
+
// Cast the listener to the correct type to satisfy TypeScript
|
|
115
|
+
wcElement.addEventListener(eventName, (e) => {
|
|
116
|
+
this[outputName].emit(e);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Option, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
122
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: Option, isStandalone: true, selector: "ui5-option, [ui5-option]", inputs: { additionalText: { classPropertyName: "additionalText", publicName: "additionalText", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Click: "ui5Click" }, providers: [
|
|
123
|
+
contentDensityObserverProviders({
|
|
124
|
+
supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]
|
|
125
|
+
})
|
|
126
|
+
], exportAs: ["ui5Option"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
127
|
+
}
|
|
128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Option, decorators: [{
|
|
129
|
+
type: Component,
|
|
130
|
+
args: [{
|
|
131
|
+
standalone: true,
|
|
132
|
+
selector: 'ui5-option, [ui5-option]',
|
|
133
|
+
template: '<ng-content></ng-content>',
|
|
134
|
+
exportAs: 'ui5Option',
|
|
135
|
+
providers: [
|
|
136
|
+
contentDensityObserverProviders({
|
|
137
|
+
supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]
|
|
138
|
+
})
|
|
139
|
+
],
|
|
140
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
141
|
+
}]
|
|
142
|
+
}], propDecorators: { additionalText: [{ type: i0.Input, args: [{ isSignal: true, alias: "additionalText", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], tooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], ui5Click: [{ type: i0.Output, args: ["ui5Click"] }] } });
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Generated bundle index. Do not edit.
|
|
146
|
+
*/
|
|
147
|
+
|
|
148
|
+
export { Option };
|
|
149
|
+
//# sourceMappingURL=fundamental-ngx-ui5-webcomponents-option.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-ui5-webcomponents-option.mjs","sources":["../../../../libs/ui5-webcomponents/option/index.ts","../../../../libs/ui5-webcomponents/option/fundamental-ngx-ui5-webcomponents-option.ts"],"sourcesContent":["\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n input,\n output,\n AfterViewInit,\n effect,\n runInInjectionContext,\n inject,\n Injector,\n booleanAttribute,\n computed,\n signal\n} from '@angular/core';\nimport '@ui5/webcomponents/dist/Option.js';\nimport { default as _Option } from '@ui5/webcomponents/dist/Option.js';\nimport { UI5CustomEvent } from '@ui5/webcomponents-base';\nimport {\n ContentDensityObserver,\n contentDensityObserverProviders,\n ContentDensityMode\n} from '@fundamental-ngx/core/content-density';\n\n\n\n@Component({\n standalone: true,\n selector: 'ui5-option, [ui5-option]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5Option',\n providers: [\n contentDensityObserverProviders({\n supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]\n })\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Option implements AfterViewInit {\n\n /**\n * Defines the `additionalText`, displayed in the end of the option.\n */\n additionalText = input<typeof _Option.prototype.additionalText | undefined>();\n\n /**\n * Defines the `icon` source URI.\n\n**Note:**\nSAP-icons font provides numerous built-in icons. To find all the available icons, see the\n[Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n */\n icon = input<typeof _Option.prototype.icon | undefined>();\n\n /**\n * Defines the selected state of the component.\n */\n selected = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the tooltip of the option.\n */\n tooltip = input<typeof _Option.prototype.tooltip | undefined>();\n\n /**\n * Defines the value of the `ui5-select` inside an HTML Form element when this component is selected.\nFor more information on HTML Form support, see the `name` property of `ui5-select`.\n */\n value = input<typeof _Option.prototype.value | undefined>(); // className is now passed\n\n\n\n /**\n * Fired when the component is activated either with a mouse/tap or by using the Enter or Space key.\n\n**Note:** The event will not be fired if the `disabled` property is set to `true`.\n */\n ui5Click = output<UI5CustomEvent<_Option, 'click'>>();\n\n /**\n * Available slots for content projection in this component.\n *\n * Slots allow you to insert custom content into predefined areas of the web component.\n * Use the `slot` attribute on child elements to target specific slots.\n *\n * - **(default)**: Defines the text of the component.\n\n**Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n *\n * @example\n * ```html\n * <ui5-option>\n * <div slot=\"header\">Custom header content</div>\n * <p>Default slot content</p>\n * </ui5-option>\n * ```\n *\n * @readonly\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots | MDN Web Components Slots}\n */\n readonly slots = [\n {\n \"name\": \"default\",\n \"description\": \"Defines the text of the component.\\n\\n**Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\"\n }\n ];\n\n\n public elementRef: ElementRef<_Option> = inject(ElementRef);\n public injector = inject(Injector);\n\n /**\n * Content density observer is injected to activate automatic CSS class and\n * UI5 attribute application. The observer self-initializes, no explicit subscribe() needed.\n * @private\n */\n private readonly _contentDensityObserver = inject(ContentDensityObserver);\n\n get element(): _Option {\n return this.elementRef.nativeElement;\n }\n\n ngAfterViewInit(): void {\n const wcElement = this.element;\n \n const inputsToSync = [\n 'additionalText',\n 'icon',\n 'selected',\n 'tooltip',\n 'value',\n ];\n \n // Synchronize inputs (properties)\n for (const inputName of inputsToSync) {\n // Find the corresponding camelCase signal property on the Angular component\n const signalName = inputName.replace(/-./g, (x: string) => x[1].toUpperCase());\n\n // Use the Injector to run the effect in the correct context\n if (this[signalName] && typeof this[signalName] === 'function') {\n runInInjectionContext(this.injector, () => {\n effect(() => {\n // Read the signal value\n const value = this[signalName]();\n if (wcElement) {\n // Write the value to the Web Component's property\n wcElement[inputName] = value;\n }\n });\n });\n }\n }\n \n \n const outputsToSync = [\n 'ui5Click',\n ];\n \n // Synchronize outputs (events)\n for (const outputName of outputsToSync) {\n // Map Angular output name to UI5 web component event name\n const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);\n // Ensure the output property exists and has an emit function before adding listener\n if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {\n // Cast the listener to the correct type to satisfy TypeScript\n wcElement.addEventListener(eventName, (e) => {\n\n this[outputName].emit(e as CustomEvent<any>);\n });\n }\n }\n \n\n }\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { input, booleanAttribute, output, inject, ElementRef, Injector, runInInjectionContext, effect, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
+
import '@ui5/webcomponents/dist/Panel.js';
|
|
4
|
+
import { ContentDensityObserver, contentDensityObserverProviders, ContentDensityMode } from '@fundamental-ngx/core/content-density';
|
|
5
|
+
|
|
6
|
+
class Panel {
|
|
7
|
+
constructor() {
|
|
8
|
+
/**
|
|
9
|
+
* Defines the accessible ARIA name of the component.
|
|
10
|
+
*/
|
|
11
|
+
this.accessibleName = input(...(ngDevMode ? [undefined, { debugName: "accessibleName" }] : []));
|
|
12
|
+
/**
|
|
13
|
+
* Sets the accessible ARIA role of the component.
|
|
14
|
+
Depending on the usage, you can change the role from the default `Form`
|
|
15
|
+
to `Region` or `Complementary`.
|
|
16
|
+
*/
|
|
17
|
+
this.accessibleRole = input("Form", ...(ngDevMode ? [{ debugName: "accessibleRole" }] : []));
|
|
18
|
+
/**
|
|
19
|
+
* Indicates whether the component is collapsed and only the header is displayed.
|
|
20
|
+
*/
|
|
21
|
+
this.collapsed = input(false, { ...(ngDevMode ? { debugName: "collapsed" } : {}), transform: booleanAttribute });
|
|
22
|
+
/**
|
|
23
|
+
* Determines whether the component is in a fixed state that is not
|
|
24
|
+
expandable/collapsible by user interaction.
|
|
25
|
+
*/
|
|
26
|
+
this.fixed = input(false, { ...(ngDevMode ? { debugName: "fixed" } : {}), transform: booleanAttribute });
|
|
27
|
+
/**
|
|
28
|
+
* Defines the "aria-level" of component heading,
|
|
29
|
+
set by the `headerText`.
|
|
30
|
+
*/
|
|
31
|
+
this.headerLevel = input("H2", ...(ngDevMode ? [{ debugName: "headerLevel" }] : []));
|
|
32
|
+
/**
|
|
33
|
+
* This property is used to set the header text of the component.
|
|
34
|
+
The text is visible in both expanded and collapsed states.
|
|
35
|
+
|
|
36
|
+
**Note:** This property is overridden by the `header` slot.
|
|
37
|
+
*/
|
|
38
|
+
this.headerText = input(...(ngDevMode ? [undefined, { debugName: "headerText" }] : []));
|
|
39
|
+
/**
|
|
40
|
+
* Indicates whether the transition between the expanded and the collapsed state of the component is animated. By default the animation is enabled.
|
|
41
|
+
*/
|
|
42
|
+
this.noAnimation = input(false, { ...(ngDevMode ? { debugName: "noAnimation" } : {}), transform: booleanAttribute });
|
|
43
|
+
/**
|
|
44
|
+
* Indicates whether the Panel header is sticky or not.
|
|
45
|
+
If stickyHeader is set to true, then whenever you scroll the content or
|
|
46
|
+
the application, the header of the panel will be always visible and
|
|
47
|
+
a solid color will be used for its design.
|
|
48
|
+
*/
|
|
49
|
+
this.stickyHeader = input(false, { ...(ngDevMode ? { debugName: "stickyHeader" } : {}), transform: booleanAttribute }); // className is now passed
|
|
50
|
+
/**
|
|
51
|
+
* Fired when the component is expanded/collapsed by user interaction.
|
|
52
|
+
*/
|
|
53
|
+
this.ui5Toggle = output();
|
|
54
|
+
/**
|
|
55
|
+
* Available slots for content projection in this component.
|
|
56
|
+
*
|
|
57
|
+
* Slots allow you to insert custom content into predefined areas of the web component.
|
|
58
|
+
* Use the `slot` attribute on child elements to target specific slots.
|
|
59
|
+
*
|
|
60
|
+
* - **(default)**: Defines the content of the component. The content is visible only when the component is expanded.
|
|
61
|
+
* - **header**: Defines the component header area.
|
|
62
|
+
|
|
63
|
+
**Note:** When a header is provided, the `headerText` property is ignored.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```html
|
|
67
|
+
* <ui5-panel>
|
|
68
|
+
* <div slot="header">Custom header content</div>
|
|
69
|
+
* <p>Default slot content</p>
|
|
70
|
+
* </ui5-panel>
|
|
71
|
+
* ```
|
|
72
|
+
*
|
|
73
|
+
* @readonly
|
|
74
|
+
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots | MDN Web Components Slots}
|
|
75
|
+
*/
|
|
76
|
+
this.slots = [
|
|
77
|
+
{
|
|
78
|
+
"name": "default",
|
|
79
|
+
"description": "Defines the content of the component. The content is visible only when the component is expanded."
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"name": "header",
|
|
83
|
+
"description": "Defines the component header area.\n\n**Note:** When a header is provided, the `headerText` property is ignored."
|
|
84
|
+
}
|
|
85
|
+
];
|
|
86
|
+
this.elementRef = inject(ElementRef);
|
|
87
|
+
this.injector = inject(Injector);
|
|
88
|
+
/**
|
|
89
|
+
* Content density observer is injected to activate automatic CSS class and
|
|
90
|
+
* UI5 attribute application. The observer self-initializes, no explicit subscribe() needed.
|
|
91
|
+
* @private
|
|
92
|
+
*/
|
|
93
|
+
this._contentDensityObserver = inject(ContentDensityObserver);
|
|
94
|
+
}
|
|
95
|
+
get element() {
|
|
96
|
+
return this.elementRef.nativeElement;
|
|
97
|
+
}
|
|
98
|
+
ngAfterViewInit() {
|
|
99
|
+
const wcElement = this.element;
|
|
100
|
+
const inputsToSync = [
|
|
101
|
+
'accessibleName',
|
|
102
|
+
'accessibleRole',
|
|
103
|
+
'collapsed',
|
|
104
|
+
'fixed',
|
|
105
|
+
'headerLevel',
|
|
106
|
+
'headerText',
|
|
107
|
+
'noAnimation',
|
|
108
|
+
'stickyHeader',
|
|
109
|
+
];
|
|
110
|
+
// Synchronize inputs (properties)
|
|
111
|
+
for (const inputName of inputsToSync) {
|
|
112
|
+
// Find the corresponding camelCase signal property on the Angular component
|
|
113
|
+
const signalName = inputName.replace(/-./g, (x) => x[1].toUpperCase());
|
|
114
|
+
// Use the Injector to run the effect in the correct context
|
|
115
|
+
if (this[signalName] && typeof this[signalName] === 'function') {
|
|
116
|
+
runInInjectionContext(this.injector, () => {
|
|
117
|
+
effect(() => {
|
|
118
|
+
// Read the signal value
|
|
119
|
+
const value = this[signalName]();
|
|
120
|
+
if (wcElement) {
|
|
121
|
+
// Write the value to the Web Component's property
|
|
122
|
+
wcElement[inputName] = value;
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
const outputsToSync = [
|
|
129
|
+
'ui5Toggle',
|
|
130
|
+
];
|
|
131
|
+
// Synchronize outputs (events)
|
|
132
|
+
for (const outputName of outputsToSync) {
|
|
133
|
+
// Map Angular output name to UI5 web component event name
|
|
134
|
+
const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
|
|
135
|
+
// Ensure the output property exists and has an emit function before adding listener
|
|
136
|
+
if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
|
|
137
|
+
// Cast the listener to the correct type to satisfy TypeScript
|
|
138
|
+
wcElement.addEventListener(eventName, (e) => {
|
|
139
|
+
this[outputName].emit(e);
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Panel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
145
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: Panel, isStandalone: true, selector: "ui5-panel, [ui5-panel]", inputs: { accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleRole: { classPropertyName: "accessibleRole", publicName: "accessibleRole", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, fixed: { classPropertyName: "fixed", publicName: "fixed", isSignal: true, isRequired: false, transformFunction: null }, headerLevel: { classPropertyName: "headerLevel", publicName: "headerLevel", isSignal: true, isRequired: false, transformFunction: null }, headerText: { classPropertyName: "headerText", publicName: "headerText", isSignal: true, isRequired: false, transformFunction: null }, noAnimation: { classPropertyName: "noAnimation", publicName: "noAnimation", isSignal: true, isRequired: false, transformFunction: null }, stickyHeader: { classPropertyName: "stickyHeader", publicName: "stickyHeader", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Toggle: "ui5Toggle" }, providers: [
|
|
146
|
+
contentDensityObserverProviders({
|
|
147
|
+
supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]
|
|
148
|
+
})
|
|
149
|
+
], exportAs: ["ui5Panel"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
150
|
+
}
|
|
151
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Panel, decorators: [{
|
|
152
|
+
type: Component,
|
|
153
|
+
args: [{
|
|
154
|
+
standalone: true,
|
|
155
|
+
selector: 'ui5-panel, [ui5-panel]',
|
|
156
|
+
template: '<ng-content></ng-content>',
|
|
157
|
+
exportAs: 'ui5Panel',
|
|
158
|
+
providers: [
|
|
159
|
+
contentDensityObserverProviders({
|
|
160
|
+
supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]
|
|
161
|
+
})
|
|
162
|
+
],
|
|
163
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
164
|
+
}]
|
|
165
|
+
}], propDecorators: { accessibleName: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleName", required: false }] }], accessibleRole: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleRole", required: false }] }], collapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsed", required: false }] }], fixed: [{ type: i0.Input, args: [{ isSignal: true, alias: "fixed", required: false }] }], headerLevel: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerLevel", required: false }] }], headerText: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerText", required: false }] }], noAnimation: [{ type: i0.Input, args: [{ isSignal: true, alias: "noAnimation", required: false }] }], stickyHeader: [{ type: i0.Input, args: [{ isSignal: true, alias: "stickyHeader", required: false }] }], ui5Toggle: [{ type: i0.Output, args: ["ui5Toggle"] }] } });
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Generated bundle index. Do not edit.
|
|
169
|
+
*/
|
|
170
|
+
|
|
171
|
+
export { Panel };
|
|
172
|
+
//# sourceMappingURL=fundamental-ngx-ui5-webcomponents-panel.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-ui5-webcomponents-panel.mjs","sources":["../../../../libs/ui5-webcomponents/panel/index.ts","../../../../libs/ui5-webcomponents/panel/fundamental-ngx-ui5-webcomponents-panel.ts"],"sourcesContent":["\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n input,\n output,\n AfterViewInit,\n effect,\n runInInjectionContext,\n inject,\n Injector,\n booleanAttribute,\n computed,\n signal\n} from '@angular/core';\nimport '@ui5/webcomponents/dist/Panel.js';\nimport { default as _Panel } from '@ui5/webcomponents/dist/Panel.js';\nimport { UI5CustomEvent } from '@ui5/webcomponents-base';\nimport {\n ContentDensityObserver,\n contentDensityObserverProviders,\n ContentDensityMode\n} from '@fundamental-ngx/core/content-density';\n\nimport { default as PanelAccessibleRole } from '@ui5/webcomponents/dist/types/PanelAccessibleRole.js';\nimport { default as TitleLevel } from '@ui5/webcomponents/dist/types/TitleLevel.js';\n\n@Component({\n standalone: true,\n selector: 'ui5-panel, [ui5-panel]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5Panel',\n providers: [\n contentDensityObserverProviders({\n supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]\n })\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Panel implements AfterViewInit {\n\n /**\n * Defines the accessible ARIA name of the component.\n */\n accessibleName = input<typeof _Panel.prototype.accessibleName | undefined>();\n\n /**\n * Sets the accessible ARIA role of the component.\nDepending on the usage, you can change the role from the default `Form`\nto `Region` or `Complementary`.\n */\n accessibleRole = input<typeof _Panel.prototype.accessibleRole | undefined>(\"Form\");\n\n /**\n * Indicates whether the component is collapsed and only the header is displayed.\n */\n collapsed = input(false, { transform: booleanAttribute });\n\n /**\n * Determines whether the component is in a fixed state that is not\nexpandable/collapsible by user interaction.\n */\n fixed = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the \"aria-level\" of component heading,\nset by the `headerText`.\n */\n headerLevel = input<typeof _Panel.prototype.headerLevel | undefined>(\"H2\");\n\n /**\n * This property is used to set the header text of the component.\nThe text is visible in both expanded and collapsed states.\n\n**Note:** This property is overridden by the `header` slot.\n */\n headerText = input<typeof _Panel.prototype.headerText | undefined>();\n\n /**\n * Indicates whether the transition between the expanded and the collapsed state of the component is animated. By default the animation is enabled.\n */\n noAnimation = input(false, { transform: booleanAttribute });\n\n /**\n * Indicates whether the Panel header is sticky or not.\nIf stickyHeader is set to true, then whenever you scroll the content or\nthe application, the header of the panel will be always visible and\na solid color will be used for its design.\n */\n stickyHeader = input(false, { transform: booleanAttribute }); // className is now passed\n\n\n\n /**\n * Fired when the component is expanded/collapsed by user interaction.\n */\n ui5Toggle = output<UI5CustomEvent<_Panel, 'toggle'>>();\n\n /**\n * Available slots for content projection in this component.\n *\n * Slots allow you to insert custom content into predefined areas of the web component.\n * Use the `slot` attribute on child elements to target specific slots.\n *\n * - **(default)**: Defines the content of the component. The content is visible only when the component is expanded.\n * - **header**: Defines the component header area.\n\n**Note:** When a header is provided, the `headerText` property is ignored.\n *\n * @example\n * ```html\n * <ui5-panel>\n * <div slot=\"header\">Custom header content</div>\n * <p>Default slot content</p>\n * </ui5-panel>\n * ```\n *\n * @readonly\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots | MDN Web Components Slots}\n */\n readonly slots = [\n {\n \"name\": \"default\",\n \"description\": \"Defines the content of the component. The content is visible only when the component is expanded.\"\n },\n {\n \"name\": \"header\",\n \"description\": \"Defines the component header area.\\n\\n**Note:** When a header is provided, the `headerText` property is ignored.\"\n }\n ];\n\n\n public elementRef: ElementRef<_Panel> = inject(ElementRef);\n public injector = inject(Injector);\n\n /**\n * Content density observer is injected to activate automatic CSS class and\n * UI5 attribute application. The observer self-initializes, no explicit subscribe() needed.\n * @private\n */\n private readonly _contentDensityObserver = inject(ContentDensityObserver);\n\n get element(): _Panel {\n return this.elementRef.nativeElement;\n }\n\n ngAfterViewInit(): void {\n const wcElement = this.element;\n \n const inputsToSync = [\n 'accessibleName',\n 'accessibleRole',\n 'collapsed',\n 'fixed',\n 'headerLevel',\n 'headerText',\n 'noAnimation',\n 'stickyHeader',\n ];\n \n // Synchronize inputs (properties)\n for (const inputName of inputsToSync) {\n // Find the corresponding camelCase signal property on the Angular component\n const signalName = inputName.replace(/-./g, (x: string) => x[1].toUpperCase());\n\n // Use the Injector to run the effect in the correct context\n if (this[signalName] && typeof this[signalName] === 'function') {\n runInInjectionContext(this.injector, () => {\n effect(() => {\n // Read the signal value\n const value = this[signalName]();\n if (wcElement) {\n // Write the value to the Web Component's property\n wcElement[inputName] = value;\n }\n });\n });\n }\n }\n \n \n const outputsToSync = [\n 'ui5Toggle',\n ];\n \n // Synchronize outputs (events)\n for (const outputName of outputsToSync) {\n // Map Angular output name to UI5 web component event name\n const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);\n // Ensure the output property exists and has an emit function before adding listener\n if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {\n // Cast the listener to the correct type to satisfy TypeScript\n wcElement.addEventListener(eventName, (e) => {\n\n this[outputName].emit(e as CustomEvent<any>);\n });\n }\n }\n \n\n }\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { input, booleanAttribute, output, inject, ElementRef, Injector, runInInjectionContext, effect, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
+
import '@ui5/webcomponents/dist/Popover.js';
|
|
4
|
+
import { ContentDensityObserver, contentDensityObserverProviders, ContentDensityMode } from '@fundamental-ngx/core/content-density';
|
|
5
|
+
|
|
6
|
+
class Popover {
|
|
7
|
+
constructor() {
|
|
8
|
+
/**
|
|
9
|
+
* Defines the accessible description of the component.
|
|
10
|
+
*/
|
|
11
|
+
this.accessibleDescription = input(...(ngDevMode ? [undefined, { debugName: "accessibleDescription" }] : []));
|
|
12
|
+
/**
|
|
13
|
+
* Receives id(or many ids) of the elements that describe the component.
|
|
14
|
+
*/
|
|
15
|
+
this.accessibleDescriptionRef = input(...(ngDevMode ? [undefined, { debugName: "accessibleDescriptionRef" }] : []));
|
|
16
|
+
/**
|
|
17
|
+
* Defines the accessible name of the component.
|
|
18
|
+
*/
|
|
19
|
+
this.accessibleName = input(...(ngDevMode ? [undefined, { debugName: "accessibleName" }] : []));
|
|
20
|
+
/**
|
|
21
|
+
* Defines the IDs of the elements that label the component.
|
|
22
|
+
*/
|
|
23
|
+
this.accessibleNameRef = input(...(ngDevMode ? [undefined, { debugName: "accessibleNameRef" }] : []));
|
|
24
|
+
/**
|
|
25
|
+
* Allows setting a custom role.
|
|
26
|
+
*/
|
|
27
|
+
this.accessibleRole = input("Dialog", ...(ngDevMode ? [{ debugName: "accessibleRole" }] : []));
|
|
28
|
+
/**
|
|
29
|
+
* Determines if there is no enough space, the component can be placed
|
|
30
|
+
over the target.
|
|
31
|
+
*/
|
|
32
|
+
this.allowTargetOverlap = input(false, { ...(ngDevMode ? { debugName: "allowTargetOverlap" } : {}), transform: booleanAttribute });
|
|
33
|
+
/**
|
|
34
|
+
* Defines the header text.
|
|
35
|
+
|
|
36
|
+
**Note:** If `header` slot is provided, the `headerText` is ignored.
|
|
37
|
+
*/
|
|
38
|
+
this.headerText = input(...(ngDevMode ? [undefined, { debugName: "headerText" }] : []));
|
|
39
|
+
/**
|
|
40
|
+
* Determines whether the component arrow is hidden.
|
|
41
|
+
*/
|
|
42
|
+
this.hideArrow = input(false, { ...(ngDevMode ? { debugName: "hideArrow" } : {}), transform: booleanAttribute });
|
|
43
|
+
/**
|
|
44
|
+
* Determines the horizontal alignment of the component.
|
|
45
|
+
*/
|
|
46
|
+
this.horizontalAlign = input("Center", ...(ngDevMode ? [{ debugName: "horizontalAlign" }] : []));
|
|
47
|
+
/**
|
|
48
|
+
* Defines the ID of the HTML Element, which will get the initial focus.
|
|
49
|
+
|
|
50
|
+
**Note:** If an element with `autofocus` attribute is added inside the component,
|
|
51
|
+
`initialFocus` won't take effect.
|
|
52
|
+
*/
|
|
53
|
+
this.initialFocus = input(...(ngDevMode ? [undefined, { debugName: "initialFocus" }] : []));
|
|
54
|
+
/**
|
|
55
|
+
* Defines whether the component should close when
|
|
56
|
+
clicking/tapping outside the popover.
|
|
57
|
+
If enabled, it blocks any interaction with the background.
|
|
58
|
+
*/
|
|
59
|
+
this.modal = input(false, { ...(ngDevMode ? { debugName: "modal" } : {}), transform: booleanAttribute });
|
|
60
|
+
/**
|
|
61
|
+
* Indicates if the element is open
|
|
62
|
+
*/
|
|
63
|
+
this.open = input(false, { ...(ngDevMode ? { debugName: "open" } : {}), transform: booleanAttribute });
|
|
64
|
+
/**
|
|
65
|
+
* Defines the ID or DOM Reference of the element at which the popover is shown.
|
|
66
|
+
When using this attribute in a declarative way, you must only use the `id` (as a string) of the element at which you want to show the popover.
|
|
67
|
+
You can only set the `opener` attribute to a DOM Reference when using JavaScript.
|
|
68
|
+
*/
|
|
69
|
+
this.opener = input(...(ngDevMode ? [undefined, { debugName: "opener" }] : []));
|
|
70
|
+
/**
|
|
71
|
+
* Determines on which side the component is placed at.
|
|
72
|
+
*/
|
|
73
|
+
this.placement = input("End", ...(ngDevMode ? [{ debugName: "placement" }] : []));
|
|
74
|
+
/**
|
|
75
|
+
* Defines if the focus should be returned to the previously focused element,
|
|
76
|
+
when the popup closes.
|
|
77
|
+
*/
|
|
78
|
+
this.preventFocusRestore = input(false, { ...(ngDevMode ? { debugName: "preventFocusRestore" } : {}), transform: booleanAttribute });
|
|
79
|
+
/**
|
|
80
|
+
* Indicates whether initial focus should be prevented.
|
|
81
|
+
*/
|
|
82
|
+
this.preventInitialFocus = input(false, { ...(ngDevMode ? { debugName: "preventInitialFocus" } : {}), transform: booleanAttribute });
|
|
83
|
+
/**
|
|
84
|
+
* Determines whether the component is resizable.
|
|
85
|
+
**Note:** This property is effective only on desktop devices.
|
|
86
|
+
*/
|
|
87
|
+
this.resizable = input(false, { ...(ngDevMode ? { debugName: "resizable" } : {}), transform: booleanAttribute });
|
|
88
|
+
/**
|
|
89
|
+
* Determines the vertical alignment of the component.
|
|
90
|
+
*/
|
|
91
|
+
this.verticalAlign = input("Center", ...(ngDevMode ? [{ debugName: "verticalAlign" }] : [])); // className is now passed
|
|
92
|
+
/**
|
|
93
|
+
* Fired before the component is closed. This event can be cancelled, which will prevent the popup from closing.
|
|
94
|
+
*/
|
|
95
|
+
this.ui5BeforeClose = output();
|
|
96
|
+
/**
|
|
97
|
+
* Fired before the component is opened. This event can be cancelled, which will prevent the popup from opening.
|
|
98
|
+
*/
|
|
99
|
+
this.ui5BeforeOpen = output();
|
|
100
|
+
/**
|
|
101
|
+
* Fired after the component is closed.
|
|
102
|
+
*/
|
|
103
|
+
this.ui5Close = output();
|
|
104
|
+
/**
|
|
105
|
+
* Fired after the component is opened.
|
|
106
|
+
*/
|
|
107
|
+
this.ui5Open = output();
|
|
108
|
+
/**
|
|
109
|
+
* Available slots for content projection in this component.
|
|
110
|
+
*
|
|
111
|
+
* Slots allow you to insert custom content into predefined areas of the web component.
|
|
112
|
+
* Use the `slot` attribute on child elements to target specific slots.
|
|
113
|
+
*
|
|
114
|
+
* - **(default)**: Defines the content of the Popup.
|
|
115
|
+
* - **footer**: Defines the footer HTML Element.
|
|
116
|
+
* - **header**: Defines the header HTML Element.
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```html
|
|
120
|
+
* <ui5-popover>
|
|
121
|
+
* <div slot="header">Custom header content</div>
|
|
122
|
+
* <p>Default slot content</p>
|
|
123
|
+
* </ui5-popover>
|
|
124
|
+
* ```
|
|
125
|
+
*
|
|
126
|
+
* @readonly
|
|
127
|
+
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots | MDN Web Components Slots}
|
|
128
|
+
*/
|
|
129
|
+
this.slots = [
|
|
130
|
+
{
|
|
131
|
+
"name": "default",
|
|
132
|
+
"description": "Defines the content of the Popup."
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"name": "footer",
|
|
136
|
+
"description": "Defines the footer HTML Element."
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"name": "header",
|
|
140
|
+
"description": "Defines the header HTML Element."
|
|
141
|
+
}
|
|
142
|
+
];
|
|
143
|
+
this.elementRef = inject(ElementRef);
|
|
144
|
+
this.injector = inject(Injector);
|
|
145
|
+
/**
|
|
146
|
+
* Content density observer is injected to activate automatic CSS class and
|
|
147
|
+
* UI5 attribute application. The observer self-initializes, no explicit subscribe() needed.
|
|
148
|
+
* @private
|
|
149
|
+
*/
|
|
150
|
+
this._contentDensityObserver = inject(ContentDensityObserver);
|
|
151
|
+
}
|
|
152
|
+
get element() {
|
|
153
|
+
return this.elementRef.nativeElement;
|
|
154
|
+
}
|
|
155
|
+
ngAfterViewInit() {
|
|
156
|
+
const wcElement = this.element;
|
|
157
|
+
const inputsToSync = [
|
|
158
|
+
'accessibleDescription',
|
|
159
|
+
'accessibleDescriptionRef',
|
|
160
|
+
'accessibleName',
|
|
161
|
+
'accessibleNameRef',
|
|
162
|
+
'accessibleRole',
|
|
163
|
+
'allowTargetOverlap',
|
|
164
|
+
'headerText',
|
|
165
|
+
'hideArrow',
|
|
166
|
+
'horizontalAlign',
|
|
167
|
+
'initialFocus',
|
|
168
|
+
'modal',
|
|
169
|
+
'open',
|
|
170
|
+
'opener',
|
|
171
|
+
'placement',
|
|
172
|
+
'preventFocusRestore',
|
|
173
|
+
'preventInitialFocus',
|
|
174
|
+
'resizable',
|
|
175
|
+
'verticalAlign',
|
|
176
|
+
];
|
|
177
|
+
// Synchronize inputs (properties)
|
|
178
|
+
for (const inputName of inputsToSync) {
|
|
179
|
+
// Find the corresponding camelCase signal property on the Angular component
|
|
180
|
+
const signalName = inputName.replace(/-./g, (x) => x[1].toUpperCase());
|
|
181
|
+
// Use the Injector to run the effect in the correct context
|
|
182
|
+
if (this[signalName] && typeof this[signalName] === 'function') {
|
|
183
|
+
runInInjectionContext(this.injector, () => {
|
|
184
|
+
effect(() => {
|
|
185
|
+
// Read the signal value
|
|
186
|
+
const value = this[signalName]();
|
|
187
|
+
if (wcElement) {
|
|
188
|
+
// Write the value to the Web Component's property
|
|
189
|
+
wcElement[inputName] = value;
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
const outputsToSync = [
|
|
196
|
+
'ui5BeforeClose',
|
|
197
|
+
'ui5BeforeOpen',
|
|
198
|
+
'ui5Close',
|
|
199
|
+
'ui5Open',
|
|
200
|
+
];
|
|
201
|
+
// Synchronize outputs (events)
|
|
202
|
+
for (const outputName of outputsToSync) {
|
|
203
|
+
// Map Angular output name to UI5 web component event name
|
|
204
|
+
const eventName = outputName.replace('ui5', '').replace(/([A-Z])/g, '-$1').toLowerCase().substring(1);
|
|
205
|
+
// Ensure the output property exists and has an emit function before adding listener
|
|
206
|
+
if (this[outputName] && typeof this[outputName].emit === 'function' && wcElement.addEventListener) {
|
|
207
|
+
// Cast the listener to the correct type to satisfy TypeScript
|
|
208
|
+
wcElement.addEventListener(eventName, (e) => {
|
|
209
|
+
this[outputName].emit(e);
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Popover, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
215
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: Popover, isStandalone: true, selector: "ui5-popover, [ui5-popover]", inputs: { accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescriptionRef: { classPropertyName: "accessibleDescriptionRef", publicName: "accessibleDescriptionRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleRole: { classPropertyName: "accessibleRole", publicName: "accessibleRole", isSignal: true, isRequired: false, transformFunction: null }, allowTargetOverlap: { classPropertyName: "allowTargetOverlap", publicName: "allowTargetOverlap", isSignal: true, isRequired: false, transformFunction: null }, headerText: { classPropertyName: "headerText", publicName: "headerText", isSignal: true, isRequired: false, transformFunction: null }, hideArrow: { classPropertyName: "hideArrow", publicName: "hideArrow", isSignal: true, isRequired: false, transformFunction: null }, horizontalAlign: { classPropertyName: "horizontalAlign", publicName: "horizontalAlign", isSignal: true, isRequired: false, transformFunction: null }, initialFocus: { classPropertyName: "initialFocus", publicName: "initialFocus", isSignal: true, isRequired: false, transformFunction: null }, modal: { classPropertyName: "modal", publicName: "modal", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, opener: { classPropertyName: "opener", publicName: "opener", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, preventFocusRestore: { classPropertyName: "preventFocusRestore", publicName: "preventFocusRestore", isSignal: true, isRequired: false, transformFunction: null }, preventInitialFocus: { classPropertyName: "preventInitialFocus", publicName: "preventInitialFocus", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, verticalAlign: { classPropertyName: "verticalAlign", publicName: "verticalAlign", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5BeforeClose: "ui5BeforeClose", ui5BeforeOpen: "ui5BeforeOpen", ui5Close: "ui5Close", ui5Open: "ui5Open" }, providers: [
|
|
216
|
+
contentDensityObserverProviders({
|
|
217
|
+
supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]
|
|
218
|
+
})
|
|
219
|
+
], exportAs: ["ui5Popover"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
220
|
+
}
|
|
221
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Popover, decorators: [{
|
|
222
|
+
type: Component,
|
|
223
|
+
args: [{
|
|
224
|
+
standalone: true,
|
|
225
|
+
selector: 'ui5-popover, [ui5-popover]',
|
|
226
|
+
template: '<ng-content></ng-content>',
|
|
227
|
+
exportAs: 'ui5Popover',
|
|
228
|
+
providers: [
|
|
229
|
+
contentDensityObserverProviders({
|
|
230
|
+
supportedContentDensity: [ContentDensityMode.COMPACT, ContentDensityMode.COZY]
|
|
231
|
+
})
|
|
232
|
+
],
|
|
233
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
234
|
+
}]
|
|
235
|
+
}], propDecorators: { accessibleDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleDescription", required: false }] }], accessibleDescriptionRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleDescriptionRef", required: false }] }], accessibleName: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleName", required: false }] }], accessibleNameRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleNameRef", required: false }] }], accessibleRole: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleRole", required: false }] }], allowTargetOverlap: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowTargetOverlap", required: false }] }], headerText: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerText", required: false }] }], hideArrow: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideArrow", required: false }] }], horizontalAlign: [{ type: i0.Input, args: [{ isSignal: true, alias: "horizontalAlign", required: false }] }], initialFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "initialFocus", required: false }] }], modal: [{ type: i0.Input, args: [{ isSignal: true, alias: "modal", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], opener: [{ type: i0.Input, args: [{ isSignal: true, alias: "opener", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], preventFocusRestore: [{ type: i0.Input, args: [{ isSignal: true, alias: "preventFocusRestore", required: false }] }], preventInitialFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "preventInitialFocus", required: false }] }], resizable: [{ type: i0.Input, args: [{ isSignal: true, alias: "resizable", required: false }] }], verticalAlign: [{ type: i0.Input, args: [{ isSignal: true, alias: "verticalAlign", required: false }] }], ui5BeforeClose: [{ type: i0.Output, args: ["ui5BeforeClose"] }], ui5BeforeOpen: [{ type: i0.Output, args: ["ui5BeforeOpen"] }], ui5Close: [{ type: i0.Output, args: ["ui5Close"] }], ui5Open: [{ type: i0.Output, args: ["ui5Open"] }] } });
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Generated bundle index. Do not edit.
|
|
239
|
+
*/
|
|
240
|
+
|
|
241
|
+
export { Popover };
|
|
242
|
+
//# sourceMappingURL=fundamental-ngx-ui5-webcomponents-popover.mjs.map
|