@ui5/webcomponents-fiori 2.27.0-rc.0 → 2.27.0-rc.2

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 (209) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +3 -0
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/DynamicPage.d.ts +1 -0
  5. package/dist/DynamicPage.js +5 -0
  6. package/dist/DynamicPage.js.map +1 -1
  7. package/dist/DynamicPageTemplate.js +2 -2
  8. package/dist/DynamicPageTemplate.js.map +1 -1
  9. package/dist/FlexibleColumnLayout.d.ts +1 -0
  10. package/dist/FlexibleColumnLayout.js +3 -0
  11. package/dist/FlexibleColumnLayout.js.map +1 -1
  12. package/dist/FlexibleColumnLayoutTemplate.js +3 -3
  13. package/dist/FlexibleColumnLayoutTemplate.js.map +1 -1
  14. package/dist/Search.d.ts +21 -0
  15. package/dist/Search.js +49 -9
  16. package/dist/Search.js.map +1 -1
  17. package/dist/ShellBarSearch.js +1 -1
  18. package/dist/ShellBarSearch.js.map +1 -1
  19. package/dist/SideNavigation.d.ts +4 -1
  20. package/dist/SideNavigation.js +72 -23
  21. package/dist/SideNavigation.js.map +1 -1
  22. package/dist/Timeline.d.ts +1 -0
  23. package/dist/Timeline.js +10 -0
  24. package/dist/Timeline.js.map +1 -1
  25. package/dist/UserMenuTemplate.js +2 -2
  26. package/dist/UserMenuTemplate.js.map +1 -1
  27. package/dist/UserSettingsItem.d.ts +5 -0
  28. package/dist/UserSettingsItem.js +21 -0
  29. package/dist/UserSettingsItem.js.map +1 -1
  30. package/dist/UserSettingsNotificationsView.d.ts +82 -0
  31. package/dist/UserSettingsNotificationsView.js +167 -0
  32. package/dist/UserSettingsNotificationsView.js.map +1 -0
  33. package/dist/UserSettingsNotificationsViewGroup.d.ts +29 -0
  34. package/dist/UserSettingsNotificationsViewGroup.js +49 -0
  35. package/dist/UserSettingsNotificationsViewGroup.js.map +1 -0
  36. package/dist/UserSettingsNotificationsViewItem.d.ts +100 -0
  37. package/dist/UserSettingsNotificationsViewItem.js +186 -0
  38. package/dist/UserSettingsNotificationsViewItem.js.map +1 -0
  39. package/dist/UserSettingsNotificationsViewItemTemplate.d.ts +2 -0
  40. package/dist/UserSettingsNotificationsViewItemTemplate.js +28 -0
  41. package/dist/UserSettingsNotificationsViewItemTemplate.js.map +1 -0
  42. package/dist/UserSettingsNotificationsViewTemplate.d.ts +2 -0
  43. package/dist/UserSettingsNotificationsViewTemplate.js +6 -0
  44. package/dist/UserSettingsNotificationsViewTemplate.js.map +1 -0
  45. package/dist/WizardTab.js +1 -1
  46. package/dist/WizardTab.js.map +1 -1
  47. package/dist/bundle.esm.js +3 -0
  48. package/dist/bundle.esm.js.map +1 -1
  49. package/dist/css/themes/DynamicPage.css +1 -1
  50. package/dist/css/themes/SideNavigation.css +1 -1
  51. package/dist/css/themes/SideNavigationGroup.css +1 -1
  52. package/dist/css/themes/TimelineGroupItem.css +1 -1
  53. package/dist/css/themes/TimelineItem.css +1 -1
  54. package/dist/css/themes/UserSettingsNotificationsView.css +1 -0
  55. package/dist/css/themes/UserSettingsNotificationsViewGroup.css +1 -0
  56. package/dist/css/themes/UserSettingsNotificationsViewItem.css +1 -0
  57. package/dist/custom-elements-internal.json +897 -13
  58. package/dist/custom-elements.json +705 -13
  59. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  60. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  61. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  62. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  63. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  64. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  65. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  66. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  67. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  68. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  69. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  70. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  71. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  72. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  73. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  74. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  75. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  76. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  77. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  78. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  79. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  80. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  81. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  82. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  83. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  84. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  85. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  86. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  87. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  88. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  89. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  90. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  91. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  92. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  93. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  94. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  95. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  96. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  97. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  98. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  99. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  100. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  101. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  102. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  103. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  104. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  105. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  106. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  107. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  108. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  109. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  110. package/dist/generated/i18n/i18n-defaults.d.ts +4 -1
  111. package/dist/generated/i18n/i18n-defaults.js +4 -1
  112. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  113. package/dist/generated/themes/DynamicPage.css.d.ts +1 -1
  114. package/dist/generated/themes/DynamicPage.css.js +1 -1
  115. package/dist/generated/themes/DynamicPage.css.js.map +1 -1
  116. package/dist/generated/themes/SideNavigation.css.d.ts +1 -1
  117. package/dist/generated/themes/SideNavigation.css.js +1 -1
  118. package/dist/generated/themes/SideNavigation.css.js.map +1 -1
  119. package/dist/generated/themes/SideNavigationGroup.css.d.ts +1 -1
  120. package/dist/generated/themes/SideNavigationGroup.css.js +1 -1
  121. package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
  122. package/dist/generated/themes/TimelineGroupItem.css.d.ts +1 -1
  123. package/dist/generated/themes/TimelineGroupItem.css.js +1 -1
  124. package/dist/generated/themes/TimelineGroupItem.css.js.map +1 -1
  125. package/dist/generated/themes/TimelineItem.css.d.ts +1 -1
  126. package/dist/generated/themes/TimelineItem.css.js +1 -1
  127. package/dist/generated/themes/TimelineItem.css.js.map +1 -1
  128. package/dist/generated/themes/UserSettingsNotificationsView.css.d.ts +2 -0
  129. package/dist/generated/themes/UserSettingsNotificationsView.css.js +8 -0
  130. package/dist/generated/themes/UserSettingsNotificationsView.css.js.map +1 -0
  131. package/dist/generated/themes/UserSettingsNotificationsViewGroup.css.d.ts +2 -0
  132. package/dist/generated/themes/UserSettingsNotificationsViewGroup.css.js +8 -0
  133. package/dist/generated/themes/UserSettingsNotificationsViewGroup.css.js.map +1 -0
  134. package/dist/generated/themes/UserSettingsNotificationsViewItem.css.d.ts +2 -0
  135. package/dist/generated/themes/UserSettingsNotificationsViewItem.css.js +8 -0
  136. package/dist/generated/themes/UserSettingsNotificationsViewItem.css.js.map +1 -0
  137. package/dist/shellbar/ShellBarSearch.d.ts +1 -0
  138. package/dist/shellbar/ShellBarSearch.js +3 -2
  139. package/dist/shellbar/ShellBarSearch.js.map +1 -1
  140. package/dist/shellbar/ShellBarSearchLegacy.js +2 -1
  141. package/dist/shellbar/ShellBarSearchLegacy.js.map +1 -1
  142. package/dist/vscode.html-custom-data.json +60 -0
  143. package/dist/web-types.json +161 -1
  144. package/package.json +7 -7
  145. package/src/DynamicPageTemplate.tsx +6 -2
  146. package/src/FlexibleColumnLayoutTemplate.tsx +3 -2
  147. package/src/UserMenuTemplate.tsx +2 -2
  148. package/src/UserSettingsNotificationsViewItemTemplate.tsx +73 -0
  149. package/src/UserSettingsNotificationsViewTemplate.tsx +26 -0
  150. package/src/i18n/messagebundle.properties +10 -1
  151. package/src/i18n/messagebundle_ar.properties +6 -0
  152. package/src/i18n/messagebundle_bg.properties +6 -0
  153. package/src/i18n/messagebundle_ca.properties +6 -0
  154. package/src/i18n/messagebundle_cnr.properties +6 -0
  155. package/src/i18n/messagebundle_cs.properties +6 -0
  156. package/src/i18n/messagebundle_cy.properties +6 -0
  157. package/src/i18n/messagebundle_da.properties +6 -0
  158. package/src/i18n/messagebundle_de.properties +6 -0
  159. package/src/i18n/messagebundle_el.properties +6 -0
  160. package/src/i18n/messagebundle_en.properties +6 -0
  161. package/src/i18n/messagebundle_en_GB.properties +6 -0
  162. package/src/i18n/messagebundle_en_US_sappsd.properties +6 -0
  163. package/src/i18n/messagebundle_en_US_saprigi.properties +6 -0
  164. package/src/i18n/messagebundle_en_US_saptrc.properties +6 -0
  165. package/src/i18n/messagebundle_es.properties +6 -0
  166. package/src/i18n/messagebundle_es_MX.properties +6 -0
  167. package/src/i18n/messagebundle_et.properties +6 -0
  168. package/src/i18n/messagebundle_fi.properties +6 -0
  169. package/src/i18n/messagebundle_fr.properties +7 -1
  170. package/src/i18n/messagebundle_fr_CA.properties +6 -0
  171. package/src/i18n/messagebundle_hi.properties +6 -0
  172. package/src/i18n/messagebundle_hr.properties +6 -0
  173. package/src/i18n/messagebundle_hu.properties +6 -0
  174. package/src/i18n/messagebundle_id.properties +6 -0
  175. package/src/i18n/messagebundle_it.properties +6 -0
  176. package/src/i18n/messagebundle_iw.properties +6 -0
  177. package/src/i18n/messagebundle_ja.properties +6 -0
  178. package/src/i18n/messagebundle_kk.properties +6 -0
  179. package/src/i18n/messagebundle_ko.properties +6 -0
  180. package/src/i18n/messagebundle_lt.properties +6 -0
  181. package/src/i18n/messagebundle_lv.properties +6 -0
  182. package/src/i18n/messagebundle_mk.properties +6 -0
  183. package/src/i18n/messagebundle_ms.properties +6 -0
  184. package/src/i18n/messagebundle_nl.properties +6 -0
  185. package/src/i18n/messagebundle_no.properties +6 -0
  186. package/src/i18n/messagebundle_pl.properties +6 -0
  187. package/src/i18n/messagebundle_pt.properties +6 -0
  188. package/src/i18n/messagebundle_pt_PT.properties +6 -0
  189. package/src/i18n/messagebundle_ro.properties +6 -0
  190. package/src/i18n/messagebundle_ru.properties +6 -0
  191. package/src/i18n/messagebundle_sh.properties +6 -0
  192. package/src/i18n/messagebundle_sk.properties +6 -0
  193. package/src/i18n/messagebundle_sl.properties +6 -0
  194. package/src/i18n/messagebundle_sr.properties +6 -0
  195. package/src/i18n/messagebundle_sv.properties +6 -0
  196. package/src/i18n/messagebundle_th.properties +6 -0
  197. package/src/i18n/messagebundle_tr.properties +6 -0
  198. package/src/i18n/messagebundle_uk.properties +6 -0
  199. package/src/i18n/messagebundle_vi.properties +6 -0
  200. package/src/i18n/messagebundle_zh_CN.properties +6 -0
  201. package/src/i18n/messagebundle_zh_TW.properties +6 -0
  202. package/src/themes/DynamicPage.css +6 -0
  203. package/src/themes/SideNavigation.css +8 -0
  204. package/src/themes/SideNavigationGroup.css +1 -9
  205. package/src/themes/TimelineGroupItem.css +1 -0
  206. package/src/themes/TimelineItem.css +9 -0
  207. package/src/themes/UserSettingsNotificationsView.css +22 -0
  208. package/src/themes/UserSettingsNotificationsViewGroup.css +8 -0
  209. package/src/themes/UserSettingsNotificationsViewItem.css +152 -0
