sit-onyx 1.0.0-beta.99 → 1.0.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 (366) hide show
  1. package/README.md +1 -5
  2. package/dist/components/OnyxAccordion/OnyxAccordion.d.vue.ts +26 -0
  3. package/dist/components/OnyxAccordion/types.d.ts +45 -0
  4. package/dist/components/OnyxAccordionItem/OnyxAccordionItem.d.vue.ts +37 -0
  5. package/dist/components/OnyxAccordionItem/types.d.ts +17 -0
  6. package/dist/components/OnyxAlertModal/OnyxAlertModal.d.vue.ts +69 -0
  7. package/dist/components/OnyxAlertModal/types.d.ts +8 -0
  8. package/dist/components/OnyxAppLayout/OnyxAppLayout.d.vue.ts +50 -0
  9. package/dist/components/OnyxAppLayout/types.d.ts +3 -1
  10. package/dist/components/OnyxAvatar/OnyxAvatar.d.vue.ts +5 -0
  11. package/dist/components/OnyxAvatar/types.d.ts +16 -4
  12. package/dist/components/OnyxAvatarStack/{OnyxAvatarStack.vue.d.ts → OnyxAvatarStack.d.vue.ts} +1 -1
  13. package/dist/components/OnyxBadge/{OnyxBadge.vue.d.ts → OnyxBadge.d.vue.ts} +4 -4
  14. package/dist/components/OnyxBadge/types.d.ts +2 -2
  15. package/dist/components/{OnyxDialog/OnyxDialog.vue.d.ts → OnyxBasicDialog/OnyxBasicDialog.d.vue.ts} +12 -7
  16. package/dist/components/OnyxBasicDialog/types.d.ts +35 -0
  17. package/dist/components/OnyxBasicPopover/OnyxBasicPopover.d.vue.ts +64 -0
  18. package/dist/components/OnyxBasicPopover/types.d.ts +37 -0
  19. package/dist/components/OnyxBottomBar/OnyxBottomBar.d.vue.ts +36 -0
  20. package/dist/components/OnyxBottomBar/types.d.ts +7 -0
  21. package/dist/components/OnyxBreadcrumb/OnyxBreadcrumb.d.vue.ts +32 -0
  22. package/dist/components/OnyxBreadcrumb/types.d.ts +32 -0
  23. package/dist/components/OnyxBreadcrumbItem/OnyxBreadcrumbItem.d.vue.ts +33 -0
  24. package/dist/components/OnyxBreadcrumbItem/types.d.ts +15 -0
  25. package/dist/components/OnyxButton/ButtonOrLinkLayout.d.vue.ts +33 -0
  26. package/dist/components/OnyxButton/OnyxButton.d.vue.ts +26 -0
  27. package/dist/components/OnyxButton/types.d.ts +14 -4
  28. package/dist/components/{OnyxHeadline/OnyxHeadline.vue.d.ts → OnyxCard/OnyxCard.d.vue.ts} +6 -4
  29. package/dist/components/OnyxCard/types.d.ts +9 -0
  30. package/dist/components/OnyxCheckbox/{OnyxCheckbox.vue.d.ts → OnyxCheckbox.d.vue.ts} +7 -7
  31. package/dist/components/OnyxCheckbox/types.d.ts +3 -5
  32. package/dist/components/OnyxCheckboxGroup/{OnyxCheckboxGroup.vue.d.ts → OnyxCheckboxGroup.d.vue.ts} +7 -7
  33. package/dist/components/OnyxCheckboxGroup/types.d.ts +9 -20
  34. package/dist/components/OnyxDataGrid/OnyxDataGrid.d.vue.ts +16 -0
  35. package/dist/components/OnyxDataGrid/OnyxDataGridRenderer/{OnyxDataGridRenderer.vue.d.ts → OnyxDataGridRenderer.d.vue.ts} +6 -8
  36. package/dist/components/OnyxDataGrid/OnyxDataGridRenderer/types.d.ts +34 -14
  37. package/dist/components/OnyxDataGrid/features/{HeaderCell.vue.d.ts → HeaderCell.d.vue.ts} +1 -1
  38. package/dist/components/OnyxDataGrid/features/all.d.ts +15 -2
  39. package/dist/components/OnyxDataGrid/features/base/base.d.ts +52 -0
  40. package/dist/components/OnyxDataGrid/features/base/types.d.ts +8 -0
  41. package/dist/components/OnyxDataGrid/features/filtering/filtering.d.ts +31 -0
  42. package/dist/components/OnyxDataGrid/features/filtering/types.d.ts +66 -0
  43. package/dist/components/OnyxDataGrid/features/hideColumns/hideColumns.d.ts +43 -0
  44. package/dist/components/OnyxDataGrid/features/hideColumns/types.d.ts +13 -0
  45. package/dist/components/OnyxDataGrid/features/index.d.ts +225 -15
  46. package/dist/components/OnyxDataGrid/features/pagination/pagination.d.ts +28 -0
  47. package/dist/components/OnyxDataGrid/features/pagination/types.d.ts +51 -0
  48. package/dist/components/OnyxDataGrid/features/renderer.d.ts +71 -0
  49. package/dist/components/OnyxDataGrid/features/resizing/resizing.d.ts +51 -0
  50. package/dist/components/OnyxDataGrid/features/resizing/types.d.ts +7 -0
  51. package/dist/components/OnyxDataGrid/features/selection/selection.d.ts +17 -0
  52. package/dist/components/OnyxDataGrid/features/selection/types.d.ts +39 -0
  53. package/dist/components/OnyxDataGrid/features/sorting/{SortAction.vue.d.ts → SortAction.d.vue.ts} +2 -2
  54. package/dist/components/OnyxDataGrid/features/sorting/defaults.d.ts +9 -0
  55. package/dist/components/OnyxDataGrid/features/sorting/sorting.d.ts +34 -4
  56. package/dist/components/OnyxDataGrid/features/sorting/types.d.ts +13 -18
  57. package/dist/components/OnyxDataGrid/features/stickyColumns/stickyColumns.d.ts +13 -0
  58. package/dist/components/OnyxDataGrid/features/stickyColumns/types.d.ts +14 -0
  59. package/dist/components/OnyxDataGrid/types.d.ts +79 -5
  60. package/dist/components/OnyxDataGrid/types.spec-d.d.ts +1 -0
  61. package/dist/components/OnyxDatePicker/OnyxDatePicker.d.vue.ts +20 -0
  62. package/dist/components/OnyxDatePicker/types.d.ts +3 -2
  63. package/dist/components/OnyxDialog/OnyxDialog.d.vue.ts +68 -0
  64. package/dist/components/OnyxDialog/types.d.ts +4 -24
  65. package/dist/components/OnyxEmpty/{OnyxEmpty.vue.d.ts → OnyxEmpty.d.vue.ts} +10 -2
  66. package/dist/components/OnyxErrorTooltip/{OnyxErrorTooltip.vue.d.ts → OnyxErrorTooltip.d.vue.ts} +7 -3
  67. package/dist/components/OnyxExternalLinkIcon/OnyxExternalLinkIcon.d.vue.ts +5 -0
  68. package/dist/components/OnyxExternalLinkIcon/types.d.ts +2 -5
  69. package/dist/components/OnyxFAB/OnyxFAB.d.vue.ts +34 -0
  70. package/dist/components/OnyxFAB/types.d.ts +13 -0
  71. package/dist/components/OnyxFABButton/OnyxFABButton.d.vue.ts +5 -0
  72. package/dist/components/OnyxFABButton/types.d.ts +22 -0
  73. package/dist/components/OnyxFABItem/OnyxFABItem.d.vue.ts +3 -0
  74. package/dist/components/OnyxFABItem/types.d.ts +17 -0
  75. package/dist/components/OnyxFileCard/OnyxFileCard.d.vue.ts +34 -0
  76. package/dist/components/OnyxFileCard/types.d.ts +49 -0
  77. package/dist/components/OnyxFileTypeIcon/OnyxFileTypeIcon.d.vue.ts +3 -0
  78. package/dist/components/OnyxFileTypeIcon/types.d.ts +13 -0
  79. package/dist/components/OnyxFileUpload/OnyxFileUpload.d.vue.ts +40 -0
  80. package/dist/components/OnyxFileUpload/types.d.ts +91 -0
  81. package/dist/components/OnyxFilterTag/OnyxFilterTag.d.vue.ts +10 -0
  82. package/dist/components/OnyxFilterTag/types.d.ts +8 -0
  83. package/dist/components/OnyxForm/OnyxForm.core.d.ts +46 -17
  84. package/dist/components/OnyxForm/{OnyxForm.vue.d.ts → OnyxForm.d.vue.ts} +4 -4
  85. package/dist/components/OnyxForm/types.d.ts +3 -3
  86. package/dist/components/OnyxFormElement/FormMessage.d.vue.ts +13 -0
  87. package/dist/components/OnyxFormElement/OnyxFormElement.ct-utils.d.ts +2 -2
  88. package/dist/components/OnyxFormElement/OnyxFormElement.d.vue.ts +27 -0
  89. package/dist/components/OnyxFormElement/types.d.ts +22 -19
  90. package/dist/components/OnyxGlobalFAB/OnyxGlobalFAB.d.vue.ts +2 -0
  91. package/dist/components/OnyxGlobalFAB/useGlobalFAB.d.ts +56 -0
  92. package/dist/components/OnyxHeadline/OnyxHeadline.d.vue.ts +28 -0
  93. package/dist/components/OnyxHeadline/types.d.ts +18 -2
  94. package/dist/components/OnyxIcon/OnyxIcon.d.vue.ts +3 -0
  95. package/dist/components/OnyxIcon/types.d.ts +5 -1
  96. package/dist/components/OnyxIconButton/OnyxIconButton.d.vue.ts +27 -0
  97. package/dist/components/OnyxIconButton/types.d.ts +6 -6
  98. package/dist/components/OnyxImage/OnyxImage.d.vue.ts +6 -0
  99. package/dist/components/OnyxImage/types.d.ts +43 -0
  100. package/dist/components/OnyxInfoCard/OnyxInfoCard.d.vue.ts +42 -0
  101. package/dist/components/OnyxInfoCard/types.d.ts +21 -0
  102. package/dist/components/OnyxInfoTooltip/OnyxInfoTooltip.d.vue.ts +12 -0
  103. package/dist/components/OnyxInfoTooltip/types.d.ts +2 -2
  104. package/dist/components/OnyxInput/OnyxInput.d.vue.ts +62 -0
  105. package/dist/components/OnyxInput/types.d.ts +5 -64
  106. package/dist/components/OnyxLink/{OnyxLink.vue.d.ts → OnyxLink.d.vue.ts} +4 -4
  107. package/dist/components/OnyxLink/types.d.ts +3 -10
  108. package/dist/components/OnyxListItem/{OnyxListItem.vue.d.ts → OnyxListItem.d.vue.ts} +4 -4
  109. package/dist/components/OnyxListItem/types.d.ts +2 -2
  110. package/dist/components/OnyxLoadingIndicator/OnyxCircleSpinner.d.vue.ts +2 -0
  111. package/dist/components/OnyxLoadingIndicator/OnyxLoadingDots.d.vue.ts +2 -0
  112. package/dist/components/OnyxLoadingIndicator/OnyxLoadingIndicator.d.vue.ts +5 -0
  113. package/dist/components/OnyxMiniSearch/OnyxMiniSearch.d.vue.ts +16 -0
  114. package/dist/components/OnyxMiniSearch/types.d.ts +5 -3
  115. package/dist/components/OnyxMobileNavButton/{OnyxMobileNavButton.vue.d.ts → OnyxMobileNavButton.d.vue.ts} +4 -4
  116. package/dist/components/OnyxMobileNavButton/types.d.ts +4 -0
  117. package/dist/components/{OnyxModalDialog/OnyxModalDialog.vue.d.ts → OnyxModal/OnyxModal.d.vue.ts} +17 -8
  118. package/dist/components/OnyxModal/types.d.ts +2 -0
  119. package/dist/components/OnyxMoreList/{OnyxMoreList.vue.d.ts → OnyxMoreList.d.vue.ts} +11 -6
  120. package/dist/components/OnyxMoreList/types.d.ts +12 -3
  121. package/dist/components/OnyxNavAppArea/{OnyxNavAppArea.vue.d.ts → OnyxNavAppArea.d.vue.ts} +5 -3
  122. package/dist/components/OnyxNavAppArea/types.d.ts +2 -1
  123. package/dist/components/OnyxNavBar/OnyxNavBar.d.vue.ts +44 -0
  124. package/dist/components/OnyxNavBar/modules/OnyxColorSchemeDialog/OnyxColorSchemeDialog.d.vue.ts +12 -0
  125. package/dist/components/OnyxNavBar/modules/OnyxColorSchemeDialog/types.d.ts +3 -3
  126. package/dist/components/OnyxNavBar/modules/OnyxColorSchemeMenuItem/OnyxColorSchemeMenuItem.d.vue.ts +8 -0
  127. package/dist/components/OnyxNavBar/modules/OnyxColorSchemeMenuItem/types.d.ts +1 -1
  128. package/dist/components/OnyxNavBar/modules/OnyxFlyoutMenu/{OnyxFlyoutMenu.vue.d.ts → OnyxFlyoutMenu.d.vue.ts} +9 -12
  129. package/dist/components/OnyxNavBar/modules/OnyxFlyoutMenu/types.d.ts +11 -7
  130. package/dist/components/OnyxNavBar/modules/OnyxLanguageMenuItem/OnyxLanguageMenuItem.d.vue.ts +16 -0
  131. package/dist/components/OnyxNavBar/modules/OnyxLanguageMenuItem/types.d.ts +11 -0
  132. package/dist/components/OnyxNavBar/modules/OnyxMenuItem/OnyxMenuItem.d.vue.ts +427 -0
  133. package/dist/components/OnyxNavBar/modules/OnyxMenuItem/types.d.ts +13 -9
  134. package/dist/components/OnyxNavBar/modules/OnyxNavItem/OnyxNavItem.d.vue.ts +185 -0
  135. package/dist/components/OnyxNavBar/modules/OnyxNavItem/types.d.ts +19 -2
  136. package/dist/components/OnyxNavBar/modules/OnyxNavItemFacade/OnyxNavItemFacade.d.vue.ts +41 -0
  137. package/dist/components/OnyxNavBar/modules/OnyxTimer/OnyxTimer.d.vue.ts +12 -0
  138. package/dist/components/OnyxNavBar/modules/OnyxUserMenu/{OnyxUserMenu.vue.d.ts → OnyxUserMenu.d.vue.ts} +7 -7
  139. package/dist/components/OnyxNavBar/modules/OnyxUserMenu/{UserMenuLayout.vue.d.ts → UserMenuLayout.d.vue.ts} +13 -13
  140. package/dist/components/OnyxNavBar/modules/OnyxUserMenu/types.d.ts +13 -7
  141. package/dist/components/OnyxNavBar/modules/index.d.ts +17 -17
  142. package/dist/components/OnyxNavBar/types.d.ts +53 -12
  143. package/dist/components/OnyxNotificationCard/OnyxNotificationCard.d.vue.ts +48 -0
  144. package/dist/components/OnyxNotificationCard/types.d.ts +25 -0
  145. package/dist/components/OnyxNotificationDot/OnyxNotificationDot.d.vue.ts +29 -0
  146. package/dist/components/OnyxNotificationDot/types.d.ts +11 -0
  147. package/dist/components/OnyxNotificationMessage/OnyxNotificationMessage.d.vue.ts +40 -0
  148. package/dist/components/OnyxNotificationMessage/types.d.ts +17 -0
  149. package/dist/components/OnyxNotifications/OnyxNotifications.d.vue.ts +2 -0
  150. package/dist/components/OnyxNotifications/useNotification.d.ts +60 -0
  151. package/dist/components/OnyxPageLayout/OnyxPageLayout.d.vue.ts +66 -0
  152. package/dist/components/OnyxPageLayout/types.d.ts +11 -8
  153. package/dist/components/OnyxPagination/OnyxPagination.d.vue.ts +10 -0
  154. package/dist/components/OnyxPagination/OnyxSelectPagination.d.vue.ts +9 -0
  155. package/dist/components/OnyxPagination/types.d.ts +6 -1
  156. package/dist/components/OnyxProgressItem/OnyxProgressItem.d.vue.ts +31 -0
  157. package/dist/components/OnyxProgressItem/types.d.ts +31 -0
  158. package/dist/components/OnyxProgressSteps/OnyxProgressSteps.d.vue.ts +41 -0
  159. package/dist/components/OnyxProgressSteps/types.d.ts +30 -0
  160. package/dist/components/OnyxRadioButton/{OnyxRadioButton.vue.d.ts → OnyxRadioButton.d.vue.ts} +7 -7
  161. package/dist/components/OnyxRadioButton/types.d.ts +2 -10
  162. package/dist/components/OnyxRadioGroup/{OnyxRadioGroup.vue.d.ts → OnyxRadioGroup.d.vue.ts} +9 -9
  163. package/dist/components/OnyxRadioGroup/types.d.ts +6 -19
  164. package/dist/components/OnyxResizeHandle/OnyxResizeHandle.d.vue.ts +16 -0
  165. package/dist/components/OnyxResizeHandle/types.d.ts +23 -0
  166. package/dist/components/OnyxRipple/OnyxRipple.d.vue.ts +6 -0
  167. package/dist/components/OnyxRouterLink/OnyxRouterLink.d.vue.ts +21 -0
  168. package/dist/components/OnyxRouterLink/types.d.ts +22 -0
  169. package/dist/components/OnyxSegmentedControl/OnyxSegmentedControl.d.vue.ts +17 -0
  170. package/dist/components/OnyxSegmentedControl/types.d.ts +28 -0
  171. package/dist/components/OnyxSegmentedControlElement/OnyxSegmentedControlElement.d.vue.ts +7 -0
  172. package/dist/components/OnyxSegmentedControlElement/types.d.ts +5 -0
  173. package/dist/components/OnyxSelect/{OnyxSelect.vue.d.ts → OnyxSelect.d.vue.ts} +13 -12
  174. package/dist/components/OnyxSelect/types.d.ts +34 -47
  175. package/dist/components/OnyxSelectDialog/OnyxSelectDialog.d.vue.ts +28 -0
  176. package/dist/components/OnyxSelectDialog/types.d.ts +30 -0
  177. package/dist/components/OnyxSelectInput/{OnyxSelectInput.vue.d.ts → OnyxSelectInput.d.vue.ts} +6 -8
  178. package/dist/components/OnyxSelectInput/types.d.ts +2 -24
  179. package/dist/components/OnyxSelectOption/{OnyxSelectOption.vue.d.ts → OnyxSelectOption.d.vue.ts} +5 -5
  180. package/dist/components/OnyxSelectOption/types.d.ts +2 -2
  181. package/dist/components/OnyxSeparator/OnyxSeparator.d.vue.ts +5 -0
  182. package/dist/components/OnyxSeparator/types.d.ts +7 -0
  183. package/dist/components/OnyxSidebar/OnyxSidebar.d.vue.ts +190 -0
  184. package/dist/components/OnyxSidebar/modules/OnyxSidebarItem/OnyxSidebarItem.d.vue.ts +28 -0
  185. package/dist/components/OnyxSidebar/modules/OnyxSidebarItem/types.d.ts +9 -0
  186. package/dist/components/OnyxSidebar/modules/index.d.ts +2 -0
  187. package/dist/components/OnyxSidebar/types.d.ts +40 -0
  188. package/dist/components/OnyxSkeleton/OnyxSkeleton.d.vue.ts +2 -0
  189. package/dist/components/OnyxStepper/OnyxStepper.d.vue.ts +22 -0
  190. package/dist/components/OnyxStepper/types.d.ts +26 -32
  191. package/dist/components/OnyxSwitch/OnyxSwitch.d.vue.ts +22 -0
  192. package/dist/components/OnyxSwitch/types.d.ts +3 -29
  193. package/dist/components/OnyxSystemButton/OnyxSystemButton.d.vue.ts +8 -0
  194. package/dist/components/OnyxSystemButton/types.d.ts +2 -2
  195. package/dist/components/OnyxTab/{OnyxTab.vue.d.ts → OnyxTab.d.vue.ts} +4 -4
  196. package/dist/components/OnyxTab/types.d.ts +2 -2
  197. package/dist/components/OnyxTable/OnyxTable.d.vue.ts +24 -0
  198. package/dist/components/OnyxTable/types.d.ts +43 -1
  199. package/dist/components/OnyxTabs/{OnyxTabs.vue.d.ts → OnyxTabs.d.vue.ts} +4 -6
  200. package/dist/components/OnyxTabs/types.d.ts +6 -6
  201. package/dist/components/OnyxTag/OnyxTag.d.vue.ts +6 -0
  202. package/dist/components/OnyxTag/types.d.ts +25 -2
  203. package/dist/components/OnyxTextarea/OnyxTextarea.d.vue.ts +22 -0
  204. package/dist/components/OnyxTextarea/types.d.ts +2 -5
  205. package/dist/components/OnyxToast/OnyxToast.d.vue.ts +2 -0
  206. package/dist/components/OnyxToast/useToast.d.ts +2 -2
  207. package/dist/components/OnyxToastMessage/OnyxToastMessage.d.vue.ts +12 -0
  208. package/dist/components/OnyxToastMessage/types.d.ts +2 -2
  209. package/dist/components/OnyxTooltip/OnyxTooltip.ct-utils.d.ts +1 -1
  210. package/dist/components/OnyxTooltip/{OnyxTooltip.vue.d.ts → OnyxTooltip.d.vue.ts} +22 -12
  211. package/dist/components/OnyxTooltip/types.d.ts +31 -15
  212. package/dist/components/OnyxVisuallyHidden/{OnyxVisuallyHidden.vue.d.ts → OnyxVisuallyHidden.d.vue.ts} +3 -3
  213. package/dist/components/examples/ComponentShowcase/ComponentShowcase.d.vue.ts +9 -0
  214. package/dist/components/illustrations/OnyxErrorSVG/OnyxErrorSVG.d.vue.ts +2 -0
  215. package/dist/components/illustrations/OnyxFileUploadSVG/OnyxFileUploadSVG.d.vue.ts +3 -0
  216. package/dist/components/illustrations/OnyxFileUploadSVG/types.d.ts +10 -0
  217. package/dist/components/illustrations/index.d.ts +3 -0
  218. package/dist/composables/animation.d.ts +5 -0
  219. package/dist/composables/checkAll.d.ts +3 -3
  220. package/dist/composables/density.d.ts +1 -1
  221. package/dist/composables/required.d.ts +6 -12
  222. package/dist/composables/scrollEnd.d.ts +2 -2
  223. package/dist/composables/themeTransition.d.ts +2 -2
  224. package/dist/composables/useAnchorPositionPolyfill.d.ts +20 -0
  225. package/dist/composables/useAutoFocus.d.ts +5 -0
  226. package/dist/composables/useCustomValidity.d.ts +21 -13
  227. package/dist/composables/useErrorClass.d.ts +2 -2
  228. package/dist/composables/useFileSize.d.ts +10 -0
  229. package/dist/composables/useIntersectionObserver.d.ts +25 -0
  230. package/dist/composables/useLenientMaxLengthValidation.ct-utils.d.ts +3 -0
  231. package/dist/composables/useLenientMaxLengthValidation.d.ts +93 -0
  232. package/dist/composables/useLink.d.ts +29 -0
  233. package/dist/composables/useLink.spec-d.d.ts +1 -0
  234. package/dist/composables/useMoreList.d.ts +15 -7
  235. package/dist/composables/useOpenAlignment.d.ts +13 -0
  236. package/dist/composables/useOpenDirection.d.ts +5 -5
  237. package/dist/composables/useRelativeTimeFormat.d.ts +23 -0
  238. package/dist/composables/useResizeObserver.d.ts +6 -2
  239. package/dist/composables/useRipple.d.ts +5 -5
  240. package/dist/composables/useSkeletonState.d.ts +1 -1
  241. package/dist/composables/useTimer.d.ts +3 -3
  242. package/dist/composables/useVModel.d.ts +34 -0
  243. package/dist/composables/useVModel.spec-d.d.ts +1 -0
  244. package/dist/i18n/datetime-formats.d.ts +22 -0
  245. package/dist/i18n/index.d.ts +24 -12
  246. package/dist/i18n/locales/de-DE.json +96 -2
  247. package/dist/i18n/locales/en-US.json +94 -9
  248. package/{src/i18n/locales/en-US.json → dist/i18n/locales/en-US.json.d.ts} +98 -10
  249. package/dist/i18n/number-formats.d.ts +6 -0
  250. package/dist/index.d.ts +176 -106
  251. package/dist/index.esm-bundler.js +13471 -0
  252. package/dist/index.esm-bundler.js.map +1 -0
  253. package/dist/index.js +9574 -4712
  254. package/dist/style.css +1 -1
  255. package/dist/types/components.d.ts +7 -9
  256. package/dist/types/index.d.ts +7 -8
  257. package/dist/types/utils.d.ts +66 -1
  258. package/dist/types/utils.spec-d.d.ts +1 -0
  259. package/dist/utils/attrs.d.ts +35 -4
  260. package/dist/utils/breakpoints.d.ts +17 -0
  261. package/dist/utils/console.d.ts +11 -0
  262. package/dist/utils/dom.d.ts +5 -0
  263. package/dist/utils/feature.d.ts +15 -0
  264. package/dist/utils/file.d.ts +10 -0
  265. package/dist/utils/numbers.d.ts +29 -9
  266. package/dist/utils/objects.d.ts +18 -0
  267. package/dist/utils/plugin.d.ts +11 -2
  268. package/dist/utils/router.d.ts +9 -0
  269. package/dist/utils/storybook.d.ts +43 -2
  270. package/dist/utils/strings.d.ts +13 -0
  271. package/package.json +34 -24
  272. package/src/styles/breakpoints.scss +14 -10
  273. package/src/styles/fonts.scss +7 -7
  274. package/src/styles/global.css +3 -3
  275. package/src/styles/grid.ct.tsx +186 -73
  276. package/src/styles/grid.scss +139 -38
  277. package/src/styles/index.scss +1 -2
  278. package/src/styles/layers.scss +1 -1
  279. package/src/styles/mixins/checkbox.scss +18 -4
  280. package/src/styles/mixins/input.scss +24 -5
  281. package/src/styles/mixins/layers.scss +6 -0
  282. package/src/styles/mixins/list.scss +1 -1
  283. package/src/styles/mixins/sizes.scss +12 -8
  284. package/src/styles/mixins/visibility.scss +11 -0
  285. package/src/styles/root.scss +7 -2
  286. package/src/styles/variables/density-compact.css +2 -2
  287. package/src/styles/variables/density-cozy.css +2 -2
  288. package/src/styles/variables/density-default.css +2 -2
  289. package/src/styles/variables/spacing.css +1 -1
  290. package/src/styles/variables/themes/onyx.css +387 -0
  291. package/src/styles/variables/themes/value.css +217 -159
  292. package/dist/components/OnyxAlertDialog/OnyxAlertDialog.vue.d.ts +0 -60
  293. package/dist/components/OnyxAlertDialog/types.d.ts +0 -8
  294. package/dist/components/OnyxAppLayout/OnyxAppLayout.vue.d.ts +0 -36
  295. package/dist/components/OnyxAvatar/OnyxAvatar.vue.d.ts +0 -28
  296. package/dist/components/OnyxButton/OnyxButton.vue.d.ts +0 -10
  297. package/dist/components/OnyxDataGrid/OnyxDataGrid.vue.d.ts +0 -17
  298. package/dist/components/OnyxDataGrid/features/sorting/TestCase.vue.d.ts +0 -9
  299. package/dist/components/OnyxDatePicker/OnyxDatePicker.vue.d.ts +0 -17
  300. package/dist/components/OnyxExternalLinkIcon/OnyxExternalLinkIcon.vue.d.ts +0 -5
  301. package/dist/components/OnyxFormElement/FormMessage.vue.d.ts +0 -13
  302. package/dist/components/OnyxFormElement/OnyxFormElement.vue.d.ts +0 -29
  303. package/dist/components/OnyxIcon/OnyxIcon.vue.d.ts +0 -3
  304. package/dist/components/OnyxIconButton/OnyxIconButton.vue.d.ts +0 -27
  305. package/dist/components/OnyxInfoTooltip/OnyxInfoTooltip.vue.d.ts +0 -6
  306. package/dist/components/OnyxInput/OnyxInput.vue.d.ts +0 -24
  307. package/dist/components/OnyxLoadingIndicator/OnyxCircleSpinner.vue.d.ts +0 -2
  308. package/dist/components/OnyxLoadingIndicator/OnyxLoadingDots.vue.d.ts +0 -2
  309. package/dist/components/OnyxLoadingIndicator/OnyxLoadingIndicator.vue.d.ts +0 -5
  310. package/dist/components/OnyxMiniSearch/OnyxMiniSearch.vue.d.ts +0 -14
  311. package/dist/components/OnyxModalDialog/types.d.ts +0 -2
  312. package/dist/components/OnyxNavBar/OnyxNavBar.vue.d.ts +0 -91
  313. package/dist/components/OnyxNavBar/modules/OnyxColorSchemeDialog/OnyxColorSchemeDialog.vue.d.ts +0 -11
  314. package/dist/components/OnyxNavBar/modules/OnyxColorSchemeMenuItem/OnyxColorSchemeMenuItem.vue.d.ts +0 -8
  315. package/dist/components/OnyxNavBar/modules/OnyxMenuItem/OnyxMenuItem.vue.d.ts +0 -28
  316. package/dist/components/OnyxNavBar/modules/OnyxNavButton/NavButtonLayout.vue.d.ts +0 -48
  317. package/dist/components/OnyxNavBar/modules/OnyxNavButton/OnyxNavButton.vue.d.ts +0 -122
  318. package/dist/components/OnyxNavBar/modules/OnyxNavButton/types.d.ts +0 -19
  319. package/dist/components/OnyxNavBar/modules/OnyxNavItem/OnyxNavItem.vue.d.ts +0 -31
  320. package/dist/components/OnyxNavBar/modules/OnyxNavSeparator/OnyxNavSeparator.vue.d.ts +0 -5
  321. package/dist/components/OnyxNavBar/modules/OnyxNavSeparator/types.d.ts +0 -3
  322. package/dist/components/OnyxNavBar/modules/OnyxTimer/OnyxTimer.vue.d.ts +0 -7
  323. package/dist/components/OnyxPageLayout/OnyxPageLayout.vue.d.ts +0 -30
  324. package/dist/components/OnyxPagination/OnyxPagination.vue.d.ts +0 -9
  325. package/dist/components/OnyxPagination/OnyxSelectPagination.vue.d.ts +0 -7
  326. package/dist/components/OnyxRipple/OnyxRipple.vue.d.ts +0 -4
  327. package/dist/components/OnyxSkeleton/OnyxSkeleton.vue.d.ts +0 -2
  328. package/dist/components/OnyxStepper/OnyxStepper.vue.d.ts +0 -21
  329. package/dist/components/OnyxSwitch/OnyxSwitch.vue.d.ts +0 -15
  330. package/dist/components/OnyxSystemButton/OnyxSystemButton.vue.d.ts +0 -8
  331. package/dist/components/OnyxSystemButton/examples/WithFlyoutMenu.vue.d.ts +0 -2
  332. package/dist/components/OnyxSystemButton/examples/WithTooltip.vue.d.ts +0 -2
  333. package/dist/components/OnyxTable/OnyxTable.vue.d.ts +0 -57
  334. package/dist/components/OnyxTag/OnyxTag.vue.d.ts +0 -5
  335. package/dist/components/OnyxTextarea/OnyxTextarea.vue.d.ts +0 -17
  336. package/dist/components/OnyxToast/OnyxToast.vue.d.ts +0 -2
  337. package/dist/components/OnyxToast/StorybookExample.vue.d.ts +0 -2
  338. package/dist/components/OnyxToastMessage/OnyxToastMessage.vue.d.ts +0 -12
  339. package/dist/components/examples/ComponentShowcase/ComponentShowcase.vue.d.ts +0 -9
  340. package/dist/components/examples/DataGrid/SortingDataGrid.vue.d.ts +0 -26
  341. package/dist/components/examples/FormExample/FormExample.vue.d.ts +0 -3
  342. package/dist/components/examples/GridPlayground/EditGridElementDialog/EditGridElementDialog.vue.d.ts +0 -26
  343. package/dist/components/examples/GridPlayground/GridBadge/GridBadge.vue.d.ts +0 -17
  344. package/dist/components/examples/GridPlayground/GridElement/GridElement.vue.d.ts +0 -42
  345. package/dist/components/examples/GridPlayground/GridOverlay/GridOverlay.vue.d.ts +0 -10
  346. package/dist/components/examples/GridPlayground/GridPlayground.vue.d.ts +0 -2
  347. package/dist/composables/asymmetricComputed.d.ts +0 -13
  348. package/dist/composables/useManagedState.d.ts +0 -31
  349. package/dist/composables/useWedgePosition.d.ts +0 -13
  350. package/dist/index.cjs +0 -183
  351. package/dist/playwright/a11y.d.ts +0 -28
  352. package/dist/playwright/screenshots.d.ts +0 -33
  353. package/dist/types/themes.d.ts +0 -2
  354. package/dist/utils/index.d.ts +0 -4
  355. package/src/i18n/locales/de-DE.json +0 -135
  356. package/src/i18n/locales/ko-KR.json +0 -27
  357. package/src/styles/variables/themes/digits-dark.css +0 -129
  358. package/src/styles/variables/themes/digits-light.css +0 -129
  359. package/src/styles/variables/themes/kaufland-dark.css +0 -129
  360. package/src/styles/variables/themes/kaufland-light.css +0 -129
  361. package/src/styles/variables/themes/lidl-dark.css +0 -129
  362. package/src/styles/variables/themes/lidl-light.css +0 -129
  363. package/src/styles/variables/themes/onyx-dark.css +0 -129
  364. package/src/styles/variables/themes/onyx-light.css +0 -129
  365. package/src/styles/variables/themes/schwarz-dark.css +0 -129
  366. package/src/styles/variables/themes/schwarz-light.css +0 -129
