@geotab/zenith 3.11.1 → 3.12.0-beta.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 (636) hide show
  1. package/README.md +70 -0
  2. package/dist/absolute/absolute.d.ts +21 -1
  3. package/dist/absolute/absolute.js +46 -6
  4. package/dist/advancedGroupsFilter/advancedGroupsFilter.js +3 -3
  5. package/dist/advancedGroupsFilter/advancedGroupsFilterForm.js +2 -2
  6. package/dist/advancedGroupsFilter/advancedGroupsFilterFormSection.js +7 -7
  7. package/dist/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.js +1 -1
  8. package/dist/alert/banner.d.ts +3 -1
  9. package/dist/alertRaw/alertRaw.js +1 -1
  10. package/dist/banner/banner.d.ts +5 -2
  11. package/dist/banner/banner.js +13 -2
  12. package/dist/banner/bannerErrorSummary.d.ts +7 -0
  13. package/dist/banner/bannerErrorSummary.js +8 -0
  14. package/dist/banner/bannerMultipLine.js +1 -1
  15. package/dist/banner/bannerSingleLine.js +1 -1
  16. package/dist/banner/utils/buildSummaryErrorList.d.ts +1 -0
  17. package/dist/banner/utils/buildSummaryErrorList.js +16 -0
  18. package/dist/banner/utils/hasSummaryErrorChild.d.ts +1 -0
  19. package/dist/banner/utils/hasSummaryErrorChild.js +7 -0
  20. package/dist/banner/utils/isSummaryErrorBanner.d.ts +2 -0
  21. package/dist/banner/utils/isSummaryErrorBanner.js +6 -0
  22. package/dist/banner/utils/isSummaryErrorElement.d.ts +3 -0
  23. package/dist/banner/utils/isSummaryErrorElement.js +7 -0
  24. package/dist/banner/utils/useSummaryBannerProp.d.ts +6 -0
  25. package/dist/banner/utils/useSummaryBannerProp.js +34 -0
  26. package/dist/betaPill/betaPill.js +4 -4
  27. package/dist/bookmark/bookmark.js +2 -2
  28. package/dist/bulkEditControl/bulkEditControl.js +5 -5
  29. package/dist/calendar/calendar.js +37 -34
  30. package/dist/calendar/calendarUtils.js +6 -4
  31. package/dist/card/card.js +1 -1
  32. package/dist/card/components/title.js +4 -1
  33. package/dist/card/components/titleLink.js +5 -2
  34. package/dist/chart/accessibleChart/accessibleChartNarrative.js +13 -13
  35. package/dist/chart/accessibleChart/accessibleChartTable.js +5 -5
  36. package/dist/chart/barChart/getDefaultOptions.d.ts +2 -1
  37. package/dist/chart/barChart/getDefaultOptions.js +5 -2
  38. package/dist/chart/barChart.js +6 -4
  39. package/dist/chart/chart.js +1 -1
  40. package/dist/chart/chartAxis/chartAxis.js +2 -2
  41. package/dist/chart/lineChart/getDefaultOptions.d.ts +4 -1
  42. package/dist/chart/lineChart/getDefaultOptions.js +7 -2
  43. package/dist/chart/lineChart.js +7 -3
  44. package/dist/chart/plugins/linePlugin/linePlugin.js +5 -4
  45. package/dist/chart/utils/getXAxisMeta.js +8 -5
  46. package/dist/chart/utils/isDateRange.js +1 -1
  47. package/dist/chart/utils/useHidden.d.ts +1 -0
  48. package/dist/chart/utils/useHidden.js +1 -1
  49. package/dist/chart/utils/useLastVisibleXAxisMeta.d.ts +2 -0
  50. package/dist/chart/utils/useLastVisibleXAxisMeta.js +15 -0
  51. package/dist/checkboxListWithAction/checkboxListWithAction.js +8 -5
  52. package/dist/chip/chip.js +1 -1
  53. package/dist/columnsSelector/columnsSelector.js +2 -2
  54. package/dist/columnsSelector/columnsTab/columnsTab.js +1 -1
  55. package/dist/columnsSelector/columnsTabGroup/columnsTabGroup.js +1 -1
  56. package/dist/commonHelpers/arrowNavigation/components/arrowButton/arrowButton.js +4 -1
  57. package/dist/commonStyles/columnsList.less +59 -0
  58. package/dist/commonStyles/link/link.less +1 -1
  59. package/dist/commonStyles/pillStyles/pillContent.less +14 -15
  60. package/dist/commonStyles/pillStyles/pillStyles.less +4 -5
  61. package/dist/commonStyles/pillStyles/pillTextContent.less +2 -2
  62. package/dist/commonStyles/pillStyles/pillTypes.less +1 -1
  63. package/dist/commonStyles/popupMixin.less +1 -1
  64. package/dist/commonStyles/selectButton.less +1 -1
  65. package/dist/commonStyles/typography/typography.less +545 -19
  66. package/dist/controlledPopup/controlledPopup.d.ts +1 -0
  67. package/dist/controlledPopup/controlledPopup.js +3 -1
  68. package/dist/dataFeed/feedExpandControl/feedExpandControl.js +5 -0
  69. package/dist/dataGrid/cell/cell.d.ts +2 -1
  70. package/dist/dataGrid/cell/cell.js +2 -2
  71. package/dist/dataGrid/columns/checkboxColumn/checkboxHeaderCell.js +1 -1
  72. package/dist/dataGrid/dataGrid.js +8 -5
  73. package/dist/dataGrid/emptySearchList/emptySearchList.js +1 -1
  74. package/dist/dataGrid/entitiesListActions/actions/columnsListButton.js +1 -1
  75. package/dist/dataGrid/entitiesListActions/actions/fullscreenButton.js +2 -2
  76. package/dist/dataGrid/listColumn.d.ts +2 -0
  77. package/dist/dataGrid/row/row.d.ts +2 -1
  78. package/dist/dataGrid/row/row.js +13 -9
  79. package/dist/dataGrid/withFlexibleColumns/components/columnSettings.js +2 -2
  80. package/dist/dataGrid/withFlexibleColumns/components/columnSettingsList.d.ts +1 -1
  81. package/dist/dataGrid/withFlexibleColumns/components/columnSettingsList.js +45 -116
  82. package/dist/dataGrid/withFlexibleColumns/components/columnSettingsSidePanel.js +4 -0
  83. package/dist/dataGrid/withFlexibleColumns/withFlexibleColumns.js +1 -1
  84. package/dist/dataGrid/withSelectableRows/components/bulkActions/bulkActions.d.ts +4 -0
  85. package/dist/dataGrid/withSelectableRows/components/bulkActions/bulkActions.js +5 -5
  86. package/dist/dataGrid/withSelectableRows/withSelectableRows.js +4 -3
  87. package/dist/dataGrid/withSortableColumns/columns/sortableColumnWrapper.js +2 -2
  88. package/dist/dateInputInner/dateInputInner.js +7 -7
  89. package/dist/dateInputInner/dateInputInnerControlBlock.js +2 -2
  90. package/dist/dateInputRaw/dateInputRaw.js +4 -4
  91. package/dist/dateInputRaw/utils/getLabel.js +2 -2
  92. package/dist/dateRangeInner/dateRangeInner.js +6 -3
  93. package/dist/dateRangeRaw/dateRangeRaw.d.ts +1 -0
  94. package/dist/dateRangeRaw/dateRangeRaw.js +21 -15
  95. package/dist/dateRangeRaw/types.d.ts +1 -0
  96. package/dist/dateRangeRaw/utils/dateRangeUtils.js +17 -17
  97. package/dist/dateRangeRaw/utils/parseLabel.js +1 -1
  98. package/dist/dateSelectionWrapper/dateSelectionWrapper.js +4 -4
  99. package/dist/dialog/dialogContent.js +1 -1
  100. package/dist/dropdown/dropdownTrigger.d.ts +1 -1
  101. package/dist/dropdownRaw/dropdownList.js +9 -9
  102. package/dist/dropdownRaw/dropdownPopup.js +3 -3
  103. package/dist/dropdownRaw/dropdownRaw.js +34 -17
  104. package/dist/dropdownRaw/dropdownSearchableTrigger.d.ts +2 -1
  105. package/dist/dropdownRaw/dropdownSearchableTrigger.js +8 -6
  106. package/dist/dropdownRaw/dropdownTrigger.d.ts +2 -1
  107. package/dist/dropdownRaw/dropdownTrigger.js +2 -2
  108. package/dist/dropdownRaw/types.d.ts +2 -0
  109. package/dist/favoriteButton/favoriteButton.js +1 -1
  110. package/dist/fileUpload/components/dropZoneContent.js +104 -104
  111. package/dist/fileUpload/components/templateDownloadSection.js +1 -1
  112. package/dist/fileUpload/components/uploadedFilesSection.js +2 -2
  113. package/dist/fileUpload/fileUpload.js +106 -106
  114. package/dist/filterButton/filterButton.d.ts +1 -0
  115. package/dist/filters/components/filtersContainer.js +2 -2
  116. package/dist/filters/components/filtersDropdown.d.ts +1 -1
  117. package/dist/filters/components/filtersEmptyState.js +2 -2
  118. package/dist/filters/components/filtersSaveModal.js +5 -5
  119. package/dist/filters/components/filtersSavedChipComponent.js +11 -11
  120. package/dist/filters/components/filtersSearchItemData.js +1 -1
  121. package/dist/filters/components/filtersSearchList.js +14 -11
  122. package/dist/filters/components/filtersSelect.js +1 -1
  123. package/dist/filters/components/filtersSelectListItem.js +2 -2
  124. package/dist/filters/components/filtersSidePanel.js +8 -8
  125. package/dist/filters/filters.js +7 -7
  126. package/dist/filtersBar/components/filtersBarGroupsFilter/filtersBarGroupsFilter.d.ts +1 -1
  127. package/dist/filtersBar/components/filtersBarPeriodPicker/filtersBarPeriodPicker.d.ts +1 -0
  128. package/dist/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +18 -18
  129. package/dist/filtersBar/components/resetComponentButton.js +1 -1
  130. package/dist/filtersBar/filtersBarActions/filtersBarActions.js +3 -3
  131. package/dist/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRange/filtersBarSidePanelRange.js +2 -2
  132. package/dist/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +5 -5
  133. package/dist/filtersBar/filtersContainer/filtersContainer.js +62 -61
  134. package/dist/formField/hooks/useError.js +3 -3
  135. package/dist/formField/hooks/useFormFieldProps.d.ts +1 -1
  136. package/dist/formField/hooks/useFormFieldProps.js +4 -2
  137. package/dist/formGroup/components/reviewListToggle/reviewListToggle.js +2 -2
  138. package/dist/formGroup/hooks/useCustomRow.js +46 -32
  139. package/dist/formGroup/hooks/useRowElements.js +9 -6
  140. package/dist/formGroup/hooks/useToggle.js +1 -1
  141. package/dist/formGroup/types.d.ts +4 -0
  142. package/dist/formGroup/utils/normalizeFieldId.d.ts +1 -0
  143. package/dist/formGroup/utils/normalizeFieldId.js +5 -0
  144. package/dist/formGroup/utils/resolveId.d.ts +7 -0
  145. package/dist/formGroup/utils/resolveId.js +6 -0
  146. package/dist/formLayout/components/getLayoutColumns.js +4 -2
  147. package/dist/formLayout/hooks/useError.js +3 -3
  148. package/dist/formLayout/hooks/useErrorSummary.d.ts +6 -0
  149. package/dist/formLayout/hooks/useErrorSummary.js +34 -0
  150. package/dist/formLayout/hooks/useFormButtons.js +3 -3
  151. package/dist/formLayout/utils/applyGridPropsStatic.js +1 -1
  152. package/dist/formLayout/utils/flattenErrors.d.ts +5 -0
  153. package/dist/formLayout/utils/flattenErrors.js +14 -0
  154. package/dist/formLayout/utils/getChildrenWithCustomColumns.js +3 -0
  155. package/dist/formLayout/utils/getFieldLabel.d.ts +1 -0
  156. package/dist/formLayout/utils/getFieldLabel.js +26 -0
  157. package/dist/formSection/hooks/useError.js +3 -3
  158. package/dist/formStepper/components/formStep.js +1 -1
  159. package/dist/formStepper/formStepper.js +2 -2
  160. package/dist/formStepperButtons/formStepperButtons.js +8 -5
  161. package/dist/gridLayout/hooks/useGridClasses.js +3 -9
  162. package/dist/groupButtonRaw/groupButtonRaw.js +2 -2
  163. package/dist/groupButtonRaw/types.d.ts +1 -0
  164. package/dist/groupsFilterRaw/groupsFilterAdjustmentState.js +8 -5
  165. package/dist/groupsFilterRaw/groupsFilterBox.js +3 -3
  166. package/dist/groupsFilterRaw/groupsFilterCommon.js +2 -2
  167. package/dist/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +5 -5
  168. package/dist/groupsFilterRaw/groupsFilterHelper.js +2 -2
  169. package/dist/groupsFilterRaw/groupsFilterInitialState.js +12 -9
  170. package/dist/groupsFilterRaw/groupsFilterMenu.js +3 -3
  171. package/dist/groupsFilterRaw/groupsFilterRaw.d.ts +1 -0
  172. package/dist/groupsFilterRaw/groupsFilterRaw.js +15 -10
  173. package/dist/groupsFilterRaw/groupsFilterTrigger.d.ts +2 -1
  174. package/dist/groupsFilterRaw/groupsFilterTrigger.js +8 -5
  175. package/dist/groupsFilterRaw/groupsHelper.js +22 -22
  176. package/dist/groupsFilterRaw/types.d.ts +2 -0
  177. package/dist/header/components/collapsedItemsControl/collapsedItemsControl.js +1 -1
  178. package/dist/header/components/mobileFilterControl/mobileFilterControl.js +1 -1
  179. package/dist/header/components/mobileSearchControl/mobileSearchControl.js +3 -3
  180. package/dist/header/header.js +1 -1
  181. package/dist/header/headerBack.js +5 -2
  182. package/dist/header/headerHelpers.d.ts +1 -0
  183. package/dist/header/headerHelpers.js +10 -1
  184. package/dist/header/hooks/useNonFittingElements.js +1 -1
  185. package/dist/icons/iconAlignLeft.js +1 -3
  186. package/dist/icons/iconAlignmentLeft.js +1 -3
  187. package/dist/icons/iconAlignmentRight.js +1 -3
  188. package/dist/icons/iconArrowBottomLeft.js +1 -3
  189. package/dist/icons/iconArrowBottomRight.js +1 -3
  190. package/dist/icons/iconArrowLeftPath.js +1 -3
  191. package/dist/icons/iconArrowRight.js +1 -3
  192. package/dist/icons/iconArrowRightCircle.js +1 -3
  193. package/dist/icons/iconArrowRightPath.js +1 -3
  194. package/dist/icons/iconArrowTopLeft.js +1 -3
  195. package/dist/icons/iconArrowTopRight.js +1 -3
  196. package/dist/icons/iconChevronDoubleRight.js +1 -3
  197. package/dist/icons/iconChevronRight.js +1 -3
  198. package/dist/icons/iconChevronRightSmall.js +1 -3
  199. package/dist/icons/iconCornerDownLeft.js +1 -3
  200. package/dist/icons/iconCornerDownRight.js +1 -3
  201. package/dist/icons/iconCornerLeftDown.js +1 -3
  202. package/dist/icons/iconCornerLeftUp.js +1 -3
  203. package/dist/icons/iconCornerRightDown.js +1 -3
  204. package/dist/icons/iconCornerRightUp.js +1 -3
  205. package/dist/icons/iconCornerUpLeft.js +1 -3
  206. package/dist/icons/iconCornerUpRight.js +1 -3
  207. package/dist/index.css +3628 -3321
  208. package/dist/index.d.ts +1 -0
  209. package/dist/index.js +16 -14
  210. package/dist/lineChartMini/lineChartMini.js +15 -3
  211. package/dist/list/itemData/itemDataInternal.js +6 -3
  212. package/dist/list/listItem/listItem.js +6 -3
  213. package/dist/menu/components/controlledMenuList/controlledMenuList.js +4 -1
  214. package/dist/menu/components/menuButton.d.ts +2 -1
  215. package/dist/menu/components/menuButton.js +7 -4
  216. package/dist/menu/components/menuErrorItem.js +2 -2
  217. package/dist/menu/components/menuItem.js +4 -4
  218. package/dist/menu/utils/useMenuItemCore.js +4 -3
  219. package/dist/miniTabs/miniTabs.d.ts +1 -0
  220. package/dist/miniTabs/miniTabs.js +1 -1
  221. package/dist/miniTabs/miniTabsHeaderItem.d.ts +2 -1
  222. package/dist/miniTabs/miniTabsHeaderItem.js +1 -1
  223. package/dist/miniTabs/miniTabsItem.d.ts +1 -0
  224. package/dist/mobileSheet/mobileSheet.js +2 -2
  225. package/dist/modal/modal.js +1 -1
  226. package/dist/nav/navFooter/navEditFooter/navEditFooter.js +2 -2
  227. package/dist/nav/navFooter/navFooter.js +1 -1
  228. package/dist/nav/navFooter/navFooterAction/navFooterAction.js +1 -1
  229. package/dist/nav/navHeader/navHeader.js +2 -2
  230. package/dist/nav/navHeader/navHeaderSearch/navHeaderSearch.js +2 -2
  231. package/dist/nav/navItem/navItem.js +4 -1
  232. package/dist/nav/navMobileBar/navMobileBar.js +1 -1
  233. package/dist/notification/notification.js +1 -1
  234. package/dist/pagination/paginationArrow.js +12 -5
  235. package/dist/pagination/paginationText/paginationText.js +1 -1
  236. package/dist/pill/components/pillNonActionable/pillNonActionable.js +1 -1
  237. package/dist/pillBox/components/pillBoxItem.js +1 -1
  238. package/dist/pillBox/pillBox.js +3 -3
  239. package/dist/pillExpandable/pillContent.js +12 -3
  240. package/dist/pillExpandable/pillExpandable.d.ts +4 -1
  241. package/dist/pillExpandable/pillExpandable.js +5 -3
  242. package/dist/pillExpandable/pillExpandableSimple.d.ts +1 -1
  243. package/dist/pillExpandable/pillExpandableSimple.js +4 -4
  244. package/dist/radioGroupRaw/radioGroupRaw.js +2 -1
  245. package/dist/rangeRaw/rangeRaw.js +7 -8
  246. package/dist/rangeRaw/utils/rangeHelper.js +7 -7
  247. package/dist/searchInputRaw/searchInputRaw.js +6 -3
  248. package/dist/selectList/selectList.js +2 -2
  249. package/dist/selectList/selectListItem.js +4 -1
  250. package/dist/skeleton/skeleton.js +1 -1
  251. package/dist/sortControl/sortControl.js +6 -7
  252. package/dist/stepperRaw/stepperRaw.js +5 -0
  253. package/dist/summary/summary.js +2 -2
  254. package/dist/summaryTile/summaryTile.d.ts +4 -2
  255. package/dist/summaryTile/summaryTile.js +59 -26
  256. package/dist/summaryTileBar/summaryTileBar.d.ts +4 -2
  257. package/dist/summaryTileBar/summaryTileBar.js +2 -2
  258. package/dist/table/actions/actionsMenu.js +2 -2
  259. package/dist/table/children/useTableChildren.d.ts +1 -1
  260. package/dist/table/children/useTableChildren.js +3 -3
  261. package/dist/table/detailPanel/detailPanel.js +1 -1
  262. package/dist/table/detailPanel/detailPanelHeader.js +2 -2
  263. package/dist/table/flexible/columnSettings.js +2 -2
  264. package/dist/table/flexible/columnsList.js +47 -117
  265. package/dist/table/flexible/columnsPopup.d.ts +1 -1
  266. package/dist/table/flexible/columnsPopup.js +1 -1
  267. package/dist/table/nested/useNestedRows.js +2 -2
  268. package/dist/table/selectable/selectableHeader.js +5 -4
  269. package/dist/table/selectable/useSelectableRows.d.ts +8 -0
  270. package/dist/table/selectable/useSelectableRows.js +16 -8
  271. package/dist/table/sortable/mobileSortControl.js +1 -1
  272. package/dist/table/sortable/sortableHeader.js +2 -2
  273. package/dist/table/table.js +3 -9
  274. package/dist/tabs/tabItem/tabItem.d.ts +2 -1
  275. package/dist/tabs/tabItem/tabItem.js +7 -2
  276. package/dist/tabs/tabs.d.ts +2 -1
  277. package/dist/tabs/tabs.js +71 -61
  278. package/dist/tabs/tabsTestHelper.js +2 -2
  279. package/dist/timePickerRaw/timePickerRaw.js +11 -9
  280. package/dist/timePickerRaw/types.d.ts +1 -0
  281. package/dist/toastRaw/toastRaw.js +1 -1
  282. package/dist/toggleButtonRaw/toggleButtonRaw.js +7 -4
  283. package/dist/tooltip/tooltip.js +13 -5
  284. package/dist/utils/formatDate.js +37 -37
  285. package/dist/utils/localization/flipAlignment.js +12 -1
  286. package/dist/utils/localization/languageContext.d.ts +1 -1
  287. package/dist/utils/localization/translations/cs.json +7 -5
  288. package/dist/utils/localization/translations/da-DK.json +7 -5
  289. package/dist/utils/localization/translations/de.json +7 -5
  290. package/dist/utils/localization/translations/en.json +12 -1
  291. package/dist/utils/localization/translations/es.json +7 -5
  292. package/dist/utils/localization/translations/fi-FI.json +7 -5
  293. package/dist/utils/localization/translations/fr-FR.json +7 -5
  294. package/dist/utils/localization/translations/fr.json +7 -5
  295. package/dist/utils/localization/translations/hu-HU.json +7 -5
  296. package/dist/utils/localization/translations/id.json +7 -5
  297. package/dist/utils/localization/translations/it.json +7 -5
  298. package/dist/utils/localization/translations/ja.json +7 -5
  299. package/dist/utils/localization/translations/ko-KR.json +7 -5
  300. package/dist/utils/localization/translations/ms.json +7 -5
  301. package/dist/utils/localization/translations/nb-NO.json +7 -5
  302. package/dist/utils/localization/translations/nl.json +7 -5
  303. package/dist/utils/localization/translations/pl.json +7 -5
  304. package/dist/utils/localization/translations/pt-BR.json +7 -5
  305. package/dist/utils/localization/translations/pt-PT.json +7 -5
  306. package/dist/utils/localization/translations/ro-RO.json +7 -5
  307. package/dist/utils/localization/translations/sk-SK.json +7 -5
  308. package/dist/utils/localization/translations/sv.json +7 -5
  309. package/dist/utils/localization/translations/th.json +7 -5
  310. package/dist/utils/localization/translations/tr.json +7 -5
  311. package/dist/utils/localization/translations/zh-Hans.json +7 -5
  312. package/dist/utils/localization/translations/zh-TW.json +7 -5
  313. package/dist/utils/localization/useDirectionalIcon.d.ts +3 -0
  314. package/dist/utils/localization/useDirectionalIcon.js +9 -0
  315. package/dist/utils/positioningUtils/alignments.d.ts +2 -2
  316. package/dist/utils/positioningUtils/alignments.js +2 -2
  317. package/dist/utils/positioningUtils/calculatePosition.d.ts +2 -1
  318. package/dist/utils/positioningUtils/calculatePosition.js +11 -11
  319. package/dist/utils/positioningUtils/normalizeLogicalAlignment.d.ts +4 -0
  320. package/dist/utils/positioningUtils/normalizeLogicalAlignment.js +36 -0
  321. package/esm/absolute/absolute.d.ts +21 -1
  322. package/esm/absolute/absolute.js +46 -6
  323. package/esm/advancedGroupsFilter/advancedGroupsFilter.js +3 -3
  324. package/esm/advancedGroupsFilter/advancedGroupsFilterForm.js +2 -2
  325. package/esm/advancedGroupsFilter/advancedGroupsFilterFormSection.js +7 -7
  326. package/esm/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.js +1 -1
  327. package/esm/alert/banner.d.ts +3 -1
  328. package/esm/alertRaw/alertRaw.js +1 -1
  329. package/esm/banner/banner.d.ts +5 -2
  330. package/esm/banner/banner.js +13 -2
  331. package/esm/banner/bannerErrorSummary.d.ts +7 -0
  332. package/esm/banner/bannerErrorSummary.js +4 -0
  333. package/esm/banner/bannerMultipLine.js +1 -1
  334. package/esm/banner/bannerSingleLine.js +1 -1
  335. package/esm/banner/utils/buildSummaryErrorList.d.ts +1 -0
  336. package/esm/banner/utils/buildSummaryErrorList.js +12 -0
  337. package/esm/banner/utils/hasSummaryErrorChild.d.ts +1 -0
  338. package/esm/banner/utils/hasSummaryErrorChild.js +3 -0
  339. package/esm/banner/utils/isSummaryErrorBanner.d.ts +2 -0
  340. package/esm/banner/utils/isSummaryErrorBanner.js +2 -0
  341. package/esm/banner/utils/isSummaryErrorElement.d.ts +3 -0
  342. package/esm/banner/utils/isSummaryErrorElement.js +3 -0
  343. package/esm/banner/utils/useSummaryBannerProp.d.ts +6 -0
  344. package/esm/banner/utils/useSummaryBannerProp.js +25 -0
  345. package/esm/betaPill/betaPill.js +4 -4
  346. package/esm/bookmark/bookmark.js +2 -2
  347. package/esm/bulkEditControl/bulkEditControl.js +5 -5
  348. package/esm/calendar/calendar.js +37 -34
  349. package/esm/calendar/calendarUtils.js +6 -4
  350. package/esm/card/card.js +1 -1
  351. package/esm/card/components/title.js +4 -1
  352. package/esm/card/components/titleLink.js +5 -2
  353. package/esm/chart/accessibleChart/accessibleChartNarrative.js +13 -13
  354. package/esm/chart/accessibleChart/accessibleChartTable.js +5 -5
  355. package/esm/chart/barChart/getDefaultOptions.d.ts +2 -1
  356. package/esm/chart/barChart/getDefaultOptions.js +5 -2
  357. package/esm/chart/barChart.js +6 -4
  358. package/esm/chart/chart.js +1 -1
  359. package/esm/chart/chartAxis/chartAxis.js +2 -2
  360. package/esm/chart/lineChart/getDefaultOptions.d.ts +4 -1
  361. package/esm/chart/lineChart/getDefaultOptions.js +7 -2
  362. package/esm/chart/lineChart.js +7 -3
  363. package/esm/chart/plugins/linePlugin/linePlugin.js +5 -4
  364. package/esm/chart/utils/getXAxisMeta.js +8 -5
  365. package/esm/chart/utils/isDateRange.js +1 -1
  366. package/esm/chart/utils/useHidden.d.ts +1 -0
  367. package/esm/chart/utils/useHidden.js +1 -1
  368. package/esm/chart/utils/useLastVisibleXAxisMeta.d.ts +2 -0
  369. package/esm/chart/utils/useLastVisibleXAxisMeta.js +11 -0
  370. package/esm/checkboxListWithAction/checkboxListWithAction.js +8 -5
  371. package/esm/chip/chip.js +1 -1
  372. package/esm/columnsSelector/columnsSelector.js +2 -2
  373. package/esm/columnsSelector/columnsTab/columnsTab.js +1 -1
  374. package/esm/columnsSelector/columnsTabGroup/columnsTabGroup.js +1 -1
  375. package/esm/commonHelpers/arrowNavigation/components/arrowButton/arrowButton.js +4 -1
  376. package/esm/controlledPopup/controlledPopup.d.ts +1 -0
  377. package/esm/controlledPopup/controlledPopup.js +3 -1
  378. package/esm/dataFeed/feedExpandControl/feedExpandControl.js +3 -0
  379. package/esm/dataGrid/cell/cell.d.ts +2 -1
  380. package/esm/dataGrid/cell/cell.js +2 -2
  381. package/esm/dataGrid/columns/checkboxColumn/checkboxHeaderCell.js +1 -1
  382. package/esm/dataGrid/dataGrid.js +8 -5
  383. package/esm/dataGrid/emptySearchList/emptySearchList.js +1 -1
  384. package/esm/dataGrid/entitiesListActions/actions/columnsListButton.js +1 -1
  385. package/esm/dataGrid/entitiesListActions/actions/fullscreenButton.js +2 -2
  386. package/esm/dataGrid/listColumn.d.ts +2 -0
  387. package/esm/dataGrid/row/row.d.ts +2 -1
  388. package/esm/dataGrid/row/row.js +13 -9
  389. package/esm/dataGrid/withFlexibleColumns/components/columnSettings.js +2 -2
  390. package/esm/dataGrid/withFlexibleColumns/components/columnSettingsList.d.ts +1 -1
  391. package/esm/dataGrid/withFlexibleColumns/components/columnSettingsList.js +44 -110
  392. package/esm/dataGrid/withFlexibleColumns/components/columnSettingsSidePanel.js +2 -0
  393. package/esm/dataGrid/withFlexibleColumns/withFlexibleColumns.js +1 -1
  394. package/esm/dataGrid/withSelectableRows/components/bulkActions/bulkActions.d.ts +4 -0
  395. package/esm/dataGrid/withSelectableRows/components/bulkActions/bulkActions.js +5 -5
  396. package/esm/dataGrid/withSelectableRows/withSelectableRows.js +4 -3
  397. package/esm/dataGrid/withSortableColumns/columns/sortableColumnWrapper.js +2 -2
  398. package/esm/dateInputInner/dateInputInner.js +7 -7
  399. package/esm/dateInputInner/dateInputInnerControlBlock.js +2 -2
  400. package/esm/dateInputRaw/dateInputRaw.js +4 -4
  401. package/esm/dateInputRaw/utils/getLabel.js +2 -2
  402. package/esm/dateRangeInner/dateRangeInner.js +6 -3
  403. package/esm/dateRangeRaw/dateRangeRaw.d.ts +1 -0
  404. package/esm/dateRangeRaw/dateRangeRaw.js +21 -15
  405. package/esm/dateRangeRaw/types.d.ts +1 -0
  406. package/esm/dateRangeRaw/utils/dateRangeUtils.js +17 -17
  407. package/esm/dateRangeRaw/utils/parseLabel.js +1 -1
  408. package/esm/dateSelectionWrapper/dateSelectionWrapper.js +4 -4
  409. package/esm/dialog/dialogContent.js +1 -1
  410. package/esm/dropdown/dropdownTrigger.d.ts +1 -1
  411. package/esm/dropdownRaw/dropdownList.js +9 -9
  412. package/esm/dropdownRaw/dropdownPopup.js +3 -3
  413. package/esm/dropdownRaw/dropdownRaw.js +34 -17
  414. package/esm/dropdownRaw/dropdownSearchableTrigger.d.ts +2 -1
  415. package/esm/dropdownRaw/dropdownSearchableTrigger.js +8 -6
  416. package/esm/dropdownRaw/dropdownTrigger.d.ts +2 -1
  417. package/esm/dropdownRaw/dropdownTrigger.js +2 -2
  418. package/esm/dropdownRaw/types.d.ts +2 -0
  419. package/esm/favoriteButton/favoriteButton.js +1 -1
  420. package/esm/fileUpload/components/dropZoneContent.js +104 -104
  421. package/esm/fileUpload/components/templateDownloadSection.js +1 -1
  422. package/esm/fileUpload/components/uploadedFilesSection.js +2 -2
  423. package/esm/fileUpload/fileUpload.js +106 -106
  424. package/esm/filterButton/filterButton.d.ts +1 -0
  425. package/esm/filters/components/filtersContainer.js +2 -2
  426. package/esm/filters/components/filtersDropdown.d.ts +1 -1
  427. package/esm/filters/components/filtersEmptyState.js +2 -2
  428. package/esm/filters/components/filtersSaveModal.js +5 -5
  429. package/esm/filters/components/filtersSavedChipComponent.js +11 -11
  430. package/esm/filters/components/filtersSearchItemData.js +1 -1
  431. package/esm/filters/components/filtersSearchList.js +14 -11
  432. package/esm/filters/components/filtersSelect.js +1 -1
  433. package/esm/filters/components/filtersSelectListItem.js +2 -2
  434. package/esm/filters/components/filtersSidePanel.js +8 -8
  435. package/esm/filters/filters.js +7 -7
  436. package/esm/filtersBar/components/filtersBarGroupsFilter/filtersBarGroupsFilter.d.ts +1 -1
  437. package/esm/filtersBar/components/filtersBarPeriodPicker/filtersBarPeriodPicker.d.ts +1 -0
  438. package/esm/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +18 -18
  439. package/esm/filtersBar/components/resetComponentButton.js +1 -1
  440. package/esm/filtersBar/filtersBarActions/filtersBarActions.js +3 -3
  441. package/esm/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRange/filtersBarSidePanelRange.js +2 -2
  442. package/esm/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +5 -5
  443. package/esm/filtersBar/filtersContainer/filtersContainer.js +62 -61
  444. package/esm/formField/hooks/useError.js +3 -3
  445. package/esm/formField/hooks/useFormFieldProps.d.ts +1 -1
  446. package/esm/formField/hooks/useFormFieldProps.js +4 -2
  447. package/esm/formGroup/components/reviewListToggle/reviewListToggle.js +2 -2
  448. package/esm/formGroup/hooks/useCustomRow.js +46 -32
  449. package/esm/formGroup/hooks/useRowElements.js +9 -6
  450. package/esm/formGroup/hooks/useToggle.js +1 -1
  451. package/esm/formGroup/types.d.ts +4 -0
  452. package/esm/formGroup/utils/normalizeFieldId.d.ts +1 -0
  453. package/esm/formGroup/utils/normalizeFieldId.js +1 -0
  454. package/esm/formGroup/utils/resolveId.d.ts +7 -0
  455. package/esm/formGroup/utils/resolveId.js +2 -0
  456. package/esm/formLayout/components/getLayoutColumns.js +4 -2
  457. package/esm/formLayout/hooks/useError.js +3 -3
  458. package/esm/formLayout/hooks/useErrorSummary.d.ts +6 -0
  459. package/esm/formLayout/hooks/useErrorSummary.js +30 -0
  460. package/esm/formLayout/hooks/useFormButtons.js +3 -3
  461. package/esm/formLayout/utils/applyGridPropsStatic.js +1 -1
  462. package/esm/formLayout/utils/flattenErrors.d.ts +5 -0
  463. package/esm/formLayout/utils/flattenErrors.js +10 -0
  464. package/esm/formLayout/utils/getChildrenWithCustomColumns.js +3 -0
  465. package/esm/formLayout/utils/getFieldLabel.d.ts +1 -0
  466. package/esm/formLayout/utils/getFieldLabel.js +22 -0
  467. package/esm/formSection/hooks/useError.js +3 -3
  468. package/esm/formStepper/components/formStep.js +1 -1
  469. package/esm/formStepper/formStepper.js +2 -2
  470. package/esm/formStepperButtons/formStepperButtons.js +8 -5
  471. package/esm/gridLayout/hooks/useGridClasses.js +3 -9
  472. package/esm/groupButtonRaw/groupButtonRaw.js +2 -2
  473. package/esm/groupButtonRaw/types.d.ts +1 -0
  474. package/esm/groupsFilterRaw/groupsFilterAdjustmentState.js +8 -5
  475. package/esm/groupsFilterRaw/groupsFilterBox.js +3 -3
  476. package/esm/groupsFilterRaw/groupsFilterCommon.js +2 -2
  477. package/esm/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +5 -5
  478. package/esm/groupsFilterRaw/groupsFilterHelper.js +2 -2
  479. package/esm/groupsFilterRaw/groupsFilterInitialState.js +12 -9
  480. package/esm/groupsFilterRaw/groupsFilterMenu.js +3 -3
  481. package/esm/groupsFilterRaw/groupsFilterRaw.d.ts +1 -0
  482. package/esm/groupsFilterRaw/groupsFilterRaw.js +15 -10
  483. package/esm/groupsFilterRaw/groupsFilterTrigger.d.ts +2 -1
  484. package/esm/groupsFilterRaw/groupsFilterTrigger.js +8 -5
  485. package/esm/groupsFilterRaw/groupsHelper.js +22 -22
  486. package/esm/groupsFilterRaw/types.d.ts +2 -0
  487. package/esm/header/components/collapsedItemsControl/collapsedItemsControl.js +1 -1
  488. package/esm/header/components/mobileFilterControl/mobileFilterControl.js +1 -1
  489. package/esm/header/components/mobileSearchControl/mobileSearchControl.js +3 -3
  490. package/esm/header/header.js +2 -2
  491. package/esm/header/headerBack.js +5 -2
  492. package/esm/header/headerHelpers.d.ts +1 -0
  493. package/esm/header/headerHelpers.js +8 -0
  494. package/esm/header/hooks/useNonFittingElements.js +1 -1
  495. package/esm/icons/iconAlignLeft.js +1 -3
  496. package/esm/icons/iconAlignmentLeft.js +1 -3
  497. package/esm/icons/iconAlignmentRight.js +1 -3
  498. package/esm/icons/iconArrowBottomLeft.js +1 -3
  499. package/esm/icons/iconArrowBottomRight.js +1 -3
  500. package/esm/icons/iconArrowLeftPath.js +1 -3
  501. package/esm/icons/iconArrowRight.js +1 -3
  502. package/esm/icons/iconArrowRightCircle.js +1 -3
  503. package/esm/icons/iconArrowRightPath.js +1 -3
  504. package/esm/icons/iconArrowTopLeft.js +1 -3
  505. package/esm/icons/iconArrowTopRight.js +1 -3
  506. package/esm/icons/iconChevronDoubleRight.js +1 -3
  507. package/esm/icons/iconChevronRight.js +1 -3
  508. package/esm/icons/iconChevronRightSmall.js +1 -3
  509. package/esm/icons/iconCornerDownLeft.js +1 -3
  510. package/esm/icons/iconCornerDownRight.js +1 -3
  511. package/esm/icons/iconCornerLeftDown.js +1 -3
  512. package/esm/icons/iconCornerLeftUp.js +1 -3
  513. package/esm/icons/iconCornerRightDown.js +1 -3
  514. package/esm/icons/iconCornerRightUp.js +1 -3
  515. package/esm/icons/iconCornerUpLeft.js +1 -3
  516. package/esm/icons/iconCornerUpRight.js +1 -3
  517. package/esm/index.d.ts +1 -0
  518. package/esm/index.js +1 -0
  519. package/esm/lineChartMini/lineChartMini.js +15 -3
  520. package/esm/list/itemData/itemDataInternal.js +6 -3
  521. package/esm/list/listItem/listItem.js +6 -3
  522. package/esm/menu/components/controlledMenuList/controlledMenuList.js +4 -1
  523. package/esm/menu/components/menuButton.d.ts +2 -1
  524. package/esm/menu/components/menuButton.js +7 -4
  525. package/esm/menu/components/menuErrorItem.js +2 -2
  526. package/esm/menu/components/menuItem.js +4 -4
  527. package/esm/menu/utils/useMenuItemCore.js +4 -3
  528. package/esm/miniTabs/miniTabs.d.ts +1 -0
  529. package/esm/miniTabs/miniTabs.js +1 -1
  530. package/esm/miniTabs/miniTabsHeaderItem.d.ts +2 -1
  531. package/esm/miniTabs/miniTabsHeaderItem.js +1 -1
  532. package/esm/miniTabs/miniTabsItem.d.ts +1 -0
  533. package/esm/mobileSheet/mobileSheet.js +2 -2
  534. package/esm/modal/modal.js +1 -1
  535. package/esm/nav/navFooter/navEditFooter/navEditFooter.js +2 -2
  536. package/esm/nav/navFooter/navFooter.js +1 -1
  537. package/esm/nav/navFooter/navFooterAction/navFooterAction.js +1 -1
  538. package/esm/nav/navHeader/navHeader.js +2 -2
  539. package/esm/nav/navHeader/navHeaderSearch/navHeaderSearch.js +2 -2
  540. package/esm/nav/navItem/navItem.js +4 -1
  541. package/esm/nav/navMobileBar/navMobileBar.js +1 -1
  542. package/esm/notification/notification.js +1 -1
  543. package/esm/pagination/paginationArrow.js +12 -5
  544. package/esm/pagination/paginationText/paginationText.js +1 -1
  545. package/esm/pill/components/pillNonActionable/pillNonActionable.js +1 -1
  546. package/esm/pillBox/components/pillBoxItem.js +1 -1
  547. package/esm/pillBox/pillBox.js +3 -3
  548. package/esm/pillExpandable/pillContent.js +12 -3
  549. package/esm/pillExpandable/pillExpandable.d.ts +4 -1
  550. package/esm/pillExpandable/pillExpandable.js +5 -3
  551. package/esm/pillExpandable/pillExpandableSimple.d.ts +1 -1
  552. package/esm/pillExpandable/pillExpandableSimple.js +4 -4
  553. package/esm/radioGroupRaw/radioGroupRaw.js +2 -1
  554. package/esm/rangeRaw/rangeRaw.js +7 -8
  555. package/esm/rangeRaw/utils/rangeHelper.js +7 -7
  556. package/esm/searchInputRaw/searchInputRaw.js +6 -3
  557. package/esm/selectList/selectList.js +2 -2
  558. package/esm/selectList/selectListItem.js +4 -1
  559. package/esm/skeleton/skeleton.js +1 -1
  560. package/esm/sortControl/sortControl.js +6 -7
  561. package/esm/stepperRaw/stepperRaw.js +3 -0
  562. package/esm/summary/summary.js +2 -2
  563. package/esm/summaryTile/summaryTile.d.ts +4 -2
  564. package/esm/summaryTile/summaryTile.js +59 -26
  565. package/esm/summaryTileBar/summaryTileBar.d.ts +4 -2
  566. package/esm/summaryTileBar/summaryTileBar.js +2 -2
  567. package/esm/table/actions/actionsMenu.js +2 -2
  568. package/esm/table/children/useTableChildren.d.ts +1 -1
  569. package/esm/table/children/useTableChildren.js +3 -3
  570. package/esm/table/detailPanel/detailPanel.js +1 -1
  571. package/esm/table/detailPanel/detailPanelHeader.js +2 -2
  572. package/esm/table/flexible/columnSettings.js +2 -2
  573. package/esm/table/flexible/columnsList.js +46 -111
  574. package/esm/table/flexible/columnsPopup.d.ts +1 -1
  575. package/esm/table/flexible/columnsPopup.js +1 -1
  576. package/esm/table/nested/useNestedRows.js +2 -2
  577. package/esm/table/selectable/selectableHeader.js +5 -4
  578. package/esm/table/selectable/useSelectableRows.d.ts +8 -0
  579. package/esm/table/selectable/useSelectableRows.js +16 -8
  580. package/esm/table/sortable/mobileSortControl.js +1 -1
  581. package/esm/table/sortable/sortableHeader.js +2 -2
  582. package/esm/table/table.js +3 -9
  583. package/esm/tabs/tabItem/tabItem.d.ts +2 -1
  584. package/esm/tabs/tabItem/tabItem.js +7 -2
  585. package/esm/tabs/tabs.d.ts +2 -1
  586. package/esm/tabs/tabs.js +71 -61
  587. package/esm/tabs/tabsTestHelper.js +2 -2
  588. package/esm/testHelpers/mockAbsoluteAlignment.d.ts +1 -0
  589. package/esm/testHelpers/mockAbsoluteAlignment.js +10 -0
  590. package/esm/timePickerRaw/timePickerRaw.js +11 -9
  591. package/esm/timePickerRaw/types.d.ts +1 -0
  592. package/esm/toastRaw/toastRaw.js +1 -1
  593. package/esm/toggleButtonRaw/toggleButtonRaw.js +7 -4
  594. package/esm/tooltip/tooltip.js +13 -5
  595. package/esm/utils/formatDate.js +37 -37
  596. package/esm/utils/localization/flipAlignment.js +12 -1
  597. package/esm/utils/localization/languageContext.d.ts +1 -1
  598. package/esm/utils/localization/translations/cs.json +7 -5
  599. package/esm/utils/localization/translations/da-DK.json +7 -5
  600. package/esm/utils/localization/translations/de.json +7 -5
  601. package/esm/utils/localization/translations/en.json +12 -1
  602. package/esm/utils/localization/translations/es.json +7 -5
  603. package/esm/utils/localization/translations/fi-FI.json +7 -5
  604. package/esm/utils/localization/translations/fr-FR.json +7 -5
  605. package/esm/utils/localization/translations/fr.json +7 -5
  606. package/esm/utils/localization/translations/hu-HU.json +7 -5
  607. package/esm/utils/localization/translations/id.json +7 -5
  608. package/esm/utils/localization/translations/it.json +7 -5
  609. package/esm/utils/localization/translations/ja.json +7 -5
  610. package/esm/utils/localization/translations/ko-KR.json +7 -5
  611. package/esm/utils/localization/translations/ms.json +7 -5
  612. package/esm/utils/localization/translations/nb-NO.json +7 -5
  613. package/esm/utils/localization/translations/nl.json +7 -5
  614. package/esm/utils/localization/translations/pl.json +7 -5
  615. package/esm/utils/localization/translations/pt-BR.json +7 -5
  616. package/esm/utils/localization/translations/pt-PT.json +7 -5
  617. package/esm/utils/localization/translations/ro-RO.json +7 -5
  618. package/esm/utils/localization/translations/sk-SK.json +7 -5
  619. package/esm/utils/localization/translations/sv.json +7 -5
  620. package/esm/utils/localization/translations/th.json +7 -5
  621. package/esm/utils/localization/translations/tr.json +7 -5
  622. package/esm/utils/localization/translations/zh-Hans.json +7 -5
  623. package/esm/utils/localization/translations/zh-TW.json +7 -5
  624. package/esm/utils/localization/useDirectionalIcon.d.ts +3 -0
  625. package/esm/utils/localization/useDirectionalIcon.js +5 -0
  626. package/esm/utils/positioningUtils/alignments.d.ts +2 -2
  627. package/esm/utils/positioningUtils/alignments.js +2 -2
  628. package/esm/utils/positioningUtils/calculatePosition.d.ts +2 -1
  629. package/esm/utils/positioningUtils/calculatePosition.js +11 -11
  630. package/esm/utils/positioningUtils/normalizeLogicalAlignment.d.ts +4 -0
  631. package/esm/utils/positioningUtils/normalizeLogicalAlignment.js +32 -0
  632. package/package.json +11 -12
  633. package/dist/utils/localization/translations/en-json.d.ts +0 -317
  634. package/dist/utils/localization/translations/en-json.js +0 -320
  635. package/esm/utils/localization/translations/en-json.d.ts +0 -317
  636. package/esm/utils/localization/translations/en-json.js +0 -317