@@ -1 +1 @@
1
- {"version":3,"file":"UserSettingsItem.js","sourceRoot":"","sources":["../src/UserSettingsItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot, Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport {\n\tcustomElement, property, slotStrict as slot, eventStrict as event,\n} from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport type { TabContainerTabSelectEventDetail } from \"@ui5/webcomponents/dist/TabContainer.js\";\nimport type Tab from \"@ui5/webcomponents/dist/Tab.js\";\nimport { getFirstFocusableElement } from \"@ui5/webcomponents-base/dist/util/FocusableElements.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport UserSettingsItemTemplate from \"./UserSettingsItemTemplate.js\";\nimport type UserSettingsView from \"./UserSettingsView.js\";\nimport UserSettingsItemCss from \"./generated/themes/UserSettingsItem.css.js\";\n\ntype UserSettingsItemViewSelectEventDetail = {\n\tview: UserSettingsView;\n}\n\ntype UserSettingsItemBackClickEventDetail = {\n\tview: UserSettingsView;\n}\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-user-settings-item` represents an item in the `ui5-user-settings-dialog`.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/UserSettingsItem.js\";`\n *\n * You can disable the <code>UserSettingsItem</code> by setting the <code>enabled</code> property to <code>false</code>,\n * or use the <code>UserSettingsItem</code> in read-only mode by setting the <code>editable</code> property to false.\n *\n * <b>Note:</b> Disabled and read-only states shouldn't be used together.\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 2.8.0\n */\n@customElement({\n\ttag: \"ui5-user-settings-item\",\n\trenderer: jsxRenderer,\n\ttemplate: UserSettingsItemTemplate,\n\tstyles: [UserSettingsItemCss],\n})\n\n/**\n * Fired when a selected view changed.\n * @param {UserSettingsView} view The selected `view`.\n * @public\n */\n@event(\"selection-change\", {\n\tcancelable: true,\n})\n\n/**\n *\n * @private\n */\n@event(\"_collapse\", {\n\tbubbles: true,\n})\n\nclass UserSettingsItem extends UI5Element {\n\teventDetails!: {\n\t\t\"_collapse\": void,\n\t\t\"selection-change\": UserSettingsItemViewSelectEventDetail,\n\t\t\"back-click\": UserSettingsItemBackClickEventDetail,\n\n\t}\n\t/**\n\t * Defines the text of the user settings item.\n\t *\n\t * @public\n\t * @default \"\"\n\t */\n\t@property({ type: String })\n\ttext = \"\";\n\n\t/**\n\t * Defines the tooltip of the component.\n\t *\n\t * A tooltip attribute should be provided to represent the meaning or function when the component is collapsed and only the icon is visible.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property({ type: String })\n\ttooltip = \"\";\n\n\t/**\n\t * Defines the headerText of the item.\n\t *\n\t * @public\n\t * @default \"\"\n\t */\n\t@property({ type: String })\n\theaderText?: string;\n\n\t/**\n\t * Shows item tab.\n\t *\n\t * @public\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tselected = false;\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * **Note:** A disabled component is completely noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Indicates whether a loading indicator should be shown.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tloading = false;\n\n\t/**\n\t * Indicates why the control is in loading state.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tloadingReason?: string;\n\n\t/**\n\t * Defines the icon of the component.\n\t *\n\t * @default \"globe\"\n\t * @public\n\t */\n\t@property({ type: String })\n\ticon = \"globe\";\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Defines the page views of the user settings item.\n\t *\n\t * If there are no tab views, the first page view will be shown unless there is selected one. If there is selected page\n\t * view it will be shown no matter if there are tab views.\n\t *\n\t * The page views are displayed by default if there is no selected tab view.\n\t *\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\t\"default\": true,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\tpages!: DefaultSlot<UserSettingsView>;\n\n\t/**\n\t * Defines the tab views of the user settings item.\n\t *\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\ttabs!: Slot<UserSettingsView>;\n\n\t/**\n\t * Indicates whether any of the element siblings have icon.\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_siblingsWithIcon = false;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_inMobileView = false;\n\n\t/**\n\t * @private\n\t */\n\t_individualSlot?: string;\n\n\t/**\n\t * Indicates that focus should be moved to the first interactive content element\n\t * once the content becomes available (e.g. after the loading state finishes).\n\t * @private\n\t */\n\t_pendingContentFocus = false;\n\n\tonAfterRendering() {\n\t\tif (this._pendingContentFocus && !this.loading) {\n\t\t\tthis._pendingContentFocus = false;\n\t\t\tthis._focusFirstContentElementWhenReady();\n\t\t}\n\t}\n\n\tget _hasSelectedPageView() {\n\t\treturn this.pages.some(view => view.selected);\n\t}\n\n\tget _selectedPageView() {\n\t\treturn this.pages.find(view => view.selected) || this.pages[0];\n\t}\n\n\tget ariaLabelledByText() {\n\t\treturn `${this.text} ${this.accessibleName || \"\"}`.trim();\n\t}\n\n\tget _tooltip() {\n\t\treturn this.tooltip ? this.tooltip : this.text;\n\t}\n\n\tget _icon() {\n\t\treturn this.icon;\n\t}\n\n\t_handleBackButtonClick() {\n\t\tif (this._hasSelectedPageView && this._selectedPageView.secondary) {\n\t\t\tconst selectedPageView = this._selectedPageView;\n\t\t\tconst eventPrevented = !this.fireDecoratorEvent(\"selection-change\", {\n\t\t\t\tview: selectedPageView,\n\t\t\t});\n\n\t\t\tif (!eventPrevented) {\n\t\t\t\tselectedPageView.selected = false;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.fireDecoratorEvent(\"_collapse\");\n\t\t}\n\t}\n\n\t_handleTabSelect(e: CustomEvent<TabContainerTabSelectEventDetail>) {\n\t\tconst tab = e.detail.tab as Tab & { associatedSettingView: UserSettingsView };\n\t\tconst tabView = tab.associatedSettingView;\n\t\tconst eventPrevented = !this.fireDecoratorEvent(\"selection-change\", {\n\t\t\tview: tabView,\n\t\t});\n\n\t\tif (eventPrevented) {\n\t\t\te.preventDefault();\n\t\t} else {\n\t\t\tthis.tabs.forEach(view => {\n\t\t\t\tview.selected = false;\n\t\t\t});\n\t\t\ttabView.selected = true;\n\t\t}\n\t}\n\n\tget _shouldShowBackButton() {\n\t\treturn !!(this._inMobileView || (this._hasSelectedPageView && this._selectedPageView.secondary));\n\t}\n\n\t/**\n\t * Moves the focus to the first interactive element of the item's content,\n\t * skipping the navigation back button in the header.\n\t *\n\t * If the content is not yet available because the item is in loading state,\n\t * the focus is deferred until the loading finishes and the content is rendered.\n\t * @private\n\t */\n\tfocusFirstContentElement() {\n\t\tif (this.loading) {\n\t\t\tthis._pendingContentFocus = true;\n\t\t\treturn;\n\t\t}\n\n\t\tthis._focusFirstContentElement();\n\t}\n\n\tasync _focusFirstContentElementWhenReady() {\n\t\t// The content (and its slotted views) may still be settling after the loading\n\t\t// state clears, so wait for the render to finish before moving the focus.\n\t\tawait renderFinished();\n\t\tthis._focusFirstContentElement();\n\t}\n\n\tasync _focusFirstContentElement() {\n\t\tconst root = this.getDomRef();\n\t\tif (!root) {\n\t\t\treturn;\n\t\t}\n\n\t\t// The content is rendered right after the header (which holds the back button),\n\t\t// so start the focus lookup from the element following the header.\n\t\tconst header = root.querySelector<HTMLElement>(\".ui5-user-settings-item-header-container\");\n\t\tconst contentElement = (header?.nextElementSibling || root.firstElementChild) as HTMLElement | null;\n\t\tif (!contentElement) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst focusable = await getFirstFocusableElement(contentElement, true);\n\t\tfocusable?.focus();\n\t}\n\n\tcaptureRef(this: UserSettingsView, ref: HTMLElement & { associatedSettingView?: UserSettingsView} | null) {\n\t\tif (ref) {\n\t\t\tref.associatedSettingView = this;\n\t\t}\n\t}\n}\n\nUserSettingsItem.define();\n\nexport default UserSettingsItem;\nexport type {\n\tUserSettingsItemViewSelectEventDetail,\n\tUserSettingsItemBackClickEventDetail,\n};\n"]}
1
+ {"version":3,"file":"UserSettingsItem.js","sourceRoot":"","sources":["../src/UserSettingsItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot, Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport {\n\tcustomElement, property, slotStrict as slot, eventStrict as event,\n} from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport type { TabContainerTabSelectEventDetail } from \"@ui5/webcomponents/dist/TabContainer.js\";\nimport type Tab from \"@ui5/webcomponents/dist/Tab.js\";\nimport { getFirstFocusableElement } from \"@ui5/webcomponents-base/dist/util/FocusableElements.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport UserSettingsItemTemplate from \"./UserSettingsItemTemplate.js\";\nimport type UserSettingsView from \"./UserSettingsView.js\";\nimport UserSettingsItemCss from \"./generated/themes/UserSettingsItem.css.js\";\n\ntype UserSettingsItemViewSelectEventDetail = {\n\tview: UserSettingsView;\n}\n\ntype UserSettingsItemBackClickEventDetail = {\n\tview: UserSettingsView;\n}\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-user-settings-item` represents an item in the `ui5-user-settings-dialog`.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/UserSettingsItem.js\";`\n *\n * You can disable the <code>UserSettingsItem</code> by setting the <code>enabled</code> property to <code>false</code>,\n * or use the <code>UserSettingsItem</code> in read-only mode by setting the <code>editable</code> property to false.\n *\n * <b>Note:</b> Disabled and read-only states shouldn't be used together.\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 2.8.0\n */\n@customElement({\n\ttag: \"ui5-user-settings-item\",\n\trenderer: jsxRenderer,\n\ttemplate: UserSettingsItemTemplate,\n\tstyles: [UserSettingsItemCss],\n})\n\n/**\n * Fired when a selected view changed.\n * @param {UserSettingsView} view The selected `view`.\n * @public\n */\n@event(\"selection-change\", {\n\tcancelable: true,\n})\n\n/**\n *\n * @private\n */\n@event(\"_collapse\", {\n\tbubbles: true,\n})\n\nclass UserSettingsItem extends UI5Element {\n\teventDetails!: {\n\t\t\"_collapse\": void,\n\t\t\"selection-change\": UserSettingsItemViewSelectEventDetail,\n\t\t\"back-click\": UserSettingsItemBackClickEventDetail,\n\n\t}\n\t/**\n\t * Defines the text of the user settings item.\n\t *\n\t * @public\n\t * @default \"\"\n\t */\n\t@property({ type: String })\n\ttext = \"\";\n\n\t/**\n\t * Defines the tooltip of the component.\n\t *\n\t * A tooltip attribute should be provided to represent the meaning or function when the component is collapsed and only the icon is visible.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property({ type: String })\n\ttooltip = \"\";\n\n\t/**\n\t * Defines the headerText of the item.\n\t *\n\t * @public\n\t * @default \"\"\n\t */\n\t@property({ type: String })\n\theaderText?: string;\n\n\t/**\n\t * Shows item tab.\n\t *\n\t * @public\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tselected = false;\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * **Note:** A disabled component is completely noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Indicates whether a loading indicator should be shown.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tloading = false;\n\n\t/**\n\t * Indicates why the control is in loading state.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tloadingReason?: string;\n\n\t/**\n\t * Defines the icon of the component.\n\t *\n\t * @default \"globe\"\n\t * @public\n\t */\n\t@property({ type: String })\n\ticon = \"globe\";\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Defines the page views of the user settings item.\n\t *\n\t * If there are no tab views, the first page view will be shown unless there is selected one. If there is selected page\n\t * view it will be shown no matter if there are tab views.\n\t *\n\t * The page views are displayed by default if there is no selected tab view.\n\t *\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\t\"default\": true,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\tpages!: DefaultSlot<UserSettingsView>;\n\n\t/**\n\t * Defines the tab views of the user settings item.\n\t *\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\ttabs!: Slot<UserSettingsView>;\n\n\t/**\n\t * Indicates whether any of the element siblings have icon.\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_siblingsWithIcon = false;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_inMobileView = false;\n\n\t/**\n\t * @private\n\t */\n\t_individualSlot?: string;\n\n\t/**\n\t * Indicates that focus should be moved to the first interactive content element\n\t * once the content becomes available (e.g. after the loading state finishes).\n\t * @private\n\t */\n\t_pendingContentFocus = false;\n\n\tonAfterRendering() {\n\t\tif (this._pendingContentFocus && !this.loading) {\n\t\t\tthis._pendingContentFocus = false;\n\t\t\tthis._focusFirstContentElementWhenReady();\n\t\t}\n\t}\n\n\tget _hasSelectedPageView() {\n\t\treturn this.pages.some(view => view.selected);\n\t}\n\n\tget _selectedPageView() {\n\t\treturn this.pages.find(view => view.selected) || this.pages[0];\n\t}\n\n\tget ariaLabelledByText() {\n\t\treturn `${this.text} ${this.accessibleName || \"\"}`.trim();\n\t}\n\n\tget _tooltip() {\n\t\treturn this.tooltip ? this.tooltip : this.text;\n\t}\n\n\tget _icon() {\n\t\treturn this.icon;\n\t}\n\n\t_handleBackButtonClick() {\n\t\tif (this._hasSelectedPageView && this._selectedPageView.secondary) {\n\t\t\tconst selectedPageView = this._selectedPageView;\n\t\t\tconst eventPrevented = !this.fireDecoratorEvent(\"selection-change\", {\n\t\t\t\tview: selectedPageView,\n\t\t\t});\n\n\t\t\tif (!eventPrevented) {\n\t\t\t\tselectedPageView.selected = false;\n\t\t\t\tconst primaryView = this.pages?.find(view => !view.secondary && view !== selectedPageView);\n\t\t\t\trenderFinished().then(() => {\n\t\t\t\t\tif (!this.isConnected) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tconst lastItem = (primaryView as any)?._lastNavigatedItem;\n\t\t\t\t\tif (lastItem?.getFocusDomRef) {\n\t\t\t\t\t\tlastItem.getFocusDomRef()?.focus();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis._focusFirstContentElement();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tthis.fireDecoratorEvent(\"_collapse\");\n\t\t}\n\t}\n\n\t_handleTabSelect(e: CustomEvent<TabContainerTabSelectEventDetail>) {\n\t\tconst tab = e.detail.tab as Tab & { associatedSettingView: UserSettingsView };\n\t\tconst tabView = tab.associatedSettingView;\n\t\tconst eventPrevented = !this.fireDecoratorEvent(\"selection-change\", {\n\t\t\tview: tabView,\n\t\t});\n\n\t\tif (eventPrevented) {\n\t\t\te.preventDefault();\n\t\t} else {\n\t\t\tthis.tabs.forEach(view => {\n\t\t\t\tview.selected = false;\n\t\t\t});\n\t\t\ttabView.selected = true;\n\t\t}\n\t}\n\n\tget _shouldShowBackButton() {\n\t\treturn !!(this._inMobileView || (this._hasSelectedPageView && this._selectedPageView.secondary));\n\t}\n\n\t/**\n\t * Moves the focus to the first interactive element of the item's content,\n\t * skipping the navigation back button in the header.\n\t *\n\t * If the content is not yet available because the item is in loading state,\n\t * the focus is deferred until the loading finishes and the content is rendered.\n\t * @private\n\t */\n\tfocusFirstContentElement() {\n\t\tif (this.loading) {\n\t\t\tthis._pendingContentFocus = true;\n\t\t\treturn;\n\t\t}\n\n\t\tthis._focusFirstContentElement();\n\t}\n\n\tasync _focusFirstContentElementWhenReady() {\n\t\t// The content (and its slotted views) may still be settling after the loading\n\t\t// state clears, so wait for the render to finish before moving the focus.\n\t\tawait renderFinished();\n\t\tthis._focusFirstContentElement();\n\t}\n\n\tasync _focusFirstContentElement() {\n\t\tconst root = this.getDomRef();\n\t\tif (!root) {\n\t\t\treturn;\n\t\t}\n\n\t\t// The content is rendered right after the header (which holds the back button),\n\t\t// so start the focus lookup from the element following the header.\n\t\tconst header = root.querySelector<HTMLElement>(\".ui5-user-settings-item-header-container\");\n\t\tconst contentElement = (header?.nextElementSibling || root.firstElementChild) as HTMLElement | null;\n\t\tif (!contentElement) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst focusable = await getFirstFocusableElement(contentElement, true);\n\t\tfocusable?.focus();\n\t}\n\n\t/**\n\t * @private\n\t * @since 2.27.0\n\t */\n\t_focusBackButton() {\n\t\tconst backButton = this.shadowRoot?.querySelector<HTMLElement>(\".ui5-user-settings-item-collapse-btn\");\n\t\tbackButton?.focus();\n\t}\n\n\tcaptureRef(this: UserSettingsView, ref: HTMLElement & { associatedSettingView?: UserSettingsView} | null) {\n\t\tif (ref) {\n\t\t\tref.associatedSettingView = this;\n\t\t}\n\t}\n}\n\nUserSettingsItem.define();\n\nexport default UserSettingsItem;\nexport type {\n\tUserSettingsItemViewSelectEventDetail,\n\tUserSettingsItemBackClickEventDetail,\n};\n"]}
@@ -0,0 +1,82 @@
1
+ import UserSettingsView from "./UserSettingsView.js";
2
+ import type UserSettingsNotificationsViewItem from "./UserSettingsNotificationsViewItem.js";
3
+ import type UserSettingsNotificationsViewGroup from "./UserSettingsNotificationsViewGroup.js";
4
+ import type { ListItemClickEventDetail } from "@ui5/webcomponents/dist/List.js";
5
+ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
6
+ import type { DefaultSlot, Slot } from "@ui5/webcomponents-base/dist/UI5Element.js";
7
+ type UserSettingsNotificationsViewItemClickEventDetail = {
8
+ item: UserSettingsNotificationsViewItem;
9
+ };
10
+ /**
11
+ * @class
12
+ * ### Overview
13
+ *
14
+ * The `ui5-user-settings-notifications-view` represents a view displayed in the
15
+ * `ui5-user-settings-item` that lists notification preferences. Individual settings
16
+ * are represented by `ui5-user-settings-notifications-view-item` elements, optionally
17
+ * grouped by `ui5-user-settings-notifications-view-group`.
18
+ *
19
+ * When a navigable item is clicked, the view drills into a sibling secondary view of
20
+ * its parent `ui5-user-settings-item`. When an item's `item-key` matches a target
21
+ * view's `id`, that view is opened and keeps its own `text`. Otherwise the first
22
+ * sibling marked as `secondary` is opened and its `text` is set to the clicked
23
+ * item's `text` so the drill-in header reflects the origin.
24
+ *
25
+ * Apps can override this behavior by preventing the `item-click` event.
26
+ *
27
+ * Applications should listen to the item's `switch-change` event (which bubbles) to
28
+ * be notified when a switch is toggled.
29
+ *
30
+ * Additional content (e.g. an information message strip) can be placed via the
31
+ * `additionalContent` slot, which is rendered above the list.
32
+ *
33
+ * ### ES6 Module Import
34
+ * `import "@ui5/webcomponents-fiori/dist/UserSettingsNotificationsView.js";`
35
+ *
36
+ * @constructor
37
+ * @extends UserSettingsView
38
+ * @public
39
+ * @since 2.27.0
40
+ */
41
+ declare class UserSettingsNotificationsView extends UserSettingsView {
42
+ eventDetails: {
43
+ "item-click": UserSettingsNotificationsViewItemClickEventDetail;
44
+ };
45
+ /**
46
+ * Defines the items of the component. Can be a mix of
47
+ * `ui5-user-settings-notifications-view-item` and
48
+ * `ui5-user-settings-notifications-view-group` elements.
49
+ *
50
+ * @public
51
+ */
52
+ items: DefaultSlot<UserSettingsNotificationsViewGroup | UserSettingsNotificationsViewItem>;
53
+ /**
54
+ * Defines header items rendered above the grouped items list.
55
+ * Each item is wrapped in a `role="form"` landmark — a separate Tab stop.
56
+ * Use this slot for product-level toggles (e.g. "Allow Notifications") that appear
57
+ * above the notification-type groups.
58
+ *
59
+ * @public
60
+ */
61
+ headerItems: Slot<UserSettingsNotificationsViewItem>;
62
+ /**
63
+ * Defines additional content displayed above the items list.
64
+ *
65
+ * @public
66
+ */
67
+ additionalContent: Slot<HTMLElement>;
68
+ static i18nBundle: I18nBundle;
69
+ getAllItems(): Array<UserSettingsNotificationsViewItem>;
70
+ getItemByKey(itemKey: string): UserSettingsNotificationsViewItem | undefined;
71
+ get _hasHeaderItems(): boolean;
72
+ _lastNavigatedItem: UserSettingsNotificationsViewItem | null;
73
+ get _listAccessibleName(): string;
74
+ _navigateToSecondaryView(item: UserSettingsNotificationsViewItem): void;
75
+ _processItemClick(item: UserSettingsNotificationsViewItem): void;
76
+ _handleItemClick: (e: CustomEvent<ListItemClickEventDetail>) => void;
77
+ _handleFormItemClick: (e: CustomEvent<{
78
+ item: UserSettingsNotificationsViewItem;
79
+ }>) => void;
80
+ }
81
+ export default UserSettingsNotificationsView;
82
+ export type { UserSettingsNotificationsViewItemClickEventDetail, };
@@ -0,0 +1,167 @@
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 UserSettingsNotificationsView_1;
8
+ import UserSettingsView from "./UserSettingsView.js";
9
+ import UserSettingsNotificationsViewTemplate from "./UserSettingsNotificationsViewTemplate.js";
10
+ import UserSettingViewCss from "./generated/themes/UserSettingsView.css.js";
11
+ import UserSettingsNotificationsViewCss from "./generated/themes/UserSettingsNotificationsView.css.js";
12
+ import { isInstanceOfUserSettingsNotificationsViewItem } from "./UserSettingsNotificationsViewItem.js";
13
+ import { isInstanceOfUserSettingsNotificationsViewGroup } from "./UserSettingsNotificationsViewGroup.js";
14
+ import { getFirstFocusableElement } from "@ui5/webcomponents-base/dist/util/FocusableElements.js";
15
+ import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
16
+ import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
17
+ import { customElement, slotStrict as slot, eventStrict as event, } from "@ui5/webcomponents-base/dist/decorators.js";
18
+ import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
19
+ import { USER_SETTINGS_NOTIFICATIONS_LIST_LABEL, USER_SETTINGS_NOTIFICATIONS_PREFERENCES_LIST_LABEL, } from "./generated/i18n/i18n-defaults.js";
20
+ /**
21
+ * @class
22
+ * ### Overview
23
+ *
24
+ * The `ui5-user-settings-notifications-view` represents a view displayed in the
25
+ * `ui5-user-settings-item` that lists notification preferences. Individual settings
26
+ * are represented by `ui5-user-settings-notifications-view-item` elements, optionally
27
+ * grouped by `ui5-user-settings-notifications-view-group`.
28
+ *
29
+ * When a navigable item is clicked, the view drills into a sibling secondary view of
30
+ * its parent `ui5-user-settings-item`. When an item's `item-key` matches a target
31
+ * view's `id`, that view is opened and keeps its own `text`. Otherwise the first
32
+ * sibling marked as `secondary` is opened and its `text` is set to the clicked
33
+ * item's `text` so the drill-in header reflects the origin.
34
+ *
35
+ * Apps can override this behavior by preventing the `item-click` event.
36
+ *
37
+ * Applications should listen to the item's `switch-change` event (which bubbles) to
38
+ * be notified when a switch is toggled.
39
+ *
40
+ * Additional content (e.g. an information message strip) can be placed via the
41
+ * `additionalContent` slot, which is rendered above the list.
42
+ *
43
+ * ### ES6 Module Import
44
+ * `import "@ui5/webcomponents-fiori/dist/UserSettingsNotificationsView.js";`
45
+ *
46
+ * @constructor
47
+ * @extends UserSettingsView
48
+ * @public
49
+ * @since 2.27.0
50
+ */
51
+ let UserSettingsNotificationsView = UserSettingsNotificationsView_1 = class UserSettingsNotificationsView extends UserSettingsView {
52
+ constructor() {
53
+ super(...arguments);
54
+ this._lastNavigatedItem = null;
55
+ this._handleItemClick = (e) => {
56
+ this._processItemClick(e.detail.item);
57
+ };
58
+ this._handleFormItemClick = (e) => {
59
+ this._processItemClick(e.detail.item);
60
+ };
61
+ }
62
+ getAllItems() {
63
+ const allItems = [...this.headerItems];
64
+ this.items.forEach(item => {
65
+ if (isInstanceOfUserSettingsNotificationsViewGroup(item)) {
66
+ item.items.forEach(child => {
67
+ if (isInstanceOfUserSettingsNotificationsViewItem(child)) {
68
+ allItems.push(child);
69
+ }
70
+ });
71
+ }
72
+ else if (isInstanceOfUserSettingsNotificationsViewItem(item)) {
73
+ allItems.push(item);
74
+ }
75
+ });
76
+ return allItems;
77
+ }
78
+ getItemByKey(itemKey) {
79
+ return this.getAllItems().find(item => item.itemKey === itemKey);
80
+ }
81
+ get _hasHeaderItems() {
82
+ return this.headerItems.length > 0;
83
+ }
84
+ get _listAccessibleName() {
85
+ return this.secondary
86
+ ? UserSettingsNotificationsView_1.i18nBundle.getText(USER_SETTINGS_NOTIFICATIONS_PREFERENCES_LIST_LABEL)
87
+ : UserSettingsNotificationsView_1.i18nBundle.getText(USER_SETTINGS_NOTIFICATIONS_LIST_LABEL);
88
+ }
89
+ _navigateToSecondaryView(item) {
90
+ const parentItem = this.closest("[ui5-user-settings-item]");
91
+ const secondaryViews = parentItem?.pages?.filter(view => view !== this && view.secondary) ?? [];
92
+ const matched = item.itemKey ? secondaryViews.find(view => view.id === item.itemKey) : undefined;
93
+ const target = matched ?? secondaryViews[0];
94
+ if (!target) {
95
+ return;
96
+ }
97
+ if (!matched || !target.text) {
98
+ target.text = item.text;
99
+ }
100
+ this.selected = false;
101
+ this._lastNavigatedItem = item;
102
+ target.selected = true;
103
+ renderFinished().then(async () => {
104
+ if (!this.isConnected) {
105
+ return;
106
+ }
107
+ await target._waitForDomRef();
108
+ const focusable = await getFirstFocusableElement(target.getDomRef());
109
+ focusable?.focus();
110
+ });
111
+ }
112
+ _processItemClick(item) {
113
+ if (!isInstanceOfUserSettingsNotificationsViewItem(item) || !item.navigable) {
114
+ return;
115
+ }
116
+ if (!this.fireDecoratorEvent("item-click", { item })) {
117
+ return;
118
+ }
119
+ this._navigateToSecondaryView(item);
120
+ }
121
+ };
122
+ __decorate([
123
+ slot({
124
+ type: HTMLElement,
125
+ "default": true,
126
+ invalidateOnChildChange: true,
127
+ })
128
+ ], UserSettingsNotificationsView.prototype, "items", void 0);
129
+ __decorate([
130
+ slot({
131
+ type: HTMLElement,
132
+ invalidateOnChildChange: true,
133
+ individualSlots: true,
134
+ })
135
+ ], UserSettingsNotificationsView.prototype, "headerItems", void 0);
136
+ __decorate([
137
+ slot({
138
+ type: HTMLElement,
139
+ })
140
+ ], UserSettingsNotificationsView.prototype, "additionalContent", void 0);
141
+ __decorate([
142
+ i18n("@ui5/webcomponents-fiori")
143
+ ], UserSettingsNotificationsView, "i18nBundle", void 0);
144
+ UserSettingsNotificationsView = UserSettingsNotificationsView_1 = __decorate([
145
+ customElement({
146
+ tag: "ui5-user-settings-notifications-view",
147
+ renderer: jsxRenderer,
148
+ template: UserSettingsNotificationsViewTemplate,
149
+ styles: [UserSettingViewCss, UserSettingsNotificationsViewCss],
150
+ })
151
+ /**
152
+ * Fired when a navigable item in the list is clicked.
153
+ *
154
+ * The event is cancelable: preventing it skips the built-in drill-in to the
155
+ * parent's secondary view, allowing the application to take over.
156
+ *
157
+ * @param {UserSettingsNotificationsViewItem} item The clicked notifications view item.
158
+ * @public
159
+ */
160
+ ,
161
+ event("item-click", {
162
+ cancelable: true,
163
+ })
164
+ ], UserSettingsNotificationsView);
165
+ UserSettingsNotificationsView.define();
166
+ export default UserSettingsNotificationsView;
167
+ //# sourceMappingURL=UserSettingsNotificationsView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserSettingsNotificationsView.js","sourceRoot":"","sources":["../src/UserSettingsNotificationsView.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,qCAAqC,MAAM,4CAA4C,CAAC;AAC/F,OAAO,kBAAkB,MAAM,4CAA4C,CAAC;AAC5E,OAAO,gCAAgC,MAAM,yDAAyD,CAAC;AAEvG,OAAO,EAAE,6CAA6C,EAAE,MAAM,wCAAwC,CAAC;AAEvG,OAAO,EAAE,8CAA8C,EAAE,MAAM,yCAAyC,CAAC;AAGzG,OAAO,EAAE,wBAAwB,EAAE,MAAM,wDAAwD,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAGnE,OAAO,EACN,aAAa,EAAE,UAAU,IAAI,IAAI,EAAE,WAAW,IAAI,KAAK,GACvD,MAAM,4CAA4C,CAAC;AACpD,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAE/E,OAAO,EACN,sCAAsC,EACtC,kDAAkD,GAClD,MAAM,mCAAmC,CAAC;AAM3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAqBH,IAAM,6BAA6B,qCAAnC,MAAM,6BAA8B,SAAQ,gBAAgB;IAA5D;;QAyEC,uBAAkB,GAA6C,IAAI,CAAC;QA+CpE,qBAAgB,GAAG,CAAC,CAAwC,EAAE,EAAE;YAC/D,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAyC,CAAC,CAAC;QAC5E,CAAC,CAAC;QAEF,yBAAoB,GAAG,CAAC,CAA2D,EAAE,EAAE;YACtF,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC,CAAC;IACH,CAAC;IAhFA,WAAW;QACV,MAAM,QAAQ,GAA6C,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QAEjF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACzB,IAAI,8CAA8C,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBAC1B,IAAI,6CAA6C,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC1D,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACtB,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;iBAAM,IAAI,6CAA6C,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,YAAY,CAAC,OAAe;QAC3B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,CAAC;IAID,IAAI,mBAAmB;QACtB,OAAO,IAAI,CAAC,SAAS;YACpB,CAAC,CAAC,+BAA6B,CAAC,UAAU,CAAC,OAAO,CAAC,kDAAkD,CAAC;YACtG,CAAC,CAAC,+BAA6B,CAAC,UAAU,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;IAC7F,CAAC;IAED,wBAAwB,CAAC,IAAuC;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAmB,0BAA0B,CAAC,CAAC;QAC9E,MAAM,cAAc,GAAG,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAEhG,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjG,MAAM,MAAM,GAAG,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;QAE5C,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,OAAO;QACR,CAAC;QAED,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QAEvB,cAAc,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACvB,OAAO;YACR,CAAC;YACD,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,SAAS,EAAG,CAAC,CAAC;YACtE,SAAS,EAAE,KAAK,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,IAAuC;QACxD,IAAI,CAAC,6CAA6C,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7E,OAAO;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACtD,OAAO;QACR,CAAC;QACD,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;CASD,CAAA;AA9GA;IALC,IAAI,CAAC;QACL,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,IAAI;QACf,uBAAuB,EAAE,IAAI;KAC7B,CAAC;4DAC0F;AAe5F;IALC,IAAI,CAAC;QACL,IAAI,EAAE,WAAW;QACjB,uBAAuB,EAAE,IAAI;QAC7B,eAAe,EAAE,IAAI;KACrB,CAAC;kEACoD;AAUtD;IAHC,IAAI,CAAC;QACL,IAAI,EAAE,WAAW;KACjB,CAAC;wEACoC;AAG/B;IADN,IAAI,CAAC,0BAA0B,CAAC;uDACH;AA7CzB,6BAA6B;IApBlC,aAAa,CAAC;QACd,GAAG,EAAE,sCAAsC;QAC3C,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,qCAAqC;QAC/C,MAAM,EAAE,CAAC,kBAAkB,EAAE,gCAAgC,CAAC;KAC9D,CAAC;IAEF;;;;;;;;OAQG;;IACF,KAAK,CAAC,YAAY,EAAE;QACpB,UAAU,EAAE,IAAI;KAChB,CAAC;GAEI,6BAA6B,CA+HlC;AAED,6BAA6B,CAAC,MAAM,EAAE,CAAC;AACvC,eAAe,6BAA6B,CAAC","sourcesContent":["import UserSettingsView from \"./UserSettingsView.js\";\nimport UserSettingsNotificationsViewTemplate from \"./UserSettingsNotificationsViewTemplate.js\";\nimport UserSettingViewCss from \"./generated/themes/UserSettingsView.css.js\";\nimport UserSettingsNotificationsViewCss from \"./generated/themes/UserSettingsNotificationsView.css.js\";\nimport type UserSettingsNotificationsViewItem from \"./UserSettingsNotificationsViewItem.js\";\nimport { isInstanceOfUserSettingsNotificationsViewItem } from \"./UserSettingsNotificationsViewItem.js\";\nimport type UserSettingsNotificationsViewGroup from \"./UserSettingsNotificationsViewGroup.js\";\nimport { isInstanceOfUserSettingsNotificationsViewGroup } from \"./UserSettingsNotificationsViewGroup.js\";\nimport type UserSettingsItem from \"./UserSettingsItem.js\";\nimport type { ListItemClickEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport { getFirstFocusableElement } from \"@ui5/webcomponents-base/dist/util/FocusableElements.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\n\nimport {\n\tcustomElement, slotStrict as slot, eventStrict as event,\n} from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type { DefaultSlot, Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport {\n\tUSER_SETTINGS_NOTIFICATIONS_LIST_LABEL,\n\tUSER_SETTINGS_NOTIFICATIONS_PREFERENCES_LIST_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\ntype UserSettingsNotificationsViewItemClickEventDetail = {\n\titem: UserSettingsNotificationsViewItem;\n}\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-user-settings-notifications-view` represents a view displayed in the\n * `ui5-user-settings-item` that lists notification preferences. Individual settings\n * are represented by `ui5-user-settings-notifications-view-item` elements, optionally\n * grouped by `ui5-user-settings-notifications-view-group`.\n *\n * When a navigable item is clicked, the view drills into a sibling secondary view of\n * its parent `ui5-user-settings-item`. When an item's `item-key` matches a target\n * view's `id`, that view is opened and keeps its own `text`. Otherwise the first\n * sibling marked as `secondary` is opened and its `text` is set to the clicked\n * item's `text` so the drill-in header reflects the origin.\n *\n * Apps can override this behavior by preventing the `item-click` event.\n *\n * Applications should listen to the item's `switch-change` event (which bubbles) to\n * be notified when a switch is toggled.\n *\n * Additional content (e.g. an information message strip) can be placed via the\n * `additionalContent` slot, which is rendered above the list.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/UserSettingsNotificationsView.js\";`\n *\n * @constructor\n * @extends UserSettingsView\n * @public\n * @since 2.27.0\n */\n@customElement({\n\ttag: \"ui5-user-settings-notifications-view\",\n\trenderer: jsxRenderer,\n\ttemplate: UserSettingsNotificationsViewTemplate,\n\tstyles: [UserSettingViewCss, UserSettingsNotificationsViewCss],\n})\n\n/**\n * Fired when a navigable item in the list is clicked.\n *\n * The event is cancelable: preventing it skips the built-in drill-in to the\n * parent's secondary view, allowing the application to take over.\n *\n * @param {UserSettingsNotificationsViewItem} item The clicked notifications view item.\n * @public\n */\n@event(\"item-click\", {\n\tcancelable: true,\n})\n\nclass UserSettingsNotificationsView extends UserSettingsView {\n\teventDetails!: {\n\t\t\"item-click\": UserSettingsNotificationsViewItemClickEventDetail;\n\t}\n\n\t/**\n\t * Defines the items of the component. Can be a mix of\n\t * `ui5-user-settings-notifications-view-item` and\n\t * `ui5-user-settings-notifications-view-group` elements.\n\t *\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\t\"default\": true,\n\t\tinvalidateOnChildChange: true,\n\t})\n\titems!: DefaultSlot<UserSettingsNotificationsViewGroup | UserSettingsNotificationsViewItem>;\n\n\t/**\n\t * Defines header items rendered above the grouped items list.\n\t * Each item is wrapped in a `role=\"form\"` landmark — a separate Tab stop.\n\t * Use this slot for product-level toggles (e.g. \"Allow Notifications\") that appear\n\t * above the notification-type groups.\n\t *\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tinvalidateOnChildChange: true,\n\t\tindividualSlots: true,\n\t})\n\theaderItems!: Slot<UserSettingsNotificationsViewItem>;\n\n\t/**\n\t * Defines additional content displayed above the items list.\n\t *\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t})\n\tadditionalContent!: Slot<HTMLElement>;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tgetAllItems(): Array<UserSettingsNotificationsViewItem> {\n\t\tconst allItems: Array<UserSettingsNotificationsViewItem> = [...this.headerItems];\n\n\t\tthis.items.forEach(item => {\n\t\t\tif (isInstanceOfUserSettingsNotificationsViewGroup(item)) {\n\t\t\t\titem.items.forEach(child => {\n\t\t\t\t\tif (isInstanceOfUserSettingsNotificationsViewItem(child)) {\n\t\t\t\t\t\tallItems.push(child);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else if (isInstanceOfUserSettingsNotificationsViewItem(item)) {\n\t\t\t\tallItems.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn allItems;\n\t}\n\n\tgetItemByKey(itemKey: string): UserSettingsNotificationsViewItem | undefined {\n\t\treturn this.getAllItems().find(item => item.itemKey === itemKey);\n\t}\n\n\tget _hasHeaderItems(): boolean {\n\t\treturn this.headerItems.length > 0;\n\t}\n\n\t_lastNavigatedItem: UserSettingsNotificationsViewItem | null = null;\n\n\tget _listAccessibleName(): string {\n\t\treturn this.secondary\n\t\t\t? UserSettingsNotificationsView.i18nBundle.getText(USER_SETTINGS_NOTIFICATIONS_PREFERENCES_LIST_LABEL)\n\t\t\t: UserSettingsNotificationsView.i18nBundle.getText(USER_SETTINGS_NOTIFICATIONS_LIST_LABEL);\n\t}\n\n\t_navigateToSecondaryView(item: UserSettingsNotificationsViewItem) {\n\t\tconst parentItem = this.closest<UserSettingsItem>(\"[ui5-user-settings-item]\");\n\t\tconst secondaryViews = parentItem?.pages?.filter(view => view !== this && view.secondary) ?? [];\n\n\t\tconst matched = item.itemKey ? secondaryViews.find(view => view.id === item.itemKey) : undefined;\n\t\tconst target = matched ?? secondaryViews[0];\n\n\t\tif (!target) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!matched || !target.text) {\n\t\t\ttarget.text = item.text;\n\t\t}\n\n\t\tthis.selected = false;\n\t\tthis._lastNavigatedItem = item;\n\t\ttarget.selected = true;\n\n\t\trenderFinished().then(async () => {\n\t\t\tif (!this.isConnected) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait target._waitForDomRef();\n\t\t\tconst focusable = await getFirstFocusableElement(target.getDomRef()!);\n\t\t\tfocusable?.focus();\n\t\t});\n\t}\n\n\t_processItemClick(item: UserSettingsNotificationsViewItem) {\n\t\tif (!isInstanceOfUserSettingsNotificationsViewItem(item) || !item.navigable) {\n\t\t\treturn;\n\t\t}\n\t\tif (!this.fireDecoratorEvent(\"item-click\", { item })) {\n\t\t\treturn;\n\t\t}\n\t\tthis._navigateToSecondaryView(item);\n\t}\n\n\t_handleItemClick = (e: CustomEvent<ListItemClickEventDetail>) => {\n\t\tthis._processItemClick(e.detail.item as UserSettingsNotificationsViewItem);\n\t};\n\n\t_handleFormItemClick = (e: CustomEvent<{ item: UserSettingsNotificationsViewItem }>) => {\n\t\tthis._processItemClick(e.detail.item);\n\t};\n}\n\nUserSettingsNotificationsView.define();\nexport default UserSettingsNotificationsView;\nexport type {\n\tUserSettingsNotificationsViewItemClickEventDetail,\n};\n"]}
@@ -0,0 +1,29 @@
1
+ import ListItemGroup from "@ui5/webcomponents/dist/ListItemGroup.js";
2
+ import type UserSettingsNotificationsViewItem from "./UserSettingsNotificationsViewItem.js";
3
+ import type { DefaultSlot } from "@ui5/webcomponents-base/dist/UI5Element.js";
4
+ /**
5
+ * @class
6
+ * ### Overview
7
+ *
8
+ * The `ui5-user-settings-notifications-view-group` groups `ui5-user-settings-notifications-view-item`
9
+ * elements inside a `ui5-user-settings-notifications-view`. Its header renders as a plain bold
10
+ * section title with a separator line below, per the notifications design spec.
11
+ *
12
+ * ### ES6 Module Import
13
+ * `import "@ui5/webcomponents-fiori/dist/UserSettingsNotificationsViewGroup.js";`
14
+ *
15
+ * @constructor
16
+ * @extends ListItemGroup
17
+ * @public
18
+ * @since 2.27.0
19
+ */
20
+ declare class UserSettingsNotificationsViewGroup extends ListItemGroup {
21
+ /**
22
+ * Defines the items of the `ui5-user-settings-notifications-view-group`.
23
+ * @public
24
+ */
25
+ items: DefaultSlot<UserSettingsNotificationsViewItem>;
26
+ get isUserSettingsNotificationsViewGroup(): boolean;
27
+ }
28
+ export declare const isInstanceOfUserSettingsNotificationsViewGroup: (object: any) => object is UserSettingsNotificationsViewGroup;
29
+ export default UserSettingsNotificationsViewGroup;
@@ -0,0 +1,49 @@
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
+ import ListItemGroup from "@ui5/webcomponents/dist/ListItemGroup.js";
8
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
9
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
10
+ import createInstanceChecker from "@ui5/webcomponents-base/dist/util/createInstanceChecker.js";
11
+ import UserSettingsNotificationsViewGroupCss from "./generated/themes/UserSettingsNotificationsViewGroup.css.js";
12
+ /**
13
+ * @class
14
+ * ### Overview
15
+ *
16
+ * The `ui5-user-settings-notifications-view-group` groups `ui5-user-settings-notifications-view-item`
17
+ * elements inside a `ui5-user-settings-notifications-view`. Its header renders as a plain bold
18
+ * section title with a separator line below, per the notifications design spec.
19
+ *
20
+ * ### ES6 Module Import
21
+ * `import "@ui5/webcomponents-fiori/dist/UserSettingsNotificationsViewGroup.js";`
22
+ *
23
+ * @constructor
24
+ * @extends ListItemGroup
25
+ * @public
26
+ * @since 2.27.0
27
+ */
28
+ let UserSettingsNotificationsViewGroup = class UserSettingsNotificationsViewGroup extends ListItemGroup {
29
+ get isUserSettingsNotificationsViewGroup() {
30
+ return true;
31
+ }
32
+ };
33
+ __decorate([
34
+ slot({
35
+ "default": true,
36
+ invalidateOnChildChange: true,
37
+ type: HTMLElement,
38
+ })
39
+ ], UserSettingsNotificationsViewGroup.prototype, "items", void 0);
40
+ UserSettingsNotificationsViewGroup = __decorate([
41
+ customElement({
42
+ tag: "ui5-user-settings-notifications-view-group",
43
+ styles: [ListItemGroup.styles, UserSettingsNotificationsViewGroupCss],
44
+ })
45
+ ], UserSettingsNotificationsViewGroup);
46
+ UserSettingsNotificationsViewGroup.define();
47
+ export const isInstanceOfUserSettingsNotificationsViewGroup = createInstanceChecker("isUserSettingsNotificationsViewGroup");
48
+ export default UserSettingsNotificationsViewGroup;
49
+ //# sourceMappingURL=UserSettingsNotificationsViewGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserSettingsNotificationsViewGroup.js","sourceRoot":"","sources":["../src/UserSettingsNotificationsViewGroup.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0CAA0C,CAAC;AACrE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,qBAAqB,MAAM,4DAA4D,CAAC;AAC/F,OAAO,qCAAqC,MAAM,8DAA8D,CAAC;AAIjH;;;;;;;;;;;;;;;GAeG;AAKH,IAAM,kCAAkC,GAAxC,MAAM,kCAAmC,SAAQ,aAAa;IAY7D,IAAI,oCAAoC;QACvC,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAA;AALQ;IALP,IAAI,CAAC;QACL,SAAS,EAAE,IAAI;QACf,uBAAuB,EAAE,IAAI;QAC7B,IAAI,EAAE,WAAW;KACjB,CAAC;iEAC4D;AAVzD,kCAAkC;IAJvC,aAAa,CAAC;QACd,GAAG,EAAE,4CAA4C;QACjD,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,qCAAqC,CAAC;KACrE,CAAC;GACI,kCAAkC,CAevC;AAED,kCAAkC,CAAC,MAAM,EAAE,CAAC;AAE5C,MAAM,CAAC,MAAM,8CAA8C,GAAG,qBAAqB,CAAqC,sCAAsC,CAAC,CAAC;AAChK,eAAe,kCAAkC,CAAC","sourcesContent":["import ListItemGroup from \"@ui5/webcomponents/dist/ListItemGroup.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport createInstanceChecker from \"@ui5/webcomponents-base/dist/util/createInstanceChecker.js\";\nimport UserSettingsNotificationsViewGroupCss from \"./generated/themes/UserSettingsNotificationsViewGroup.css.js\";\nimport type UserSettingsNotificationsViewItem from \"./UserSettingsNotificationsViewItem.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-user-settings-notifications-view-group` groups `ui5-user-settings-notifications-view-item`\n * elements inside a `ui5-user-settings-notifications-view`. Its header renders as a plain bold\n * section title with a separator line below, per the notifications design spec.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/UserSettingsNotificationsViewGroup.js\";`\n *\n * @constructor\n * @extends ListItemGroup\n * @public\n * @since 2.27.0\n */\n@customElement({\n\ttag: \"ui5-user-settings-notifications-view-group\",\n\tstyles: [ListItemGroup.styles, UserSettingsNotificationsViewGroupCss],\n})\nclass UserSettingsNotificationsViewGroup extends ListItemGroup {\n\t/**\n\t * Defines the items of the `ui5-user-settings-notifications-view-group`.\n\t * @public\n\t */\n\t@slot({\n\t\t\"default\": true,\n\t\tinvalidateOnChildChange: true,\n\t\ttype: HTMLElement,\n\t})\n\tdeclare items: DefaultSlot<UserSettingsNotificationsViewItem>;\n\n\tget isUserSettingsNotificationsViewGroup(): boolean {\n\t\treturn true;\n\t}\n}\n\nUserSettingsNotificationsViewGroup.define();\n\nexport const isInstanceOfUserSettingsNotificationsViewGroup = createInstanceChecker<UserSettingsNotificationsViewGroup>(\"isUserSettingsNotificationsViewGroup\");\nexport default UserSettingsNotificationsViewGroup;\n"]}
@@ -0,0 +1,100 @@
1
+ import ListItemCustom from "@ui5/webcomponents/dist/ListItemCustom.js";
2
+ import type { Slot } from "@ui5/webcomponents-base/dist/UI5Element.js";
3
+ import type { AccessibilityInfo } from "@ui5/webcomponents-base/dist/types.js";
4
+ type UserSettingsNotificationsViewItemSwitchChangeEventDetail = {
5
+ item: UserSettingsNotificationsViewItem;
6
+ checked: boolean;
7
+ };
8
+ /**
9
+ * @class
10
+ * ### Overview
11
+ *
12
+ * The `ui5-user-settings-notifications-view-item` represents a single notification setting
13
+ * within the `ui5-user-settings-notifications-view`.
14
+ *
15
+ * It displays a title and an optional byline. By default a trailing switch reflects
16
+ * the `checked` state. Applications can override the trailing control by providing content
17
+ * in the `endContent` slot (e.g. a `ui5-select` for a value picker); the built-in switch and
18
+ * its `switch-change` event are then suppressed. Items can additionally be flagged as
19
+ * `navigable` to display a navigation arrow and behave as clickable list rows.
20
+ *
21
+ * **Note:** The default switch and the `endContent` slot are mutually exclusive.
22
+ * When any content is provided in `endContent`, the trailing switch is not rendered
23
+ * and no `switch-change` event is fired.
24
+ *
25
+ * ### ES6 Module Import
26
+ * `import "@ui5/webcomponents-fiori/dist/UserSettingsNotificationsViewItem.js";`
27
+ *
28
+ * @constructor
29
+ * @extends ListItemCustom
30
+ * @public
31
+ * @since 2.27.0
32
+ */
33
+ declare class UserSettingsNotificationsViewItem extends ListItemCustom {
34
+ eventDetails: ListItemCustom["eventDetails"] & {
35
+ "switch-change": UserSettingsNotificationsViewItemSwitchChangeEventDetail;
36
+ "_form-item-click": {
37
+ item: UserSettingsNotificationsViewItem;
38
+ };
39
+ };
40
+ /**
41
+ * Defines the unique identifier of the item.
42
+ *
43
+ * When the item is navigable, `itemKey` is also used to route to a matching sibling
44
+ * `secondary` view by id.
45
+ *
46
+ * @default ""
47
+ * @public
48
+ */
49
+ itemKey: string;
50
+ /**
51
+ * Defines the title text of the item.
52
+ * @default ""
53
+ * @public
54
+ */
55
+ text: string;
56
+ /**
57
+ * Defines the byline text of the item, rendered below the title.
58
+ * @default ""
59
+ * @public
60
+ */
61
+ bylineText: string;
62
+ /**
63
+ * Defines whether the trailing switch is on.
64
+ *
65
+ * Ignored when the `endContent` slot is used.
66
+ *
67
+ * @default false
68
+ * @public
69
+ */
70
+ checked: boolean;
71
+ /**
72
+ * Defines whether the item is navigable. When true, a navigation arrow is rendered
73
+ * and the whole row becomes clickable (fires the parent view's `item-click` event).
74
+ * @default false
75
+ * @public
76
+ */
77
+ navigable: boolean;
78
+ /**
79
+ * Defines custom content rendered at the trailing end of the item, replacing the
80
+ * default switch. Use this to place a `ui5-select`, `ui5-input`, or any other
81
+ * control instead of a boolean toggle.
82
+ *
83
+ * @public
84
+ */
85
+ endContent: Slot<HTMLElement>;
86
+ get isUserSettingsNotificationsViewItem(): boolean;
87
+ get typeNavigation(): boolean;
88
+ get _isHeaderItem(): boolean;
89
+ shouldForwardTabAfter(): boolean;
90
+ get _hasEndContent(): boolean;
91
+ get _accessibleSwitchName(): string;
92
+ _onkeyup(e: KeyboardEvent): void;
93
+ _handleSwitchChange: (e: Event) => void;
94
+ _handleFormItemClick: (e: MouseEvent) => void;
95
+ _handleEndClick: (e: MouseEvent) => void;
96
+ get accessibilityInfo(): AccessibilityInfo;
97
+ }
98
+ export declare const isInstanceOfUserSettingsNotificationsViewItem: (object: any) => object is UserSettingsNotificationsViewItem;
99
+ export default UserSettingsNotificationsViewItem;
100
+ export type { UserSettingsNotificationsViewItemSwitchChangeEventDetail, };