sit-onyx 1.0.0-beta.98 → 1.0.0-dev-20250912111044

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 (367) 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/OnyxModal/OnyxModal.d.vue.ts +57 -0
  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 +9618 -4746
  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 -58
  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/OnyxModalDialog.vue.d.ts +0 -46
  312. package/dist/components/OnyxModalDialog/types.d.ts +0 -2
  313. package/dist/components/OnyxNavBar/OnyxNavBar.vue.d.ts +0 -91
  314. package/dist/components/OnyxNavBar/modules/OnyxColorSchemeDialog/OnyxColorSchemeDialog.vue.d.ts +0 -11
  315. package/dist/components/OnyxNavBar/modules/OnyxColorSchemeMenuItem/OnyxColorSchemeMenuItem.vue.d.ts +0 -8
  316. package/dist/components/OnyxNavBar/modules/OnyxMenuItem/OnyxMenuItem.vue.d.ts +0 -28
  317. package/dist/components/OnyxNavBar/modules/OnyxNavButton/NavButtonLayout.vue.d.ts +0 -48
  318. package/dist/components/OnyxNavBar/modules/OnyxNavButton/OnyxNavButton.vue.d.ts +0 -122
  319. package/dist/components/OnyxNavBar/modules/OnyxNavButton/types.d.ts +0 -19
  320. package/dist/components/OnyxNavBar/modules/OnyxNavItem/OnyxNavItem.vue.d.ts +0 -31
  321. package/dist/components/OnyxNavBar/modules/OnyxNavSeparator/OnyxNavSeparator.vue.d.ts +0 -5
  322. package/dist/components/OnyxNavBar/modules/OnyxNavSeparator/types.d.ts +0 -3
  323. package/dist/components/OnyxNavBar/modules/OnyxTimer/OnyxTimer.vue.d.ts +0 -7
  324. package/dist/components/OnyxPageLayout/OnyxPageLayout.vue.d.ts +0 -30
  325. package/dist/components/OnyxPagination/OnyxPagination.vue.d.ts +0 -9
  326. package/dist/components/OnyxPagination/OnyxSelectPagination.vue.d.ts +0 -7
  327. package/dist/components/OnyxRipple/OnyxRipple.vue.d.ts +0 -4
  328. package/dist/components/OnyxSkeleton/OnyxSkeleton.vue.d.ts +0 -2
  329. package/dist/components/OnyxStepper/OnyxStepper.vue.d.ts +0 -21
  330. package/dist/components/OnyxSwitch/OnyxSwitch.vue.d.ts +0 -15
  331. package/dist/components/OnyxSystemButton/OnyxSystemButton.vue.d.ts +0 -8
  332. package/dist/components/OnyxSystemButton/examples/WithFlyoutMenu.vue.d.ts +0 -2
  333. package/dist/components/OnyxSystemButton/examples/WithTooltip.vue.d.ts +0 -2
  334. package/dist/components/OnyxTable/OnyxTable.vue.d.ts +0 -57
  335. package/dist/components/OnyxTag/OnyxTag.vue.d.ts +0 -5
  336. package/dist/components/OnyxTextarea/OnyxTextarea.vue.d.ts +0 -17
  337. package/dist/components/OnyxToast/OnyxToast.vue.d.ts +0 -2
  338. package/dist/components/OnyxToast/StorybookExample.vue.d.ts +0 -2
  339. package/dist/components/OnyxToastMessage/OnyxToastMessage.vue.d.ts +0 -12
  340. package/dist/components/examples/ComponentShowcase/ComponentShowcase.vue.d.ts +0 -9
  341. package/dist/components/examples/DataGrid/SortingDataGrid.vue.d.ts +0 -26
  342. package/dist/components/examples/FormExample/FormExample.vue.d.ts +0 -3
  343. package/dist/components/examples/GridPlayground/EditGridElementDialog/EditGridElementDialog.vue.d.ts +0 -26
  344. package/dist/components/examples/GridPlayground/GridBadge/GridBadge.vue.d.ts +0 -17
  345. package/dist/components/examples/GridPlayground/GridElement/GridElement.vue.d.ts +0 -42
  346. package/dist/components/examples/GridPlayground/GridOverlay/GridOverlay.vue.d.ts +0 -10
  347. package/dist/components/examples/GridPlayground/GridPlayground.vue.d.ts +0 -2
  348. package/dist/composables/asymmetricComputed.d.ts +0 -13
  349. package/dist/composables/useManagedState.d.ts +0 -31
  350. package/dist/composables/useWedgePosition.d.ts +0 -13
  351. package/dist/index.cjs +0 -183
  352. package/dist/playwright/a11y.d.ts +0 -28
  353. package/dist/playwright/screenshots.d.ts +0 -33
  354. package/dist/types/themes.d.ts +0 -2
  355. package/dist/utils/index.d.ts +0 -4
  356. package/src/i18n/locales/de-DE.json +0 -135
  357. package/src/i18n/locales/ko-KR.json +0 -27
  358. package/src/styles/variables/themes/digits-dark.css +0 -129
  359. package/src/styles/variables/themes/digits-light.css +0 -129
  360. package/src/styles/variables/themes/kaufland-dark.css +0 -129
  361. package/src/styles/variables/themes/kaufland-light.css +0 -129
  362. package/src/styles/variables/themes/lidl-dark.css +0 -129
  363. package/src/styles/variables/themes/lidl-light.css +0 -129
  364. package/src/styles/variables/themes/onyx-dark.css +0 -129
  365. package/src/styles/variables/themes/onyx-light.css +0 -129
  366. package/src/styles/variables/themes/schwarz-dark.css +0 -129
  367. package/src/styles/variables/themes/schwarz-light.css +0 -129