@@ -0,0 +1,66 @@
1
+ import { Ref } from 'vue';
2
+ import { DataGridEntry } from '../../types.js';
3
+ import { DataGridFeatureOptions } from '../index.js';
4
+ /**
5
+ * Configuration for how filtering should behave.
6
+ */
7
+ export type FilterConfig<TEntry extends DataGridEntry> = {
8
+ /**
9
+ * A custom filtering function for this column.
10
+ * This function is used to filter the column data, instead of using the default filtering behavior.
11
+ */
12
+ filterFunc?: (
13
+ /**
14
+ * The searchTerm as entered by the user.
15
+ */
16
+ searchTerm: string,
17
+ /**
18
+ * The current row value to be checked.
19
+ */
20
+ value: TEntry[keyof TEntry],
21
+ /**
22
+ * The column that is filtered by.
23
+ */
24
+ column: keyof TEntry,
25
+ /**
26
+ * The complete row data.
27
+ */
28
+ entry: TEntry) => boolean;
29
+ /**
30
+ * If true, filtering will be case-sensitive.
31
+ * If false, filtering will be case-insensitive.
32
+ */
33
+ caseSensitive?: boolean;
34
+ /**
35
+ * If true, the filter will start searching from the beginning of the value.
36
+ * If false, it will search anywhere in the value.
37
+ */
38
+ searchFromStart?: boolean;
39
+ /**
40
+ * If true, the filter will match the value exactly, without partial matches.
41
+ * If false, partial matches will be allowed.
42
+ */
43
+ exactMatch?: boolean;
44
+ };
45
+ /**
46
+ * Defines the current filter/search term per column
47
+ */
48
+ export type FilterState<TEntry> = Partial<Record<keyof TEntry, string | undefined>>;
49
+ /**
50
+ * The configuration options for the filtering feature in the OnyxDataGrid component.
51
+ * Includes settings for the individual columns and general filter behavior.
52
+ */
53
+ export type FilterOptions<TEntry extends DataGridEntry> = DataGridFeatureOptions<TEntry, {
54
+ [TKey in keyof TEntry]?: {
55
+ /**
56
+ * Configuration for how filtering should behave for this column.
57
+ */
58
+ config?: FilterConfig<TEntry>;
59
+ };
60
+ }, true> & {
61
+ filterState?: Ref<FilterState<TEntry>>;
62
+ /**
63
+ * Configuration for how the filtering should behave across all columns.
64
+ */
65
+ filterConfig?: FilterConfig<TEntry>;
66
+ };
@@ -0,0 +1,43 @@
1
+ import { Ref } from 'vue';
2
+ import { DataGridEntry } from '../../types.js';
3
+ import { InternalColumnConfig } from '../index.js';
4
+ import { HideColumnsOptions, HideColumnsState } from './types.js';
5
+ export declare const HIDE_COLUMNS_FEATURE: unique symbol;
6
+ export declare const HIDDEN_COLUMN: unique symbol;
7
+ export declare const useHideColumns: <TEntry extends DataGridEntry>(options?: HideColumnsOptions<TEntry>) => (ctx: import('../index.js').DataGridFeatureContext) => {
8
+ name: symbol;
9
+ watch: Ref<HideColumnsState<TEntry>, HideColumnsState<TEntry>>[];
10
+ modifyColumns: {
11
+ order: number;
12
+ /**
13
+ * Store the current column configuration for later reference
14
+ */
15
+ func: (newConfig: readonly InternalColumnConfig<TEntry, any>[]) => readonly InternalColumnConfig<TEntry, any>[];
16
+ }[];
17
+ typeRenderer: {
18
+ [HIDDEN_COLUMN]: {
19
+ header: {
20
+ thAttributes: {
21
+ class: string;
22
+ };
23
+ component: () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
24
+ [key: string]: any;
25
+ }>;
26
+ };
27
+ cell: {
28
+ tdAttributes: {
29
+ class: string;
30
+ };
31
+ component: () => null;
32
+ };
33
+ };
34
+ };
35
+ header: {
36
+ actions: ({ key: column }: InternalColumnConfig<any, any>) => {
37
+ menuItems: import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
38
+ [key: string]: any;
39
+ }>[];
40
+ showFlyoutMenu: true;
41
+ }[];
42
+ };
43
+ };
@@ -0,0 +1,13 @@
1
+ import { MaybeRef } from 'vue';
2
+ import { DataGridEntry } from '../../types.js';
3
+ import { DataGridFeatureOptions } from '../index.js';
4
+ export type HideColumnsState<TEntry extends DataGridEntry> = Set<keyof TEntry>;
5
+ /**
6
+ * The options of the sorting feature for the OnyxDataGrid component.
7
+ */
8
+ export type HideColumnsOptions<TEntry extends DataGridEntry> = DataGridFeatureOptions<TEntry, object> & {
9
+ /**
10
+ * List of column keys that are hidden.
11
+ */
12
+ state?: MaybeRef<HideColumnsState<TEntry>>;
13
+ };
@@ -1,8 +1,119 @@
1
- import { type Component, type WatchSource } from "vue";
2
- import OnyxListItem from "../../OnyxListItem/OnyxListItem.vue";
3
- import type { DataGridRendererColumn, DataGridRendererRow } from "../OnyxDataGridRenderer/types";
4
- import type { DataGridEntry, DataGridMetadata } from "../types";
5
- export type DataGridFeature<TEntry extends DataGridEntry, TFeatureName extends symbol> = {
1
+ import { Component, HTMLAttributes, MaybeRef, MaybeRefOrGetter, Ref, TdHTMLAttributes, ThHTMLAttributes, VNode, VNodeProps, WatchSource } from 'vue';
2
+ import { OnyxI18n } from '../../../i18n/index.js';
3
+ import { Nullable } from '../../../types/index.js';
4
+ import { OrderableMapping } from '../../../utils/feature.js';
5
+ import { OnyxMenuItem } from '../../OnyxNavBar/modules/index.js';
6
+ import { OnyxTableSlots, TableColumnGroup } from '../../OnyxTable/types.js';
7
+ import { DataGridRendererCell, DataGridRendererColumn, DataGridRendererRow } from '../OnyxDataGridRenderer/types.js';
8
+ import { ColumnTypesFromFeatures, DataGridEntry, DataGridMetadata } from '../types.js';
9
+ import { BASE_FEATURE } from './base/base.js';
10
+ /**
11
+ * Function type for modifying the normalized column configuration.
12
+ */
13
+ export type ModifyColumns<TEntry extends DataGridEntry> = OrderableMapping<InternalColumnConfig<TEntry>[]>;
14
+ export type HeaderCellProps<TOptions = unknown> = {
15
+ label: string;
16
+ typeOptions?: TOptions;
17
+ };
18
+ export type TypeRendererHeaderDef<TEntry extends DataGridEntry, TOptions = undefined> = Omit<DataGridRendererColumn<TEntry, HeaderCellProps<TOptions>>, "key" | "props">;
19
+ export type CellMetadata<TOptions = unknown> = {
20
+ typeOptions?: TOptions;
21
+ };
22
+ export type TypeRendererCell<TEntry extends DataGridEntry, TOptions = undefined> = Omit<DataGridRendererCell<TEntry, CellMetadata<TOptions>>, "props">;
23
+ /**
24
+ * Defines how a specific column type should be rendered.
25
+ */
26
+ export type TypeRenderer<TEntry extends DataGridEntry, TOptions = undefined> = {
27
+ header?: TypeRendererHeaderDef<TEntry, TOptions>;
28
+ cell: TypeRendererCell<TEntry, TOptions>;
29
+ };
30
+ /**
31
+ * Maps a "type" key to a column renderer.
32
+ * `symbol` keys are intended for internal/helper columns.
33
+ */
34
+ export type TypeRenderMap<TEntry extends DataGridEntry, TKey extends PropertyKey = PropertyKey> = Partial<Record<TKey, Readonly<TypeRenderer<TEntry, object>>>>;
35
+ /**
36
+ * ColumnConfig as it can be defined by the user.
37
+ */
38
+ export type ColumnConfig<TEntry extends DataGridEntry, TColumnGroup extends ColumnGroupConfig = Record<string, never>, TTypes extends ColumnConfigTypeOption<PropertyKey, unknown> = never> = keyof TEntry | PublicNormalizedColumnConfig<TEntry, TColumnGroup, TTypes | ColumnTypesFromFeatures<ReturnType<typeof BASE_FEATURE>>>;
39
+ export type DefaultSupportedTypes = keyof ReturnType<ReturnType<typeof BASE_FEATURE>>["typeRenderer"];
40
+ /**
41
+ * Configuration for the column groupings.
42
+ */
43
+ export type ColumnGroupConfig = Record<string, {
44
+ label: string;
45
+ }>;
46
+ /**
47
+ * Column config used internally and by the `modifyColumns` functions.
48
+ */
49
+ export type InternalColumnConfig<TEntry extends DataGridEntry, TColumnGroup extends ColumnGroupConfig = any> = Omit<PublicNormalizedColumnConfig<TEntry, TColumnGroup, never>, "label" | "type"> & {
50
+ type: ColumnTypeNormalized<PropertyKey, unknown>;
51
+ /**
52
+ * Attributes that should be set on all `td` elements
53
+ */
54
+ tdAttributes?: TdHTMLAttributes;
55
+ /**
56
+ * Attributes that should be set on all `th` elements
57
+ */
58
+ thAttributes?: ThHTMLAttributes;
59
+ /**
60
+ * After normalization the label is always defined.
61
+ */
62
+ label: string;
63
+ };
64
+ export type ColumnTypeNormalized<TKey, TOptions> = {
65
+ name: TKey;
66
+ options?: TOptions;
67
+ };
68
+ export type ColumnConfigTypeOption<TKey, TOptions> = TKey | ColumnTypeNormalized<TKey, TOptions>;
69
+ /**
70
+ * Normalized column config for public/external usage.
71
+ */
72
+ export type PublicNormalizedColumnConfig<TEntry extends DataGridEntry, TColumnGroup extends ColumnGroupConfig, TTypes extends ColumnConfigTypeOption<PropertyKey, unknown>> = Pick<DataGridRendererColumn<TEntry>, "width" | "key"> & {
73
+ /**
74
+ * The `label` is displayed in the data grid as column header.
75
+ * If not defined, the key is used instead.
76
+ */
77
+ label?: string;
78
+ /**
79
+ * The `type` of the column. It defines how the header and cells of a column is rendered.
80
+ * If not defined the values are displayed as plain strings.
81
+ */
82
+ type?: TTypes;
83
+ /**
84
+ * Key of the ColumnGroup that this column should be visually grouped in.
85
+ * The columns have to be defined in the correct order.
86
+ * So columns that should be grouped together have to actually be defined after each other.
87
+ *
88
+ * The label for the column group can be configured via the `columnGroups` prop.
89
+ */
90
+ columnGroupKey?: keyof TColumnGroup;
91
+ };
92
+ /**
93
+ * Context that is passed to a feature when it is set up by the `useDataGridFeatures` composable.
94
+ */
95
+ export type DataGridFeatureContext = {
96
+ /**
97
+ * Ref for the `async` state of the `OnyxDataGrid`. If `true` data mutations should be skipped, if they are expected to be handled by a backend.
98
+ */
99
+ async: Readonly<Ref<boolean>>;
100
+ /**
101
+ * The `i18n` object, which can be used to access messages, formatters and the current locale.
102
+ */
103
+ i18n: OnyxI18n;
104
+ /**
105
+ * Whether the data grid should be shows as skeleton.
106
+ */
107
+ skeleton: Readonly<Ref<number | boolean>>;
108
+ };
109
+ /**
110
+ * Complete Type for a single data grid feature.
111
+ */
112
+ export type DataGridFeature<TEntry extends DataGridEntry, TTypeRenderer extends TypeRenderMap<TEntry> = TypeRenderMap<TEntry>, TFeatureName extends symbol = symbol> = (ctx: DataGridFeatureContext) => DataGridFeatureDescription<TEntry, TTypeRenderer, TFeatureName>;
113
+ /**
114
+ * Object that describes the hooks and properties of a datagrid feature.
115
+ */
116
+ export type DataGridFeatureDescription<TEntry extends DataGridEntry, TTypeRenderer extends TypeRenderMap<TEntry> = TypeRenderMap<TEntry>, TFeatureName extends symbol = symbol> = {
6
117
  /**
7
118
  * Unique name and identifier of the datagrid feature
8
119
  */
@@ -10,13 +121,39 @@ export type DataGridFeature<TEntry extends DataGridEntry, TFeatureName extends s
10
121
  /**
11
122
  * An array of reactive states that should trigger a datagrid re-generation
12
123
  */
13
- watch: WatchSource[];
124
+ watch?: WatchSource[];
14
125
  /**
15
126
  * Allows modifying the datagrid state as a whole.
16
127
  */
17
128
  mutation?: {
18
- func: (state: Readonly<TEntry>[]) => void;
129
+ func: (state: Readonly<TEntry>[]) => Readonly<TEntry>[] | void;
130
+ /**
131
+ * Defines the order in which the mutation is handled.
132
+ * This can be used to control the sequence of operations when multiple mutations are applied.
133
+ *
134
+ * The higher the order, the earlier the mutation is applied.
135
+ *
136
+ * @default 0
137
+ */
138
+ order?: number;
19
139
  };
140
+ /**
141
+ * Defines a renderer for a column type.
142
+ */
143
+ typeRenderer?: TTypeRenderer;
144
+ /**
145
+ * Allows modification of the normalized column configuration.
146
+ * While the entries are passed as readonly, but the array itself can be modified.
147
+ * To change entries, you need to clone them first:
148
+ *
149
+ * @example
150
+ * ```ts
151
+ * {
152
+ * modifyColumns: [ { func: (config) => configs.map(column => ({ ...column, type: "newType" })) } ];
153
+ * }
154
+ * ```
155
+ */
156
+ modifyColumns?: ModifyColumns<TEntry>;
20
157
  /**
21
158
  * Allows the modification of the headers.
22
159
  */
@@ -26,14 +163,56 @@ export type DataGridFeature<TEntry extends DataGridEntry, TFeatureName extends s
26
163
  * `iconComponent` of an action is shown after the header label.
27
164
  * The components must be ARIA-conform buttons.
28
165
  */
29
- actions?: (column: keyof TEntry) => {
30
- iconComponent: Component;
31
- listItems: Component<typeof OnyxListItem>[];
166
+ actions?: (column: InternalColumnConfig<TEntry>, index: number, all: InternalColumnConfig<TEntry>[]) => {
167
+ iconComponent?: Component | {
168
+ iconComponent: Component;
169
+ /**
170
+ * Will force the icon component to be always shown in the header and not be put into the menu
171
+ */
172
+ alwaysShowInHeader?: boolean;
173
+ };
174
+ menuItems?: Component<typeof OnyxMenuItem>[];
175
+ showFlyoutMenu?: boolean;
32
176
  }[];
177
+ wrapper?: (column: InternalColumnConfig<TEntry>, index: number, all: InternalColumnConfig<TEntry>[]) => Component;
33
178
  };
179
+ scrollContainerAttributes?: () => DataGridScrollContainerAttributes;
180
+ /**
181
+ * Optional table slots.
182
+ */
183
+ slots?: DataGridFeatureSlots;
34
184
  };
185
+ export type DataGridScrollContainerAttributes = HTMLAttributes & Pick<VNodeProps, "ref">;
186
+ export type DataGridFeatureSlots = Partial<{
187
+ [TSlotName in keyof Pick<OnyxTableSlots, "headline" | "bottomLeft" | "pagination">]: (slotContent: () => VNode[]) => Nullable<VNode>[];
188
+ }>;
189
+ export type InternalDataGridSlots = Partial<Record<keyof DataGridFeatureSlots, () => VNode[]>>;
190
+ export type DataGridFeatureOptions<TEntry extends DataGridEntry, TColumnOptions extends Partial<Record<keyof TEntry, object>>, TWithAsync extends boolean = false> = {
191
+ /**
192
+ * Whether the feature is enabled by default. Can be overridden per column.
193
+ *
194
+ * @default true
195
+ */
196
+ enabled?: MaybeRef<boolean | undefined>;
197
+ /**
198
+ * Options for each column. Will override default/global options of the feature.
199
+ */
200
+ columns?: MaybeRef<{
201
+ [TKey in keyof TEntry]?: TColumnOptions[TKey] & {
202
+ /**
203
+ * Whether the feature is enabled for this column. If unset, the default/global `enabled` option of this feature will be used.
204
+ */
205
+ enabled?: boolean;
206
+ };
207
+ } | undefined>;
208
+ } & (TWithAsync extends true ? {
209
+ /**
210
+ * When async is `true`, then the internal data transformations of this feature are disabled and have to be performed manually.
211
+ */
212
+ async?: boolean;
213
+ } : unknown);
35
214
  /**
36
- * Helper function that infers the generics of the DataGridFeature type.
215
+ * Helper function that checks the generics of the DataGridFeature type, without breaking type inference.
37
216
  * @example
38
217
  * ```ts
39
218
  *
@@ -52,7 +231,16 @@ export type DataGridFeature<TEntry extends DataGridEntry, TFeatureName extends s
52
231
  * });
53
232
  * ```
54
233
  */
55
- export declare function createFeature<TEntry extends DataGridEntry, TFeatureName extends symbol, TArgs extends unknown[]>(featureDefinition: (...args: TArgs) => DataGridFeature<TEntry, TFeatureName>): (...args: TArgs) => DataGridFeature<TEntry, TFeatureName>;
234
+ export declare function createFeature<TFeature extends DataGridFeature<any, any, any>, T extends CheckDataGridFeature<TFeature>>(featureDefinition: T): T;
235
+ type CheckDataGridFeature<T> = T extends DataGridFeature<infer A, TypeRenderMap<infer A>, infer C> ? DataGridFeature<A, TypeRenderMap<A>, C> : never;
236
+ export type UseDataGridFeaturesOptions<TEntry extends DataGridEntry, TColumnGroup extends ColumnGroupConfig, TTypes extends ColumnConfigTypeOption<PropertyKey, unknown>> = {
237
+ columnConfig: MaybeRefOrGetter<ColumnConfig<TEntry, TColumnGroup, TTypes>[]>;
238
+ i18n: OnyxI18n;
239
+ columnGroups: MaybeRefOrGetter<TColumnGroup>;
240
+ async: Readonly<Ref<boolean>>;
241
+ skeleton: DataGridFeatureContext["skeleton"];
242
+ };
243
+ export declare const createTableColumnGroups: <TEntry extends DataGridEntry, TColumnGroup extends ColumnGroupConfig>(columns?: InternalColumnConfig<TEntry, TColumnGroup>[], columnGroups?: ColumnGroupConfig) => TableColumnGroup[] | undefined;
56
244
  /**
57
245
  * Uses the defined datagrid features to provide factory functions.
58
246
  * These factories are to be used to map data and configuration to `OnyxDataGridRenderer` properties.
@@ -87,10 +275,32 @@ export declare function createFeature<TEntry extends DataGridEntry, TFeatureName
87
275
  * </template>
88
276
  * ```
89
277
  */
90
- export declare const useDataGridFeatures: <TEntry extends DataGridEntry, T extends DataGridFeature<TEntry, symbol>[] | []>(features: T) => {
278
+ export declare const useDataGridFeatures: <TEntry extends DataGridEntry, TFeatureName extends symbol, TTypeRenderer extends TypeRenderMap<TEntry>, TColumnGroup extends ColumnGroupConfig, TTypes extends ColumnConfigTypeOption<PropertyKey, unknown>, T extends DataGridFeature<TEntry, TTypeRenderer, TFeatureName>[] | []>(featureDefinitions: T, { i18n, columnConfig, columnGroups, async, skeleton, }: UseDataGridFeaturesOptions<TEntry, TColumnGroup, TTypes>) => {
279
+ /**
280
+ * Takes the table attributes and maps all
281
+ */
282
+ createScrollContainerAttributes: () => never;
283
+ /** Uses the column definition and available column group config to generate the column groups for the underlying OnyxTable */
284
+ createRendererColumnGroups: () => TableColumnGroup[] | undefined;
91
285
  /** Takes the column definition and maps all, calls mutation func and maps at the end to RendererCell */
92
- createRendererRows: (entries: TEntry[], columns: (keyof TEntry)[]) => DataGridRendererRow<TEntry, DataGridMetadata>[];
286
+ createRendererRows: (entries: TEntry[]) => DataGridRendererRow<TEntry, DataGridMetadata>[];
93
287
  /** Takes the column definition and creates a RenderHeader for each, adds actions from features */
94
- createRendererColumns: (columns: (keyof TEntry)[]) => DataGridRendererColumn<TEntry, object>[];
288
+ createRendererColumns: () => DataGridRendererColumn<TEntry>[];
289
+ /** Uses all features and generates the content of the additional table slots (headline, pagination etc.) for the underlying OnyxTable */
290
+ createSlots: () => Partial<Record<"pagination" | "headline" | "bottomLeft", () => VNode[]>>;
95
291
  watchSources: WatchSource[];
96
292
  };
293
+ export declare const useFeatureContext: (ctx: DataGridFeatureContext, options?: DataGridFeatureOptions<DataGridEntry, object, boolean>) => {
294
+ /**
295
+ * Checks whether a data grid feature is enabled for a given column.
296
+ * Considers the feature defaults as well as column-specific overrides.
297
+ *
298
+ * @default true
299
+ */
300
+ isEnabled: import('vue').ComputedRef<(column?: PropertyKey) => boolean>;
301
+ /**
302
+ * Whether the feature only or all features have data transformations enabled.
303
+ */
304
+ isAsync: import('vue').ComputedRef<boolean>;
305
+ };
306
+ export {};
@@ -0,0 +1,28 @@
1
+ import { Ref } from 'vue';
2
+ import { PaginationOptions, PaginationState } from './types.js';
3
+ export declare const PAGINATION_FEATURE: unique symbol;
4
+ export declare const LAZY_LOADING_ROW_ID: unique symbol;
5
+ export declare const LAZY_LOADING_TYPE_RENDERER: unique symbol;
6
+ export declare const BUTTON_LOADING_ROW_ID: unique symbol;
7
+ export declare const BUTTON_LOADING_TYPE_RENDERER: unique symbol;
8
+ export declare const PAGINATION_MUTATION_ORDER: number;
9
+ export declare const usePagination: (options?: PaginationOptions) => (ctx: import('../index.js').DataGridFeatureContext) => {
10
+ name: symbol;
11
+ watch: (Readonly<Ref<number | boolean, number | boolean>> | import('vue').ComputedRef<(column?: PropertyKey) => boolean> | Ref<PaginationState, PaginationState>)[];
12
+ mutation: {
13
+ order: number;
14
+ func: (entries: Readonly<any>[]) => Readonly<any>[];
15
+ };
16
+ typeRenderer: {
17
+ [LAZY_LOADING_TYPE_RENDERER]: Readonly<import('../index.js').TypeRenderer<any, object>>;
18
+ [BUTTON_LOADING_TYPE_RENDERER]: Readonly<import('../index.js').TypeRenderer<any, object>>;
19
+ };
20
+ slots: {
21
+ pagination: () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
22
+ [key: string]: any;
23
+ }>[];
24
+ };
25
+ scrollContainerAttributes: () => {
26
+ ref: (el: Element | import('vue').ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import('vue').ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, import('vue').ComponentProvideOptions>, {}, {}, "", {}, any> | null) => void;
27
+ };
28
+ };
@@ -0,0 +1,51 @@
1
+ import { Ref } from 'vue';
2
+ import { DataGridEntry } from '../../types.js';
3
+ import { DataGridFeatureOptions } from '../index.js';
4
+ /**
5
+ * The configuration options for the pagination feature in the OnyxDataGrid component.
6
+ */
7
+ export type PaginationOptions = Pick<DataGridFeatureOptions<DataGridEntry, object, true>, "enabled" | "async"> & {
8
+ /**
9
+ * How many entries should be displayed per page.
10
+ *
11
+ * @default 25
12
+ */
13
+ pageSize?: number;
14
+ /**
15
+ * The current pagination state. Can be used to e.g. set initial pagination state or pass a custom state (useful when async pagination is used).
16
+ */
17
+ paginationState?: Ref<PaginationState>;
18
+ /**
19
+ * Whether to disable the pagination.
20
+ */
21
+ disabled?: Ref<boolean | undefined>;
22
+ /**
23
+ * Defines how the pagination is applied by the user.
24
+ * - select: user can select a page using the [OnyxPagination](https://storybook.onyx.schwarz/?path=/docs/data-pagination--docs) component
25
+ * - lazy: current page is increased automatically when the users scrolls to the end of the table. Requires a fixed table height to be set
26
+ * - button: when scrolling to the end of the table, a button is shown that can be clicked to load the next page of data
27
+ *
28
+ * @default "select"
29
+ */
30
+ type?: PaginationType;
31
+ /**
32
+ * Whether the data is currently loading after changing the current page.
33
+ * Should only be used if pagination is async.
34
+ */
35
+ loading?: Ref<boolean>;
36
+ };
37
+ export type PaginationState = {
38
+ /**
39
+ * Current page number. First page = 1.
40
+ */
41
+ current: number;
42
+ /**
43
+ * Total number of pages.
44
+ */
45
+ pages: number;
46
+ /**
47
+ * How many entries should be displayed per page.
48
+ */
49
+ pageSize: number;
50
+ };
51
+ export type PaginationType = "select" | "lazy" | "button";
@@ -0,0 +1,71 @@
1
+ import { OnyxDateFormatOptions, OnyxNumberFormatOptions } from '../../../i18n/index.js';
2
+ import { OnyxIconProps } from '../../OnyxIcon/types.js';
3
+ import { DataGridEntry } from '../types.js';
4
+ import { DataGridFeatureDescription, TypeRenderer, TypeRenderMap } from './index.js';
5
+ export declare const FALLBACK_RENDER_VALUE = "-";
6
+ /**
7
+ * Allows for creating `TypeRenderer` with typed options.
8
+ * These options are then made available via the column configuration.
9
+ *
10
+ * While typeRenderer can be defined without this helper, they cannot define any options.
11
+ */
12
+ export declare const createTypeRenderer: <TOptions = undefined, TEntry extends DataGridEntry = DataGridEntry>(typeRenderer: TypeRenderer<TEntry, TOptions>) => Readonly<TypeRenderer<TEntry, TOptions>>;
13
+ export type NumberCellOptions = {
14
+ format?: OnyxNumberFormatOptions;
15
+ /**
16
+ * Fallback value to display when the value is undefined or invalid.
17
+ * Defaults to "-" if not provided.
18
+ */
19
+ fallback?: string;
20
+ };
21
+ export declare const numberFormatter: <TEntry extends DataGridEntry>(value: TEntry[keyof TEntry] | undefined, opts?: NumberCellOptions) => string;
22
+ export declare const NUMBER_RENDERER: Readonly<TypeRenderer<DataGridEntry, NumberCellOptions>>;
23
+ export type StringCellOptions = {
24
+ /**
25
+ * Fallback value to display when the value is undefined.
26
+ * Defaults to "-" if not provided.
27
+ */
28
+ fallback?: string;
29
+ };
30
+ export declare const stringFormatter: <TEntry extends DataGridEntry>(value: TEntry[keyof TEntry] | undefined, opts?: StringCellOptions) => string;
31
+ export declare const STRING_RENDERER: Readonly<TypeRenderer<DataGridEntry, StringCellOptions>>;
32
+ export type DateCellOptions = {
33
+ format?: OnyxDateFormatOptions;
34
+ /**
35
+ * Fallback value to display when the value is undefined or invalid.
36
+ * Defaults to "-" if not provided.
37
+ */
38
+ fallback?: string;
39
+ };
40
+ export declare const dateFormatter: <TEntry extends DataGridEntry>(value: TEntry[keyof TEntry] | undefined, opts?: DateCellOptions) => string;
41
+ export declare const DATE_RENDERER: Readonly<TypeRenderer<DataGridEntry, DateCellOptions>>;
42
+ export declare const DATETIME_RENDERER: Readonly<TypeRenderer<DataGridEntry, DateCellOptions>>;
43
+ export declare const TIME_RENDERER: Readonly<TypeRenderer<DataGridEntry, DateCellOptions>>;
44
+ export declare const TIMESTAMP_RENDERER: Readonly<TypeRenderer<DataGridEntry, DateCellOptions>>;
45
+ export declare const SKELETON_RENDERER: Readonly<TypeRenderer<DataGridEntry, StringCellOptions>>;
46
+ export type BooleanCellOptions = {
47
+ /**
48
+ * Icon to display when the value is truthy.
49
+ */
50
+ truthy?: BooleanCellIconOptions;
51
+ /**
52
+ * Icon to display when the value is falsy.
53
+ */
54
+ falsy?: BooleanCellIconOptions;
55
+ };
56
+ export type BooleanCellIconOptions = Partial<OnyxIconProps> & {
57
+ /**
58
+ * Label to display (visually hidden) for e.g. screen readers.
59
+ *
60
+ * @default "Yes" / "No" label depending on the current locale
61
+ */
62
+ label?: string;
63
+ };
64
+ export declare const BOOLEAN_RENDERER: Readonly<TypeRenderer<DataGridEntry, BooleanCellOptions>>;
65
+ export declare const createRenderer: <TEntry extends DataGridEntry>(features: DataGridFeatureDescription<TEntry, TypeRenderMap<TEntry>, symbol>[]) => {
66
+ /**
67
+ * Returns a renderer for any given component and type.
68
+ * Uses the fallbackRenderer if necessary.
69
+ */
70
+ getFor: <TComponent extends "cell" | "header", TRenderer extends NonNullable<TypeRenderer<TEntry, any>[TComponent]>>(component: TComponent, type?: PropertyKey) => TRenderer;
71
+ };
@@ -0,0 +1,51 @@
1
+ import { DataGridEntry } from '../../types.js';
2
+ import { InternalColumnConfig } from '../index.js';
3
+ import { ResizingOptions } from './types.js';
4
+ export declare const RESIZING_FEATURE: unique symbol;
5
+ export declare const FILLER_COLUMN: unique symbol;
6
+ export declare const useResizing: <TEntry extends DataGridEntry>(options?: ResizingOptions<TEntry>) => (ctx: import('../index.js').DataGridFeatureContext) => {
7
+ name: symbol;
8
+ modifyColumns: {
9
+ func: (cols: Readonly<InternalColumnConfig<TEntry>[]>) => InternalColumnConfig<TEntry>[];
10
+ };
11
+ scrollContainerAttributes: () => {
12
+ ref: (el: Element | import('vue').ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import('vue').ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, import('vue').ComponentProvideOptions>, {}, {}, "", {}, any> | null) => void;
13
+ };
14
+ typeRenderer: {
15
+ /**
16
+ * The filler column stretches the remaining space in case the column widths are smaller than the table's intended width.
17
+ */
18
+ [FILLER_COLUMN]: {
19
+ header: {
20
+ thAttributes: {
21
+ class: string;
22
+ "aria-hidden": true;
23
+ };
24
+ component: () => null;
25
+ };
26
+ cell: {
27
+ tdAttributes: {
28
+ class: string;
29
+ "aria-hidden": true;
30
+ };
31
+ component: () => null;
32
+ };
33
+ };
34
+ };
35
+ header: {
36
+ wrapper: (cols: InternalColumnConfig<any, any>, i: number, { length }: InternalColumnConfig<any, any>[]) => (_: any, { slots }: Omit<{
37
+ attrs: {
38
+ [x: string]: unknown;
39
+ };
40
+ slots: Readonly<{
41
+ [name: string]: import('vue').Slot<any> | undefined;
42
+ }>;
43
+ emit: (event: string, ...args: any[]) => void;
44
+ expose: <Exposed extends Record<string, any> = Record<string, any>>(exposed?: Exposed) => void;
45
+ }, "expose">) => (import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
46
+ [key: string]: any;
47
+ }> | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
48
+ [key: string]: any;
49
+ }>[] | undefined)[] | undefined;
50
+ };
51
+ };
@@ -0,0 +1,7 @@
1
+ import { DataGridEntry } from '../../types.js';
2
+ import { DataGridFeatureOptions } from '../index.js';
3
+ /**
4
+ * The configuration options for the resizing feature in the OnyxDataGrid component.
5
+ * Includes settings for the individual columns and general resizing behavior.
6
+ */
7
+ export type ResizingOptions<TEntry extends DataGridEntry> = DataGridFeatureOptions<TEntry, object>;
@@ -0,0 +1,17 @@
1
+ import { Ref } from 'vue';
2
+ import { DataGridEntry } from '../../types.js';
3
+ import { SelectionOptions, SelectionState } from './types.js';
4
+ export declare const SELECTION_FEATURE: unique symbol;
5
+ export declare const SELECTION_MUTATION_ORDER = 1000;
6
+ export declare const useSelection: <TEntry extends DataGridEntry>(options?: SelectionOptions) => (ctx: import('../index.js').DataGridFeatureContext) => {
7
+ name: symbol;
8
+ watch: (Readonly<Ref<boolean, boolean>> | import('vue').ComputedRef<(column?: PropertyKey) => boolean> | Ref<SelectionState, SelectionState>)[];
9
+ modifyColumns: import('../../../../utils/feature.js').SingleOrderableMapping<import('../index.js').InternalColumnConfig<TEntry, any>[], import('../index.js').InternalColumnConfig<TEntry, any>[], readonly import('../index.js').InternalColumnConfig<TEntry, any>[]>;
10
+ mutation: {
11
+ func: (rows: Readonly<any>[]) => Readonly<any>[];
12
+ order: number;
13
+ };
14
+ typeRenderer: {
15
+ [x: string]: Readonly<import('../index.js').TypeRenderer<any, object>>;
16
+ };
17
+ };