@ui5/webcomponents-fiori 2.22.0-rc.4 → 2.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/NavigationMenuItemTemplate.d.ts +2 -2
  4. package/dist/NavigationMenuItemTemplate.js.map +1 -1
  5. package/dist/Timeline.d.ts +3 -35
  6. package/dist/Timeline.js +4 -62
  7. package/dist/Timeline.js.map +1 -1
  8. package/dist/TimelineItem.d.ts +0 -2
  9. package/dist/TimelineItem.js +0 -2
  10. package/dist/TimelineItem.js.map +1 -1
  11. package/dist/TimelineTemplate.js +1 -1
  12. package/dist/TimelineTemplate.js.map +1 -1
  13. package/dist/UserMenuItem.d.ts +24 -0
  14. package/dist/UserMenuItem.js +52 -3
  15. package/dist/UserMenuItem.js.map +1 -1
  16. package/dist/UserMenuItemTemplate.js +10 -1
  17. package/dist/UserMenuItemTemplate.js.map +1 -1
  18. package/dist/ViewSettingsDialog.d.ts +12 -11
  19. package/dist/ViewSettingsDialog.js +26 -23
  20. package/dist/ViewSettingsDialog.js.map +1 -1
  21. package/dist/ViewSettingsDialogCustomTab.d.ts +5 -5
  22. package/dist/ViewSettingsDialogCustomTab.js +7 -7
  23. package/dist/ViewSettingsDialogCustomTab.js.map +1 -1
  24. package/dist/ViewSettingsDialogTemplate.js +2 -2
  25. package/dist/ViewSettingsDialogTemplate.js.map +1 -1
  26. package/dist/bundle.esm.js +0 -2
  27. package/dist/bundle.esm.js.map +1 -1
  28. package/dist/css/themes/Timeline.css +1 -1
  29. package/dist/css/themes/UserMenuItem.css +1 -1
  30. package/dist/custom-elements-internal.json +205 -694
  31. package/dist/custom-elements.json +109 -440
  32. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  33. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  34. package/dist/generated/i18n/i18n-defaults.d.ts +1 -11
  35. package/dist/generated/i18n/i18n-defaults.js +2 -12
  36. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  37. package/dist/generated/themes/Timeline.css.d.ts +1 -1
  38. package/dist/generated/themes/Timeline.css.js +1 -1
  39. package/dist/generated/themes/Timeline.css.js.map +1 -1
  40. package/dist/generated/themes/UserMenuItem.css.d.ts +1 -1
  41. package/dist/generated/themes/UserMenuItem.css.js +1 -1
  42. package/dist/generated/themes/UserMenuItem.css.js.map +1 -1
  43. package/dist/vscode.html-custom-data.json +17 -65
  44. package/dist/web-types.json +41 -195
  45. package/package.json +7 -7
  46. package/src/NavigationMenuItemTemplate.tsx +3 -3
  47. package/src/TimelineTemplate.tsx +0 -7
  48. package/src/UserMenuItemTemplate.tsx +19 -1
  49. package/src/ViewSettingsDialogTemplate.tsx +3 -3
  50. package/src/i18n/messagebundle.properties +1 -31
  51. package/src/i18n/messagebundle_en.properties +1 -1
  52. package/src/i18n/messagebundle_en_GB.properties +1 -1
  53. package/src/themes/Timeline.css +7 -21
  54. package/src/themes/UserMenuItem.css +37 -3
  55. package/dist/TimelineFilterOption.d.ts +0 -37
  56. package/dist/TimelineFilterOption.js +0 -59
  57. package/dist/TimelineFilterOption.js.map +0 -1
  58. package/dist/TimelineHeaderBar.d.ts +0 -114
  59. package/dist/TimelineHeaderBar.js +0 -264
  60. package/dist/TimelineHeaderBar.js.map +0 -1
  61. package/dist/TimelineHeaderBarTemplate.d.ts +0 -2
  62. package/dist/TimelineHeaderBarTemplate.js +0 -18
  63. package/dist/TimelineHeaderBarTemplate.js.map +0 -1
  64. package/dist/css/themes/TimelineHeaderBar.css +0 -1
  65. package/dist/generated/themes/TimelineHeaderBar.css.d.ts +0 -2
  66. package/dist/generated/themes/TimelineHeaderBar.css.js +0 -8
  67. package/dist/generated/themes/TimelineHeaderBar.css.js.map +0 -1
  68. package/dist/types/TimelineSortOrder.d.ts +0 -18
  69. package/dist/types/TimelineSortOrder.js +0 -20
  70. package/dist/types/TimelineSortOrder.js.map +0 -1
  71. package/src/TimelineHeaderBarTemplate.tsx +0 -104
  72. package/src/themes/TimelineHeaderBar.css +0 -17