@@ -0,0 +1,34 @@
1
+ import { OnyxFileCardProps } from './types.js';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: Readonly<{
5
+ /**
6
+ * Optional actions to show on the right side of the card.
7
+ * Recommended to use the OnyxIconButton component here.
8
+ */
9
+ actions?(): unknown;
10
+ }> & {
11
+ /**
12
+ * Optional actions to show on the right side of the card.
13
+ * Recommended to use the OnyxIconButton component here.
14
+ */
15
+ actions?(): unknown;
16
+ };
17
+ refs: {};
18
+ rootEl: any;
19
+ };
20
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
21
+ declare const __VLS_component: import('vue').DefineComponent<OnyxFileCardProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
22
+ validityChange: (validity: ValidityState) => any;
23
+ }, string, import('vue').PublicProps, Readonly<OnyxFileCardProps> & Readonly<{
24
+ onValidityChange?: ((validity: ValidityState) => any) | undefined;
25
+ }>, {
26
+ skeleton: import('../../composables/useSkeletonState.js', { with: { "resolution-mode": "import" } }).SkeletonInjected;
27
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
28
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
29
+ export default _default;
30
+ type __VLS_WithTemplateSlots<T, S> = T & {
31
+ new (): {
32
+ $slots: S;
33
+ };
34
+ };
@@ -0,0 +1,49 @@
1
+ import { DensityProp } from '../../composables/density.js';
2
+ import { SkeletonInjected } from '../../composables/useSkeletonState.js';
3
+ import { OnyxColor } from '../../types/colors.js';
4
+ import { BinaryPrefixedSize } from '../../utils/numbers.js';
5
+ import { OnyxFileTypeIconProps } from '../OnyxFileTypeIcon/types.js';
6
+ import { SharedLinkProps } from '../OnyxRouterLink/types.js';
7
+ export type OnyxFileCardProps = DensityProp & Pick<OnyxFileTypeIconProps, "type"> & {
8
+ /**
9
+ * Name of the file.
10
+ */
11
+ filename: string;
12
+ /**
13
+ * File size.
14
+ * Can be a number in bytes (e.g. 1024 \* 1024 \* 42) or a [binary prefixed size](https://en.wikipedia.org/wiki/Binary_prefix) (e.g. 42MiB).
15
+ * For the user, the size will be displayed in decimal instead of binary notation (e.g. 42MB instead of 42MiB) since users are mostly non-technical and such visualization is therefore simpler to understand.
16
+ */
17
+ size: number | BinaryPrefixedSize;
18
+ /**
19
+ * Link to the file. If set, the filename will be rendered as link.
20
+ */
21
+ link?: string | SharedLinkProps;
22
+ /**
23
+ * Optional status text to show.
24
+ */
25
+ status?: FileCardStatus;
26
+ /**
27
+ * Optional icon to show. If unset, a default icon will be shown depending on the file `type` property.
28
+ */
29
+ icon?: string;
30
+ /**
31
+ * Whether to show a skeleton card.
32
+ */
33
+ skeleton?: SkeletonInjected;
34
+ };
35
+ export type FileCardStatus = {
36
+ /**
37
+ * Status text to show.
38
+ */
39
+ text: string;
40
+ /**
41
+ * Text color.
42
+ * If set to "danger", an error icon will be displayed instead of the regular file icon.
43
+ */
44
+ color: OnyxColor;
45
+ /**
46
+ * Progress in percentage (0-100%). Displays a progress bar accordingly.
47
+ */
48
+ progress?: number;
49
+ };
@@ -0,0 +1,3 @@
1
+ import { OnyxFileTypeIconProps } from './types.js';
2
+ declare const _default: import('vue').DefineComponent<OnyxFileTypeIconProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<OnyxFileTypeIconProps> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
3
+ export default _default;
@@ -0,0 +1,13 @@
1
+ import { MediaType } from '../OnyxFileUpload/types.js';
2
+ import { OnyxIconProps } from '../OnyxIcon/types.js';
3
+ export type OnyxFileTypeIconProps = Omit<OnyxIconProps, "icon"> & {
4
+ /**
5
+ * Media type of the file, e.g. "application/pdf".
6
+ * If unset or an unsupported media type is provided, a default icon will be shown.
7
+ */
8
+ type?: MediaType;
9
+ };
10
+ /**
11
+ * A list of media files that have a dedicated icon for the OnyxFileTypeIcon component.
12
+ */
13
+ export declare const SUPPORTED_FILE_TYPE_ICON_MEDIA_TYPES: ("application/octet-stream" | "application/pdf" | "text/csv" | "audio/mp3" | "video/mp4" | "image/png" | "application/rtf" | "application/vnd.ms-powerpoint" | "application/vnd.openxmlformats-officedocument.presentationml.presentation" | "application/vnd.ms-excel" | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" | "application/msword" | "application/vnd.openxmlformats-officedocument.wordprocessingml.document" | "text/html" | "application/zip" | "application/vnd.rar" | "application/x-7z-compressed" | "application/x-tar" | "application/gzip" | "application/x-bzip2")[];
@@ -0,0 +1,40 @@
1
+ import { Nullable } from '../../types/utils.js';
2
+ import { OnyxFileCardProps } from '../OnyxFileCard/types.js';
3
+ import { OnyxFileUploadProps } from './types.js';
4
+ declare const _default: <TMultiple extends boolean = false, TModelValue extends TMultiple extends true ? File[] : Nullable<File> = TMultiple extends true ? File[] : Nullable<File>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
5
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
6
+ readonly "onUpdate:modelValue"?: ((value: TModelValue) => any) | undefined;
7
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:modelValue"> & OnyxFileUploadProps<TMultiple> & Partial<{}>> & import('vue').PublicProps;
8
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
9
+ attrs: any;
10
+ slots: Readonly<{
11
+ /**
12
+ * Optional slot to override the displayed file card for each file.
13
+ *
14
+ * @param file The current file being rendered
15
+ * @param props File card props that would originally be passed to the OnyxFileCard if this slot would not be used
16
+ */
17
+ default?(props: {
18
+ file: File;
19
+ props: OnyxFileCardProps;
20
+ }): unknown;
21
+ }> & {
22
+ /**
23
+ * Optional slot to override the displayed file card for each file.
24
+ *
25
+ * @param file The current file being rendered
26
+ * @param props File card props that would originally be passed to the OnyxFileCard if this slot would not be used
27
+ */
28
+ default?(props: {
29
+ file: File;
30
+ props: OnyxFileCardProps;
31
+ }): unknown;
32
+ };
33
+ emit: (evt: "update:modelValue", value: TModelValue) => void;
34
+ }>) => import('vue').VNode & {
35
+ __ctx?: Awaited<typeof __VLS_setup>;
36
+ };
37
+ export default _default;
38
+ type __VLS_PrettifyLocal<T> = {
39
+ [K in keyof T]: T[K];
40
+ } & {};
@@ -0,0 +1,91 @@
1
+ import { DensityProp } from '../../composables/density.js';
2
+ import { SkeletonInjected } from '../../composables/useSkeletonState.js';
3
+ import { Nullable } from '../../types/utils.js';
4
+ import { BinaryPrefixedSize } from '../../utils/numbers.js';
5
+ import { FormInjected } from '../OnyxForm/OnyxForm.core.js';
6
+ import { SharedFormElementProps } from '../OnyxFormElement/types.js';
7
+ export type OnyxFileUploadProps<TMultiple extends boolean> = DensityProp & Pick<SharedFormElementProps, "name"> & {
8
+ /**
9
+ * Currently selected file(s).
10
+ * If `multiple` property is enabled, this value is an array, otherwise a single file.
11
+ */
12
+ modelValue?: TMultiple extends true ? File[] : Nullable<File>;
13
+ /**
14
+ * Whether multiple files can be selected.
15
+ * If `true`, the `modelValue` property will be an array, otherwise a single value.
16
+ */
17
+ multiple?: boolean & TMultiple;
18
+ /**
19
+ * File types to accept/allow for the upload.
20
+ * If undefined or an empty array, all types will be allowed.
21
+ *
22
+ * For a full list of media types, see the [official docs](https://www.iana.org/assignments/media-types/media-types.xhtml).
23
+ *
24
+ * @see: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input/file#unique_file_type_specifiers
25
+ */
26
+ accept?: FileType[];
27
+ /**
28
+ * Max. allowed file size per file.
29
+ * Can be a number in bytes (e.g. 1024 \* 1024 \* 42) or a [binary prefixed size](https://en.wikipedia.org/wiki/Binary_prefix) (e.g. 42MiB).
30
+ * For the user, the size will be displayed in decimal instead of binary notation (e.g. 42MB instead of 42MiB) since users are mostly non-technical and such visualization is therefore simpler to understand.
31
+ *
32
+ * To limit the total size when `multiple` is enabled, you can use the `maxTotalSize` property.
33
+ */
34
+ maxSize?: number | BinaryPrefixedSize;
35
+ /**
36
+ * Max. allowed total file size for all files when `multiple` is enabled.
37
+ * Can be a number in bytes (e.g. 1024 \* 1024 \* 42) or a [binary prefixed size](https://en.wikipedia.org/wiki/Binary_prefix) (e.g. 42MiB).
38
+ * For the user, the size will be displayed in decimal instead of binary notation (e.g. 42MB instead of 42MiB) since users are mostly non-technical and such visualization is therefore simpler to understand.
39
+ *
40
+ * To limit the size per-file, you can use the `maxSize` property.
41
+ */
42
+ maxTotalSize?: TMultiple extends true ? number | BinaryPrefixedSize : never;
43
+ /**
44
+ * Max. file count that can be selected if `multiple` is enabled.
45
+ */
46
+ maxCount?: TMultiple extends true ? number : never;
47
+ /**
48
+ * Whether to replace all existing files when `multiple` is enabled.
49
+ * By default, newly selected files will be added to the current selection.
50
+ */
51
+ replace?: boolean & (TMultiple extends true ? boolean : never);
52
+ /**
53
+ * Whether the upload is disabled.
54
+ */
55
+ disabled?: FormInjected<boolean>;
56
+ /**
57
+ * The size of the upload container
58
+ * @default large
59
+ */
60
+ size?: FileUploadSize;
61
+ /**
62
+ * Whether to show a skeleton upload.
63
+ */
64
+ skeleton?: SkeletonInjected;
65
+ /**
66
+ * How to display the selected files.
67
+ * - list: Shows a list of all files (no height limit)
68
+ * - maxHeight: Shows a list of files with a max height that when exceeding, the list becomes scrollable
69
+ * By default the max height is set to 3 files but can be customized by setting the `--onyx-file-upload-max-files` CSS variable to
70
+ * the desired number of visible items. Note: The list will always display half of the next invisible file to visually indicate
71
+ * that there are more files available.
72
+ * - button: Shows a show/hide all files button. By default all files are visible (same behavior as "list" type).
73
+ * - hidden: Hides the list completely. Useful when implementing a custom solution.
74
+ *
75
+ * @default list
76
+ */
77
+ listType?: FileUploadListType;
78
+ };
79
+ /**
80
+ * Unique file type specifier.
81
+ * For a full list of media types, see the [official docs](https://www.iana.org/assignments/media-types/media-types.xhtml).
82
+ *
83
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input/file#unique_file_type_specifiers
84
+ */
85
+ export type FileType = `.${string}` | `${"audio" | "video" | "image"}/*` | MediaType;
86
+ /**
87
+ * For a full list of media types, see the [official docs](https://www.iana.org/assignments/media-types/media-types.xhtml).
88
+ */
89
+ export type MediaType = `${"application" | "audio" | "font" | "image" | "model" | "text" | "video"}/${string}`;
90
+ export type FileUploadSize = "large" | "medium" | "small";
91
+ export type FileUploadListType = "list" | "maxHeight" | "button" | "hidden";
@@ -0,0 +1,10 @@
1
+ import { OnyxFilterTagProps } from './types.js';
2
+ declare const _default: import('vue').DefineComponent<OnyxFilterTagProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
3
+ "update:active": (value: boolean) => any;
4
+ }, string, import('vue').PublicProps, Readonly<OnyxFilterTagProps> & Readonly<{
5
+ "onUpdate:active"?: ((value: boolean) => any) | undefined;
6
+ }>, {
7
+ skeleton: import('../../composables/useSkeletonState.js', { with: { "resolution-mode": "import" } }).SkeletonInjected;
8
+ active: boolean | null;
9
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
10
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import { Nullable } from '../../types/utils.js';
2
+ import { OnyxTagProps } from '../OnyxTag/types.js';
3
+ export type OnyxFilterTagProps = Omit<OnyxTagProps, "color" | "clickable"> & {
4
+ /**
5
+ * If `true` the filter is selected, shows an 'x' icon and can be removed on click.
6
+ */
7
+ active?: Nullable<boolean>;
8
+ };
@@ -1,5 +1,6 @@
1
- import { type Reactive, type Ref } from "vue";
2
- import type { ShowErrorMode } from "../../composables/useErrorClass";
1
+ import { Reactive, Ref } from 'vue';
2
+ import { RequiredMarkerType } from '../../composables/required.js';
3
+ import { ShowErrorMode } from '../../composables/useErrorClass.js';
3
4
  /**
4
5
  * Props on the `OnyxForm` component.
5
6
  * These are injected, so that they can be used in the form child components.
@@ -10,18 +11,28 @@ export type FormProps = {
10
11
  * Disabled makes the element not mutable, focusable, or even submitted with the form.
11
12
  * It will also not be validated.
12
13
  *
13
- * Defaults to `false`.
14
+ * @default `false`
14
15
  */
15
16
  disabled?: boolean;
16
17
  /**
17
18
  * Configures if and when errors are shown.
18
- * When `true`, errors will be shown initially.
19
- * When `false`, errors will never be shown. ⚠️ Only the displaying of the error is effected! An error can still block submission!
19
+ * - `true`: errors will be shown initially.
20
+ * - `false`: errors will never be shown. ⚠️ Only the displaying of the error is effected! An error can still block submission!
21
+ * - "touched": only shows an error *after* a user has significantly interacted with the input, see [:user-invalid](https://drafts.csswg.org/selectors/#user-invalid-pseudo)
20
22
  *
21
- * The default is `"touched"`, which only shows an error *after* a user has significantly interacted with the input.
22
- * See [:user-invalid](https://drafts.csswg.org/selectors/#user-invalid-pseudo).
23
+ * @default "touched"
23
24
  */
24
25
  showError?: ShowErrorMode;
26
+ /**
27
+ * How to display the required / optional marker.
28
+ * - optional: will show an `(optional)` text after the label for optional form elements.
29
+ * - required: will show an `*` indicator for required inputs after the label instead.
30
+ *
31
+ * No marker will be visible if the label is hidden.
32
+ *
33
+ * @default undefined By default the parents setting is used, if none is defined on any `required` is the default.
34
+ */
35
+ requiredMarker?: RequiredMarkerType;
25
36
  };
