@sapudex/web-components 2.19.0 → 2.20.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/cypress/specs/AccordionItem.cy.tsx +6 -2
- package/cypress/specs/Footer.cy.tsx +2 -1
- package/dist/Accordion.d.ts +1 -0
- package/dist/Accordion.js +7 -1
- package/dist/Accordion.js.map +1 -1
- package/dist/AccordionItem.d.ts +8 -0
- package/dist/AccordionItem.js +11 -0
- package/dist/AccordionItem.js.map +1 -1
- package/dist/AccordionItemTemplate.js +2 -2
- package/dist/AccordionItemTemplate.js.map +1 -1
- package/dist/AccordionTemplate.js +2 -2
- package/dist/AccordionTemplate.js.map +1 -1
- package/dist/Carousel.d.ts +29 -2
- package/dist/Carousel.js +34 -6
- package/dist/Carousel.js.map +1 -1
- package/dist/CarouselTemplate.js +2 -2
- package/dist/CarouselTemplate.js.map +1 -1
- package/dist/DatePicker.d.ts +4 -4
- package/dist/DatePicker.js +3 -10
- package/dist/DatePicker.js.map +1 -1
- package/dist/DatePickerPopoverTemplate.d.ts +2 -0
- package/dist/DatePickerPopoverTemplate.js +13 -0
- package/dist/DatePickerPopoverTemplate.js.map +1 -0
- package/dist/DatePickerTemplate.d.ts +2 -0
- package/dist/DatePickerTemplate.js +7 -0
- package/dist/DatePickerTemplate.js.map +1 -0
- package/dist/MediaPlayerTemplate.js +2 -2
- package/dist/MediaPlayerTemplate.js.map +1 -1
- package/dist/MessageStripTemplate.js +3 -1
- package/dist/MessageStripTemplate.js.map +1 -1
- package/dist/RatingBarTemplate.js +1 -1
- package/dist/RatingBarTemplate.js.map +1 -1
- package/dist/Review.js +3 -6
- package/dist/Review.js.map +1 -1
- package/dist/ReviewItem.d.ts +1 -1
- package/dist/ReviewItem.js +15 -18
- package/dist/ReviewItem.js.map +1 -1
- package/dist/ReviewItemTemplate.d.ts +2 -0
- package/dist/ReviewItemTemplate.js +10 -0
- package/dist/ReviewItemTemplate.js.map +1 -0
- package/dist/ReviewTemplate.d.ts +2 -0
- package/dist/ReviewTemplate.js +9 -0
- package/dist/ReviewTemplate.js.map +1 -0
- package/dist/TileTemplate.js +1 -1
- package/dist/TileTemplate.js.map +1 -1
- package/dist/assets/{InputSuggestions-EAcC3wZN.js → InputSuggestions-yR1p8cXL.js} +2 -2
- package/dist/assets/{ListItemStandardExpandableTextTemplate-Bb5Y2JOR.js → ListItemStandardExpandableTextTemplate-BovnAV24.js} +3 -3
- package/dist/assets/{bundle.esm-BXDoCHfu.js → bundle.esm-C7AybWk0.js} +207 -207
- package/dist/assets/parameters-bundle.css-195ykfle.js +2 -0
- package/dist/assets/parameters-bundle.css-2XlTf-8J.js +2 -0
- package/dist/assets/parameters-bundle.css-7-HTnP5E.js +2 -0
- package/dist/assets/parameters-bundle.css-B7OzyC0l.js +2 -0
- package/dist/assets/parameters-bundle.css-BJjePPyo.js +2 -0
- package/dist/assets/parameters-bundle.css-BVsx_KaG.js +2 -0
- package/dist/assets/parameters-bundle.css-BbOftqiJ.js +2 -0
- package/dist/assets/parameters-bundle.css-BpraBfJY.js +2 -0
- package/dist/assets/parameters-bundle.css-Btm09-js.js +2 -0
- package/dist/assets/parameters-bundle.css-BtvY__7H.js +2 -0
- package/dist/assets/parameters-bundle.css-CAs_WpVc.js +2 -0
- package/dist/assets/parameters-bundle.css-Cqg5HiU_.js +2 -0
- package/dist/assets/parameters-bundle.css-DIUy2Etb.js +2 -0
- package/dist/assets/parameters-bundle.css-Dn173v0e.js +2 -0
- package/dist/assets/parameters-bundle.css-QEiUG73s.js +2 -0
- package/dist/assets/parameters-bundle.css-VUmjvCcs.js +2 -0
- package/dist/css/themes/Quote.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/custom-elements-internal.json +218 -146
- package/dist/custom-elements.json +202 -131
- package/dist/generated/themes/Quote.css.d.ts +1 -1
- package/dist/generated/themes/Quote.css.js +1 -1
- package/dist/generated/themes/Quote.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/Slider.css.d.ts +1 -1
- package/dist/generated/themes/Slider.css.js +1 -1
- package/dist/generated/themes/Slider.css.js.map +1 -1
- package/dist/vscode.html-custom-data.json +24 -5
- package/dist/web-types.json +41 -5
- package/package.json +8 -8
- package/src/Accordion.ts +9 -1
- package/src/AccordionItem.ts +10 -0
- package/src/AccordionItemTemplate.tsx +2 -2
- package/src/AccordionTemplate.tsx +3 -2
- package/src/Carousel.ts +36 -6
- package/src/CarouselTemplate.tsx +4 -0
- package/src/DatePicker.ts +7 -11
- package/src/DatePickerPopoverTemplate.tsx +35 -0
- package/src/DatePickerTemplate.tsx +27 -0
- package/src/MediaPlayerTemplate.tsx +20 -19
- package/src/MessageStripTemplate.tsx +4 -2
- package/src/RatingBarTemplate.tsx +1 -0
- package/src/Review.ts +3 -6
- package/src/ReviewItem.ts +15 -19
- package/src/ReviewItemTemplate.tsx +49 -0
- package/src/ReviewTemplate.tsx +69 -0
- package/src/TileTemplate.tsx +1 -0
- package/src/generated/themes/Quote.css.ts +1 -1
- package/src/generated/themes/RatingIndicator.css.ts +1 -1
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/themes/Quote.css +7 -2
- package/dist/assets/parameters-bundle.css-7tmaWxIc.js +0 -2
- package/dist/assets/parameters-bundle.css-BERBdAGd.js +0 -2
- package/dist/assets/parameters-bundle.css-B_2Jldx4.js +0 -2
- package/dist/assets/parameters-bundle.css-BbhFHnRW.js +0 -2
- package/dist/assets/parameters-bundle.css-Bg4Huwh4.js +0 -2
- package/dist/assets/parameters-bundle.css-BwKgmVCr.js +0 -2
- package/dist/assets/parameters-bundle.css-C759-AfS.js +0 -2
- package/dist/assets/parameters-bundle.css-CCDcKh9J.js +0 -2
- package/dist/assets/parameters-bundle.css-COmXsTqR.js +0 -2
- package/dist/assets/parameters-bundle.css-CPZYPVEO.js +0 -2
- package/dist/assets/parameters-bundle.css-C_z8R1zV.js +0 -2
- package/dist/assets/parameters-bundle.css-CuV0KqCS.js +0 -2
- package/dist/assets/parameters-bundle.css-DT8OC7CO.js +0 -2
- package/dist/assets/parameters-bundle.css-Df2zY3XY.js +0 -2
- package/dist/assets/parameters-bundle.css-H0NCnWYS.js +0 -2
- package/dist/assets/parameters-bundle.css-pC6uofhy.js +0 -2
- package/dist/generated/templates/DatePickerPopoverTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +0 -10
- package/dist/generated/templates/DatePickerPopoverTemplate.lit.js.map +0 -1
- package/dist/generated/templates/DatePickerTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/DatePickerTemplate.lit.js +0 -10
- package/dist/generated/templates/DatePickerTemplate.lit.js.map +0 -1
- package/dist/generated/templates/ReviewItemTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/ReviewItemTemplate.lit.js +0 -10
- package/dist/generated/templates/ReviewItemTemplate.lit.js.map +0 -1
- package/dist/generated/templates/ReviewTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/ReviewTemplate.lit.js +0 -12
- package/dist/generated/templates/ReviewTemplate.lit.js.map +0 -1
- package/src/DatePicker.hbs +0 -19
- package/src/DatePickerPopover.hbs +0 -24
- package/src/Review.hbs +0 -44
- package/src/ReviewItem.hbs +0 -20
- package/src/generated/templates/DatePickerPopoverTemplate.lit.ts +0 -14
- package/src/generated/templates/DatePickerTemplate.lit.ts +0 -14
- package/src/generated/templates/ReviewItemTemplate.lit.ts +0 -14
- package/src/generated/templates/ReviewTemplate.lit.ts +0 -16
package/dist/DatePicker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../src/DatePicker.ts"],"names":[],"mappings":"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","sourcesContent":["import DateComponentBase from \"@ui5/webcomponents/dist/DateComponentBase.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\n// eslint-disable-next-line\nimport Calendar, { CalendarSelectionChangeEventDetail } from \"@ui5/webcomponents/dist/Calendar.js\";\nimport CalendarDate from \"@ui5/webcomponents/dist/CalendarDate.js\";\nimport \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/appointment-2.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { CALENDAR_ICON, DATEPICKER_DATE_DESCRIPTION } from \"./generated/i18n/i18n-defaults.js\";\nimport UDExTextField from \"./TextField.js\";\nimport UDExDropdown from \"./Dropdown.js\";\nimport UDExStatusMessage from \"./StatusMessage.js\";\nimport UDExValueState from \"./types/common.js\";\n\n// Template\nimport DatePickerTemplate from \"./generated/templates/DatePickerTemplate.lit.js\";\n\n// Styles\nimport DatePickerCss from \"./generated/themes/DatePicker.css.js\";\nimport DatePickerPopoverCss from \"./generated/themes/DatePickerPopover.css.js\";\n\nexport enum UDExDatePickerSelectionMode {\n Single = \"Single\",\n Range = \"Range\",\n}\n\ntype UDExDatePickerSelectionChangeEventDetail = {\n selectedValues: Array<string>;\n selectedDates: Array<number | undefined>;\n timestamp: number | undefined;\n};\n\ntype UDExDatePickerValueStateChangeEventDetail = {\n valueState: `${UDExValueState}`,\n valid: boolean\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-date-picker</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/DatePicker.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends DateComponentBase\n * @tagname udex-date-picker\n * @public\n */\n@customElement({\n tag: \"udex-date-picker\",\n renderer: litRender,\n styles: [DatePickerCss, DatePickerPopoverCss],\n template: DatePickerTemplate,\n dependencies: [CalendarDate, Calendar, UDExTextField, UDExDropdown, UDExStatusMessage],\n})\n/**\n * Fired when the selected dates change.\n *\n * @allowPreventDefault\n * @param {Array<string>} selectedValues The selected dates\n * @param {Array<number>} selectedDates The selected dates as UTC timestamps\n * @public\n */\n@event(\"selection-change\", { cancelable: true, bubbles: true })\n\n/**\n * Fired before the value state of the component is updated internally.\n * The event is preventable, meaning that if it's default action is\n * prevented, the component will not update the value state.\n * @allowPreventDefault\n * @public\n * @param {string} UDExValueState The new `UDExValueState` that will be set.\n * @param {boolean} valid Indicator if the value is in between the min and max value.\n */\n@event(\"value-state-change\", { bubbles: true })\n\nclass UDExDatePicker extends DateComponentBase {\n eventDetails!: {\n \"selection-change\": UDExDatePickerSelectionChangeEventDetail,\n \"value-state-change\": UDExDatePickerValueStateChangeEventDetail,\n };\n /**\n * Defines selection mode of the calendar component.\n *\n * @default \"Single\"\n * @public\n */\n @property()\n selectionMode: `${UDExDatePickerSelectionMode}` = \"Single\";\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 required.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n required!: boolean;\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 supporting text under the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n supportingText: string = \"\";\n\n /**\n * Defines the value of the input.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n value: string = \"\";\n\n /**\n * Sets the accessible ARIA name of the component.\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n accessibleName!: 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 label text for the input field.\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n label?: string;\n\n /**\n * Defines selected dates values.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n selectedDates: string = \"\";\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 the date format pattern (e.g., \\\"MMM dd, yyyy\\\" or \\\"MM/dd/yyyy\\\").\n * @default \"MMM dd, yyyy\"\n * @public\n */\n @property({ type: String })\n formatPattern: string = \"MMM dd, yyyy\";\n\n /**\n * The first date in the range during selection (this is a temporary value, not the first date in the value range)\n * @private\n */\n @property()\n _tempValue!: string;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n responsivePopover?: UDExDropdown;\n\n private _prevDelimiter!: string | null;\n\n _getResponsePopover(): UDExDropdown {\n return this.shadowRoot!.querySelector<UDExDropdown>(`#udex-${this.__id!}-calendar__popover`)!;\n }\n\n /**\n * Getter for the interactive element that opens the overflow\n * @private\n */\n get _dropdownTrigger(): UDExTextField {\n return this.shadowRoot!.querySelector<UDExTextField>(\"[udex-text-field]\")!;\n }\n\n _afterDropdownClose(): void {\n this._dropdownTrigger.active = false;\n this._dropdownTrigger.iconActive = false;\n this._dropdownTrigger.shadowRoot?.querySelector(\"input\")?.blur();\n this._tempValue = \"\";\n }\n\n _afterDropdownOpen(): void {\n this._dropdownTrigger.iconActive = true;\n }\n\n _closeRespPopover(): void {\n if (this.responsivePopover) {\n this.responsivePopover.open = false;\n }\n }\n\n _openRespPopover(): void {\n this._dropdownTrigger.active = true;\n this.responsivePopover = this._getResponsePopover();\n this.responsivePopover.opener = this._dropdownTrigger._inputHolder;\n this.responsivePopover.open = true;\n }\n\n hideCalendar(): void {\n this._closeRespPopover();\n }\n\n showCalendar(): void {\n this._openRespPopover();\n }\n\n handleCalendarChange(e: CustomEvent<CalendarSelectionChangeEventDetail>): void {\n e.preventDefault();\n if (this.selectionMode === UDExDatePickerSelectionMode.Single) {\n const newValue = e.detail.selectedValues && e.detail.selectedValues[0];\n this._updateValueAndFireDecoratorEvents(newValue, true, e);\n }\n\n if (this.selectionMode === UDExDatePickerSelectionMode.Range) {\n const values = e.detail.selectedValues;\n\n if (values.length === 0) {\n return;\n }\n\n if (values.length === 1) { // Do nothing until the user selects 2 dates, we don't change any state at all for one date\n this._tempValue = values[0];\n return;\n }\n\n const newValue = this._buildValue(e.detail.selectedDates[0], e.detail.selectedDates[1]);\n this._updateValueAndFireDecoratorEvents(newValue, true, e);\n }\n\n this.hideCalendar();\n }\n\n get _effectiveDelimiter(): string {\n return \"-\";\n }\n\n _getInput(): HTMLInputElement | null | undefined {\n return this._dropdownTrigger.shadowRoot?.querySelector(\"input\");\n }\n\n _splitValueByDelimiter(value: string) {\n const valuesArray: Array<string> = [];\n const partsArray = value.split(this._prevDelimiter || this._effectiveDelimiter);\n\n // if format successfully parse the value, the value contains only single date\n if (this.getFormat().parse(value)) {\n valuesArray[0] = partsArray.join(this._effectiveDelimiter);\n valuesArray[1] = \"\";\n\n return valuesArray;\n }\n\n valuesArray[0] = partsArray.slice(0, partsArray.length / 2).join(this._effectiveDelimiter);\n valuesArray[1] = partsArray.slice(partsArray.length / 2).join(this._effectiveDelimiter);\n\n return valuesArray;\n }\n\n /**\n * Returns a UTC timestamp, representing the last date in the value string or undefined if the value is empty or there is just one date\n * @private\n */\n _extractLastTimestamp(value: string) {\n if (!value || !this._checkValueValidity(value)) {\n return undefined;\n }\n\n const dateStrings = this._splitValueByDelimiter(value);\n if (dateStrings[1]) {\n const parsedDate = this.getFormat().parse(dateStrings[1], true) as Date;\n return parsedDate.getTime() / 1000;\n }\n\n return undefined;\n }\n\n /**\n * Returns a UTC timestamp, representing the first date in the value string or undefined if the value is empty\n * @private\n */\n _extractFirstTimestamp(value: string) {\n if (!value || !this._checkValueValidity(value)) {\n return undefined;\n }\n\n const dateStrings = this._splitValueByDelimiter(value); // at least one item guaranteed due to the checks above (non-empty and valid)\n\n const parsedDate = this.getFormat().parse(dateStrings[0], true) as Date;\n return parsedDate.getTime() / 1000;\n }\n\n /**\n * Checks if a value is valid against the current date format of the DatePicker.\n * @public\n * @param value A value to be tested against the current date format\n */\n isValid(value: string): boolean {\n if (value === \"\" || value === undefined) {\n return true;\n }\n\n return !!this.getFormat().parse(value);\n }\n\n isValidRange(value: string): boolean {\n const parts = this._splitValueByDelimiter(value);\n return parts.length <= 2 && parts.every(dateString => this.isValid(dateString)); // must be at most 2 dates and each must be valid\n }\n\n isInValidRange(value: string): boolean {\n if (value === \"\" || value === undefined) {\n return true;\n }\n\n const calendarDate = this._getCalendarDateFromString(value);\n\n if (!calendarDate || !this._minDate || !this._maxDate) {\n return false;\n }\n\n return calendarDate.valueOf() >= this._minDate.valueOf() && calendarDate.valueOf() <= this._maxDate.valueOf();\n }\n\n /**\n * Checks if a date is between the minimum and maximum date.\n * @public\n * @param value A value to be checked\n */\n isInValidRangeRange(value: string): boolean {\n return this._splitValueByDelimiter(value).every(dateString => this.isInValidRange(dateString));\n }\n\n _checkValueValidity(value: string): boolean {\n let result = false;\n if (value === \"\") {\n return true;\n }\n if (this.selectionMode === UDExDatePickerSelectionMode.Single) {\n result = this.isValid(value) && this.isInValidRange(value);\n }\n if (this.selectionMode === UDExDatePickerSelectionMode.Range) {\n result = this.isValidRange(value) && this.isInValidRangeRange(value);\n }\n return result;\n }\n\n /**\n * Builds a string value out of two UTC timestamps - this method is the counterpart to _extractFirstTimestamp/_extractLastTimestamp\n * @private\n */\n _buildValue(firstDateTimestamp: number | undefined, lastDateTimestamp: number | undefined) {\n this._prevDelimiter = this._effectiveDelimiter;\n if (firstDateTimestamp) {\n const firstDateString = this._getStringFromTimestamp(firstDateTimestamp * 1000);\n\n if (!lastDateTimestamp) {\n return firstDateString;\n }\n\n const lastDateString = this._getStringFromTimestamp(lastDateTimestamp * 1000);\n return `${firstDateString} ${this._effectiveDelimiter} ${lastDateString}`;\n }\n\n return \"\";\n }\n\n /**\n * The parser understands many formats, but we need one format OR extract both dates as timestamps, flip if necessary, and build (which will use the desired format so we enforce the format too)\n * @protected\n */\n normalizeValue(value: string) {\n let result = \"\";\n if (this.selectionMode === UDExDatePickerSelectionMode.Single) {\n if (value === \"\") {\n return value;\n }\n result = this.getFormat().format(this.getFormat().parse(value, true), true); // it is important to both parse and format the date as UTC\n }\n if (this.selectionMode === UDExDatePickerSelectionMode.Range) {\n const firstDateTimestamp = this._extractFirstTimestamp(value);\n const lastDateTimestamp = this._extractLastTimestamp(value);\n if (firstDateTimestamp && lastDateTimestamp && firstDateTimestamp > lastDateTimestamp) { // if both are timestamps (not undefined), flip if necessary\n return this._buildValue(lastDateTimestamp, firstDateTimestamp);\n }\n result = this._buildValue(firstDateTimestamp, lastDateTimestamp);\n }\n return result;\n }\n\n _updateValueState() {\n const valid = this._checkValueValidity(this.value);\n const previousValueState = this.valueState;\n\n this.valueState = valid ? UDExValueState.Standard : UDExValueState.Error;\n\n const eventPrevented = !this.fireDecoratorEvent(\"value-state-change\", { valueState: this.valueState, valid });\n\n if (eventPrevented) {\n this.valueState = previousValueState;\n }\n }\n\n _buildEventData(value: string): UDExDatePickerSelectionChangeEventDetail {\n if (this.selectionMode === UDExDatePickerSelectionMode.Range) {\n return {\n selectedDates: [this._extractFirstTimestamp(value), this._extractLastTimestamp(value)],\n selectedValues: this._splitValueByDelimiter(this.value),\n timestamp: this._extractLastTimestamp(value),\n };\n }\n return {\n selectedDates: [this._extractFirstTimestamp(value)],\n selectedValues: [value],\n timestamp: this._extractFirstTimestamp(value),\n };\n }\n\n _updateValueAndFireDecoratorEvents(value: string, normalizeValue: boolean, e?: CustomEvent | null) {\n const valid = this._checkValueValidity(value);\n\n if (valid && normalizeValue) {\n value = this.normalizeValue(value); // transform valid values (in any format) to the correct format\n }\n\n this.value = value;\n this._updateValueState(); // Change the value state to Error/None, but only if needed\n\n if (!valid) { return; }\n\n if (e) {\n const { selectedDates, timestamp, selectedValues } = e.detail;\n\n this.fireDecoratorEvent(\n \"selection-change\",\n {\n timestamp,\n selectedDates,\n selectedValues,\n },\n );\n } else {\n this.fireDecoratorEvent(\n \"selection-change\",\n this._buildEventData(value),\n );\n }\n }\n\n _onInputChange(e: Event) {\n this._updateValueAndFireDecoratorEvents((e.target as UDExDatePicker).value, true);\n }\n\n handleInputClick(e: MouseEvent | KeyboardEvent): void {\n e.preventDefault();\n\n if (this.disabled || this.readonly) {\n return;\n }\n\n if (this.responsivePopover?.open) {\n this.hideCalendar();\n } else {\n this.showCalendar();\n }\n }\n\n /**\n * Used to provide selectedDates to the calendar based on the component's state\n * Override in derivatives to provide different rules for setting the calendar's selected dates\n * @protected\n */\n get _calendarSelectedDates(): Array<string> {\n if (this._tempValue) {\n return [this._tempValue];\n }\n\n if (this.value && this._checkValueValidity(this.value)) {\n return this.value.split(\" - \");\n }\n\n return [];\n }\n\n get startValue(): string {\n return this._calendarSelectedDates[0] || \"\";\n }\n\n get endValue(): string {\n return this._calendarSelectedDates[1] || \"\";\n }\n\n get accessibleIconName(): string {\n return UDExDatePicker.i18nBundle.getText(CALENDAR_ICON);\n }\n\n get dateAccessibleName(): string {\n return this.accessibleName || UDExDatePicker.i18nBundle.getText(DATEPICKER_DATE_DESCRIPTION);\n }\n\n get isRangeMode(): boolean {\n return this.selectionMode === UDExDatePickerSelectionMode.Range;\n }\n}\n\nUDExDatePicker.define();\n\nexport default UDExDatePicker;\nexport type { UDExDatePickerSelectionChangeEventDetail, UDExDatePickerValueStateChangeEventDetail };\n"]}
|
|
1
|
+
{"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../src/DatePicker.ts"],"names":[],"mappings":"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","sourcesContent":["import DateComponentBase from \"@ui5/webcomponents/dist/DateComponentBase.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport type { CalendarSelectionChangeEventDetail } from \"@ui5/webcomponents/dist/Calendar.js\";\nimport \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/appointment-2.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { CALENDAR_ICON, DATEPICKER_DATE_DESCRIPTION } from \"./generated/i18n/i18n-defaults.js\";\nimport type UDExTextField from \"./TextField.js\";\nimport type UDExDropdown from \"./Dropdown.js\";\nimport UDExValueState from \"./types/common.js\";\n\n// Template\nimport DatePickerTemplate from \"./DatePickerTemplate.js\";\n\n// Styles\nimport DatePickerCss from \"./generated/themes/DatePicker.css.js\";\nimport DatePickerPopoverCss from \"./generated/themes/DatePickerPopover.css.js\";\n\nexport enum UDExDatePickerSelectionMode {\n Single = \"Single\",\n Range = \"Range\",\n}\n\ntype UDExDatePickerSelectionChangeEventDetail = {\n selectedValues: Array<string>;\n selectedDates: Array<number | undefined>;\n timestamp: number | undefined;\n};\n\ntype UDExDatePickerValueStateChangeEventDetail = {\n valueState: `${UDExValueState}`,\n valid: boolean\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-date-picker</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/DatePicker.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends DateComponentBase\n * @tagname udex-date-picker\n * @public\n */\n@customElement({\n tag: \"udex-date-picker\",\n renderer: jsxRenderer,\n styles: [DatePickerCss, DatePickerPopoverCss],\n template: DatePickerTemplate,\n})\n/**\n * Fired when the selected dates change.\n *\n * @allowPreventDefault\n * @param {Array<string>} selectedValues The selected dates\n * @param {Array<number>} selectedDates The selected dates as UTC timestamps\n * @public\n */\n@event(\"selection-change\", { cancelable: true, bubbles: true })\n\n/**\n * Fired before the value state of the component is updated internally.\n * The event is preventable, meaning that if it's default action is\n * prevented, the component will not update the value state.\n * @allowPreventDefault\n * @public\n * @param {string} UDExValueState The new `UDExValueState` that will be set.\n * @param {boolean} valid Indicator if the value is in between the min and max value.\n */\n@event(\"value-state-change\", { bubbles: true })\n\nclass UDExDatePicker extends DateComponentBase {\n eventDetails!: {\n \"selection-change\": UDExDatePickerSelectionChangeEventDetail,\n \"value-state-change\": UDExDatePickerValueStateChangeEventDetail,\n };\n /**\n * Defines selection mode of the calendar component.\n *\n * @default \"Single\"\n * @public\n */\n @property()\n selectionMode: `${UDExDatePickerSelectionMode}` = \"Single\";\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 required.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n required!: boolean;\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 supporting text under the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n supportingText: string = \"\";\n\n /**\n * Defines the value of the input.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n value: string = \"\";\n\n /**\n * Sets the accessible ARIA name of the component.\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n accessibleName!: 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 label text for the input field.\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n label?: string;\n\n /**\n * Defines selected dates values.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\n selectedDates: string = \"\";\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 the date format pattern (e.g., \\\"MMM dd, yyyy\\\" or \\\"MM/dd/yyyy\\\").\n * @default \"MMM dd, yyyy\"\n * @public\n */\n @property({ type: String })\n formatPattern: string = \"MMM dd, yyyy\";\n\n /**\n * The first date in the range during selection (this is a temporary value, not the first date in the value range)\n * @private\n */\n @property()\n _tempValue!: string;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n responsivePopover?: UDExDropdown;\n\n private _prevDelimiter!: string | null;\n\n _getResponsePopover(): UDExDropdown {\n return this.shadowRoot!.querySelector<UDExDropdown>(`#udex-${this.__id!}-calendar__popover`)!;\n }\n\n /**\n * Getter for the interactive element that opens the overflow\n * @private\n */\n get _dropdownTrigger(): UDExTextField {\n return this.shadowRoot!.querySelector<UDExTextField>(\"[udex-text-field]\")!;\n }\n\n _afterDropdownClose(): void {\n this._dropdownTrigger.active = false;\n this._dropdownTrigger.iconActive = false;\n this._dropdownTrigger.shadowRoot?.querySelector(\"input\")?.blur();\n this._tempValue = \"\";\n }\n\n _afterDropdownOpen(): void {\n this._dropdownTrigger.iconActive = true;\n }\n\n _closeRespPopover(): void {\n if (this.responsivePopover) {\n this.responsivePopover.open = false;\n }\n }\n\n _openRespPopover(): void {\n this._dropdownTrigger.active = true;\n this.responsivePopover = this._getResponsePopover();\n this.responsivePopover.opener = this._dropdownTrigger._inputHolder;\n this.responsivePopover.open = true;\n }\n\n hideCalendar(): void {\n this._closeRespPopover();\n }\n\n showCalendar(): void {\n this._openRespPopover();\n }\n\n handleCalendarChange(e: CustomEvent<CalendarSelectionChangeEventDetail>): void {\n e.preventDefault();\n if (this.selectionMode === UDExDatePickerSelectionMode.Single) {\n const newValue = e.detail.selectedValues && e.detail.selectedValues[0];\n this._updateValueAndFireDecoratorEvents(newValue, true, e);\n }\n\n if (this.selectionMode === UDExDatePickerSelectionMode.Range) {\n const values = e.detail.selectedValues;\n\n if (values.length === 0) {\n return;\n }\n\n if (values.length === 1) { // Do nothing until the user selects 2 dates, we don't change any state at all for one date\n this._tempValue = values[0];\n return;\n }\n\n const newValue = this._buildValue(e.detail.selectedDates[0], e.detail.selectedDates[1]);\n this._updateValueAndFireDecoratorEvents(newValue, true, e);\n }\n\n this.hideCalendar();\n }\n\n get _effectiveDelimiter(): string {\n return \"-\";\n }\n\n _getInput(): HTMLInputElement | null | undefined {\n return this._dropdownTrigger.shadowRoot?.querySelector(\"input\");\n }\n\n _splitValueByDelimiter(value: string) {\n const valuesArray: Array<string> = [];\n const partsArray = value.split(this._prevDelimiter || this._effectiveDelimiter);\n\n // if format successfully parse the value, the value contains only single date\n if (this.getFormat().parse(value)) {\n valuesArray[0] = partsArray.join(this._effectiveDelimiter);\n valuesArray[1] = \"\";\n\n return valuesArray;\n }\n\n valuesArray[0] = partsArray.slice(0, partsArray.length / 2).join(this._effectiveDelimiter);\n valuesArray[1] = partsArray.slice(partsArray.length / 2).join(this._effectiveDelimiter);\n\n return valuesArray;\n }\n\n /**\n * Returns a UTC timestamp, representing the last date in the value string or undefined if the value is empty or there is just one date\n * @private\n */\n _extractLastTimestamp(value: string) {\n if (!value || !this._checkValueValidity(value)) {\n return undefined;\n }\n\n const dateStrings = this._splitValueByDelimiter(value);\n if (dateStrings[1]) {\n const parsedDate = this.getFormat().parse(dateStrings[1], true) as Date;\n return parsedDate.getTime() / 1000;\n }\n\n return undefined;\n }\n\n /**\n * Returns a UTC timestamp, representing the first date in the value string or undefined if the value is empty\n * @private\n */\n _extractFirstTimestamp(value: string) {\n if (!value || !this._checkValueValidity(value)) {\n return undefined;\n }\n\n const dateStrings = this._splitValueByDelimiter(value); // at least one item guaranteed due to the checks above (non-empty and valid)\n\n const parsedDate = this.getFormat().parse(dateStrings[0], true) as Date;\n return parsedDate.getTime() / 1000;\n }\n\n /**\n * Checks if a value is valid against the current date format of the DatePicker.\n * @public\n * @param value A value to be tested against the current date format\n */\n isValid(value: string): boolean {\n if (value === \"\" || value === undefined) {\n return true;\n }\n\n return !!this.getFormat().parse(value);\n }\n\n isValidRange(value: string): boolean {\n const parts = this._splitValueByDelimiter(value);\n return parts.length <= 2 && parts.every(dateString => this.isValid(dateString)); // must be at most 2 dates and each must be valid\n }\n\n isInValidRange(value: string): boolean {\n if (value === \"\" || value === undefined) {\n return true;\n }\n\n const calendarDate = this._getCalendarDateFromString(value);\n\n if (!calendarDate || !this._minDate || !this._maxDate) {\n return false;\n }\n\n return calendarDate.valueOf() >= this._minDate.valueOf() && calendarDate.valueOf() <= this._maxDate.valueOf();\n }\n\n /**\n * Checks if a date is between the minimum and maximum date.\n * @public\n * @param value A value to be checked\n */\n isInValidRangeRange(value: string): boolean {\n return this._splitValueByDelimiter(value).every(dateString => this.isInValidRange(dateString));\n }\n\n _checkValueValidity(value: string): boolean {\n let result = false;\n if (value === \"\") {\n return true;\n }\n if (this.selectionMode === UDExDatePickerSelectionMode.Single) {\n result = this.isValid(value) && this.isInValidRange(value);\n }\n if (this.selectionMode === UDExDatePickerSelectionMode.Range) {\n result = this.isValidRange(value) && this.isInValidRangeRange(value);\n }\n return result;\n }\n\n /**\n * Builds a string value out of two UTC timestamps - this method is the counterpart to _extractFirstTimestamp/_extractLastTimestamp\n * @private\n */\n _buildValue(firstDateTimestamp: number | undefined, lastDateTimestamp: number | undefined) {\n this._prevDelimiter = this._effectiveDelimiter;\n if (firstDateTimestamp) {\n const firstDateString = this._getStringFromTimestamp(firstDateTimestamp * 1000);\n\n if (!lastDateTimestamp) {\n return firstDateString;\n }\n\n const lastDateString = this._getStringFromTimestamp(lastDateTimestamp * 1000);\n return `${firstDateString} ${this._effectiveDelimiter} ${lastDateString}`;\n }\n\n return \"\";\n }\n\n /**\n * The parser understands many formats, but we need one format OR extract both dates as timestamps, flip if necessary, and build (which will use the desired format so we enforce the format too)\n * @protected\n */\n normalizeValue(value: string) {\n let result = \"\";\n if (this.selectionMode === UDExDatePickerSelectionMode.Single) {\n if (value === \"\") {\n return value;\n }\n result = this.getFormat().format(this.getFormat().parse(value, true), true); // it is important to both parse and format the date as UTC\n }\n if (this.selectionMode === UDExDatePickerSelectionMode.Range) {\n const firstDateTimestamp = this._extractFirstTimestamp(value);\n const lastDateTimestamp = this._extractLastTimestamp(value);\n if (firstDateTimestamp && lastDateTimestamp && firstDateTimestamp > lastDateTimestamp) { // if both are timestamps (not undefined), flip if necessary\n return this._buildValue(lastDateTimestamp, firstDateTimestamp);\n }\n result = this._buildValue(firstDateTimestamp, lastDateTimestamp);\n }\n return result;\n }\n\n _updateValueState() {\n const valid = this._checkValueValidity(this.value);\n const previousValueState = this.valueState;\n\n this.valueState = valid ? UDExValueState.Standard : UDExValueState.Error;\n\n const eventPrevented = !this.fireDecoratorEvent(\"value-state-change\", { valueState: this.valueState, valid });\n\n if (eventPrevented) {\n this.valueState = previousValueState;\n }\n }\n\n _buildEventData(value: string): UDExDatePickerSelectionChangeEventDetail {\n if (this.selectionMode === UDExDatePickerSelectionMode.Range) {\n return {\n selectedDates: [this._extractFirstTimestamp(value), this._extractLastTimestamp(value)],\n selectedValues: this._splitValueByDelimiter(this.value),\n timestamp: this._extractLastTimestamp(value),\n };\n }\n return {\n selectedDates: [this._extractFirstTimestamp(value)],\n selectedValues: [value],\n timestamp: this._extractFirstTimestamp(value),\n };\n }\n\n _updateValueAndFireDecoratorEvents(value: string, normalizeValue: boolean, e?: CustomEvent | null) {\n const valid = this._checkValueValidity(value);\n\n if (valid && normalizeValue) {\n value = this.normalizeValue(value); // transform valid values (in any format) to the correct format\n }\n\n this.value = value;\n this._updateValueState(); // Change the value state to Error/None, but only if needed\n\n if (!valid) { return; }\n\n if (e) {\n const { selectedDates, timestamp, selectedValues } = e.detail;\n\n this.fireDecoratorEvent(\n \"selection-change\",\n {\n timestamp,\n selectedDates,\n selectedValues,\n },\n );\n } else {\n this.fireDecoratorEvent(\n \"selection-change\",\n this._buildEventData(value),\n );\n }\n }\n\n _onInputChange(e: Event) {\n this._updateValueAndFireDecoratorEvents((e.target as UDExDatePicker).value, true);\n }\n\n handleInputClick(e: CustomEvent<void>): void {\n e.preventDefault();\n\n if (this.disabled || this.readonly) {\n return;\n }\n\n if (this.responsivePopover?.open) {\n this.hideCalendar();\n } else {\n this.showCalendar();\n }\n }\n\n /**\n * Used to provide selectedDates to the calendar based on the component's state\n * Override in derivatives to provide different rules for setting the calendar's selected dates\n * @protected\n */\n get _calendarSelectedDates(): Array<string> {\n if (this._tempValue) {\n return [this._tempValue];\n }\n\n if (this.value && this._checkValueValidity(this.value)) {\n return this.value.split(\" - \");\n }\n\n return [];\n }\n\n get startValue(): string {\n return this._calendarSelectedDates[0] || \"\";\n }\n\n get endValue(): string {\n return this._calendarSelectedDates[1] || \"\";\n }\n\n get accessibleIconName(): string {\n return UDExDatePicker.i18nBundle.getText(CALENDAR_ICON);\n }\n\n get dateAccessibleName(): string {\n return this.accessibleName || UDExDatePicker.i18nBundle.getText(DATEPICKER_DATE_DESCRIPTION);\n }\n\n get isRangeMode(): boolean {\n return this.selectionMode === UDExDatePickerSelectionMode.Range;\n }\n}\n\nUDExDatePicker.define();\n\nexport default UDExDatePicker;\nexport type { UDExDatePickerSelectionChangeEventDetail, UDExDatePickerValueStateChangeEventDetail };\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx } from "@ui5/webcomponents-base/jsx-runtime";
|
|
2
|
+
import Calendar from "@ui5/webcomponents/dist/Calendar.js";
|
|
3
|
+
import UDExDropdown from "./Dropdown.js";
|
|
4
|
+
import { Placement } from "./types/Dropdown.js";
|
|
5
|
+
import CalendarDate from "@ui5/webcomponents/dist/CalendarDate.js";
|
|
6
|
+
import CalendarDateRange from "@ui5/webcomponents/dist/CalendarDateRange.js";
|
|
7
|
+
export default function DatePickerPopoverTemplate() {
|
|
8
|
+
return (_jsx(UDExDropdown, { id: `udex-${this._id}-calendar__popover`, opener: `udex-${this._id}-calendar__opener`, class: "udex-date-picker__popover", placement: Placement.Bottom, "horizontal-align": "Start", onClose: this._afterDropdownClose, onOpen: this._afterDropdownOpen, children: _jsx(Calendar, { class: "udex-date-picker__calendar", onSelectionChange: this.handleCalendarChange, "selection-mode": this.selectionMode, "min-date": this.minDate, "max-date": this.maxDate, "format-pattern": this.formatPattern, children: this.isRangeMode ?
|
|
9
|
+
_jsx(CalendarDateRange, { "start-value": this.startValue, "end-value": this.endValue })
|
|
10
|
+
:
|
|
11
|
+
this._calendarSelectedDates.map(date => _jsx(CalendarDate, { value: date })) }) }));
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=DatePickerPopoverTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePickerPopoverTemplate.js","sourceRoot":"","sources":["../src/DatePickerPopoverTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,QAAQ,MAAM,qCAAqC,CAAC;AAE3D,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,YAAY,MAAM,yCAAyC,CAAC;AACnE,OAAO,iBAAiB,MAAM,8CAA8C,CAAC;AAE7E,MAAM,CAAC,OAAO,UAAU,yBAAyB;IAC/C,OAAO,CACL,KAAC,YAAY,IACX,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,oBAAoB,EACxC,MAAM,EAAE,QAAQ,IAAI,CAAC,GAAG,mBAAmB,EAC3C,KAAK,EAAC,2BAA2B,EACjC,SAAS,EAAE,SAAS,CAAC,MAAM,sBACV,OAAO,EACxB,OAAO,EAAE,IAAI,CAAC,mBAAmB,EACjC,MAAM,EAAE,IAAI,CAAC,kBAAkB,YAC/B,KAAC,QAAQ,IACP,KAAK,EAAC,4BAA4B,EAClC,iBAAiB,EAAE,IAAI,CAAC,oBAAoB,oBAC5B,IAAI,CAAC,aAAa,cACxB,IAAI,CAAC,OAAO,cACZ,IAAI,CAAC,OAAO,oBACN,IAAI,CAAC,aAAa,YAChC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAClB,KAAC,iBAAiB,mBAAc,IAAI,CAAC,UAAU,eAAa,IAAI,CAAC,QAAQ,GAAsB;gBAC/F,CAAC;oBACD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACrC,KAAC,YAAY,IAAC,KAAK,EAAE,IAAI,GAAiB,CAC3C,GAEM,GACE,CAChB,CAAC;AACJ,CAAC","sourcesContent":["import Calendar from \"@ui5/webcomponents/dist/Calendar.js\";\nimport type DatePicker from \"./DatePicker.js\";\nimport UDExDropdown from \"./Dropdown.js\";\nimport { Placement } from \"./types/Dropdown.js\";\nimport CalendarDate from \"@ui5/webcomponents/dist/CalendarDate.js\";\nimport CalendarDateRange from \"@ui5/webcomponents/dist/CalendarDateRange.js\";\n\nexport default function DatePickerPopoverTemplate(this: DatePicker) {\n return (\n <UDExDropdown\n id={`udex-${this._id}-calendar__popover`}\n opener={`udex-${this._id}-calendar__opener`}\n class=\"udex-date-picker__popover\"\n placement={Placement.Bottom}\n horizontal-align=\"Start\"\n onClose={this._afterDropdownClose}\n onOpen={this._afterDropdownOpen}>\n <Calendar\n class=\"udex-date-picker__calendar\"\n onSelectionChange={this.handleCalendarChange}\n selection-mode={this.selectionMode}\n min-date={this.minDate}\n max-date={this.maxDate}\n format-pattern={this.formatPattern}>\n { this.isRangeMode ?\n <CalendarDateRange start-value={this.startValue} end-value={this.endValue}></CalendarDateRange>\n :\n this._calendarSelectedDates.map(date =>\n <CalendarDate value={date}></CalendarDate>\n )\n }\n </Calendar>\n </UDExDropdown>\n );\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
|
|
2
|
+
import DatePickerPopoverTemplate from "./DatePickerPopoverTemplate.js";
|
|
3
|
+
import UDExTextField from "./TextField.js";
|
|
4
|
+
export default function DatePickerTemplate() {
|
|
5
|
+
return (_jsxs(_Fragment, { children: [_jsx(UDExTextField, { class: "udex-date-picker__input", "_aria-has-popup": "grid", icon: "appointment-2", value: this.value, label: this.label, "accessible-name": this.dateAccessibleName, "accessible-name-ref": this.accessibleNameRef, "accessible-icon-name": this.accessibleIconName, ...(this.disabled ? { "disabled": true } : {}), ...(this.required ? { "required": true } : {}), ...(this.readonly ? { "readonly": true } : {}), onClickIcon: this.handleInputClick, onChange: this._onInputChange, "value-state": this.valueState, "supporting-text": this.supportingText }), DatePickerPopoverTemplate.call(this)] }));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=DatePickerTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePickerTemplate.js","sourceRoot":"","sources":["../src/DatePickerTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,yBAAyB,MAAM,gCAAgC,CAAC;AACvE,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAE3C,MAAM,CAAC,OAAO,UAAU,kBAAkB;IACxC,OAAO,CACL,8BACE,KAAC,aAAa,IACZ,KAAK,EAAC,yBAAyB,qBACf,MAAM,EACtB,IAAI,EAAC,eAAe,EACpB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,KAAK,EAAE,IAAI,CAAC,KAAK,qBACA,IAAI,CAAC,kBAAkB,yBACnB,IAAI,CAAC,iBAAiB,0BACrB,IAAI,CAAC,kBAAkB,KACzC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAC3C,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAC3C,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC/C,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAClC,QAAQ,EAAE,IAAI,CAAC,cAAc,iBAChB,IAAI,CAAC,UAAU,qBACX,IAAI,CAAC,cAAc,GAAI,EACzC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,IACpC,CACJ,CAAC;AACJ,CAAC","sourcesContent":["import type DatePicker from \"./DatePicker.js\";\nimport DatePickerPopoverTemplate from \"./DatePickerPopoverTemplate.js\";\nimport UDExTextField from \"./TextField.js\";\n\nexport default function DatePickerTemplate(this: DatePicker) {\n return (\n <>\n <UDExTextField\n class=\"udex-date-picker__input\"\n _aria-has-popup=\"grid\"\n icon=\"appointment-2\"\n value={this.value}\n label={this.label}\n accessible-name={this.dateAccessibleName}\n accessible-name-ref={this.accessibleNameRef}\n accessible-icon-name={this.accessibleIconName}\n {...(this.disabled ? { \"disabled\": true } : {})}\n {...(this.required ? { \"required\": true } : {})}\n {...(this.readonly ? { \"readonly\": true } : {})}\n onClickIcon={this.handleInputClick}\n onChange={this._onInputChange}\n value-state={this.valueState}\n supporting-text={this.supportingText} />\n {DatePickerPopoverTemplate.call(this)}\n </>\n );\n}\n"]}
|
|
@@ -13,10 +13,10 @@ function renderAudioOnlyTemplate(rootClass) {
|
|
|
13
13
|
return (_jsx("audio", { id: this.playerElementId, class: `${rootClass} ${this.aspectRatioClass}`, preload: "auto", children: _jsx("source", { src: this.source, type: this.type }) }));
|
|
14
14
|
}
|
|
15
15
|
function renderStandardTemplate(rootClass) {
|
|
16
|
-
return (
|
|
16
|
+
return (_jsxs("video-js", { id: this.playerElementId, class: `${rootClass} ${this.aspectRatioClass}`, children: [_jsx("source", { src: this.source, type: this.type }), this._tracks.map((element, index) => {
|
|
17
17
|
const { "default": isDefault, kind, src, srclang, label } = element;
|
|
18
18
|
return (_jsx("track", { kind: kind, src: src, srclang: srclang, label: label, ...(isDefault ? { "default": true } : {}) }, index));
|
|
19
|
-
}) })
|
|
19
|
+
})] }));
|
|
20
20
|
}
|
|
21
21
|
function renderEmbedTemplate() {
|
|
22
22
|
if (this._iframePosterPreload) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaPlayerTemplate.js","sourceRoot":"","sources":["../src/MediaPlayerTemplate.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"MediaPlayerTemplate.js","sourceRoot":"","sources":["../src/MediaPlayerTemplate.tsx"],"names":[],"mappings":";AAGA,OAAO,sBAAsB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,oBAAoB,MAAM,uBAAuB,CAAC;AACzD,OAAO,uCAAuC,CAAC;AAC/C,OAAO,IAAI,MAAM,iCAAiC,CAAC;AAEnD,MAAM,CAAC,OAAO,UAAU,mBAAmB;IACzC,MAAM,SAAS,GAAG,mCAAmC,CAAC;IAEtD,OAAO,CACL,4BACG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjD,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,GAE/C,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAwB,SAAiB;IACvE,OAAO,CACL,gBACE,EAAE,EAAE,IAAI,CAAC,eAAe,EACxB,KAAK,EAAE,GAAG,SAAS,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAC9C,OAAO,EAAC,MAAM,YACd,iBAAQ,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,GACtC,CACT,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAwB,SAAiB;IACtE,OAAO,CACL,oBACE,EAAE,EAAE,IAAI,CAAC,eAAe,EACxB,KAAK,EAAE,GAAG,SAAS,IAAI,IAAI,CAAC,gBAAgB,EAAE,aAC9C,iBAAQ,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,EAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAyB,EAAE,KAAa,EAAE,EAAE;gBAC7D,MAAM,EACJ,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAChD,GAAG,OAAO,CAAC;gBACZ,OAAO,CACL,gBAEE,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,KACR,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IALrC,KAAK,CAMV,CACH,CAAC;YACJ,CAAC,CAAC,IACO,CACZ,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB;IAC1B,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,OAAO,CACL,cAAK,KAAK,EAAE,6CAA6C,IAAI,CAAC,gBAAgB,EAAE,YAC9E,eAAK,KAAK,EAAC,+BAA+B,mBAAe,OAAO,aAC9D,kBAAS,QAAQ,EAAE,CAAC,CAAC,YAAE,cAAK,OAAO,EAAC,MAAM,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,GAAI,GAAU,EACxH,iBAAQ,KAAK,EAAC,qBAAqB,EAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,YAAY,mBAAe,OAAO,EAAC,OAAO,EAAE,IAAI,CAAC,eAAe,YACtH,KAAC,IAAI,kBAAY,YAAY,EAAC,IAAI,EAAC,MAAM,GAAQ,GAC1C,IACL,GACF,CACP,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,OAAO,CACL,KAAC,sBAAsB,IACrB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,YAAY,IAAI,CAAC,gBAAgB,EAAE,KACtC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,EAChF,SAAS,EAAE,IAAI,CAAC,uBAAuB,EACvC,OAAO,EAAE,IAAI,CAAC,qBAAqB,EACnC,OAAO,EAAE,IAAI,CAAC,qBAAqB,EACnC,OAAO,EAAE,IAAI,CAAC,qBAAqB,GACZ,CAC1B,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,OAAO,CACL,KAAC,oBAAoB,IACnB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,IAAI,CAAC,KAAK,wBACG,IAAI,CAAC,gBAAgB,KACrC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,EAChF,SAAS,EAAE,IAAI,CAAC,uBAAuB,EACvC,OAAO,EAAE,IAAI,CAAC,qBAAqB,EACnC,OAAO,EAAE,IAAI,CAAC,qBAAqB,EACnC,OAAO,EAAE,IAAI,CAAC,qBAAqB,GACd,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC","sourcesContent":["// @ts-nocheck\n// No ts check required for video-js tag usage. Please remove during development.\nimport type UDExMediaPlayer from \"./MediaPlayer.js\";\nimport UDExMediaPlayerYoutube from \"./MediaPlayerYoutube.js\";\nimport UDExMediaPlayerVimeo from \"./MediaPlayerVimeo.js\";\nimport \"@ui5/webcomponents-icons/dist/play.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\n\nexport default function MediaPlayerTemplate(this: UDExMediaPlayer) {\n const rootClass = \"udex-media-player__video video-js\";\n\n return (\n <>\n {this.audioOnly ? renderAudioOnlyTemplate.call(this, rootClass) :\n this._iframeLoad ? renderEmbedTemplate.call(this) :\n renderStandardTemplate.call(this, rootClass)\n }\n </>\n );\n}\n\nfunction renderAudioOnlyTemplate(this: UDExMediaPlayer, rootClass: string) {\n return (\n <audio\n id={this.playerElementId}\n class={`${rootClass} ${this.aspectRatioClass}`}\n preload=\"auto\">\n <source src={this.source} type={this.type}/>\n </audio>\n );\n}\n\nfunction renderStandardTemplate(this: UDExMediaPlayer, rootClass: string) {\n return (\n <video-js\n id={this.playerElementId}\n class={`${rootClass} ${this.aspectRatioClass}`}>\n <source src={this.source} type={this.type} />\n {this._tracks.map((element: HTMLTrackElement, index: number) => {\n const {\n \"default\": isDefault, kind, src, srclang, label\n } = element;\n return (\n <track\n key={index}\n kind={kind}\n src={src}\n srclang={srclang}\n label={label}\n {...(isDefault ? { \"default\": true } : {})}\n />\n );\n })}\n </video-js>\n );\n}\n\nfunction renderEmbedTemplate(this: UDExMediaPlayer) {\n if (this._iframePosterPreload) {\n return (\n <div class={`video-js udex-media-player__iframe-poster ${this.aspectRatioClass}`}>\n <div class=\"udex-media-player__vjs-poster\" aria-disabled=\"false\">\n <picture tabindex={-1}><img loading=\"lazy\" alt=\"\" src={this.poster} width={this.width} height={this.height} /></picture>\n <button class=\"vjs-big-play-button\" type=\"button\" title=\"Play Video\" aria-disabled=\"false\" onClick={this.handleEmbedPlay}>\n <Icon aria-label=\"Play Video\" name=\"play\"></Icon>\n </button>\n </div>\n </div>\n );\n }\n\n if (this._youtubeSrc) {\n return (\n <UDExMediaPlayerYoutube\n source={this.source}\n width={this.width}\n height={this.height}\n class={`video-js ${this.aspectRatioClass}`}\n {...this.embedVideoFluidClass ? { \"fluid-mode\": this.embedVideoFluidClass } : {}}\n onPlaying={this.handleEmbedVideoPlaying}\n onEnded={this.handleEmbedVideoEnded}\n onReady={this.handleEmbedVideoReady}\n onPause={this.handleEmbedVideoPause}>\n </UDExMediaPlayerYoutube>\n );\n }\n\n if (this._vimeoSrc) {\n return (\n <UDExMediaPlayerVimeo\n source={this.source}\n width={this.width}\n height={this.height}\n title={this.title}\n aspect-ratio-class={this.aspectRatioClass}\n {...this.embedVideoFluidClass ? { \"fluid-mode\": this.embedVideoFluidClass } : {}}\n onPlaying={this.handleEmbedVideoPlaying}\n onEnded={this.handleEmbedVideoEnded}\n onReady={this.handleEmbedVideoReady}\n onPause={this.handleEmbedVideoPause}>\n </UDExMediaPlayerVimeo>);\n }\n}\n"]}
|
|
@@ -7,6 +7,8 @@ import sysEnter2 from "@ui5/webcomponents-icons/dist/sys-enter-2.js";
|
|
|
7
7
|
import error from "@ui5/webcomponents-icons/dist/error.js";
|
|
8
8
|
import alert from "@ui5/webcomponents-icons/dist/alert.js";
|
|
9
9
|
import { UDExMessageStripDesign } from "./types/MessageStrip.js";
|
|
10
|
+
import UDExButtonSize from "./types/ButtonSize.js";
|
|
11
|
+
import UDExButtonDesign from "./types/ButtonDesign.js";
|
|
10
12
|
export default function MessageStripTemplate() {
|
|
11
13
|
return (_jsxs("div", { class: {
|
|
12
14
|
"udex-message-strip": true,
|
|
@@ -15,7 +17,7 @@ export default function MessageStripTemplate() {
|
|
|
15
17
|
"ui5-message-strip-root-hide-close-button": this.hideCloseButton,
|
|
16
18
|
"ui5-message-strip-root--critical": this.isDesignWarning,
|
|
17
19
|
[this.designClasses]: true,
|
|
18
|
-
}, id: this._id, role: "note", "aria-labelledby": this._id, children: [!this.shouldHideIcon && (_jsx("div", { class: "ui5-message-strip-icon-wrapper udex-message-strip", "aria-hidden": "true", children: this.hasIcon ? (_jsx("slot", { name: "icon" })) : (_jsx(Icon, { name: standardIconName.call(this), class: "ui5-message-strip-icon" })) })), _jsx("span", { class: "ui5-hidden-text", children: this.hiddenText }), _jsxs("span", { class: "ui5-message-strip-text message-strip__text", children: [!this.hideTextStatus && (_jsxs("strong", { class: "message-strip__text-status", children: [this.textStatus, ":"] })), _jsx("slot", {})] }), !this.hideCloseButton && (_jsx(UDExButton, { size:
|
|
20
|
+
}, id: this._id, role: "note", "aria-labelledby": this._id, children: [!this.shouldHideIcon && (_jsx("div", { class: "ui5-message-strip-icon-wrapper udex-message-strip", "aria-hidden": "true", children: this.hasIcon ? (_jsx("slot", { name: "icon" })) : (_jsx(Icon, { name: standardIconName.call(this), class: "ui5-message-strip-icon" })) })), _jsx("span", { class: "ui5-hidden-text", children: this.hiddenText }), _jsxs("span", { class: "ui5-message-strip-text message-strip__text", children: [!this.hideTextStatus && (_jsxs("strong", { class: "message-strip__text-status", children: [this.textStatus, ":"] })), _jsx("slot", {})] }), !this.hideCloseButton && (_jsx(UDExButton, { size: UDExButtonSize.Small, icon: decline, design: UDExButtonDesign.Tertiary, onClick: this._closeClick, tooltip: this._closeButtonText, part: "close-button" }))] }));
|
|
19
21
|
}
|
|
20
22
|
function standardIconName() {
|
|
21
23
|
switch (this.design) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageStripTemplate.js","sourceRoot":"","sources":["../src/MessageStripTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,OAAO,MAAM,0CAA0C,CAAC;AAC/D,OAAO,WAAW,MAAM,8CAA8C,CAAC;AACvE,OAAO,SAAS,MAAM,8CAA8C,CAAC;AACrE,OAAO,KAAK,MAAM,wCAAwC,CAAC;AAC3D,OAAO,KAAK,MAAM,wCAAwC,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageStripTemplate.js","sourceRoot":"","sources":["../src/MessageStripTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,OAAO,MAAM,0CAA0C,CAAC;AAC/D,OAAO,WAAW,MAAM,8CAA8C,CAAC;AACvE,OAAO,SAAS,MAAM,8CAA8C,CAAC;AACrE,OAAO,KAAK,MAAM,wCAAwC,CAAC;AAC3D,OAAO,KAAK,MAAM,wCAAwC,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,cAAc,MAAM,uBAAuB,CAAC;AACnD,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,oBAAoB;IAC1C,OAAO,CACL,eACE,KAAK,EAAE;YACL,oBAAoB,EAAE,IAAI;YAC1B,wBAAwB,EAAE,IAAI;YAC9B,kCAAkC,EAAE,IAAI,CAAC,cAAc;YACvD,0CAA0C,EAAE,IAAI,CAAC,eAAe;YAChE,kCAAkC,EAAE,IAAI,CAAC,eAAe;YACxD,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI;SAC3B,EACD,EAAE,EAAE,IAAI,CAAC,GAAG,EACZ,IAAI,EAAC,MAAM,qBACM,IAAI,CAAC,GAAG,aAExB,CAAC,IAAI,CAAC,cAAc,IAAI,CACvB,cACE,KAAK,EAAC,mDAAmD,iBAC7C,MAAM,YAEjB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CACd,eAAM,IAAI,EAAC,MAAM,GAAQ,CAC1B,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IACH,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EACjC,KAAK,EAAC,wBAAwB,GAC9B,CACH,GACG,CACP,EACD,eAAM,KAAK,EAAC,iBAAiB,YAAE,IAAI,CAAC,UAAU,GAAQ,EACtD,gBAAM,KAAK,EAAC,4CAA4C,aACrD,CAAC,IAAI,CAAC,cAAc,IAAI,CACvB,kBAAQ,KAAK,EAAC,4BAA4B,aAAE,IAAI,CAAC,UAAU,SAAW,CACvE,EACD,gBAAa,IACR,EACN,CAAC,IAAI,CAAC,eAAe,IAAI,CACxB,KAAC,UAAU,IACT,IAAI,EAAE,cAAc,CAAC,KAAK,EAC1B,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EACjC,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,IAAI,EAAC,cAAc,GACnB,CACH,IACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB;IACvB,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,sBAAsB,CAAC,OAAO;YACjC,OAAO,KAAK,CAAC;QACf,KAAK,sBAAsB,CAAC,QAAQ;YAClC,OAAO,SAAS,CAAC;QACnB,KAAK,sBAAsB,CAAC,QAAQ;YAClC,OAAO,KAAK,CAAC;QACf,KAAK,sBAAsB,CAAC,WAAW;YACrC,OAAO,WAAW,CAAC;QACrB;YACE,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC","sourcesContent":["import type UDExMessageStrip from \"./MessageStrip.js\";\nimport UDExButton from \"./Button.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport decline from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport information from \"@ui5/webcomponents-icons/dist/information.js\";\nimport sysEnter2 from \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport error from \"@ui5/webcomponents-icons/dist/error.js\";\nimport alert from \"@ui5/webcomponents-icons/dist/alert.js\";\nimport { UDExMessageStripDesign } from \"./types/MessageStrip.js\";\nimport UDExButtonSize from \"./types/ButtonSize.js\";\nimport UDExButtonDesign from \"./types/ButtonDesign.js\";\n\nexport default function MessageStripTemplate(this: UDExMessageStrip) {\n return (\n <div\n class={{\n \"udex-message-strip\": true,\n \"ui5-message-strip-root\": true,\n \"ui5-message-strip-root-hide-icon\": this.shouldHideIcon,\n \"ui5-message-strip-root-hide-close-button\": this.hideCloseButton,\n \"ui5-message-strip-root--critical\": this.isDesignWarning,\n [this.designClasses]: true,\n }}\n id={this._id}\n role=\"note\"\n aria-labelledby={this._id}\n >\n {!this.shouldHideIcon && (\n <div\n class=\"ui5-message-strip-icon-wrapper udex-message-strip\"\n aria-hidden=\"true\"\n >\n {this.hasIcon ? (\n <slot name=\"icon\"></slot>\n ) : (\n <Icon\n name={standardIconName.call(this)}\n class=\"ui5-message-strip-icon\"\n />\n )}\n </div>\n )}\n <span class=\"ui5-hidden-text\">{this.hiddenText}</span>\n <span class=\"ui5-message-strip-text message-strip__text\">\n {!this.hideTextStatus && (\n <strong class=\"message-strip__text-status\">{this.textStatus}:</strong>\n )}\n <slot></slot>\n </span>\n {!this.hideCloseButton && (\n <UDExButton\n size={UDExButtonSize.Small}\n icon={decline}\n design={UDExButtonDesign.Tertiary}\n onClick={this._closeClick}\n tooltip={this._closeButtonText}\n part=\"close-button\"\n />\n )}\n </div>\n );\n}\n\nfunction standardIconName(this: UDExMessageStrip) {\n switch (this.design) {\n case UDExMessageStripDesign.Warning:\n return alert;\n case UDExMessageStripDesign.Positive:\n return sysEnter2;\n case UDExMessageStripDesign.Negative:\n return error;\n case UDExMessageStripDesign.Information:\n return information;\n default:\n return undefined;\n }\n}\n"]}
|
|
@@ -3,6 +3,6 @@ import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
|
3
3
|
import favorite from "@ui5/webcomponents-icons/dist/favorite.js";
|
|
4
4
|
export default function RatingBarTemplate() {
|
|
5
5
|
const rootClass = "udex-rating-bar";
|
|
6
|
-
return (_jsxs("div", { className: `${rootClass}__container`, children: [_jsx("div", { "aria-hidden": "true", className: `${rootClass}__rating`, children: this.validatedRating }), _jsx(UI5Icon, { "aria-labelledby": "ratingDescription", name: favorite, class: `${rootClass}__icon` }), _jsx("div", { className: `${rootClass}__track`, children: _jsx("div", { className: `${rootClass}__progress` }) }), this.showPercentage && (_jsx("div", { role: "note", className: `${rootClass}__percentage`, "aria-label": this.validatedPercentage, children: this.validatedPercentage })), _jsx("span", { id: "ratingDescription", className: "hidden-text", children: this._ratingDescription })] }));
|
|
6
|
+
return (_jsxs("div", { className: `${rootClass}__container`, children: [_jsx("div", { "aria-hidden": "true", className: `${rootClass}__rating`, children: this.validatedRating }), _jsx(UI5Icon, { "aria-labelledby": "ratingDescription", role: "img", name: favorite, class: `${rootClass}__icon` }), _jsx("div", { className: `${rootClass}__track`, children: _jsx("div", { className: `${rootClass}__progress` }) }), this.showPercentage && (_jsx("div", { role: "note", className: `${rootClass}__percentage`, "aria-label": this.validatedPercentage, children: this.validatedPercentage })), _jsx("span", { id: "ratingDescription", className: "hidden-text", children: this._ratingDescription })] }));
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=RatingBarTemplate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RatingBarTemplate.js","sourceRoot":"","sources":["../src/RatingBarTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,QAAQ,MAAM,2CAA2C,CAAC;AAEjE,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACvC,MAAM,SAAS,GAAG,iBAAiB,CAAC;IAEpC,OAAO,CACL,eAAK,SAAS,EAAE,GAAG,SAAS,aAAa,aACvC,6BACc,MAAM,EAClB,SAAS,EAAE,GAAG,SAAS,UAAU,YAChC,IAAI,CAAC,eAAe,GACjB,EACN,KAAC,OAAO,uBACU,mBAAmB,EACnC,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,GAAG,SAAS,QAAQ,GACnB,EACV,cAAK,SAAS,EAAE,GAAG,SAAS,SAAS,YACnC,cAAK,SAAS,EAAE,GAAG,SAAS,YAAY,GAAQ,GAC5C,EACL,IAAI,CAAC,cAAc,IAAI,CACtB,cACE,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,GAAG,SAAS,cAAc,gBACzB,IAAI,CAAC,mBAAmB,YACnC,IAAI,CAAC,mBAAmB,GACrB,CACP,EACD,eACE,EAAE,EAAC,mBAAmB,EACtB,SAAS,EAAC,aAAa,YACtB,IAAI,CAAC,kBAAkB,GACnB,IACH,CACP,CAAC;AACJ,CAAC","sourcesContent":["import type RatingBar from \"./RatingBar.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport favorite from \"@ui5/webcomponents-icons/dist/favorite.js\";\n\nexport default function RatingBarTemplate(this: RatingBar) {\n const rootClass = \"udex-rating-bar\";\n\n return (\n <div className={`${rootClass}__container`}>\n <div\n aria-hidden=\"true\"\n className={`${rootClass}__rating`}>\n {this.validatedRating}\n </div>\n <UI5Icon\n aria-labelledby=\"ratingDescription\"\n name={favorite}\n class={`${rootClass}__icon`}>\n </UI5Icon>\n <div className={`${rootClass}__track`}>\n <div className={`${rootClass}__progress`}></div>\n </div>\n {this.showPercentage && (\n <div\n role=\"note\"\n className={`${rootClass}__percentage`}\n aria-label={this.validatedPercentage}>\n {this.validatedPercentage}\n </div>\n )}\n <span\n id=\"ratingDescription\"\n className=\"hidden-text\">\n {this._ratingDescription}\n </span>\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"RatingBarTemplate.js","sourceRoot":"","sources":["../src/RatingBarTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,QAAQ,MAAM,2CAA2C,CAAC;AAEjE,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACvC,MAAM,SAAS,GAAG,iBAAiB,CAAC;IAEpC,OAAO,CACL,eAAK,SAAS,EAAE,GAAG,SAAS,aAAa,aACvC,6BACc,MAAM,EAClB,SAAS,EAAE,GAAG,SAAS,UAAU,YAChC,IAAI,CAAC,eAAe,GACjB,EACN,KAAC,OAAO,uBACU,mBAAmB,EACnC,IAAI,EAAC,KAAK,EACV,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,GAAG,SAAS,QAAQ,GACnB,EACV,cAAK,SAAS,EAAE,GAAG,SAAS,SAAS,YACnC,cAAK,SAAS,EAAE,GAAG,SAAS,YAAY,GAAQ,GAC5C,EACL,IAAI,CAAC,cAAc,IAAI,CACtB,cACE,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,GAAG,SAAS,cAAc,gBACzB,IAAI,CAAC,mBAAmB,YACnC,IAAI,CAAC,mBAAmB,GACrB,CACP,EACD,eACE,EAAE,EAAC,mBAAmB,EACtB,SAAS,EAAC,aAAa,YACtB,IAAI,CAAC,kBAAkB,GACnB,IACH,CACP,CAAC;AACJ,CAAC","sourcesContent":["import type RatingBar from \"./RatingBar.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport favorite from \"@ui5/webcomponents-icons/dist/favorite.js\";\n\nexport default function RatingBarTemplate(this: RatingBar) {\n const rootClass = \"udex-rating-bar\";\n\n return (\n <div className={`${rootClass}__container`}>\n <div\n aria-hidden=\"true\"\n className={`${rootClass}__rating`}>\n {this.validatedRating}\n </div>\n <UI5Icon\n aria-labelledby=\"ratingDescription\"\n role=\"img\"\n name={favorite}\n class={`${rootClass}__icon`}>\n </UI5Icon>\n <div className={`${rootClass}__track`}>\n <div className={`${rootClass}__progress`}></div>\n </div>\n {this.showPercentage && (\n <div\n role=\"note\"\n className={`${rootClass}__percentage`}\n aria-label={this.validatedPercentage}>\n {this.validatedPercentage}\n </div>\n )}\n <span\n id=\"ratingDescription\"\n className=\"hidden-text\">\n {this._ratingDescription}\n </span>\n </div>\n );\n}\n"]}
|
package/dist/Review.js
CHANGED
|
@@ -9,14 +9,12 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
|
9
9
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
10
10
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
11
11
|
import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
|
|
12
|
-
import
|
|
13
|
-
import Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
12
|
+
import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
|
|
14
13
|
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
15
14
|
import { REVIEWS, STARS } from "./generated/i18n/i18n-defaults.js";
|
|
16
15
|
import "@ui5/webcomponents-icons/dist/favorite.js";
|
|
17
16
|
import UDExRatingBar from "./RatingBar.js";
|
|
18
|
-
import
|
|
19
|
-
import ReviewTemplate from "./generated/templates/ReviewTemplate.lit.js";
|
|
17
|
+
import ReviewTemplate from "./ReviewTemplate.js";
|
|
20
18
|
// Styles
|
|
21
19
|
import ReviewCss from "./generated/themes/Review.css.js";
|
|
22
20
|
/**
|
|
@@ -109,10 +107,9 @@ __decorate([
|
|
|
109
107
|
UDExReview = UDExReview_1 = __decorate([
|
|
110
108
|
customElement({
|
|
111
109
|
tag: "udex-review",
|
|
112
|
-
renderer:
|
|
110
|
+
renderer: jsxRenderer,
|
|
113
111
|
styles: ReviewCss,
|
|
114
112
|
template: ReviewTemplate,
|
|
115
|
-
dependencies: [UDExRatingBar, UDExRatingIndicator, Icon],
|
|
116
113
|
})
|
|
117
114
|
], UDExReview);
|
|
118
115
|
UDExReview.define();
|
package/dist/Review.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Review.js","sourceRoot":"","sources":["../src/Review.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,
|
|
1
|
+
{"version":3,"file":"Review.js","sourceRoot":"","sources":["../src/Review.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 slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { REVIEWS, STARS } from \"./generated/i18n/i18n-defaults.js\";\nimport \"@ui5/webcomponents-icons/dist/favorite.js\";\nimport UDExRatingBar from \"./RatingBar.js\";\nimport type UDExButton from \"./Button.js\";\nimport ReviewTemplate from \"./ReviewTemplate.js\";\n\n// Styles\nimport ReviewCss from \"./generated/themes/Review.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-review</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/Review.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-review\",\n renderer: jsxRenderer,\n styles: ReviewCss,\n template: ReviewTemplate,\n})\n\nclass UDExReview extends UI5Element {\n /**\n * Defines the rating.\n *\n * @default 0\n * @public\n */\n @property({ type: Number })\n rating: number = 0;\n\n /**\n * Defines the total number of reviews.\n *\n * @default 0\n * @public\n */\n @property({ type: Number })\n reviews: number = 0;\n\n /**\n * Slot for a button for writing a review.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n reviewButton!: UDExButton;\n\n /**\n * Slot for the default text when there are no reviews or rating.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n defaultText!: HTMLElement;\n\n /**\n * Slot for rating bars.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true, individualSlots: true })\n bars!: Array<UDExRatingBar>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _minRating: number = 0;\n _maxRating: number = 5;\n _maxRatingBars: number = 5;\n\n get reviewsText(): string {\n return `${this.reviews} ${UDExReview.i18nBundle.getText(REVIEWS)}`;\n }\n\n get withoutBreakdown(): boolean {\n return this.bars.length === 0;\n }\n\n get isEmpty(): boolean {\n return this.reviews === 0 && this.rating === 0;\n }\n\n get validatedRating(): number {\n if (this.rating > this._maxRating) {\n console.warn(\"UDEx Review: The rating shouldn't be more than 5.\");\n return this._maxRating;\n }\n if (this.rating < this._minRating) {\n console.warn(\"UDEx Review: The rating shouldn't be less than 0.\");\n return this._minRating;\n }\n return this.rating;\n }\n\n get validatedRatingBars(): Array<UDExRatingBar> {\n if (this.bars.length > this._maxRatingBars) {\n console.warn(\"UDEx Review: There shouldn't be more than 5 RatingBars.\");\n return this.bars.slice(-this._maxRatingBars);\n }\n\n return this.bars;\n }\n\n get _ratingDescription(): string {\n return `${this.validatedRating} ${UDExRatingBar.i18nBundle.getText(STARS)}`;\n }\n}\n\nUDExReview.define();\n\nexport default UDExReview;\n"]}
|
package/dist/ReviewItem.d.ts
CHANGED
|
@@ -84,7 +84,6 @@ declare class UDExReviewItem extends UI5Element {
|
|
|
84
84
|
*/
|
|
85
85
|
date: Array<HTMLElement>;
|
|
86
86
|
static i18nBundle: I18nBundle;
|
|
87
|
-
_toggleText(): void;
|
|
88
87
|
_handleResizeBound: ResizeObserverCallback;
|
|
89
88
|
_textElement: HTMLElement;
|
|
90
89
|
_visibleText: string;
|
|
@@ -95,6 +94,7 @@ declare class UDExReviewItem extends UI5Element {
|
|
|
95
94
|
onEnterDOM(): void;
|
|
96
95
|
onExitDOM(): void;
|
|
97
96
|
onAfterRendering(): void;
|
|
97
|
+
_toggleText(): void;
|
|
98
98
|
_checkTextOverflow(): void;
|
|
99
99
|
get buttonText(): string;
|
|
100
100
|
get reviewItemClasses(): string;
|
package/dist/ReviewItem.js
CHANGED
|
@@ -8,16 +8,14 @@ var UDExReviewItem_1;
|
|
|
8
8
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
9
9
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
10
10
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
11
|
-
import
|
|
11
|
+
import jsxRenderer from "@ui5/webcomponents-base/renderer/JsxRenderer.js";
|
|
12
12
|
import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
|
|
13
13
|
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
14
14
|
import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import ReviewItemTemplate from "./generated/templates/ReviewItemTemplate.lit.js";
|
|
15
|
+
import ReviewItemTemplate from "./ReviewItemTemplate.js";
|
|
16
|
+
import { READ_LESS, READ_MORE } from "./generated/i18n/i18n-defaults.js";
|
|
18
17
|
// Styles
|
|
19
18
|
import ReviewItemCss from "./generated/themes/ReviewItem.css.js";
|
|
20
|
-
import { READ_LESS, READ_MORE } from "./generated/i18n/i18n-defaults.js";
|
|
21
19
|
/**
|
|
22
20
|
* @class
|
|
23
21
|
*
|
|
@@ -36,17 +34,6 @@ import { READ_LESS, READ_MORE } from "./generated/i18n/i18n-defaults.js";
|
|
|
36
34
|
* @public
|
|
37
35
|
*/
|
|
38
36
|
let UDExReviewItem = UDExReviewItem_1 = class UDExReviewItem extends UI5Element {
|
|
39
|
-
_toggleText() {
|
|
40
|
-
this._textExpanded = !this._textExpanded;
|
|
41
|
-
if (this._textExpanded) {
|
|
42
|
-
this._completeText = this.text;
|
|
43
|
-
this._textElement.classList.add("udex-review-item__text-expanded");
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
this._textElement.classList.remove("udex-review-item__text-expanded");
|
|
47
|
-
this._completeText = this._visibleText;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
37
|
constructor() {
|
|
51
38
|
super();
|
|
52
39
|
/**
|
|
@@ -79,6 +66,17 @@ let UDExReviewItem = UDExReviewItem_1 = class UDExReviewItem extends UI5Element
|
|
|
79
66
|
this._textElement = this.getTextElement();
|
|
80
67
|
this._checkTextOverflow();
|
|
81
68
|
}
|
|
69
|
+
_toggleText() {
|
|
70
|
+
this._textExpanded = !this._textExpanded;
|
|
71
|
+
if (this._textExpanded) {
|
|
72
|
+
this._completeText = this.text;
|
|
73
|
+
this._textElement.classList.add("udex-review-item__text-expanded");
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
this._textElement.classList.remove("udex-review-item__text-expanded");
|
|
77
|
+
this._completeText = this._visibleText;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
82
80
|
_checkTextOverflow() {
|
|
83
81
|
const words = this.text.split(" ");
|
|
84
82
|
const canvas = document.createElement("canvas");
|
|
@@ -158,10 +156,9 @@ __decorate([
|
|
|
158
156
|
UDExReviewItem = UDExReviewItem_1 = __decorate([
|
|
159
157
|
customElement({
|
|
160
158
|
tag: "udex-review-item",
|
|
161
|
-
renderer:
|
|
159
|
+
renderer: jsxRenderer,
|
|
162
160
|
styles: ReviewItemCss,
|
|
163
161
|
template: ReviewItemTemplate,
|
|
164
|
-
dependencies: [UDExRatingIndicator, UDExButton],
|
|
165
162
|
})
|
|
166
163
|
], UDExReviewItem);
|
|
167
164
|
UDExReviewItem.define();
|
package/dist/ReviewItem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReviewItem.js","sourceRoot":"","sources":["../src/ReviewItem.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAE7E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAGnE,OAAO,aAAa,MAAM,wDAAwD,CAAC;AACnF,OAAO,mBAAmB,MAAM,sBAAsB,CAAC;AACvD,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,kBAAkB,MAAM,iDAAiD,CAAC;AAEjF,SAAS;AACT,OAAO,aAAa,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAEzE;;;;;;;;;;;;;;;;GAgBG;AASH,IAAM,cAAc,sBAApB,MAAM,cAAe,SAAQ,UAAU;IAwFrC,WAAW;QACT,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;QACzC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC;YACtE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,CAAC;IACH,CAAC;IASD;QACE,KAAK,EAAE,CAAC;QAlGV;;;;;WAKG;QAED,WAAM,GAAW,CAAC,CAAC;QAmBrB;;;;WAIG;QAED,mBAAc,GAAW,CAAC,CAAC;QA6D7B,eAAU,GAAW,EAAE,CAAC;QACxB,eAAU,GAAW,CAAC,CAAC;QACvB,eAAU,GAAW,CAAC,CAAC;QAIrB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,UAAU;QACR,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC;QAC/B,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACxD,CAAC;IAED,SAAS;QACP,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC1D,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,kBAAkB;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEnC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC;QACzC,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAEjC,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;YACxD,IAAI,gBAAgB,GAAG,SAAS,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;gBACtE,WAAW,IAAI,GAAG,IAAI,GAAG,CAAC;gBAC1B,gBAAgB,IAAI,SAAS,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClK,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1H,CAAC;IAED,IAAI,iBAAiB;QACnB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,OAAO,mBAAmB,SAAS,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,eAAe;QACjB,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,cAAc;QACZ,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,wBAAwB,CAAC,CAAC;QAC9E,OAAO,WAAY,CAAC;IACtB,CAAC;CACF,CAAA;AA1KG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACF;AASxB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CACN;AASnB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mDACJ;AAQrB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CACX;AAQd;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sDACE;AAQ3B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACF;AAQxB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yDACE;AAQ5B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qDACF;AASvB;IADD,IAAI,EAAE;8CACuB;AAS5B;IADD,IAAI,EAAE;4CACqB;AAGrB;IADN,IAAI,CAAC,yBAAyB,CAAC;wCACF;AAtF1B,cAAc;IARnB,aAAa,CAAC;QACb,GAAG,EAAE,kBAAkB;QACvB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,kBAAkB;QAC5B,YAAY,EAAE,CAAC,mBAAmB,EAAE,UAAU,CAAC;KAChD,CAAC;GAEI,cAAc,CAiLnB;AAED,cAAc,CAAC,MAAM,EAAE,CAAC;AAExB,eAAe,cAAc,CAAC","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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\n\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport UDExRatingIndicator from \"./RatingIndicator.js\";\nimport UDExButton from \"./Button.js\";\nimport ReviewItemTemplate from \"./generated/templates/ReviewItemTemplate.lit.js\";\n\n// Styles\nimport ReviewItemCss from \"./generated/themes/ReviewItem.css.js\";\nimport { READ_LESS, READ_MORE } from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-review-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/ReviewItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-review-item\",\n renderer: litRender,\n styles: ReviewItemCss,\n template: ReviewItemTemplate,\n dependencies: [UDExRatingIndicator, UDExButton],\n})\n\nclass UDExReviewItem extends UI5Element {\n /**\n * Defines the position of the rating in review.\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showRatingTop!: boolean;\n\n /**\n * Defines the rating in the review.\n *\n * @default 0\n * @public\n */\n @property({ type: Number })\n rating: number = 0;\n\n /**\n * Defines the title of the review.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n reviewTitle!: string;\n\n /**\n * Defines the text of the review.\n * @default \"\"\n * @public\n */\n @property({ type: String })\n text!: string;\n\n /**\n * Defines whether button for showing truncated text is shown.\n * @default 2\n * @private\n */\n @property({ type: Number })\n _textLineLimit: number = 2;\n\n /**\n * Defines whether the text is expanded.\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _textExpanded!: boolean;\n\n /**\n * Defines whether button for showing truncated text is shown.\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _showTextExpander!: boolean;\n\n /**\n * Defines the text, consisting of visible and invisible parts of the original text.\n * @default \"\"\n * @private\n */\n @property({ type: String })\n _completeText!: string;\n\n /**\n * Defines the author's name and company.\n *\n * @default \"\"\n * @slot\n */\n @slot()\n author!: Array<HTMLElement>;\n\n /**\n * Defines the date of the review.\n *\n * @default \"\"\n * @slot\n */\n @slot()\n date!: Array<HTMLElement>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _toggleText() {\n this._textExpanded = !this._textExpanded;\n if (this._textExpanded) {\n this._completeText = this.text;\n this._textElement.classList.add(\"udex-review-item__text-expanded\");\n } else {\n this._textElement.classList.remove(\"udex-review-item__text-expanded\");\n this._completeText = this._visibleText;\n }\n }\n\n _handleResizeBound: ResizeObserverCallback;\n _textElement!: HTMLElement;\n _visibleText!: string;\n _maxHeight: number = 48;\n _maxRating: number = 5;\n _minRating: number = 0;\n\n constructor() {\n super();\n this._handleResizeBound = this._checkTextOverflow.bind(this);\n }\n\n onEnterDOM(): void {\n this._maxHeight = 48;\n this._completeText = this.text;\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n onAfterRendering(): void {\n this._textElement = this.getTextElement();\n this._checkTextOverflow();\n }\n\n _checkTextOverflow() {\n const words = this.text.split(\" \");\n\n const canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\")!;\n context.font = `16px sans-serif`;\n\n let currentLineWidth = 0;\n let visibleText = \"\";\n\n words.forEach(word => {\n const wordWidth = context.measureText(`${word} `).width;\n if (currentLineWidth + wordWidth <= 2 * this._textElement.offsetWidth) {\n visibleText += `${word} `;\n currentLineWidth += wordWidth;\n }\n });\n\n this._visibleText = visibleText;\n if (!this._textExpanded) {\n this._completeText = visibleText;\n }\n\n this._showTextExpander = (!this._textExpanded && this._completeText.length < this.text.length) || (this._textExpanded && visibleText.length < this.text.length);\n }\n\n get buttonText(): string {\n return this._textExpanded ? UDExReviewItem.i18nBundle.getText(READ_LESS) : UDExReviewItem.i18nBundle.getText(READ_MORE);\n }\n\n get reviewItemClasses(): string {\n const ratingTop = this.showRatingTop ? \" udex-review-item__rating-top\" : \"\";\n return `udex-review-item${ratingTop}`;\n }\n\n get validatedRating(): number {\n if (this.rating > this._maxRating) {\n console.warn(\"UDEx Review: The rating shouldn't be more than 5.\");\n return this._maxRating;\n }\n if (this.rating < this._minRating) {\n console.warn(\"UDEx Review: The rating shouldn't be less than 0.\");\n return this._minRating;\n }\n return this.rating;\n }\n\n getTextElement(): HTMLElement {\n const textElement = this.shadowRoot?.getElementById(\"udex-review-item__text\");\n return textElement!;\n }\n}\n\nUDExReviewItem.define();\n\nexport default UDExReviewItem;\n"]}
|
|
1
|
+
{"version":3,"file":"ReviewItem.js","sourceRoot":"","sources":["../src/ReviewItem.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,WAAW,MAAM,iDAAiD,CAAC;AAC1E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAGnE,OAAO,aAAa,MAAM,wDAAwD,CAAC;AACnF,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAEzE,SAAS;AACT,OAAO,aAAa,MAAM,sCAAsC,CAAC;AAEjE;;;;;;;;;;;;;;;;GAgBG;AAQH,IAAM,cAAc,sBAApB,MAAM,cAAe,SAAQ,UAAU;IA+FrC;QACE,KAAK,EAAE,CAAC;QAvFV;;;;;WAKG;QAED,WAAM,GAAW,CAAC,CAAC;QAmBrB;;;;WAIG;QAED,mBAAc,GAAW,CAAC,CAAC;QAkD7B,eAAU,GAAW,EAAE,CAAC;QACxB,eAAU,GAAW,CAAC,CAAC;QACvB,eAAU,GAAW,CAAC,CAAC;QAIrB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,UAAU;QACR,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC;QAC/B,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACxD,CAAC;IAED,SAAS;QACP,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC1D,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;QACzC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC;YACtE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,CAAC;IACH,CAAC;IAED,kBAAkB;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEnC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC;QACzC,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAEjC,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;YACxD,IAAI,gBAAgB,GAAG,SAAS,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;gBACtE,WAAW,IAAI,GAAG,IAAI,GAAG,CAAC;gBAC1B,gBAAgB,IAAI,SAAS,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClK,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1H,CAAC;IAED,IAAI,iBAAiB;QACnB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,OAAO,mBAAmB,SAAS,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,eAAe;QACjB,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,cAAc;QACZ,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,wBAAwB,CAAC,CAAC;QAC9E,OAAO,WAAY,CAAC;IACtB,CAAC;CACF,CAAA;AA1KG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACF;AASxB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CACN;AASnB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mDACJ;AAQrB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CACX;AAQd;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sDACE;AAQ3B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACF;AAQxB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yDACE;AAQ5B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qDACF;AASvB;IADD,IAAI,EAAE;8CACuB;AAS5B;IADD,IAAI,EAAE;4CACqB;AAGrB;IADN,IAAI,CAAC,yBAAyB,CAAC;wCACF;AAtF1B,cAAc;IAPnB,aAAa,CAAC;QACb,GAAG,EAAE,kBAAkB;QACvB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,kBAAkB;KAC7B,CAAC;GAEI,cAAc,CAiLnB;AAED,cAAc,CAAC,MAAM,EAAE,CAAC;AAExB,eAAe,cAAc,CAAC","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 slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ReviewItemTemplate from \"./ReviewItemTemplate.js\";\nimport { READ_LESS, READ_MORE } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport ReviewItemCss from \"./generated/themes/ReviewItem.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-review-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/ReviewItem.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-review-item\",\n renderer: jsxRenderer,\n styles: ReviewItemCss,\n template: ReviewItemTemplate,\n})\n\nclass UDExReviewItem extends UI5Element {\n /**\n * Defines the position of the rating in review.\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showRatingTop!: boolean;\n\n /**\n * Defines the rating in the review.\n *\n * @default 0\n * @public\n */\n @property({ type: Number })\n rating: number = 0;\n\n /**\n * Defines the title of the review.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n reviewTitle!: string;\n\n /**\n * Defines the text of the review.\n * @default \"\"\n * @public\n */\n @property({ type: String })\n text!: string;\n\n /**\n * Defines whether button for showing truncated text is shown.\n * @default 2\n * @private\n */\n @property({ type: Number })\n _textLineLimit: number = 2;\n\n /**\n * Defines whether the text is expanded.\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _textExpanded!: boolean;\n\n /**\n * Defines whether button for showing truncated text is shown.\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _showTextExpander!: boolean;\n\n /**\n * Defines the text, consisting of visible and invisible parts of the original text.\n * @default \"\"\n * @private\n */\n @property({ type: String })\n _completeText!: string;\n\n /**\n * Defines the author's name and company.\n *\n * @default \"\"\n * @slot\n */\n @slot()\n author!: Array<HTMLElement>;\n\n /**\n * Defines the date of the review.\n *\n * @default \"\"\n * @slot\n */\n @slot()\n date!: Array<HTMLElement>;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _handleResizeBound: ResizeObserverCallback;\n _textElement!: HTMLElement;\n _visibleText!: string;\n _maxHeight: number = 48;\n _maxRating: number = 5;\n _minRating: number = 0;\n\n constructor() {\n super();\n this._handleResizeBound = this._checkTextOverflow.bind(this);\n }\n\n onEnterDOM(): void {\n this._maxHeight = 48;\n this._completeText = this.text;\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n onAfterRendering(): void {\n this._textElement = this.getTextElement();\n this._checkTextOverflow();\n }\n\n _toggleText() {\n this._textExpanded = !this._textExpanded;\n if (this._textExpanded) {\n this._completeText = this.text;\n this._textElement.classList.add(\"udex-review-item__text-expanded\");\n } else {\n this._textElement.classList.remove(\"udex-review-item__text-expanded\");\n this._completeText = this._visibleText;\n }\n }\n\n _checkTextOverflow() {\n const words = this.text.split(\" \");\n\n const canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\")!;\n context.font = `16px sans-serif`;\n\n let currentLineWidth = 0;\n let visibleText = \"\";\n\n words.forEach(word => {\n const wordWidth = context.measureText(`${word} `).width;\n if (currentLineWidth + wordWidth <= 2 * this._textElement.offsetWidth) {\n visibleText += `${word} `;\n currentLineWidth += wordWidth;\n }\n });\n\n this._visibleText = visibleText;\n if (!this._textExpanded) {\n this._completeText = visibleText;\n }\n\n this._showTextExpander = (!this._textExpanded && this._completeText.length < this.text.length) || (this._textExpanded && visibleText.length < this.text.length);\n }\n\n get buttonText(): string {\n return this._textExpanded ? UDExReviewItem.i18nBundle.getText(READ_LESS) : UDExReviewItem.i18nBundle.getText(READ_MORE);\n }\n\n get reviewItemClasses(): string {\n const ratingTop = this.showRatingTop ? \" udex-review-item__rating-top\" : \"\";\n return `udex-review-item${ratingTop}`;\n }\n\n get validatedRating(): number {\n if (this.rating > this._maxRating) {\n console.warn(\"UDEx Review: The rating shouldn't be more than 5.\");\n return this._maxRating;\n }\n if (this.rating < this._minRating) {\n console.warn(\"UDEx Review: The rating shouldn't be less than 0.\");\n return this._minRating;\n }\n return this.rating;\n }\n\n getTextElement(): HTMLElement {\n const textElement = this.shadowRoot?.getElementById(\"udex-review-item__text\");\n return textElement!;\n }\n}\n\nUDExReviewItem.define();\n\nexport default UDExReviewItem;\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
|
|
2
|
+
import UDExRatingIndicator from "./RatingIndicator.js";
|
|
3
|
+
import UDExButton from "./Button.js";
|
|
4
|
+
import UDExButtonSize from "./types/ButtonSize.js";
|
|
5
|
+
import UDExButtonDesign from "./types/ButtonDesign.js";
|
|
6
|
+
export default function ReviewItemTemplate() {
|
|
7
|
+
const rootClass = "udex-review-item";
|
|
8
|
+
return (_jsxs("div", { className: this.reviewItemClasses, children: [_jsxs("div", { className: `${rootClass}__rating-container`, children: [_jsx(UDExRatingIndicator, { value: this.validatedRating, max: this._maxRating, readonly: true }), this.date && (_jsx("slot", { className: `${rootClass}__date`, slot: "date", name: "date" }))] }), _jsxs("div", { className: `${rootClass}__text-container`, children: [_jsx("div", { className: `${rootClass}__title`, children: this.reviewTitle }), _jsxs("div", { className: `${rootClass}__text-wrapper`, children: [_jsx("p", { className: `${rootClass}__text`, id: `${rootClass}__text`, children: this._completeText }), this._showTextExpander && (_jsx(UDExButton, { id: "reviewExpander", class: `${rootClass}__text-expander`, design: UDExButtonDesign.Invisible, size: UDExButtonSize.Large, onClick: this._toggleText.bind(this), children: this.buttonText }))] }), this.author && (_jsx("slot", { slot: "author", name: "author", className: `${rootClass}__author` }))] })] }));
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ReviewItemTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReviewItemTemplate.js","sourceRoot":"","sources":["../src/ReviewItemTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,mBAAmB,MAAM,sBAAsB,CAAC;AACvD,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,cAAc,MAAM,uBAAuB,CAAC;AACnD,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,kBAAkB;IACxC,MAAM,SAAS,GAAG,kBAAkB,CAAC;IAErC,OAAO,CACL,eAAK,SAAS,EAAE,IAAI,CAAC,iBAAiB,aACpC,eAAK,SAAS,EAAE,GAAG,SAAS,oBAAoB,aAC9C,KAAC,mBAAmB,IAClB,KAAK,EAAE,IAAI,CAAC,eAAe,EAC3B,GAAG,EAAE,IAAI,CAAC,UAAU,EACpB,QAAQ,SACY,EACrB,IAAI,CAAC,IAAI,IAAI,CACZ,eACE,SAAS,EAAE,GAAG,SAAS,QAAQ,EAC/B,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,MAAM,GACN,CACR,IACG,EACN,eAAK,SAAS,EAAE,GAAG,SAAS,kBAAkB,aAC5C,cAAK,SAAS,EAAE,GAAG,SAAS,SAAS,YAAG,IAAI,CAAC,WAAW,GAAO,EAC/D,eAAK,SAAS,EAAE,GAAG,SAAS,gBAAgB,aAC1C,YAAG,SAAS,EAAE,GAAG,SAAS,QAAQ,EAAE,EAAE,EAAE,GAAG,SAAS,QAAQ,YACzD,IAAI,CAAC,aAAa,GACjB,EACH,IAAI,CAAC,iBAAiB,IAAI,CACzB,KAAC,UAAU,IACT,EAAE,EAAC,gBAAgB,EACnB,KAAK,EAAE,GAAG,SAAS,iBAAiB,EACpC,MAAM,EAAE,gBAAgB,CAAC,SAAS,EAClC,IAAI,EAAE,cAAc,CAAC,KAAK,EAC1B,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YACnC,IAAI,CAAC,UAAU,GACL,CACd,IACG,EACL,IAAI,CAAC,MAAM,IAAI,CACd,eAAM,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,GAAG,SAAS,UAAU,GAAS,CAC7E,IACG,IACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["import type ReviewItem from \"./ReviewItem.js\";\nimport UDExRatingIndicator from \"./RatingIndicator.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExButtonSize from \"./types/ButtonSize.js\";\nimport UDExButtonDesign from \"./types/ButtonDesign.js\";\n\nexport default function ReviewItemTemplate(this: ReviewItem) {\n const rootClass = \"udex-review-item\";\n\n return (\n <div className={this.reviewItemClasses}>\n <div className={`${rootClass}__rating-container`}>\n <UDExRatingIndicator\n value={this.validatedRating}\n max={this._maxRating}\n readonly>\n </UDExRatingIndicator>\n {this.date && (\n <slot\n className={`${rootClass}__date`}\n slot=\"date\"\n name=\"date\">\n </slot>\n )}\n </div>\n <div className={`${rootClass}__text-container`}>\n <div className={`${rootClass}__title`}>{this.reviewTitle}</div>\n <div className={`${rootClass}__text-wrapper`}>\n <p className={`${rootClass}__text`} id={`${rootClass}__text`}>\n {this._completeText}\n </p>\n {this._showTextExpander && (\n <UDExButton\n id=\"reviewExpander\"\n class={`${rootClass}__text-expander`}\n design={UDExButtonDesign.Invisible}\n size={UDExButtonSize.Large}\n onClick={this._toggleText.bind(this)}>\n {this.buttonText}\n </UDExButton>\n )}\n </div>\n {this.author && (\n <slot slot=\"author\" name=\"author\" className={`${rootClass}__author`}></slot>\n )}\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
|
|
2
|
+
import UDExRatingIndicator from "./RatingIndicator.js";
|
|
3
|
+
import UI5Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
4
|
+
import favorite from "@ui5/webcomponents-icons/dist/favorite.js";
|
|
5
|
+
export default function ReviewTemplate() {
|
|
6
|
+
const rootClass = "udex-review";
|
|
7
|
+
return (this.isEmpty ? (_jsxs("div", { className: `${rootClass}__empty-container`, children: [_jsx("slot", { className: `${rootClass}__default-text`, name: "defaultText" }), _jsx("slot", { name: "reviewButton" })] })) : this.withoutBreakdown ? (_jsxs("div", { className: `${rootClass}__container-without-breakdown`, children: [_jsxs("div", { className: `${rootClass}__content-without-breakdown`, children: [_jsx("div", { className: `${rootClass}__rating`, "aria-level": 2, role: "heading", "aria-hidden": "true", children: this.validatedRating }), _jsxs("div", { className: `${rootClass}__rating-info-without-breakdown`, children: [_jsx(UDExRatingIndicator, { value: this.validatedRating, max: this._maxRating, readonly: true }), _jsx("div", { className: `${rootClass}__reviews-text`, children: this.reviewsText })] })] }), _jsxs("div", { className: `${rootClass}__additional-content-without-breakdown`, children: [_jsx("slot", { className: `${rootClass}__default-text`, name: "defaultText" }), _jsx("slot", { name: "reviewButton" })] })] })) : (_jsxs("div", { className: `${rootClass}__container`, children: [_jsxs("div", { className: `${rootClass}__content`, children: [_jsxs("div", { className: `${rootClass}__rating-info`, children: [_jsx("div", { className: `${rootClass}__rating`, "aria-level": 2, role: "heading", "aria-hidden": "true", children: this.validatedRating }), _jsx(UI5Icon, { "aria-labelledby": "ratingDescription", role: "img", name: favorite, class: `${rootClass}__icon` })] }), _jsx("div", { className: `${rootClass}__reviews-text`, children: this.reviewsText }), _jsx("slot", { name: "reviewButton" })] }), _jsx("div", { className: `${rootClass}__additional-content`, children: this.validatedRatingBars.map(bar => (_jsx("slot", { name: bar._individualSlot }))) }), _jsx("span", { id: "ratingDescription", class: "hidden-text", children: this._ratingDescription })] })));
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=ReviewTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReviewTemplate.js","sourceRoot":"","sources":["../src/ReviewTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,mBAAmB,MAAM,sBAAsB,CAAC;AACvD,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,QAAQ,MAAM,2CAA2C,CAAC;AAEjE,MAAM,CAAC,OAAO,UAAU,cAAc;IACpC,MAAM,SAAS,GAAG,aAAa,CAAC;IAEhC,OAAO,CACL,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CACb,eAAK,SAAS,EAAE,GAAG,SAAS,mBAAmB,aAC7C,eAAM,SAAS,EAAE,GAAG,SAAS,gBAAgB,EAAE,IAAI,EAAC,aAAa,GAAQ,EACzE,eAAM,IAAI,EAAC,cAAc,GAAQ,IAC7B,CACP,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAC1B,eAAK,SAAS,EAAE,GAAG,SAAS,+BAA+B,aACzD,eAAK,SAAS,EAAE,GAAG,SAAS,6BAA6B,aACvD,cACE,SAAS,EAAE,GAAG,SAAS,UAAU,gBACrB,CAAC,EACb,IAAI,EAAC,SAAS,iBACF,MAAM,YACjB,IAAI,CAAC,eAAe,GACjB,EACN,eAAK,SAAS,EAAE,GAAG,SAAS,iCAAiC,aAC3D,KAAC,mBAAmB,IAClB,KAAK,EAAE,IAAI,CAAC,eAAe,EAC3B,GAAG,EAAE,IAAI,CAAC,UAAU,EACpB,QAAQ,SACY,EACtB,cAAK,SAAS,EAAE,GAAG,SAAS,gBAAgB,YAAG,IAAI,CAAC,WAAW,GAAO,IAClE,IACF,EACN,eAAK,SAAS,EAAE,GAAG,SAAS,wCAAwC,aAClE,eAAM,SAAS,EAAE,GAAG,SAAS,gBAAgB,EAAE,IAAI,EAAC,aAAa,GAAQ,EACzE,eAAM,IAAI,EAAC,cAAc,GAAQ,IAC7B,IACF,CACP,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAE,GAAG,SAAS,aAAa,aACvC,eAAK,SAAS,EAAE,GAAG,SAAS,WAAW,aACrC,eAAK,SAAS,EAAE,GAAG,SAAS,eAAe,aACzC,cACE,SAAS,EAAE,GAAG,SAAS,UAAU,gBACrB,CAAC,EACb,IAAI,EAAC,SAAS,iBACF,MAAM,YACjB,IAAI,CAAC,eAAe,GACjB,EACN,KAAC,OAAO,uBACU,mBAAmB,EACnC,IAAI,EAAC,KAAK,EACV,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,GAAG,SAAS,QAAQ,GACnB,IACN,EACN,cAAK,SAAS,EAAE,GAAG,SAAS,gBAAgB,YAAG,IAAI,CAAC,WAAW,GAAO,EACtE,eAAM,IAAI,EAAC,cAAc,GAAQ,IAC7B,EACN,cAAK,SAAS,EAAE,GAAG,SAAS,sBAAsB,YAC/C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CACnC,eAAM,IAAI,EAAE,GAAG,CAAC,eAAe,GAAS,CACzC,CAAC,GACE,EACN,eAAM,EAAE,EAAC,mBAAmB,EAAC,KAAK,EAAC,aAAa,YAAE,IAAI,CAAC,kBAAkB,GAAQ,IAC7E,CACP,CACF,CAAC;AACJ,CAAC","sourcesContent":["import type Review from \"./Review.js\";\nimport UDExRatingIndicator from \"./RatingIndicator.js\";\nimport UI5Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport favorite from \"@ui5/webcomponents-icons/dist/favorite.js\";\n\nexport default function ReviewTemplate(this: Review) {\n const rootClass = \"udex-review\";\n\n return (\n this.isEmpty ? (\n <div className={`${rootClass}__empty-container`}>\n <slot className={`${rootClass}__default-text`} name=\"defaultText\"></slot>\n <slot name=\"reviewButton\"></slot>\n </div>\n ) : this.withoutBreakdown ? (\n <div className={`${rootClass}__container-without-breakdown`}>\n <div className={`${rootClass}__content-without-breakdown`}>\n <div\n className={`${rootClass}__rating`}\n aria-level={2}\n role=\"heading\"\n aria-hidden=\"true\">\n {this.validatedRating}\n </div>\n <div className={`${rootClass}__rating-info-without-breakdown`}>\n <UDExRatingIndicator\n value={this.validatedRating}\n max={this._maxRating}\n readonly>\n </UDExRatingIndicator>\n <div className={`${rootClass}__reviews-text`}>{this.reviewsText}</div>\n </div>\n </div>\n <div className={`${rootClass}__additional-content-without-breakdown`}>\n <slot className={`${rootClass}__default-text`} name=\"defaultText\"></slot>\n <slot name=\"reviewButton\"></slot>\n </div>\n </div>\n ) : (\n <div className={`${rootClass}__container`}>\n <div className={`${rootClass}__content`}>\n <div className={`${rootClass}__rating-info`}>\n <div\n className={`${rootClass}__rating`}\n aria-level={2}\n role=\"heading\"\n aria-hidden=\"true\">\n {this.validatedRating}\n </div>\n <UI5Icon\n aria-labelledby=\"ratingDescription\"\n role=\"img\"\n name={favorite}\n class={`${rootClass}__icon`}>\n </UI5Icon>\n </div>\n <div className={`${rootClass}__reviews-text`}>{this.reviewsText}</div>\n <slot name=\"reviewButton\"></slot>\n </div>\n <div className={`${rootClass}__additional-content`}>\n {this.validatedRatingBars.map(bar => (\n <slot name={bar._individualSlot}></slot>\n ))}\n </div>\n <span id=\"ratingDescription\" class=\"hidden-text\">{this._ratingDescription}</span>\n </div>\n )\n );\n}\n"]}
|
package/dist/TileTemplate.js
CHANGED
|
@@ -2,6 +2,6 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@ui5/webcompo
|
|
|
2
2
|
export default function TileTemplate() {
|
|
3
3
|
const rootClass = "udex-tile";
|
|
4
4
|
const part = "tile";
|
|
5
|
-
return (this.interactive ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "hidden", id: "tileDescription", children: this.accessibleName }), _jsx("a", { className: rootClass, part: part, href: this.href, target: this.target, role: "link", "aria-describedby": "tileDescription", onKeyDown: this._onkeydown, onClick: this._onclick, children: _jsx("slot", {}) })] })) : (_jsx("div", { className: rootClass, part: part, onClick: this._onclick, children: _jsx("slot", {}) })));
|
|
5
|
+
return (this.interactive ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "hidden", id: "tileDescription", children: this.accessibleName }), _jsx("a", { className: rootClass, part: part, tabindex: 0, href: this.href, target: this.target, role: "link", "aria-describedby": "tileDescription", onKeyDown: this._onkeydown, onClick: this._onclick, children: _jsx("slot", {}) })] })) : (_jsx("div", { className: rootClass, part: part, onClick: this._onclick, children: _jsx("slot", {}) })));
|
|
6
6
|
}
|
|
7
7
|
//# sourceMappingURL=TileTemplate.js.map
|