@fundamental-ngx/ui5-webcomponents 0.59.1-rc.8 → 0.59.1
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 +76 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-avatar-badge.mjs.map +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-avatar.mjs +2 -3
- package/fesm2022/fundamental-ngx-ui5-webcomponents-avatar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-ui5-webcomponents-color-palette-popover.mjs +8 -3
- package/fesm2022/fundamental-ngx-ui5-webcomponents-color-palette-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-ui5-webcomponents-date-picker.mjs +8 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-date-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-ui5-webcomponents-date-range-picker.mjs +7 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-date-range-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-ui5-webcomponents-date-time-picker.mjs +8 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-date-time-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-ui5-webcomponents-input.mjs +8 -3
- package/fesm2022/fundamental-ngx-ui5-webcomponents-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-ui5-webcomponents-list.mjs +9 -2
- package/fesm2022/fundamental-ngx-ui5-webcomponents-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-combo-box.mjs +14 -2
- package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-combo-box.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-input.mjs +8 -3
- package/fesm2022/fundamental-ngx-ui5-webcomponents-multi-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-ui5-webcomponents-popover.mjs +9 -3
- package/fesm2022/fundamental-ngx-ui5-webcomponents-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-ui5-webcomponents-responsive-popover.mjs +9 -3
- package/fesm2022/fundamental-ngx-ui5-webcomponents-responsive-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-ui5-webcomponents-types.mjs +1 -0
- package/fesm2022/fundamental-ngx-ui5-webcomponents-types.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-ui5-webcomponents.mjs +159 -23
- package/fesm2022/fundamental-ngx-ui5-webcomponents.mjs.map +1 -1
- package/package.json +8 -3
- package/types/fundamental-ngx-ui5-webcomponents-avatar-badge.d.ts +33 -0
- package/types/fundamental-ngx-ui5-webcomponents-avatar.d.ts +1 -2
- package/types/fundamental-ngx-ui5-webcomponents-color-palette-popover.d.ts +5 -1
- package/types/fundamental-ngx-ui5-webcomponents-date-picker.d.ts +6 -0
- package/types/fundamental-ngx-ui5-webcomponents-date-range-picker.d.ts +5 -0
- package/types/fundamental-ngx-ui5-webcomponents-date-time-picker.d.ts +6 -0
- package/types/fundamental-ngx-ui5-webcomponents-input.d.ts +5 -1
- package/types/fundamental-ngx-ui5-webcomponents-list.d.ts +7 -1
- package/types/fundamental-ngx-ui5-webcomponents-multi-combo-box.d.ts +11 -1
- package/types/fundamental-ngx-ui5-webcomponents-multi-input.d.ts +5 -1
- package/types/fundamental-ngx-ui5-webcomponents-popover.d.ts +7 -2
- package/types/fundamental-ngx-ui5-webcomponents-responsive-popover.d.ts +7 -2
- package/types/fundamental-ngx-ui5-webcomponents-types.d.ts +1 -0
- package/types/fundamental-ngx-ui5-webcomponents.d.ts +130 -46
|
@@ -94,7 +94,11 @@ class Input {
|
|
|
94
94
|
The picker will not open if the `showSuggestions` property is set to `false`, the input is disabled or the input is readonly.
|
|
95
95
|
The picker will close automatically and `close` event will be fired if the input is not in the viewport.
|
|
96
96
|
*/
|
|
97
|
-
this.open = input(false, { ...(ngDevMode ? { debugName: "open" } : {}), transform: booleanAttribute });
|
|
97
|
+
this.open = input(false, { ...(ngDevMode ? { debugName: "open" } : {}), transform: booleanAttribute });
|
|
98
|
+
/**
|
|
99
|
+
* Defines the filter type of the component.
|
|
100
|
+
*/
|
|
101
|
+
this.filter = input("None", ...(ngDevMode ? [{ debugName: "filter" }] : [])); // className is now passed
|
|
98
102
|
/**
|
|
99
103
|
* Fired when the input operation has finished by pressing Enter or on focusout.
|
|
100
104
|
*/
|
|
@@ -197,6 +201,7 @@ class Input {
|
|
|
197
201
|
'accessibleDescriptionRef',
|
|
198
202
|
'showClearIcon',
|
|
199
203
|
'open',
|
|
204
|
+
'filter',
|
|
200
205
|
];
|
|
201
206
|
// Synchronize inputs (properties)
|
|
202
207
|
for (const inputName of inputsToSync) {
|
|
@@ -238,7 +243,7 @@ class Input {
|
|
|
238
243
|
}
|
|
239
244
|
}
|
|
240
245
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Input, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
241
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: Input, isStandalone: true, selector: "ui5-input, [ui5-input]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, noTypeahead: { classPropertyName: "noTypeahead", publicName: "noTypeahead", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, valueState: { classPropertyName: "valueState", publicName: "valueState", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, showSuggestions: { classPropertyName: "showSuggestions", publicName: "showSuggestions", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", 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 }, accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescriptionRef: { classPropertyName: "accessibleDescriptionRef", publicName: "accessibleDescriptionRef", isSignal: true, isRequired: false, transformFunction: null }, showClearIcon: { classPropertyName: "showClearIcon", publicName: "showClearIcon", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change", ui5Input: "ui5Input", ui5Select: "ui5Select", ui5SelectionChange: "ui5SelectionChange", ui5Open: "ui5Open", ui5Close: "ui5Close" }, exportAs: ["ui5Input"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
246
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: Input, isStandalone: true, selector: "ui5-input, [ui5-input]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, noTypeahead: { classPropertyName: "noTypeahead", publicName: "noTypeahead", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, valueState: { classPropertyName: "valueState", publicName: "valueState", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, showSuggestions: { classPropertyName: "showSuggestions", publicName: "showSuggestions", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", 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 }, accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescriptionRef: { classPropertyName: "accessibleDescriptionRef", publicName: "accessibleDescriptionRef", isSignal: true, isRequired: false, transformFunction: null }, showClearIcon: { classPropertyName: "showClearIcon", publicName: "showClearIcon", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change", ui5Input: "ui5Input", ui5Select: "ui5Select", ui5SelectionChange: "ui5SelectionChange", ui5Open: "ui5Open", ui5Close: "ui5Close" }, exportAs: ["ui5Input"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
242
247
|
}
|
|
243
248
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Input, decorators: [{
|
|
244
249
|
type: Component,
|
|
@@ -250,7 +255,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
|
|
|
250
255
|
hostDirectives: [GenericControlValueAccessor],
|
|
251
256
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
252
257
|
}]
|
|
253
|
-
}], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], noTypeahead: [{ type: i0.Input, args: [{ isSignal: true, alias: "noTypeahead", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], valueState: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueState", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], showSuggestions: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSuggestions", required: false }] }], maxlength: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxlength", required: false }] }], accessibleName: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleName", required: false }] }], accessibleNameRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleNameRef", required: false }] }], accessibleDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleDescription", required: false }] }], accessibleDescriptionRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleDescriptionRef", required: false }] }], showClearIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClearIcon", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], ui5Change: [{ type: i0.Output, args: ["ui5Change"] }], ui5Input: [{ type: i0.Output, args: ["ui5Input"] }], ui5Select: [{ type: i0.Output, args: ["ui5Select"] }], ui5SelectionChange: [{ type: i0.Output, args: ["ui5SelectionChange"] }], ui5Open: [{ type: i0.Output, args: ["ui5Open"] }], ui5Close: [{ type: i0.Output, args: ["ui5Close"] }] } });
|
|
258
|
+
}], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], noTypeahead: [{ type: i0.Input, args: [{ isSignal: true, alias: "noTypeahead", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], valueState: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueState", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], showSuggestions: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSuggestions", required: false }] }], maxlength: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxlength", required: false }] }], accessibleName: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleName", required: false }] }], accessibleNameRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleNameRef", required: false }] }], accessibleDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleDescription", required: false }] }], accessibleDescriptionRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleDescriptionRef", required: false }] }], showClearIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClearIcon", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], filter: [{ type: i0.Input, args: [{ isSignal: true, alias: "filter", required: false }] }], ui5Change: [{ type: i0.Output, args: ["ui5Change"] }], ui5Input: [{ type: i0.Output, args: ["ui5Input"] }], ui5Select: [{ type: i0.Output, args: ["ui5Select"] }], ui5SelectionChange: [{ type: i0.Output, args: ["ui5SelectionChange"] }], ui5Open: [{ type: i0.Output, args: ["ui5Open"] }], ui5Close: [{ type: i0.Output, args: ["ui5Close"] }] } });
|
|
254
259
|
|
|
255
260
|
/**
|
|
256
261
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-ui5-webcomponents-input.mjs","sources":["../../../../libs/ui5-webcomponents/input/index.ts","../../../../libs/ui5-webcomponents/input/fundamental-ngx-ui5-webcomponents-input.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/Input.js';\nimport { default as _Input } from '@ui5/webcomponents/dist/Input.js';\nimport { UI5CustomEvent } from '@ui5/webcomponents-base';\nimport { GenericControlValueAccessor } from '@fundamental-ngx/ui5-webcomponents/utils';\nimport { default as InputType } from '@ui5/webcomponents/dist/types/InputType.js';\nimport { default as ValueState } from '@ui5/webcomponents-base/dist/types/ValueState.js';\n\n@Component({\n standalone: true,\n selector: 'ui5-input, [ui5-input]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5Input',\n hostDirectives: [GenericControlValueAccessor],\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Input implements AfterViewInit {\n\n /**\n * Defines whether the component is in disabled state.\n\n**Note:** A disabled component is completely noninteractive.\n */\n disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Defines a short hint intended to aid the user with data entry when the\ncomponent has no value.\n */\n placeholder = input<typeof _Input.prototype.placeholder | undefined>();\n\n /**\n * Defines whether the component is read-only.\n\n**Note:** A read-only component is not editable,\nbut still provides visual feedback upon user interaction.\n */\n readonly = input(false, { transform: booleanAttribute });\n\n /**\n * Defines whether the component is required.\n */\n required = input(false, { transform: booleanAttribute });\n\n /**\n * Defines whether the value will be autcompleted to match an item\n */\n noTypeahead = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the HTML type of the component.\n\n**Notes:**\n\n- The particular effect of this property differs depending on the browser\nand the current language settings, especially for type `Number`.\n- The property is mostly intended to be used with touch devices\nthat use different soft keyboard layouts depending on the given input type.\n */\n type = input<typeof _Input.prototype.type | undefined>(\"Text\");\n\n /**\n * Defines the value of the component.\n\n**Note:** The property is updated upon typing.\n */\n value = input<typeof _Input.prototype.value | undefined>(\"\");\n\n /**\n * Defines the value state of the component.\n */\n valueState = input<typeof _Input.prototype.valueState | undefined>(\"None\");\n\n /**\n * Determines the name by which the component will be identified upon submission in an HTML form.\n\n**Note:** This property is only applicable within the context of an HTML Form element.\n */\n name = input<typeof _Input.prototype.name | undefined>();\n\n /**\n * Defines whether the component should show suggestions, if such are present.\n */\n showSuggestions = input(false, { transform: booleanAttribute });\n\n /**\n * Sets the maximum number of characters available in the input field.\n\n**Note:** This property is not compatible with the ui5-input type InputType.Number. If the ui5-input type is set to Number, the maxlength value is ignored.\n */\n maxlength = input<typeof _Input.prototype.maxlength | undefined>();\n\n /**\n * Defines the accessible ARIA name of the component.\n */\n accessibleName = input<typeof _Input.prototype.accessibleName | undefined>();\n\n /**\n * Receives id(or many ids) of the elements that label the input.\n */\n accessibleNameRef = input<typeof _Input.prototype.accessibleNameRef | undefined>();\n\n /**\n * Defines the accessible description of the component.\n */\n accessibleDescription = input<typeof _Input.prototype.accessibleDescription | undefined>();\n\n /**\n * Receives id(or many ids) of the elements that describe the input.\n */\n accessibleDescriptionRef = input<typeof _Input.prototype.accessibleDescriptionRef | undefined>();\n\n /**\n * Defines whether the clear icon of the input will be shown.\n */\n showClearIcon = input(false, { transform: booleanAttribute });\n\n /**\n * Defines whether the suggestions picker is open.\nThe picker will not open if the `showSuggestions` property is set to `false`, the input is disabled or the input is readonly.\nThe picker will close automatically and `close` event will be fired if the input is not in the viewport.\n */\n open = input(false, { transform: booleanAttribute }); // className is now passed\n\n\n\n /**\n * Fired when the input operation has finished by pressing Enter or on focusout.\n */\n ui5Change = output<UI5CustomEvent<_Input, 'change'>>();\n\n /**\n * Fired when the value of the component changes at each keystroke,\nand when a suggestion item has been selected.\n */\n ui5Input = output<UI5CustomEvent<_Input, 'input'>>();\n\n /**\n * Fired when some text has been selected.\n */\n ui5Select = output<UI5CustomEvent<_Input, 'select'>>();\n\n /**\n * Fired when the user navigates to a suggestion item via the ARROW keys,\nas a preview, before the final selection.\n */\n ui5SelectionChange = output<UI5CustomEvent<_Input, 'selection-change'>>();\n\n /**\n * Fired when the suggestions picker is open.\n */\n ui5Open = output<UI5CustomEvent<_Input, 'open'>>();\n\n /**\n * Fired when the suggestions picker is closed.\n */\n ui5Close = output<UI5CustomEvent<_Input, 'close'>>();\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 suggestion items.\n\n**Note:** The suggestions would be displayed only if the `showSuggestions`\nproperty is set to `true`.\n\n**Note:** The `<ui5-suggestion-item>`, `<ui5-suggestion-item-group>` and `ui5-suggestion-item-custom` are recommended to be used as suggestion items.\n * - **icon**: Defines the icon to be displayed in the component.\n * - **valueStateMessage**: Defines the value state message that will be displayed as pop up under the component.\nThe value state message slot should contain only one root element.\n\n**Note:** If not specified, a default text (in the respective language) will be displayed.\n\n**Note:** The `valueStateMessage` would be displayed,\nwhen the component is in `Information`, `Critical` or `Negative` value state.\n\n**Note:** If the component has `suggestionItems`,\nthe `valueStateMessage` would be displayed as part of the same popover, if used on desktop, or dialog - on phone.\n * \n * @example\n * ```html\n * <ui5-input>\n * <div slot=\"header\">Custom header content</div>\n * <p>Default slot content</p>\n * </ui5-input>\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 suggestion items.\\n\\n**Note:** The suggestions would be displayed only if the `showSuggestions`\\nproperty is set to `true`.\\n\\n**Note:** The `<ui5-suggestion-item>`, `<ui5-suggestion-item-group>` and `ui5-suggestion-item-custom` are recommended to be used as suggestion items.\"\n },\n {\n \"name\": \"icon\",\n \"description\": \"Defines the icon to be displayed in the component.\"\n },\n {\n \"name\": \"valueStateMessage\",\n \"description\": \"Defines the value state message that will be displayed as pop up under the component.\\nThe value state message slot should contain only one root element.\\n\\n**Note:** If not specified, a default text (in the respective language) will be displayed.\\n\\n**Note:** The `valueStateMessage` would be displayed,\\nwhen the component is in `Information`, `Critical` or `Negative` value state.\\n\\n**Note:** If the component has `suggestionItems`,\\nthe `valueStateMessage` would be displayed as part of the same popover, if used on desktop, or dialog - on phone.\",\n \"since\": \"1.0.0-rc.6\"\n }\n ];\n\n\n public elementRef: ElementRef<_Input> = inject(ElementRef);\n public injector = inject(Injector);\n\n get element(): _Input {\n return this.elementRef.nativeElement;\n }\n\n ngAfterViewInit(): void {\n const wcElement = this.element;\n \n const inputsToSync = [\n 'disabled',\n 'placeholder',\n 'readonly',\n 'required',\n 'noTypeahead',\n 'type',\n 'value',\n 'valueState',\n 'name',\n 'showSuggestions',\n 'maxlength',\n 'accessibleName',\n 'accessibleNameRef',\n 'accessibleDescription',\n 'accessibleDescriptionRef',\n 'showClearIcon',\n 'open',\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 'ui5Change',\n 'ui5Input',\n 'ui5Select',\n 'ui5SelectionChange',\n 'ui5Open',\n 'ui5Close',\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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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-ui5-webcomponents-input.mjs","sources":["../../../../libs/ui5-webcomponents/input/index.ts","../../../../libs/ui5-webcomponents/input/fundamental-ngx-ui5-webcomponents-input.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/Input.js';\nimport { default as _Input } from '@ui5/webcomponents/dist/Input.js';\nimport { UI5CustomEvent } from '@ui5/webcomponents-base';\nimport { GenericControlValueAccessor } from '@fundamental-ngx/ui5-webcomponents/utils';\nimport { default as InputType } from '@ui5/webcomponents/dist/types/InputType.js';\nimport { default as ValueState } from '@ui5/webcomponents-base/dist/types/ValueState.js';\nimport { default as InputSuggestionsFilter } from '@ui5/webcomponents/dist/types/InputSuggestionsFilter.js';\n\n@Component({\n standalone: true,\n selector: 'ui5-input, [ui5-input]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5Input',\n hostDirectives: [GenericControlValueAccessor],\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Input implements AfterViewInit {\n\n /**\n * Defines whether the component is in disabled state.\n\n**Note:** A disabled component is completely noninteractive.\n */\n disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Defines a short hint intended to aid the user with data entry when the\ncomponent has no value.\n */\n placeholder = input<typeof _Input.prototype.placeholder | undefined>();\n\n /**\n * Defines whether the component is read-only.\n\n**Note:** A read-only component is not editable,\nbut still provides visual feedback upon user interaction.\n */\n readonly = input(false, { transform: booleanAttribute });\n\n /**\n * Defines whether the component is required.\n */\n required = input(false, { transform: booleanAttribute });\n\n /**\n * Defines whether the value will be autcompleted to match an item\n */\n noTypeahead = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the HTML type of the component.\n\n**Notes:**\n\n- The particular effect of this property differs depending on the browser\nand the current language settings, especially for type `Number`.\n- The property is mostly intended to be used with touch devices\nthat use different soft keyboard layouts depending on the given input type.\n */\n type = input<typeof _Input.prototype.type | undefined>(\"Text\");\n\n /**\n * Defines the value of the component.\n\n**Note:** The property is updated upon typing.\n */\n value = input<typeof _Input.prototype.value | undefined>(\"\");\n\n /**\n * Defines the value state of the component.\n */\n valueState = input<typeof _Input.prototype.valueState | undefined>(\"None\");\n\n /**\n * Determines the name by which the component will be identified upon submission in an HTML form.\n\n**Note:** This property is only applicable within the context of an HTML Form element.\n */\n name = input<typeof _Input.prototype.name | undefined>();\n\n /**\n * Defines whether the component should show suggestions, if such are present.\n */\n showSuggestions = input(false, { transform: booleanAttribute });\n\n /**\n * Sets the maximum number of characters available in the input field.\n\n**Note:** This property is not compatible with the ui5-input type InputType.Number. If the ui5-input type is set to Number, the maxlength value is ignored.\n */\n maxlength = input<typeof _Input.prototype.maxlength | undefined>();\n\n /**\n * Defines the accessible ARIA name of the component.\n */\n accessibleName = input<typeof _Input.prototype.accessibleName | undefined>();\n\n /**\n * Receives id(or many ids) of the elements that label the input.\n */\n accessibleNameRef = input<typeof _Input.prototype.accessibleNameRef | undefined>();\n\n /**\n * Defines the accessible description of the component.\n */\n accessibleDescription = input<typeof _Input.prototype.accessibleDescription | undefined>();\n\n /**\n * Receives id(or many ids) of the elements that describe the input.\n */\n accessibleDescriptionRef = input<typeof _Input.prototype.accessibleDescriptionRef | undefined>();\n\n /**\n * Defines whether the clear icon of the input will be shown.\n */\n showClearIcon = input(false, { transform: booleanAttribute });\n\n /**\n * Defines whether the suggestions picker is open.\nThe picker will not open if the `showSuggestions` property is set to `false`, the input is disabled or the input is readonly.\nThe picker will close automatically and `close` event will be fired if the input is not in the viewport.\n */\n open = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the filter type of the component.\n */\n filter = input<typeof _Input.prototype.filter | undefined>(\"None\"); // className is now passed\n\n\n\n /**\n * Fired when the input operation has finished by pressing Enter or on focusout.\n */\n ui5Change = output<UI5CustomEvent<_Input, 'change'>>();\n\n /**\n * Fired when the value of the component changes at each keystroke,\nand when a suggestion item has been selected.\n */\n ui5Input = output<UI5CustomEvent<_Input, 'input'>>();\n\n /**\n * Fired when some text has been selected.\n */\n ui5Select = output<UI5CustomEvent<_Input, 'select'>>();\n\n /**\n * Fired when the user navigates to a suggestion item via the ARROW keys,\nas a preview, before the final selection.\n */\n ui5SelectionChange = output<UI5CustomEvent<_Input, 'selection-change'>>();\n\n /**\n * Fired when the suggestions picker is open.\n */\n ui5Open = output<UI5CustomEvent<_Input, 'open'>>();\n\n /**\n * Fired when the suggestions picker is closed.\n */\n ui5Close = output<UI5CustomEvent<_Input, 'close'>>();\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 suggestion items.\n\n**Note:** The suggestions would be displayed only if the `showSuggestions`\nproperty is set to `true`.\n\n**Note:** The `<ui5-suggestion-item>`, `<ui5-suggestion-item-group>` and `ui5-suggestion-item-custom` are recommended to be used as suggestion items.\n * - **icon**: Defines the icon to be displayed in the component.\n * - **valueStateMessage**: Defines the value state message that will be displayed as pop up under the component.\nThe value state message slot should contain only one root element.\n\n**Note:** If not specified, a default text (in the respective language) will be displayed.\n\n**Note:** The `valueStateMessage` would be displayed,\nwhen the component is in `Information`, `Critical` or `Negative` value state.\n\n**Note:** If the component has `suggestionItems`,\nthe `valueStateMessage` would be displayed as part of the same popover, if used on desktop, or dialog - on phone.\n * \n * @example\n * ```html\n * <ui5-input>\n * <div slot=\"header\">Custom header content</div>\n * <p>Default slot content</p>\n * </ui5-input>\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 suggestion items.\\n\\n**Note:** The suggestions would be displayed only if the `showSuggestions`\\nproperty is set to `true`.\\n\\n**Note:** The `<ui5-suggestion-item>`, `<ui5-suggestion-item-group>` and `ui5-suggestion-item-custom` are recommended to be used as suggestion items.\"\n },\n {\n \"name\": \"icon\",\n \"description\": \"Defines the icon to be displayed in the component.\"\n },\n {\n \"name\": \"valueStateMessage\",\n \"description\": \"Defines the value state message that will be displayed as pop up under the component.\\nThe value state message slot should contain only one root element.\\n\\n**Note:** If not specified, a default text (in the respective language) will be displayed.\\n\\n**Note:** The `valueStateMessage` would be displayed,\\nwhen the component is in `Information`, `Critical` or `Negative` value state.\\n\\n**Note:** If the component has `suggestionItems`,\\nthe `valueStateMessage` would be displayed as part of the same popover, if used on desktop, or dialog - on phone.\",\n \"since\": \"1.0.0-rc.6\"\n }\n ];\n\n\n public elementRef: ElementRef<_Input> = inject(ElementRef);\n public injector = inject(Injector);\n\n get element(): _Input {\n return this.elementRef.nativeElement;\n }\n\n ngAfterViewInit(): void {\n const wcElement = this.element;\n \n const inputsToSync = [\n 'disabled',\n 'placeholder',\n 'readonly',\n 'required',\n 'noTypeahead',\n 'type',\n 'value',\n 'valueState',\n 'name',\n 'showSuggestions',\n 'maxlength',\n 'accessibleName',\n 'accessibleNameRef',\n 'accessibleDescription',\n 'accessibleDescriptionRef',\n 'showClearIcon',\n 'open',\n 'filter',\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 'ui5Change',\n 'ui5Input',\n 'ui5Select',\n 'ui5SelectionChange',\n 'ui5Open',\n 'ui5Close',\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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"}
|
|
@@ -54,6 +54,12 @@ class List {
|
|
|
54
54
|
* Defines the delay in milliseconds, after which the loading indicator will show up for this component.
|
|
55
55
|
*/
|
|
56
56
|
this.loadingDelay = input(1000, ...(ngDevMode ? [{ debugName: "loadingDelay" }] : []));
|
|
57
|
+
/**
|
|
58
|
+
* Indicates whether the List header is sticky or not.
|
|
59
|
+
If stickyHeader is set to true, then whenever you scroll the content or
|
|
60
|
+
the application, the header of the list will be always visible.
|
|
61
|
+
*/
|
|
62
|
+
this.stickyHeader = input(false, { ...(ngDevMode ? { debugName: "stickyHeader" } : {}), transform: booleanAttribute });
|
|
57
63
|
/**
|
|
58
64
|
* Defines the accessible name of the component.
|
|
59
65
|
*/
|
|
@@ -205,6 +211,7 @@ class List {
|
|
|
205
211
|
'growingButtonText',
|
|
206
212
|
'loading',
|
|
207
213
|
'loadingDelay',
|
|
214
|
+
'stickyHeader',
|
|
208
215
|
'accessibleName',
|
|
209
216
|
'accessibilityAttributes',
|
|
210
217
|
'accessibleNameRef',
|
|
@@ -254,7 +261,7 @@ class List {
|
|
|
254
261
|
}
|
|
255
262
|
}
|
|
256
263
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: List, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
257
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: List, isStandalone: true, selector: "ui5-list, [ui5-list]", inputs: { headerText: { classPropertyName: "headerText", publicName: "headerText", isSignal: true, isRequired: false, transformFunction: null }, footerText: { classPropertyName: "footerText", publicName: "footerText", isSignal: true, isRequired: false, transformFunction: null }, indent: { classPropertyName: "indent", publicName: "indent", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, noDataText: { classPropertyName: "noDataText", publicName: "noDataText", isSignal: true, isRequired: false, transformFunction: null }, separators: { classPropertyName: "separators", publicName: "separators", isSignal: true, isRequired: false, transformFunction: null }, growing: { classPropertyName: "growing", publicName: "growing", isSignal: true, isRequired: false, transformFunction: null }, growingButtonText: { classPropertyName: "growingButtonText", publicName: "growingButtonText", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, loadingDelay: { classPropertyName: "loadingDelay", publicName: "loadingDelay", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescriptionRef: { classPropertyName: "accessibleDescriptionRef", publicName: "accessibleDescriptionRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleRole: { classPropertyName: "accessibleRole", publicName: "accessibleRole", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5ItemClick: "ui5ItemClick", ui5ItemClose: "ui5ItemClose", ui5ItemToggle: "ui5ItemToggle", ui5ItemDelete: "ui5ItemDelete", ui5SelectionChange: "ui5SelectionChange", ui5LoadMore: "ui5LoadMore", ui5MoveOver: "ui5MoveOver", ui5Move: "ui5Move" }, exportAs: ["ui5List"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
264
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: List, isStandalone: true, selector: "ui5-list, [ui5-list]", inputs: { headerText: { classPropertyName: "headerText", publicName: "headerText", isSignal: true, isRequired: false, transformFunction: null }, footerText: { classPropertyName: "footerText", publicName: "footerText", isSignal: true, isRequired: false, transformFunction: null }, indent: { classPropertyName: "indent", publicName: "indent", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, noDataText: { classPropertyName: "noDataText", publicName: "noDataText", isSignal: true, isRequired: false, transformFunction: null }, separators: { classPropertyName: "separators", publicName: "separators", isSignal: true, isRequired: false, transformFunction: null }, growing: { classPropertyName: "growing", publicName: "growing", isSignal: true, isRequired: false, transformFunction: null }, growingButtonText: { classPropertyName: "growingButtonText", publicName: "growingButtonText", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, loadingDelay: { classPropertyName: "loadingDelay", publicName: "loadingDelay", isSignal: true, isRequired: false, transformFunction: null }, stickyHeader: { classPropertyName: "stickyHeader", publicName: "stickyHeader", isSignal: true, isRequired: false, transformFunction: null }, accessibleName: { classPropertyName: "accessibleName", publicName: "accessibleName", isSignal: true, isRequired: false, transformFunction: null }, accessibilityAttributes: { classPropertyName: "accessibilityAttributes", publicName: "accessibilityAttributes", isSignal: true, isRequired: false, transformFunction: null }, accessibleNameRef: { classPropertyName: "accessibleNameRef", publicName: "accessibleNameRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescriptionRef: { classPropertyName: "accessibleDescriptionRef", publicName: "accessibleDescriptionRef", isSignal: true, isRequired: false, transformFunction: null }, accessibleRole: { classPropertyName: "accessibleRole", publicName: "accessibleRole", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5ItemClick: "ui5ItemClick", ui5ItemClose: "ui5ItemClose", ui5ItemToggle: "ui5ItemToggle", ui5ItemDelete: "ui5ItemDelete", ui5SelectionChange: "ui5SelectionChange", ui5LoadMore: "ui5LoadMore", ui5MoveOver: "ui5MoveOver", ui5Move: "ui5Move" }, exportAs: ["ui5List"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
258
265
|
}
|
|
259
266
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: List, decorators: [{
|
|
260
267
|
type: Component,
|
|
@@ -265,7 +272,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
|
|
|
265
272
|
exportAs: 'ui5List',
|
|
266
273
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
267
274
|
}]
|
|
268
|
-
}], propDecorators: { headerText: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerText", required: false }] }], footerText: [{ type: i0.Input, args: [{ isSignal: true, alias: "footerText", required: false }] }], indent: [{ type: i0.Input, args: [{ isSignal: true, alias: "indent", required: false }] }], selectionMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionMode", required: false }] }], noDataText: [{ type: i0.Input, args: [{ isSignal: true, alias: "noDataText", required: false }] }], separators: [{ type: i0.Input, args: [{ isSignal: true, alias: "separators", required: false }] }], growing: [{ type: i0.Input, args: [{ isSignal: true, alias: "growing", required: false }] }], growingButtonText: [{ type: i0.Input, args: [{ isSignal: true, alias: "growingButtonText", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], loadingDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadingDelay", required: false }] }], accessibleName: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleName", required: false }] }], accessibilityAttributes: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibilityAttributes", required: false }] }], accessibleNameRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleNameRef", required: false }] }], accessibleDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleDescription", required: false }] }], accessibleDescriptionRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleDescriptionRef", required: false }] }], accessibleRole: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleRole", required: false }] }], ui5ItemClick: [{ type: i0.Output, args: ["ui5ItemClick"] }], ui5ItemClose: [{ type: i0.Output, args: ["ui5ItemClose"] }], ui5ItemToggle: [{ type: i0.Output, args: ["ui5ItemToggle"] }], ui5ItemDelete: [{ type: i0.Output, args: ["ui5ItemDelete"] }], ui5SelectionChange: [{ type: i0.Output, args: ["ui5SelectionChange"] }], ui5LoadMore: [{ type: i0.Output, args: ["ui5LoadMore"] }], ui5MoveOver: [{ type: i0.Output, args: ["ui5MoveOver"] }], ui5Move: [{ type: i0.Output, args: ["ui5Move"] }] } });
|
|
275
|
+
}], propDecorators: { headerText: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerText", required: false }] }], footerText: [{ type: i0.Input, args: [{ isSignal: true, alias: "footerText", required: false }] }], indent: [{ type: i0.Input, args: [{ isSignal: true, alias: "indent", required: false }] }], selectionMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionMode", required: false }] }], noDataText: [{ type: i0.Input, args: [{ isSignal: true, alias: "noDataText", required: false }] }], separators: [{ type: i0.Input, args: [{ isSignal: true, alias: "separators", required: false }] }], growing: [{ type: i0.Input, args: [{ isSignal: true, alias: "growing", required: false }] }], growingButtonText: [{ type: i0.Input, args: [{ isSignal: true, alias: "growingButtonText", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], loadingDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadingDelay", required: false }] }], stickyHeader: [{ type: i0.Input, args: [{ isSignal: true, alias: "stickyHeader", required: false }] }], accessibleName: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleName", required: false }] }], accessibilityAttributes: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibilityAttributes", required: false }] }], accessibleNameRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleNameRef", required: false }] }], accessibleDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleDescription", required: false }] }], accessibleDescriptionRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleDescriptionRef", required: false }] }], accessibleRole: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleRole", required: false }] }], ui5ItemClick: [{ type: i0.Output, args: ["ui5ItemClick"] }], ui5ItemClose: [{ type: i0.Output, args: ["ui5ItemClose"] }], ui5ItemToggle: [{ type: i0.Output, args: ["ui5ItemToggle"] }], ui5ItemDelete: [{ type: i0.Output, args: ["ui5ItemDelete"] }], ui5SelectionChange: [{ type: i0.Output, args: ["ui5SelectionChange"] }], ui5LoadMore: [{ type: i0.Output, args: ["ui5LoadMore"] }], ui5MoveOver: [{ type: i0.Output, args: ["ui5MoveOver"] }], ui5Move: [{ type: i0.Output, args: ["ui5Move"] }] } });
|
|
269
276
|
|
|
270
277
|
/**
|
|
271
278
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-ui5-webcomponents-list.mjs","sources":["../../../../libs/ui5-webcomponents/list/index.ts","../../../../libs/ui5-webcomponents/list/fundamental-ngx-ui5-webcomponents-list.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/List.js';\nimport { default as _List } from '@ui5/webcomponents/dist/List.js';\nimport { UI5CustomEvent } from '@ui5/webcomponents-base';\n\nimport { default as ListSelectionMode } from '@ui5/webcomponents/dist/types/ListSelectionMode.js';\nimport { default as ListSeparator } from '@ui5/webcomponents/dist/types/ListSeparator.js';\nimport { default as ListGrowingMode } from '@ui5/webcomponents/dist/types/ListGrowingMode.js';\nimport { ListAccessibilityAttributes } from '@ui5/webcomponents/dist/List.js';\nimport { default as ListAccessibleRole } from '@ui5/webcomponents/dist/types/ListAccessibleRole.js';\nimport { default as ListItemBase } from '@ui5/webcomponents/dist/ListItemBase.js';\n\n@Component({\n standalone: true,\n selector: 'ui5-list, [ui5-list]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5List',\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class List implements AfterViewInit {\n\n /**\n * Defines the component header text.\n\n**Note:** If `header` is set this property is ignored.\n */\n headerText = input<typeof _List.prototype.headerText | undefined>();\n\n /**\n * Defines the footer text.\n */\n footerText = input<typeof _List.prototype.footerText | undefined>();\n\n /**\n * Determines whether the component is indented.\n */\n indent = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the selection mode of the component.\n */\n selectionMode = input<typeof _List.prototype.selectionMode | undefined>(\"None\");\n\n /**\n * Defines the text that is displayed when the component contains no items.\n */\n noDataText = input<typeof _List.prototype.noDataText | undefined>();\n\n /**\n * Defines the item separator style that is used.\n */\n separators = input<typeof _List.prototype.separators | undefined>(\"All\");\n\n /**\n * Defines whether the component will have growing capability either by pressing a `More` button,\nor via user scroll. In both cases `load-more` event is fired.\n\n**Restrictions:** `growing=\"Scroll\"` is not supported for Internet Explorer,\non IE the component will fallback to `growing=\"Button\"`.\n */\n growing = input<typeof _List.prototype.growing | undefined>(\"None\");\n\n /**\n * Defines the text that will be displayed inside the growing button.\n\n**Note:** If not specified a built-in text will be displayed.\n\n**Note:** This property takes effect if the `growing` property is set to the `Button`.\n */\n growingButtonText = input<typeof _List.prototype.growingButtonText | undefined>();\n\n /**\n * Defines if the component would display a loading indicator over the list.\n */\n loading = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the delay in milliseconds, after which the loading indicator will show up for this component.\n */\n loadingDelay = input<typeof _List.prototype.loadingDelay | undefined>(1000);\n\n /**\n * Defines the accessible name of the component.\n */\n accessibleName = input<typeof _List.prototype.accessibleName | undefined>();\n\n /**\n * Defines additional accessibility attributes on different areas of the component.\n\nThe accessibilityAttributes object has the following field:\n\n - **growingButton**: `growingButton.name`, `growingButton.description`.\n\n The accessibility attributes support the following values:\n\n- **name**: Defines the accessible ARIA name of the growing button.\nAccepts any string.\n\n- **description**: Defines the accessible ARIA description of the growing button.\nAccepts any string.\n\n **Note:** The `accessibilityAttributes` property is in an experimental state and is a subject to change.\n */\n accessibilityAttributes = input<typeof _List.prototype.accessibilityAttributes | undefined>({});\n\n /**\n * Defines the IDs of the elements that label the component.\n */\n accessibleNameRef = input<typeof _List.prototype.accessibleNameRef | undefined>();\n\n /**\n * Defines the accessible description of the component.\n */\n accessibleDescription = input<typeof _List.prototype.accessibleDescription | undefined>();\n\n /**\n * Defines the IDs of the elements that describe the component.\n */\n accessibleDescriptionRef = input<typeof _List.prototype.accessibleDescriptionRef | undefined>();\n\n /**\n * Defines the accessible role of the component.\n */\n accessibleRole = input<typeof _List.prototype.accessibleRole | undefined>(\"List\"); // className is now passed\n\n /**\n * Returns an array containing the list item instances without the groups in a flat structure.\n * @readonly This property is managed by the web component.\n */\n get listItems(): Array<ListItemBase> {\n return this.element?.listItems ?? [];\n }\n\n\n /**\n * Fired when an item is activated, unless the item's `type` property\nis set to `Inactive`.\n\n**Note**: This event is not triggered by interactions with selection components such as the checkboxes and radio buttons,\nassociated with non-default `selectionMode` values, or if any other **interactive** component\n(such as a button or input) within the list item is directly clicked.\n */\n ui5ItemClick = output<UI5CustomEvent<_List, 'item-click'>>();\n\n /**\n * Fired when the `Close` button of any item is clicked\n\n**Note:** This event is only applicable to list items that can be closed (such as notification list items),\nnot to be confused with `item-delete`.\n */\n ui5ItemClose = output<UI5CustomEvent<_List, 'item-close'>>();\n\n /**\n * Fired when the `Toggle` button of any item is clicked.\n\n**Note:** This event is only applicable to list items that can be toggled (such as notification group list items).\n */\n ui5ItemToggle = output<UI5CustomEvent<_List, 'item-toggle'>>();\n\n /**\n * Fired when the Delete button of any item is pressed.\n\n**Note:** A Delete button is displayed on each item,\nwhen the component `selectionMode` property is set to `Delete`.\n */\n ui5ItemDelete = output<UI5CustomEvent<_List, 'item-delete'>>();\n\n /**\n * Fired when selection is changed by user interaction\nin `Single`, `SingleStart`, `SingleEnd` and `Multiple` selection modes.\n */\n ui5SelectionChange = output<UI5CustomEvent<_List, 'selection-change'>>();\n\n /**\n * Fired when the user scrolls to the bottom of the list.\n\n**Note:** The event is fired when the `growing='Scroll'` property is enabled.\n */\n ui5LoadMore = output<UI5CustomEvent<_List, 'load-more'>>();\n\n /**\n * Fired when a movable list item is moved over a potential drop target during a dragging operation.\n\nIf the new position is valid, prevent the default action of the event using `preventDefault()`.\n */\n ui5MoveOver = output<UI5CustomEvent<_List, 'move-over'>>();\n\n /**\n * Fired when a movable list item is dropped onto a drop target.\n\n**Note:** `move` event is fired only if there was a preceding `move-over` with prevented default action.\n */\n ui5Move = output<UI5CustomEvent<_List, 'move'>>();\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 items of the component.\n\n**Note:** Use `ui5-li`, `ui5-li-custom`, and `ui5-li-group` for the intended design.\n * - **header**: Defines the component header.\n\n**Note:** When `header` is set, the\n`headerText` property is ignored.\n * \n * @example\n * ```html\n * <ui5-list>\n * <div slot=\"header\">Custom header content</div>\n * <p>Default slot content</p>\n * </ui5-list>\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 items of the component.\\n\\n**Note:** Use `ui5-li`, `ui5-li-custom`, and `ui5-li-group` for the intended design.\"\n },\n {\n \"name\": \"header\",\n \"description\": \"Defines the component header.\\n\\n**Note:** When `header` is set, the\\n`headerText` property is ignored.\"\n }\n ];\n\n\n public elementRef: ElementRef<_List> = inject(ElementRef);\n public injector = inject(Injector);\n\n get element(): _List {\n return this.elementRef.nativeElement;\n }\n\n ngAfterViewInit(): void {\n const wcElement = this.element;\n \n const inputsToSync = [\n 'headerText',\n 'footerText',\n 'indent',\n 'selectionMode',\n 'noDataText',\n 'separators',\n 'growing',\n 'growingButtonText',\n 'loading',\n 'loadingDelay',\n 'accessibleName',\n 'accessibilityAttributes',\n 'accessibleNameRef',\n 'accessibleDescription',\n 'accessibleDescriptionRef',\n 'accessibleRole',\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 'ui5ItemClick',\n 'ui5ItemClose',\n 'ui5ItemToggle',\n 'ui5ItemDelete',\n 'ui5SelectionChange',\n 'ui5LoadMore',\n 'ui5MoveOver',\n 'ui5Move',\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// Re-export types for convenience\nexport { ListAccessibilityAttributes } from '@ui5/webcomponents/dist/List.js';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-ui5-webcomponents-list.mjs","sources":["../../../../libs/ui5-webcomponents/list/index.ts","../../../../libs/ui5-webcomponents/list/fundamental-ngx-ui5-webcomponents-list.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/List.js';\nimport { default as _List } from '@ui5/webcomponents/dist/List.js';\nimport { UI5CustomEvent } from '@ui5/webcomponents-base';\n\nimport { default as ListSelectionMode } from '@ui5/webcomponents/dist/types/ListSelectionMode.js';\nimport { default as ListSeparator } from '@ui5/webcomponents/dist/types/ListSeparator.js';\nimport { default as ListGrowingMode } from '@ui5/webcomponents/dist/types/ListGrowingMode.js';\nimport { ListAccessibilityAttributes } from '@ui5/webcomponents/dist/List.js';\nimport { default as ListAccessibleRole } from '@ui5/webcomponents/dist/types/ListAccessibleRole.js';\nimport { default as ListItemBase } from '@ui5/webcomponents/dist/ListItemBase.js';\n\n@Component({\n standalone: true,\n selector: 'ui5-list, [ui5-list]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5List',\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class List implements AfterViewInit {\n\n /**\n * Defines the component header text.\n\n**Note:** If `header` is set this property is ignored.\n */\n headerText = input<typeof _List.prototype.headerText | undefined>();\n\n /**\n * Defines the footer text.\n */\n footerText = input<typeof _List.prototype.footerText | undefined>();\n\n /**\n * Determines whether the component is indented.\n */\n indent = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the selection mode of the component.\n */\n selectionMode = input<typeof _List.prototype.selectionMode | undefined>(\"None\");\n\n /**\n * Defines the text that is displayed when the component contains no items.\n */\n noDataText = input<typeof _List.prototype.noDataText | undefined>();\n\n /**\n * Defines the item separator style that is used.\n */\n separators = input<typeof _List.prototype.separators | undefined>(\"All\");\n\n /**\n * Defines whether the component will have growing capability either by pressing a `More` button,\nor via user scroll. In both cases `load-more` event is fired.\n\n**Restrictions:** `growing=\"Scroll\"` is not supported for Internet Explorer,\non IE the component will fallback to `growing=\"Button\"`.\n */\n growing = input<typeof _List.prototype.growing | undefined>(\"None\");\n\n /**\n * Defines the text that will be displayed inside the growing button.\n\n**Note:** If not specified a built-in text will be displayed.\n\n**Note:** This property takes effect if the `growing` property is set to the `Button`.\n */\n growingButtonText = input<typeof _List.prototype.growingButtonText | undefined>();\n\n /**\n * Defines if the component would display a loading indicator over the list.\n */\n loading = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the delay in milliseconds, after which the loading indicator will show up for this component.\n */\n loadingDelay = input<typeof _List.prototype.loadingDelay | undefined>(1000);\n\n /**\n * Indicates whether the List header is sticky or not.\nIf stickyHeader is set to true, then whenever you scroll the content or\nthe application, the header of the list will be always visible.\n */\n stickyHeader = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the accessible name of the component.\n */\n accessibleName = input<typeof _List.prototype.accessibleName | undefined>();\n\n /**\n * Defines additional accessibility attributes on different areas of the component.\n\nThe accessibilityAttributes object has the following field:\n\n - **growingButton**: `growingButton.name`, `growingButton.description`.\n\n The accessibility attributes support the following values:\n\n- **name**: Defines the accessible ARIA name of the growing button.\nAccepts any string.\n\n- **description**: Defines the accessible ARIA description of the growing button.\nAccepts any string.\n\n **Note:** The `accessibilityAttributes` property is in an experimental state and is a subject to change.\n */\n accessibilityAttributes = input<typeof _List.prototype.accessibilityAttributes | undefined>({});\n\n /**\n * Defines the IDs of the elements that label the component.\n */\n accessibleNameRef = input<typeof _List.prototype.accessibleNameRef | undefined>();\n\n /**\n * Defines the accessible description of the component.\n */\n accessibleDescription = input<typeof _List.prototype.accessibleDescription | undefined>();\n\n /**\n * Defines the IDs of the elements that describe the component.\n */\n accessibleDescriptionRef = input<typeof _List.prototype.accessibleDescriptionRef | undefined>();\n\n /**\n * Defines the accessible role of the component.\n */\n accessibleRole = input<typeof _List.prototype.accessibleRole | undefined>(\"List\"); // className is now passed\n\n /**\n * Returns an array containing the list item instances without the groups in a flat structure.\n * @readonly This property is managed by the web component.\n */\n get listItems(): Array<ListItemBase> {\n return this.element?.listItems ?? [];\n }\n\n\n /**\n * Fired when an item is activated, unless the item's `type` property\nis set to `Inactive`.\n\n**Note**: This event is not triggered by interactions with selection components such as the checkboxes and radio buttons,\nassociated with non-default `selectionMode` values, or if any other **interactive** component\n(such as a button or input) within the list item is directly clicked.\n */\n ui5ItemClick = output<UI5CustomEvent<_List, 'item-click'>>();\n\n /**\n * Fired when the `Close` button of any item is clicked\n\n**Note:** This event is only applicable to list items that can be closed (such as notification list items),\nnot to be confused with `item-delete`.\n */\n ui5ItemClose = output<UI5CustomEvent<_List, 'item-close'>>();\n\n /**\n * Fired when the `Toggle` button of any item is clicked.\n\n**Note:** This event is only applicable to list items that can be toggled (such as notification group list items).\n */\n ui5ItemToggle = output<UI5CustomEvent<_List, 'item-toggle'>>();\n\n /**\n * Fired when the Delete button of any item is pressed.\n\n**Note:** A Delete button is displayed on each item,\nwhen the component `selectionMode` property is set to `Delete`.\n */\n ui5ItemDelete = output<UI5CustomEvent<_List, 'item-delete'>>();\n\n /**\n * Fired when selection is changed by user interaction\nin `Single`, `SingleStart`, `SingleEnd` and `Multiple` selection modes.\n */\n ui5SelectionChange = output<UI5CustomEvent<_List, 'selection-change'>>();\n\n /**\n * Fired when the user scrolls to the bottom of the list.\n\n**Note:** The event is fired when the `growing='Scroll'` property is enabled.\n */\n ui5LoadMore = output<UI5CustomEvent<_List, 'load-more'>>();\n\n /**\n * Fired when a movable list item is moved over a potential drop target during a dragging operation.\n\nIf the new position is valid, prevent the default action of the event using `preventDefault()`.\n */\n ui5MoveOver = output<UI5CustomEvent<_List, 'move-over'>>();\n\n /**\n * Fired when a movable list item is dropped onto a drop target.\n\n**Note:** `move` event is fired only if there was a preceding `move-over` with prevented default action.\n */\n ui5Move = output<UI5CustomEvent<_List, 'move'>>();\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 items of the component.\n\n**Note:** Use `ui5-li`, `ui5-li-custom`, and `ui5-li-group` for the intended design.\n * - **header**: Defines the component header.\n\n**Note:** When `header` is set, the\n`headerText` property is ignored.\n * \n * @example\n * ```html\n * <ui5-list>\n * <div slot=\"header\">Custom header content</div>\n * <p>Default slot content</p>\n * </ui5-list>\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 items of the component.\\n\\n**Note:** Use `ui5-li`, `ui5-li-custom`, and `ui5-li-group` for the intended design.\"\n },\n {\n \"name\": \"header\",\n \"description\": \"Defines the component header.\\n\\n**Note:** When `header` is set, the\\n`headerText` property is ignored.\"\n }\n ];\n\n\n public elementRef: ElementRef<_List> = inject(ElementRef);\n public injector = inject(Injector);\n\n get element(): _List {\n return this.elementRef.nativeElement;\n }\n\n ngAfterViewInit(): void {\n const wcElement = this.element;\n \n const inputsToSync = [\n 'headerText',\n 'footerText',\n 'indent',\n 'selectionMode',\n 'noDataText',\n 'separators',\n 'growing',\n 'growingButtonText',\n 'loading',\n 'loadingDelay',\n 'stickyHeader',\n 'accessibleName',\n 'accessibilityAttributes',\n 'accessibleNameRef',\n 'accessibleDescription',\n 'accessibleDescriptionRef',\n 'accessibleRole',\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 'ui5ItemClick',\n 'ui5ItemClose',\n 'ui5ItemToggle',\n 'ui5ItemDelete',\n 'ui5SelectionChange',\n 'ui5LoadMore',\n 'ui5MoveOver',\n 'ui5Move',\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// Re-export types for convenience\nexport { ListAccessibilityAttributes } from '@ui5/webcomponents/dist/List.js';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -54,6 +54,10 @@ class MultiComboBox {
|
|
|
54
54
|
* Defines whether the component is required.
|
|
55
55
|
*/
|
|
56
56
|
this.required = input(false, { ...(ngDevMode ? { debugName: "required" } : {}), transform: booleanAttribute });
|
|
57
|
+
/**
|
|
58
|
+
* Indicates whether a loading indicator should be shown in the picker.
|
|
59
|
+
*/
|
|
60
|
+
this.loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : {}), transform: booleanAttribute });
|
|
57
61
|
/**
|
|
58
62
|
* Defines the filter type of the component.
|
|
59
63
|
*/
|
|
@@ -98,6 +102,12 @@ class MultiComboBox {
|
|
|
98
102
|
* Fired when selection is changed by user interaction.
|
|
99
103
|
*/
|
|
100
104
|
this.ui5SelectionChange = output();
|
|
105
|
+
/**
|
|
106
|
+
* Fired before the value state of the component is updated internally.
|
|
107
|
+
The event is preventable, meaning that if it's default action is
|
|
108
|
+
prevented, the component will not update the value state.
|
|
109
|
+
*/
|
|
110
|
+
this.ui5ValueStateChange = output();
|
|
101
111
|
/**
|
|
102
112
|
* Available slots for content projection in this component.
|
|
103
113
|
*
|
|
@@ -159,6 +169,7 @@ class MultiComboBox {
|
|
|
159
169
|
'valueState',
|
|
160
170
|
'readonly',
|
|
161
171
|
'required',
|
|
172
|
+
'loading',
|
|
162
173
|
'filter',
|
|
163
174
|
'showClearIcon',
|
|
164
175
|
'accessibleName',
|
|
@@ -190,6 +201,7 @@ class MultiComboBox {
|
|
|
190
201
|
'ui5Open',
|
|
191
202
|
'ui5Close',
|
|
192
203
|
'ui5SelectionChange',
|
|
204
|
+
'ui5ValueStateChange',
|
|
193
205
|
];
|
|
194
206
|
// Synchronize outputs (events)
|
|
195
207
|
for (const outputName of outputsToSync) {
|
|
@@ -205,7 +217,7 @@ class MultiComboBox {
|
|
|
205
217
|
}
|
|
206
218
|
}
|
|
207
219
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MultiComboBox, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
208
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: MultiComboBox, isStandalone: true, selector: "ui5-multi-combobox, [ui5-multi-combobox]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, noTypeahead: { classPropertyName: "noTypeahead", publicName: "noTypeahead", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, noValidation: { classPropertyName: "noValidation", publicName: "noValidation", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, valueState: { classPropertyName: "valueState", publicName: "valueState", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, showClearIcon: { classPropertyName: "showClearIcon", publicName: "showClearIcon", 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 }, showSelectAll: { classPropertyName: "showSelectAll", publicName: "showSelectAll", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change", ui5Input: "ui5Input", ui5Open: "ui5Open", ui5Close: "ui5Close", ui5SelectionChange: "ui5SelectionChange" }, exportAs: ["ui5MultiComboBox"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
220
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: MultiComboBox, isStandalone: true, selector: "ui5-multi-combobox, [ui5-multi-combobox]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, noTypeahead: { classPropertyName: "noTypeahead", publicName: "noTypeahead", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, noValidation: { classPropertyName: "noValidation", publicName: "noValidation", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, valueState: { classPropertyName: "valueState", publicName: "valueState", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, showClearIcon: { classPropertyName: "showClearIcon", publicName: "showClearIcon", 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 }, showSelectAll: { classPropertyName: "showSelectAll", publicName: "showSelectAll", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5Change: "ui5Change", ui5Input: "ui5Input", ui5Open: "ui5Open", ui5Close: "ui5Close", ui5SelectionChange: "ui5SelectionChange", ui5ValueStateChange: "ui5ValueStateChange" }, exportAs: ["ui5MultiComboBox"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
209
221
|
}
|
|
210
222
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MultiComboBox, decorators: [{
|
|
211
223
|
type: Component,
|
|
@@ -217,7 +229,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
|
|
|
217
229
|
hostDirectives: [GenericControlValueAccessor],
|
|
218
230
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
219
231
|
}]
|
|
220
|
-
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], noTypeahead: [{ type: i0.Input, args: [{ isSignal: true, alias: "noTypeahead", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], noValidation: [{ type: i0.Input, args: [{ isSignal: true, alias: "noValidation", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], valueState: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueState", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], filter: [{ type: i0.Input, args: [{ isSignal: true, alias: "filter", required: false }] }], showClearIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClearIcon", required: false }] }], accessibleName: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleName", required: false }] }], accessibleNameRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleNameRef", required: false }] }], showSelectAll: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSelectAll", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], ui5Change: [{ type: i0.Output, args: ["ui5Change"] }], ui5Input: [{ type: i0.Output, args: ["ui5Input"] }], ui5Open: [{ type: i0.Output, args: ["ui5Open"] }], ui5Close: [{ type: i0.Output, args: ["ui5Close"] }], ui5SelectionChange: [{ type: i0.Output, args: ["ui5SelectionChange"] }] } });
|
|
232
|
+
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], noTypeahead: [{ type: i0.Input, args: [{ isSignal: true, alias: "noTypeahead", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], noValidation: [{ type: i0.Input, args: [{ isSignal: true, alias: "noValidation", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], valueState: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueState", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], filter: [{ type: i0.Input, args: [{ isSignal: true, alias: "filter", required: false }] }], showClearIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClearIcon", required: false }] }], accessibleName: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleName", required: false }] }], accessibleNameRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleNameRef", required: false }] }], showSelectAll: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSelectAll", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], ui5Change: [{ type: i0.Output, args: ["ui5Change"] }], ui5Input: [{ type: i0.Output, args: ["ui5Input"] }], ui5Open: [{ type: i0.Output, args: ["ui5Open"] }], ui5Close: [{ type: i0.Output, args: ["ui5Close"] }], ui5SelectionChange: [{ type: i0.Output, args: ["ui5SelectionChange"] }], ui5ValueStateChange: [{ type: i0.Output, args: ["ui5ValueStateChange"] }] } });
|
|
221
233
|
|
|
222
234
|
/**
|
|
223
235
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-ui5-webcomponents-multi-combo-box.mjs","sources":["../../../../libs/ui5-webcomponents/multi-combo-box/index.ts","../../../../libs/ui5-webcomponents/multi-combo-box/fundamental-ngx-ui5-webcomponents-multi-combo-box.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/MultiComboBox.js';\nimport { default as _MultiComboBox } from '@ui5/webcomponents/dist/MultiComboBox.js';\nimport { UI5CustomEvent } from '@ui5/webcomponents-base';\nimport { GenericControlValueAccessor } from '@fundamental-ngx/ui5-webcomponents/utils';\nimport { default as ValueState } from '@ui5/webcomponents-base/dist/types/ValueState.js';\nimport { default as ComboBoxFilter } from '@ui5/webcomponents/dist/types/ComboBoxFilter.js';\n\n@Component({\n standalone: true,\n selector: 'ui5-multi-combobox, [ui5-multi-combobox]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5MultiComboBox',\n hostDirectives: [GenericControlValueAccessor],\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MultiComboBox implements AfterViewInit {\n\n /**\n * Defines the value of the component.\n\n**Note:** The property is updated upon typing.\n */\n value = input<typeof _MultiComboBox.prototype.value | undefined>(\"\");\n\n /**\n * Determines the name by which the component will be identified upon submission in an HTML form.\n\n**Note:** This property is only applicable within the context of an HTML Form element.\n**Note:** When the component is used inside a form element,\nthe value is sent as the first element in the form data, even if it's empty.\n */\n name = input<typeof _MultiComboBox.prototype.name | undefined>();\n\n /**\n * Defines whether the value will be autcompleted to match an item\n */\n noTypeahead = input(false, { transform: booleanAttribute });\n\n /**\n * Defines a short hint intended to aid the user with data entry when the\ncomponent has no value.\n */\n placeholder = input<typeof _MultiComboBox.prototype.placeholder | undefined>();\n\n /**\n * Defines if the user input will be prevented, if no matching item has been found\n */\n noValidation = input(false, { transform: booleanAttribute });\n\n /**\n * Defines whether the component is in disabled state.\n\n**Note:** A disabled component is completely noninteractive.\n */\n disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the value state of the component.\n */\n valueState = input<typeof _MultiComboBox.prototype.valueState | undefined>(\"None\");\n\n /**\n * Defines whether the component is read-only.\n\n**Note:** A read-only component is not editable,\nbut still provides visual feedback upon user interaction.\n */\n readonly = input(false, { transform: booleanAttribute });\n\n /**\n * Defines whether the component is required.\n */\n required = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the filter type of the component.\n */\n filter = input<typeof _MultiComboBox.prototype.filter | undefined>(\"StartsWithPerTerm\");\n\n /**\n * Defines whether the clear icon of the multi-combobox will be shown.\n */\n showClearIcon = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the accessible ARIA name of the component.\n */\n accessibleName = input<typeof _MultiComboBox.prototype.accessibleName | undefined>();\n\n /**\n * Receives id(or many ids) of the elements that label the component.\n */\n accessibleNameRef = input<typeof _MultiComboBox.prototype.accessibleNameRef | undefined>();\n\n /**\n * Determines if the select all checkbox is visible on top of suggestions.\n */\n showSelectAll = input(false, { transform: booleanAttribute });\n\n /**\n * Indicates whether the items picker is open.\n */\n open = input(false, { transform: booleanAttribute }); // className is now passed\n\n\n\n /**\n * Fired when the input operation has finished by pressing Enter or on focusout.\n */\n ui5Change = output<UI5CustomEvent<_MultiComboBox, 'change'>>();\n\n /**\n * Fired when the value of the component changes at each keystroke or clear icon is pressed.\n */\n ui5Input = output<UI5CustomEvent<_MultiComboBox, 'input'>>();\n\n /**\n * Fired when the dropdown is opened.\n */\n ui5Open = output<UI5CustomEvent<_MultiComboBox, 'open'>>();\n\n /**\n * Fired when the dropdown is closed.\n */\n ui5Close = output<UI5CustomEvent<_MultiComboBox, 'close'>>();\n\n /**\n * Fired when selection is changed by user interaction.\n */\n ui5SelectionChange = output<UI5CustomEvent<_MultiComboBox, 'selection-change'>>();\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 component items.\n * - **icon**: Defines the icon to be displayed in the component.\n * - **valueStateMessage**: Defines the value state message that will be displayed as pop up under the component.\nThe value state message slot should contain only one root element.\n\n**Note:** If not specified, a default text (in the respective language) will be displayed.\n\n**Note:** The `valueStateMessage` would be displayed,\nwhen the component is in `Information`, `Critical` or `Negative` value state.\n * \n * @example\n * ```html\n * <ui5-multi-combobox>\n * <div slot=\"header\">Custom header content</div>\n * <p>Default slot content</p>\n * </ui5-multi-combobox>\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 component items.\"\n },\n {\n \"name\": \"icon\",\n \"description\": \"Defines the icon to be displayed in the component.\",\n \"since\": \"1.0.0-rc.9\"\n },\n {\n \"name\": \"valueStateMessage\",\n \"description\": \"Defines the value state message that will be displayed as pop up under the component.\\nThe value state message slot should contain only one root element.\\n\\n**Note:** If not specified, a default text (in the respective language) will be displayed.\\n\\n**Note:** The `valueStateMessage` would be displayed,\\nwhen the component is in `Information`, `Critical` or `Negative` value state.\",\n \"since\": \"1.0.0-rc.9\"\n }\n ];\n\n\n public elementRef: ElementRef<_MultiComboBox> = inject(ElementRef);\n public injector = inject(Injector);\n\n get element(): _MultiComboBox {\n return this.elementRef.nativeElement;\n }\n\n ngAfterViewInit(): void {\n const wcElement = this.element;\n \n const inputsToSync = [\n 'value',\n 'name',\n 'noTypeahead',\n 'placeholder',\n 'noValidation',\n 'disabled',\n 'valueState',\n 'readonly',\n 'required',\n 'filter',\n 'showClearIcon',\n 'accessibleName',\n 'accessibleNameRef',\n 'showSelectAll',\n 'open',\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 'ui5Change',\n 'ui5Input',\n 'ui5Open',\n 'ui5Close',\n 'ui5SelectionChange',\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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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-ui5-webcomponents-multi-combo-box.mjs","sources":["../../../../libs/ui5-webcomponents/multi-combo-box/index.ts","../../../../libs/ui5-webcomponents/multi-combo-box/fundamental-ngx-ui5-webcomponents-multi-combo-box.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/MultiComboBox.js';\nimport { default as _MultiComboBox } from '@ui5/webcomponents/dist/MultiComboBox.js';\nimport { UI5CustomEvent } from '@ui5/webcomponents-base';\nimport { GenericControlValueAccessor } from '@fundamental-ngx/ui5-webcomponents/utils';\nimport { default as ValueState } from '@ui5/webcomponents-base/dist/types/ValueState.js';\nimport { default as ComboBoxFilter } from '@ui5/webcomponents/dist/types/ComboBoxFilter.js';\n\n@Component({\n standalone: true,\n selector: 'ui5-multi-combobox, [ui5-multi-combobox]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5MultiComboBox',\n hostDirectives: [GenericControlValueAccessor],\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MultiComboBox implements AfterViewInit {\n\n /**\n * Defines the value of the component.\n\n**Note:** The property is updated upon typing.\n */\n value = input<typeof _MultiComboBox.prototype.value | undefined>(\"\");\n\n /**\n * Determines the name by which the component will be identified upon submission in an HTML form.\n\n**Note:** This property is only applicable within the context of an HTML Form element.\n**Note:** When the component is used inside a form element,\nthe value is sent as the first element in the form data, even if it's empty.\n */\n name = input<typeof _MultiComboBox.prototype.name | undefined>();\n\n /**\n * Defines whether the value will be autcompleted to match an item\n */\n noTypeahead = input(false, { transform: booleanAttribute });\n\n /**\n * Defines a short hint intended to aid the user with data entry when the\ncomponent has no value.\n */\n placeholder = input<typeof _MultiComboBox.prototype.placeholder | undefined>();\n\n /**\n * Defines if the user input will be prevented, if no matching item has been found\n */\n noValidation = input(false, { transform: booleanAttribute });\n\n /**\n * Defines whether the component is in disabled state.\n\n**Note:** A disabled component is completely noninteractive.\n */\n disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the value state of the component.\n */\n valueState = input<typeof _MultiComboBox.prototype.valueState | undefined>(\"None\");\n\n /**\n * Defines whether the component is read-only.\n\n**Note:** A read-only component is not editable,\nbut still provides visual feedback upon user interaction.\n */\n readonly = input(false, { transform: booleanAttribute });\n\n /**\n * Defines whether the component is required.\n */\n required = input(false, { transform: booleanAttribute });\n\n /**\n * Indicates whether a loading indicator should be shown in the picker.\n */\n loading = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the filter type of the component.\n */\n filter = input<typeof _MultiComboBox.prototype.filter | undefined>(\"StartsWithPerTerm\");\n\n /**\n * Defines whether the clear icon of the multi-combobox will be shown.\n */\n showClearIcon = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the accessible ARIA name of the component.\n */\n accessibleName = input<typeof _MultiComboBox.prototype.accessibleName | undefined>();\n\n /**\n * Receives id(or many ids) of the elements that label the component.\n */\n accessibleNameRef = input<typeof _MultiComboBox.prototype.accessibleNameRef | undefined>();\n\n /**\n * Determines if the select all checkbox is visible on top of suggestions.\n */\n showSelectAll = input(false, { transform: booleanAttribute });\n\n /**\n * Indicates whether the items picker is open.\n */\n open = input(false, { transform: booleanAttribute }); // className is now passed\n\n\n\n /**\n * Fired when the input operation has finished by pressing Enter or on focusout.\n */\n ui5Change = output<UI5CustomEvent<_MultiComboBox, 'change'>>();\n\n /**\n * Fired when the value of the component changes at each keystroke or clear icon is pressed.\n */\n ui5Input = output<UI5CustomEvent<_MultiComboBox, 'input'>>();\n\n /**\n * Fired when the dropdown is opened.\n */\n ui5Open = output<UI5CustomEvent<_MultiComboBox, 'open'>>();\n\n /**\n * Fired when the dropdown is closed.\n */\n ui5Close = output<UI5CustomEvent<_MultiComboBox, 'close'>>();\n\n /**\n * Fired when selection is changed by user interaction.\n */\n ui5SelectionChange = output<UI5CustomEvent<_MultiComboBox, 'selection-change'>>();\n\n /**\n * Fired before the value state of the component is updated internally.\nThe event is preventable, meaning that if it's default action is\nprevented, the component will not update the value state.\n */\n ui5ValueStateChange = output<UI5CustomEvent<_MultiComboBox, 'value-state-change'>>();\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 component items.\n * - **icon**: Defines the icon to be displayed in the component.\n * - **valueStateMessage**: Defines the value state message that will be displayed as pop up under the component.\nThe value state message slot should contain only one root element.\n\n**Note:** If not specified, a default text (in the respective language) will be displayed.\n\n**Note:** The `valueStateMessage` would be displayed,\nwhen the component is in `Information`, `Critical` or `Negative` value state.\n * \n * @example\n * ```html\n * <ui5-multi-combobox>\n * <div slot=\"header\">Custom header content</div>\n * <p>Default slot content</p>\n * </ui5-multi-combobox>\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 component items.\"\n },\n {\n \"name\": \"icon\",\n \"description\": \"Defines the icon to be displayed in the component.\",\n \"since\": \"1.0.0-rc.9\"\n },\n {\n \"name\": \"valueStateMessage\",\n \"description\": \"Defines the value state message that will be displayed as pop up under the component.\\nThe value state message slot should contain only one root element.\\n\\n**Note:** If not specified, a default text (in the respective language) will be displayed.\\n\\n**Note:** The `valueStateMessage` would be displayed,\\nwhen the component is in `Information`, `Critical` or `Negative` value state.\",\n \"since\": \"1.0.0-rc.9\"\n }\n ];\n\n\n public elementRef: ElementRef<_MultiComboBox> = inject(ElementRef);\n public injector = inject(Injector);\n\n get element(): _MultiComboBox {\n return this.elementRef.nativeElement;\n }\n\n ngAfterViewInit(): void {\n const wcElement = this.element;\n \n const inputsToSync = [\n 'value',\n 'name',\n 'noTypeahead',\n 'placeholder',\n 'noValidation',\n 'disabled',\n 'valueState',\n 'readonly',\n 'required',\n 'loading',\n 'filter',\n 'showClearIcon',\n 'accessibleName',\n 'accessibleNameRef',\n 'showSelectAll',\n 'open',\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 'ui5Change',\n 'ui5Input',\n 'ui5Open',\n 'ui5Close',\n 'ui5SelectionChange',\n 'ui5ValueStateChange',\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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"}
|
|
@@ -101,7 +101,11 @@ class MultiInput {
|
|
|
101
101
|
The picker will not open if the `showSuggestions` property is set to `false`, the input is disabled or the input is readonly.
|
|
102
102
|
The picker will close automatically and `close` event will be fired if the input is not in the viewport.
|
|
103
103
|
*/
|
|
104
|
-
this.open = input(false, { ...(ngDevMode ? { debugName: "open" } : {}), transform: booleanAttribute });
|
|
104
|
+
this.open = input(false, { ...(ngDevMode ? { debugName: "open" } : {}), transform: booleanAttribute });
|
|
105
|
+
/**
|
|
106
|
+
* Defines the filter type of the component.
|
|
107
|
+
*/
|
|
108
|
+
this.filter = input("None", ...(ngDevMode ? [{ debugName: "filter" }] : [])); // className is now passed
|
|
105
109
|
/**
|
|
106
110
|
* Fired when the value help icon is pressed
|
|
107
111
|
and F4 or ALT/OPTION + ARROW_UP/ARROW_DOWN keyboard keys are used.
|
|
@@ -219,6 +223,7 @@ class MultiInput {
|
|
|
219
223
|
'accessibleDescriptionRef',
|
|
220
224
|
'showClearIcon',
|
|
221
225
|
'open',
|
|
226
|
+
'filter',
|
|
222
227
|
];
|
|
223
228
|
// Synchronize inputs (properties)
|
|
224
229
|
for (const inputName of inputsToSync) {
|
|
@@ -262,7 +267,7 @@ class MultiInput {
|
|
|
262
267
|
}
|
|
263
268
|
}
|
|
264
269
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MultiInput, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
265
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: MultiInput, isStandalone: true, selector: "ui5-multi-input, [ui5-multi-input]", inputs: { showValueHelpIcon: { classPropertyName: "showValueHelpIcon", publicName: "showValueHelpIcon", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, noTypeahead: { classPropertyName: "noTypeahead", publicName: "noTypeahead", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, valueState: { classPropertyName: "valueState", publicName: "valueState", isSignal: true, isRequired: false, transformFunction: null }, showSuggestions: { classPropertyName: "showSuggestions", publicName: "showSuggestions", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", 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 }, accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescriptionRef: { classPropertyName: "accessibleDescriptionRef", publicName: "accessibleDescriptionRef", isSignal: true, isRequired: false, transformFunction: null }, showClearIcon: { classPropertyName: "showClearIcon", publicName: "showClearIcon", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5ValueHelpTrigger: "ui5ValueHelpTrigger", ui5TokenDelete: "ui5TokenDelete", ui5Change: "ui5Change", ui5Input: "ui5Input", ui5Select: "ui5Select", ui5SelectionChange: "ui5SelectionChange", ui5Open: "ui5Open", ui5Close: "ui5Close" }, exportAs: ["ui5MultiInput"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
270
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: MultiInput, isStandalone: true, selector: "ui5-multi-input, [ui5-multi-input]", inputs: { showValueHelpIcon: { classPropertyName: "showValueHelpIcon", publicName: "showValueHelpIcon", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, noTypeahead: { classPropertyName: "noTypeahead", publicName: "noTypeahead", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, valueState: { classPropertyName: "valueState", publicName: "valueState", isSignal: true, isRequired: false, transformFunction: null }, showSuggestions: { classPropertyName: "showSuggestions", publicName: "showSuggestions", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", 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 }, accessibleDescription: { classPropertyName: "accessibleDescription", publicName: "accessibleDescription", isSignal: true, isRequired: false, transformFunction: null }, accessibleDescriptionRef: { classPropertyName: "accessibleDescriptionRef", publicName: "accessibleDescriptionRef", isSignal: true, isRequired: false, transformFunction: null }, showClearIcon: { classPropertyName: "showClearIcon", publicName: "showClearIcon", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ui5ValueHelpTrigger: "ui5ValueHelpTrigger", ui5TokenDelete: "ui5TokenDelete", ui5Change: "ui5Change", ui5Input: "ui5Input", ui5Select: "ui5Select", ui5SelectionChange: "ui5SelectionChange", ui5Open: "ui5Open", ui5Close: "ui5Close" }, exportAs: ["ui5MultiInput"], hostDirectives: [{ directive: i1.GenericControlValueAccessor }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
266
271
|
}
|
|
267
272
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MultiInput, decorators: [{
|
|
268
273
|
type: Component,
|
|
@@ -274,7 +279,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
|
|
|
274
279
|
hostDirectives: [GenericControlValueAccessor],
|
|
275
280
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
276
281
|
}]
|
|
277
|
-
}], propDecorators: { showValueHelpIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "showValueHelpIcon", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], noTypeahead: [{ type: i0.Input, args: [{ isSignal: true, alias: "noTypeahead", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], valueState: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueState", required: false }] }], showSuggestions: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSuggestions", required: false }] }], maxlength: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxlength", required: false }] }], accessibleName: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleName", required: false }] }], accessibleNameRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleNameRef", required: false }] }], accessibleDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleDescription", required: false }] }], accessibleDescriptionRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleDescriptionRef", required: false }] }], showClearIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClearIcon", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], ui5ValueHelpTrigger: [{ type: i0.Output, args: ["ui5ValueHelpTrigger"] }], ui5TokenDelete: [{ type: i0.Output, args: ["ui5TokenDelete"] }], ui5Change: [{ type: i0.Output, args: ["ui5Change"] }], ui5Input: [{ type: i0.Output, args: ["ui5Input"] }], ui5Select: [{ type: i0.Output, args: ["ui5Select"] }], ui5SelectionChange: [{ type: i0.Output, args: ["ui5SelectionChange"] }], ui5Open: [{ type: i0.Output, args: ["ui5Open"] }], ui5Close: [{ type: i0.Output, args: ["ui5Close"] }] } });
|
|
282
|
+
}], propDecorators: { showValueHelpIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "showValueHelpIcon", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], noTypeahead: [{ type: i0.Input, args: [{ isSignal: true, alias: "noTypeahead", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], valueState: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueState", required: false }] }], showSuggestions: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSuggestions", required: false }] }], maxlength: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxlength", required: false }] }], accessibleName: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleName", required: false }] }], accessibleNameRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleNameRef", required: false }] }], accessibleDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleDescription", required: false }] }], accessibleDescriptionRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "accessibleDescriptionRef", required: false }] }], showClearIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClearIcon", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], filter: [{ type: i0.Input, args: [{ isSignal: true, alias: "filter", required: false }] }], ui5ValueHelpTrigger: [{ type: i0.Output, args: ["ui5ValueHelpTrigger"] }], ui5TokenDelete: [{ type: i0.Output, args: ["ui5TokenDelete"] }], ui5Change: [{ type: i0.Output, args: ["ui5Change"] }], ui5Input: [{ type: i0.Output, args: ["ui5Input"] }], ui5Select: [{ type: i0.Output, args: ["ui5Select"] }], ui5SelectionChange: [{ type: i0.Output, args: ["ui5SelectionChange"] }], ui5Open: [{ type: i0.Output, args: ["ui5Open"] }], ui5Close: [{ type: i0.Output, args: ["ui5Close"] }] } });
|
|
278
283
|
|
|
279
284
|
/**
|
|
280
285
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-ui5-webcomponents-multi-input.mjs","sources":["../../../../libs/ui5-webcomponents/multi-input/index.ts","../../../../libs/ui5-webcomponents/multi-input/fundamental-ngx-ui5-webcomponents-multi-input.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/MultiInput.js';\nimport { default as _MultiInput } from '@ui5/webcomponents/dist/MultiInput.js';\nimport { UI5CustomEvent } from '@ui5/webcomponents-base';\nimport { GenericControlValueAccessor } from '@fundamental-ngx/ui5-webcomponents/utils';\nimport { default as InputType } from '@ui5/webcomponents/dist/types/InputType.js';\nimport { default as ValueState } from '@ui5/webcomponents-base/dist/types/ValueState.js';\n\n@Component({\n standalone: true,\n selector: 'ui5-multi-input, [ui5-multi-input]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5MultiInput',\n hostDirectives: [GenericControlValueAccessor],\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MultiInput implements AfterViewInit {\n\n /**\n * Determines whether a value help icon will be visualized in the end of the input.\nPressing the icon will fire `value-help-trigger` event.\n */\n showValueHelpIcon = input(false, { transform: booleanAttribute });\n\n /**\n * Determines the name by which the component will be identified upon submission in an HTML form.\n\n**Note:** This property is only applicable within the context of an HTML Form element.\n**Note:** When the component is used inside a form element,\nthe value is sent as the first element in the form data, even if it's empty.\n */\n name = input<typeof _MultiInput.prototype.name | undefined>();\n\n /**\n * Defines whether the component is in disabled state.\n\n**Note:** A disabled component is completely noninteractive.\n */\n disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Defines a short hint intended to aid the user with data entry when the\ncomponent has no value.\n */\n placeholder = input<typeof _MultiInput.prototype.placeholder | undefined>();\n\n /**\n * Defines whether the component is read-only.\n\n**Note:** A read-only component is not editable,\nbut still provides visual feedback upon user interaction.\n */\n readonly = input(false, { transform: booleanAttribute });\n\n /**\n * Defines whether the component is required.\n */\n required = input(false, { transform: booleanAttribute });\n\n /**\n * Defines whether the value will be autcompleted to match an item\n */\n noTypeahead = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the HTML type of the component.\n\n**Notes:**\n\n- The particular effect of this property differs depending on the browser\nand the current language settings, especially for type `Number`.\n- The property is mostly intended to be used with touch devices\nthat use different soft keyboard layouts depending on the given input type.\n */\n type = input<typeof _MultiInput.prototype.type | undefined>(\"Text\");\n\n /**\n * Defines the value of the component.\n\n**Note:** The property is updated upon typing.\n */\n value = input<typeof _MultiInput.prototype.value | undefined>(\"\");\n\n /**\n * Defines the value state of the component.\n */\n valueState = input<typeof _MultiInput.prototype.valueState | undefined>(\"None\");\n\n /**\n * Defines whether the component should show suggestions, if such are present.\n */\n showSuggestions = input(false, { transform: booleanAttribute });\n\n /**\n * Sets the maximum number of characters available in the input field.\n\n**Note:** This property is not compatible with the ui5-input type InputType.Number. If the ui5-input type is set to Number, the maxlength value is ignored.\n */\n maxlength = input<typeof _MultiInput.prototype.maxlength | undefined>();\n\n /**\n * Defines the accessible ARIA name of the component.\n */\n accessibleName = input<typeof _MultiInput.prototype.accessibleName | undefined>();\n\n /**\n * Receives id(or many ids) of the elements that label the input.\n */\n accessibleNameRef = input<typeof _MultiInput.prototype.accessibleNameRef | undefined>();\n\n /**\n * Defines the accessible description of the component.\n */\n accessibleDescription = input<typeof _MultiInput.prototype.accessibleDescription | undefined>();\n\n /**\n * Receives id(or many ids) of the elements that describe the input.\n */\n accessibleDescriptionRef = input<typeof _MultiInput.prototype.accessibleDescriptionRef | undefined>();\n\n /**\n * Defines whether the clear icon of the input will be shown.\n */\n showClearIcon = input(false, { transform: booleanAttribute });\n\n /**\n * Defines whether the suggestions picker is open.\nThe picker will not open if the `showSuggestions` property is set to `false`, the input is disabled or the input is readonly.\nThe picker will close automatically and `close` event will be fired if the input is not in the viewport.\n */\n open = input(false, { transform: booleanAttribute }); // className is now passed\n\n\n\n /**\n * Fired when the value help icon is pressed\nand F4 or ALT/OPTION + ARROW_UP/ARROW_DOWN keyboard keys are used.\n */\n ui5ValueHelpTrigger = output<UI5CustomEvent<_MultiInput, 'value-help-trigger'>>();\n\n /**\n * Fired when tokens are being deleted.\n */\n ui5TokenDelete = output<UI5CustomEvent<_MultiInput, 'token-delete'>>();\n\n /**\n * Fired when the input operation has finished by pressing Enter or on focusout.\n */\n ui5Change = output<UI5CustomEvent<_MultiInput, 'change'>>();\n\n /**\n * Fired when the value of the component changes at each keystroke,\nand when a suggestion item has been selected.\n */\n ui5Input = output<UI5CustomEvent<_MultiInput, 'input'>>();\n\n /**\n * Fired when some text has been selected.\n */\n ui5Select = output<UI5CustomEvent<_MultiInput, 'select'>>();\n\n /**\n * Fired when the user navigates to a suggestion item via the ARROW keys,\nas a preview, before the final selection.\n */\n ui5SelectionChange = output<UI5CustomEvent<_MultiInput, 'selection-change'>>();\n\n /**\n * Fired when the suggestions picker is open.\n */\n ui5Open = output<UI5CustomEvent<_MultiInput, 'open'>>();\n\n /**\n * Fired when the suggestions picker is closed.\n */\n ui5Close = output<UI5CustomEvent<_MultiInput, 'close'>>();\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 * - **tokens**: Defines the component tokens.\n * - **(default)**: Defines the suggestion items.\n\n**Note:** The suggestions would be displayed only if the `showSuggestions`\nproperty is set to `true`.\n\n**Note:** The `<ui5-suggestion-item>`, `<ui5-suggestion-item-group>` and `ui5-suggestion-item-custom` are recommended to be used as suggestion items.\n * - **icon**: Defines the icon to be displayed in the component.\n * - **valueStateMessage**: Defines the value state message that will be displayed as pop up under the component.\nThe value state message slot should contain only one root element.\n\n**Note:** If not specified, a default text (in the respective language) will be displayed.\n\n**Note:** The `valueStateMessage` would be displayed,\nwhen the component is in `Information`, `Critical` or `Negative` value state.\n\n**Note:** If the component has `suggestionItems`,\nthe `valueStateMessage` would be displayed as part of the same popover, if used on desktop, or dialog - on phone.\n * \n * @example\n * ```html\n * <ui5-multi-input>\n * <div slot=\"header\">Custom header content</div>\n * <p>Default slot content</p>\n * </ui5-multi-input>\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\": \"tokens\",\n \"description\": \"Defines the component tokens.\"\n },\n {\n \"name\": \"default\",\n \"description\": \"Defines the suggestion items.\\n\\n**Note:** The suggestions would be displayed only if the `showSuggestions`\\nproperty is set to `true`.\\n\\n**Note:** The `<ui5-suggestion-item>`, `<ui5-suggestion-item-group>` and `ui5-suggestion-item-custom` are recommended to be used as suggestion items.\"\n },\n {\n \"name\": \"icon\",\n \"description\": \"Defines the icon to be displayed in the component.\"\n },\n {\n \"name\": \"valueStateMessage\",\n \"description\": \"Defines the value state message that will be displayed as pop up under the component.\\nThe value state message slot should contain only one root element.\\n\\n**Note:** If not specified, a default text (in the respective language) will be displayed.\\n\\n**Note:** The `valueStateMessage` would be displayed,\\nwhen the component is in `Information`, `Critical` or `Negative` value state.\\n\\n**Note:** If the component has `suggestionItems`,\\nthe `valueStateMessage` would be displayed as part of the same popover, if used on desktop, or dialog - on phone.\",\n \"since\": \"1.0.0-rc.6\"\n }\n ];\n\n\n public elementRef: ElementRef<_MultiInput> = inject(ElementRef);\n public injector = inject(Injector);\n\n get element(): _MultiInput {\n return this.elementRef.nativeElement;\n }\n\n ngAfterViewInit(): void {\n const wcElement = this.element;\n \n const inputsToSync = [\n 'showValueHelpIcon',\n 'name',\n 'disabled',\n 'placeholder',\n 'readonly',\n 'required',\n 'noTypeahead',\n 'type',\n 'value',\n 'valueState',\n 'showSuggestions',\n 'maxlength',\n 'accessibleName',\n 'accessibleNameRef',\n 'accessibleDescription',\n 'accessibleDescriptionRef',\n 'showClearIcon',\n 'open',\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 'ui5ValueHelpTrigger',\n 'ui5TokenDelete',\n 'ui5Change',\n 'ui5Input',\n 'ui5Select',\n 'ui5SelectionChange',\n 'ui5Open',\n 'ui5Close',\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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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-ui5-webcomponents-multi-input.mjs","sources":["../../../../libs/ui5-webcomponents/multi-input/index.ts","../../../../libs/ui5-webcomponents/multi-input/fundamental-ngx-ui5-webcomponents-multi-input.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/MultiInput.js';\nimport { default as _MultiInput } from '@ui5/webcomponents/dist/MultiInput.js';\nimport { UI5CustomEvent } from '@ui5/webcomponents-base';\nimport { GenericControlValueAccessor } from '@fundamental-ngx/ui5-webcomponents/utils';\nimport { default as InputType } from '@ui5/webcomponents/dist/types/InputType.js';\nimport { default as ValueState } from '@ui5/webcomponents-base/dist/types/ValueState.js';\nimport { default as InputSuggestionsFilter } from '@ui5/webcomponents/dist/types/InputSuggestionsFilter.js';\n\n@Component({\n standalone: true,\n selector: 'ui5-multi-input, [ui5-multi-input]',\n template: '<ng-content></ng-content>',\n exportAs: 'ui5MultiInput',\n hostDirectives: [GenericControlValueAccessor],\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MultiInput implements AfterViewInit {\n\n /**\n * Determines whether a value help icon will be visualized in the end of the input.\nPressing the icon will fire `value-help-trigger` event.\n */\n showValueHelpIcon = input(false, { transform: booleanAttribute });\n\n /**\n * Determines the name by which the component will be identified upon submission in an HTML form.\n\n**Note:** This property is only applicable within the context of an HTML Form element.\n**Note:** When the component is used inside a form element,\nthe value is sent as the first element in the form data, even if it's empty.\n */\n name = input<typeof _MultiInput.prototype.name | undefined>();\n\n /**\n * Defines whether the component is in disabled state.\n\n**Note:** A disabled component is completely noninteractive.\n */\n disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Defines a short hint intended to aid the user with data entry when the\ncomponent has no value.\n */\n placeholder = input<typeof _MultiInput.prototype.placeholder | undefined>();\n\n /**\n * Defines whether the component is read-only.\n\n**Note:** A read-only component is not editable,\nbut still provides visual feedback upon user interaction.\n */\n readonly = input(false, { transform: booleanAttribute });\n\n /**\n * Defines whether the component is required.\n */\n required = input(false, { transform: booleanAttribute });\n\n /**\n * Defines whether the value will be autcompleted to match an item\n */\n noTypeahead = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the HTML type of the component.\n\n**Notes:**\n\n- The particular effect of this property differs depending on the browser\nand the current language settings, especially for type `Number`.\n- The property is mostly intended to be used with touch devices\nthat use different soft keyboard layouts depending on the given input type.\n */\n type = input<typeof _MultiInput.prototype.type | undefined>(\"Text\");\n\n /**\n * Defines the value of the component.\n\n**Note:** The property is updated upon typing.\n */\n value = input<typeof _MultiInput.prototype.value | undefined>(\"\");\n\n /**\n * Defines the value state of the component.\n */\n valueState = input<typeof _MultiInput.prototype.valueState | undefined>(\"None\");\n\n /**\n * Defines whether the component should show suggestions, if such are present.\n */\n showSuggestions = input(false, { transform: booleanAttribute });\n\n /**\n * Sets the maximum number of characters available in the input field.\n\n**Note:** This property is not compatible with the ui5-input type InputType.Number. If the ui5-input type is set to Number, the maxlength value is ignored.\n */\n maxlength = input<typeof _MultiInput.prototype.maxlength | undefined>();\n\n /**\n * Defines the accessible ARIA name of the component.\n */\n accessibleName = input<typeof _MultiInput.prototype.accessibleName | undefined>();\n\n /**\n * Receives id(or many ids) of the elements that label the input.\n */\n accessibleNameRef = input<typeof _MultiInput.prototype.accessibleNameRef | undefined>();\n\n /**\n * Defines the accessible description of the component.\n */\n accessibleDescription = input<typeof _MultiInput.prototype.accessibleDescription | undefined>();\n\n /**\n * Receives id(or many ids) of the elements that describe the input.\n */\n accessibleDescriptionRef = input<typeof _MultiInput.prototype.accessibleDescriptionRef | undefined>();\n\n /**\n * Defines whether the clear icon of the input will be shown.\n */\n showClearIcon = input(false, { transform: booleanAttribute });\n\n /**\n * Defines whether the suggestions picker is open.\nThe picker will not open if the `showSuggestions` property is set to `false`, the input is disabled or the input is readonly.\nThe picker will close automatically and `close` event will be fired if the input is not in the viewport.\n */\n open = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the filter type of the component.\n */\n filter = input<typeof _MultiInput.prototype.filter | undefined>(\"None\"); // className is now passed\n\n\n\n /**\n * Fired when the value help icon is pressed\nand F4 or ALT/OPTION + ARROW_UP/ARROW_DOWN keyboard keys are used.\n */\n ui5ValueHelpTrigger = output<UI5CustomEvent<_MultiInput, 'value-help-trigger'>>();\n\n /**\n * Fired when tokens are being deleted.\n */\n ui5TokenDelete = output<UI5CustomEvent<_MultiInput, 'token-delete'>>();\n\n /**\n * Fired when the input operation has finished by pressing Enter or on focusout.\n */\n ui5Change = output<UI5CustomEvent<_MultiInput, 'change'>>();\n\n /**\n * Fired when the value of the component changes at each keystroke,\nand when a suggestion item has been selected.\n */\n ui5Input = output<UI5CustomEvent<_MultiInput, 'input'>>();\n\n /**\n * Fired when some text has been selected.\n */\n ui5Select = output<UI5CustomEvent<_MultiInput, 'select'>>();\n\n /**\n * Fired when the user navigates to a suggestion item via the ARROW keys,\nas a preview, before the final selection.\n */\n ui5SelectionChange = output<UI5CustomEvent<_MultiInput, 'selection-change'>>();\n\n /**\n * Fired when the suggestions picker is open.\n */\n ui5Open = output<UI5CustomEvent<_MultiInput, 'open'>>();\n\n /**\n * Fired when the suggestions picker is closed.\n */\n ui5Close = output<UI5CustomEvent<_MultiInput, 'close'>>();\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 * - **tokens**: Defines the component tokens.\n * - **(default)**: Defines the suggestion items.\n\n**Note:** The suggestions would be displayed only if the `showSuggestions`\nproperty is set to `true`.\n\n**Note:** The `<ui5-suggestion-item>`, `<ui5-suggestion-item-group>` and `ui5-suggestion-item-custom` are recommended to be used as suggestion items.\n * - **icon**: Defines the icon to be displayed in the component.\n * - **valueStateMessage**: Defines the value state message that will be displayed as pop up under the component.\nThe value state message slot should contain only one root element.\n\n**Note:** If not specified, a default text (in the respective language) will be displayed.\n\n**Note:** The `valueStateMessage` would be displayed,\nwhen the component is in `Information`, `Critical` or `Negative` value state.\n\n**Note:** If the component has `suggestionItems`,\nthe `valueStateMessage` would be displayed as part of the same popover, if used on desktop, or dialog - on phone.\n * \n * @example\n * ```html\n * <ui5-multi-input>\n * <div slot=\"header\">Custom header content</div>\n * <p>Default slot content</p>\n * </ui5-multi-input>\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\": \"tokens\",\n \"description\": \"Defines the component tokens.\"\n },\n {\n \"name\": \"default\",\n \"description\": \"Defines the suggestion items.\\n\\n**Note:** The suggestions would be displayed only if the `showSuggestions`\\nproperty is set to `true`.\\n\\n**Note:** The `<ui5-suggestion-item>`, `<ui5-suggestion-item-group>` and `ui5-suggestion-item-custom` are recommended to be used as suggestion items.\"\n },\n {\n \"name\": \"icon\",\n \"description\": \"Defines the icon to be displayed in the component.\"\n },\n {\n \"name\": \"valueStateMessage\",\n \"description\": \"Defines the value state message that will be displayed as pop up under the component.\\nThe value state message slot should contain only one root element.\\n\\n**Note:** If not specified, a default text (in the respective language) will be displayed.\\n\\n**Note:** The `valueStateMessage` would be displayed,\\nwhen the component is in `Information`, `Critical` or `Negative` value state.\\n\\n**Note:** If the component has `suggestionItems`,\\nthe `valueStateMessage` would be displayed as part of the same popover, if used on desktop, or dialog - on phone.\",\n \"since\": \"1.0.0-rc.6\"\n }\n ];\n\n\n public elementRef: ElementRef<_MultiInput> = inject(ElementRef);\n public injector = inject(Injector);\n\n get element(): _MultiInput {\n return this.elementRef.nativeElement;\n }\n\n ngAfterViewInit(): void {\n const wcElement = this.element;\n \n const inputsToSync = [\n 'showValueHelpIcon',\n 'name',\n 'disabled',\n 'placeholder',\n 'readonly',\n 'required',\n 'noTypeahead',\n 'type',\n 'value',\n 'valueState',\n 'showSuggestions',\n 'maxlength',\n 'accessibleName',\n 'accessibleNameRef',\n 'accessibleDescription',\n 'accessibleDescriptionRef',\n 'showClearIcon',\n 'open',\n 'filter',\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 'ui5ValueHelpTrigger',\n 'ui5TokenDelete',\n 'ui5Change',\n 'ui5Input',\n 'ui5Select',\n 'ui5SelectionChange',\n 'ui5Open',\n 'ui5Close',\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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"}
|