26
37
  /**
27
38
  * Props that may be used by the form child components.
@@ -29,20 +40,37 @@ export type FormProps = {
29
40
  export type FormComputedProps = {
30
41
  [TKey in keyof FormProps]-?: FormProps[TKey];
31
42
  };
32
- /**
33
- * ❗️ DO NOT USE THIS TYPE ❗️
34
- *
35
- * Manual replication of the `keyof FormProps` type.
36
- * Unfortunately this is necessary because Vue can only supports simple index types.
37
- *
38
- * See discussion in https://github.com/vuejs/core/issues/8286
39
- */
40
- export type __DONT_USE_VUE_FIX_KeyOfFormProps = "disabled" | "showError";
41
43
  /**
42
44
  * Props that may be used by the form child components.
43
45
  */
44
46
  export type FormInjectedProps = {
45
- [TKey in __DONT_USE_VUE_FIX_KeyOfFormProps]?: FormInjected<FormProps[TKey]>;
47
+ /**
48
+ * Whether the input should be disabled and prevent the user from interacting with it.
49
+ * Disabled makes the element not mutable, focusable, or even submitted with the form.
50
+ * It will also not be validated.
51
+ *
52
+ * @default Inherits value from closest `<OnyxForm>` component or `false` if none exists
53
+ */
54
+ disabled?: FormInjected<boolean>;
55
+ /**
56
+ * Configures if and when errors are shown.
57
+ * - `true`: errors will be shown initially.
58
+ * - `false`: errors will never be shown. ⚠️ Only the displaying of the error is effected! An error can still block submission!
59
+ * - "touched": only shows an error *after* a user has significantly interacted with the input, see [:user-invalid](https://drafts.csswg.org/selectors/#user-invalid-pseudo)
60
+ *
61
+ * @default Inherits value from closest `<OnyxForm>` component or `touched` if none exists
62
+ */
63
+ showError?: FormInjected<ShowErrorMode>;
64
+ /**
65
+ * How to display the required / optional marker.
66
+ * - optional: will show an `(optional)` text after the label for optional form elements.
67
+ * - required: will show an `*` indicator for required inputs after the label instead.
68
+ *
69
+ * No marker will be visible if the label is hidden.
70
+ *
71
+ * @default Inherits value from closest `<OnyxForm>` component or `required` if none exists
72
+ */
73
+ requiredMarker?: FormInjected<RequiredMarkerType>;
46
74
  };
