@sapudex/web-components 2.46.0 → 2.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cypress/specs/DatePicker.cy.tsx +62 -0
- package/cypress/specs/Tag.cy.tsx +34 -3
- package/cypress/specs/TextField.cy.tsx +68 -0
- package/dist/Carousel.d.ts +48 -3
- package/dist/Carousel.js +149 -7
- package/dist/Carousel.js.map +1 -1
- package/dist/CarouselTemplate.js +9 -2
- package/dist/CarouselTemplate.js.map +1 -1
- package/dist/DatePicker.d.ts +5 -0
- package/dist/DatePicker.js +10 -0
- package/dist/DatePicker.js.map +1 -1
- package/dist/DatePickerTemplate.js +1 -1
- package/dist/DatePickerTemplate.js.map +1 -1
- package/dist/MastheadItem.d.ts +7 -4
- package/dist/MastheadItem.js +6 -17
- package/dist/MastheadItem.js.map +1 -1
- package/dist/Tag.js +3 -2
- package/dist/Tag.js.map +1 -1
- package/dist/TagTemplate.js +2 -2
- package/dist/TagTemplate.js.map +1 -1
- package/dist/TextField.d.ts +12 -0
- package/dist/TextField.js +15 -0
- package/dist/TextField.js.map +1 -1
- package/dist/TextFieldTemplate.js +1 -1
- package/dist/TextFieldTemplate.js.map +1 -1
- package/dist/assets/{InputSuggestions-BwpJ8Exf.js → InputSuggestions-BcK6O4Bk.js} +1 -1
- package/dist/assets/{ListItemStandardExpandableTextTemplate-7iRPZq6L.js → ListItemStandardExpandableTextTemplate-u600dmHC.js} +1 -1
- package/dist/assets/{bundle.esm-BbkM4Bz9.js → bundle.esm-C6Ie2WeI.js} +230 -230
- package/dist/assets/messagebundle_en-DoNTK1BE.js +1 -0
- package/dist/assets/messagebundle_pl-CsXeN1y6.js +1 -0
- package/dist/assets/messagebundle_pt_PT-CQ5YAsmx.js +1 -0
- package/dist/css/themes/Badge.css +1 -1
- package/dist/css/themes/Carousel.css +1 -1
- package/dist/css/themes/ListItem.css +1 -1
- package/dist/css/themes/MastheadCountrySelector.css +1 -1
- package/dist/css/themes/MastheadItem.css +1 -1
- package/dist/css/themes/MastheadMenu.css +1 -1
- package/dist/css/themes/MastheadMobileMenu.css +1 -1
- package/dist/css/themes/MastheadProfileMenu.css +1 -1
- package/dist/css/themes/Table.css +1 -1
- package/dist/css/themes/TableCell.css +1 -1
- package/dist/css/themes/TableGroupRow.css +1 -1
- package/dist/css/themes/TableHeaderCell.css +1 -1
- package/dist/css/themes/Tag.css +1 -1
- package/dist/css/themes/Wizard.css +1 -1
- package/dist/css/themes/WizardTab.css +1 -1
- package/dist/custom-elements-internal.json +104 -0
- package/dist/custom-elements.json +90 -0
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
- package/dist/generated/i18n/i18n-defaults.js +3 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/templates/MastheadItemTemplate.lit.js +29 -26
- package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
- package/dist/generated/themes/Badge.css.d.ts +1 -1
- package/dist/generated/themes/Badge.css.js +1 -1
- package/dist/generated/themes/Badge.css.js.map +1 -1
- package/dist/generated/themes/Carousel.css.d.ts +1 -1
- package/dist/generated/themes/Carousel.css.js +1 -1
- package/dist/generated/themes/Carousel.css.js.map +1 -1
- package/dist/generated/themes/ListItem.css.d.ts +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/MastheadCountrySelector.css.d.ts +1 -1
- package/dist/generated/themes/MastheadCountrySelector.css.js +1 -1
- package/dist/generated/themes/MastheadCountrySelector.css.js.map +1 -1
- package/dist/generated/themes/MastheadItem.css.d.ts +1 -1
- package/dist/generated/themes/MastheadItem.css.js +1 -1
- package/dist/generated/themes/MastheadItem.css.js.map +1 -1
- package/dist/generated/themes/MastheadMenu.css.d.ts +1 -1
- package/dist/generated/themes/MastheadMenu.css.js +1 -1
- package/dist/generated/themes/MastheadMenu.css.js.map +1 -1
- package/dist/generated/themes/MastheadMobileMenu.css.d.ts +1 -1
- package/dist/generated/themes/MastheadMobileMenu.css.js +1 -1
- package/dist/generated/themes/MastheadMobileMenu.css.js.map +1 -1
- package/dist/generated/themes/MastheadProfileMenu.css.d.ts +1 -1
- package/dist/generated/themes/MastheadProfileMenu.css.js +1 -1
- package/dist/generated/themes/MastheadProfileMenu.css.js.map +1 -1
- package/dist/generated/themes/Table.css.d.ts +1 -1
- package/dist/generated/themes/Table.css.js +1 -1
- package/dist/generated/themes/Table.css.js.map +1 -1
- package/dist/generated/themes/TableCell.css.d.ts +1 -1
- package/dist/generated/themes/TableCell.css.js +1 -1
- package/dist/generated/themes/TableCell.css.js.map +1 -1
- package/dist/generated/themes/TableGroupRow.css.d.ts +1 -1
- package/dist/generated/themes/TableGroupRow.css.js +1 -1
- package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
- package/dist/generated/themes/TableHeaderCell.css.d.ts +1 -1
- package/dist/generated/themes/TableHeaderCell.css.js +1 -1
- package/dist/generated/themes/TableHeaderCell.css.js.map +1 -1
- package/dist/generated/themes/Tag.css.d.ts +1 -1
- package/dist/generated/themes/Tag.css.js +1 -1
- package/dist/generated/themes/Tag.css.js.map +1 -1
- package/dist/generated/themes/Wizard.css.d.ts +1 -1
- package/dist/generated/themes/Wizard.css.js +1 -1
- package/dist/generated/themes/Wizard.css.js.map +1 -1
- package/dist/generated/themes/WizardTab.css.d.ts +1 -1
- package/dist/generated/themes/WizardTab.css.js +1 -1
- package/dist/generated/themes/WizardTab.css.js.map +1 -1
- package/dist/messagebundle.properties +3 -0
- package/dist/messagebundle_en.properties +2 -0
- package/dist/messagebundle_pl.properties +134 -1
- package/dist/messagebundle_pt_PT.properties +126 -1
- package/dist/vscode.html-custom-data.json +21 -1
- package/dist/web-types.json +50 -2
- package/package.json +1 -1
- package/src/Carousel.ts +180 -9
- package/src/CarouselTemplate.tsx +66 -27
- package/src/DatePicker.ts +9 -0
- package/src/DatePickerTemplate.tsx +2 -1
- package/src/MastheadItem.hbs +15 -0
- package/src/MastheadItem.ts +12 -21
- package/src/Tag.ts +3 -2
- package/src/TagTemplate.tsx +2 -0
- package/src/TextField.ts +26 -1
- package/src/TextFieldTemplate.tsx +1 -0
- package/src/generated/i18n/i18n-defaults.ts +2 -2
- package/src/generated/templates/MastheadItemTemplate.lit.ts +29 -26
- package/src/generated/themes/Badge.css.ts +1 -1
- package/src/generated/themes/Carousel.css.ts +1 -1
- package/src/generated/themes/ListItem.css.ts +1 -1
- package/src/generated/themes/MastheadCountrySelector.css.ts +1 -1
- package/src/generated/themes/MastheadItem.css.ts +1 -1
- package/src/generated/themes/MastheadMenu.css.ts +1 -1
- package/src/generated/themes/MastheadMobileMenu.css.ts +1 -1
- package/src/generated/themes/MastheadProfileMenu.css.ts +1 -1
- package/src/generated/themes/Table.css.ts +1 -1
- package/src/generated/themes/TableCell.css.ts +1 -1
- package/src/generated/themes/TableGroupRow.css.ts +1 -1
- package/src/generated/themes/TableHeaderCell.css.ts +1 -1
- package/src/generated/themes/Tag.css.ts +1 -1
- package/src/generated/themes/Wizard.css.ts +1 -1
- package/src/generated/themes/WizardTab.css.ts +1 -1
- package/src/i18n/messagebundle.properties +3 -0
- package/src/i18n/messagebundle_en.properties +2 -0
- package/src/i18n/messagebundle_pl.properties +134 -1
- package/src/i18n/messagebundle_pt_PT.properties +126 -1
- package/src/themes/Badge.css +3 -0
- package/src/themes/Carousel.css +20 -8
- package/src/themes/ListItem.css +3 -0
- package/src/themes/MastheadCountrySelector.css +4 -9
- package/src/themes/MastheadItem.css +45 -25
- package/src/themes/MastheadMenu.css +0 -2
- package/src/themes/MastheadMobileMenu.css +12 -0
- package/src/themes/MastheadProfileMenu.css +0 -15
- package/src/themes/Table.css +1 -1
- package/src/themes/TableCell.css +3 -3
- package/src/themes/TableGroupRow.css +1 -1
- package/src/themes/TableHeaderCell.css +3 -4
- package/src/themes/Tag.css +24 -0
- package/src/themes/Wizard.css +1 -0
- package/src/themes/WizardTab.css +16 -7
- package/dist/assets/messagebundle_en-BZqDcZHN.js +0 -1
- package/dist/assets/messagebundle_pl-BmaELnDD.js +0 -1
- package/dist/assets/messagebundle_pt_PT-DcVh6BH6.js +0 -1
package/dist/TagTemplate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagTemplate.js","sourceRoot":"","sources":["../src/TagTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,iCAAiC,CAAC;AAGtD,MAAM,CAAC,OAAO,UAAU,WAAW;IACjC,MAAM,SAAS,GAAG,UAAU,CAAC;IAE7B,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACd,
|
|
1
|
+
{"version":3,"file":"TagTemplate.js","sourceRoot":"","sources":["../src/TagTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,iCAAiC,CAAC;AAGtD,MAAM,CAAC,OAAO,UAAU,WAAW;IACjC,MAAM,SAAS,GAAG,UAAU,CAAC;IAE7B,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACd,eAAK,KAAK,EAAE,IAAI,CAAC,UAAU,aACxB,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EACzD,eAAM,KAAK,EAAE,GAAG,SAAS,QAAQ,YAAG,IAAI,CAAC,IAAI,GAAQ,EACpD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,IACjD,CACP,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACd,YAAG,KAAK,EAAE,IAAI,CAAC,UAAU,EACvB,IAAI,EAAE,IAAI,CAAC,cAA0B,EACrC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,mBAAmB,YAChC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,GAC/B,CACL,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CACxB,cAAK,KAAK,EAAE,IAAI,CAAC,UAAU,YACxB,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,GAC3C,CACP,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CACvB,cAAK,KAAK,EAAE,IAAI,CAAC,UAAU,YACxB,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,GAC1C,CACP,CAAC,CAAC,CAAC,CACF,cACE,QAAQ,EAAE,IAAI,CAAC,SAAS,EACxB,KAAK,EAAE,IAAI,CAAC,UAAU,EACtB,OAAO,EAAE,IAAI,CAAC,eAAe,EAC7B,SAAS,EAAE,IAAI,CAAC,QAAQ,EACxB,UAAU,EAAE,IAAI,CAAC,SAAS,EAC1B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,IAAI,EAAE,IAAI,CAAC,cAA0B,gBACzB,IAAI,CAAC,cAAc,kBACjB,IAAI,CAAC,QAAQ,YAC1B,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GACnC,CACP,CACF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAgB,SAAiB,EAAE,kBAA2B,KAAK,EAAE,YAAqB,KAAK;IAChH,OAAO,CACL,8BACG,IAAI,CAAC,SAAS,IAAI,CACjB,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC;gBACnD,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,EAC9D,eAAM,KAAK,EAAE,GAAG,SAAS,QAAQ,YAAG,IAAI,CAAC,IAAI,GAAQ,EACpD,IAAI,CAAC,OAAO,IAAI,CACf,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC;gBACjD,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,IAC3D,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAgB,SAAiB,EAAE,QAAgB;IACpE,OAAO,CACL,4BACE,iBACE,KAAK,EAAE,GAAG,SAAS,YAAY,EAC/B,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,IAAI,EAAE,IAAI,CAAC,cAA0B,gBACzB,IAAI,CAAC,kBAAkB,YAClC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,GACjC,GACR,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAgB,SAAiB,EAAE,QAAgB,EAAE,kBAA2B,KAAK;IACnG,OAAO,CACL,4BACE,KAAC,OAAO,IACN,KAAK,EAAE,GAAG,SAAS,UAAU,SAAS,WAAW,QAAQ,EAAE,EAC3D,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,WAAW,EAAE,IAAI,CAAC,gBAAgB,KAC9B,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GACvD,GACT,CACJ,CAAC;AACJ,CAAC","sourcesContent":["import type UDExTag from \"./Tag.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport type { AriaRole } from \"@ui5/webcomponents-base/dist/types.js\";\n\nexport default function TagTemplate(this: UDExTag) {\n const rootClass = \"udex-tag\";\n\n return (\n this.readOnly ? (\n <div class={this.tagClasses}>\n {this.startIcon && tagIcon.call(this, rootClass, \"start\")}\n <span class={`${rootClass}__text`}>{this.text}</span>\n {this.endIcon && tagIcon.call(this, rootClass, \"end\")}\n </div>\n ) : this.href ? (\n <a class={this.tagClasses}\n role={this.accessibleRole as AriaRole}\n href={this.href}\n onClick={this.tagLinkClickHandler}>\n {tagContent.call(this, rootClass)}\n </a>\n ) : this.nonInteractive ? (\n <div class={this.tagClasses}>\n {tagContent.call(this, rootClass, false, false)}\n </div>\n ) : this.nonSelectable ? (\n <div class={this.tagClasses}>\n {tagContent.call(this, rootClass, false, true)}\n </div>\n ) : (\n <div\n tabindex={this._tabIndex}\n class={this.tagClasses}\n onClick={this.tagClickHandler}\n onFocusIn={this._focusin}\n onFocusOut={this._focusout}\n onKeyDown={this.tagKeyDown}\n role={this.accessibleRole as AriaRole}\n aria-label={this.accessibleName}\n aria-pressed={this.selected}>\n {tagContent.call(this, rootClass, true)}\n </div>\n )\n );\n}\n\nfunction tagContent(this: UDExTag, rootClass: string, isIconClickable: boolean = false, isIconBtn: boolean = false) {\n return (\n <>\n {this.startIcon && (\n isIconBtn ? tagBtnIcon.call(this, rootClass, \"start\")\n : tagIcon.call(this, rootClass, \"start\", isIconClickable))}\n <span class={`${rootClass}__text`}>{this.text}</span>\n {this.endIcon && (\n isIconBtn ? tagBtnIcon.call(this, rootClass, \"end\")\n : tagIcon.call(this, rootClass, \"end\", isIconClickable))}\n </>\n );\n}\n\nfunction tagBtnIcon(this: UDExTag, rootClass: string, iconType: string) {\n return (\n <>\n <button\n class={`${rootClass}__btn-icon`}\n onClick={this.iconClickHandler}\n role={this.accessibleRole as AriaRole}\n aria-label={this.iconAccessibleName}>\n {tagIcon.call(this, rootClass, iconType)}\n </button>\n </>\n );\n}\n\nfunction tagIcon(this: UDExTag, rootClass: string, iconType: string, isIconClickable: boolean = false) {\n return (\n <>\n <UI5Icon\n class={`${rootClass}__icon ${rootClass}__icon--${iconType}`}\n name={this.icon}\n onMouseDown={this._onIconMouseDown}\n {...(isIconClickable ? { onClick: this.iconClickHandler } : {})}>\n </UI5Icon>\n </>\n );\n}\n"]}
|
package/dist/TextField.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
|
2
2
|
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
3
3
|
import UDExValueState from "./types/common.js";
|
|
4
4
|
import type UDExControlButtonDesign from "./types/ControlButtonDesign.js";
|
|
5
|
+
import type { ButtonAccessibilityAttributes } from "@ui5/webcomponents/dist/Button.js";
|
|
5
6
|
export type AccInfo = {
|
|
6
7
|
ariaInvalid?: string;
|
|
7
8
|
ariaDescribedBy?: string;
|
|
@@ -249,6 +250,16 @@ declare class UDExTextField extends UI5Element {
|
|
|
249
250
|
* @private
|
|
250
251
|
*/
|
|
251
252
|
_ariaHasPopup?: string;
|
|
253
|
+
/**
|
|
254
|
+
* Sets aria-haspopup on the icon control button (e.g. "grid" for a date picker calendar popup).
|
|
255
|
+
* @private
|
|
256
|
+
*/
|
|
257
|
+
_iconAriaHasPopup?: string;
|
|
258
|
+
/**
|
|
259
|
+
* Sets aria-expanded on the icon control button ("true" or "false").
|
|
260
|
+
* @private
|
|
261
|
+
*/
|
|
262
|
+
_iconAriaExpanded?: string;
|
|
252
263
|
/**
|
|
253
264
|
* Defines is it the touch of the input field (only for mobile devices).
|
|
254
265
|
* @default false
|
|
@@ -281,6 +292,7 @@ declare class UDExTextField extends UI5Element {
|
|
|
281
292
|
get valueStateTextId(): string;
|
|
282
293
|
get readOnlyStateTextId(): string;
|
|
283
294
|
get accInfo(): AccInfo;
|
|
295
|
+
get iconAccessibilityAttributes(): ButtonAccessibilityAttributes | undefined;
|
|
284
296
|
get inputRole(): string | undefined;
|
|
285
297
|
get isAutoCompleteDisabled(): boolean;
|
|
286
298
|
get readonlyNotDisabled(): boolean;
|
package/dist/TextField.js
CHANGED
|
@@ -206,6 +206,15 @@ let UDExTextField = UDExTextField_1 = class UDExTextField extends UI5Element {
|
|
|
206
206
|
"ariaHasPopup": this._ariaHasPopup || undefined,
|
|
207
207
|
};
|
|
208
208
|
}
|
|
209
|
+
get iconAccessibilityAttributes() {
|
|
210
|
+
if (!this._iconAriaHasPopup && !this._iconAriaExpanded) {
|
|
211
|
+
return undefined;
|
|
212
|
+
}
|
|
213
|
+
return {
|
|
214
|
+
...(this._iconAriaHasPopup ? { hasPopup: this._iconAriaHasPopup } : {}),
|
|
215
|
+
...(this._iconAriaExpanded ? { expanded: this._iconAriaExpanded } : {}),
|
|
216
|
+
};
|
|
217
|
+
}
|
|
209
218
|
get inputRole() {
|
|
210
219
|
return this.isAutoCompleteDisabled ? "presentation" : undefined;
|
|
211
220
|
}
|
|
@@ -316,6 +325,12 @@ __decorate([
|
|
|
316
325
|
__decorate([
|
|
317
326
|
property({ type: String })
|
|
318
327
|
], UDExTextField.prototype, "_ariaHasPopup", void 0);
|
|
328
|
+
__decorate([
|
|
329
|
+
property({ type: String })
|
|
330
|
+
], UDExTextField.prototype, "_iconAriaHasPopup", void 0);
|
|
331
|
+
__decorate([
|
|
332
|
+
property({ type: String })
|
|
333
|
+
], UDExTextField.prototype, "_iconAriaExpanded", void 0);
|
|
319
334
|
__decorate([
|
|
320
335
|
property({ type: Boolean })
|
|
321
336
|
], UDExTextField.prototype, "_isTouched", void 0);
|
package/dist/TextField.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextField.js","sourceRoot":"","sources":["../src/TextField.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getAllAccessibleNameRefTexts } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport {\n VALUE_STATE_SUCCESS, VALUE_STATE_WARNING, VALUE_STATE_ERROR, READ_ONLY,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport UDExControlButton from \"./ControlButton.js\";\nimport UDExValueState, { valueStateToControlButtonDesign } from \"./types/common.js\";\nimport type UDExControlButtonDesign from \"./types/ControlButtonDesign.js\";\nimport UDExStatusMessage from \"./StatusMessage.js\";\nimport TextFieldTemplate from \"./TextFieldTemplate.js\";\nimport translate from \"./utils/translate.js\";\n\n// Styles\nimport TextFieldCss from \"./generated/themes/TextField.css.js\";\n\nexport type AccInfo = {\n ariaInvalid?: string;\n ariaDescribedBy?: string;\n ariaLabelledBy?: string;\n ariaLabel?: string;\n ariaHasPopup?: string,\n}\n\ntype UDExTextFieldKeydownEventDetail = {\n keyboardEvent: KeyboardEvent;\n}\n\ntype UDExTextFieldChangeEventDetail = {\n originalEvent: Event,\n}\n\ntype UDExTextFieldBlurEventDetail = {\n originalEvent: FocusEvent,\n}\n\n/**\n * @class\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-text-field\n * @public\n */\n@customElement({\n tag: \"udex-text-field\",\n renderer: jsxRenderer,\n styles: TextFieldCss,\n template: TextFieldTemplate,\n dependencies: [UDExControlButton, Icon, UDExStatusMessage],\n})\n\n/**\n * Fired when the value of the component changes at each keystroke.\n *\n * @public\n */\n@event(\"input\", { bubbles: true })\n/**\n * Fired when the input operation has finished by pressing Enter or on focusout.\n *\n * @public\n */\n@event(\"change\", { bubbles: true })\n/**\n * Fired on input focusout.\n *\n * @public\n */\n@event(\"blur\", { bubbles: true })\n/**\n * Fired event when the user clicks the icon.\n *\n * @private\n */\n@event(\"click-icon\", { bubbles: true })\n\n/**\n * Fired event when the key is pressed in the input.\n *\n * @private\n * @param {KeyboardEvent} keyboardEvent The native keyboard event.\n */\n@event(\"keydown\", { bubbles: true })\nclass UDExTextField extends UI5Element {\n eventDetails!: {\n \"keydown\": UDExTextFieldKeydownEventDetail,\n \"input\": void,\n \"change\": UDExTextFieldChangeEventDetail,\n \"blur\": UDExTextFieldBlurEventDetail,\n \"click-icon\": void,\n };\n _labelActiveClassName = \"udex-text-field__label_active\";\n\n /**\n * Defines whether the component is in disabled state.\n * <br><br>\n * <b>Note:</b> A disabled component is completely noninteractive.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n /**\n * Defines the value of the component.\n * <br><br>\n * <b>Note:</b> The property is updated upon typing.\n *\n * @default \"\"\n * @formEvents input\n * @formProperty\n * @public\n */\n @property({ type: String })\n value: string = \"\";\n\n /**\n * Sets the maximum number of characters available in the input field.\n * <br><br>\n * <b>Note:</b> 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 * @public\n */\n @property({ type: Number })\n maxlength?: number;\n\n /**\n * Defines label text for the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleName!: string;\n\n /**\n * Defines the name of the input element.\n *\n * @default \"\"\n * @public\n */\n @property()\n name!: string;\n\n /**\n * Receives id (or many ids) of the elements that label the component.\n * @default \"\"\n * @public\n */\n @property()\n accessibleNameRef: string = \"\";\n\n /**\n * Defines the ref of the input element.\n *\n * @default undefined\n * @public\n */\n @property()\n fieldRef?: ((el: HTMLInputElement | null) => void) | { current: HTMLInputElement | null };\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleIconName: string = \"\";\n\n /**\n * Defines whether the component is read-only.\n * <br><br>\n * <b>Note:</b> A read-only component is not editable,\n * but still provides visual feedback upon user interaction.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n readonly!: boolean;\n\n /**\n * Defines whether the component is display-only.\n * <br><br>\n * <b>Note:</b> A display-only component is not editable,\n * but still provides visual feedback upon user interaction, input border is not visible.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n displayonly!: boolean;\n\n /**\n * Defines whether the component is required.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n required!: boolean;\n\n /**\n * Defines the value state of the component.\n *\n * @default \"Standard\"\n * @public\n */\n @property()\n valueState: `${UDExValueState}` = UDExValueState.Standard;\n\n /**\n * Defines supporting text under the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n supportingText!: string;\n\n /**\n * Defines the icon name in the text-field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n icon!: string;\n\n /**\n * Defines if the text-field is active\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n active!: boolean;\n\n /**\n * Defines if dropdown associated with text-field trigger has opened dropdown. It indicates active state of control button.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n iconActive!: boolean;\n\n /**\n * Defines the placeholder text of the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n placeholder: string = \"\";\n\n /**\n * Defines the behaviour of autocomplete.\n * @default \"off\"\n * @public\n */\n @property({ type: String })\n autocomplete: string = \"off\";\n\n /**\n * Defines the inner stored show password button tooltip.\n *\n * @default \"\"\n * @private\n */\n\n @property({ type: String })\n buttonTooltip: string = \"\";\n\n /**\n * Defines the inner stored class of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelActiveClass: string = \"\";\n\n /**\n * Defines the inner stored value of the readonly attribute of the input.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n isInputReadonly!: boolean;\n\n /**\n * Defines the inner stored value of the classes of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelClasses: string = \"\";\n\n /**\n * Defines the type of inner input field.\n * Note: Only URL and Email types can be used within this property. For other types, user should use dedicated UDEx component.\n * There is no custom logic on UDEx component side. Property is used only to pass it directly to html input element.\n *\n * @default \"Text\"\n * @public\n */\n @property({ type: String })\n type: \"Text\" | \"Email\" | \"Number\" | \"Password\" | \"Tel\" | \"URL\" | \"Search\" = \"Text\";\n\n /**\n * Defines direction of the input.\n *\n * @public\n */\n @property({ type: String, noAttribute: true })\n direction?: string;\n\n /**\n * Defines the max value for the \"number\" type of the input.\n */\n @property({ type: Number })\n max?: number;\n\n /**\n * Defines the min value for the \"number\" type of the input.\n */\n @property({ type: Number })\n min?: number;\n\n /**\n * Defines the step for the \"number\" type of the input.\n * @default undefined\n */\n @property({ type: Number })\n step?: number;\n\n /**\n * Allows setting the aria-describedby property on the internal input node.\n *\n * @default \"\"\n * @public\n */\n @property()\n ariaDescribedBy?: string;\n\n /**\n * Defines the aria-haspopup attribute of the input.\n * @private\n */\n @property({ type: String })\n _ariaHasPopup?: string;\n\n /**\n * Defines is it the touch of the input field (only for mobile devices).\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _isTouched!: boolean;\n\n /**\n * Determines Combobox role for the button.\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _isComboboxRole?: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n onBeforeRendering(): void {\n if ((this.value || this.active) && this.labelActiveClass === \"\") {\n this.labelActiveClass = this._labelActiveClassName;\n } else if (!this.active && !this.value && this.labelActiveClass.length) {\n this.labelActiveClass = \"\";\n }\n\n this.isInputReadonly = this.readonly || this.displayonly;\n\n this.labelClasses = `udex-text-field__label ${this.labelActiveClass}`;\n }\n\n onAfterRendering(): void {\n const directionStyles: string = window\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n\n if (!directionStyles) {\n this.direction = \"ltr\";\n } else {\n this.direction = directionStyles;\n }\n }\n\n handleKeydown(e: KeyboardEvent): void {\n e.stopPropagation();\n this.fireDecoratorEvent(\"keydown\", { keyboardEvent: e });\n }\n\n handleChange = (e: Event): void => {\n this.fireDecoratorEvent(\"change\", { originalEvent: e });\n };\n\n handleInput = (inputEvent: InputEvent) => {\n this.value = (inputEvent.target as HTMLInputElement)?.value;\n this.fireDecoratorEvent(\"input\");\n };\n\n handleClick = (): void => {\n if (!isDesktop()) {\n this._isTouched = true;\n }\n };\n\n handleFocus = (): void => {\n if (!this.disabled && !this.readonly && !this.displayonly) {\n this.labelActiveClass = this._labelActiveClassName;\n this.active = true;\n }\n };\n\n handleBlur = (e: FocusEvent): void => {\n this.fireDecoratorEvent(\"blur\", { originalEvent: e });\n this.active = false;\n\n if (this.value) {\n this.labelActiveClass = this._labelActiveClassName;\n } else {\n this.labelActiveClass = \"\";\n }\n this._isTouched = false;\n };\n\n handleIconClick(): void {\n this.fireDecoratorEvent(\"click-icon\");\n }\n\n get _inputHolder(): HTMLElement {\n return this.shadowRoot!.querySelector<HTMLElement>(\".udex-text-field__wrap\")!;\n }\n\n get valueStateTypeMappings(): Record<string, string> {\n return {\n \"Success\": translate(UDExTextField, VALUE_STATE_SUCCESS),\n \"Standard\": \"\",\n \"Error\": translate(UDExTextField, VALUE_STATE_ERROR),\n \"Warning\": translate(UDExTextField, VALUE_STATE_WARNING),\n };\n }\n\n get hasValueState(): boolean {\n return this.valueState !== UDExValueState.Standard;\n }\n\n get valueStateText(): string {\n return this.valueState !== UDExValueState.Standard ? this.valueStateTypeMappings[this.valueState] : \"\";\n }\n\n get readOnlyStateText(): string {\n return translate(UDExTextField, READ_ONLY);\n }\n\n get ariaDescribedById(): string {\n return `${this.supportingTextId} ${this.valueStateTextId} ${this.readOnlyStateTextId}`.trim();\n }\n\n get supportingTextId(): string {\n return this.supportingText ? `${this._id}-supportingTextDesc` : \"\";\n }\n\n get valueStateTextId(): string {\n return this.hasValueState ? `${this._id}-valueStateDesc` : \"\";\n }\n\n get readOnlyStateTextId(): string {\n return this.readonly ? `${this._id}-stateReadOnlyDesc` : \"\";\n }\n\n get accInfo(): AccInfo {\n return {\n \"ariaInvalid\": this.valueState === UDExValueState.Error ? \"true\" : undefined,\n \"ariaDescribedBy\": this.ariaDescribedBy ? this.ariaDescribedBy : this.ariaDescribedById || undefined,\n \"ariaLabel\": getAllAccessibleNameRefTexts(this) || this.accessibleName || undefined,\n \"ariaHasPopup\": this._ariaHasPopup || undefined,\n };\n }\n\n get inputRole(): string | undefined {\n return this.isAutoCompleteDisabled ? \"presentation\" : undefined;\n }\n\n get isAutoCompleteDisabled(): boolean {\n return this.autocomplete === \"off\" || this.autocomplete === \"new-password\";\n }\n\n get readonlyNotDisabled(): boolean {\n return this.isInputReadonly && !this.disabled;\n }\n\n get buttonAccessibleName(): string {\n return this._isComboboxRole ? this.label : this.accessibleIconName || this.icon;\n }\n\n get buttonAccessibleDescription(): string {\n const label = this._isComboboxRole ? this.value : \"\";\n return `${label} ${this.supportingText || \"\"} ${this.valueStateText}`;\n }\n\n get controlButtonDesign(): UDExControlButtonDesign {\n return valueStateToControlButtonDesign[this.valueState];\n }\n}\n\nUDExTextField.define();\n\nexport default UDExTextField;\nexport type { UDExTextFieldKeydownEventDetail, UDExTextFieldChangeEventDetail, UDExTextFieldBlurEventDetail };\n"]}
|
|
1
|
+
{"version":3,"file":"TextField.js","sourceRoot":"","sources":["../src/TextField.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getAllAccessibleNameRefTexts } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport {\n VALUE_STATE_SUCCESS, VALUE_STATE_WARNING, VALUE_STATE_ERROR, READ_ONLY,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport UDExControlButton from \"./ControlButton.js\";\nimport UDExValueState, { valueStateToControlButtonDesign } from \"./types/common.js\";\nimport type UDExControlButtonDesign from \"./types/ControlButtonDesign.js\";\nimport UDExStatusMessage from \"./StatusMessage.js\";\nimport TextFieldTemplate from \"./TextFieldTemplate.js\";\nimport translate from \"./utils/translate.js\";\nimport type { ButtonAccessibilityAttributes } from \"@ui5/webcomponents/dist/Button.js\";\n\n// Styles\nimport TextFieldCss from \"./generated/themes/TextField.css.js\";\n\nexport type AccInfo = {\n ariaInvalid?: string;\n ariaDescribedBy?: string;\n ariaLabelledBy?: string;\n ariaLabel?: string;\n ariaHasPopup?: string;\n}\n\ntype UDExTextFieldKeydownEventDetail = {\n keyboardEvent: KeyboardEvent;\n}\n\ntype UDExTextFieldChangeEventDetail = {\n originalEvent: Event,\n}\n\ntype UDExTextFieldBlurEventDetail = {\n originalEvent: FocusEvent,\n}\n\n/**\n * @class\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-text-field\n * @public\n */\n@customElement({\n tag: \"udex-text-field\",\n renderer: jsxRenderer,\n styles: TextFieldCss,\n template: TextFieldTemplate,\n dependencies: [UDExControlButton, Icon, UDExStatusMessage],\n})\n\n/**\n * Fired when the value of the component changes at each keystroke.\n *\n * @public\n */\n@event(\"input\", { bubbles: true })\n/**\n * Fired when the input operation has finished by pressing Enter or on focusout.\n *\n * @public\n */\n@event(\"change\", { bubbles: true })\n/**\n * Fired on input focusout.\n *\n * @public\n */\n@event(\"blur\", { bubbles: true })\n/**\n * Fired event when the user clicks the icon.\n *\n * @private\n */\n@event(\"click-icon\", { bubbles: true })\n\n/**\n * Fired event when the key is pressed in the input.\n *\n * @private\n * @param {KeyboardEvent} keyboardEvent The native keyboard event.\n */\n@event(\"keydown\", { bubbles: true })\nclass UDExTextField extends UI5Element {\n eventDetails!: {\n \"keydown\": UDExTextFieldKeydownEventDetail,\n \"input\": void,\n \"change\": UDExTextFieldChangeEventDetail,\n \"blur\": UDExTextFieldBlurEventDetail,\n \"click-icon\": void,\n };\n _labelActiveClassName = \"udex-text-field__label_active\";\n\n /**\n * Defines whether the component is in disabled state.\n * <br><br>\n * <b>Note:</b> A disabled component is completely noninteractive.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n /**\n * Defines the value of the component.\n * <br><br>\n * <b>Note:</b> The property is updated upon typing.\n *\n * @default \"\"\n * @formEvents input\n * @formProperty\n * @public\n */\n @property({ type: String })\n value: string = \"\";\n\n /**\n * Sets the maximum number of characters available in the input field.\n * <br><br>\n * <b>Note:</b> 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 * @public\n */\n @property({ type: Number })\n maxlength?: number;\n\n /**\n * Defines label text for the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n label!: string;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleName!: string;\n\n /**\n * Defines the name of the input element.\n *\n * @default \"\"\n * @public\n */\n @property()\n name!: string;\n\n /**\n * Receives id (or many ids) of the elements that label the component.\n * @default \"\"\n * @public\n */\n @property()\n accessibleNameRef: string = \"\";\n\n /**\n * Defines the ref of the input element.\n *\n * @default undefined\n * @public\n */\n @property()\n fieldRef?: ((el: HTMLInputElement | null) => void) | { current: HTMLInputElement | null };\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleIconName: string = \"\";\n\n /**\n * Defines whether the component is read-only.\n * <br><br>\n * <b>Note:</b> A read-only component is not editable,\n * but still provides visual feedback upon user interaction.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n readonly!: boolean;\n\n /**\n * Defines whether the component is display-only.\n * <br><br>\n * <b>Note:</b> A display-only component is not editable,\n * but still provides visual feedback upon user interaction, input border is not visible.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n displayonly!: boolean;\n\n /**\n * Defines whether the component is required.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n required!: boolean;\n\n /**\n * Defines the value state of the component.\n *\n * @default \"Standard\"\n * @public\n */\n @property()\n valueState: `${UDExValueState}` = UDExValueState.Standard;\n\n /**\n * Defines supporting text under the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n supportingText!: string;\n\n /**\n * Defines the icon name in the text-field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n icon!: string;\n\n /**\n * Defines if the text-field is active\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n active!: boolean;\n\n /**\n * Defines if dropdown associated with text-field trigger has opened dropdown. It indicates active state of control button.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n iconActive!: boolean;\n\n /**\n * Defines the placeholder text of the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n placeholder: string = \"\";\n\n /**\n * Defines the behaviour of autocomplete.\n * @default \"off\"\n * @public\n */\n @property({ type: String })\n autocomplete: string = \"off\";\n\n /**\n * Defines the inner stored show password button tooltip.\n *\n * @default \"\"\n * @private\n */\n\n @property({ type: String })\n buttonTooltip: string = \"\";\n\n /**\n * Defines the inner stored class of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelActiveClass: string = \"\";\n\n /**\n * Defines the inner stored value of the readonly attribute of the input.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n isInputReadonly!: boolean;\n\n /**\n * Defines the inner stored value of the classes of the label.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n labelClasses: string = \"\";\n\n /**\n * Defines the type of inner input field.\n * Note: Only URL and Email types can be used within this property. For other types, user should use dedicated UDEx component.\n * There is no custom logic on UDEx component side. Property is used only to pass it directly to html input element.\n *\n * @default \"Text\"\n * @public\n */\n @property({ type: String })\n type: \"Text\" | \"Email\" | \"Number\" | \"Password\" | \"Tel\" | \"URL\" | \"Search\" = \"Text\";\n\n /**\n * Defines direction of the input.\n *\n * @public\n */\n @property({ type: String, noAttribute: true })\n direction?: string;\n\n /**\n * Defines the max value for the \"number\" type of the input.\n */\n @property({ type: Number })\n max?: number;\n\n /**\n * Defines the min value for the \"number\" type of the input.\n */\n @property({ type: Number })\n min?: number;\n\n /**\n * Defines the step for the \"number\" type of the input.\n * @default undefined\n */\n @property({ type: Number })\n step?: number;\n\n /**\n * Allows setting the aria-describedby property on the internal input node.\n *\n * @default \"\"\n * @public\n */\n @property()\n ariaDescribedBy?: string;\n\n /**\n * Defines the aria-haspopup attribute of the input.\n * @private\n */\n @property({ type: String })\n _ariaHasPopup?: string;\n\n /**\n * Sets aria-haspopup on the icon control button (e.g. \"grid\" for a date picker calendar popup).\n * @private\n */\n @property({ type: String })\n _iconAriaHasPopup?: string;\n\n /**\n * Sets aria-expanded on the icon control button (\"true\" or \"false\").\n * @private\n */\n @property({ type: String })\n _iconAriaExpanded?: string;\n\n /**\n * Defines is it the touch of the input field (only for mobile devices).\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _isTouched!: boolean;\n\n /**\n * Determines Combobox role for the button.\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _isComboboxRole?: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n onBeforeRendering(): void {\n if ((this.value || this.active) && this.labelActiveClass === \"\") {\n this.labelActiveClass = this._labelActiveClassName;\n } else if (!this.active && !this.value && this.labelActiveClass.length) {\n this.labelActiveClass = \"\";\n }\n\n this.isInputReadonly = this.readonly || this.displayonly;\n\n this.labelClasses = `udex-text-field__label ${this.labelActiveClass}`;\n }\n\n onAfterRendering(): void {\n const directionStyles: string = window\n .getComputedStyle(this)\n .getPropertyValue(\"direction\");\n\n if (!directionStyles) {\n this.direction = \"ltr\";\n } else {\n this.direction = directionStyles;\n }\n }\n\n handleKeydown(e: KeyboardEvent): void {\n e.stopPropagation();\n this.fireDecoratorEvent(\"keydown\", { keyboardEvent: e });\n }\n\n handleChange = (e: Event): void => {\n this.fireDecoratorEvent(\"change\", { originalEvent: e });\n };\n\n handleInput = (inputEvent: InputEvent) => {\n this.value = (inputEvent.target as HTMLInputElement)?.value;\n this.fireDecoratorEvent(\"input\");\n };\n\n handleClick = (): void => {\n if (!isDesktop()) {\n this._isTouched = true;\n }\n };\n\n handleFocus = (): void => {\n if (!this.disabled && !this.readonly && !this.displayonly) {\n this.labelActiveClass = this._labelActiveClassName;\n this.active = true;\n }\n };\n\n handleBlur = (e: FocusEvent): void => {\n this.fireDecoratorEvent(\"blur\", { originalEvent: e });\n this.active = false;\n\n if (this.value) {\n this.labelActiveClass = this._labelActiveClassName;\n } else {\n this.labelActiveClass = \"\";\n }\n this._isTouched = false;\n };\n\n handleIconClick(): void {\n this.fireDecoratorEvent(\"click-icon\");\n }\n\n get _inputHolder(): HTMLElement {\n return this.shadowRoot!.querySelector<HTMLElement>(\".udex-text-field__wrap\")!;\n }\n\n get valueStateTypeMappings(): Record<string, string> {\n return {\n \"Success\": translate(UDExTextField, VALUE_STATE_SUCCESS),\n \"Standard\": \"\",\n \"Error\": translate(UDExTextField, VALUE_STATE_ERROR),\n \"Warning\": translate(UDExTextField, VALUE_STATE_WARNING),\n };\n }\n\n get hasValueState(): boolean {\n return this.valueState !== UDExValueState.Standard;\n }\n\n get valueStateText(): string {\n return this.valueState !== UDExValueState.Standard ? this.valueStateTypeMappings[this.valueState] : \"\";\n }\n\n get readOnlyStateText(): string {\n return translate(UDExTextField, READ_ONLY);\n }\n\n get ariaDescribedById(): string {\n return `${this.supportingTextId} ${this.valueStateTextId} ${this.readOnlyStateTextId}`.trim();\n }\n\n get supportingTextId(): string {\n return this.supportingText ? `${this._id}-supportingTextDesc` : \"\";\n }\n\n get valueStateTextId(): string {\n return this.hasValueState ? `${this._id}-valueStateDesc` : \"\";\n }\n\n get readOnlyStateTextId(): string {\n return this.readonly ? `${this._id}-stateReadOnlyDesc` : \"\";\n }\n\n get accInfo(): AccInfo {\n return {\n \"ariaInvalid\": this.valueState === UDExValueState.Error ? \"true\" : undefined,\n \"ariaDescribedBy\": this.ariaDescribedBy ? this.ariaDescribedBy : this.ariaDescribedById || undefined,\n \"ariaLabel\": getAllAccessibleNameRefTexts(this) || this.accessibleName || undefined,\n \"ariaHasPopup\": this._ariaHasPopup || undefined,\n };\n }\n\n get iconAccessibilityAttributes(): ButtonAccessibilityAttributes | undefined {\n if (!this._iconAriaHasPopup && !this._iconAriaExpanded) {\n return undefined;\n }\n return {\n ...(this._iconAriaHasPopup ? { hasPopup: this._iconAriaHasPopup as ButtonAccessibilityAttributes[\"hasPopup\"] } : {}),\n ...(this._iconAriaExpanded ? { expanded: this._iconAriaExpanded as ButtonAccessibilityAttributes[\"expanded\"] } : {}),\n };\n }\n\n get inputRole(): string | undefined {\n return this.isAutoCompleteDisabled ? \"presentation\" : undefined;\n }\n\n get isAutoCompleteDisabled(): boolean {\n return this.autocomplete === \"off\" || this.autocomplete === \"new-password\";\n }\n\n get readonlyNotDisabled(): boolean {\n return this.isInputReadonly && !this.disabled;\n }\n\n get buttonAccessibleName(): string {\n return this._isComboboxRole ? this.label : this.accessibleIconName || this.icon;\n }\n\n get buttonAccessibleDescription(): string {\n const label = this._isComboboxRole ? this.value : \"\";\n return `${label} ${this.supportingText || \"\"} ${this.valueStateText}`;\n }\n\n get controlButtonDesign(): UDExControlButtonDesign {\n return valueStateToControlButtonDesign[this.valueState];\n }\n}\n\nUDExTextField.define();\n\nexport default UDExTextField;\nexport type { UDExTextFieldKeydownEventDetail, UDExTextFieldChangeEventDetail, UDExTextFieldBlurEventDetail };\n"]}
|
|
@@ -6,7 +6,7 @@ export default function TextFieldTemplate() {
|
|
|
6
6
|
const hiddenClass = "hidden-text";
|
|
7
7
|
return (_jsxs("div", { class: `${rootClass}__container`, children: [this.label &&
|
|
8
8
|
_jsxs("label", { for: `${this._id}-input`, class: this.labelClasses, part: "label", children: [this.label, this.required && " * "] }), _jsxs("div", { class: `${rootClass}__wrap`, children: [_jsx("input", { id: `${this._id}-input`, class: `${rootClass}__input`, type: this.type, value: this.value, maxlength: this.maxlength, disabled: this.disabled, readonly: this.isInputReadonly, required: this.required, "aria-required": this.required, "aria-readonly": this.isInputReadonly, placeholder: this.active || !this.label ? this.placeholder : undefined, autocomplete: this.autocomplete, role: this.inputRole, name: this.name, ref: this.fieldRef, "aria-disabled": this.readonlyNotDisabled, "aria-invalid": this.accInfo.ariaInvalid, "aria-describedby": this.accInfo.ariaDescribedBy, "aria-haspopup": this.accInfo.ariaHasPopup, "aria-label": this.accInfo.ariaLabel, part: "textfield-input", min: this.min, max: this.max, step: this.step, onChange: this.handleChange, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, onClick: this.handleClick, onKeyDown: this.handleKeydown }), this.icon &&
|
|
9
|
-
_jsx(UDExControlButton, { part: "textfield-control-btn", class: `${rootClass}__icon-container`, size: "Large", tooltip: this.buttonTooltip, active: this.active, disabled: this.disabled, readonly: this.readonly, "non-interactive": this.readonly, design: this.controlButtonDesign, icon: this.icon, "_is-combobox-role": this._isComboboxRole, "accessible-name": this.buttonAccessibleName, "accessible-description": this.buttonAccessibleDescription, onClick: this.handleIconClick })] }), this.supportingText &&
|
|
9
|
+
_jsx(UDExControlButton, { part: "textfield-control-btn", class: `${rootClass}__icon-container`, size: "Large", tooltip: this.buttonTooltip, active: this.active, disabled: this.disabled, readonly: this.readonly, "non-interactive": this.readonly, design: this.controlButtonDesign, icon: this.icon, "_is-combobox-role": this._isComboboxRole, "accessible-name": this.buttonAccessibleName, "accessible-description": this.buttonAccessibleDescription, accessibilityAttributes: this.iconAccessibilityAttributes, onClick: this.handleIconClick })] }), this.supportingText &&
|
|
10
10
|
_jsxs(_Fragment, { children: [_jsx(UDExStatusMessage, { "supporting-text": this.supportingText, "value-state": this.valueState, disabled: this.disabled ? "true" : undefined }), _jsx("span", { id: `${this._id}-supportingTextDesc`, class: hiddenClass, children: this.supportingText })] }), this.hasValueState &&
|
|
11
11
|
_jsx("span", { id: `${this._id}-valueStateDesc`, class: hiddenClass, children: this.valueStateText }), this.readonly &&
|
|
12
12
|
_jsx("span", { id: `${this._id}-stateReadOnlyDesc`, class: hiddenClass, children: this.readOnlyStateText })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextFieldTemplate.js","sourceRoot":"","sources":["../src/TextFieldTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type TextField from \"./TextField.js\";\nimport type { AriaRole } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type { Booleanish } from \"@ui5/webcomponents-base/dist/thirdparty/preact/jsx.js\";\nimport UDExControlButton from \"./ControlButton.js\";\nimport UDExStatusMessage from \"./StatusMessage.js\";\n\nexport default function TextFieldTemplate(this: TextField) {\n const rootClass = \"udex-text-field\";\n const hiddenClass = \"hidden-text\";\n\n return (\n <div class={`${rootClass}__container`}>\n {this.label &&\n <label for={`${this._id}-input`} class={this.labelClasses} part=\"label\">\n {this.label}{this.required && \" * \"}\n </label>\n }\n <div class={`${rootClass}__wrap`}>\n <input id={`${this._id}-input`} class={`${rootClass}__input`}\n type={this.type}\n value={this.value}\n maxlength={this.maxlength}\n disabled={this.disabled}\n readonly={this.isInputReadonly}\n required={this.required}\n aria-required={this.required}\n aria-readonly={this.isInputReadonly}\n placeholder={this.active || !this.label ? this.placeholder : undefined}\n autocomplete={this.autocomplete}\n role={this.inputRole as AriaRole}\n name={this.name}\n ref={this.fieldRef}\n aria-disabled={this.readonlyNotDisabled}\n aria-invalid={this.accInfo.ariaInvalid as Booleanish}\n aria-describedby={this.accInfo.ariaDescribedBy}\n aria-haspopup={this.accInfo.ariaHasPopup as Booleanish}\n aria-label={this.accInfo.ariaLabel}\n part=\"textfield-input\"\n min={this.min}\n max={this.max}\n step={this.step}\n onChange={this.handleChange}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onClick={this.handleClick}\n onKeyDown={this.handleKeydown} />\n {this.icon &&\n <UDExControlButton\n part=\"textfield-control-btn\"\n class={`${rootClass}__icon-container`}\n size=\"Large\"\n tooltip={this.buttonTooltip}\n active={this.active}\n disabled={this.disabled}\n readonly={this.readonly}\n non-interactive={this.readonly}\n design={this.controlButtonDesign}\n icon={this.icon}\n _is-combobox-role={this._isComboboxRole}\n accessible-name={this.buttonAccessibleName}\n accessible-description={this.buttonAccessibleDescription}\n onClick={this.handleIconClick}>\n </UDExControlButton>\n }\n </div>\n {this.supportingText &&\n <>\n <UDExStatusMessage\n supporting-text={this.supportingText}\n value-state={this.valueState}\n disabled={this.disabled ? \"true\" : undefined}>\n </UDExStatusMessage>\n <span id={`${this._id}-supportingTextDesc`} class={hiddenClass}>\n {this.supportingText}\n </span>\n </>\n }\n {this.hasValueState &&\n <span id={`${this._id}-valueStateDesc`} class={hiddenClass}>\n {this.valueStateText}\n </span>\n }\n {this.readonly &&\n <span id={`${this._id}-stateReadOnlyDesc`} class={hiddenClass}>\n {this.readOnlyStateText}\n </span>\n }\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"TextFieldTemplate.js","sourceRoot":"","sources":["../src/TextFieldTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type TextField from \"./TextField.js\";\nimport type { AriaRole } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type { Booleanish } from \"@ui5/webcomponents-base/dist/thirdparty/preact/jsx.js\";\nimport UDExControlButton from \"./ControlButton.js\";\nimport UDExStatusMessage from \"./StatusMessage.js\";\n\nexport default function TextFieldTemplate(this: TextField) {\n const rootClass = \"udex-text-field\";\n const hiddenClass = \"hidden-text\";\n\n return (\n <div class={`${rootClass}__container`}>\n {this.label &&\n <label for={`${this._id}-input`} class={this.labelClasses} part=\"label\">\n {this.label}{this.required && \" * \"}\n </label>\n }\n <div class={`${rootClass}__wrap`}>\n <input id={`${this._id}-input`} class={`${rootClass}__input`}\n type={this.type}\n value={this.value}\n maxlength={this.maxlength}\n disabled={this.disabled}\n readonly={this.isInputReadonly}\n required={this.required}\n aria-required={this.required}\n aria-readonly={this.isInputReadonly}\n placeholder={this.active || !this.label ? this.placeholder : undefined}\n autocomplete={this.autocomplete}\n role={this.inputRole as AriaRole}\n name={this.name}\n ref={this.fieldRef}\n aria-disabled={this.readonlyNotDisabled}\n aria-invalid={this.accInfo.ariaInvalid as Booleanish}\n aria-describedby={this.accInfo.ariaDescribedBy}\n aria-haspopup={this.accInfo.ariaHasPopup as Booleanish}\n aria-label={this.accInfo.ariaLabel}\n part=\"textfield-input\"\n min={this.min}\n max={this.max}\n step={this.step}\n onChange={this.handleChange}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onClick={this.handleClick}\n onKeyDown={this.handleKeydown} />\n {this.icon &&\n <UDExControlButton\n part=\"textfield-control-btn\"\n class={`${rootClass}__icon-container`}\n size=\"Large\"\n tooltip={this.buttonTooltip}\n active={this.active}\n disabled={this.disabled}\n readonly={this.readonly}\n non-interactive={this.readonly}\n design={this.controlButtonDesign}\n icon={this.icon}\n _is-combobox-role={this._isComboboxRole}\n accessible-name={this.buttonAccessibleName}\n accessible-description={this.buttonAccessibleDescription}\n accessibilityAttributes={this.iconAccessibilityAttributes}\n onClick={this.handleIconClick}>\n </UDExControlButton>\n }\n </div>\n {this.supportingText &&\n <>\n <UDExStatusMessage\n supporting-text={this.supportingText}\n value-state={this.valueState}\n disabled={this.disabled ? \"true\" : undefined}>\n </UDExStatusMessage>\n <span id={`${this._id}-supportingTextDesc`} class={hiddenClass}>\n {this.supportingText}\n </span>\n </>\n }\n {this.hasValueState &&\n <span id={`${this._id}-valueStateDesc`} class={hiddenClass}>\n {this.valueStateText}\n </span>\n }\n {this.readonly &&\n <span id={`${this._id}-stateReadOnlyDesc`} class={hiddenClass}>\n {this.readOnlyStateText}\n </span>\n }\n </div>\n );\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as w,j as l,a as c,f as v,d as y,b as P,s as g,m as x,q as S,r as O,u as R,D as L,c as D,v as A,T as G,I as b,w as I,F as H,B as f,R as V,x as E,z as $,A as N,C as B}from"./bundle.esm-
|
|
1
|
+
import{p as w,j as l,a as c,f as v,d as y,b as P,s as g,m as x,q as S,r as O,u as R,D as L,c as D,v as A,T as G,I as b,w as I,F as H,B as f,R as V,x as E,z as $,A as N,C as B}from"./bundle.esm-C6Ie2WeI.js";const F=n=>n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");function _(n,e,t,s){return n.replaceAll(new RegExp(F(e),`${s?"i":""}g`),t)}function M(n,e){if(!n||!e)return n;const t=r=>{const[a,d]=r.split("");for(;n.indexOf(r)>=0||e.indexOf(r)>=0;)r=`${a}${r}${d}`;return r},s=t("12"),i=t("34");let o=w(_(n,e,r=>`${s}${r}${i}`,!0));return[[s,"<b>"],[i,"</b>"]].forEach(([r,a])=>{o=_(o,r,a,!1)}),o}function z(n,e){const t=(n==null?void 0:n.listItemContent)||q;return l("li",{part:"native-li","data-sap-focus-ref":!0,tabindex:this._effectiveTabIndex,class:this.classes.main,draggable:this.movable,role:e==null?void 0:e.role,title:e==null?void 0:e.title,onFocusIn:this._onfocusin,onKeyUp:this._onkeyup,onKeyDown:this._onkeydown,onClick:this._onclick,children:t.call(this)})}function q(){return l("div",{part:"content",id:`${this._id}-content`,class:"ui5-li-content",children:l("div",{class:"ui5-li-text-wrapper",children:l("span",{part:"title",class:"ui5-li-title",children:l("slot",{})})})})}function U(){return[z.call(this,{listItemContent:W},{role:"option"})]}function W(){return l("div",{part:"content",id:"content",class:"ui5-li-content",children:c("div",{class:"ui5-li-text-wrapper",children:[l("span",{part:"title",className:"ui5-li-title",dangerouslySetInnerHTML:{__html:this.markupText}}),this.additionalText&&l("span",{part:"additional-text",class:"ui5-li-additional-text",children:this.additionalText})]})})}v("@ui5/webcomponents-theming","sap_horizon",async()=>y);v("@ui5/webcomponents","sap_horizon",async()=>P,"host");const K=`:host([ui5-suggestion-item]){height:auto;min-height:var(--_ui5_list_item_base_height)}:host([ui5-suggestion-item]) .ui5-li-root{min-height:var(--_ui5_list_item_base_height)}:host([ui5-suggestion-item]) .ui5-li-content{padding-bottom:.5rem;padding-top:.5rem;box-sizing:border-box}
|
|
2
2
|
`;var p=function(n,e,t,s){var i=arguments.length,o=i<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,t):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,s);else for(var a=n.length-1;a>=0;a--)(r=n[a])&&(o=(i<3?r(o):i>3?r(e,t,o):r(e,t))||o);return i>3&&o&&Object.defineProperty(e,t,o),o};let h=class extends S{constructor(){super(...arguments),this.markupText=""}onEnterDOM(){O()&&this.setAttribute("desktop","")}get _effectiveTabIndex(){return-1}};p([g()],h.prototype,"text",void 0);p([g()],h.prototype,"additionalText",void 0);p([g()],h.prototype,"markupText",void 0);h=p([x({tag:"ui5-suggestion-item",template:U,styles:[S.styles,K]})],h);h.define();function X(n){const e=(n==null?void 0:n.items)||j;return c("ul",{role:"group",class:"ui5-group-li-root",onDragEnter:this._ondragenter,onDragOver:this._ondragover,onDrop:this._ondrop,onDragLeave:this._ondragleave,children:[this.hasHeader&&l(R,{focused:this.focused,part:"header",accessibleRole:"Group",wrappingType:this.getGroupHeaderWrapping(),children:this.hasFormattedHeader?l("slot",{name:"header"}):this.headerText}),e.call(this),l(L,{orientation:"Horizontal",ownerReference:this})]})}function j(){return l("slot",{})}var T=function(n,e,t,s){var i=arguments.length,o=i<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,t):s,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(n,e,t,s);else for(var a=n.length-1;a>=0;a--)(r=n[a])&&(o=(i<3?r(o):i>3?r(e,t,o):r(e,t))||o);return i>3&&o&&Object.defineProperty(e,t,o),o};let m=class extends A{};T([D({default:!0,invalidateOnChildChange:!0,type:HTMLElement})],m.prototype,"items",void 0);m=T([x({tag:"ui5-suggestion-item-group",template:X})],m);m.define();function J(n){const e=(n==null?void 0:n.suggestionsList)||Q,t=n==null?void 0:n.mobileHeader,s=n==null?void 0:n.valueStateMessage,i=n==null?void 0:n.valueStateMessageInputIcon;return c(V,{class:this.classes.popover,hideArrow:!0,preventFocusRestore:!0,preventInitialFocus:!0,placement:"Bottom",horizontalAlign:"Start",tabindex:-1,style:this.styles.suggestionsPopover,onOpen:this._afterOpenPicker,onClose:this._afterClosePicker,onScroll:this._scroll,open:this.open,opener:this,accessibleName:this._popupLabel,children:[this._isPhone&&l(H,{children:c("div",{slot:"header",class:"ui5-responsive-popover-header",children:[l("div",{class:"row",children:l(G,{level:"H1",wrappingType:"None",class:"ui5-responsive-popover-header-text",children:this._headerTitleText})}),l("div",{class:"row",children:c("div",{class:"input-root-phone native-input-wrapper",children:[l(b,{class:"ui5-input-inner-phone",type:this.inputType,value:this.value,showClearIcon:this.showClearIcon,placeholder:this.placeholder,onInput:this._handleInput}),t==null?void 0:t.call(this)]})}),this.hasValueStateMessage&&c("div",{class:this.classes.popoverValueState,style:this.styles.suggestionPopoverHeader,children:[l(I,{class:"ui5-input-value-state-message-icon",name:i==null?void 0:i.call(this)}),this.open&&(s==null?void 0:s.call(this))]})]})}),!this._isPhone&&this.hasValueStateMessage&&c("div",{slot:"header",class:{"ui5-responsive-popover-header":!0,...this.classes.popoverValueState},style:this.styles.suggestionPopoverHeader,children:[l(I,{class:"ui5-input-value-state-message-icon",name:i==null?void 0:i.call(this)}),this.open&&(s==null?void 0:s.call(this))]}),this.showSuggestions&&e.call(this),this._isPhone&&c("div",{slot:"footer",class:"ui5-responsive-popover-footer",children:[l(f,{design:"Emphasized",onClick:this._confirmMobileValue,children:this._suggestionsOkButtonText}),l(f,{class:"ui5-responsive-popover-close-btn",design:"Transparent",onClick:this._cancelMobileValue,children:this._suggestionsCancelButtonText})]})]})}function Q(){return l($,{accessibleRole:E.ListBox,separators:this.suggestionSeparators,selectionMode:"Single",onMouseDown:this.onItemMouseDown,onItemClick:this._handleSuggestionItemPress,onSelectionChange:this._handleSelectionChange,children:l("slot",{})})}class u{get template(){return J}constructor(e,t,s,i){this.component=e,this.slotName=t,this.handleFocus=i,this.highlight=s,this.selectedItemIndex=-1}onUp(e,t){e.preventDefault();const s=!this.isOpened&&this._hasValueState&&t===-1?0:t;return this._handleItemNavigation(!1,s),!0}onDown(e,t){e.preventDefault();const s=!this.isOpened&&this._hasValueState&&t===-1?0:t;return this._handleItemNavigation(!0,s),!0}onSpace(e){return this._isItemOnTarget()?(e.preventDefault(),this.onItemSelected(this._selectedItem,!0),!0):!1}onEnter(e){return this._isGroupItem?(e.preventDefault(),!1):this._isItemOnTarget()?(this.onItemSelected(this._selectedItem,!0),!0):!1}onPageUp(e){e.preventDefault();const t=this.selectedItemIndex-10>-1;return this._moveItemSelection(this.selectedItemIndex,t?this.selectedItemIndex-=10:this.selectedItemIndex=0),!0}onPageDown(e){e.preventDefault();const t=this.visibleItems;if(!t)return!0;const s=t.length-1,i=this.selectedItemIndex+10<=s;return this._moveItemSelection(this.selectedItemIndex,i?this.selectedItemIndex+=10:this.selectedItemIndex=s),!0}onHome(e){return e.preventDefault(),this._moveItemSelection(this.selectedItemIndex,this.selectedItemIndex=0),!0}onEnd(e){e.preventDefault();const t=this._getItems().length-1;return t&&this._moveItemSelection(this.selectedItemIndex,this.selectedItemIndex=t),!0}onTab(){return this._isItemOnTarget()?(this.onItemSelected(this._selectedItem,!0),!0):!1}toggle(e,t){(e!==void 0?e:!this.isOpened())?this._getComponent().open=!0:this.close(t.preventFocusRestore)}get _selectedItem(){return this._getNonGroupItems().find(e=>e.selected)}_isScrollable(){const e=this._getScrollContainer();return e.offsetHeight<e.scrollHeight}close(e=!1){const t=this._getItems()&&this._getItems()[this.selectedItemIndex];this._getComponent().open=!1;const s=this._getPicker();s.preventFocusRestore=e,s.open=!1,t&&t.focused&&(t.focused=!1)}updateSelectedItemPosition(e){this.selectedItemIndex=e}onItemSelected(e,t){const s=e,i=this._getNonGroupItems();s&&(this.accInfo={isGroup:s.hasAttribute("ui5-suggestion-item-group"),currentPos:i.indexOf(s)+1,listSize:i.length,itemText:s.text||"",additionalText:s.additionalText},this._getComponent().onItemSelected(s,t),this._getComponent().open=!1)}onItemSelect(e){this._getComponent().onItemSelect(e)}onItemPress(e){let t;const s=e.type==="ui5-item-click";s&&!e.detail.item.selected||this._handledPress&&!s||(s&&e.detail.item.selected?(t=e.detail.item,this._handledPress=!0):t=e.detail.selectedItems[0],this.onItemSelected(t,!1))}_onClose(){this._handledPress=!1}_isItemOnTarget(){return this.isOpened()&&this.selectedItemIndex!==null&&this.selectedItemIndex!==-1&&!this._isGroupItem}get _isGroupItem(){const e=this._getItems();return!e||!e[this.selectedItemIndex]?!1:e[this.selectedItemIndex].hasAttribute("ui5-suggestion-item-group")}isOpened(){var e;return!!((e=this._getPicker())!=null&&e.open)}_handleItemNavigation(e,t){this.selectedItemIndex=t,this._getItems().length&&(e?this._selectNextItem():this._selectPreviousItem())}_selectNextItem(){const e=this._getItems().length,t=this.selectedItemIndex;t!==-1&&t+1>e-1||this._moveItemSelection(t,++this.selectedItemIndex)}_selectPreviousItem(){const e=this.visibleItems,t=this.selectedItemIndex;if(!(t===-1||t===null)){if(t-1<0){(e[t].hasAttribute("ui5-suggestion-item")||e[t].hasAttribute("ui5-suggestion-item-custom"))&&(e[t].selected=!1),e[t].focused=!1,this.component.focused=!0,this.component.hasSuggestionItemSelected=!1,this.component.value=this.component.typedInValue,this.selectedItemIndex-=1;return}this._moveItemSelection(t,--this.selectedItemIndex)}}get visibleItems(){return this._getItems().filter(e=>!e.hidden)}_moveItemSelection(e,t){const s=this.visibleItems,i=s[t],o=s[e],r=this._getNonGroupItems(),a=i==null?void 0:i.hasAttribute("ui5-suggestion-item-group");if(!i)return;this.component.focused=!1;const d=this.visibleItems[this.selectedItemIndex];if(this.accInfo={isGroup:a,currentPos:s.indexOf(i)+1,itemText:(a?d.headerText:d.text)||""},(i.hasAttribute("ui5-suggestion-item")||i.hasAttribute("ui5-suggestion-item-custom"))&&(this.accInfo.additionalText=i.additionalText||"",this.accInfo.currentPos=r.indexOf(i)+1,this.accInfo.listSize=r.length),o&&(o.focused=!1),(o!=null&&o.hasAttribute("ui5-suggestion-item")||o!=null&&o.hasAttribute("ui5-suggestion-item-custom"))&&(o.selected=!1),i&&(i.focused=!0,a||(i.selected=!0),this.handleFocus&&i.focus()),this.component.hasSuggestionItemSelected=!0,this.onItemSelect(i),!this._isItemIntoView(i)){const C=this._isGroupItem?i.shadowRoot.querySelector("[ui5-li-group-header]"):i;this._scrollItemIntoView(C)}}_deselectItems(){this._getItems().forEach(t=>{(t.hasAttribute("ui5-suggestion-item")||t.hasAttribute("ui5-suggestion-item-custom"))&&(t.selected=!1),t.focused=!1})}_clearItemFocus(){const e=this._getItems().find(t=>t.focused);e&&(e.focused=!1)}_isItemIntoView(e){const t=e.getDomRef().getBoundingClientRect(),s=this._getComponent().getDomRef().getBoundingClientRect(),i=window.innerHeight||document.documentElement.clientHeight;let o=0;return this._hasValueState&&(o=this._getPicker().querySelector("[slot=header]").getBoundingClientRect().height),t.top+u.SCROLL_STEP<=i&&t.top>=s.top+o}_scrollItemIntoView(e){e.scrollIntoView({behavior:"auto",block:"nearest",inline:"nearest"})}_getScrollContainer(){return this._scrollContainer||(this._scrollContainer=this._getPicker().shadowRoot.querySelector(".ui5-popup-content")),this._scrollContainer}_getItems(){return this._getComponent().getSlottedNodes("suggestionItems").flatMap(t=>t.hasAttribute("ui5-suggestion-item-group")?[t,...t.items]:[t])}_getNonGroupItems(){return this._getItems().filter(e=>!e.hasAttribute("ui5-suggestion-item-group"))}_getComponent(){return this.component}_getList(){return this._getPicker().querySelector("[ui5-list]")}_getListWidth(){var e;return(e=this._getList())==null?void 0:e.offsetWidth}_getPicker(){return this._getComponent().shadowRoot.querySelector("[ui5-responsive-popover]")}get itemSelectionAnnounce(){if(!this.accInfo)return"";if(this.accInfo.isGroup)return`${u.i18nBundle.getText(N)} ${this.accInfo.itemText}`;const e=u.i18nBundle.getText(B,this.accInfo.currentPos||0,this.accInfo.listSize||0);return`${this.accInfo.additionalText} ${e}`.trim()}hightlightInput(e,t){return M(e,t)}get _hasValueState(){return this.component.hasValueStateMessage}_clearSelectedSuggestionAndaccInfo(){this.accInfo=void 0,this.selectedItemIndex=0}}u.SCROLL_STEP=60;b.SuggestionsClass=u;export{u as default};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{j as s,a as _,F as T,f as m,d as b,b as E,s as x,c as C,i as P,m as O,y as w,S as B,t as I,E as A,e as S,L as R,R as L,B as M,g as N,h as F,k as z,l as D,n as X,o as j}from"./bundle.esm-
|
|
1
|
+
import{j as s,a as _,F as T,f as m,d as b,b as E,s as x,c as C,i as P,m as O,y as w,S as B,t as I,E as A,e as S,L as R,R as L,B as M,g as N,h as F,k as z,l as D,n as X,o as j}from"./bundle.esm-C6Ie2WeI.js";var g;(function(o){o.InPlace="InPlace",o.Popover="Popover"})(g||(g={}));const k=g;var y;(function(o){o.Off="Off",o.On="On"})(y||(y={}));const $=y;function H(){return s(T,{children:s("span",{children:this._renderEmptyIndicator?_(T,{children:[s("span",{className:"empty-indicator","aria-hidden":"true",children:this._emptyIndicatorSymbol}),s("span",{className:"empty-indicator-aria-label",children:this._emptyIndicatorAriaLabel})]}):s("slot",{})})})}m("@ui5/webcomponents-theming","sap_horizon",async()=>b);m("@ui5/webcomponents","sap_horizon",async()=>E,"host");const W=`:host{max-width:100%;font-size:var(--sapFontSize);font-family:var(--sapFontFamily);color:var(--sapTextColor);line-height:normal;cursor:text;overflow:hidden;display:-webkit-inline-box;-webkit-line-clamp:var(--_ui5_text_max_lines);line-clamp:var(--_ui5_text_max_lines);-webkit-box-orient:vertical;white-space:normal;word-wrap:break-word}:host([max-lines="1"]){word-break:break-all}.empty-indicator-aria-label{position:absolute!important;clip:rect(1px,1px,1px,1px);user-select:none;left:0;top:0;font-size:0}
|
|
2
2
|
`;var u=function(o,e,t,i){var r=arguments.length,n=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(o,e,t,i);else for(var d=o.length-1;d>=0;d--)(l=o[d])&&(n=(r<3?l(n):r>3?l(e,t,n):l(e,t))||n);return r>3&&n&&Object.defineProperty(e,t,n),n},f;let p=f=class extends B{constructor(){super(...arguments),this.maxLines=1/0,this.emptyIndicatorMode="Off"}onBeforeRendering(){this.style.setProperty("--_ui5_text_max_lines",`${this.maxLines}`)}get hasText(){return I(this.text)}get _renderEmptyIndicator(){return!this.hasText&&this.emptyIndicatorMode===$.On}get _emptyIndicatorAriaLabel(){return f.i18nBundle.getText(A)}get _emptyIndicatorSymbol(){return f.i18nBundle.getText(S)}};u([x({type:Number})],p.prototype,"maxLines",void 0);u([x()],p.prototype,"emptyIndicatorMode",void 0);u([C({type:Node,default:!0})],p.prototype,"text",void 0);u([P("@ui5/webcomponents")],p,"i18nBundle",void 0);p=f=u([O({tag:"ui5-text",renderer:w,template:H,styles:W})],p);p.define();const v=p;function q(){return _("div",{children:[s(v,{class:"ui5-exp-text-text",emptyIndicatorMode:this.emptyIndicatorMode,children:this._displayedText}),this._maxCharactersExceeded&&_(T,{children:[s("span",{class:"ui5-exp-text-ellipsis",children:this._ellipsisText}),s(R,{id:"toggle",class:"ui5-exp-text-toggle",accessibleRole:"Button",accessibleName:this._accessibleNameForToggle,accessibilityAttributes:this._accessibilityAttributesForToggle,onClick:this._handleToggleClick,children:this._textForToggle}),this._usePopover&&_(L,{open:this._expanded,opener:"toggle",accessibleNameRef:"popover-text",contentOnlyOnDesktop:!0,_hideHeader:!0,class:"ui5-exp-text-popover",onClose:this._handlePopoverClose,children:[s(v,{class:"ui5-exp-text-popover-text",id:"popover-text",children:this.text}),s("div",{slot:"footer",class:"ui5-exp-text-footer",children:s(M,{design:"Transparent",onClick:this._handleCloseButtonClick,children:this._closeButtonText})})]})]})]})}m("@ui5/webcomponents-theming","sap_horizon",async()=>b);m("@ui5/webcomponents","sap_horizon",async()=>E,"host");const V=`:host{display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);color:var(--sapTextColor)}:host([hidden]){display:none}.ui5-exp-text-text{display:inline;white-space:inherit}.ui5-exp-text-text,.ui5-exp-text-toggle{font-family:inherit;font-size:inherit}.ui5-exp-text-text,.ui5-exp-text-ellipsis{color:inherit}.ui5-exp-text-popover,.ui5-exp-text-popover-text{white-space:inherit;font-family:inherit;font-size:inherit}.ui5-exp-text-popover::part(content){padding-inline:1rem}.ui5-exp-text-footer{width:100%;display:flex;align-items:center;justify-content:flex-end}
|
|
3
3
|
`;var h=function(o,e,t,i){var r=arguments.length,n=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(o,e,t,i);else for(var d=o.length-1;d>=0;d--)(l=o[d])&&(n=(r<3?l(n):r>3?l(e,t,n):l(e,t))||n);return r>3&&n&&Object.defineProperty(e,t,n),n},c;let a=c=class extends B{constructor(){super(...arguments),this.maxCharacters=100,this.overflowMode="InPlace",this.emptyIndicatorMode="Off",this._expanded=!1,this._shouldScrollToToggle=!1}getFocusDomRef(){var e,t;return this._usePopover?(e=this.shadowRoot)==null?void 0:e.querySelector("[ui5-responsive-popover]"):(t=this.shadowRoot)==null?void 0:t.querySelector("[ui5-link]")}get _displayedText(){var e;return this._expanded&&!this._usePopover?this.text:(e=this.text)==null?void 0:e.substring(0,this.maxCharacters)}get _maxCharactersExceeded(){var e;return(((e=this.text)==null?void 0:e.length)||0)>this.maxCharacters}get _usePopover(){return this.overflowMode===k.Popover}get _ellipsisText(){return this._expanded&&!this._usePopover?" ":"... "}get _textForToggle(){return this._expanded?c.i18nBundle.getText(N):c.i18nBundle.getText(F)}get _closeButtonText(){return c.i18nBundle.getText(z)}get _accessibilityAttributesForToggle(){return this._usePopover?{expanded:this._expanded,hasPopup:"dialog"}:{expanded:this._expanded}}get _accessibleNameForToggle(){if(this._usePopover)return this._expanded?c.i18nBundle.getText(D):c.i18nBundle.getText(X)}_handlePopoverClose(){j()||(this._expanded=!1)}onAfterRendering(){var e,t;if(this._shouldScrollToToggle){this._shouldScrollToToggle=!1;const i=(e=this.shadowRoot)==null?void 0:e.querySelector("#toggle");(t=i==null?void 0:i.scrollIntoView)==null||t.call(i,{block:"nearest"})}}_handleToggleClick(){this._expanded=!this._expanded,this._expanded&&!this._usePopover&&(this._shouldScrollToToggle=!0)}_handleCloseButtonClick(e){this._expanded=!1,e.stopPropagation()}};h([x()],a.prototype,"text",void 0);h([x({type:Number})],a.prototype,"maxCharacters",void 0);h([x()],a.prototype,"overflowMode",void 0);h([x()],a.prototype,"emptyIndicatorMode",void 0);h([x({type:Boolean})],a.prototype,"_expanded",void 0);h([P("@ui5/webcomponents")],a,"i18nBundle",void 0);a=c=h([O({tag:"ui5-expandable-text",renderer:w,styles:V,template:q})],a);a.define();function K(o){const{className:e,text:t,maxCharacters:i,part:r}=o;return s(a,{part:r,class:e,text:t,maxCharacters:i})}export{K as default};
|