@@ -1,264 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var TimelineHeaderBar_1;
8
- import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
9
- import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
10
- import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
- import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
12
- import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
13
- import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
14
- import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
15
- import Toolbar from "@ui5/webcomponents/dist/Toolbar.js";
16
- import ToolbarButton from "@ui5/webcomponents/dist/ToolbarButton.js";
17
- import ToolbarSpacer from "@ui5/webcomponents/dist/ToolbarSpacer.js";
18
- import Input from "@ui5/webcomponents/dist/Input.js";
19
- import Icon from "@ui5/webcomponents/dist/Icon.js";
20
- import Dialog from "@ui5/webcomponents/dist/Dialog.js";
21
- import List from "@ui5/webcomponents/dist/List.js";
22
- import ListItemStandard from "@ui5/webcomponents/dist/ListItemStandard.js";
23
- import Bar from "@ui5/webcomponents/dist/Bar.js";
24
- import Button from "@ui5/webcomponents/dist/Button.js";
25
- // Import icons to register them
26
- import "@ui5/webcomponents-icons/dist/sort-descending.js";
27
- import "@ui5/webcomponents-icons/dist/add-filter.js";
28
- import TimelineHeaderBarTemplate from "./TimelineHeaderBarTemplate.js";
29
- import TimelineHeaderBarCss from "./generated/themes/TimelineHeaderBar.css.js";
30
- import { TIMELINE_HEADER_BAR_ACCESSIBLE_NAME, TIMELINE_SEARCH_PLACEHOLDER, TIMELINE_SEARCH_ACCESSIBLE_NAME, TIMELINE_FILTER_ACCESSIBLE_NAME, TIMELINE_SORT_ASCENDING_TOOLTIP, TIMELINE_SORT_DESCENDING_TOOLTIP, TIMELINE_SORT_ACCESSIBLE_NAME, TIMELINE_FILTER_DIALOG_TITLE, TIMELINE_FILTER_DIALOG_OK, TIMELINE_FILTER_DIALOG_CANCEL, } from "./generated/i18n/i18n-defaults.js";
31
- /**
32
- * @class
33
- *
34
- * ### Overview
35
- *
36
- * The `ui5-timeline-header-bar` component provides search, filter, and sort functionality
37
- * for the `ui5-timeline` component. It is designed to be slotted into the `header-bar` slot
38
- * of the Timeline.
39
- *
40
- * ### Usage
41
- *
42
- * The component fires events (`search`, `filter`, `sort`) that the application should handle
43
- * to filter/sort the timeline items. The Timeline component itself does not perform any
44
- * filtering or sorting - this is the responsibility of the application.
45
- *
46
- * ### ES6 Module Import
47
- *
48
- * `import "@ui5/webcomponents-fiori/dist/TimelineHeaderBar.js";`
49
- *
50
- * @constructor
51
- * @extends UI5Element
52
- * @public
53
- * @since 2.22.0
54
- */
55
- let TimelineHeaderBar = TimelineHeaderBar_1 = class TimelineHeaderBar extends UI5Element {
56
- constructor() {
57
- super(...arguments);
58
- /**
59
- * Shows the search input field.
60
- * @default false
61
- * @public
62
- */
63
- this.showSearch = false;
64
- /**
65
- * Shows the filter button.
66
- * @default false
67
- * @public
68
- */
69
- this.showFilter = false;
70
- /**
71
- * Shows the sort button.
72
- * @default false
73
- * @public
74
- */
75
- this.showSort = false;
76
- /**
77
- * The current filter category label.
78
- * @default ""
79
- * @public
80
- */
81
- this.filterBy = "";
82
- /**
83
- * The current search value.
84
- * @default ""
85
- * @public
86
- */
87
- this.searchValue = "";
88
- /**
89
- * The current sort order.
90
- * @default "Ascending"
91
- * @public
92
- */
93
- this.sortOrder = "Ascending";
94
- /**
95
- * Controls the filter dialog visibility.
96
- * @private
97
- */
98
- this._filterDialogOpen = false;
99
- }
100
- get _headerBarAccessibleName() {
101
- return TimelineHeaderBar_1.i18nBundle.getText(TIMELINE_HEADER_BAR_ACCESSIBLE_NAME);
102
- }
103
- get _searchPlaceholder() {
104
- return TimelineHeaderBar_1.i18nBundle.getText(TIMELINE_SEARCH_PLACEHOLDER);
105
- }
106
- get _searchAccessibleName() {
107
- return TimelineHeaderBar_1.i18nBundle.getText(TIMELINE_SEARCH_ACCESSIBLE_NAME);
108
- }
109
- get _filterAccessibleName() {
110
- return TimelineHeaderBar_1.i18nBundle.getText(TIMELINE_FILTER_ACCESSIBLE_NAME);
111
- }
112
- get _sortAccessibleName() {
113
- return TimelineHeaderBar_1.i18nBundle.getText(TIMELINE_SORT_ACCESSIBLE_NAME);
114
- }
115
- get _sortTooltip() {
116
- if (this.sortOrder === "Descending") {
117
- return TimelineHeaderBar_1.i18nBundle.getText(TIMELINE_SORT_ASCENDING_TOOLTIP);
118
- }
119
- return TimelineHeaderBar_1.i18nBundle.getText(TIMELINE_SORT_DESCENDING_TOOLTIP);
120
- }
121
- get _sortIcon() {
122
- return "sort-descending";
123
- }
124
- get _filterIcon() {
125
- return "add-filter";
126
- }
127
- get _filterDialogTitle() {
128
- return TimelineHeaderBar_1.i18nBundle.getText(TIMELINE_FILTER_DIALOG_TITLE);
129
- }
130
- get _filterDialogOkText() {
131
- return TimelineHeaderBar_1.i18nBundle.getText(TIMELINE_FILTER_DIALOG_OK);
132
- }
133
- get _filterDialogCancelText() {
134
- return TimelineHeaderBar_1.i18nBundle.getText(TIMELINE_FILTER_DIALOG_CANCEL);
135
- }
136
- _onSearchInput(e) {
137
- const value = e.target.value;
138
- this.searchValue = value;
139
- this.fireDecoratorEvent("search", { value });
140
- }
141
- _onFilterClick() {
142
- this._filterDialogOpen = true;
143
- }
144
- _onFilterDialogConfirm() {
145
- // Read selected state from the list items in the dialog
146
- const list = this.shadowRoot.querySelector(".ui5-timeline-filter-list");
147
- if (list) {
148
- const selectedItems = list.getSelectedItems();
149
- const selectedTexts = selectedItems.map(item => item.textContent?.trim() || "");
150
- // Update the TimelineFilterOption elements to match the dialog selection
151
- this.filterOptions.forEach(option => {
152
- option.selected = selectedTexts.includes(option.text);
153
- });
154
- }
155
- const selectedOptions = this.filterOptions
156
- .filter(option => option.selected)
157
- .map(option => option.text);
158
- this.fireDecoratorEvent("filter", {
159
- filterBy: this.filterBy,
160
- selectedOptions,
161
- });
162
- this._filterDialogOpen = false;
163
- }
164
- _onFilterDialogCancel() {
165
- this._filterDialogOpen = false;
166
- }
167
- _onFilterDialogClose() {
168
- this._filterDialogOpen = false;
169
- }
170
- _onSortClick() {
171
- // Toggle sort order: Ascending -> Descending -> Ascending
172
- if (this.sortOrder === "Ascending") {
173
- this.sortOrder = "Descending";
174
- }
175
- else {
176
- this.sortOrder = "Ascending";
177
- }
178
- this.fireDecoratorEvent("sort", {
179
- sortOrder: this.sortOrder,
180
- });
181
- }
182
- };
183
- __decorate([
184
- property({ type: Boolean })
185
- ], TimelineHeaderBar.prototype, "showSearch", void 0);
186
- __decorate([
187
- property({ type: Boolean })
188
- ], TimelineHeaderBar.prototype, "showFilter", void 0);
189
- __decorate([
190
- property({ type: Boolean })
191
- ], TimelineHeaderBar.prototype, "showSort", void 0);
192
- __decorate([
193
- property()
194
- ], TimelineHeaderBar.prototype, "filterBy", void 0);
195
- __decorate([
196
- property()
197
- ], TimelineHeaderBar.prototype, "searchValue", void 0);
198
- __decorate([
199
- property()
200
- ], TimelineHeaderBar.prototype, "sortOrder", void 0);
201
- __decorate([
202
- property({ type: Boolean, noAttribute: true })
203
- ], TimelineHeaderBar.prototype, "_filterDialogOpen", void 0);
204
- __decorate([
205
- slot({ type: HTMLElement, "default": true, invalidateOnChildChange: true })
206
- ], TimelineHeaderBar.prototype, "filterOptions", void 0);
207
- __decorate([
208
- i18n("@ui5/webcomponents-fiori")
209
- ], TimelineHeaderBar, "i18nBundle", void 0);
210
- TimelineHeaderBar = TimelineHeaderBar_1 = __decorate([
211
- customElement({
212
- tag: "ui5-timeline-header-bar",
213
- languageAware: true,
214
- renderer: jsxRenderer,
215
- template: TimelineHeaderBarTemplate,
216
- styles: TimelineHeaderBarCss,
217
- dependencies: [
218
- Toolbar,
219
- ToolbarButton,
220
- ToolbarSpacer,
221
- Input,
222
- Icon,
223
- Dialog,
224
- List,
225
- ListItemStandard,
226
- Bar,
227
- Button,
228
- ],
229
- })
230
- /**
231
- * Fired when the user performs a search.
232
- *
233
- * @param {string} value The search value entered by the user.
234
- * @public
235
- */
236
- ,
237
- event("search", {
238
- bubbles: true,
239
- })
240
- /**
241
- * Fired when the user changes filter selection.
242
- *
243
- * @param {string} filterBy The filter category.
244
- * @param {string[]} selectedOptions The selected filter option texts.
245
- * @public
246
- */
247
- ,
248
- event("filter", {
249
- bubbles: true,
250
- })
251
- /**
252
- * Fired when the user changes sort order.
253
- *
254
- * @param {string} sortOrder The sort order ("Ascending" or "Descending").
255
- * @public
256
- */
257
- ,
258
- event("sort", {
259
- bubbles: true,
260
- })
261
- ], TimelineHeaderBar);
262
- TimelineHeaderBar.define();
263
- export default TimelineHeaderBar;
264
- //# sourceMappingURL=TimelineHeaderBar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimelineHeaderBar.js","sourceRoot":"","sources":["../src/TimelineHeaderBar.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot } 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-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Toolbar from \"@ui5/webcomponents/dist/Toolbar.js\";\nimport ToolbarButton from \"@ui5/webcomponents/dist/ToolbarButton.js\";\nimport ToolbarSpacer from \"@ui5/webcomponents/dist/ToolbarSpacer.js\";\nimport Input from \"@ui5/webcomponents/dist/Input.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport Dialog from \"@ui5/webcomponents/dist/Dialog.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport ListItemStandard from \"@ui5/webcomponents/dist/ListItemStandard.js\";\nimport Bar from \"@ui5/webcomponents/dist/Bar.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport type TimelineSortOrder from \"./types/TimelineSortOrder.js\";\nimport type TimelineFilterOption from \"./TimelineFilterOption.js\";\n\n// Import icons to register them\nimport \"@ui5/webcomponents-icons/dist/sort-descending.js\";\nimport \"@ui5/webcomponents-icons/dist/add-filter.js\";\n\nimport TimelineHeaderBarTemplate from \"./TimelineHeaderBarTemplate.js\";\nimport TimelineHeaderBarCss from \"./generated/themes/TimelineHeaderBar.css.js\";\n\nimport {\n\tTIMELINE_HEADER_BAR_ACCESSIBLE_NAME,\n\tTIMELINE_SEARCH_PLACEHOLDER,\n\tTIMELINE_SEARCH_ACCESSIBLE_NAME,\n\tTIMELINE_FILTER_ACCESSIBLE_NAME,\n\tTIMELINE_SORT_ASCENDING_TOOLTIP,\n\tTIMELINE_SORT_DESCENDING_TOOLTIP,\n\tTIMELINE_SORT_ACCESSIBLE_NAME,\n\tTIMELINE_FILTER_DIALOG_TITLE,\n\tTIMELINE_FILTER_DIALOG_OK,\n\tTIMELINE_FILTER_DIALOG_CANCEL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\ntype TimelineHeaderBarSearchEventDetail = {\n\tvalue: string;\n};\n\ntype TimelineHeaderBarFilterEventDetail = {\n\tfilterBy: string;\n\tselectedOptions: string[];\n};\n\ntype TimelineHeaderBarSortEventDetail = {\n\tsortOrder: string;\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-timeline-header-bar` component provides search, filter, and sort functionality\n * for the `ui5-timeline` component. It is designed to be slotted into the `header-bar` slot\n * of the Timeline.\n *\n * ### Usage\n *\n * The component fires events (`search`, `filter`, `sort`) that the application should handle\n * to filter/sort the timeline items. The Timeline component itself does not perform any\n * filtering or sorting - this is the responsibility of the application.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/TimelineHeaderBar.js\";`\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 2.22.0\n */\n@customElement({\n\ttag: \"ui5-timeline-header-bar\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: TimelineHeaderBarTemplate,\n\tstyles: TimelineHeaderBarCss,\n\tdependencies: [\n\t\tToolbar,\n\t\tToolbarButton,\n\t\tToolbarSpacer,\n\t\tInput,\n\t\tIcon,\n\t\tDialog,\n\t\tList,\n\t\tListItemStandard,\n\t\tBar,\n\t\tButton,\n\t],\n})\n\n/**\n * Fired when the user performs a search.\n *\n * @param {string} value The search value entered by the user.\n * @public\n */\n@event(\"search\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the user changes filter selection.\n *\n * @param {string} filterBy The filter category.\n * @param {string[]} selectedOptions The selected filter option texts.\n * @public\n */\n@event(\"filter\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the user changes sort order.\n *\n * @param {string} sortOrder The sort order (\"Ascending\" or \"Descending\").\n * @public\n */\n@event(\"sort\", {\n\tbubbles: true,\n})\n\nclass TimelineHeaderBar extends UI5Element {\n\teventDetails!: {\n\t\t\"search\": TimelineHeaderBarSearchEventDetail,\n\t\t\"filter\": TimelineHeaderBarFilterEventDetail,\n\t\t\"sort\": TimelineHeaderBarSortEventDetail,\n\t};\n\n\t/**\n\t * Shows the search input field.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowSearch = false;\n\n\t/**\n\t * Shows the filter button.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowFilter = false;\n\n\t/**\n\t * Shows the sort button.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowSort = false;\n\n\t/**\n\t * The current filter category label.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tfilterBy = \"\";\n\n\t/**\n\t * The current search value.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tsearchValue = \"\";\n\n\t/**\n\t * The current sort order.\n\t * @default \"Ascending\"\n\t * @public\n\t */\n\t@property()\n\tsortOrder: `${TimelineSortOrder}` = \"Ascending\";\n\n\t/**\n\t * Controls the filter dialog visibility.\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_filterDialogOpen = false;\n\n\t/**\n\t * Filter options to display in the filter dialog.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true, invalidateOnChildChange: true })\n\tfilterOptions!: Slot<TimelineFilterOption>;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget _headerBarAccessibleName() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_HEADER_BAR_ACCESSIBLE_NAME);\n\t}\n\n\tget _searchPlaceholder() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_SEARCH_PLACEHOLDER);\n\t}\n\n\tget _searchAccessibleName() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_SEARCH_ACCESSIBLE_NAME);\n\t}\n\n\tget _filterAccessibleName() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_FILTER_ACCESSIBLE_NAME);\n\t}\n\n\tget _sortAccessibleName() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_SORT_ACCESSIBLE_NAME);\n\t}\n\n\tget _sortTooltip() {\n\t\tif (this.sortOrder === \"Descending\") {\n\t\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_SORT_ASCENDING_TOOLTIP);\n\t\t}\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_SORT_DESCENDING_TOOLTIP);\n\t}\n\n\tget _sortIcon() {\n\t\treturn \"sort-descending\";\n\t}\n\n\tget _filterIcon() {\n\t\treturn \"add-filter\";\n\t}\n\n\tget _filterDialogTitle() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_FILTER_DIALOG_TITLE);\n\t}\n\n\tget _filterDialogOkText() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_FILTER_DIALOG_OK);\n\t}\n\n\tget _filterDialogCancelText() {\n\t\treturn TimelineHeaderBar.i18nBundle.getText(TIMELINE_FILTER_DIALOG_CANCEL);\n\t}\n\n\t_onSearchInput(e: CustomEvent) {\n\t\tconst value = (e.target as Input).value;\n\t\tthis.searchValue = value;\n\t\tthis.fireDecoratorEvent(\"search\", { value });\n\t}\n\n\t_onFilterClick() {\n\t\tthis._filterDialogOpen = true;\n\t}\n\n\t_onFilterDialogConfirm() {\n\t\t// Read selected state from the list items in the dialog\n\t\tconst list = this.shadowRoot!.querySelector<List>(\".ui5-timeline-filter-list\");\n\t\tif (list) {\n\t\t\tconst selectedItems = list.getSelectedItems();\n\t\t\tconst selectedTexts = selectedItems.map(item => item.textContent?.trim() || \"\");\n\n\t\t\t// Update the TimelineFilterOption elements to match the dialog selection\n\t\t\tthis.filterOptions.forEach(option => {\n\t\t\t\toption.selected = selectedTexts.includes(option.text);\n\t\t\t});\n\t\t}\n\n\t\tconst selectedOptions = this.filterOptions\n\t\t\t.filter(option => option.selected)\n\t\t\t.map(option => option.text);\n\n\t\tthis.fireDecoratorEvent(\"filter\", {\n\t\t\tfilterBy: this.filterBy,\n\t\t\tselectedOptions,\n\t\t});\n\n\t\tthis._filterDialogOpen = false;\n\t}\n\n\t_onFilterDialogCancel() {\n\t\tthis._filterDialogOpen = false;\n\t}\n\n\t_onFilterDialogClose() {\n\t\tthis._filterDialogOpen = false;\n\t}\n\n\t_onSortClick() {\n\t\t// Toggle sort order: Ascending -> Descending -> Ascending\n\t\tif (this.sortOrder === \"Ascending\") {\n\t\t\tthis.sortOrder = \"Descending\";\n\t\t} else {\n\t\t\tthis.sortOrder = \"Ascending\";\n\t\t}\n\n\t\tthis.fireDecoratorEvent(\"sort\", {\n\t\t\tsortOrder: this.sortOrder,\n\t\t});\n\t}\n}\n\nTimelineHeaderBar.define();\n\nexport default TimelineHeaderBar;\nexport type {\n\tTimelineHeaderBarSearchEventDetail,\n\tTimelineHeaderBarFilterEventDetail,\n\tTimelineHeaderBarSortEventDetail,\n};\n"]}
@@ -1,2 +0,0 @@
1
- import type TimelineHeaderBar from "./TimelineHeaderBar.js";
2
- export default function TimelineHeaderBarTemplate(this: TimelineHeaderBar): import("@ui5/webcomponents-base/jsx-runtime").JSX.Element;
@@ -1,18 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ui5/webcomponents-base/jsx-runtime";
2
- import Toolbar from "@ui5/webcomponents/dist/Toolbar.js";
3
- import ToolbarButton from "@ui5/webcomponents/dist/ToolbarButton.js";
4
- import ToolbarSpacer from "@ui5/webcomponents/dist/ToolbarSpacer.js";
5
- import Input from "@ui5/webcomponents/dist/Input.js";
6
- import Icon from "@ui5/webcomponents/dist/Icon.js";
7
- import Dialog from "@ui5/webcomponents/dist/Dialog.js";
8
- import List from "@ui5/webcomponents/dist/List.js";
9
- import ListItemStandard from "@ui5/webcomponents/dist/ListItemStandard.js";
10
- import Bar from "@ui5/webcomponents/dist/Bar.js";
11
- import Button from "@ui5/webcomponents/dist/Button.js";
12
- import searchIcon from "@ui5/webcomponents-icons/dist/search.js";
13
- import sortDescending from "@ui5/webcomponents-icons/dist/sort-descending.js";
14
- import addFilter from "@ui5/webcomponents-icons/dist/add-filter.js";
15
- export default function TimelineHeaderBarTemplate() {
16
- return (_jsxs(_Fragment, { children: [_jsxs(Toolbar, { class: "ui5-timeline-header-bar-toolbar", accessibleName: this._headerBarAccessibleName, children: [_jsx(ToolbarSpacer, {}), this.showSearch && (_jsx(Input, { class: "ui5-timeline-header-bar-search", placeholder: this._searchPlaceholder, value: this.searchValue, showClearIcon: true, accessibleName: this._searchAccessibleName, onInput: this._onSearchInput, children: _jsx(Icon, { slot: "icon", name: searchIcon }) })), this.showSort && (_jsx(ToolbarButton, { icon: sortDescending, design: "Transparent", tooltip: this._sortTooltip, accessibleName: this._sortAccessibleName, onClick: this._onSortClick })), this.showFilter && (_jsx(ToolbarButton, { icon: addFilter, design: "Transparent", tooltip: this._filterAccessibleName, accessibleName: this._filterAccessibleName, onClick: this._onFilterClick }))] }), this.showFilter && (_jsxs(Dialog, { class: "ui5-timeline-filter-dialog", headerText: this._filterDialogTitle, open: this._filterDialogOpen, onClose: this._onFilterDialogClose, children: [_jsx(List, { selectionMode: "Multiple", class: "ui5-timeline-filter-list", children: this.filterOptions.map(option => (_jsx(ListItemStandard, { selected: option.selected, "data-filter-text": option.text, children: option.text }, option.text))) }), _jsxs(Bar, { slot: "footer", design: "Footer", children: [_jsx(Button, { slot: "endContent", design: "Emphasized", onClick: this._onFilterDialogConfirm, children: this._filterDialogOkText }), _jsx(Button, { slot: "endContent", design: "Transparent", onClick: this._onFilterDialogCancel, children: this._filterDialogCancelText })] })] }))] }));
17
- }
18
- //# sourceMappingURL=TimelineHeaderBarTemplate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimelineHeaderBarTemplate.js","sourceRoot":"","sources":["../src/TimelineHeaderBarTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,OAAO,MAAM,oCAAoC,CAAC;AACzD,OAAO,aAAa,MAAM,0CAA0C,CAAC;AACrE,OAAO,aAAa,MAAM,0CAA0C,CAAC;AACrE,OAAO,KAAK,MAAM,kCAAkC,CAAC;AACrD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,gBAAgB,MAAM,6CAA6C,CAAC;AAC3E,OAAO,GAAG,MAAM,gCAAgC,CAAC;AACjD,OAAO,MAAM,MAAM,mCAAmC,CAAC;AAEvD,OAAO,UAAU,MAAM,yCAAyC,CAAC;AACjE,OAAO,cAAc,MAAM,kDAAkD,CAAC;AAC9E,OAAO,SAAS,MAAM,6CAA6C,CAAC;AAEpE,MAAM,CAAC,OAAO,UAAU,yBAAyB;IAChD,OAAO,CAAC,8BACP,MAAC,OAAO,IACP,KAAK,EAAC,iCAAiC,EACvC,cAAc,EAAE,IAAI,CAAC,wBAAwB,aAG7C,KAAC,aAAa,KAAG,EAGhB,IAAI,CAAC,UAAU,IAAI,CACnB,KAAC,KAAK,IACL,KAAK,EAAC,gCAAgC,EACtC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EACpC,KAAK,EAAE,IAAI,CAAC,WAAW,EACvB,aAAa,EAAE,IAAI,EACnB,cAAc,EAAE,IAAI,CAAC,qBAAqB,EAC1C,OAAO,EAAE,IAAI,CAAC,cAAc,YAE5B,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAE,UAAU,GAAI,GAC/B,CACR,EAGA,IAAI,CAAC,QAAQ,IAAI,CACjB,KAAC,aAAa,IACb,IAAI,EAAE,cAAc,EACpB,MAAM,EAAC,aAAa,EACpB,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,cAAc,EAAE,IAAI,CAAC,mBAAmB,EACxC,OAAO,EAAE,IAAI,CAAC,YAAY,GACzB,CACF,EAGA,IAAI,CAAC,UAAU,IAAI,CACnB,KAAC,aAAa,IACb,IAAI,EAAE,SAAS,EACf,MAAM,EAAC,aAAa,EACpB,OAAO,EAAE,IAAI,CAAC,qBAAqB,EACnC,cAAc,EAAE,IAAI,CAAC,qBAAqB,EAC1C,OAAO,EAAE,IAAI,CAAC,cAAc,GAC3B,CACF,IACQ,EAGT,IAAI,CAAC,UAAU,IAAI,CACnB,MAAC,MAAM,IACN,KAAK,EAAC,4BAA4B,EAClC,UAAU,EAAE,IAAI,CAAC,kBAAkB,EACnC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAC5B,OAAO,EAAE,IAAI,CAAC,oBAAoB,aAElC,KAAC,IAAI,IACJ,aAAa,EAAC,UAAU,EACxB,KAAK,EAAC,0BAA0B,YAE/B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CACjC,KAAC,gBAAgB,IAEhB,QAAQ,EAAE,MAAM,CAAC,QAAQ,sBACP,MAAM,CAAC,IAAI,YAE5B,MAAM,CAAC,IAAI,IAJP,MAAM,CAAC,IAAI,CAKE,CACnB,CAAC,GACI,EAEP,MAAC,GAAG,IAAC,IAAI,EAAC,QAAQ,EAAC,MAAM,EAAC,QAAQ,aACjC,KAAC,MAAM,IACN,IAAI,EAAC,YAAY,EACjB,MAAM,EAAC,YAAY,EACnB,OAAO,EAAE,IAAI,CAAC,sBAAsB,YAEnC,IAAI,CAAC,mBAAmB,GACjB,EACT,KAAC,MAAM,IACN,IAAI,EAAC,YAAY,EACjB,MAAM,EAAC,aAAa,EACpB,OAAO,EAAE,IAAI,CAAC,qBAAqB,YAElC,IAAI,CAAC,uBAAuB,GACrB,IACJ,IACE,CACT,IACC,CAAC,CAAC;AACN,CAAC","sourcesContent":["import Toolbar from \"@ui5/webcomponents/dist/Toolbar.js\";\nimport ToolbarButton from \"@ui5/webcomponents/dist/ToolbarButton.js\";\nimport ToolbarSpacer from \"@ui5/webcomponents/dist/ToolbarSpacer.js\";\nimport Input from \"@ui5/webcomponents/dist/Input.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport Dialog from \"@ui5/webcomponents/dist/Dialog.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport ListItemStandard from \"@ui5/webcomponents/dist/ListItemStandard.js\";\nimport Bar from \"@ui5/webcomponents/dist/Bar.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport type TimelineHeaderBar from \"./TimelineHeaderBar.js\";\nimport searchIcon from \"@ui5/webcomponents-icons/dist/search.js\";\nimport sortDescending from \"@ui5/webcomponents-icons/dist/sort-descending.js\";\nimport addFilter from \"@ui5/webcomponents-icons/dist/add-filter.js\";\n\nexport default function TimelineHeaderBarTemplate(this: TimelineHeaderBar) {\n\treturn (<>\n\t\t<Toolbar\n\t\t\tclass=\"ui5-timeline-header-bar-toolbar\"\n\t\t\taccessibleName={this._headerBarAccessibleName}\n\t\t>\n\t\t\t{/* Spacer pushes all controls to the end */}\n\t\t\t<ToolbarSpacer />\n\n\t\t\t{/* Search Input */}\n\t\t\t{this.showSearch && (\n\t\t\t\t<Input\n\t\t\t\t\tclass=\"ui5-timeline-header-bar-search\"\n\t\t\t\t\tplaceholder={this._searchPlaceholder}\n\t\t\t\t\tvalue={this.searchValue}\n\t\t\t\t\tshowClearIcon={true}\n\t\t\t\t\taccessibleName={this._searchAccessibleName}\n\t\t\t\t\tonInput={this._onSearchInput}\n\t\t\t\t>\n\t\t\t\t\t<Icon slot=\"icon\" name={searchIcon} />\n\t\t\t\t</Input>\n\t\t\t)}\n\n\t\t\t{/* Sort Button */}\n\t\t\t{this.showSort && (\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={sortDescending}\n\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\ttooltip={this._sortTooltip}\n\t\t\t\t\taccessibleName={this._sortAccessibleName}\n\t\t\t\t\tonClick={this._onSortClick}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{/* Filter Button */}\n\t\t\t{this.showFilter && (\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={addFilter}\n\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\ttooltip={this._filterAccessibleName}\n\t\t\t\t\taccessibleName={this._filterAccessibleName}\n\t\t\t\t\tonClick={this._onFilterClick}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</Toolbar>\n\n\t\t{/* Filter Dialog */}\n\t\t{this.showFilter && (\n\t\t\t<Dialog\n\t\t\t\tclass=\"ui5-timeline-filter-dialog\"\n\t\t\t\theaderText={this._filterDialogTitle}\n\t\t\t\topen={this._filterDialogOpen}\n\t\t\t\tonClose={this._onFilterDialogClose}\n\t\t\t>\n\t\t\t\t<List\n\t\t\t\t\tselectionMode=\"Multiple\"\n\t\t\t\t\tclass=\"ui5-timeline-filter-list\"\n\t\t\t\t>\n\t\t\t\t\t{this.filterOptions.map(option => (\n\t\t\t\t\t\t<ListItemStandard\n\t\t\t\t\t\t\tkey={option.text}\n\t\t\t\t\t\t\tselected={option.selected}\n\t\t\t\t\t\t\tdata-filter-text={option.text}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{option.text}\n\t\t\t\t\t\t</ListItemStandard>\n\t\t\t\t\t))}\n\t\t\t\t</List>\n\n\t\t\t\t<Bar slot=\"footer\" design=\"Footer\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tslot=\"endContent\"\n\t\t\t\t\t\tdesign=\"Emphasized\"\n\t\t\t\t\t\tonClick={this._onFilterDialogConfirm}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this._filterDialogOkText}\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tslot=\"endContent\"\n\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\tonClick={this._onFilterDialogCancel}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this._filterDialogCancelText}\n\t\t\t\t\t</Button>\n\t\t\t\t</Bar>\n\t\t\t</Dialog>\n\t\t)}\n\t</>);\n}\n"]}
@@ -1 +0,0 @@
1
- :host{display:block;--_ui5_timeline_header_bar_search_max_width: 16rem;--_ui5_timeline_filter_dialog_min_width: 20rem}.ui5-timeline-header-bar-search{max-width:var(--_ui5_timeline_header_bar_search_max_width)}.ui5-timeline-filter-dialog{min-width:var(--_ui5_timeline_filter_dialog_min_width)}.ui5-timeline-filter-list{width:100%}
@@ -1,2 +0,0 @@
1
- declare const _default: ":host{display:block;--_ui5_timeline_header_bar_search_max_width: 16rem;--_ui5_timeline_filter_dialog_min_width: 20rem}.ui5-timeline-header-bar-search{max-width:var(--_ui5_timeline_header_bar_search_max_width)}.ui5-timeline-filter-dialog{min-width:var(--_ui5_timeline_filter_dialog_min_width)}.ui5-timeline-filter-list{width:100%}\n";
2
- export default _default;
@@ -1,8 +0,0 @@
1
- import { registerThemePropertiesLoader } from "@ui5/webcomponents-base/dist/asset-registries/Themes.js";
2
- import defaultThemeBase from "@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js";
3
- import defaultTheme from "./sap_horizon/parameters-bundle.css.js";
4
- registerThemePropertiesLoader("@" + "ui5" + "/" + "webcomponents-theming", "sap_horizon", async () => defaultThemeBase);
5
- registerThemePropertiesLoader("@" + "u" + "i" + "5" + "/" + "w" + "e" + "b" + "c" + "o" + "m" + "p" + "o" + "n" + "e" + "n" + "t" + "s" + "-" + "f" + "i" + "o" + "r" + "i", "sap_horizon", async () => defaultTheme, "host");
6
- export default `:host{display:block;--_ui5_timeline_header_bar_search_max_width: 16rem;--_ui5_timeline_filter_dialog_min_width: 20rem}.ui5-timeline-header-bar-search{max-width:var(--_ui5_timeline_header_bar_search_max_width)}.ui5-timeline-filter-dialog{min-width:var(--_ui5_timeline_filter_dialog_min_width)}.ui5-timeline-filter-list{width:100%}
7
- `;
8
- //# sourceMappingURL=TimelineHeaderBar.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimelineHeaderBar.css.js","sourceRoot":"","sources":["../../../src/generated/themes/TimelineHeaderBar.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,yDAAyD,CAAC;AAExG,OAAO,gBAAgB,MAAM,uFAAuF,CAAC;AACrH,OAAO,YAAY,MAAM,wCAAwC,CAAC;AAElE,6BAA6B,CAAC,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,EAAE,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,gBAAgB,CAAC,CAAC;AACxH,6BAA6B,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAC9N,eAAe;CACd,CAAA","sourcesContent":["import { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@\" + \"ui5\" + \"/\" + \"webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@\" + \"u\" + \"i\" + \"5\" + \"/\" + \"w\" + \"e\" + \"b\" + \"c\" + \"o\" + \"m\" + \"p\" + \"o\" + \"n\" + \"e\" + \"n\" + \"t\" + \"s\" + \"-\" + \"f\" + \"i\" + \"o\" + \"r\" + \"i\", \"sap_horizon\", async () => defaultTheme, \"host\");\nexport default `:host{display:block;--_ui5_timeline_header_bar_search_max_width: 16rem;--_ui5_timeline_filter_dialog_min_width: 20rem}.ui5-timeline-header-bar-search{max-width:var(--_ui5_timeline_header_bar_search_max_width)}.ui5-timeline-filter-dialog{min-width:var(--_ui5_timeline_filter_dialog_min_width)}.ui5-timeline-filter-list{width:100%}\n`"]}
@@ -1,18 +0,0 @@
1
- /**
2
- * Sort order for Timeline items.
3
- * @public
4
- * @since 2.22.0
5
- */
6
- declare enum TimelineSortOrder {
7
- /**
8
- * Ascending order (oldest first).
9
- * @public
10
- */
11
- Ascending = "Ascending",
12
- /**
13
- * Descending order (newest first).
14
- * @public
15
- */
16
- Descending = "Descending"
17
- }
18
- export default TimelineSortOrder;
@@ -1,20 +0,0 @@
1
- /**
2
- * Sort order for Timeline items.
3
- * @public
4
- * @since 2.22.0
5
- */
6
- var TimelineSortOrder;
7
- (function (TimelineSortOrder) {
8
- /**
9
- * Ascending order (oldest first).
10
- * @public
11
- */
12
- TimelineSortOrder["Ascending"] = "Ascending";
13
- /**
14
- * Descending order (newest first).
15
- * @public
16
- */
17
- TimelineSortOrder["Descending"] = "Descending";
18
- })(TimelineSortOrder || (TimelineSortOrder = {}));
19
- export default TimelineSortOrder;
20
- //# sourceMappingURL=TimelineSortOrder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimelineSortOrder.js","sourceRoot":"","sources":["../../src/types/TimelineSortOrder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,IAAK,iBAYJ;AAZD,WAAK,iBAAiB;IACrB;;;OAGG;IACH,4CAAuB,CAAA;IAEvB;;;OAGG;IACH,8CAAyB,CAAA;AAC1B,CAAC,EAZI,iBAAiB,KAAjB,iBAAiB,QAYrB;AAED,eAAe,iBAAiB,CAAC","sourcesContent":["/**\n * Sort order for Timeline items.\n * @public\n * @since 2.22.0\n */\nenum TimelineSortOrder {\n\t/**\n\t * Ascending order (oldest first).\n\t * @public\n\t */\n\tAscending = \"Ascending\",\n\n\t/**\n\t * Descending order (newest first).\n\t * @public\n\t */\n\tDescending = \"Descending\",\n}\n\nexport default TimelineSortOrder;\n"]}
@@ -1,104 +0,0 @@
1
- import Toolbar from "@ui5/webcomponents/dist/Toolbar.js";
2
- import ToolbarButton from "@ui5/webcomponents/dist/ToolbarButton.js";
3
- import ToolbarSpacer from "@ui5/webcomponents/dist/ToolbarSpacer.js";
4
- import Input from "@ui5/webcomponents/dist/Input.js";
5
- import Icon from "@ui5/webcomponents/dist/Icon.js";
6
- import Dialog from "@ui5/webcomponents/dist/Dialog.js";
7
- import List from "@ui5/webcomponents/dist/List.js";
8
- import ListItemStandard from "@ui5/webcomponents/dist/ListItemStandard.js";
9
- import Bar from "@ui5/webcomponents/dist/Bar.js";
10
- import Button from "@ui5/webcomponents/dist/Button.js";
11
- import type TimelineHeaderBar from "./TimelineHeaderBar.js";
12
- import searchIcon from "@ui5/webcomponents-icons/dist/search.js";
13
- import sortDescending from "@ui5/webcomponents-icons/dist/sort-descending.js";
14
- import addFilter from "@ui5/webcomponents-icons/dist/add-filter.js";
15
-
16
- export default function TimelineHeaderBarTemplate(this: TimelineHeaderBar) {
17
- return (<>
18
- <Toolbar
19
- class="ui5-timeline-header-bar-toolbar"
20
- accessibleName={this._headerBarAccessibleName}
21
- >
22
- {/* Spacer pushes all controls to the end */}
23
- <ToolbarSpacer />
24
-
25
- {/* Search Input */}
26
- {this.showSearch && (
27
- <Input
28
- class="ui5-timeline-header-bar-search"
29
- placeholder={this._searchPlaceholder}
30
- value={this.searchValue}
31
- showClearIcon={true}
32
- accessibleName={this._searchAccessibleName}
33
- onInput={this._onSearchInput}
34
- >
35
- <Icon slot="icon" name={searchIcon} />
36
- </Input>
37
- )}
38
-
39
- {/* Sort Button */}
40
- {this.showSort && (
41
- <ToolbarButton
42
- icon={sortDescending}
43
- design="Transparent"
44
- tooltip={this._sortTooltip}
45
- accessibleName={this._sortAccessibleName}
46
- onClick={this._onSortClick}
47
- />
48
- )}
49
-
50
- {/* Filter Button */}
51
- {this.showFilter && (
52
- <ToolbarButton
53
- icon={addFilter}
54
- design="Transparent"
55
- tooltip={this._filterAccessibleName}
56
- accessibleName={this._filterAccessibleName}
57
- onClick={this._onFilterClick}
58
- />
59
- )}
60
- </Toolbar>
61
-
62
- {/* Filter Dialog */}
63
- {this.showFilter && (
64
- <Dialog
65
- class="ui5-timeline-filter-dialog"
66
- headerText={this._filterDialogTitle}
67
- open={this._filterDialogOpen}
68
- onClose={this._onFilterDialogClose}
69
- >
70
- <List
71
- selectionMode="Multiple"
72
- class="ui5-timeline-filter-list"
73
- >
74
- {this.filterOptions.map(option => (
75
- <ListItemStandard
76
- key={option.text}
77
- selected={option.selected}
78
- data-filter-text={option.text}
79
- >
80
- {option.text}
81
- </ListItemStandard>
82
- ))}
83
- </List>
84
-
85
- <Bar slot="footer" design="Footer">
86
- <Button
87
- slot="endContent"
88
- design="Emphasized"
89
- onClick={this._onFilterDialogConfirm}
90
- >
91
- {this._filterDialogOkText}
92
- </Button>
93
- <Button
94
- slot="endContent"
95
- design="Transparent"
96
- onClick={this._onFilterDialogCancel}
97
- >
98
- {this._filterDialogCancelText}
99
- </Button>
100
- </Bar>
101
- </Dialog>
102
- )}
103
- </>);
104
- }
@@ -1,17 +0,0 @@
1
- :host {
2
- display: block;
3
- --_ui5_timeline_header_bar_search_max_width: 16rem;
4
- --_ui5_timeline_filter_dialog_min_width: 20rem;
5
- }
6
-
7
- .ui5-timeline-header-bar-search {
8
- max-width: var(--_ui5_timeline_header_bar_search_max_width);
9
- }
10
-
11
- .ui5-timeline-filter-dialog {
12
- min-width: var(--_ui5_timeline_filter_dialog_min_width);
13
- }
14
-
15
- .ui5-timeline-filter-list {
16
- width: 100%;
17
- }