47
75
  /**
48
76
  * Symbol for the injected form injected properties.
@@ -87,4 +115,5 @@ export declare const provideFormContext: (formProps: Reactive<FormProps> | undef
87
115
  export declare const useFormContext: (props: Reactive<FormInjectedProps>) => {
88
116
  disabled: Readonly<Ref<boolean, boolean>>;
89
117
  showError: Readonly<Ref<boolean | "touched", boolean | "touched">>;
118
+ requiredMarker: Readonly<Ref<"optional" | "required", "optional" | "required">>;
90
119
  };
@@ -1,4 +1,4 @@
1
- import type { OnyxFormProps } from "./types";
1
+ import { OnyxFormProps } from './types.js';
2
2
  declare function __VLS_template(): {
3
3
  attrs: Partial<{}>;
4
4
  slots: Readonly<{
@@ -16,10 +16,10 @@ declare function __VLS_template(): {
16
16
  rootEl: HTMLFormElement;
17
17
  };
18
18
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
19
- declare const __VLS_component: import("vue").DefineComponent<OnyxFormProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<OnyxFormProps> & Readonly<{}>, {
19
+ declare const __VLS_component: import('vue').DefineComponent<OnyxFormProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<OnyxFormProps> & Readonly<{}>, {
20
20
  disabled: boolean;
21
- showError: import("../../composables/useErrorClass").ShowErrorMode;
22
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLFormElement>;
21
+ showError: import('../../composables/useErrorClass.js', { with: { "resolution-mode": "import" } }).ShowErrorMode;
22
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLFormElement>;
23
23
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
24
24
  export default _default;
25
25
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -1,4 +1,4 @@
1
- import type { DensityProp } from "../../composables/density";
2
- import type { SkeletonProvidedProp } from "../../composables/useSkeletonState";
3
- import type { FormProps } from "./OnyxForm.core";
1
+ import { DensityProp } from '../../composables/density.js';
2
+ import { SkeletonProvidedProp } from '../../composables/useSkeletonState.js';
3
+ import { FormProps } from './OnyxForm.core.js';
4
4
  export type OnyxFormProps = FormProps & Partial<SkeletonProvidedProp> & DensityProp;
@@ -0,0 +1,13 @@
1
+ import { FormMessages } from '../../composables/useCustomValidity.js';
2
+ type __VLS_Props = {
3
+ /**
4
+ * Message to display.
5
+ */
6
+ messages: FormMessages;
7
+ /**
8
+ * How the message should be colored and displayed.
9
+ */
10
+ type: "danger" | "success" | "neutral";
11
+ };
12
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
13
+ export default _default;
@@ -1,5 +1,5 @@
1
- import type { MountResultJsx } from "@playwright/experimental-ct-vue";
2
- import { type Locator, type Page } from "@playwright/test";
1
+ import { MountResultJsx } from '@playwright/experimental-ct-vue';
2
+ import { Locator, Page } from '@playwright/test';
3
3
  type PageOrLocator = Page | Locator | MountResultJsx;