@@ -16,11 +16,19 @@ import { useScroll } from "../commonHelpers/hooks/useScroll";
16
16
  import { getScrollableParent } from "../utils/getScrollableParent";
17
17
  import { useClientReady } from "../commonHelpers/hooks/useClientReady";
18
18
  import { zen } from "../utils/zen";
19
+ import { useDirection } from "../utils/localization/useDirection";
19
20
  export const Absolute = ({ isOpen, id, paddingX, paddingY, className, children, triggerRef, alignment, inline, onOpenChange, useTrapFocusWithTrigger = "off", shouldHoldScroll, stateFullChilds, role, ariaLabel, ariaLabelledby, alignmentsFn, recalculateOnScroll, closeOnScroll, recalculateTrigger = true, focusOnOpen = true }) => {
20
21
  const popupRef = useRef(null);
21
22
  const prevScroll = useRef(0);
23
+ // True when the popup is closed by an external gesture (click-outside, scroll-close)
24
+ // where focus intentionally moves away from the popup — prevents focus returning to trigger.
25
+ const closedByExternalRef = useRef(false);
26
+ // Tracks whether the popup has ever been open, so the close effect is skipped on initial mount
27
+ // (prevents returnFocusToTrigger from firing when isOpen starts as false).
28
+ const hadBeenOpenRef = useRef(false);
22
29
  const { dark } = useContext(themeContext);
23
30
  const isClientReady = useClientReady();
31
+ const direction = useDirection();
24
32
  const onScrollHandler = e => {
25
33
  var _a;
26
34
  prevScroll.current = (_a = e.target) === null || _a === void 0 ? void 0 : _a.scrollTop;
@@ -49,16 +57,16 @@ export const Absolute = ({ isOpen, id, paddingX, paddingY, className, children,
49
57
  }
50
58
  return getScrollableParent(triggerRef.current);
51
59
  }, [triggerRef, isOpen, recalculateOnScroll, closeOnScroll]);
52
- const calculatePosition = useCallback(() => calculatePos(triggerRef, popupRef, paddingX, paddingY, inline, alignment, alignmentsFn, parent ? parent : undefined), [triggerRef, paddingX, paddingY, inline, alignment, alignmentsFn, popupRef, parent]);
60
+ const calculatePosition = useCallback(() => calculatePos(triggerRef, popupRef, paddingX, paddingY, inline, alignment, alignmentsFn, parent ? parent : undefined, undefined, direction), [triggerRef, paddingX, paddingY, inline, alignment, alignmentsFn, popupRef, parent, direction]);
53
61
  const handleCloseOnScroll = useCallback(() => {
62
+ closedByExternalRef.current = true;
54
63
  onOpenChange(false);
55
64
  }, [onOpenChange]);
56
65
  useResize(calculatePosition, isOpen);
57
66
  useScroll(calculatePosition, isOpen && !!recalculateOnScroll, parent);
58
67
  useScroll(handleCloseOnScroll, isOpen && !!closeOnScroll, parent);
59
68
  useLayoutEffect(calculatePosition, [isOpen, children, recalculateTrigger, calculatePosition]);
60
- function handleEscape() {
61
- onOpenChange(false);
69
+ const returnFocusToTrigger = useCallback(() => {
62
70
  if (!triggerRef.current) {
63
71
  return;
64
72
  }
@@ -66,9 +74,40 @@ export const Absolute = ({ isOpen, id, paddingX, paddingY, className, children,
66
74
  triggerRef.current.focus();
67
75
  return;
68
76
  }
69
- const focusable = [...Array.from(triggerRef.current.querySelectorAll(FOCUSABLE_SELECTOR))];
70
- (focusable[0] || triggerRef.current).focus();
71
- }
77
+ const focusable = Array.from(triggerRef.current.querySelectorAll(FOCUSABLE_SELECTOR));
78
+ const target = focusable.find(el => isFocusable(el)) || triggerRef.current;
79
+ if (!isFocusable(target)) {
80
+ if (process.env.NODE_ENV !== "production") {
81
+ console.warn("[Absolute] returnFocusToTrigger: trigger has no focusable element. Keyboard focus position may be lost.");
82
+ }
83
+ return;
84
+ }
85
+ target.focus();
86
+ }, [triggerRef]);
87
+ const handleEscape = useCallback(() => {
88
+ onOpenChange(false);
89
+ }, [onOpenChange]);
90
+ // Return focus to the trigger when the popup closes due to item selection (isOpen: true → false)
91
+ // but not when closed by an external gesture (click-outside) where focus intentionally moved away,
92
+ // and not on initial mount when the popup starts closed.
93
+ useEffect(() => {
94
+ var _a, _b;
95
+ if (isOpen) {
96
+ hadBeenOpenRef.current = true;
97
+ closedByExternalRef.current = false;
98
+ return;
99
+ }
100
+ if (!hadBeenOpenRef.current || closedByExternalRef.current) {
101
+ return;
102
+ }
103
+ // Only return focus if it is still inside the popup (or lost to body after unmount).
104
+ // Prevents stealing focus when focus is intentionally elsewhere and popup closes externally.
105
+ const activeEl = (_a = zen.document) === null || _a === void 0 ? void 0 : _a.activeElement;
106
+ const focusIsInsideOrLost = !activeEl || activeEl === ((_b = zen.document) === null || _b === void 0 ? void 0 : _b.body) || (popupRef.current && popupRef.current.contains(activeEl));
107
+ if (focusIsInsideOrLost) {
108
+ returnFocusToTrigger();
109
+ }
110
+ }, [isOpen, returnFocusToTrigger]);
72
111
  const condition = useCallback(() => (useTrapFocusWithTrigger === "off" ? false : true), [useTrapFocusWithTrigger]);
73
112
  useTrapFocus(popupRef, useTrapFocusWithTrigger === "withTrigger" ? triggerRef : undefined, isOpen, condition);
74
113
  useEscape(popupRef, handleEscape, isOpen);
@@ -89,6 +128,7 @@ export const Absolute = ({ isOpen, id, paddingX, paddingY, className, children,
89
128
  if (isClickInPopup || isClickOnTrigger || stateFullChilds) {
90
129
  return;
91
130
  }
131
+ closedByExternalRef.current = true;
92
132
  onOpenChange(false);
93
133
  };
94
134
  if (isOpen) {
@@ -33,7 +33,7 @@ injectString("tr", "Advanced groups filter", "Geli\u015Fmi\u015F grup filtresi")
33
33
  injectString("zh-Hans", "Advanced groups filter", "\u9AD8\u7EA7\u7EC4\u7B5B\u9009\u5668");
34
34
  injectString("zh-TW", "Advanced groups filter", "\u9032\u968E\u7FA4\u7D44\u7BE9\u9078");
35
35
  injectString("ro-RO", "Advanced groups filter", "Filtru de grupuri avansat");
36
- injectString("ar-SA", "Advanced groups filter", "\u062A\u0635\u0641\u064A\u0629 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0627\u062A \u0627\u0644\u0645\u062A\u0642\u062F\u0645\u0629");
36
+ injectString("ar", "Advanced groups filter", "\u062A\u0635\u0641\u064A\u0629 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0627\u062A \u0627\u0644\u0645\u062A\u0642\u062F\u0645\u0629");
37
37
  injectString("cs", "Cancel", "Zru\u0161it");
38
38
  injectString("da-DK", "Cancel", "Annuller");
39
39
  injectString("de", "Cancel", "Abbrechen");
@@ -60,7 +60,7 @@ injectString("tr", "Cancel", "\u0130ptal");
60
60
  injectString("zh-Hans", "Cancel", "\u53D6\u6D88");
61
61
  injectString("zh-TW", "Cancel", "\u53D6\u6D88");
62
62
  injectString("ro-RO", "Cancel", "Anula\u021Bi");
63
- injectString("ar-SA", "Cancel", "\u0625\u0644\u063A\u0627\u0621");
63
+ injectString("ar", "Cancel", "\u0625\u0644\u063A\u0627\u0621");
64
64
  injectString("cs", "Apply", "Pou\u017E\xEDt");
65
65
  injectString("da-DK", "Apply", "Anvend");
66
66
  injectString("de", "Apply", "Anwenden");
@@ -87,7 +87,7 @@ injectString("tr", "Apply", "Uygula");
87
87
  injectString("zh-Hans", "Apply", "\u5E94\u7528");
88
88
  injectString("zh-TW", "Apply", "\u5957\u7528");
89
89
  injectString("ro-RO", "Apply", "Aplica\u021Bi");
90
- injectString("ar-SA", "Apply", "\u062A\u0637\u0628\u064A\u0642");
90
+ injectString("ar", "Apply", "\u062A\u0637\u0628\u064A\u0642");
91
91
  export const AdvancedGroupsFilter = ({
92
92
  isOpen,
93
93
  onClose,
@@ -32,7 +32,7 @@ injectString("tr", "Create conditions below to filter the entire system.", "T\xF
32
32
  injectString("zh-Hans", "Create conditions below to filter the entire system.", "\u5728\u4E0B\u9762\u521B\u5EFA\u6761\u4EF6\u4EE5\u7B5B\u9009\u6574\u4E2A\u7CFB\u7EDF\u3002");
33
33
  injectString("zh-TW", "Create conditions below to filter the entire system.", "\u5728\u4E0B\u65B9\u5EFA\u7ACB\u689D\u4EF6\u4EE5\u7BE9\u9078\u6574\u500B\u7CFB\u7D71\u3002");
34
34
  injectString("ro-RO", "Create conditions below to filter the entire system.", "Crea\u021Bi condi\u021Biile de mai jos pentru a filtra \xEEntregul sistem.");
35
- injectString("ar-SA", "Create conditions below to filter the entire system.", "\u0623\u0646\u0634\u0626 \u0634\u0631\u0648\u0637\u064B\u0627 \u0623\u062F\u0646\u0627\u0647 \u0644\u062A\u0635\u0641\u064A\u0629 \u0627\u0644\u0646\u0638\u0627\u0645 \u0628\u0623\u0643\u0645\u0644\u0647.");
35
+ injectString("ar", "Create conditions below to filter the entire system.", "\u0623\u0646\u0634\u0626 \u0634\u0631\u0648\u0637\u064B\u0627 \u0623\u062F\u0646\u0627\u0647 \u0644\u062A\u0635\u0641\u064A\u0629 \u0627\u0644\u0646\u0638\u0627\u0645 \u0628\u0623\u0643\u0645\u0644\u0647.");
36
36
  injectString("cs", "Add new condition", "P\u0159idat novou podm\xEDnku");
37
37
  injectString("da-DK", "Add new condition", "Tilf\xF8j ny betingelse");
38
38
  injectString("de", "Add new condition", "Neue Bedingung hinzuf\xFCgen");
@@ -59,7 +59,7 @@ injectString("tr", "Add new condition", "Yeni ko\u015Ful ekle");
59
59
  injectString("zh-Hans", "Add new condition", "\u6DFB\u52A0\u65B0\u6761\u4EF6");
60
60
  injectString("zh-TW", "Add new condition", "\u65B0\u589E\u689D\u4EF6");
61
61
  injectString("ro-RO", "Add new condition", "Ad\u0103uga\u021Bi o condi\u021Bie nou\u0103");
62
- injectString("ar-SA", "Add new condition", "\u0625\u0636\u0627\u0641\u0629 \u0634\u0631\u0637 \u062C\u062F\u064A\u062F");
62
+ injectString("ar", "Add new condition", "\u0625\u0636\u0627\u0641\u0629 \u0634\u0631\u0637 \u062C\u062F\u064A\u062F");
63
63
  export const AdvancedGroupsFilterForm = ({
64
64
  state,
65
65
  onStateChange,
@@ -37,7 +37,7 @@ injectString("tr", "And", "Ve");
37
37
  injectString("zh-Hans", "And", "\u548C");
38
38
  injectString("zh-TW", "And", "\u548C");
39
39
  injectString("ro-RO", "And", "\u0218i");
40
- injectString("ar-SA", "And", "\u0648");
40
+ injectString("ar", "And", "\u0648");
41
41
  injectString("cs", "Or", "Nebo");
42
42
  injectString("da-DK", "Or", "Eller");
43
43
  injectString("de", "Or", "Oder");
@@ -64,7 +64,7 @@ injectString("tr", "Or", "Veya");
64
64
  injectString("zh-Hans", "Or", "\u6216");
65
65
  injectString("zh-TW", "Or", "\u6216");
66
66
  injectString("ro-RO", "Or", "Sau");
67
- injectString("ar-SA", "Or", "\u0623\u0648");
67
+ injectString("ar", "Or", "\u0623\u0648");
68
68
  injectString("cs", "Operator", "Oper\xE1tor");
69
69
  injectString("da-DK", "Operator", "Operat\xF8r");
70
70
  injectString("de", "Operator", "Operator");
@@ -91,7 +91,7 @@ injectString("tr", "Operator", "Operat\xF6r");
91
91
  injectString("zh-Hans", "Operator", "\u64CD\u4F5C\u5458");
92
92
  injectString("zh-TW", "Operator", "\u904B\u7B97\u5B50");
93
93
  injectString("ro-RO", "Operator", "Operator");
94
- injectString("ar-SA", "Operator", "\u0639\u0627\u0645\u0644 \u0627\u0644\u062A\u0634\u063A\u064A\u0644");
94
+ injectString("ar", "Operator", "\u0639\u0627\u0645\u0644 \u0627\u0644\u062A\u0634\u063A\u064A\u0644");
95
95
  injectString("cs", "Groups", "Skupiny");
96
96
  injectString("da-DK", "Groups", "Grupper");
97
97
  injectString("de", "Groups", "Gruppen");
@@ -118,7 +118,7 @@ injectString("tr", "Groups", "Gruplar");
118
118
  injectString("zh-Hans", "Groups", "\u7EC4");
119
119
  injectString("zh-TW", "Groups", "\u7FA4\u7D44");
120
120
  injectString("ro-RO", "Groups", "Grupuri");
121
- injectString("ar-SA", "Groups", "\u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0627\u062A");
121
+ injectString("ar", "Groups", "\u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0627\u062A");
122
122
  injectString("cs", "Remove condition", "Odebrat podm\xEDnku");
123
123
  injectString("da-DK", "Remove condition", "Fjern betingelse");
124
124
  injectString("de", "Remove condition", "Bedingung entfernen");
@@ -145,7 +145,7 @@ injectString("tr", "Remove condition", "Ko\u015Fulu kald\u0131r");
145
145
  injectString("zh-Hans", "Remove condition", "\u5220\u9664\u6761\u4EF6");
146
146
  injectString("zh-TW", "Remove condition", "\u79FB\u9664\u689D\u4EF6");
147
147
  injectString("ro-RO", "Remove condition", "Elimina\u021Bi condi\u021Bia");
148
- injectString("ar-SA", "Remove condition", "\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u0634\u0631\u0637");
148
+ injectString("ar", "Remove condition", "\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u0634\u0631\u0637");
149
149
  injectString("cs", "Select groups\u2026", "Vybrat skupiny\u2026");
150
150
  injectString("da-DK", "Select groups\u2026", "V\xE6lg grupper...");
151
151
  injectString("de", "Select groups\u2026", "Gruppen ausw\xE4hlen\xA0\u2026");
@@ -172,7 +172,7 @@ injectString("tr", "Select groups\u2026", "Gruplar\u0131 se\xE7\u2026");
172
172
  injectString("zh-Hans", "Select groups\u2026", "\u9009\u62E9\u7EC4\u2026");
173
173
  injectString("zh-TW", "Select groups\u2026", "\u9078\u53D6\u7FA4\u7D44...");
174
174
  injectString("ro-RO", "Select groups\u2026", "Selecta\u021Bi grupurile\u2026");
175
- injectString("ar-SA", "Select groups\u2026", "\u0627\u062E\u062A\u064A\u0627\u0631 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0627\u062A\u2026");
175
+ injectString("ar", "Select groups\u2026", "\u0627\u062E\u062A\u064A\u0627\u0631 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0627\u062A\u2026");
176
176
  injectString("cs", "GroupCompanyId", "Skupina spole\u010Dnosti");
177
177
  injectString("da-DK", "GroupCompanyId", "Virksomhedsgruppe");
178
178
  injectString("de", "GroupCompanyId", "Unternehmensgruppe");
@@ -199,7 +199,7 @@ injectString("tr", "GroupCompanyId", "\u015Eirket grubu");
199
199
  injectString("zh-Hans", "GroupCompanyId", "\u516C\u53F8\u7EC4");
200
200
  injectString("zh-TW", "GroupCompanyId", "\u516C\u53F8\u7FA4\u7D44");
201
201
  injectString("ro-RO", "GroupCompanyId", "Grup de companii");
202
- injectString("ar-SA", "GroupCompanyId", "\u0645\u062C\u0645\u0648\u0639\u0629 \u0627\u0644\u0634\u0631\u0643\u0629");
202
+ injectString("ar", "GroupCompanyId", "\u0645\u062C\u0645\u0648\u0639\u0629 \u0627\u0644\u0634\u0631\u0643\u0629");
203
203
  export const AdvancedGroupsFilterFormSection = ({
204
204
  state,
205
205
  interSectionRelation,
@@ -29,7 +29,7 @@ injectString("tr", "Use multiple operators when searching for a specific group.
29
29
  injectString("zh-Hans", "Use multiple operators when searching for a specific group. For example, filtering for assets that belong to the Tractor group and the Toronto group displays a list of tractors that belong to the Toronto branch.", "\u641C\u7D22\u7279\u5B9A\u7EC4\u65F6\uFF0C\u53EF\u4EE5\u4F7F\u7528\u591A\u4E2A\u8FD0\u7B97\u7B26\u3002\u4F8B\u5982\uFF0C\u7B5B\u9009\u5C5E\u4E8E\u201C\u7275\u5F15\u8F66\u201D\u7EC4\u548C\u201C\u591A\u4F26\u591A\u201D\u7EC4\u7684\u8D44\u4EA7\uFF0C\u5C31\u4F1A\u663E\u793A\u5C5E\u4E8E\u591A\u4F26\u591A\u5206\u652F\u7684\u7275\u5F15\u8F66\u5217\u8868\u3002");
30
30
  injectString("zh-TW", "Use multiple operators when searching for a specific group. For example, filtering for assets that belong to the Tractor group and the Toronto group displays a list of tractors that belong to the Toronto branch.", "\u641C\u5C0B\u7279\u5B9A\u7FA4\u7D44\u6642\uFF0C\u8ACB\u4F7F\u7528\u591A\u500B\u904B\u7B97\u5B50\u3002\u4F8B\u5982\uFF0C\u82E5\u7BE9\u9078\u5C6C\u65BC\u727D\u5F15\u6A5F\u7FA4\u7D44\u548C\u591A\u502B\u591A\u7FA4\u7D44\u7684\u8CC7\u7522\uFF0C\u5247\u6703\u986F\u793A\u5C6C\u65BC\u591A\u502B\u591A\u5206\u516C\u53F8\u7684\u727D\u5F15\u6A5F\u6E05\u55AE\u3002");
31
31
  injectString("ro-RO", "Use multiple operators when searching for a specific group. For example, filtering for assets that belong to the Tractor group and the Toronto group displays a list of tractors that belong to the Toronto branch.", "Utiliza\u021Bi mai mul\u021Bi operatori c\xE2nd c\u0103uta\u021Bi un anumit grup. De exemplu, prin filtrarea activelor care apar\u021Bin grupului Tractor \u0219i grupului Toronto, se afi\u0219eaz\u0103 o list\u0103 de tractoare care apar\u021Bin filialei Toronto.");
32
- injectString("ar-SA", "Use multiple operators when searching for a specific group. For example, filtering for assets that belong to the Tractor group and the Toronto group displays a list of tractors that belong to the Toronto branch.", "\u0627\u0633\u062A\u062E\u062F\u0645 \u0639\u0648\u0627\u0645\u0644 \u062A\u0634\u063A\u064A\u0644 \u0645\u062A\u0639\u062F\u062F\u0629 \u0639\u0646\u062F \u0627\u0644\u0628\u062D\u062B \u0639\u0646 \u0645\u062C\u0645\u0648\u0639\u0629 \u0645\u0639\u064A\u0646\u0629. \u0639\u0644\u0649 \u0633\u0628\u064A\u0644 \u0627\u0644\u0645\u062B\u0627\u0644\u060C \u062A\u0635\u0641\u064A\u0629 \u0627\u0644\u0623\u0635\u0648\u0644 \u0627\u0644\u062A\u064A \u062A\u0646\u062A\u0645\u064A \u0625\u0644\u0649 \u0645\u062C\u0645\u0648\u0639\u0629 \u0627\u0644\u062C\u0631\u0627\u0631\u0627\u062A \u0648\u0645\u062C\u0645\u0648\u0639\u0629 \u062A\u0648\u0631\u0646\u062A\u0648 \u062A\u0639\u0631\u0636 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u0631\u0627\u0631\u0627\u062A \u0627\u0644\u062A\u064A \u062A\u0646\u062A\u0645\u064A \u0625\u0644\u0649 \u0641\u0631\u0639 \u062A\u0648\u0631\u0646\u062A\u0648.");
32
+ injectString("ar", "Use multiple operators when searching for a specific group. For example, filtering for assets that belong to the Tractor group and the Toronto group displays a list of tractors that belong to the Toronto branch.", "\u0627\u0633\u062A\u062E\u062F\u0645 \u0639\u0648\u0627\u0645\u0644 \u062A\u0634\u063A\u064A\u0644 \u0645\u062A\u0639\u062F\u062F\u0629 \u0639\u0646\u062F \u0627\u0644\u0628\u062D\u062B \u0639\u0646 \u0645\u062C\u0645\u0648\u0639\u0629 \u0645\u0639\u064A\u0646\u0629. \u0639\u0644\u0649 \u0633\u0628\u064A\u0644 \u0627\u0644\u0645\u062B\u0627\u0644\u060C \u062A\u0635\u0641\u064A\u0629 \u0627\u0644\u0623\u0635\u0648\u0644 \u0627\u0644\u062A\u064A \u062A\u0646\u062A\u0645\u064A \u0625\u0644\u0649 \u0645\u062C\u0645\u0648\u0639\u0629 \u0627\u0644\u062C\u0631\u0627\u0631\u0627\u062A \u0648\u0645\u062C\u0645\u0648\u0639\u0629 \u062A\u0648\u0631\u0646\u062A\u0648 \u062A\u0639\u0631\u0636 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062C\u0631\u0627\u0631\u0627\u062A \u0627\u0644\u062A\u064A \u062A\u0646\u062A\u0645\u064A \u0625\u0644\u0649 \u0641\u0631\u0639 \u062A\u0648\u0631\u0646\u062A\u0648.");
33
33
  export const AdvancedGroupsFilterSectionTooltip = ({
34
34
  className = "",
35
35
  alignment = "top",
@@ -1,2 +1,4 @@
1
1
  /// <reference types="react" />
2
- export declare const Banner: import("react").FC<import("../banner/banner").IBanner>;
2
+ export declare const Banner: import("react").FC<import("../banner/banner").IBanner> & {
3
+ ErrorSummary: import("react").FC<import("../banner/bannerErrorSummary").IBannerErrorSummary>;
4
+ };
@@ -41,7 +41,7 @@ injectString("tr", "Close", "Kapat");
41
41
  injectString("zh-Hans", "Close", "\u5173\u95ED");
42
42
  injectString("zh-TW", "Close", "\u95DC\u9589");
43
43
  injectString("ro-RO", "Close", "\xCEnchide");
44
- injectString("ar-SA", "Close", "\u0625\u063A\u0644\u0627\u0642");
44
+ injectString("ar", "Close", "\u0625\u063A\u0644\u0627\u0642");
45
45
  const typedIcons = {
46
46
  error: IconException,
47
47
  success: IconCheckRadio,
@@ -1,7 +1,8 @@
1
1
  import "./banner.less";
2
+ import { FC } from "react";
2
3
  import { TBannerSize } from "./bannerUtils";
3
4
  import { IZenIdComponentProps } from "../commonHelpers/zenComponent";
4
- import { FC } from "react";
5
+ import { BannerErrorSummary } from "./bannerErrorSummary";
5
6
  export declare const BannerDisplayName = "Banner";
6
7
  export interface IBannerAction {
7
8
  link?: string;
@@ -24,4 +25,6 @@ export interface IBanner extends Partial<IZenIdComponentProps> {
24
25
  ariaAtomic?: "true" | "false";
25
26
  ariaLive?: "off" | "assertive" | "polite";
26
27
  }
27
- export declare const Banner: FC<IBanner>;
28
+ export declare const Banner: FC<IBanner> & {
29
+ ErrorSummary: typeof BannerErrorSummary;
30
+ };
@@ -2,10 +2,20 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { BannerSingleLine } from "./bannerSingleLine";
3
3
  import { BannerMultiline } from "./bannerMultipLine";
4
4
  import { useMobile } from "../commonHelpers/hooks/useMobile";
5
+ import { BannerErrorSummary } from "./bannerErrorSummary";
6
+ import { hasSummaryErrorChild } from "./utils/hasSummaryErrorChild";
7
+ import { useSummaryBannerProp } from "./utils/useSummaryBannerProp";
5
8
  export const BannerDisplayName = "Banner";
6
- export const Banner = ({ children, header, type = "warning", icon, action, size, onClose, multiline, role = "status", ariaAtomic = "true", ariaLive = "polite", primaryAction, className, id }) => {
9
+ // eslint-disable-next-line @typescript-eslint/naming-convention
10
+ export const Banner = (props) => {
11
+ const { children, header, type, icon, action, size, onClose, multiline, role = "status", ariaAtomic = "true", ariaLive = "polite", primaryAction, className, id } = props;
7
12
  const isMobile = useMobile();
8
- const isMultiline = multiline === undefined ? isMobile : multiline;
13
+ const forceSummaryError = hasSummaryErrorChild(children) && (type === "error" || type === undefined);
14
+ const isMultiline = forceSummaryError ? true : multiline === undefined ? isMobile : multiline;
15
+ const summaryErrorProps = useSummaryBannerProp(props);
16
+ if (Object.keys(summaryErrorProps).length) {
17
+ return _jsx(BannerMultiline, Object.assign({}, summaryErrorProps));
18
+ }
9
19
  return isMultiline ? (_jsx(BannerMultiline, { children,
10
20
  header,
11
21
  type,
@@ -33,3 +43,4 @@ export const Banner = ({ children, header, type = "warning", icon, action, size,
33
43
  id }));
34
44
  };
35
45
  Banner.displayName = BannerDisplayName;
46
+ Banner.ErrorSummary = BannerErrorSummary;
@@ -0,0 +1,7 @@
1
+ import { FC } from "react";
2
+ export declare const BannerErrorSummaryDisplayName = "Banner.ErrorSummary";
3
+ export interface IBannerErrorSummary {
4
+ value: string;
5
+ link: string;
6
+ }
7
+ export declare const BannerErrorSummary: FC<IBannerErrorSummary>;
@@ -0,0 +1,4 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export const BannerErrorSummaryDisplayName = "Banner.ErrorSummary";
3
+ export const BannerErrorSummary = ({ value, link }) => (_jsx("a", { href: link, className: "zen-banner__summary-error-link zen-link", children: value }));
4
+ BannerErrorSummary.displayName = BannerErrorSummaryDisplayName;
@@ -36,7 +36,7 @@ injectString("tr", "Close", "Kapat");
36
36
  injectString("zh-Hans", "Close", "\u5173\u95ED");
37
37
  injectString("zh-TW", "Close", "\u95DC\u9589");
38
38
  injectString("ro-RO", "Close", "\xCEnchide");
39
- injectString("ar-SA", "Close", "\u0625\u063A\u0644\u0627\u0642");
39
+ injectString("ar", "Close", "\u0625\u063A\u0644\u0627\u0642");
40
40
  export const BannerMultiline = ({
41
41
  children,
42
42
  header,
@@ -37,7 +37,7 @@ injectString("tr", "Close", "Kapat");
37
37
  injectString("zh-Hans", "Close", "\u5173\u95ED");
38
38
  injectString("zh-TW", "Close", "\u95DC\u9589");
39
39
  injectString("ro-RO", "Close", "\xCEnchide");
40
- injectString("ar-SA", "Close", "\u0625\u063A\u0644\u0627\u0642");
40
+ injectString("ar", "Close", "\u0625\u063A\u0644\u0627\u0642");
41
41
  export const BannerSingleLine = ({
42
42
  children,
43
43
  header,
@@ -0,0 +1 @@
1
+ export declare const buildSummaryErrorList: (children: React.ReactNode) => React.ReactNode;
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Children } from "react";
3
+ import { isSummaryErrorElement } from "./isSummaryErrorElement";
4
+ export const buildSummaryErrorList = (children) => {
5
+ const items = Children.toArray(children)
6
+ .filter(isSummaryErrorElement)
7
+ .map(child => {
8
+ const { value, link } = child.props;
9
+ return link ? (_jsx("a", { href: link, className: "zen-link zen-banner__summary-error-link", children: value }, `${value}-${link}`)) : (_jsx("span", { className: "zen-banner__summary-error-link", children: value }, value));
10
+ });
11
+ return _jsx("div", { className: "zen-banner__summary-error-list", children: items });
12
+ };
@@ -0,0 +1 @@
1
+ export declare const hasSummaryErrorChild: (children: React.ReactNode) => boolean;
@@ -0,0 +1,3 @@
1
+ import { Children } from "react";
2
+ import { isSummaryErrorElement } from "./isSummaryErrorElement";
3
+ export const hasSummaryErrorChild = (children) => Children.toArray(children).some(isSummaryErrorElement);
@@ -0,0 +1,2 @@
1
+ import type { BannerType } from "../banner";
2
+ export declare const isSummaryErrorBanner: (type: BannerType | undefined, children: React.ReactNode) => boolean;
@@ -0,0 +1,2 @@
1
+ import { hasSummaryErrorChild } from "./hasSummaryErrorChild";
2
+ export const isSummaryErrorBanner = (type, children) => (type === undefined || type === "error") && hasSummaryErrorChild(children);
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { IBannerErrorSummary } from "../bannerErrorSummary";
3
+ export declare const isSummaryErrorElement: (child: React.ReactNode) => child is import("react").ReactElement<IBannerErrorSummary, string | import("react").JSXElementConstructor<any>>;
@@ -0,0 +1,3 @@
1
+ import { isValidElement } from "react";
2
+ import { BannerErrorSummaryDisplayName } from "../bannerErrorSummary";
3
+ export const isSummaryErrorElement = (child) => isValidElement(child) && child.type.displayName === BannerErrorSummaryDisplayName;
@@ -0,0 +1,6 @@
1
+ import type { IBanner, IBannerAction } from "../banner";
2
+ interface IBannerInner {
3
+ primaryAction?: IBannerAction;
4
+ }
5
+ export declare const useSummaryBannerProp: (props: IBanner & IBannerInner) => Partial<IBanner & IBannerInner>;
6
+ export {};
@@ -0,0 +1,25 @@
1
+ import { injectString } from "../../utils/localization/translationsDictionary";
2
+ import { useLanguage } from "../../utils/localization/useLanguage";
3
+ import { hasSummaryErrorChild } from "./hasSummaryErrorChild";
4
+ import { buildSummaryErrorList } from "./buildSummaryErrorList";
5
+ injectString("en", "Please correct the following errors.", "Please correct the following errors.");
6
+ export const useSummaryBannerProp = props => {
7
+ const {
8
+ children,
9
+ type
10
+ } = props;
11
+ const {
12
+ translate
13
+ } = useLanguage();
14
+ const isSummaryBanner = hasSummaryErrorChild(children) && (type === "error" || type === undefined);
15
+ if (!isSummaryBanner) {
16
+ return {};
17
+ }
18
+ return Object.assign(Object.assign({}, props), {
19
+ type: "error",
20
+ header: translate("Please correct the following errors."),
21
+ onClose: undefined,
22
+ children: buildSummaryErrorList(children),
23
+ action: undefined
24
+ });
25
+ };
@@ -34,7 +34,7 @@ injectString("tr", "Send feedback", "Geri bildirim g\xF6nder");
34
34
  injectString("zh-Hans", "Send feedback", "\u53D1\u9001\u53CD\u9988");
35
35
  injectString("zh-TW", "Send feedback", "\u50B3\u9001\u610F\u898B\u56DE\u994B");
36
36
  injectString("ro-RO", "Send feedback", "Trimite\u021Bi feedback");
37
- injectString("ar-SA", "Send feedback", "\u0625\u0631\u0633\u0627\u0644 \u0645\u0644\u0627\u062D\u0638\u0627\u062A");
37
+ injectString("ar", "Send feedback", "\u0625\u0631\u0633\u0627\u0644 \u0645\u0644\u0627\u062D\u0638\u0627\u062A");
38
38
  injectString("cs", "Manage beta option", "Manage beta option");
39
39
  injectString("da-DK", "Manage beta option", "Styr beta-indstillingen");
40
40
  injectString("de", "Manage beta option", "Manage beta option");
@@ -61,7 +61,7 @@ injectString("tr", "Manage beta option", "Manage beta option");
61
61
  injectString("zh-Hans", "Manage beta option", "Manage beta option");
62
62
  injectString("zh-TW", "Manage beta option", "\u7BA1\u7406\u6E2C\u8A66\u7248\u9078\u9805");
63
63
  injectString("ro-RO", "Manage beta option", "Administra\u021Bi op\u021Biunea beta");
64
- injectString("ar-SA", "Manage beta option", "\u0625\u062F\u0627\u0631\u0629 \u0627\u0644\u062E\u064A\u0627\u0631 \u0627\u0644\u062A\u062C\u0631\u064A\u0628\u064A");
64
+ injectString("ar", "Manage beta option", "\u0625\u062F\u0627\u0631\u0629 \u0627\u0644\u062E\u064A\u0627\u0631 \u0627\u0644\u062A\u062C\u0631\u064A\u0628\u064A");
65
65
  injectString("cs", "This feature is still in testing, and is not fully supported yet. Your feedback is valuable to help guide future enhancements.", "This feature is still in testing, and is not fully supported yet. Your feedback is valuable to help guide future enhancements.");
66
66
  injectString("da-DK", "This feature is still in testing, and is not fully supported yet. Your feedback is valuable to help guide future enhancements.", "Funktionen er stadig under test og virker ikke helt endnu. Din feedback er guld v\xE6rd og hj\xE6lper os med fremtidige forbedringer.");
67
67
  injectString("de", "This feature is still in testing, and is not fully supported yet. Your feedback is valuable to help guide future enhancements.", "This feature is still in testing, and is not fully supported yet. Your feedback is valuable to help guide future enhancements.");
@@ -88,7 +88,7 @@ injectString("tr", "This feature is still in testing, and is not fully supported
88
88
  injectString("zh-Hans", "This feature is still in testing, and is not fully supported yet. Your feedback is valuable to help guide future enhancements.", "This feature is still in testing, and is not fully supported yet. Your feedback is valuable to help guide future enhancements.");
89
89
  injectString("zh-TW", "This feature is still in testing, and is not fully supported yet. Your feedback is valuable to help guide future enhancements.", "\u6B64\u529F\u80FD\u4ECD\u5728\u6E2C\u8A66\u968E\u6BB5\uFF0C\u5C1A\u672A\u5B8C\u5168\u652F\u63F4\u3002\u60A8\u7684\u610F\u898B\u56DE\u994B\u5C0D\u6211\u5011\u4F86\u8AAA\u975E\u5E38\u91CD\u8981\uFF0C\u80FD\u5354\u52A9\u6211\u5011\u78BA\u8A8D\u672A\u4F86\u6539\u9032\u7684\u65B9\u5411\u3002");
90
90
  injectString("ro-RO", "This feature is still in testing, and is not fully supported yet. Your feedback is valuable to help guide future enhancements.", "Aceast\u0103 func\u021Bie este \xEEn testare \u0219i \xEEnc\u0103 nu este complet compatibil\u0103. Feedbackul dvs. este important \u0219i ne va ajuta la \xEEmbun\u0103t\u0103\u021Birile viitoare.");
91
- injectString("ar-SA", "This feature is still in testing, and is not fully supported yet. Your feedback is valuable to help guide future enhancements.", "\u0647\u0630\u0647 \u0627\u0644\u0645\u064A\u0632\u0629 \u0644\u0627 \u062A\u0632\u0627\u0644 \u0642\u064A\u062F \u0627\u0644\u0627\u062E\u062A\u0628\u0627\u0631 \u0648\u063A\u064A\u0631 \u0645\u062F\u0639\u0648\u0645\u0629 \u0628\u0627\u0644\u0643\u0627\u0645\u0644 \u0628\u0639\u062F. \u0645\u0644\u0627\u062D\u0638\u0627\u062A\u0643 \u0642\u064A\u0645\u0629 \u0644\u0644\u0645\u0633\u0627\u0639\u062F\u0629 \u0641\u064A \u062A\u0648\u062C\u064A\u0647 \u0627\u0644\u062A\u062D\u0633\u064A\u0646\u0627\u062A \u0627\u0644\u0645\u0633\u062A\u0642\u0628\u0644\u064A\u0629.");
91
+ injectString("ar", "This feature is still in testing, and is not fully supported yet. Your feedback is valuable to help guide future enhancements.", "\u0647\u0630\u0647 \u0627\u0644\u0645\u064A\u0632\u0629 \u0644\u0627 \u062A\u0632\u0627\u0644 \u0642\u064A\u062F \u0627\u0644\u0627\u062E\u062A\u0628\u0627\u0631 \u0648\u063A\u064A\u0631 \u0645\u062F\u0639\u0648\u0645\u0629 \u0628\u0627\u0644\u0643\u0627\u0645\u0644 \u0628\u0639\u062F. \u0645\u0644\u0627\u062D\u0638\u0627\u062A\u0643 \u0642\u064A\u0645\u0629 \u0644\u0644\u0645\u0633\u0627\u0639\u062F\u0629 \u0641\u064A \u062A\u0648\u062C\u064A\u0647 \u0627\u0644\u062A\u062D\u0633\u064A\u0646\u0627\u062A \u0627\u0644\u0645\u0633\u062A\u0642\u0628\u0644\u064A\u0629.");
92
92
  injectString("cs", "Beta", "Beta");
93
93
  injectString("da-DK", "Beta", "Beta");
94
94
  injectString("de", "Beta", "Beta");
@@ -115,7 +115,7 @@ injectString("tr", "Beta", "Beta");
115
115
  injectString("zh-Hans", "Beta", "\u6D4B\u8BD5\u7248");
116
116
  injectString("zh-TW", "Beta", "\u6E2C\u8A66\u7248");
117
117
  injectString("ro-RO", "Beta", "Beta");
118
- injectString("ar-SA", "Beta", "\u062A\u062C\u0631\u064A\u0628\u064A");
118
+ injectString("ar", "Beta", "\u062A\u062C\u0631\u064A\u0628\u064A");
119
119
  export const BetaPill = props => {
120
120
  const {
121
121
  className,
@@ -36,7 +36,7 @@ injectString("tr", "Remove page from bookmarks", "Sayfay\u0131 yer imlerinden ka
36
36
  injectString("zh-Hans", "Remove page from bookmarks", "\u5220\u9664\u6B64\u9875\u9762\u7684\u4E66\u7B7E");
37
37
  injectString("zh-TW", "Remove page from bookmarks", "\u5F9E\u66F8\u7C64\u79FB\u9664\u9801\u9762");
38
38
  injectString("ro-RO", "Remove page from bookmarks", "Elimina\u021Bi pagina din marcaje");
39
- injectString("ar-SA", "Remove page from bookmarks", "\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u0635\u0641\u062D\u0629 \u0645\u0646 \u0627\u0644\u0645\u0641\u0636\u0644\u0629");
39
+ injectString("ar", "Remove page from bookmarks", "\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u0635\u0641\u062D\u0629 \u0645\u0646 \u0627\u0644\u0645\u0641\u0636\u0644\u0629");
40
40
  injectString("cs", "Add page to bookmarks", "P\u0159idat str\xE1nku do z\xE1lo\u017Eek");
41
41
  injectString("da-DK", "Add page to bookmarks", "F\xF8j side til bogm\xE6rker");
42
42
  injectString("de", "Add page to bookmarks", "Seite zu Lesezeichen hinzuf\xFCgen");
@@ -63,7 +63,7 @@ injectString("tr", "Add page to bookmarks", "Sayfay\u0131 yer imlerine ekle");
63
63
  injectString("zh-Hans", "Add page to bookmarks", "\u5C06\u9875\u9762\u6DFB\u52A0\u5230\u4E66\u7B7E");
64
64
  injectString("zh-TW", "Add page to bookmarks", "\u65B0\u589E\u9801\u9762\u81F3\u66F8\u7C64");
65
65
  injectString("ro-RO", "Add page to bookmarks", "Ad\u0103uga\u021Bi pagina la marcaje");
66
- injectString("ar-SA", "Add page to bookmarks", "\u0625\u0636\u0627\u0641\u0629 \u0627\u0644\u0635\u0641\u062D\u0629 \u0625\u0644\u0649 \u0627\u0644\u0645\u0641\u0636\u0644\u0629");
66
+ injectString("ar", "Add page to bookmarks", "\u0625\u0636\u0627\u0641\u0629 \u0627\u0644\u0635\u0641\u062D\u0629 \u0625\u0644\u0649 \u0627\u0644\u0645\u0641\u0636\u0644\u0629");
67
67
  export const Bookmark = ({
68
68
  className,
69
69
  bookmarked,
@@ -29,7 +29,7 @@ injectString("tr", "Select visible", "G\xF6r\xFCn\xFCr olan\u0131 se\xE7");
29
29
  injectString("zh-Hans", "Select visible", "\u9009\u62E9\u53EF\u89C1");
30
30
  injectString("zh-TW", "Select visible", "\u9078\u53D6\u53EF\u898B\u9805\u76EE");
31
31
  injectString("ro-RO", "Select visible", "Selecta\u021Bi ce este vizibil");
32
- injectString("ar-SA", "Select visible", "\u062A\u062D\u062F\u064A\u062F \u0627\u0644\u0645\u0631\u0626\u064A");
32
+ injectString("ar", "Select visible", "\u062A\u062D\u062F\u064A\u062F \u0627\u0644\u0645\u0631\u0626\u064A");
33
33
  injectString("cs", "Select individual", "Vybrat jednotliv\u011B");
34
34
  injectString("da-DK", "Select individual", "V\xE6lg individuel");
35
35
  injectString("de", "Select individual", "Einzelne ausw\xE4hlen");
@@ -56,7 +56,7 @@ injectString("tr", "Select individual", "Ki\u015Fi se\xE7");
56
56
  injectString("zh-Hans", "Select individual", "\u9009\u62E9\u4E2A\u4EBA");
57
57
  injectString("zh-TW", "Select individual", "\u9078\u53D6\u500B\u5225\u9805\u76EE");
58
58
  injectString("ro-RO", "Select individual", "Selecta\u021Bi individual");
59
- injectString("ar-SA", "Select individual", "\u062A\u062D\u062F\u064A\u062F \u0641\u0631\u062F\u064A");
59
+ injectString("ar", "Select individual", "\u062A\u062D\u062F\u064A\u062F \u0641\u0631\u062F\u064A");
60
60
  injectString("cs", "Select all", "Vybrat v\u0161e");
61
61
  injectString("da-DK", "Select all", "V\xE6lg alle");
62
62
  injectString("de", "Select all", "Alle ausw\xE4hlen");
@@ -83,7 +83,7 @@ injectString("tr", "Select all", "T\xFCm\xFCn\xFC se\xE7");
83
83
  injectString("zh-Hans", "Select all", "\u5168\u9009");
84
84
  injectString("zh-TW", "Select all", "\u5168\u9078");
85
85
  injectString("ro-RO", "Select all", "Selecta\u021Bi tot");
86
- injectString("ar-SA", "Select all", "\u062A\u062D\u062F\u064A\u062F \u0627\u0644\u0643\u0644");
86
+ injectString("ar", "Select all", "\u062A\u062D\u062F\u064A\u062F \u0627\u0644\u0643\u0644");
87
87
  injectString("cs", "Select none", "Zru\u0161it v\xFDb\u011Br");
88
88
  injectString("da-DK", "Select none", "V\xE6lg ingen");
89
89
  injectString("de", "Select none", "Keine ausw\xE4hlen");
@@ -110,7 +110,7 @@ injectString("tr", "Select none", "Hi\xE7birini se\xE7me");
110
110
  injectString("zh-Hans", "Select none", "\u6CA1\u6709\u9009\u62E9");
111
111
  injectString("zh-TW", "Select none", "\u5168\u4E0D\u9078");
112
112
  injectString("ro-RO", "Select none", "Nu selecta\u021Bi nimic");
113
- injectString("ar-SA", "Select none", "\u0625\u0644\u063A\u0627\u0621 \u062A\u062D\u062F\u064A\u062F \u0627\u0644\u0643\u0644");
113
+ injectString("ar", "Select none", "\u0625\u0644\u063A\u0627\u0621 \u062A\u062D\u062F\u064A\u062F \u0627\u0644\u0643\u0644");
114
114
  injectString("cs", "Multiple Selection Menu", "Nab\xEDdka s\xA0v\xEDcen\xE1sobn\xFDm v\xFDb\u011Brem");
115
115
  injectString("da-DK", "Multiple Selection Menu", "Menu med flere valg");
116
116
  injectString("de", "Multiple Selection Menu", "Mehrere Auswahlmen\xFCs");
@@ -137,7 +137,7 @@ injectString("tr", "Multiple Selection Menu", "\xC7oklu Se\xE7im Men\xFCs\xFC");
137
137
  injectString("zh-Hans", "Multiple Selection Menu", "\u591A\u4E2A\u9009\u62E9\u83DC\u5355");
138
138
  injectString("zh-TW", "Multiple Selection Menu", "\u591A\u91CD\u9078\u64C7\u9078\u55AE");
139
139
  injectString("ro-RO", "Multiple Selection Menu", "Meniu selectare multipl\u0103");
140
- injectString("ar-SA", "Multiple Selection Menu", "\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u062D\u062F\u064A\u062F \u0627\u0644\u0645\u062A\u0639\u062F\u062F");
140
+ injectString("ar", "Multiple Selection Menu", "\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062A\u062D\u062F\u064A\u062F \u0627\u0644\u0645\u062A\u0639\u062F\u062F");
141
141
  export var BulkEditItemType;
142
142
  (function (BulkEditItemType) {
143
143
  BulkEditItemType["SelectVisible"] = "selectVisible";