4
4
  type FormElementTooltip = "label" | "message";
5
5
  export declare const createFormElementUtils: (page: PageOrLocator) => {
@@ -0,0 +1,27 @@
1
+ import { Nullable } from '../../types/index.js';
2
+ import { OnyxFormElementProps } from './types.js';
3
+ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
4
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
5
+ readonly "onUpdate:modelValue"?: ((value?: Nullable<T>) => any) | undefined;
6
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:modelValue"> & OnyxFormElementProps<T> & Partial<{}>> & import('vue').PublicProps;
7
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
8
+ attrs: any;
9
+ slots: Readonly<{
10
+ /** The place for the actual form element */
11
+ default(props: {
12
+ id: string;
13
+ }): unknown;
14
+ }> & {
15
+ /** The place for the actual form element */
16
+ default(props: {
17
+ id: string;
18
+ }): unknown;
19
+ };
20
+ emit: (evt: "update:modelValue", value?: Nullable<T>) => void;
21
+ }>) => import('vue').VNode & {
22
+ __ctx?: Awaited<typeof __VLS_setup>;
23
+ };
24
+ export default _default;
25
+ type __VLS_PrettifyLocal<T> = {
26
+ [K in keyof T]: T[K];
27
+ } & {};
@@ -1,11 +1,17 @@
1
- import type { RequiredMarkerProp } from "../../composables/required";
2
- import type { CustomMessageType, FormMessages } from "../../composables/useCustomValidity";
3
- export type OnyxFormElementProps = Omit<SharedFormElementProps, "error" | "message" | "success"> & {
1
+ import { DensityProp } from '../../composables/density.js';
2
+ import { RequiredProp } from '../../composables/required.js';
3
+ import { CustomMessageType, CustomValidityProp, FormMessages } from '../../composables/useCustomValidity.js';
4
+ import { SharedTextInputProps } from '../../composables/useLenientMaxLengthValidation.js';
5
+ import { SkeletonInjected } from '../../composables/useSkeletonState.js';
6
+ import { AutofocusProp, Nullable } from '../../types/index.js';
7
+ import { FormInjectedProps } from '../OnyxForm/OnyxForm.core.js';
8
+ export type OnyxFormElementProps<T> = Omit<SharedFormElementProps, "error" | "message" | "success"> & Omit<SharedTextInputProps, "modelValue"> & {
4
9
  errorMessages?: FormMessages;
5
10
  message?: FormMessages;
6
11
  successMessages?: FormMessages;
12
+ modelValue?: Nullable<T>;
7
13
  };
8
- export type SharedFormElementProps = RequiredMarkerProp & {
14
+ export type SharedFormElementProps = FormInjectedProps & RequiredProp & DensityProp & CustomValidityProp & AutofocusProp & {
9
15
  /**
10
16
  * The id of a labelable form-related element.
11
17
  * If not given an id will be generated.
@@ -17,10 +23,6 @@ export type SharedFormElementProps = RequiredMarkerProp & {
17
23
  * Used to reference the input in JavaScript or in submitted form data.
18
24
  */
19
25
  name?: string;
20
- /**
21
- * Current value of the form element.
22
- */
23
- modelValue?: unknown;
24
26
  /**
25
27
  * Label to show above the form element. Required due to accessibility / screen readers.
26
28
  * If you want to visually hide the label, use the `hideLabel` property.
@@ -39,9 +41,17 @@ export type SharedFormElementProps = RequiredMarkerProp & {
39
41
  */
40
42
  hideLabel?: boolean;
41
43
  /**
42
- * Error messages that gives details about the cause of a form elements invalidity.
44
+ * Whether the input should be readonly.
45
+ */
46
+ readonly?: boolean;
47
+ /**
48
+ * Whether the input is loading. User interaction will be disabled.
43
49
  */
44
- error?: CustomMessageType;
50
+ loading?: boolean;
51
+ /**
52
+ * Whether to show a skeleton input.
53
+ */
54
+ skeleton?: SkeletonInjected;
45
55
  /**
46
56
  * Message / help text to display below the form element.
47
57
  * Will be replaced by an error message if the form element is invalid.
@@ -52,14 +62,7 @@ export type SharedFormElementProps = RequiredMarkerProp & {
52
62
  */
53
63
  success?: CustomMessageType;
54
64
  /**
55
- * Maximum number of characters that are allowed to be entered.
56
- * Warning: when the value is (pre)set programmatically,
57
- * the input invalidity will not be detected by the browser, it will only turn invalid
58
- * as soon as a user interacts with the input (types something).
59
- */
60
- maxlength?: number;
61
- /**
62
- * If `true`, a character counter will be displayed if `maxLength` is set.
65
+ * Placeholder to show when the value is empty.
63
66
  */
64
- withCounter?: boolean;
67
+ placeholder?: string;
65
68
  };
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,56 @@
1
+ import { ComputedRef, InjectionKey, MaybeRefOrGetter, Ref } from 'vue';
2
+ import { OnyxFABItemProps } from '../OnyxFABItem/types.js';
3
+ export type GlobalFABProvider = {
4
+ /**
5
+ * Readonly list of currently active items.
6
+ */
7
+ items: ComputedRef<Ref<ProvidedFABItem>[]>;
8
+ /**
9
+ * add the FABOption.
10
+ */
11
+ add: (item: MaybeRefOrGetter<ProvidedFABItem>) => void;
12
+ /**
13
+ * removes the FABOption with the given `id`.
14
+ */
15
+ remove: (id: ProvidedFABItem["id"]) => void;
16
+ };
17
+ export type ProvidedFABItem = OnyxFABItemProps & {
18
+ /**
19
+ * Unique FABItem id used to identify the FABItem.
20
+ */
21
+ id: PropertyKey;
22
+ /**
23
+ * How to align the item relative to the viewport.
24
+ * If at least one item is left aligned, all items will be left aligned.
25
+ *
26
+ * @default "right"
27
+ */
28
+ alignment?: "left" | "right";
29
+ /**
30
+ * Overrides properties of this FAB item if it's not the only available option.
31
+ * If there are multiple FAB items displayed, the properties defined here will
32
+ * take precedence for *this specific item*.
33
+ */
34
+ ifOption?: Partial<Omit<ProvidedFABItem, "ifOption" | "id">>;
35
+ /**
36
+ * Callback when the FABItem is clicked.
37
+ */
38
+ onClick?: () => unknown;
39
+ };
40
+ export declare const GLOBAL_FAB_PROVIDER_INJECTION_KEY: InjectionKey<GlobalFABProvider>;
41
+ /**
42
+ * Creates a new FABItem provider that can be used with `useGlobalFAB()`.
43
+ * Should be provided once on global app level with:
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * import { createGlobalFABProvider, GLOBAL_FAB_PROVIDER_INJECTION_KEY } from "sit-onyx";
48
+ *
49
+ * app.provide(GLOBAL_FAB_PROVIDER_INJECTION_KEY, createGlobalFABProvider());
50
+ * ```
51
+ */
52
+ export declare const createGlobalFABProvider: () => GlobalFABProvider;
53
+ /**
54
+ * Composable for showing FABItems.
55
+ */
56
+ export declare const useGlobalFAB: () => GlobalFABProvider;
@@ -0,0 +1,28 @@
1
+ import { OnyxHeadlineProps } from './types.js';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: Readonly<{
5
+ /**
6
+ * Headline content.
7
+ */
8
+ default(): unknown;
9
+ }> & {
10
+ /**
11
+ * Headline content.
12
+ */
13
+ default(): unknown;
14
+ };
15
+ refs: {};
16
+ rootEl: any;
17
+ };
18
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
19
+ declare const __VLS_component: import('vue').DefineComponent<OnyxHeadlineProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<OnyxHeadlineProps> & Readonly<{}>, {
20
+ skeleton: import('../../composables/useSkeletonState.js', { with: { "resolution-mode": "import" } }).SkeletonInjected;
21
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
22
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
23
+ export default _default;
24
+ type __VLS_WithTemplateSlots<T, S> = T & {
25
+ new (): {
26
+ $slots: S;
27
+ };
28
+ };
@@ -1,9 +1,25 @@
1
+ import { SkeletonInjected } from '../../composables/useSkeletonState.js';
1
2
  export type OnyxHeadlineProps = {
2
3
  /**
3
- * Headline type. Please note that only h1-h4 are intended to be used from UX perspective.
4
- * h5 and h6 will have the same styles as h4 and should only be used for semantic reasons.
4
+ * Semantical headline type. Should match the page hierarchy and should not skip hierarchies (e.g. h2 should be followed by h3 etc.).
5
5
  */
6
6
  is: HeadlineType;
7
+ /**
8
+ * Visual size of the headline (h1-h6). Will default to but can be different from the semantical `is` property.
9
+ * Please note that only h1-h4 are intended to be used from UX perspective, h5 and h6 will have the same styles as h4.
10
+ */
11
+ showAs?: Exclude<HeadlineType, "h5" | "h6">;
12
+ /**
13
+ * Unique headline hash/ID (without "#") that is used to show a "#" icon on hover. Makes the headline clickable and a URL that points to this headline
14
+ * is copied to the users clipboard. Will be automatically normalized when containing non URL-safe characters.
15
+ *
16
+ * @example "about-us"
17
+ */
18
+ hash?: string;
19
+ /**
20
+ * Whether to show a skeleton headline.
21
+ */
22
+ skeleton?: SkeletonInjected;
7
23
  };
8
24
  export declare const HEADLINE_TYPES: readonly ["h1", "h2", "h3", "h4", "h5", "h6"];
9
25
  export type HeadlineType = (typeof HEADLINE_TYPES)[number];
@@ -0,0 +1,3 @@
1
+ import { OnyxIconProps } from './types.js';
2
+ declare const _default: import('vue').DefineComponent<OnyxIconProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<OnyxIconProps> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
3
+ export default _default;