@central-design-system/components 4.0.0-alpha.3 → 4.0.0-alpha.5

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 (1190) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/MIGRATION.md +15 -43
  3. package/dist/browser/chunks/cdsLegacy-VUz8RzDN.js +120 -0
  4. package/dist/browser/chunks/useIcons.component-Df4MSurB.js +102 -0
  5. package/dist/browser/entry.js +34490 -0
  6. package/dist/browser/iconsets/carbon.js +155 -0
  7. package/dist/browser/iconsets/cds.js +149 -0
  8. package/dist/browser/iconsets/cdsLegacy.js +6 -0
  9. package/dist/browser/iconsets/lucide.js +156 -0
  10. package/dist/browser/iconsets/mdi.js +154 -0
  11. package/dist/browser/iconsets/phosphor.js +155 -0
  12. package/dist/browser/iconsets/remix.js +155 -0
  13. package/dist/cds.d.ts +119065 -0
  14. package/dist/cjs/entry.js +10 -10
  15. package/dist/es/entry.css +0 -18
  16. package/dist/es/entry.js +132 -122
  17. package/dist/es/entry.js.map +1 -1
  18. package/dist/es/src/cds.js +5 -5
  19. package/dist/es/src/components/CdsApp/CdsApp.css +0 -18
  20. package/dist/es/src/components/CdsApp/CdsApp.vue_vue_type_script_setup_true_lang.js +1 -1
  21. package/dist/es/src/components/CdsApp/api/CdsApp.props.js +2 -1
  22. package/dist/es/src/components/CdsApp/api/CdsApp.props.js.map +1 -1
  23. package/dist/es/src/components/CdsAutocomplete/CdsAutocomplete.css +0 -18
  24. package/dist/es/src/components/CdsAutocomplete/CdsAutocomplete.vue_vue_type_script_setup_true_lang.js +20 -5
  25. package/dist/es/src/components/CdsAutocomplete/CdsAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  26. package/dist/es/src/components/CdsAutocomplete/api/CdsAutocomplete.props.js +9 -2
  27. package/dist/es/src/components/CdsAutocomplete/api/CdsAutocomplete.props.js.map +1 -1
  28. package/dist/es/src/components/CdsAvatar/CdsAvatar.css +0 -18
  29. package/dist/es/src/components/CdsAvatar/CdsAvatar.vue_vue_type_script_setup_true_lang.js +1 -1
  30. package/dist/es/src/components/CdsAvatar/api/CdsAvatar.props.js +21 -6
  31. package/dist/es/src/components/CdsAvatar/api/CdsAvatar.props.js.map +1 -1
  32. package/dist/es/src/components/CdsBadge/CdsBadge.css +0 -18
  33. package/dist/es/src/components/CdsBadge/CdsBadge.vue_vue_type_script_setup_true_lang.js +1 -1
  34. package/dist/es/src/components/CdsBadge/api/CdsBadge.props.js +38 -10
  35. package/dist/es/src/components/CdsBadge/api/CdsBadge.props.js.map +1 -1
  36. package/dist/es/src/components/CdsBreadcrumbs/CdsBreadcrumbs.css +0 -18
  37. package/dist/es/src/components/CdsBreadcrumbs/api/CdsBreadcrumbs.props.js +32 -8
  38. package/dist/es/src/components/CdsBreadcrumbs/api/CdsBreadcrumbs.props.js.map +1 -1
  39. package/dist/es/src/components/CdsButton/CdsButton.css +0 -18
  40. package/dist/es/src/components/CdsButton/CdsButton.vue_vue_type_script_setup_true_lang.js +5 -2
  41. package/dist/es/src/components/CdsButton/CdsButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  42. package/dist/es/src/components/CdsButton/api/CdsButton.props.js +29 -8
  43. package/dist/es/src/components/CdsButton/api/CdsButton.props.js.map +1 -1
  44. package/dist/es/src/components/CdsButtonGroup/CdsButtonGroup.css +0 -18
  45. package/dist/es/src/components/CdsButtonGroup/CdsButtonGroup.vue_vue_type_script_setup_true_lang.js +1 -1
  46. package/dist/es/src/components/CdsButtonGroup/api/CdsButtonGroup.props.js +5 -2
  47. package/dist/es/src/components/CdsButtonGroup/api/CdsButtonGroup.props.js.map +1 -1
  48. package/dist/es/src/components/CdsButtonToggle/CdsButtonToggle.css +0 -18
  49. package/dist/es/src/components/CdsButtonToggle/CdsButtonToggle.vue_vue_type_script_setup_true_lang.js +20 -5
  50. package/dist/es/src/components/CdsButtonToggle/CdsButtonToggle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  51. package/dist/es/src/components/CdsCard/CdsCard.css +0 -18
  52. package/dist/es/src/components/CdsCard/CdsCard.vue_vue_type_script_setup_true_lang.js +1 -1
  53. package/dist/es/src/components/CdsCard/CdsCardGroup.vue_vue_type_script_setup_true_lang.js +21 -6
  54. package/dist/es/src/components/CdsCard/CdsCardGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  55. package/dist/es/src/components/CdsCard/api/CdsCard.props.js +85 -21
  56. package/dist/es/src/components/CdsCard/api/CdsCard.props.js.map +1 -1
  57. package/dist/es/src/components/CdsCarousel/CdsCarousel.css +0 -18
  58. package/dist/es/src/components/CdsCarousel/api/CdsCarousel.props.js +36 -9
  59. package/dist/es/src/components/CdsCarousel/api/CdsCarousel.props.js.map +1 -1
  60. package/dist/es/src/components/CdsCheckbox/CdsCheckbox.css +0 -18
  61. package/dist/es/src/components/CdsCheckboxButton/CdsCheckboxButton.css +0 -18
  62. package/dist/es/src/components/CdsCheckboxButton/api/CdsCheckboxButton.props.js +8 -2
  63. package/dist/es/src/components/CdsCheckboxButton/api/CdsCheckboxButton.props.js.map +1 -1
  64. package/dist/es/src/components/CdsCombobox/CdsCombobox.css +0 -18
  65. package/dist/es/src/components/CdsCombobox/CdsCombobox.vue_vue_type_script_setup_true_lang.js +24 -6
  66. package/dist/es/src/components/CdsCombobox/CdsCombobox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  67. package/dist/es/src/components/CdsCombobox/api/CdsCombobox.props.js +13 -3
  68. package/dist/es/src/components/CdsCombobox/api/CdsCombobox.props.js.map +1 -1
  69. package/dist/es/src/components/CdsCounter/CdsCounter.css +0 -18
  70. package/dist/es/src/components/CdsCounter/api/CdsCounter.props.js +12 -3
  71. package/dist/es/src/components/CdsCounter/api/CdsCounter.props.js.map +1 -1
  72. package/dist/es/src/components/CdsDateInput/CdsDateInput.css +0 -18
  73. package/dist/es/src/components/CdsDateInput/CdsDateInput.vue_vue_type_script_setup_true_lang.js +8 -0
  74. package/dist/es/src/components/CdsDateInput/CdsDateInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  75. package/dist/es/src/components/CdsDateInput/api/CdsDateInput.props.js +31 -7
  76. package/dist/es/src/components/CdsDateInput/api/CdsDateInput.props.js.map +1 -1
  77. package/dist/es/src/components/CdsDatePicker/CdsDatePicker.css +0 -18
  78. package/dist/es/src/components/CdsDatePicker/CdsDatePicker.vue_vue_type_script_setup_true_lang.js +21 -1
  79. package/dist/es/src/components/CdsDatePicker/CdsDatePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  80. package/dist/es/src/components/CdsDatePicker/api/CdsDatePicker.props.js +65 -16
  81. package/dist/es/src/components/CdsDatePicker/api/CdsDatePicker.props.js.map +1 -1
  82. package/dist/es/src/components/CdsDefaultsProvider/api/CdsDefaultsProvider.props.js +5 -0
  83. package/dist/es/src/components/CdsDefaultsProvider/api/CdsDefaultsProvider.props.js.map +1 -1
  84. package/dist/es/src/components/CdsDescription/CdsDescription.css +0 -18
  85. package/dist/es/src/components/CdsDivider/CdsDivider.css +0 -18
  86. package/dist/es/src/components/CdsDivider/CdsDivider.vue_vue_type_script_setup_true_lang.js +1 -1
  87. package/dist/es/src/components/CdsDivider/CdsDivider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  88. package/dist/es/src/components/CdsDivider/api/CdsDivider.props.js +33 -8
  89. package/dist/es/src/components/CdsDivider/api/CdsDivider.props.js.map +1 -1
  90. package/dist/es/src/components/CdsDrawer/CdsDrawer.css +0 -18
  91. package/dist/es/src/components/CdsDrawer/CdsDrawer.vue_vue_type_script_setup_true_lang.js +6 -2
  92. package/dist/es/src/components/CdsDrawer/CdsDrawer.vue_vue_type_script_setup_true_lang.js.map +1 -1
  93. package/dist/es/src/components/CdsDrawer/api/CdsDrawer.props.js +33 -9
  94. package/dist/es/src/components/CdsDrawer/api/CdsDrawer.props.js.map +1 -1
  95. package/dist/es/src/components/CdsEmptyState/CdsEmptyState.css +0 -18
  96. package/dist/es/src/components/CdsEmptyState/CdsEmptyState.vue_vue_type_script_setup_true_lang.js +2 -2
  97. package/dist/es/src/components/CdsEmptyState/api/CdsEmptyState.props.js +34 -9
  98. package/dist/es/src/components/CdsEmptyState/api/CdsEmptyState.props.js.map +1 -1
  99. package/dist/es/src/components/CdsExpandablePanel/CdsExpandablePanel.vue_vue_type_script_setup_true_lang.js +16 -4
  100. package/dist/es/src/components/CdsExpandablePanel/CdsExpandablePanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  101. package/dist/es/src/components/CdsExpandablePanel/CdsExpandablePanelTitle.vue_vue_type_script_setup_true_lang.js +8 -2
  102. package/dist/es/src/components/CdsExpandablePanel/CdsExpandablePanelTitle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  103. package/dist/es/src/components/CdsExpandablePanel/CdsExpandablePanels.css +0 -18
  104. package/dist/es/src/components/CdsExpandablePanel/CdsExpandablePanels.vue_vue_type_script_setup_true_lang.js +9 -3
  105. package/dist/es/src/components/CdsExpandablePanel/CdsExpandablePanels.vue_vue_type_script_setup_true_lang.js.map +1 -1
  106. package/dist/es/src/components/CdsExpandablePanel/api/CdsExpandablePanel.props.js +39 -10
  107. package/dist/es/src/components/CdsExpandablePanel/api/CdsExpandablePanel.props.js.map +1 -1
  108. package/dist/es/src/components/CdsField/CdsField.css +0 -18
  109. package/dist/es/src/components/CdsField/CdsField.vue_vue_type_script_setup_true_lang.js +14 -4
  110. package/dist/es/src/components/CdsField/CdsField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  111. package/dist/es/src/components/CdsField/api/CdsField.props.js +57 -15
  112. package/dist/es/src/components/CdsField/api/CdsField.props.js.map +1 -1
  113. package/dist/es/src/components/CdsField/composables/useAutocomplete.js +1 -0
  114. package/dist/es/src/components/CdsField/composables/useAutocomplete.js.map +1 -1
  115. package/dist/es/src/components/CdsFileInput/CdsFileInput.css +0 -18
  116. package/dist/es/src/components/CdsFileInput/api/CdsFileInput.props.js +40 -10
  117. package/dist/es/src/components/CdsFileInput/api/CdsFileInput.props.js.map +1 -1
  118. package/dist/es/src/components/CdsFileInput/composables/useFileFilter.js +4 -1
  119. package/dist/es/src/components/CdsFileInput/composables/useFileFilter.js.map +1 -1
  120. package/dist/es/src/components/CdsFileUpload/CdsFileUpload.css +0 -18
  121. package/dist/es/src/components/CdsFileUpload/CdsFileUpload.vue_vue_type_script_setup_true_lang.js +4 -0
  122. package/dist/es/src/components/CdsFileUpload/CdsFileUpload.vue_vue_type_script_setup_true_lang.js.map +1 -1
  123. package/dist/es/src/components/CdsFileUpload/api/CdsFileUpload.props.js +85 -21
  124. package/dist/es/src/components/CdsFileUpload/api/CdsFileUpload.props.js.map +1 -1
  125. package/dist/es/src/components/CdsFooter/CdsFooter.css +0 -18
  126. package/dist/es/src/components/CdsFooter/CdsFooter.vue_vue_type_script_setup_true_lang.js +2 -2
  127. package/dist/es/src/components/CdsFooter/api/CdsFooter.props.js +1 -1
  128. package/dist/es/src/components/CdsForm/CdsForm.css +0 -18
  129. package/dist/es/src/components/CdsForm/api/CdsForm.props.js +8 -2
  130. package/dist/es/src/components/CdsForm/api/CdsForm.props.js.map +1 -1
  131. package/dist/es/src/components/CdsFunctionalButton/CdsFunctionalButton.css +0 -18
  132. package/dist/es/src/components/CdsFunctionalButton/api/CdsFunctionalButton.props.js +5 -2
  133. package/dist/es/src/components/CdsFunctionalButton/api/CdsFunctionalButton.props.js.map +1 -1
  134. package/dist/es/src/components/CdsGrid/CdsCol.vue_vue_type_script_setup_true_lang.js +1 -1
  135. package/dist/es/src/components/CdsGrid/api/CdsGrid.props.js +40 -10
  136. package/dist/es/src/components/CdsGrid/api/CdsGrid.props.js.map +1 -1
  137. package/dist/es/src/components/CdsGrid/components/CSSGrid.css +0 -18
  138. package/dist/es/src/components/CdsGrid/components/FlexGrid.css +0 -18
  139. package/dist/es/src/components/CdsHeader/CdsHeader.css +0 -18
  140. package/dist/es/src/components/CdsHeader/CdsHeader.vue_vue_type_script_setup_true_lang.js +1 -1
  141. package/dist/es/src/components/CdsHeader/api/CdsHeader.props.js +1 -1
  142. package/dist/es/src/components/CdsHighlight/CdsHighlight.css +0 -18
  143. package/dist/es/src/components/CdsHighlight/api/CdsHighlight.props.js +32 -8
  144. package/dist/es/src/components/CdsHighlight/api/CdsHighlight.props.js.map +1 -1
  145. package/dist/es/src/components/CdsIcon/CdsIcon.css +0 -18
  146. package/dist/es/src/components/CdsIcon/CdsIcon.vue_vue_type_script_setup_true_lang.js +1 -1
  147. package/dist/es/src/components/CdsIcon/api/CdsIcon.props.js +18 -5
  148. package/dist/es/src/components/CdsIcon/api/CdsIcon.props.js.map +1 -1
  149. package/dist/es/src/components/CdsImage/CdsImage.css +0 -18
  150. package/dist/es/src/components/CdsImage/CdsImage.vue_vue_type_script_setup_true_lang.js +21 -1
  151. package/dist/es/src/components/CdsImage/CdsImage.vue_vue_type_script_setup_true_lang.js.map +1 -1
  152. package/dist/es/src/components/CdsImage/api/CdsImage.props.js +65 -17
  153. package/dist/es/src/components/CdsImage/api/CdsImage.props.js.map +1 -1
  154. package/dist/es/src/components/CdsInput/CdsInput.css +0 -18
  155. package/dist/es/src/components/CdsInput/CdsInput.vue_vue_type_script_setup_true_lang.js +45 -12
  156. package/dist/es/src/components/CdsInput/CdsInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  157. package/dist/es/src/components/CdsInput/api/CdsInput.props.js +49 -13
  158. package/dist/es/src/components/CdsInput/api/CdsInput.props.js.map +1 -1
  159. package/dist/es/src/components/CdsLabel/CdsLabel.css +0 -18
  160. package/dist/es/src/components/CdsLabel/api/CdsLabel.props.js +4 -0
  161. package/dist/es/src/components/CdsLabel/api/CdsLabel.props.js.map +1 -1
  162. package/dist/es/src/components/CdsLayout/CdsLayout.css +0 -18
  163. package/dist/es/src/components/CdsLayout/CdsLayout.vue_vue_type_script_setup_true_lang.js +2 -2
  164. package/dist/es/src/components/CdsLayout/api/CdsLayout.props.js +6 -2
  165. package/dist/es/src/components/CdsLayout/api/CdsLayout.props.js.map +1 -1
  166. package/dist/es/src/components/CdsLink/CdsLink.css +0 -18
  167. package/dist/es/src/components/CdsLink/CdsLink.vue_vue_type_script_setup_true_lang.js +1 -1
  168. package/dist/es/src/components/CdsLink/api/CdsLink.props.js +5 -2
  169. package/dist/es/src/components/CdsLink/api/CdsLink.props.js.map +1 -1
  170. package/dist/es/src/components/CdsList/CdsList.css +0 -18
  171. package/dist/es/src/components/CdsList/CdsList.vue_vue_type_script_setup_true_lang.js +25 -7
  172. package/dist/es/src/components/CdsList/CdsList.vue_vue_type_script_setup_true_lang.js.map +1 -1
  173. package/dist/es/src/components/CdsList/CdsListGroup.vue_vue_type_script_setup_true_lang.js +4 -1
  174. package/dist/es/src/components/CdsList/CdsListGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  175. package/dist/es/src/components/CdsList/CdsListItem.css +0 -18
  176. package/dist/es/src/components/CdsList/CdsListItem.vue_vue_type_script_setup_true_lang.js +29 -8
  177. package/dist/es/src/components/CdsList/CdsListItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  178. package/dist/es/src/components/CdsList/CdsListItemAction.vue_vue_type_script_setup_true_lang.js +8 -2
  179. package/dist/es/src/components/CdsList/CdsListItemAction.vue_vue_type_script_setup_true_lang.js.map +1 -1
  180. package/dist/es/src/components/CdsList/CdsListItemDivider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  181. package/dist/es/src/components/CdsList/CdsListItemMedia.vue_vue_type_script_setup_true_lang.js +8 -2
  182. package/dist/es/src/components/CdsList/CdsListItemMedia.vue_vue_type_script_setup_true_lang.js.map +1 -1
  183. package/dist/es/src/components/CdsList/CdsListSubheader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  184. package/dist/es/src/components/CdsList/api/CdsList.props.js +145 -37
  185. package/dist/es/src/components/CdsList/api/CdsList.props.js.map +1 -1
  186. package/dist/es/src/components/CdsList/components/ListChildren.vue_vue_type_script_setup_true_lang.js +8 -2
  187. package/dist/es/src/components/CdsList/components/ListChildren.vue_vue_type_script_setup_true_lang.js.map +1 -1
  188. package/dist/es/src/components/CdsList/components/ListGroupActivator.vue_vue_type_script_setup_true_lang.js.map +1 -1
  189. package/dist/es/src/components/CdsList/index.js +5 -2
  190. package/dist/es/src/components/CdsList/index.js.map +1 -1
  191. package/dist/es/src/components/CdsLoader/CdsLoader.css +0 -18
  192. package/dist/es/src/components/CdsLoader/CdsLoader.vue_vue_type_script_setup_true_lang.js +1 -1
  193. package/dist/es/src/components/CdsLoader/api/CdsLoader.props.js +12 -3
  194. package/dist/es/src/components/CdsLoader/api/CdsLoader.props.js.map +1 -1
  195. package/dist/es/src/components/CdsMain/CdsMain.css +0 -18
  196. package/dist/es/src/components/CdsMenu/CdsMenu.css +0 -18
  197. package/dist/es/src/components/CdsMenu/api/CdsMenu.props.js +8 -2
  198. package/dist/es/src/components/CdsMenu/api/CdsMenu.props.js.map +1 -1
  199. package/dist/es/src/components/CdsMessages/CdsMessages.css +0 -18
  200. package/dist/es/src/components/CdsMessages/api/CdsMessages.props.js +12 -3
  201. package/dist/es/src/components/CdsMessages/api/CdsMessages.props.js.map +1 -1
  202. package/dist/es/src/components/CdsModal/CdsModal.css +0 -18
  203. package/dist/es/src/components/CdsModal/api/CdsModal.props.js +8 -2
  204. package/dist/es/src/components/CdsModal/api/CdsModal.props.js.map +1 -1
  205. package/dist/es/src/components/CdsNotification/CdsNotification.css +0 -18
  206. package/dist/es/src/components/CdsNotification/CdsNotification.vue_vue_type_script_setup_true_lang.js +1 -1
  207. package/dist/es/src/components/CdsNotification/api/CdsNotification.props.js +29 -8
  208. package/dist/es/src/components/CdsNotification/api/CdsNotification.props.js.map +1 -1
  209. package/dist/es/src/components/CdsNotificationAlert/CdsNotificationAlert.css +0 -18
  210. package/dist/es/src/components/CdsNotificationAlert/api/CdsNotificationAlert.props.js +28 -7
  211. package/dist/es/src/components/CdsNotificationAlert/api/CdsNotificationAlert.props.js.map +1 -1
  212. package/dist/es/src/components/CdsOtpInput/CdsOtpInput.css +0 -18
  213. package/dist/es/src/components/CdsOtpInput/CdsOtpInput.vue_vue_type_script_setup_true_lang.js +21 -6
  214. package/dist/es/src/components/CdsOtpInput/CdsOtpInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  215. package/dist/es/src/components/CdsOtpInput/api/CdsOtpInput.props.js +53 -14
  216. package/dist/es/src/components/CdsOtpInput/api/CdsOtpInput.props.js.map +1 -1
  217. package/dist/es/src/components/CdsOverlay/CdsOverlay.css +0 -18
  218. package/dist/es/src/components/CdsOverlay/CdsOverlay.vue_vue_type_script_setup_true_lang.js +45 -12
  219. package/dist/es/src/components/CdsOverlay/CdsOverlay.vue_vue_type_script_setup_true_lang.js.map +1 -1
  220. package/dist/es/src/components/CdsOverlay/api/CdsOverlay.props.js +37 -9
  221. package/dist/es/src/components/CdsOverlay/api/CdsOverlay.props.js.map +1 -1
  222. package/dist/es/src/components/CdsOverlay/composables/useActivator.js +25 -6
  223. package/dist/es/src/components/CdsOverlay/composables/useActivator.js.map +1 -1
  224. package/dist/es/src/components/CdsOverlay/composables/useLocationStrategies.js +18 -4
  225. package/dist/es/src/components/CdsOverlay/composables/useLocationStrategies.js.map +1 -1
  226. package/dist/es/src/components/CdsOverlay/composables/useScrollStrategies.js +4 -1
  227. package/dist/es/src/components/CdsOverlay/composables/useScrollStrategies.js.map +1 -1
  228. package/dist/es/src/components/CdsPage/CdsPage.css +0 -18
  229. package/dist/es/src/components/CdsPage/CdsPage.vue_vue_type_script_setup_true_lang.js +1 -1
  230. package/dist/es/src/components/CdsPage/api/CdsPage.props.js +5 -1
  231. package/dist/es/src/components/CdsPage/api/CdsPage.props.js.map +1 -1
  232. package/dist/es/src/components/CdsPagination/CdsPagination.css +0 -18
  233. package/dist/es/src/components/CdsPagination/CdsPagination.vue_vue_type_script_setup_true_lang.js +18 -2
  234. package/dist/es/src/components/CdsPagination/CdsPagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
  235. package/dist/es/src/components/CdsPagination/api/CdsPagination.props.js +85 -22
  236. package/dist/es/src/components/CdsPagination/api/CdsPagination.props.js.map +1 -1
  237. package/dist/es/src/components/CdsProgressBar/CdsProgressBar.css +0 -18
  238. package/dist/es/src/components/CdsProgressBar/CdsProgressBar.vue_vue_type_script_setup_true_lang.js +1 -1
  239. package/dist/es/src/components/CdsProgressBar/api/CdsProgressBar.props.js +65 -17
  240. package/dist/es/src/components/CdsProgressBar/api/CdsProgressBar.props.js.map +1 -1
  241. package/dist/es/src/components/CdsProgressBar/composables/useChunk.js +4 -0
  242. package/dist/es/src/components/CdsProgressBar/composables/useChunk.js.map +1 -1
  243. package/dist/es/src/components/CdsProgressCircle/CdsProgressCircle.css +0 -18
  244. package/dist/es/src/components/CdsProgressCircle/CdsProgressCircle.vue_vue_type_script_setup_true_lang.js +1 -1
  245. package/dist/es/src/components/CdsProgressCircle/api/CdsProgressCircle.props.js +29 -8
  246. package/dist/es/src/components/CdsProgressCircle/api/CdsProgressCircle.props.js.map +1 -1
  247. package/dist/es/src/components/CdsRadio/CdsRadio.css +0 -18
  248. package/dist/es/src/components/CdsRadioGroup/CdsRadioGroup.css +0 -18
  249. package/dist/es/src/components/CdsRadioGroup/api/CdsRadioGroup.props.js +16 -4
  250. package/dist/es/src/components/CdsRadioGroup/api/CdsRadioGroup.props.js.map +1 -1
  251. package/dist/es/src/components/CdsResponsive/CdsResponsive.css +0 -18
  252. package/dist/es/src/components/CdsResponsive/api/CdsResponsive.props.js +12 -3
  253. package/dist/es/src/components/CdsResponsive/api/CdsResponsive.props.js.map +1 -1
  254. package/dist/es/src/components/CdsSelect/CdsSelect.css +0 -18
  255. package/dist/es/src/components/CdsSelect/CdsSelect.vue_vue_type_script_setup_true_lang.js +16 -4
  256. package/dist/es/src/components/CdsSelect/CdsSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  257. package/dist/es/src/components/CdsSelect/api/CdsSelect.props.js +4 -1
  258. package/dist/es/src/components/CdsSelect/api/CdsSelect.props.js.map +1 -1
  259. package/dist/es/src/components/CdsSelect/composables/useMenuActivator.js +8 -2
  260. package/dist/es/src/components/CdsSelect/composables/useMenuActivator.js.map +1 -1
  261. package/dist/es/src/components/CdsSelect/composables/useSelect.js +69 -17
  262. package/dist/es/src/components/CdsSelect/composables/useSelect.js.map +1 -1
  263. package/dist/es/src/components/CdsSelectionControl/CdsSelectionControl.css +0 -18
  264. package/dist/es/src/components/CdsSelectionControl/CdsSelectionControl.vue_vue_type_script_setup_true_lang.js +8 -0
  265. package/dist/es/src/components/CdsSelectionControl/CdsSelectionControl.vue_vue_type_script_setup_true_lang.js.map +1 -1
  266. package/dist/es/src/components/CdsSelectionControl/api/CdsSelectionControl.props.js +12 -3
  267. package/dist/es/src/components/CdsSelectionControl/api/CdsSelectionControl.props.js.map +1 -1
  268. package/dist/es/src/components/CdsSelectionControlGroup/CdsSelectionControlGroup.css +0 -18
  269. package/dist/es/src/components/CdsSelectionControlGroup/api/CdsSelectionControlGroup.props.js +44 -11
  270. package/dist/es/src/components/CdsSelectionControlGroup/api/CdsSelectionControlGroup.props.js.map +1 -1
  271. package/dist/es/src/components/CdsSkeletonLoader/CdsSkeletonLoader.css +0 -18
  272. package/dist/es/src/components/CdsSkeletonLoader/CdsSkeletonLoader.vue_vue_type_script_setup_true_lang.js +1 -1
  273. package/dist/es/src/components/CdsSkeletonLoader/api/CdsSkeletonLoader.props.js +17 -5
  274. package/dist/es/src/components/CdsSkeletonLoader/api/CdsSkeletonLoader.props.js.map +1 -1
  275. package/dist/es/src/components/CdsSkeletonLoader/api/CdsSkeletonLoader.types.js.map +1 -1
  276. package/dist/es/src/components/CdsSlideGroup/CdsSlideGroup.css +0 -18
  277. package/dist/es/src/components/CdsSlideGroup/CdsSlideGroup.vue_vue_type_script_setup_true_lang.js +25 -7
  278. package/dist/es/src/components/CdsSlideGroup/CdsSlideGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  279. package/dist/es/src/components/CdsSlideGroup/api/CdsSlideGroup.props.js +26 -7
  280. package/dist/es/src/components/CdsSlideGroup/api/CdsSlideGroup.props.js.map +1 -1
  281. package/dist/es/src/components/CdsSlideView/CdsSlideView.css +0 -18
  282. package/dist/es/src/components/CdsSlideView/CdsSlideView.vue_vue_type_script_setup_true_lang.js +4 -0
  283. package/dist/es/src/components/CdsSlideView/CdsSlideView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  284. package/dist/es/src/components/CdsSlideView/CdsSlideViewItem.vue_vue_type_script_setup_true_lang.js +5 -1
  285. package/dist/es/src/components/CdsSlideView/CdsSlideViewItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  286. package/dist/es/src/components/CdsSlideView/api/CdsSlideView.props.js +45 -1
  287. package/dist/es/src/components/CdsSlideView/api/CdsSlideView.props.js.map +1 -1
  288. package/dist/es/src/components/CdsStages/CdsStages.css +0 -18
  289. package/dist/es/src/components/CdsStages/CdsStages.vue_vue_type_script_setup_true_lang.js +9 -1
  290. package/dist/es/src/components/CdsStages/CdsStages.vue_vue_type_script_setup_true_lang.js.map +1 -1
  291. package/dist/es/src/components/CdsStages/api/CdsStages.props.js +9 -3
  292. package/dist/es/src/components/CdsStages/api/CdsStages.props.js.map +1 -1
  293. package/dist/es/src/components/CdsStatus/CdsStatus.css +0 -18
  294. package/dist/es/src/components/CdsStatus/CdsStatus.vue_vue_type_script_setup_true_lang.js +1 -1
  295. package/dist/es/src/components/CdsStatus/api/CdsStatus.props.js +5 -2
  296. package/dist/es/src/components/CdsStatus/api/CdsStatus.props.js.map +1 -1
  297. package/dist/es/src/components/CdsSteps/CdsSteps.css +0 -18
  298. package/dist/es/src/components/CdsSteps/CdsSteps.vue_vue_type_script_setup_true_lang.js +8 -0
  299. package/dist/es/src/components/CdsSteps/CdsSteps.vue_vue_type_script_setup_true_lang.js.map +1 -1
  300. package/dist/es/src/components/CdsSteps/api/CdsSteps.props.js +45 -12
  301. package/dist/es/src/components/CdsSteps/api/CdsSteps.props.js.map +1 -1
  302. package/dist/es/src/components/CdsSurface/CdsSurface.css +0 -18
  303. package/dist/es/src/components/CdsSurface/CdsSurface.vue_vue_type_script_setup_true_lang.js +1 -1
  304. package/dist/es/src/components/CdsSurface/api/CdsSurface.props.js +5 -2
  305. package/dist/es/src/components/CdsSurface/api/CdsSurface.props.js.map +1 -1
  306. package/dist/es/src/components/CdsTable/CdsTable.css +0 -18
  307. package/dist/es/src/components/CdsTable/CdsTable.vue_vue_type_script_setup_true_lang.js +4 -0
  308. package/dist/es/src/components/CdsTable/CdsTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  309. package/dist/es/src/components/CdsTable/api/CdsTable.props.js +1 -1
  310. package/dist/es/src/components/CdsTable/components/TableProvider.js +2 -2
  311. package/dist/es/src/components/CdsTable/composable/table.js +47 -0
  312. package/dist/es/src/components/CdsTable/composable/table.js.map +1 -1
  313. package/dist/es/src/components/CdsTabs/CdsTabs.css +0 -18
  314. package/dist/es/src/components/CdsTabs/api/CdsTabs.props.js +56 -0
  315. package/dist/es/src/components/CdsTabs/api/CdsTabs.props.js.map +1 -1
  316. package/dist/es/src/components/CdsTag/CdsTag.css +0 -18
  317. package/dist/es/src/components/CdsTag/CdsTag.vue_vue_type_script_setup_true_lang.js +1 -1
  318. package/dist/es/src/components/CdsTag/api/CdsTag.props.js +72 -18
  319. package/dist/es/src/components/CdsTag/api/CdsTag.props.js.map +1 -1
  320. package/dist/es/src/components/CdsTagGroup/CdsTagGroup.css +0 -18
  321. package/dist/es/src/components/CdsTagGroup/CdsTagGroup.vue_vue_type_script_setup_true_lang.js +21 -6
  322. package/dist/es/src/components/CdsTagGroup/CdsTagGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  323. package/dist/es/src/components/CdsTagGroup/api/CdsTagGroup.props.js +12 -4
  324. package/dist/es/src/components/CdsTagGroup/api/CdsTagGroup.props.js.map +1 -1
  325. package/dist/es/src/components/CdsTextArea/CdsTextArea.css +0 -18
  326. package/dist/es/src/components/CdsTextArea/api/CdsTextArea.props.js +52 -13
  327. package/dist/es/src/components/CdsTextArea/api/CdsTextArea.props.js.map +1 -1
  328. package/dist/es/src/components/CdsTextInput/CdsTextInput.css +0 -18
  329. package/dist/es/src/components/CdsTextInput/api/CdsTextInput.props.js +40 -10
  330. package/dist/es/src/components/CdsTextInput/api/CdsTextInput.props.js.map +1 -1
  331. package/dist/es/src/components/CdsTimePicker/CdsTimePicker.css +0 -18
  332. package/dist/es/src/components/CdsTimePicker/CdsTimePicker.vue_vue_type_script_setup_true_lang.js +25 -1
  333. package/dist/es/src/components/CdsTimePicker/CdsTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  334. package/dist/es/src/components/CdsTimePicker/api/CdsTimePicker.props.js +33 -9
  335. package/dist/es/src/components/CdsTimePicker/api/CdsTimePicker.props.js.map +1 -1
  336. package/dist/es/src/components/CdsToast/CdsToast.css +0 -18
  337. package/dist/es/src/components/CdsToast/CdsToast.vue_vue_type_script_setup_true_lang.js +1 -1
  338. package/dist/es/src/components/CdsToast/api/CdsToast.props.js +48 -12
  339. package/dist/es/src/components/CdsToast/api/CdsToast.props.js.map +1 -1
  340. package/dist/es/src/components/CdsToastQueue/CdsToastQueue.vue_vue_type_script_setup_true_lang.js +4 -1
  341. package/dist/es/src/components/CdsToastQueue/CdsToastQueue.vue_vue_type_script_setup_true_lang.js.map +1 -1
  342. package/dist/es/src/components/CdsToastQueue/api/CdsToastQueue.props.js +28 -7
  343. package/dist/es/src/components/CdsToastQueue/api/CdsToastQueue.props.js.map +1 -1
  344. package/dist/es/src/components/CdsToggle/CdsToggle.css +0 -18
  345. package/dist/es/src/components/CdsToggle/api/CdsToggle.props.js +12 -3
  346. package/dist/es/src/components/CdsToggle/api/CdsToggle.props.js.map +1 -1
  347. package/dist/es/src/components/CdsToolbar/CdsToolbar.css +0 -18
  348. package/dist/es/src/components/CdsToolbar/CdsToolbar.vue_vue_type_script_setup_true_lang.js +1 -1
  349. package/dist/es/src/components/CdsToolbar/api/CdsToolbar.props.js +21 -6
  350. package/dist/es/src/components/CdsToolbar/api/CdsToolbar.props.js.map +1 -1
  351. package/dist/es/src/components/CdsTooltip/CdsTooltip.css +0 -18
  352. package/dist/es/src/components/CdsTooltip/api/CdsTooltip.props.js +20 -5
  353. package/dist/es/src/components/CdsTooltip/api/CdsTooltip.props.js.map +1 -1
  354. package/dist/es/src/components/CdsTree/CdsTree.css +0 -18
  355. package/dist/es/src/components/CdsTree/CdsTree.vue_vue_type_script_setup_true_lang.js +17 -1
  356. package/dist/es/src/components/CdsTree/CdsTree.vue_vue_type_script_setup_true_lang.js.map +1 -1
  357. package/dist/es/src/components/CdsTree/api/CdsTree.props.js +1 -1
  358. package/dist/es/src/components/CdsTree/composable/tree.js +28 -0
  359. package/dist/es/src/components/CdsTree/composable/tree.js.map +1 -1
  360. package/dist/es/src/components/CdsTree/composable/treeNode.js +68 -2
  361. package/dist/es/src/components/CdsTree/composable/treeNode.js.map +1 -1
  362. package/dist/es/src/components/CdsUploader/CdsUploader.css +0 -18
  363. package/dist/es/src/components/CdsUploader/CdsUploader.vue_vue_type_script_setup_true_lang.js +9 -1
  364. package/dist/es/src/components/CdsUploader/CdsUploader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  365. package/dist/es/src/components/CdsUploader/composables/useUpload.js +104 -26
  366. package/dist/es/src/components/CdsUploader/composables/useUpload.js.map +1 -1
  367. package/dist/es/src/components/CdsVirtualScroll/CdsVirtualScroll.css +0 -18
  368. package/dist/es/src/components/CdsVirtualScroll/CdsVirtualScroll.vue_vue_type_script_setup_true_lang.js +8 -0
  369. package/dist/es/src/components/CdsVirtualScroll/CdsVirtualScroll.vue_vue_type_script_setup_true_lang.js.map +1 -1
  370. package/dist/es/src/components/CdsVirtualScroll/api/CdsVirtualScroll.props.js +12 -3
  371. package/dist/es/src/components/CdsVirtualScroll/api/CdsVirtualScroll.props.js.map +1 -1
  372. package/dist/es/src/components/index.js +2 -1
  373. package/dist/es/src/components/index.js.map +1 -1
  374. package/dist/es/src/composables/useAppearance/useAppearance.js +4 -1
  375. package/dist/es/src/composables/useAppearance/useAppearance.js.map +1 -1
  376. package/dist/es/src/composables/useColor/useColor.js +20 -5
  377. package/dist/es/src/composables/useColor/useColor.js.map +1 -1
  378. package/dist/es/src/composables/useDatetime/useDatetime.js +3 -0
  379. package/dist/es/src/composables/useDatetime/useDatetime.js.map +1 -1
  380. package/dist/es/src/composables/useDelay/useDelay.js +8 -2
  381. package/dist/es/src/composables/useDelay/useDelay.js.map +1 -1
  382. package/dist/es/src/composables/useDimensions/useDimensions.js +24 -6
  383. package/dist/es/src/composables/useDimensions/useDimensions.js.map +1 -1
  384. package/dist/es/src/composables/useDirection/useDirection.js +4 -1
  385. package/dist/es/src/composables/useDirection/useDirection.js.map +1 -1
  386. package/dist/es/src/composables/useDisabled/index.js +1 -1
  387. package/dist/es/src/composables/useDisabled/index.js.map +1 -1
  388. package/dist/es/src/composables/useDisabled/useDisabled.js +4 -1
  389. package/dist/es/src/composables/useDisabled/useDisabled.js.map +1 -1
  390. package/dist/es/src/composables/useDisplay/useDisplay.js +2 -0
  391. package/dist/es/src/composables/useDisplay/useDisplay.js.map +1 -1
  392. package/dist/es/src/composables/useFilter/useFilter.js +20 -0
  393. package/dist/es/src/composables/useFilter/useFilter.js.map +1 -1
  394. package/dist/es/src/composables/useFocus/useFocus.js +12 -3
  395. package/dist/es/src/composables/useFocus/useFocus.js.map +1 -1
  396. package/dist/es/src/composables/useFocus/useFocusTrap.js +8 -2
  397. package/dist/es/src/composables/useFocus/useFocusTrap.js.map +1 -1
  398. package/dist/es/src/composables/useForm/useForm.js +45 -0
  399. package/dist/es/src/composables/useForm/useForm.js.map +1 -1
  400. package/dist/es/src/composables/useGroup/useGroup.js +24 -6
  401. package/dist/es/src/composables/useGroup/useGroup.js.map +1 -1
  402. package/dist/es/src/composables/useGroup/useGroupItem.js +8 -2
  403. package/dist/es/src/composables/useGroup/useGroupItem.js.map +1 -1
  404. package/dist/es/src/composables/useHydration/useHydration.js +1 -1
  405. package/dist/es/src/composables/useItems/useItems.js +32 -8
  406. package/dist/es/src/composables/useItems/useItems.js.map +1 -1
  407. package/dist/es/src/composables/useLayout/context.js.map +1 -1
  408. package/dist/es/src/composables/useLayout/useLayout.js +25 -7
  409. package/dist/es/src/composables/useLayout/useLayout.js.map +1 -1
  410. package/dist/es/src/composables/useLazy/useLazy.js +1 -0
  411. package/dist/es/src/composables/useLazy/useLazy.js.map +1 -1
  412. package/dist/es/src/composables/useLoader/index.js +1 -1
  413. package/dist/es/src/composables/useLoader/index.js.map +1 -1
  414. package/dist/es/src/composables/useLoader/useLoader.js +4 -1
  415. package/dist/es/src/composables/useLoader/useLoader.js.map +1 -1
  416. package/dist/es/src/composables/useLocation/index.js +1 -1
  417. package/dist/es/src/composables/useLocation/index.js.map +1 -1
  418. package/dist/es/src/composables/useLocation/useLocation.js +4 -1
  419. package/dist/es/src/composables/useLocation/useLocation.js.map +1 -1
  420. package/dist/es/src/composables/useNested/useNested.js +44 -11
  421. package/dist/es/src/composables/useNested/useNested.js.map +1 -1
  422. package/dist/es/src/composables/usePosition/usePosition.js +4 -0
  423. package/dist/es/src/composables/usePosition/usePosition.js.map +1 -1
  424. package/dist/es/src/composables/useReadonly/useReadonly.js +4 -1
  425. package/dist/es/src/composables/useReadonly/useReadonly.js.map +1 -1
  426. package/dist/es/src/composables/useReveal/useReveal.js +4 -1
  427. package/dist/es/src/composables/useReveal/useReveal.js.map +1 -1
  428. package/dist/es/src/composables/useRouter/index.js +1 -1
  429. package/dist/es/src/composables/useRouter/index.js.map +1 -1
  430. package/dist/es/src/composables/useRouter/useRouter.js +16 -4
  431. package/dist/es/src/composables/useRouter/useRouter.js.map +1 -1
  432. package/dist/es/src/composables/useSize/useSize.js +4 -1
  433. package/dist/es/src/composables/useSize/useSize.js.map +1 -1
  434. package/dist/es/src/composables/useStatus/useStatus.js +4 -1
  435. package/dist/es/src/composables/useStatus/useStatus.js.map +1 -1
  436. package/dist/es/src/composables/useText/useText.js +8 -2
  437. package/dist/es/src/composables/useText/useText.js.map +1 -1
  438. package/dist/es/src/composables/useTheme/internal/useTheme.constants.js +13 -2
  439. package/dist/es/src/composables/useTheme/internal/useTheme.constants.js.map +1 -1
  440. package/dist/es/src/composables/useTheme/useTheme.js +4 -1
  441. package/dist/es/src/composables/useTheme/useTheme.js.map +1 -1
  442. package/dist/es/src/composables/useTransition/useTransition.js +4 -1
  443. package/dist/es/src/composables/useTransition/useTransition.js.map +1 -1
  444. package/dist/es/src/composables/useValidation/useValidation.js +26 -6
  445. package/dist/es/src/composables/useValidation/useValidation.js.map +1 -1
  446. package/dist/es/src/composables/useVirtual/useVirtual.js +13 -4
  447. package/dist/es/src/composables/useVirtual/useVirtual.js.map +1 -1
  448. package/dist/es/src/core/defineComponent.js +4 -1
  449. package/dist/es/src/core/defineComponent.js.map +1 -1
  450. package/dist/es/src/core/useDefaults.js +3 -1
  451. package/dist/es/src/locales/adapters/cdsLocaleAdapter.js +2 -1
  452. package/dist/es/src/locales/adapters/cdsLocaleAdapter.js.map +1 -1
  453. package/dist/es/src/locales/en.js +70 -0
  454. package/dist/es/src/locales/en.js.map +1 -0
  455. package/dist/es/src/locales/index.js +18 -0
  456. package/dist/es/src/locales/index.js.map +1 -0
  457. package/dist/es/src/themes/index.js +4 -0
  458. package/dist/es/src/themes/index.js.map +1 -1
  459. package/dist/es/src/themes/lumaDark.js +24 -0
  460. package/dist/es/src/themes/lumaDark.js.map +1 -0
  461. package/dist/es/src/themes/lumaLight.js +20 -0
  462. package/dist/es/src/themes/lumaLight.js.map +1 -0
  463. package/dist/es/src/utils/date/date.js +4 -4
  464. package/dist/es/src/utils/date/date.js.map +1 -1
  465. package/dist/esm-node/entry.css +0 -18
  466. package/dist/esm-node/entry.mjs +132 -122
  467. package/dist/esm-node/src/assets/icons/cdsLegacy.mjs +1 -1
  468. package/dist/esm-node/src/cds.mjs +6 -6
  469. package/dist/esm-node/src/components/CdsApp/CdsApp.css +0 -18
  470. package/dist/esm-node/src/components/CdsApp/CdsApp.vue_vue_type_script_setup_true_lang.mjs +2 -2
  471. package/dist/esm-node/src/components/CdsApp/api/CdsApp.props.mjs +2 -1
  472. package/dist/esm-node/src/components/CdsAutocomplete/CdsAutocomplete.css +0 -18
  473. package/dist/esm-node/src/components/CdsAutocomplete/CdsAutocomplete.vue_vue_type_script_setup_true_lang.mjs +23 -8
  474. package/dist/esm-node/src/components/CdsAutocomplete/api/CdsAutocomplete.props.mjs +10 -3
  475. package/dist/esm-node/src/components/CdsAvatar/CdsAvatar.css +0 -18
  476. package/dist/esm-node/src/components/CdsAvatar/CdsAvatar.vue_vue_type_script_setup_true_lang.mjs +3 -3
  477. package/dist/esm-node/src/components/CdsAvatar/api/CdsAvatar.props.mjs +21 -6
  478. package/dist/esm-node/src/components/CdsBadge/CdsBadge.css +0 -18
  479. package/dist/esm-node/src/components/CdsBadge/CdsBadge.vue_vue_type_script_setup_true_lang.mjs +3 -3
  480. package/dist/esm-node/src/components/CdsBadge/api/CdsBadge.props.mjs +39 -11
  481. package/dist/esm-node/src/components/CdsBreadcrumbs/CdsBreadcrumbs.css +0 -18
  482. package/dist/esm-node/src/components/CdsBreadcrumbs/CdsBreadcrumbs.vue_vue_type_script_setup_true_lang.mjs +1 -1
  483. package/dist/esm-node/src/components/CdsBreadcrumbs/CdsBreadcrumbsDivider.vue_vue_type_script_setup_true_lang.mjs +1 -1
  484. package/dist/esm-node/src/components/CdsBreadcrumbs/CdsBreadcrumbsItem.vue_vue_type_script_setup_true_lang.mjs +1 -1
  485. package/dist/esm-node/src/components/CdsBreadcrumbs/api/CdsBreadcrumbs.props.mjs +33 -9
  486. package/dist/esm-node/src/components/CdsButton/CdsButton.css +0 -18
  487. package/dist/esm-node/src/components/CdsButton/CdsButton.vue_vue_type_script_setup_true_lang.mjs +6 -3
  488. package/dist/esm-node/src/components/CdsButton/api/CdsButton.props.mjs +30 -9
  489. package/dist/esm-node/src/components/CdsButtonGroup/CdsButtonGroup.css +0 -18
  490. package/dist/esm-node/src/components/CdsButtonGroup/CdsButtonGroup.vue_vue_type_script_setup_true_lang.mjs +2 -2
  491. package/dist/esm-node/src/components/CdsButtonGroup/api/CdsButtonGroup.props.mjs +6 -3
  492. package/dist/esm-node/src/components/CdsButtonToggle/CdsButtonToggle.css +0 -18
  493. package/dist/esm-node/src/components/CdsButtonToggle/CdsButtonToggle.vue_vue_type_script_setup_true_lang.mjs +21 -6
  494. package/dist/esm-node/src/components/CdsButtonToggle/api/CdsButtonToggle.props.mjs +1 -1
  495. package/dist/esm-node/src/components/CdsCard/CdsCard.css +0 -18
  496. package/dist/esm-node/src/components/CdsCard/CdsCard.vue_vue_type_script_setup_true_lang.mjs +3 -3
  497. package/dist/esm-node/src/components/CdsCard/CdsCardActions.vue_vue_type_script_setup_true_lang.mjs +1 -1
  498. package/dist/esm-node/src/components/CdsCard/CdsCardDivider.vue_vue_type_script_setup_true_lang.mjs +1 -1
  499. package/dist/esm-node/src/components/CdsCard/CdsCardGroup.vue_vue_type_script_setup_true_lang.mjs +22 -7
  500. package/dist/esm-node/src/components/CdsCard/CdsCardItem.vue_vue_type_script_setup_true_lang.mjs +1 -1
  501. package/dist/esm-node/src/components/CdsCard/CdsCardSubtitle.vue_vue_type_script_setup_true_lang.mjs +1 -1
  502. package/dist/esm-node/src/components/CdsCard/CdsCardText.vue_vue_type_script_setup_true_lang.mjs +1 -1
  503. package/dist/esm-node/src/components/CdsCard/CdsCardTitle.vue_vue_type_script_setup_true_lang.mjs +1 -1
  504. package/dist/esm-node/src/components/CdsCard/api/CdsCard.props.mjs +85 -21
  505. package/dist/esm-node/src/components/CdsCarousel/CdsCarousel.css +0 -18
  506. package/dist/esm-node/src/components/CdsCarousel/CdsCarousel.vue_vue_type_script_setup_true_lang.mjs +2 -2
  507. package/dist/esm-node/src/components/CdsCarousel/CdsCarouselItem.vue_vue_type_script_setup_true_lang.mjs +1 -1
  508. package/dist/esm-node/src/components/CdsCarousel/api/CdsCarousel.props.mjs +36 -9
  509. package/dist/esm-node/src/components/CdsCheckbox/CdsCheckbox.css +0 -18
  510. package/dist/esm-node/src/components/CdsCheckbox/CdsCheckbox.vue_vue_type_script_setup_true_lang.mjs +2 -2
  511. package/dist/esm-node/src/components/CdsCheckbox/api/CdsCheckbox.props.mjs +1 -1
  512. package/dist/esm-node/src/components/CdsCheckboxButton/CdsCheckboxButton.css +0 -18
  513. package/dist/esm-node/src/components/CdsCheckboxButton/CdsCheckboxButton.vue_vue_type_script_setup_true_lang.mjs +2 -2
  514. package/dist/esm-node/src/components/CdsCheckboxButton/api/CdsCheckboxButton.props.mjs +8 -2
  515. package/dist/esm-node/src/components/CdsCombobox/CdsCombobox.css +0 -18
  516. package/dist/esm-node/src/components/CdsCombobox/CdsCombobox.vue_vue_type_script_setup_true_lang.mjs +27 -9
  517. package/dist/esm-node/src/components/CdsCombobox/api/CdsCombobox.props.mjs +14 -4
  518. package/dist/esm-node/src/components/CdsCounter/CdsCounter.css +0 -18
  519. package/dist/esm-node/src/components/CdsCounter/CdsCounter.vue_vue_type_script_setup_true_lang.mjs +1 -1
  520. package/dist/esm-node/src/components/CdsCounter/api/CdsCounter.props.mjs +12 -3
  521. package/dist/esm-node/src/components/CdsDateInput/CdsDateInput.css +0 -18
  522. package/dist/esm-node/src/components/CdsDateInput/CdsDateInput.vue_vue_type_script_setup_true_lang.mjs +11 -3
  523. package/dist/esm-node/src/components/CdsDateInput/api/CdsDateInput.props.mjs +32 -8
  524. package/dist/esm-node/src/components/CdsDatePicker/CdsDatePicker.css +0 -18
  525. package/dist/esm-node/src/components/CdsDatePicker/CdsDatePicker.vue_vue_type_script_setup_true_lang.mjs +23 -3
  526. package/dist/esm-node/src/components/CdsDatePicker/api/CdsDatePicker.props.mjs +65 -16
  527. package/dist/esm-node/src/components/CdsDatePicker/composables/useCalendar.mjs +3 -3
  528. package/dist/esm-node/src/components/CdsDefaultsProvider/api/CdsDefaultsProvider.props.mjs +5 -0
  529. package/dist/esm-node/src/components/CdsDescription/CdsDescription.css +0 -18
  530. package/dist/esm-node/src/components/CdsDescription/CdsDescription.vue_vue_type_script_setup_true_lang.mjs +1 -1
  531. package/dist/esm-node/src/components/CdsDivider/CdsDivider.css +0 -18
  532. package/dist/esm-node/src/components/CdsDivider/CdsDivider.vue_vue_type_script_setup_true_lang.mjs +3 -3
  533. package/dist/esm-node/src/components/CdsDivider/api/CdsDivider.props.mjs +33 -8
  534. package/dist/esm-node/src/components/CdsDrawer/CdsDrawer.css +0 -18
  535. package/dist/esm-node/src/components/CdsDrawer/CdsDrawer.vue_vue_type_script_setup_true_lang.mjs +8 -4
  536. package/dist/esm-node/src/components/CdsDrawer/api/CdsDrawer.props.mjs +34 -10
  537. package/dist/esm-node/src/components/CdsEmptyState/CdsEmptyState.css +0 -18
  538. package/dist/esm-node/src/components/CdsEmptyState/CdsEmptyState.vue_vue_type_script_setup_true_lang.mjs +5 -5
  539. package/dist/esm-node/src/components/CdsEmptyState/api/CdsEmptyState.props.mjs +35 -10
  540. package/dist/esm-node/src/components/CdsExpandablePanel/CdsExpandablePanel.vue_vue_type_script_setup_true_lang.mjs +17 -5
  541. package/dist/esm-node/src/components/CdsExpandablePanel/CdsExpandablePanelContent.vue_vue_type_script_setup_true_lang.mjs +1 -1
  542. package/dist/esm-node/src/components/CdsExpandablePanel/CdsExpandablePanelTitle.vue_vue_type_script_setup_true_lang.mjs +9 -3
  543. package/dist/esm-node/src/components/CdsExpandablePanel/CdsExpandablePanels.css +0 -18
  544. package/dist/esm-node/src/components/CdsExpandablePanel/CdsExpandablePanels.vue_vue_type_script_setup_true_lang.mjs +11 -5
  545. package/dist/esm-node/src/components/CdsExpandablePanel/api/CdsExpandablePanel.props.mjs +40 -11
  546. package/dist/esm-node/src/components/CdsField/CdsField.css +0 -18
  547. package/dist/esm-node/src/components/CdsField/CdsField.vue_vue_type_script_setup_true_lang.mjs +15 -5
  548. package/dist/esm-node/src/components/CdsField/api/CdsField.props.mjs +58 -16
  549. package/dist/esm-node/src/components/CdsField/composables/useAutocomplete.mjs +1 -0
  550. package/dist/esm-node/src/components/CdsFileInput/CdsFileInput.css +0 -18
  551. package/dist/esm-node/src/components/CdsFileInput/CdsFileInput.vue_vue_type_script_setup_true_lang.mjs +2 -2
  552. package/dist/esm-node/src/components/CdsFileInput/api/CdsFileInput.props.mjs +41 -11
  553. package/dist/esm-node/src/components/CdsFileInput/composables/useFileFilter.mjs +4 -1
  554. package/dist/esm-node/src/components/CdsFileUpload/CdsFileUpload.css +0 -18
  555. package/dist/esm-node/src/components/CdsFileUpload/CdsFileUpload.vue_vue_type_script_setup_true_lang.mjs +6 -2
  556. package/dist/esm-node/src/components/CdsFileUpload/CdsFileUploadDropzone.vue_vue_type_script_setup_true_lang.mjs +1 -1
  557. package/dist/esm-node/src/components/CdsFileUpload/CdsFileUploadItem.vue_vue_type_script_setup_true_lang.mjs +1 -1
  558. package/dist/esm-node/src/components/CdsFileUpload/CdsFileUploadList.vue_vue_type_script_setup_true_lang.mjs +1 -1
  559. package/dist/esm-node/src/components/CdsFileUpload/api/CdsFileUpload.props.mjs +86 -22
  560. package/dist/esm-node/src/components/CdsFooter/CdsFooter.css +0 -18
  561. package/dist/esm-node/src/components/CdsFooter/CdsFooter.vue_vue_type_script_setup_true_lang.mjs +4 -4
  562. package/dist/esm-node/src/components/CdsFooter/api/CdsFooter.props.mjs +2 -2
  563. package/dist/esm-node/src/components/CdsForm/CdsForm.css +0 -18
  564. package/dist/esm-node/src/components/CdsForm/CdsForm.vue_vue_type_script_setup_true_lang.mjs +1 -1
  565. package/dist/esm-node/src/components/CdsForm/api/CdsForm.props.mjs +8 -2
  566. package/dist/esm-node/src/components/CdsFunctionalButton/CdsFunctionalButton.css +0 -18
  567. package/dist/esm-node/src/components/CdsFunctionalButton/api/CdsFunctionalButton.props.mjs +6 -3
  568. package/dist/esm-node/src/components/CdsGrid/CdsCol.vue_vue_type_script_setup_true_lang.mjs +2 -2
  569. package/dist/esm-node/src/components/CdsGrid/CdsRow.vue_vue_type_script_setup_true_lang.mjs +1 -1
  570. package/dist/esm-node/src/components/CdsGrid/api/CdsGrid.props.mjs +41 -11
  571. package/dist/esm-node/src/components/CdsGrid/components/CSSGrid.css +0 -18
  572. package/dist/esm-node/src/components/CdsGrid/components/CSSGrid.mjs +1 -1
  573. package/dist/esm-node/src/components/CdsGrid/components/FlexGrid.css +0 -18
  574. package/dist/esm-node/src/components/CdsGrid/components/FlexGrid.mjs +1 -1
  575. package/dist/esm-node/src/components/CdsHeader/CdsHeader.css +0 -18
  576. package/dist/esm-node/src/components/CdsHeader/CdsHeader.vue_vue_type_script_setup_true_lang.mjs +3 -3
  577. package/dist/esm-node/src/components/CdsHeader/api/CdsHeader.props.mjs +2 -2
  578. package/dist/esm-node/src/components/CdsHighlight/CdsHighlight.css +0 -18
  579. package/dist/esm-node/src/components/CdsHighlight/CdsHighlight.vue_vue_type_script_setup_true_lang.mjs +1 -1
  580. package/dist/esm-node/src/components/CdsHighlight/api/CdsHighlight.props.mjs +32 -8
  581. package/dist/esm-node/src/components/CdsHighlight/utils/toHighlight.mjs +1 -1
  582. package/dist/esm-node/src/components/CdsIcon/CdsIcon.css +0 -18
  583. package/dist/esm-node/src/components/CdsIcon/CdsIcon.vue_vue_type_script_setup_true_lang.mjs +3 -3
  584. package/dist/esm-node/src/components/CdsIcon/api/CdsIcon.props.mjs +18 -5
  585. package/dist/esm-node/src/components/CdsImage/CdsImage.css +0 -18
  586. package/dist/esm-node/src/components/CdsImage/CdsImage.vue_vue_type_script_setup_true_lang.mjs +24 -4
  587. package/dist/esm-node/src/components/CdsImage/api/CdsImage.props.mjs +65 -17
  588. package/dist/esm-node/src/components/CdsInput/CdsInput.css +0 -18
  589. package/dist/esm-node/src/components/CdsInput/CdsInput.vue_vue_type_script_setup_true_lang.mjs +46 -13
  590. package/dist/esm-node/src/components/CdsInput/CdsInputIcon.mjs +1 -1
  591. package/dist/esm-node/src/components/CdsInput/api/CdsInput.props.mjs +50 -14
  592. package/dist/esm-node/src/components/CdsLabel/CdsLabel.css +0 -18
  593. package/dist/esm-node/src/components/CdsLabel/CdsLabel.vue_vue_type_script_setup_true_lang.mjs +1 -1
  594. package/dist/esm-node/src/components/CdsLabel/api/CdsLabel.props.mjs +5 -1
  595. package/dist/esm-node/src/components/CdsLayout/CdsLayout.css +0 -18
  596. package/dist/esm-node/src/components/CdsLayout/CdsLayout.vue_vue_type_script_setup_true_lang.mjs +5 -5
  597. package/dist/esm-node/src/components/CdsLayout/api/CdsLayout.props.mjs +6 -2
  598. package/dist/esm-node/src/components/CdsLayout/internal/LayoutResizeObserver.mjs +1 -1
  599. package/dist/esm-node/src/components/CdsLayout/internal/LayoutScrollObserver.mjs +2 -2
  600. package/dist/esm-node/src/components/CdsLink/CdsLink.css +0 -18
  601. package/dist/esm-node/src/components/CdsLink/CdsLink.vue_vue_type_script_setup_true_lang.mjs +2 -2
  602. package/dist/esm-node/src/components/CdsLink/api/CdsLink.props.mjs +5 -2
  603. package/dist/esm-node/src/components/CdsList/CdsList.css +0 -18
  604. package/dist/esm-node/src/components/CdsList/CdsList.vue_vue_type_script_setup_true_lang.mjs +27 -9
  605. package/dist/esm-node/src/components/CdsList/CdsListGroup.vue_vue_type_script_setup_true_lang.mjs +5 -2
  606. package/dist/esm-node/src/components/CdsList/CdsListItem.css +0 -18
  607. package/dist/esm-node/src/components/CdsList/CdsListItem.vue_vue_type_script_setup_true_lang.mjs +31 -10
  608. package/dist/esm-node/src/components/CdsList/CdsListItemAction.vue_vue_type_script_setup_true_lang.mjs +9 -3
  609. package/dist/esm-node/src/components/CdsList/CdsListItemDivider.vue_vue_type_script_setup_true_lang.mjs +1 -1
  610. package/dist/esm-node/src/components/CdsList/CdsListItemMedia.vue_vue_type_script_setup_true_lang.mjs +9 -3
  611. package/dist/esm-node/src/components/CdsList/CdsListSubheader.vue_vue_type_script_setup_true_lang.mjs +1 -1
  612. package/dist/esm-node/src/components/CdsList/api/CdsList.props.mjs +146 -38
  613. package/dist/esm-node/src/components/CdsList/components/ListChildren.vue_vue_type_script_setup_true_lang.mjs +8 -2
  614. package/dist/esm-node/src/components/CdsList/composables/useList.mjs +1 -1
  615. package/dist/esm-node/src/components/CdsList/index.mjs +5 -2
  616. package/dist/esm-node/src/components/CdsLoader/CdsLoader.css +0 -18
  617. package/dist/esm-node/src/components/CdsLoader/CdsLoader.vue_vue_type_script_setup_true_lang.mjs +2 -2
  618. package/dist/esm-node/src/components/CdsLoader/api/CdsLoader.props.mjs +12 -3
  619. package/dist/esm-node/src/components/CdsMain/CdsMain.css +0 -18
  620. package/dist/esm-node/src/components/CdsMain/CdsMain.vue_vue_type_script_setup_true_lang.mjs +2 -2
  621. package/dist/esm-node/src/components/CdsMenu/CdsMenu.css +0 -18
  622. package/dist/esm-node/src/components/CdsMenu/CdsMenu.vue_vue_type_script_setup_true_lang.mjs +2 -2
  623. package/dist/esm-node/src/components/CdsMenu/api/CdsMenu.props.mjs +9 -3
  624. package/dist/esm-node/src/components/CdsMessages/CdsMessages.css +0 -18
  625. package/dist/esm-node/src/components/CdsMessages/CdsMessages.vue_vue_type_script_setup_true_lang.mjs +2 -2
  626. package/dist/esm-node/src/components/CdsMessages/api/CdsMessages.props.mjs +12 -3
  627. package/dist/esm-node/src/components/CdsModal/CdsModal.css +0 -18
  628. package/dist/esm-node/src/components/CdsModal/CdsModal.vue_vue_type_script_setup_true_lang.mjs +1 -1
  629. package/dist/esm-node/src/components/CdsModal/api/CdsModal.props.mjs +8 -2
  630. package/dist/esm-node/src/components/CdsNotification/CdsNotification.css +0 -18
  631. package/dist/esm-node/src/components/CdsNotification/CdsNotification.vue_vue_type_script_setup_true_lang.mjs +2 -2
  632. package/dist/esm-node/src/components/CdsNotification/api/CdsNotification.props.mjs +30 -9
  633. package/dist/esm-node/src/components/CdsNotificationAlert/CdsNotificationAlert.css +0 -18
  634. package/dist/esm-node/src/components/CdsNotificationAlert/CdsNotificationAlert.vue_vue_type_script_setup_true_lang.mjs +2 -2
  635. package/dist/esm-node/src/components/CdsNotificationAlert/api/CdsNotificationAlert.props.mjs +29 -8
  636. package/dist/esm-node/src/components/CdsOtpInput/CdsOtpField.vue_vue_type_script_setup_true_lang.mjs +1 -1
  637. package/dist/esm-node/src/components/CdsOtpInput/CdsOtpGroup.vue_vue_type_script_setup_true_lang.mjs +1 -1
  638. package/dist/esm-node/src/components/CdsOtpInput/CdsOtpInput.css +0 -18
  639. package/dist/esm-node/src/components/CdsOtpInput/CdsOtpInput.vue_vue_type_script_setup_true_lang.mjs +23 -8
  640. package/dist/esm-node/src/components/CdsOtpInput/CdsOtpSeparator.vue_vue_type_script_setup_true_lang.mjs +1 -1
  641. package/dist/esm-node/src/components/CdsOtpInput/api/CdsOtpInput.props.mjs +53 -14
  642. package/dist/esm-node/src/components/CdsOverlay/CdsOverlay.css +0 -18
  643. package/dist/esm-node/src/components/CdsOverlay/CdsOverlay.vue_vue_type_script_setup_true_lang.mjs +50 -17
  644. package/dist/esm-node/src/components/CdsOverlay/api/CdsOverlay.props.mjs +37 -9
  645. package/dist/esm-node/src/components/CdsOverlay/components/Scrim.mjs +1 -1
  646. package/dist/esm-node/src/components/CdsOverlay/composables/useActivator.mjs +27 -8
  647. package/dist/esm-node/src/components/CdsOverlay/composables/useLocationStrategies.mjs +21 -7
  648. package/dist/esm-node/src/components/CdsOverlay/composables/useScrollStrategies.mjs +7 -4
  649. package/dist/esm-node/src/components/CdsPage/CdsPage.css +0 -18
  650. package/dist/esm-node/src/components/CdsPage/CdsPage.vue_vue_type_script_setup_true_lang.mjs +3 -3
  651. package/dist/esm-node/src/components/CdsPage/api/CdsPage.props.mjs +5 -1
  652. package/dist/esm-node/src/components/CdsPagination/CdsPagination.css +0 -18
  653. package/dist/esm-node/src/components/CdsPagination/CdsPagination.vue_vue_type_script_setup_true_lang.mjs +20 -4
  654. package/dist/esm-node/src/components/CdsPagination/api/CdsPagination.props.mjs +85 -22
  655. package/dist/esm-node/src/components/CdsProgressBar/CdsProgressBar.css +0 -18
  656. package/dist/esm-node/src/components/CdsProgressBar/CdsProgressBar.vue_vue_type_script_setup_true_lang.mjs +3 -3
  657. package/dist/esm-node/src/components/CdsProgressBar/api/CdsProgressBar.props.mjs +65 -17
  658. package/dist/esm-node/src/components/CdsProgressBar/composables/useChunk.mjs +5 -1
  659. package/dist/esm-node/src/components/CdsProgressCircle/CdsProgressCircle.css +0 -18
  660. package/dist/esm-node/src/components/CdsProgressCircle/CdsProgressCircle.vue_vue_type_script_setup_true_lang.mjs +4 -4
  661. package/dist/esm-node/src/components/CdsProgressCircle/api/CdsProgressCircle.props.mjs +29 -8
  662. package/dist/esm-node/src/components/CdsRadio/CdsRadio.css +0 -18
  663. package/dist/esm-node/src/components/CdsRadio/CdsRadio.vue_vue_type_script_setup_true_lang.mjs +1 -1
  664. package/dist/esm-node/src/components/CdsRadioGroup/CdsRadioGroup.css +0 -18
  665. package/dist/esm-node/src/components/CdsRadioGroup/CdsRadioGroup.vue_vue_type_script_setup_true_lang.mjs +2 -2
  666. package/dist/esm-node/src/components/CdsRadioGroup/api/CdsRadioGroup.props.mjs +17 -5
  667. package/dist/esm-node/src/components/CdsResponsive/CdsResponsive.css +0 -18
  668. package/dist/esm-node/src/components/CdsResponsive/CdsResponsive.vue_vue_type_script_setup_true_lang.mjs +1 -1
  669. package/dist/esm-node/src/components/CdsResponsive/api/CdsResponsive.props.mjs +12 -3
  670. package/dist/esm-node/src/components/CdsResponsive/composables/useAspectStyles.mjs +1 -1
  671. package/dist/esm-node/src/components/CdsSelect/CdsSelect.css +0 -18
  672. package/dist/esm-node/src/components/CdsSelect/CdsSelect.vue_vue_type_script_setup_true_lang.mjs +19 -7
  673. package/dist/esm-node/src/components/CdsSelect/api/CdsSelect.props.mjs +5 -2
  674. package/dist/esm-node/src/components/CdsSelect/composables/useMenuActivator.mjs +8 -2
  675. package/dist/esm-node/src/components/CdsSelect/composables/useSelect.mjs +69 -17
  676. package/dist/esm-node/src/components/CdsSelectionControl/CdsSelectionControl.css +0 -18
  677. package/dist/esm-node/src/components/CdsSelectionControl/CdsSelectionControl.vue_vue_type_script_setup_true_lang.mjs +10 -2
  678. package/dist/esm-node/src/components/CdsSelectionControl/api/CdsSelectionControl.props.mjs +13 -4
  679. package/dist/esm-node/src/components/CdsSelectionControl/composables/useSelectionControl.mjs +1 -1
  680. package/dist/esm-node/src/components/CdsSelectionControlGroup/CdsSelectionControlGroup.css +0 -18
  681. package/dist/esm-node/src/components/CdsSelectionControlGroup/CdsSelectionControlGroup.vue_vue_type_script_setup_true_lang.mjs +1 -1
  682. package/dist/esm-node/src/components/CdsSelectionControlGroup/api/CdsSelectionControlGroup.props.mjs +45 -12
  683. package/dist/esm-node/src/components/CdsSkeletonLoader/CdsSkeletonLoader.css +0 -18
  684. package/dist/esm-node/src/components/CdsSkeletonLoader/CdsSkeletonLoader.vue_vue_type_script_setup_true_lang.mjs +3 -3
  685. package/dist/esm-node/src/components/CdsSkeletonLoader/api/CdsSkeletonLoader.props.mjs +17 -5
  686. package/dist/esm-node/src/components/CdsSlideGroup/CdsSlideGroup.css +0 -18
  687. package/dist/esm-node/src/components/CdsSlideGroup/CdsSlideGroup.vue_vue_type_script_setup_true_lang.mjs +28 -10
  688. package/dist/esm-node/src/components/CdsSlideGroup/api/CdsSlideGroup.props.mjs +26 -7
  689. package/dist/esm-node/src/components/CdsSlideView/CdsSlideView.css +0 -18
  690. package/dist/esm-node/src/components/CdsSlideView/CdsSlideView.vue_vue_type_script_setup_true_lang.mjs +8 -4
  691. package/dist/esm-node/src/components/CdsSlideView/CdsSlideViewItem.vue_vue_type_script_setup_true_lang.mjs +7 -3
  692. package/dist/esm-node/src/components/CdsSlideView/api/CdsSlideView.props.mjs +45 -1
  693. package/dist/esm-node/src/components/CdsStages/CdsStages.css +0 -18
  694. package/dist/esm-node/src/components/CdsStages/CdsStages.vue_vue_type_script_setup_true_lang.mjs +10 -2
  695. package/dist/esm-node/src/components/CdsStages/api/CdsStages.props.mjs +9 -3
  696. package/dist/esm-node/src/components/CdsStatus/CdsStatus.css +0 -18
  697. package/dist/esm-node/src/components/CdsStatus/CdsStatus.vue_vue_type_script_setup_true_lang.mjs +2 -2
  698. package/dist/esm-node/src/components/CdsStatus/api/CdsStatus.props.mjs +5 -2
  699. package/dist/esm-node/src/components/CdsSteps/CdsSteps.css +0 -18
  700. package/dist/esm-node/src/components/CdsSteps/CdsSteps.vue_vue_type_script_setup_true_lang.mjs +10 -2
  701. package/dist/esm-node/src/components/CdsSteps/CdsStepsActions.vue_vue_type_script_setup_true_lang.mjs +1 -1
  702. package/dist/esm-node/src/components/CdsSteps/CdsStepsItem.vue_vue_type_script_setup_true_lang.mjs +1 -1
  703. package/dist/esm-node/src/components/CdsSteps/CdsStepsView.vue_vue_type_script_setup_true_lang.mjs +1 -1
  704. package/dist/esm-node/src/components/CdsSteps/CdsStepsViewItem.vue_vue_type_script_setup_true_lang.mjs +1 -1
  705. package/dist/esm-node/src/components/CdsSteps/api/CdsSteps.props.mjs +46 -13
  706. package/dist/esm-node/src/components/CdsSurface/CdsSurface.css +0 -18
  707. package/dist/esm-node/src/components/CdsSurface/CdsSurface.vue_vue_type_script_setup_true_lang.mjs +2 -2
  708. package/dist/esm-node/src/components/CdsSurface/api/CdsSurface.props.mjs +5 -2
  709. package/dist/esm-node/src/components/CdsTable/CdsTable.css +0 -18
  710. package/dist/esm-node/src/components/CdsTable/CdsTable.vue_vue_type_script_setup_true_lang.mjs +4 -0
  711. package/dist/esm-node/src/components/CdsTable/api/CdsTable.props.mjs +1 -1
  712. package/dist/esm-node/src/components/CdsTable/components/Body/BodyRow.mjs +2 -2
  713. package/dist/esm-node/src/components/CdsTable/components/Cell/Cell.mjs +6 -6
  714. package/dist/esm-node/src/components/CdsTable/components/Drag/ColumnDragHandle.mjs +1 -1
  715. package/dist/esm-node/src/components/CdsTable/components/Drag/RowDragHandle.mjs +1 -1
  716. package/dist/esm-node/src/components/CdsTable/components/Filter/FilterDropdown.mjs +3 -3
  717. package/dist/esm-node/src/components/CdsTable/components/FixedHolder/FixedHolder.mjs +2 -2
  718. package/dist/esm-node/src/components/CdsTable/components/Header/DragHandle.mjs +4 -4
  719. package/dist/esm-node/src/components/CdsTable/components/Header/Header.mjs +1 -1
  720. package/dist/esm-node/src/components/CdsTable/components/Header/HeaderRow.mjs +1 -1
  721. package/dist/esm-node/src/components/CdsTable/components/ResizeObserver/ResizeObserver.mjs +1 -1
  722. package/dist/esm-node/src/components/CdsTable/components/StickyScrollbar/StickyScrollbar.mjs +3 -3
  723. package/dist/esm-node/src/components/CdsTable/components/Table/InternalTable.mjs +4 -4
  724. package/dist/esm-node/src/components/CdsTable/components/TableProvider.mjs +6 -6
  725. package/dist/esm-node/src/components/CdsTable/composable/columns.mjs +1 -1
  726. package/dist/esm-node/src/components/CdsTable/composable/filter.mjs +1 -1
  727. package/dist/esm-node/src/components/CdsTable/composable/frame.mjs +1 -1
  728. package/dist/esm-node/src/components/CdsTable/composable/pagination.mjs +2 -2
  729. package/dist/esm-node/src/components/CdsTable/composable/scroll.mjs +3 -3
  730. package/dist/esm-node/src/components/CdsTable/composable/selection.mjs +2 -2
  731. package/dist/esm-node/src/components/CdsTable/composable/sorter.mjs +1 -1
  732. package/dist/esm-node/src/components/CdsTable/composable/sticky.mjs +1 -1
  733. package/dist/esm-node/src/components/CdsTable/composable/table.mjs +47 -0
  734. package/dist/esm-node/src/components/CdsTable/context/sticky.mjs +1 -1
  735. package/dist/esm-node/src/components/CdsTable/utils/column.mjs +1 -1
  736. package/dist/esm-node/src/components/CdsTabs/CdsTab.vue_vue_type_script_setup_true_lang.mjs +3 -3
  737. package/dist/esm-node/src/components/CdsTabs/CdsTabs.css +0 -18
  738. package/dist/esm-node/src/components/CdsTabs/CdsTabs.vue_vue_type_script_setup_true_lang.mjs +2 -2
  739. package/dist/esm-node/src/components/CdsTabs/CdsTabsView.vue_vue_type_script_setup_true_lang.mjs +1 -1
  740. package/dist/esm-node/src/components/CdsTabs/CdsTabsViewItem.vue_vue_type_script_setup_true_lang.mjs +1 -1
  741. package/dist/esm-node/src/components/CdsTabs/api/CdsTabs.props.mjs +57 -1
  742. package/dist/esm-node/src/components/CdsTag/CdsTag.css +0 -18
  743. package/dist/esm-node/src/components/CdsTag/CdsTag.vue_vue_type_script_setup_true_lang.mjs +2 -2
  744. package/dist/esm-node/src/components/CdsTag/api/CdsTag.props.mjs +73 -19
  745. package/dist/esm-node/src/components/CdsTagGroup/CdsTagGroup.css +0 -18
  746. package/dist/esm-node/src/components/CdsTagGroup/CdsTagGroup.vue_vue_type_script_setup_true_lang.mjs +22 -7
  747. package/dist/esm-node/src/components/CdsTagGroup/api/CdsTagGroup.props.mjs +13 -5
  748. package/dist/esm-node/src/components/CdsTextArea/CdsTextArea.css +0 -18
  749. package/dist/esm-node/src/components/CdsTextArea/CdsTextArea.vue_vue_type_script_setup_true_lang.mjs +2 -2
  750. package/dist/esm-node/src/components/CdsTextArea/api/CdsTextArea.props.mjs +53 -14
  751. package/dist/esm-node/src/components/CdsTextInput/CdsTextInput.css +0 -18
  752. package/dist/esm-node/src/components/CdsTextInput/CdsTextInput.vue_vue_type_script_setup_true_lang.mjs +2 -2
  753. package/dist/esm-node/src/components/CdsTextInput/api/CdsTextInput.props.mjs +41 -11
  754. package/dist/esm-node/src/components/CdsTimePicker/CdsTimePicker.css +0 -18
  755. package/dist/esm-node/src/components/CdsTimePicker/CdsTimePicker.vue_vue_type_script_setup_true_lang.mjs +27 -3
  756. package/dist/esm-node/src/components/CdsTimePicker/api/CdsTimePicker.props.mjs +33 -9
  757. package/dist/esm-node/src/components/CdsTimePicker/composables/useTime.mjs +1 -1
  758. package/dist/esm-node/src/components/CdsToast/CdsToast.css +0 -18
  759. package/dist/esm-node/src/components/CdsToast/CdsToast.vue_vue_type_script_setup_true_lang.mjs +3 -3
  760. package/dist/esm-node/src/components/CdsToast/api/CdsToast.props.mjs +49 -13
  761. package/dist/esm-node/src/components/CdsToastQueue/CdsToastQueue.vue_vue_type_script_setup_true_lang.mjs +5 -2
  762. package/dist/esm-node/src/components/CdsToastQueue/api/CdsToastQueue.props.mjs +29 -8
  763. package/dist/esm-node/src/components/CdsToastQueue/composables/useDocumentVisibility.mjs +1 -1
  764. package/dist/esm-node/src/components/CdsToggle/CdsToggle.css +0 -18
  765. package/dist/esm-node/src/components/CdsToggle/CdsToggle.vue_vue_type_script_setup_true_lang.mjs +2 -2
  766. package/dist/esm-node/src/components/CdsToggle/api/CdsToggle.props.mjs +13 -4
  767. package/dist/esm-node/src/components/CdsToolbar/CdsToolbar.css +0 -18
  768. package/dist/esm-node/src/components/CdsToolbar/CdsToolbar.vue_vue_type_script_setup_true_lang.mjs +2 -2
  769. package/dist/esm-node/src/components/CdsToolbar/CdsToolbarTitle.vue_vue_type_script_setup_true_lang.mjs +1 -1
  770. package/dist/esm-node/src/components/CdsToolbar/api/CdsToolbar.props.mjs +22 -7
  771. package/dist/esm-node/src/components/CdsTooltip/CdsTooltip.css +0 -18
  772. package/dist/esm-node/src/components/CdsTooltip/CdsTooltip.vue_vue_type_script_setup_true_lang.mjs +1 -1
  773. package/dist/esm-node/src/components/CdsTooltip/api/CdsTooltip.props.mjs +21 -6
  774. package/dist/esm-node/src/components/CdsTree/CdsTree.css +0 -18
  775. package/dist/esm-node/src/components/CdsTree/CdsTree.vue_vue_type_script_setup_true_lang.mjs +19 -3
  776. package/dist/esm-node/src/components/CdsTree/CdsTreeDirectory.vue_vue_type_script_lang.mjs +3 -3
  777. package/dist/esm-node/src/components/CdsTree/CdsTreeNode.vue_vue_type_script_lang.mjs +3 -3
  778. package/dist/esm-node/src/components/CdsTree/api/CdsTree.props.mjs +1 -1
  779. package/dist/esm-node/src/components/CdsTree/components/DropIndicator.mjs +1 -1
  780. package/dist/esm-node/src/components/CdsTree/components/NodeList.mjs +1 -1
  781. package/dist/esm-node/src/components/CdsTree/components/SwitcherIcon.mjs +2 -2
  782. package/dist/esm-node/src/components/CdsTree/components/TreeProvider.mjs +4 -4
  783. package/dist/esm-node/src/components/CdsTree/components/VirtualList/Filler.mjs +1 -1
  784. package/dist/esm-node/src/components/CdsTree/components/VirtualList/Item.mjs +1 -1
  785. package/dist/esm-node/src/components/CdsTree/components/VirtualList/ResizeObserver.mjs +1 -1
  786. package/dist/esm-node/src/components/CdsTree/components/VirtualList/ScrollBar.mjs +2 -2
  787. package/dist/esm-node/src/components/CdsTree/components/VirtualList/VirtualList.mjs +2 -2
  788. package/dist/esm-node/src/components/CdsTree/components/VirtualList/features/useFrameWheel.mjs +1 -1
  789. package/dist/esm-node/src/components/CdsTree/components/VirtualList/features/useHeights.mjs +1 -1
  790. package/dist/esm-node/src/components/CdsTree/components/VirtualList/features/useMobileTouchMove.mjs +1 -1
  791. package/dist/esm-node/src/components/CdsTree/composable/tree.mjs +28 -0
  792. package/dist/esm-node/src/components/CdsTree/composable/treeNode.mjs +68 -2
  793. package/dist/esm-node/src/components/CdsTree/utils/data.mjs +3 -3
  794. package/dist/esm-node/src/components/CdsUploader/CdsUploader.css +0 -18
  795. package/dist/esm-node/src/components/CdsUploader/CdsUploader.vue_vue_type_script_setup_true_lang.mjs +10 -2
  796. package/dist/esm-node/src/components/CdsUploader/components/AjaxUploader.vue_vue_type_script_setup_true_lang.mjs +2 -2
  797. package/dist/esm-node/src/components/CdsUploader/composables/useUpload.mjs +104 -26
  798. package/dist/esm-node/src/components/CdsVirtualScroll/CdsVirtualScroll.css +0 -18
  799. package/dist/esm-node/src/components/CdsVirtualScroll/CdsVirtualScroll.vue_vue_type_script_setup_true_lang.mjs +12 -4
  800. package/dist/esm-node/src/components/CdsVirtualScroll/CdsVirtualScrollItem.vue_vue_type_script_setup_true_lang.mjs +1 -1
  801. package/dist/esm-node/src/components/CdsVirtualScroll/api/CdsVirtualScroll.props.mjs +12 -3
  802. package/dist/esm-node/src/components/index.mjs +2 -1
  803. package/dist/esm-node/src/composables/useAppearance/useAppearance.mjs +4 -1
  804. package/dist/esm-node/src/composables/useColor/useColor.mjs +21 -6
  805. package/dist/esm-node/src/composables/useDatetime/useDatetime.mjs +5 -2
  806. package/dist/esm-node/src/composables/useDelay/useDelay.mjs +8 -2
  807. package/dist/esm-node/src/composables/useDimensions/useDimensions.mjs +25 -7
  808. package/dist/esm-node/src/composables/useDirection/useDirection.mjs +4 -1
  809. package/dist/esm-node/src/composables/useDisabled/useDisabled.mjs +4 -1
  810. package/dist/esm-node/src/composables/useDisplay/internal/useDisplay.helpers.mjs +1 -1
  811. package/dist/esm-node/src/composables/useDisplay/useDisplay.mjs +3 -1
  812. package/dist/esm-node/src/composables/useFilter/useFilter.mjs +21 -1
  813. package/dist/esm-node/src/composables/useFocus/useFocus.mjs +13 -4
  814. package/dist/esm-node/src/composables/useFocus/useFocusGroup.mjs +1 -1
  815. package/dist/esm-node/src/composables/useFocus/useFocusTrap.mjs +10 -4
  816. package/dist/esm-node/src/composables/useForm/useForm.mjs +46 -1
  817. package/dist/esm-node/src/composables/useGoTo/useGoTo.mjs +3 -3
  818. package/dist/esm-node/src/composables/useGroup/useGroup.mjs +25 -7
  819. package/dist/esm-node/src/composables/useGroup/useGroupItem.mjs +8 -2
  820. package/dist/esm-node/src/composables/useHydration/useHydration.mjs +2 -2
  821. package/dist/esm-node/src/composables/useIcons/useIcons.mjs +1 -1
  822. package/dist/esm-node/src/composables/useItems/useItems.mjs +33 -9
  823. package/dist/esm-node/src/composables/useLayout/useLayout.mjs +26 -8
  824. package/dist/esm-node/src/composables/useLazy/useLazy.mjs +1 -0
  825. package/dist/esm-node/src/composables/useLoader/useLoader.mjs +4 -1
  826. package/dist/esm-node/src/composables/useLocation/useLocation.mjs +5 -2
  827. package/dist/esm-node/src/composables/useNested/strategies/activeStrategies.mjs +1 -1
  828. package/dist/esm-node/src/composables/useNested/useNested.mjs +46 -13
  829. package/dist/esm-node/src/composables/usePosition/usePosition.mjs +4 -0
  830. package/dist/esm-node/src/composables/useReadonly/useReadonly.mjs +4 -1
  831. package/dist/esm-node/src/composables/useResizeObserver/useResizeObserver.mjs +1 -1
  832. package/dist/esm-node/src/composables/useReveal/useReveal.mjs +4 -1
  833. package/dist/esm-node/src/composables/useRouter/useRouter.mjs +17 -5
  834. package/dist/esm-node/src/composables/useSize/useSize.mjs +5 -2
  835. package/dist/esm-node/src/composables/useStatus/useStatus.mjs +4 -1
  836. package/dist/esm-node/src/composables/useTeleport/useTeleport.mjs +2 -2
  837. package/dist/esm-node/src/composables/useText/useText.mjs +8 -2
  838. package/dist/esm-node/src/composables/useTheme/internal/useTheme.constants.mjs +13 -2
  839. package/dist/esm-node/src/composables/useTheme/internal/useTheme.utils.mjs +2 -2
  840. package/dist/esm-node/src/composables/useTheme/useTheme.mjs +6 -3
  841. package/dist/esm-node/src/composables/useTransition/useTransition.mjs +5 -2
  842. package/dist/esm-node/src/composables/useValidation/useValidation.mjs +27 -7
  843. package/dist/esm-node/src/composables/useVirtual/useVirtual.mjs +14 -5
  844. package/dist/esm-node/src/core/defineComponent.mjs +6 -3
  845. package/dist/esm-node/src/core/getCurrentInstance.mjs +1 -1
  846. package/dist/esm-node/src/core/useDefaults.mjs +4 -2
  847. package/dist/esm-node/src/core/useProxyModel.mjs +1 -1
  848. package/dist/esm-node/src/hooks/createContext/index.mjs +1 -1
  849. package/dist/esm-node/src/hooks/createObserver/index.mjs +1 -1
  850. package/dist/esm-node/src/hooks/useBreakpoints/index.mjs +1 -1
  851. package/dist/esm-node/src/hooks/useEventListener/index.mjs +1 -1
  852. package/dist/esm-node/src/hooks/useHydration/index.mjs +1 -1
  853. package/dist/esm-node/src/hooks/useIntersectionObserver/index.mjs +1 -1
  854. package/dist/esm-node/src/hooks/useResizeObserver/index.mjs +1 -1
  855. package/dist/esm-node/src/icons.mjs +2 -2
  856. package/dist/esm-node/src/locales/adapters/cdsLocaleAdapter.mjs +3 -2
  857. package/dist/esm-node/src/locales/en.mjs +70 -0
  858. package/dist/esm-node/src/locales/index.mjs +18 -0
  859. package/dist/esm-node/src/themes/index.mjs +4 -0
  860. package/dist/esm-node/src/themes/lumaDark.mjs +24 -0
  861. package/dist/esm-node/src/themes/lumaLight.mjs +20 -0
  862. package/dist/esm-node/src/transitions/collapseTransition.mjs +1 -1
  863. package/dist/esm-node/src/transitions/createTransition.mjs +1 -1
  864. package/dist/esm-node/src/transitions/modalTransition.mjs +1 -1
  865. package/dist/esm-node/src/utils/colorsUtils/utils.mjs +2 -2
  866. package/dist/esm-node/src/utils/date/date.mjs +4 -4
  867. package/dist/esm-node/src/utils/dom/classNames.mjs +1 -1
  868. package/dist/esm-node/src/utils/dom/console.mjs +1 -1
  869. package/dist/esm-node/src/utils/dom/dom.mjs +1 -1
  870. package/dist/iife/entry.js +11 -11
  871. package/dist/styles/common.css +1 -1
  872. package/dist/styles/core.css +1 -1
  873. package/dist/styles/tailwind.css +1 -1
  874. package/dist/styles.css +2 -2
  875. package/dist/types/components/CdsApp/api/CdsApp.types.d.ts +4 -1
  876. package/dist/types/components/CdsAutocomplete/CdsAutocomplete.vue.d.ts +59 -20
  877. package/dist/types/components/CdsAutocomplete/api/CdsAutocomplete.types.d.ts +60 -15
  878. package/dist/types/components/CdsAutocomplete/index.d.ts +57 -30
  879. package/dist/types/components/CdsAvatar/api/CdsAvatar.types.d.ts +8 -2
  880. package/dist/types/components/CdsBadge/api/CdsBadge.types.d.ts +8 -2
  881. package/dist/types/components/CdsBreadcrumbs/api/CdsBreadcrumbs.types.d.ts +28 -7
  882. package/dist/types/components/CdsButton/CdsButton.vue.d.ts +4 -1
  883. package/dist/types/components/CdsButton/api/CdsButton.types.d.ts +20 -5
  884. package/dist/types/components/CdsButtonGroup/api/CdsButtonGroup.types.d.ts +4 -1
  885. package/dist/types/components/CdsButtonToggle/CdsButtonToggle.vue.d.ts +20 -5
  886. package/dist/types/components/CdsButtonToggle/api/CdsButtonToggle.types.d.ts +8 -2
  887. package/dist/types/components/CdsCard/CdsCardGroup.vue.d.ts +20 -5
  888. package/dist/types/components/CdsCard/api/CdsCard.types.d.ts +68 -17
  889. package/dist/types/components/CdsCarousel/api/CdsCarousel.types.d.ts +12 -3
  890. package/dist/types/components/CdsCheckbox/api/CdsCheckbox.types.d.ts +8 -2
  891. package/dist/types/components/CdsCheckboxButton/api/CdsCheckboxButton.types.d.ts +8 -0
  892. package/dist/types/components/CdsCombobox/CdsCombobox.vue.d.ts +67 -22
  893. package/dist/types/components/CdsCombobox/api/CdsCombobox.types.d.ts +60 -15
  894. package/dist/types/components/CdsCombobox/index.d.ts +57 -30
  895. package/dist/types/components/CdsCounter/api/CdsCounter.types.d.ts +4 -0
  896. package/dist/types/components/CdsDateInput/CdsDateInput.vue.d.ts +35 -10
  897. package/dist/types/components/CdsDateInput/api/CdsDateInput.types.d.ts +44 -11
  898. package/dist/types/components/CdsDateInput/index.d.ts +57 -30
  899. package/dist/types/components/CdsDatePicker/CdsDatePicker.vue.d.ts +20 -0
  900. package/dist/types/components/CdsDatePicker/api/CdsDatePicker.types.d.ts +28 -7
  901. package/dist/types/components/CdsDefaultsProvider/api/CdsDefaultsProvider.types.d.ts +1 -0
  902. package/dist/types/components/CdsDescription/api/CdsDescription.types.d.ts +4 -0
  903. package/dist/types/components/CdsDivider/CdsDivider.vue.d.ts +4 -0
  904. package/dist/types/components/CdsDrawer/CdsDrawer.vue.d.ts +4 -0
  905. package/dist/types/components/CdsDrawer/api/CdsDrawer.types.d.ts +24 -6
  906. package/dist/types/components/CdsEmptyState/api/CdsEmptyState.types.d.ts +36 -9
  907. package/dist/types/components/CdsExpandablePanel/CdsExpandablePanel.vue.d.ts +16 -4
  908. package/dist/types/components/CdsExpandablePanel/CdsExpandablePanelTitle.vue.d.ts +8 -2
  909. package/dist/types/components/CdsExpandablePanel/CdsExpandablePanels.vue.d.ts +8 -2
  910. package/dist/types/components/CdsExpandablePanel/api/CdsExpandablePanel.types.d.ts +56 -14
  911. package/dist/types/components/CdsField/CdsField.vue.d.ts +18 -2
  912. package/dist/types/components/CdsField/api/CdsField.types.d.ts +33 -7
  913. package/dist/types/components/CdsField/index.d.ts +5 -0
  914. package/dist/types/components/CdsFileInput/CdsFileInput.vue.d.ts +5 -2
  915. package/dist/types/components/CdsFileInput/api/CdsFileInput.types.d.ts +28 -7
  916. package/dist/types/components/CdsFileInput/index.d.ts +15 -6
  917. package/dist/types/components/CdsFileUpload/CdsFileUpload.vue.d.ts +8 -0
  918. package/dist/types/components/CdsFileUpload/api/CdsFileUpload.types.d.ts +116 -29
  919. package/dist/types/components/CdsFooter/api/CdsFooter.types.d.ts +12 -3
  920. package/dist/types/components/CdsForm/api/CdsForm.types.d.ts +20 -5
  921. package/dist/types/components/CdsFunctionalButton/api/CdsFunctionalButton.types.d.ts +8 -2
  922. package/dist/types/components/CdsGrid/api/CdsGrid.types.d.ts +12 -0
  923. package/dist/types/components/CdsHeader/api/CdsHeader.types.d.ts +12 -3
  924. package/dist/types/components/CdsIcon/api/CdsIcon.types.d.ts +4 -1
  925. package/dist/types/components/CdsImage/CdsImage.vue.d.ts +20 -0
  926. package/dist/types/components/CdsImage/api/CdsImage.props.d.ts +4 -1
  927. package/dist/types/components/CdsImage/api/CdsImage.types.d.ts +28 -7
  928. package/dist/types/components/CdsInput/CdsInput.vue.d.ts +44 -11
  929. package/dist/types/components/CdsInput/api/CdsInput.types.d.ts +36 -9
  930. package/dist/types/components/CdsLabel/api/CdsLabel.types.d.ts +4 -0
  931. package/dist/types/components/CdsLayout/api/CdsLayout.types.d.ts +16 -4
  932. package/dist/types/components/CdsLink/api/CdsLink.types.d.ts +8 -2
  933. package/dist/types/components/CdsList/CdsList.vue.d.ts +24 -6
  934. package/dist/types/components/CdsList/CdsListGroup.vue.d.ts +4 -1
  935. package/dist/types/components/CdsList/CdsListItem.vue.d.ts +28 -7
  936. package/dist/types/components/CdsList/CdsListItemAction.vue.d.ts +20 -5
  937. package/dist/types/components/CdsList/CdsListItemDivider.vue.d.ts +4 -0
  938. package/dist/types/components/CdsList/CdsListItemMedia.vue.d.ts +20 -5
  939. package/dist/types/components/CdsList/CdsListSubheader.vue.d.ts +4 -1
  940. package/dist/types/components/CdsList/api/CdsList.types.d.ts +84 -21
  941. package/dist/types/components/CdsList/components/ListChildren.vue.d.ts +16 -4
  942. package/dist/types/components/CdsList/components/ListGroupActivator.vue.d.ts +4 -1
  943. package/dist/types/components/CdsList/index.d.ts +76 -0
  944. package/dist/types/components/CdsMain/api/CdsMain.types.d.ts +4 -1
  945. package/dist/types/components/CdsMenu/api/CdsMenu.types.d.ts +12 -0
  946. package/dist/types/components/CdsMessages/api/CdsMessages.types.d.ts +8 -0
  947. package/dist/types/components/CdsModal/api/CdsModal.types.d.ts +12 -3
  948. package/dist/types/components/CdsNotification/api/CdsNotification.types.d.ts +36 -9
  949. package/dist/types/components/CdsNotificationAlert/api/CdsNotificationAlert.types.d.ts +40 -10
  950. package/dist/types/components/CdsOtpInput/CdsOtpInput.vue.d.ts +20 -5
  951. package/dist/types/components/CdsOtpInput/api/CdsOtpInput.types.d.ts +36 -9
  952. package/dist/types/components/CdsOverlay/CdsOverlay.vue.d.ts +44 -11
  953. package/dist/types/components/CdsOverlay/api/CdsOverlay.types.d.ts +28 -3
  954. package/dist/types/components/CdsPage/api/CdsPage.types.d.ts +4 -1
  955. package/dist/types/components/CdsPagination/CdsPagination.vue.d.ts +16 -0
  956. package/dist/types/components/CdsPagination/api/CdsPagination.types.d.ts +44 -11
  957. package/dist/types/components/CdsProgressBar/api/CdsProgressBar.types.d.ts +8 -0
  958. package/dist/types/components/CdsProgressCircle/api/CdsProgressCircle.types.d.ts +4 -1
  959. package/dist/types/components/CdsRadioGroup/api/CdsRadioGroup.types.d.ts +8 -2
  960. package/dist/types/components/CdsResponsive/api/CdsResponsive.types.d.ts +8 -2
  961. package/dist/types/components/CdsSelect/CdsSelect.vue.d.ts +51 -18
  962. package/dist/types/components/CdsSelect/api/CdsSelect.types.d.ts +60 -15
  963. package/dist/types/components/CdsSelect/index.d.ts +57 -30
  964. package/dist/types/components/CdsSelectionControl/CdsSelectionControl.vue.d.ts +8 -0
  965. package/dist/types/components/CdsSelectionControl/api/CdsSelectionControl.types.d.ts +12 -3
  966. package/dist/types/components/CdsSelectionControlGroup/api/CdsSelectionControlGroup.types.d.ts +8 -0
  967. package/dist/types/components/CdsSkeletonLoader/api/CdsSkeletonLoader.types.d.ts +4 -1
  968. package/dist/types/components/CdsSlideGroup/CdsSlideGroup.vue.d.ts +24 -6
  969. package/dist/types/components/CdsSlideGroup/api/CdsSlideGroup.types.d.ts +20 -5
  970. package/dist/types/components/CdsSlideView/CdsSlideView.vue.d.ts +4 -0
  971. package/dist/types/components/CdsSlideView/CdsSlideViewItem.vue.d.ts +4 -0
  972. package/dist/types/components/CdsSlideView/api/CdsSlideView.types.d.ts +31 -0
  973. package/dist/types/components/CdsStages/CdsStages.vue.d.ts +8 -0
  974. package/dist/types/components/CdsStatus/api/CdsStatus.types.d.ts +4 -1
  975. package/dist/types/components/CdsSteps/CdsSteps.vue.d.ts +8 -0
  976. package/dist/types/components/CdsSteps/api/CdsSteps.types.d.ts +72 -18
  977. package/dist/types/components/CdsSurface/api/CdsSurface.types.d.ts +4 -1
  978. package/dist/types/components/CdsTable/CdsTable.vue.d.ts +4 -0
  979. package/dist/types/components/CdsTable/api/CdsTable.types.d.ts +96 -24
  980. package/dist/types/components/CdsTabs/api/CdsTabs.types.d.ts +32 -0
  981. package/dist/types/components/CdsTag/api/CdsTag.types.d.ts +64 -16
  982. package/dist/types/components/CdsTagGroup/CdsTagGroup.vue.d.ts +20 -5
  983. package/dist/types/components/CdsTagGroup/api/CdsTagGroup.types.d.ts +8 -2
  984. package/dist/types/components/CdsTextArea/CdsTextArea.vue.d.ts +5 -2
  985. package/dist/types/components/CdsTextArea/api/CdsTextArea.types.d.ts +24 -6
  986. package/dist/types/components/CdsTextArea/index.d.ts +15 -6
  987. package/dist/types/components/CdsTextInput/CdsTextInput.vue.d.ts +7 -4
  988. package/dist/types/components/CdsTextInput/api/CdsTextInput.types.d.ts +44 -11
  989. package/dist/types/components/CdsTextInput/index.d.ts +20 -11
  990. package/dist/types/components/CdsTimePicker/CdsTimePicker.vue.d.ts +24 -0
  991. package/dist/types/components/CdsTimePicker/api/CdsTimePicker.types.d.ts +4 -1
  992. package/dist/types/components/CdsToast/api/CdsToast.types.d.ts +40 -10
  993. package/dist/types/components/CdsToastQueue/CdsToastQueue.vue.d.ts +4 -1
  994. package/dist/types/components/CdsToastQueue/api/CdsToastQueue.types.d.ts +20 -5
  995. package/dist/types/components/CdsToggle/api/CdsToggle.types.d.ts +28 -7
  996. package/dist/types/components/CdsToolbar/api/CdsToolbar.types.d.ts +8 -2
  997. package/dist/types/components/CdsTooltip/api/CdsTooltip.types.d.ts +4 -0
  998. package/dist/types/components/CdsTree/CdsTree.vue.d.ts +16 -0
  999. package/dist/types/components/CdsTree/api/CdsTree.types.d.ts +84 -21
  1000. package/dist/types/components/CdsUploader/CdsUploader.vue.d.ts +8 -0
  1001. package/dist/types/components/CdsUploader/api/CdsUploader.types.d.ts +68 -17
  1002. package/dist/types/components/CdsVirtualScroll/CdsVirtualScroll.vue.d.ts +8 -0
  1003. package/dist/types/components/CdsVirtualScroll/api/CdsVirtualScroll.types.d.ts +20 -5
  1004. package/dist/types/composables/useForm/useForm.d.ts +33 -0
  1005. package/dist/types/composables/useLayout/context.d.ts +61 -0
  1006. package/dist/types/composables/useNested/useNested.d.ts +8 -2
  1007. package/dist/types/composables/useTheme/internal/useTheme.constants.d.ts +1 -1
  1008. package/dist/types/entry.d.ts +135 -126
  1009. package/dist/types/locales/index.d.ts +1 -0
  1010. package/dist/types/themes/index.d.ts +4 -0
  1011. package/dist/types/themes/lumaDark.d.ts +190 -0
  1012. package/dist/types/themes/lumaLight.d.ts +190 -0
  1013. package/dist/types/utils/date/date.d.ts +1 -1
  1014. package/llms/llms-components.txt +8861 -10675
  1015. package/llms/llms-full.txt +11347 -11488
  1016. package/llms/llms-guides.txt +1942 -483
  1017. package/llms/llms-migration.txt +19 -47
  1018. package/llms/llms-tokens.txt +285 -43
  1019. package/llms/llms.txt +110 -109
  1020. package/package.json +30 -10
  1021. package/src/components/CdsApp/CdsApp.scss +43 -0
  1022. package/src/components/CdsApp/styles/_CdsApp.variables.scss +2 -0
  1023. package/src/components/CdsAutocomplete/CdsAutocomplete.scss +158 -0
  1024. package/src/components/CdsAutocomplete/styles/_CdsAutocomplete.variables.scss +9 -0
  1025. package/src/components/CdsAvatar/CdsAvatar.scss +42 -0
  1026. package/src/components/CdsAvatar/styles/_CdsAvatar.variables.scss +22 -0
  1027. package/src/components/CdsBadge/CdsBadge.scss +69 -0
  1028. package/src/components/CdsBadge/styles/_CdsBadge.variables.scss +22 -0
  1029. package/src/components/CdsBreadcrumbs/CdsBreadcrumbs.scss +49 -0
  1030. package/src/components/CdsBreadcrumbs/styles/_CdsBreadcrumbs.variables.scss +14 -0
  1031. package/src/components/CdsButton/CdsButton.scss +138 -0
  1032. package/src/components/CdsButton/styles/_CdsButton.mixins.scss +76 -0
  1033. package/src/components/CdsButton/styles/_CdsButton.variables.scss +180 -0
  1034. package/src/components/CdsButtonGroup/CdsButtonGroup.scss +62 -0
  1035. package/src/components/CdsButtonGroup/styles/_CdsButtonGroup.variables.scss +7 -0
  1036. package/src/components/CdsButtonToggle/CdsButtonToggle.scss +19 -0
  1037. package/src/components/CdsButtonToggle/styles/_CdsButtonToggle.variables.scss +3 -0
  1038. package/src/components/CdsCard/CdsCard.scss +194 -0
  1039. package/src/components/CdsCard/styles/CdsCard.variables.scss +36 -0
  1040. package/src/components/CdsCarousel/CdsCarousel.scss +76 -0
  1041. package/src/components/CdsCarousel/styles/_CdsCarousel.variables.scss +7 -0
  1042. package/src/components/CdsCheckbox/CdsCheckbox.scss +20 -0
  1043. package/src/components/CdsCheckbox/styles/_CdsCheckbox.mixins.scss +24 -0
  1044. package/src/components/CdsCheckbox/styles/_CdsCheckbox.variables.scss +8 -0
  1045. package/src/components/CdsCheckboxButton/CdsCheckboxButton.scss +78 -0
  1046. package/src/components/CdsCheckboxButton/styles/_CdsCheckboxButton.variables.scss +46 -0
  1047. package/src/components/CdsCombobox/CdsCombobox.scss +158 -0
  1048. package/src/components/CdsCombobox/styles/_CdsCombobox.variables.scss +9 -0
  1049. package/src/components/CdsCounter/CdsCounter.scss +11 -0
  1050. package/src/components/CdsCounter/styles/_CdsCounter.variables.scss +1 -0
  1051. package/src/components/CdsDateInput/CdsDateInput.scss +28 -0
  1052. package/src/components/CdsDateInput/styles/_CdsDateInput.variables.scss +6 -0
  1053. package/src/components/CdsDatePicker/CdsDatePicker.scss +574 -0
  1054. package/src/components/CdsDatePicker/styles/_CdsDatePicker.variables.scss +56 -0
  1055. package/src/components/CdsDescription/CdsDescription.scss +12 -0
  1056. package/src/components/CdsDescription/styles/_CdsDescription.variables.scss +1 -0
  1057. package/src/components/CdsDivider/CdsDivider.scss +83 -0
  1058. package/src/components/CdsDivider/styles/_CdsDivider.variables.scss +28 -0
  1059. package/src/components/CdsDrawer/CdsDrawer.scss +144 -0
  1060. package/src/components/CdsDrawer/styles/_CdsDrawer.variables.scss +17 -0
  1061. package/src/components/CdsEmptyState/CdsEmptyState.scss +103 -0
  1062. package/src/components/CdsEmptyState/styles/_CdsEmptyState.variables.scss +15 -0
  1063. package/src/components/CdsExpandablePanel/CdsExpandablePanel.scss +221 -0
  1064. package/src/components/CdsExpandablePanel/styles/_CdsExpandablePanel.variables.scss +24 -0
  1065. package/src/components/CdsField/CdsField.scss +209 -0
  1066. package/src/components/CdsField/styles/_CdsField.mixins.scss +39 -0
  1067. package/src/components/CdsField/styles/_CdsField.variables.scss +84 -0
  1068. package/src/components/CdsFileInput/CdsFileInput.scss +40 -0
  1069. package/src/components/CdsFileInput/styles/_CdsFileInput.variables.scss +5 -0
  1070. package/src/components/CdsFileUpload/CdsFileUpload.scss +173 -0
  1071. package/src/components/CdsFileUpload/styles/_CdsFileUpload.variables.scss +40 -0
  1072. package/src/components/CdsFooter/CdsFooter.scss +36 -0
  1073. package/src/components/CdsFooter/styles/_CdsFooter.variables.scss +4 -0
  1074. package/src/components/CdsForm/CdsForm.scss +24 -0
  1075. package/src/components/CdsForm/styles/_CdsForm.variables.scss +5 -0
  1076. package/src/components/CdsFunctionalButton/CdsFunctionalButton.scss +49 -0
  1077. package/src/components/CdsFunctionalButton/styles/_CdsFunctionalButton.variables.scss +25 -0
  1078. package/src/components/CdsGrid/components/CSSGrid.scss +3 -0
  1079. package/src/components/CdsGrid/components/FlexGrid.scss +3 -0
  1080. package/src/components/CdsHeader/CdsHeader.scss +36 -0
  1081. package/src/components/CdsHeader/styles/_CdsHeader.variables.scss +3 -0
  1082. package/src/components/CdsHighlight/CdsHighlight.scss +16 -0
  1083. package/src/components/CdsHighlight/styles/_CdsHighlight.variables.scss +8 -0
  1084. package/src/components/CdsIcon/CdsIcon.scss +54 -0
  1085. package/src/components/CdsIcon/styles/_CdsIcon.variables.scss +20 -0
  1086. package/src/components/CdsImage/CdsImage.scss +62 -0
  1087. package/src/components/CdsImage/styles/_CdsImage.variables.scss +4 -0
  1088. package/src/components/CdsInput/CdsInput.scss +108 -0
  1089. package/src/components/CdsInput/styles/_CdsInput.mixins.scss +54 -0
  1090. package/src/components/CdsInput/styles/_CdsInput.variables.scss +98 -0
  1091. package/src/components/CdsLabel/CdsLabel.scss +23 -0
  1092. package/src/components/CdsLabel/styles/_CdsLabel.variables.scss +2 -0
  1093. package/src/components/CdsLayout/CdsLayout.scss +61 -0
  1094. package/src/components/CdsLayout/styles/_CdsLayout.variables.scss +2 -0
  1095. package/src/components/CdsLink/CdsLink.scss +33 -0
  1096. package/src/components/CdsLink/styles/_CdsLink.variables.scss +6 -0
  1097. package/src/components/CdsList/CdsList.scss +104 -0
  1098. package/src/components/CdsList/CdsListItem.scss +330 -0
  1099. package/src/components/CdsList/styles/_CdsList.variables.scss +115 -0
  1100. package/src/components/CdsLoader/CdsLoader.scss +78 -0
  1101. package/src/components/CdsLoader/styles/_CdsLoader.mixins.scss +9 -0
  1102. package/src/components/CdsLoader/styles/_CdsLoader.variables.scss +40 -0
  1103. package/src/components/CdsMain/CdsMain.scss +7 -0
  1104. package/src/components/CdsMenu/CdsMenu.scss +33 -0
  1105. package/src/components/CdsMenu/styles/_CdsMenu.variables.scss +11 -0
  1106. package/src/components/CdsMessages/CdsMessages.scss +20 -0
  1107. package/src/components/CdsMessages/styles/_CdsMessages.variables.scss +5 -0
  1108. package/src/components/CdsModal/CdsModal.scss +106 -0
  1109. package/src/components/CdsModal/styles/_CdsModal.variables.scss +12 -0
  1110. package/src/components/CdsNotification/CdsNotification.scss +99 -0
  1111. package/src/components/CdsNotification/styles/_CdsNotification.variables.scss +13 -0
  1112. package/src/components/CdsNotificationAlert/CdsNotificationAlert.scss +48 -0
  1113. package/src/components/CdsNotificationAlert/styles/_CdsNotificationAlert.variables.scss +5 -0
  1114. package/src/components/CdsOtpInput/CdsOtpInput.scss +192 -0
  1115. package/src/components/CdsOtpInput/styles/_CdsOtpInput.variables.scss +31 -0
  1116. package/src/components/CdsOverlay/CdsOverlay.scss +74 -0
  1117. package/src/components/CdsOverlay/styles/_CdsOverlay.variables.scss +2 -0
  1118. package/src/components/CdsPage/CdsPage.scss +9 -0
  1119. package/src/components/CdsPagination/CdsPagination.scss +69 -0
  1120. package/src/components/CdsPagination/styles/_CdsPagination.variables.scss +10 -0
  1121. package/src/components/CdsProgressBar/CdsProgressBar.scss +285 -0
  1122. package/src/components/CdsProgressBar/styles/_CdsProgressBar.variables.scss +23 -0
  1123. package/src/components/CdsProgressCircle/CdsProgressCircle.scss +116 -0
  1124. package/src/components/CdsProgressCircle/styles/_CdsProgressCircle.variables.scss +21 -0
  1125. package/src/components/CdsRadio/CdsRadio.scss +42 -0
  1126. package/src/components/CdsRadio/styles/_CdsRadio.variables.scss +26 -0
  1127. package/src/components/CdsRadioGroup/CdsRadioGroup.scss +24 -0
  1128. package/src/components/CdsRadioGroup/styles/_CdsRadioGroup.variables.scss +4 -0
  1129. package/src/components/CdsResponsive/CdsResponsive.scss +33 -0
  1130. package/src/components/CdsResponsive/styles/_CdsResponsive.variables.scss +3 -0
  1131. package/src/components/CdsSelect/CdsSelect.scss +149 -0
  1132. package/src/components/CdsSelect/styles/_CdsSelect.variables.scss +7 -0
  1133. package/src/components/CdsSelectionControl/CdsSelectionControl.scss +104 -0
  1134. package/src/components/CdsSelectionControlGroup/CdsSelectionControlGroup.scss +17 -0
  1135. package/src/components/CdsSkeletonLoader/CdsSkeletonLoader.scss +292 -0
  1136. package/src/components/CdsSkeletonLoader/styles/_CdsSkeletonLoader.variables.scss +52 -0
  1137. package/src/components/CdsSlideGroup/CdsSlideGroup.scss +63 -0
  1138. package/src/components/CdsSlideGroup/styles/_CdsSlideGroup.variables.scss +1 -0
  1139. package/src/components/CdsSlideView/CdsSlideView.scss +183 -0
  1140. package/src/components/CdsSlideView/styles/_CdsSlideView.variables.scss +4 -0
  1141. package/src/components/CdsStages/CdsStages.scss +109 -0
  1142. package/src/components/CdsStages/styles/_CdsStages.variables.scss +17 -0
  1143. package/src/components/CdsStatus/CdsStatus.scss +49 -0
  1144. package/src/components/CdsStatus/styles/_CdsStatus.variables.scss +7 -0
  1145. package/src/components/CdsSteps/CdsSteps.scss +216 -0
  1146. package/src/components/CdsSteps/styles/_CdsSteps.variables.scss +42 -0
  1147. package/src/components/CdsSurface/CdsSurface.scss +16 -0
  1148. package/src/components/CdsTable/CdsTable.scss +1140 -0
  1149. package/src/components/CdsTable/styles/_CdsTable.mixins.scss +86 -0
  1150. package/src/components/CdsTable/styles/_CdsTable.variables.scss +82 -0
  1151. package/src/components/CdsTabs/CdsTabs.scss +94 -0
  1152. package/src/components/CdsTabs/styles/_CdsTabs.variables.scss +30 -0
  1153. package/src/components/CdsTag/CdsTag.scss +141 -0
  1154. package/src/components/CdsTag/styles/_CdsTag.variables.scss +57 -0
  1155. package/src/components/CdsTagGroup/CdsTagGroup.scss +32 -0
  1156. package/src/components/CdsTagGroup/styles/_CdsTagGroup.variables.scss +8 -0
  1157. package/src/components/CdsTextArea/CdsTextArea.scss +129 -0
  1158. package/src/components/CdsTextArea/styles/_CdsTextArea.variables.scss +6 -0
  1159. package/src/components/CdsTextInput/CdsTextInput.scss +84 -0
  1160. package/src/components/CdsTextInput/styles/_CdsTextInput.variables.scss +7 -0
  1161. package/src/components/CdsTimePicker/CdsTimePicker.scss +93 -0
  1162. package/src/components/CdsTimePicker/styles/_CdsTimePicker.variables.scss +13 -0
  1163. package/src/components/CdsToast/CdsToast.scss +207 -0
  1164. package/src/components/CdsToast/styles/_CdsToast.variables.scss +16 -0
  1165. package/src/components/CdsToggle/CdsToggle.scss +192 -0
  1166. package/src/components/CdsToggle/styles/_CdsToggle.variables.scss +81 -0
  1167. package/src/components/CdsToolbar/CdsToolbar.scss +72 -0
  1168. package/src/components/CdsToolbar/styles/_CdsToolbar.variables.scss +3 -0
  1169. package/src/components/CdsTooltip/CdsTooltip.scss +111 -0
  1170. package/src/components/CdsTooltip/styles/_CdsTooltip.variables.scss +15 -0
  1171. package/src/components/CdsTree/CdsTree.scss +290 -0
  1172. package/src/components/CdsTree/styles/_CdsTree.variables.scss +29 -0
  1173. package/src/components/CdsUploader/CdsUploader.scss +109 -0
  1174. package/src/components/CdsUploader/styles/_CdsUploader.variables.scss +16 -0
  1175. package/src/components/CdsVirtualScroll/CdsVirtualScroll.scss +16 -0
  1176. package/src/components/CdsVirtualScroll/styles/_CdsVirtualScroll.variables.scss +3 -0
  1177. package/src/styles/component-settings.scss +75 -0
  1178. package/src/styles/generic/_fonts.scss +2 -2
  1179. package/src/styles/settings/_index.scss +6 -0
  1180. package/src/styles/tools/_absolute.sass +9 -0
  1181. package/src/styles/tools/_border.sass +10 -0
  1182. package/src/styles/tools/_motion.scss +11 -17
  1183. package/src/styles/utilities/grid/_config.scss +0 -1
  1184. package/src/themes/css/lumaDark.css +184 -0
  1185. package/src/themes/css/lumaLight.css +184 -0
  1186. package/src/themes/index.ts +4 -0
  1187. package/src/themes/lumaDark.ts +21 -0
  1188. package/src/themes/lumaLight.ts +17 -0
  1189. package/dist/styles/breakpoints.css +0 -1
  1190. package/dist/styles/index.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useItems.js","sources":["../../../../../src/composables/useItems/useItems.ts"],"sourcesContent":["import { propsFactory } from '@cds/core';\nimport {\n deepEqual,\n getPropertyFromItem,\n isPrimitive,\n omit,\n pick,\n type Primitive,\n type SelectItemKey,\n type ValueComparator\n} from '@cds/utils';\nimport { computed, type ExtractPublicPropTypes, type PropType, shallowRef, watchEffect } from 'vue';\n\nimport type { ListItem } from './internal/useItems.types';\n\nexport const defineItemsProps = propsFactory(\n {\n /** Массив элементов для отображения */\n items: {\n type: Array as PropType<any[]>,\n default: () => []\n },\n /** Свойство объекта, используемое как заголовок элемента, либо функция для его получения */\n itemTitle: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'title'\n },\n /** Свойство объекта, используемое как значение элемента, либо функция для его получения */\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value'\n },\n /** Свойство объекта, содержащее дочерние элементы, либо функция для их получения */\n itemChildren: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'children'\n },\n /** Свойство объекта, содержащее пропсы для элемента, либо функция для их получения */\n itemProps: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'props'\n },\n /** Свойство объекта, определяющее тип элемента (`item`, `divider`, `subheader`), либо функция для его получения */\n itemType: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'type'\n },\n /** Возвращать в значении модели объект вместо массива */\n returnObject: Boolean,\n /** Функция сравнения значений элементов для определения выбранного состояния */\n valueComparator: Function as PropType<ValueComparator>\n },\n 'list-items'\n);\n\nexport interface ItemProps extends ExtractPublicPropTypes<ReturnType<typeof defineItemsProps>> {}\n\nconst itemTypes = new Set(['item', 'divider', 'subheader']);\n\nexport function transformItem(props: Pick<ItemProps, (typeof transformItem.neededProps)[number]>, item: any): ListItem {\n const title = getPropertyFromItem(item, props.itemTitle, item);\n const value = getPropertyFromItem(item, props.itemValue, title);\n const children = getPropertyFromItem(item, props.itemChildren);\n const itemProps =\n props.itemProps === true\n ? typeof item === 'object' && item != null && !Array.isArray(item)\n ? 'children' in item\n ? omit(item, ['children'])\n : item\n : undefined\n : getPropertyFromItem(item, props.itemProps);\n\n let type = getPropertyFromItem(item, props.itemType, 'item');\n if (!itemTypes.has(type)) {\n type = 'item';\n }\n\n const _props = {\n title,\n value,\n ...itemProps\n };\n\n return {\n type,\n title: String(_props.title ?? ''),\n value: _props.value,\n props: _props,\n children: type === 'item' && Array.isArray(children) ? transformItems(props, children) : undefined,\n raw: item\n };\n}\n\ntransformItem.neededProps = ['itemTitle', 'itemValue', 'itemChildren', 'itemProps', 'itemType'] as const;\n\nexport function transformItems(\n props: Pick<ItemProps, (typeof transformItem.neededProps)[number]>,\n items: ItemProps['items']\n) {\n // avoid reactive access in the loop\n const _props = pick(props, [...transformItem.neededProps]);\n\n const array: ListItem[] = [];\n for (const item of items ?? []) {\n array.push(transformItem(_props, item));\n }\n\n return array;\n}\n\nexport function useItems(props: ItemProps) {\n const items = computed(() => transformItems(props, props.items));\n const hasNullItem = computed(() => items.value.some((item) => item.value === null));\n\n const itemsMap = shallowRef<Map<Primitive, ListItem[]>>(new Map());\n const keylessItems = shallowRef<ListItem[]>([]);\n\n watchEffect(() => {\n const _items = items.value;\n const map = new Map();\n const keyless = [];\n for (let i = 0; i < _items.length; i++) {\n const item = _items[i];\n if (isPrimitive(item.value) || item.value === null) {\n let values = map.get(item.value);\n if (!values) {\n values = [];\n map.set(item.value, values);\n }\n values.push(item);\n } else {\n keyless.push(item);\n }\n }\n itemsMap.value = map;\n keylessItems.value = keyless;\n });\n\n function transformIn(value: any[]): ListItem[] {\n // Cache unrefed values outside the loop,\n // proxy getters can be slow when you call them a billion times\n const _items = itemsMap.value;\n const _allItems = items.value;\n const _keylessItems = keylessItems.value;\n const _hasNullItem = hasNullItem.value;\n const _returnObject = props.returnObject;\n const hasValueComparator = !!props.valueComparator;\n const valueComparator = props.valueComparator || deepEqual;\n const _props = pick(props, [...transformItem.neededProps]);\n\n const returnValue: ListItem[] = [];\n main: for (const v of value) {\n // When the model value is null, return an InternalItem\n // based on null only if null is one of the items\n if (!_hasNullItem && v === null) continue;\n\n // String model value means value is a custom input value from combobox\n // Don't look up existing items if the model value is a string\n if (_returnObject && typeof v === 'string') {\n returnValue.push(transformItem(_props, v));\n continue;\n }\n\n // Fast path, items with primitive values and no\n // custom valueComparator can use a constant-time\n // map lookup instead of searching the items array\n const fastItems = _items.get(v);\n\n // Slow path, always use valueComparator.\n // This is O(n^2) so we really don't want to\n // do it for more than a couple hundred items.\n if (hasValueComparator || !fastItems) {\n for (const item of hasValueComparator ? _allItems : _keylessItems) {\n if (valueComparator(v, item.value)) {\n returnValue.push(item);\n continue main;\n }\n }\n returnValue.push(transformItem(_props, v));\n continue;\n }\n\n returnValue.push(...fastItems);\n }\n\n return returnValue;\n }\n\n function transformOut(value: ListItem[]): any[] {\n return props.returnObject ? value.map(({ raw }) => raw) : value.map(({ value }) => value);\n }\n\n return { items, transformIn, transformOut };\n}\n"],"names":["value"],"mappings":"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"}
1
+ {"version":3,"file":"useItems.js","sources":["../../../../../src/composables/useItems/useItems.ts"],"sourcesContent":["import { propsFactory } from '@cds/core';\nimport {\n deepEqual,\n getPropertyFromItem,\n isPrimitive,\n omit,\n pick,\n type Primitive,\n type SelectItemKey,\n type ValueComparator\n} from '@cds/utils';\nimport { computed, type ExtractPublicPropTypes, type PropType, shallowRef, watchEffect } from 'vue';\n\nimport type { ListItem } from './internal/useItems.types';\n\nexport const defineItemsProps = propsFactory(\n {\n /**\n * Массив элементов для отображения\n * @en Array of items to display\n */\n items: {\n type: Array as PropType<any[]>,\n default: () => []\n },\n /**\n * Свойство объекта, используемое как заголовок элемента, либо функция для его получения\n * @en Object field used as the item title, or a function that returns it\n */\n itemTitle: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'title'\n },\n /**\n * Свойство объекта, используемое как значение элемента, либо функция для его получения\n * @en Object field used as the item value, or a function that returns it\n */\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value'\n },\n /**\n * Свойство объекта, содержащее дочерние элементы, либо функция для их получения\n * @en Object field that holds the child items, or a function that returns them\n */\n itemChildren: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'children'\n },\n /**\n * Свойство объекта, содержащее пропсы для элемента, либо функция для их получения\n * @en Object field that holds the props of the item, or a function that returns them\n */\n itemProps: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'props'\n },\n /**\n * Свойство объекта, определяющее тип элемента (`item`, `divider`, `subheader`), либо функция для его получения\n * @en Object field that defines the item type (`item`, `divider`, `subheader`), or a function that returns it\n */\n itemType: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'type'\n },\n /**\n * Возвращать в значении модели объект вместо массива\n * @en Return an object in the model value instead of an array\n */\n returnObject: Boolean,\n /**\n * Функция сравнения значений элементов для определения выбранного состояния\n * @en Function that compares item values to determine the selected state\n */\n valueComparator: Function as PropType<ValueComparator>\n },\n 'list-items'\n);\n\nexport interface ItemProps extends ExtractPublicPropTypes<ReturnType<typeof defineItemsProps>> {}\n\nconst itemTypes = new Set(['item', 'divider', 'subheader']);\n\nexport function transformItem(props: Pick<ItemProps, (typeof transformItem.neededProps)[number]>, item: any): ListItem {\n const title = getPropertyFromItem(item, props.itemTitle, item);\n const value = getPropertyFromItem(item, props.itemValue, title);\n const children = getPropertyFromItem(item, props.itemChildren);\n const itemProps =\n props.itemProps === true\n ? typeof item === 'object' && item != null && !Array.isArray(item)\n ? 'children' in item\n ? omit(item, ['children'])\n : item\n : undefined\n : getPropertyFromItem(item, props.itemProps);\n\n let type = getPropertyFromItem(item, props.itemType, 'item');\n if (!itemTypes.has(type)) {\n type = 'item';\n }\n\n const _props = {\n title,\n value,\n ...itemProps\n };\n\n return {\n type,\n title: String(_props.title ?? ''),\n value: _props.value,\n props: _props,\n children: type === 'item' && Array.isArray(children) ? transformItems(props, children) : undefined,\n raw: item\n };\n}\n\ntransformItem.neededProps = ['itemTitle', 'itemValue', 'itemChildren', 'itemProps', 'itemType'] as const;\n\nexport function transformItems(\n props: Pick<ItemProps, (typeof transformItem.neededProps)[number]>,\n items: ItemProps['items']\n) {\n // avoid reactive access in the loop\n const _props = pick(props, [...transformItem.neededProps]);\n\n const array: ListItem[] = [];\n for (const item of items ?? []) {\n array.push(transformItem(_props, item));\n }\n\n return array;\n}\n\nexport function useItems(props: ItemProps) {\n const items = computed(() => transformItems(props, props.items));\n const hasNullItem = computed(() => items.value.some((item) => item.value === null));\n\n const itemsMap = shallowRef<Map<Primitive, ListItem[]>>(new Map());\n const keylessItems = shallowRef<ListItem[]>([]);\n\n watchEffect(() => {\n const _items = items.value;\n const map = new Map();\n const keyless = [];\n for (let i = 0; i < _items.length; i++) {\n const item = _items[i];\n if (isPrimitive(item.value) || item.value === null) {\n let values = map.get(item.value);\n if (!values) {\n values = [];\n map.set(item.value, values);\n }\n values.push(item);\n } else {\n keyless.push(item);\n }\n }\n itemsMap.value = map;\n keylessItems.value = keyless;\n });\n\n function transformIn(value: any[]): ListItem[] {\n // Cache unrefed values outside the loop,\n // proxy getters can be slow when you call them a billion times\n const _items = itemsMap.value;\n const _allItems = items.value;\n const _keylessItems = keylessItems.value;\n const _hasNullItem = hasNullItem.value;\n const _returnObject = props.returnObject;\n const hasValueComparator = !!props.valueComparator;\n const valueComparator = props.valueComparator || deepEqual;\n const _props = pick(props, [...transformItem.neededProps]);\n\n const returnValue: ListItem[] = [];\n main: for (const v of value) {\n // When the model value is null, return an InternalItem\n // based on null only if null is one of the items\n if (!_hasNullItem && v === null) continue;\n\n // String model value means value is a custom input value from combobox\n // Don't look up existing items if the model value is a string\n if (_returnObject && typeof v === 'string') {\n returnValue.push(transformItem(_props, v));\n continue;\n }\n\n // Fast path, items with primitive values and no\n // custom valueComparator can use a constant-time\n // map lookup instead of searching the items array\n const fastItems = _items.get(v);\n\n // Slow path, always use valueComparator.\n // This is O(n^2) so we really don't want to\n // do it for more than a couple hundred items.\n if (hasValueComparator || !fastItems) {\n for (const item of hasValueComparator ? _allItems : _keylessItems) {\n if (valueComparator(v, item.value)) {\n returnValue.push(item);\n continue main;\n }\n }\n returnValue.push(transformItem(_props, v));\n continue;\n }\n\n returnValue.push(...fastItems);\n }\n\n return returnValue;\n }\n\n function transformOut(value: ListItem[]): any[] {\n return props.returnObject ? value.map(({ raw }) => raw) : value.map(({ value }) => value);\n }\n\n return { items, transformIn, transformOut };\n}\n"],"names":["value"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sources":["../../../../../src/composables/useLayout/context.ts"],"sourcesContent":["import { createContext } from '@cds/hooks/createContext';\nimport type { ComputedRef, Ref } from 'vue';\n\n/**\n * Состояние наблюдателя за скроллом области макета.\n */\nexport interface ScrollObserver {\n position: {\n top: number;\n left: number;\n };\n direction: 'up' | 'down' | 'left' | 'right';\n directionChanged: boolean;\n delta: {\n top: number;\n left: number;\n };\n inflectionPoint: {\n top: number;\n left: number;\n };\n}\n\n/**\n * Описание одной части макета (header / footer / left / right).\n */\nexport interface LayoutPart {\n /** Размер части в пикселях. */\n size: number;\n /** Смещение части относительно края макета. */\n offset: number;\n /** Резервирует ли часть пространство в потоке. */\n space: boolean;\n}\n\n/**\n * Контекст макета, предоставляемый `CdsLayout` и потребляемый\n * `CdsHeader`, `CdsFooter`, `CdsDrawer`, `CdsMain`, `CdsPage`.\n */\nexport interface LayoutContext {\n instances: Record<string, unknown>;\n view: ComputedRef<string>;\n isContainer: ComputedRef<boolean>;\n rootRef: Ref<HTMLElement | undefined>;\n height: Ref<number>;\n containerHeight: Ref<number>;\n scrollbarWidth: Ref<number>;\n totalWidth: ComputedRef<number>;\n rows: ComputedRef<{\n top: string[];\n middle: string[];\n bottom: string[];\n }>;\n header: LayoutPart;\n right: LayoutPart;\n footer: LayoutPart;\n left: LayoutPart;\n scroll: Ref<ScrollObserver>;\n animate: () => void;\n update: (part: 'header' | 'footer' | 'left' | 'right', prop: keyof LayoutPart, value: number | boolean) => void;\n}\n\nexport const CDS_LAYOUT_CONTEXT_KEY = 'cds:layout';\n\n/**\n * Возвращает контекст макета. Вне `CdsLayout` отдаёт пустой объект —\n * потребители проверяют это и предупреждают разработчика.\n */\nexport const [useInjectLayout, provideLayout] = createContext<LayoutContext>(\n CDS_LAYOUT_CONTEXT_KEY,\n {} as LayoutContext\n);\n"],"names":[],"mappings":";AA8DO,MAAM,yBAAyB;AAM/B,MAAM,CAAC,iBAAiB,aAAa,IAAI;AAAA,EAC9C;AAAA,EACA,CAAA;AACF;"}
1
+ {"version":3,"file":"context.js","sources":["../../../../../src/composables/useLayout/context.ts"],"sourcesContent":["import { createContext } from '@cds/hooks/createContext';\nimport type { ComputedRef, Ref } from 'vue';\n\n/**\n * Состояние наблюдателя за скроллом области макета.\n */\nexport interface ScrollObserver {\n position: {\n top: number;\n left: number;\n };\n direction: 'up' | 'down' | 'left' | 'right';\n directionChanged: boolean;\n delta: {\n top: number;\n left: number;\n };\n inflectionPoint: {\n top: number;\n left: number;\n };\n}\n\n/**\n * Описание одной части макета (header / footer / left / right).\n */\nexport interface LayoutPart {\n /** Размер части в пикселях. */\n size: number;\n /** Смещение части относительно края макета. */\n offset: number;\n /** Резервирует ли часть пространство в потоке. */\n space: boolean;\n}\n\n/**\n * Контекст макета, предоставляемый `CdsLayout` и потребляемый\n * `CdsHeader`, `CdsFooter`, `CdsDrawer`, `CdsMain`, `CdsPage`.\n */\nexport interface LayoutContext {\n /**\n * Зарегистрированные в макете компоненты по идентификаторам — шапка, подвал, панели, контент.\n * @en Components registered in the layout by their identifiers — the header, the footer, the drawers, the content.\n */\n instances: Record<string, unknown>;\n /** Текущая раскладка макета — какие части занимают верх, низ и бока. */\n view: ComputedRef<string>;\n /**\n * Ограничен ли макет по ширине контейнером (`container`) вместо растягивания на весь экран.\n * @en Whether the layout is limited in width by a container (`container`) instead of stretching across the whole screen.\n */\n isContainer: ComputedRef<boolean>;\n /**\n * Ссылка на корневой DOM-элемент макета.\n * @en Ref to the root DOM element of the layout.\n */\n rootRef: Ref<HTMLElement | undefined>;\n /**\n * Полная высота макета в пикселях.\n * @en Full height of the layout in pixels.\n */\n height: Ref<number>;\n /**\n * Высота области контента без шапки и подвала, в пикселях.\n * @en Height of the content area without the header and the footer, in pixels.\n */\n containerHeight: Ref<number>;\n /**\n * Ширина системной полосы прокрутки в пикселях — учитывается при блокировке скролла.\n * @en Width of the system scrollbar in pixels — taken into account when the scroll is locked.\n */\n scrollbarWidth: Ref<number>;\n /**\n * Полная ширина макета в пикселях.\n * @en Full width of the layout in pixels.\n */\n totalWidth: ComputedRef<number>;\n /**\n * Идентификаторы компонентов, распределённые по рядам макета: сверху, посередине и снизу.\n * @en Identifiers of the components distributed across the rows of the layout: top, middle and bottom.\n */\n rows: ComputedRef<{\n top: string[];\n middle: string[];\n bottom: string[];\n }>;\n /**\n * Размеры и смещение шапки макета.\n * @en Size and offset of the layout header.\n */\n header: LayoutPart;\n /**\n * Размеры и смещение правой панели макета.\n * @en Size and offset of the right drawer of the layout.\n */\n right: LayoutPart;\n /**\n * Размеры и смещение подвала макета.\n * @en Size and offset of the layout footer.\n */\n footer: LayoutPart;\n /**\n * Размеры и смещение левой панели макета.\n * @en Size and offset of the left drawer of the layout.\n */\n left: LayoutPart;\n /**\n * Состояние прокрутки макета: позиция, направление и дельта.\n * @en Scroll state of the layout: position, direction and delta.\n */\n scroll: Ref<ScrollObserver>;\n /**\n * Включает анимацию перестроения макета на время ближайшего обновления размеров.\n * @en Turns on the rebuild animation of the layout for the duration of the next size update.\n */\n animate: () => void;\n /**\n * Обновляет размер, смещение или резервирование места для части макета.\n * @en Updates the size, the offset or the space reservation for a part of the layout.\n */\n update: (part: 'header' | 'footer' | 'left' | 'right', prop: keyof LayoutPart, value: number | boolean) => void;\n}\n\nexport const CDS_LAYOUT_CONTEXT_KEY = 'cds:layout';\n\n/**\n * Возвращает контекст макета. Вне `CdsLayout` отдаёт пустой объект —\n * потребители проверяют это и предупреждают разработчика.\n */\nexport const [useInjectLayout, provideLayout] = createContext<LayoutContext>(\n CDS_LAYOUT_CONTEXT_KEY,\n {} as LayoutContext\n);\n"],"names":[],"mappings":";AA2HO,MAAM,yBAAyB;AAM/B,MAAM,CAAC,iBAAiB,aAAa,IAAI;AAAA,EAC9C;AAAA,EACA,CAAA;AACF;"}
@@ -1,36 +1,54 @@
1
- import { u as useDisplay } from "../useDisplay/useDisplay.js";
2
1
  import { p as propsFactory } from "../../core/propsFactory.js";
3
2
  import { a as IN_BROWSER } from "../../utils/dom/globals.js";
4
3
  import { ref, computed, unref, watch, onBeforeUnmount } from "vue";
5
4
  import { u as useInjectLayout } from "./context.js";
5
+ import { u as useDisplay } from "../useDisplay/useDisplay.js";
6
6
  const defineLayoutProps = propsFactory(
7
7
  {
8
- /** Видимость элемента в макете. */
8
+ /**
9
+ * Видимость элемента в макете.
10
+ * @en Visibility of the element in the layout.
11
+ */
9
12
  modelValue: {
10
13
  type: Boolean,
11
14
  default: true
12
15
  },
13
- /** Плавающий режим: элемент появляется/скрывается при скролле. */
16
+ /**
17
+ * Плавающий режим: элемент появляется/скрывается при скролле.
18
+ * @en Floating mode: the element appears/hides on scroll.
19
+ */
14
20
  reveal: {
15
21
  type: Boolean,
16
22
  default: false
17
23
  },
18
- /** Порог скролла (px), до которого плавающий элемент остаётся видимым. */
24
+ /**
25
+ * Порог скролла (px), до которого плавающий элемент остаётся видимым.
26
+ * @en Scroll threshold (px) up to which the floating element stays visible.
27
+ */
19
28
  revealOffset: {
20
29
  type: Number,
21
30
  default: 250
22
31
  },
23
- /** Отображение границы. */
32
+ /**
33
+ * Отображение границы.
34
+ * @en Shows the border.
35
+ */
24
36
  bordered: {
25
37
  type: Boolean,
26
38
  default: false
27
39
  },
28
- /** Отображение тени. */
40
+ /**
41
+ * Отображение тени.
42
+ * @en Shows the shadow.
43
+ */
29
44
  elevated: {
30
45
  type: Boolean,
31
46
  default: false
32
47
  },
33
- /** Высота элемента. */
48
+ /**
49
+ * Высота элемента.
50
+ * @en Height of the element.
51
+ */
34
52
  height: {
35
53
  type: [String, Number],
36
54
  default: 50
@@ -1 +1 @@
1
- {"version":3,"file":"useLayout.js","sources":["../../../../../src/composables/useLayout/useLayout.ts"],"sourcesContent":["import { useDisplay } from '@cds/composables/useDisplay';\nimport { propsFactory } from '@cds/core';\nimport { IN_BROWSER } from '@cds/utils';\nimport {\n computed,\n type ComputedRef,\n type CSSProperties,\n type ExtractPublicPropTypes,\n onBeforeUnmount,\n type PropType,\n type Ref,\n ref,\n unref,\n watch\n} from 'vue';\n\nimport { type LayoutPart, useInjectLayout } from './context';\n\n/**\n * Фабрика пропсов для частей макета `CdsHeader` / `CdsFooter`.\n */\nexport const defineLayoutProps = propsFactory(\n {\n /** Видимость элемента в макете. */\n modelValue: {\n type: Boolean as PropType<boolean>,\n default: true\n },\n /** Плавающий режим: элемент появляется/скрывается при скролле. */\n reveal: {\n type: Boolean as PropType<boolean>,\n default: false\n },\n /** Порог скролла (px), до которого плавающий элемент остаётся видимым. */\n revealOffset: {\n type: Number as PropType<number>,\n default: 250\n },\n /** Отображение границы. */\n bordered: {\n type: Boolean as PropType<boolean>,\n default: false\n },\n /** Отображение тени. */\n elevated: {\n type: Boolean as PropType<boolean>,\n default: false\n },\n /** Высота элемента. */\n height: {\n type: [String, Number] as PropType<string | number>,\n default: 50\n }\n },\n 'layout'\n);\n\nexport interface LayoutProps extends ExtractPublicPropTypes<ReturnType<typeof defineLayoutProps>> {}\n\nexport interface UseLayout {\n layout: ReturnType<typeof useInjectLayout>;\n size: Ref<number>;\n revealed: Ref<boolean>;\n fixed: ComputedRef<boolean>;\n windowHeight: Ref<number>;\n containerHeight: ComputedRef<number>;\n offset: ComputedRef<number>;\n hidden: ComputedRef<boolean>;\n revealOnFocus: ComputedRef<boolean>;\n classes: ComputedRef<Record<string, boolean>>;\n style: ComputedRef<CSSProperties>;\n updateLocal: (prop: Ref, value: unknown) => void;\n updateRevealed: () => void;\n onResize: (rect: Pick<DOMRectReadOnly, 'width' | 'height'>) => void;\n}\n\n/**\n * Общая логика частей макета (header/footer): вычисление видимости,\n * плавающего поведения при скролле, классов и стилей, синхронизация\n * размеров с контекстом макета.\n *\n * @param props Пропсы части макета.\n * @param rootClass kebab-class компонента (например `cds-header`).\n * @param view Тип части: `H` — header, `F` — footer.\n */\nexport function useLayout(props: LayoutProps, rootClass: string, view: 'H' | 'F' = 'H'): UseLayout {\n const isHeader = view === 'H';\n const isFooter = view === 'F';\n\n const layout = useInjectLayout();\n const display = useDisplay();\n const size = ref(parseInt(props.height as string, 10));\n const revealed = ref(true);\n\n const fixed = computed(\n () =>\n props.reveal ||\n unref(layout.view).indexOf(view) > -1 ||\n (unref(display.platform).ios && unref(layout.isContainer))\n );\n\n const windowHeight = ref(!IN_BROWSER || unref(layout.isContainer) ? 0 : window.innerHeight);\n\n const containerHeight = computed(() =>\n unref(layout.isContainer) ? unref(layout.containerHeight) : unref(windowHeight)\n );\n\n const offset = computed(() => {\n if (!props.modelValue) return 0;\n if (unref(fixed)) return unref(revealed) ? unref(size) : 0;\n\n let offset = 0;\n\n if (isHeader) {\n offset = unref(size) - unref(layout.scroll).position.top;\n }\n\n if (isFooter) {\n offset = unref(layout.scroll).position.top + unref(containerHeight) + unref(size) - unref(layout.height);\n }\n\n return offset > 0 ? offset : 0;\n });\n\n const hidden = computed(() => !props.modelValue || (unref(fixed) && !unref(revealed)));\n\n const revealOnFocus = computed(() => !!(props.modelValue && unref(hidden) && props.reveal));\n\n const classes = computed(() => ({\n [rootClass]: true,\n [`${rootClass}--fixed`]: unref(fixed),\n [`${rootClass}--absolute`]: !unref(fixed),\n [`${rootClass}--hidden`]: unref(hidden),\n [`${rootClass}--bordered`]: !!props.bordered,\n [`${rootClass}--elevated`]: !!props.elevated,\n [`${rootClass}--prevent-focus`]: !props.modelValue\n }));\n\n const style = computed(() => {\n const rows = isHeader ? unref(layout.rows).top : unref(layout.rows).bottom;\n const css: CSSProperties = {};\n\n if (rows[0] === 'l' && layout.left.space) {\n css.left = `${layout.left.size}px`;\n }\n\n if (rows[2] === 'r' && layout.right.space) {\n css.right = `${layout.right.size}px`;\n }\n\n return css;\n });\n\n function updateLayout(prop: keyof LayoutPart, value: number | boolean) {\n layout.update(isHeader ? 'header' : 'footer', prop, value);\n }\n\n function updateLocal(prop: Ref, value: unknown) {\n if (unref(prop) !== value) {\n prop.value = value;\n }\n }\n\n function updateRevealed() {\n if (!props.reveal) return;\n\n const { direction, position, inflectionPoint } = unref(layout.scroll);\n\n updateLocal(\n revealed,\n direction === 'up' ||\n position.top - inflectionPoint.top < 100 ||\n unref(layout.height) - unref(containerHeight) - position.top - unref(size) < 300\n );\n }\n\n function onResize({ height }: Pick<DOMRectReadOnly, 'width' | 'height'>) {\n updateLocal(size, height);\n updateLayout('size', height);\n }\n\n watch(\n () => props.modelValue,\n (value) => {\n updateLayout('space', !!value);\n updateLocal(revealed, true);\n layout.animate();\n }\n );\n\n watch(offset, (value) => {\n updateLayout('offset', value);\n });\n\n watch(\n () => props.reveal,\n (value) => {\n !value && updateLocal(revealed, props.modelValue);\n }\n );\n\n const instance = {};\n\n layout.instances[isHeader ? 'header' : 'footer'] = instance;\n props.modelValue && updateLayout('size', unref(size));\n updateLayout('space', !!props.modelValue);\n updateLayout('offset', unref(offset));\n\n onBeforeUnmount(() => {\n if (layout.instances[isHeader ? 'header' : 'footer'] === instance) {\n layout.instances[isHeader ? 'header' : 'footer'] = undefined;\n updateLayout('size', 0);\n updateLayout('offset', 0);\n updateLayout('space', false);\n }\n });\n\n return {\n layout,\n size,\n revealed,\n fixed,\n windowHeight,\n containerHeight,\n offset,\n hidden,\n revealOnFocus,\n classes,\n style,\n updateLocal,\n updateRevealed,\n onResize\n };\n}\n"],"names":["offset"],"mappings":"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"}
1
+ {"version":3,"file":"useLayout.js","sources":["../../../../../src/composables/useLayout/useLayout.ts"],"sourcesContent":["import { useDisplay } from '@cds/composables/useDisplay';\nimport { propsFactory } from '@cds/core';\nimport { IN_BROWSER } from '@cds/utils';\nimport {\n computed,\n type ComputedRef,\n type CSSProperties,\n type ExtractPublicPropTypes,\n onBeforeUnmount,\n type PropType,\n type Ref,\n ref,\n unref,\n watch\n} from 'vue';\n\nimport { type LayoutPart, useInjectLayout } from './context';\n\n/**\n * Фабрика пропсов для частей макета `CdsHeader` / `CdsFooter`.\n */\nexport const defineLayoutProps = propsFactory(\n {\n /**\n * Видимость элемента в макете.\n * @en Visibility of the element in the layout.\n */\n modelValue: {\n type: Boolean as PropType<boolean>,\n default: true\n },\n /**\n * Плавающий режим: элемент появляется/скрывается при скролле.\n * @en Floating mode: the element appears/hides on scroll.\n */\n reveal: {\n type: Boolean as PropType<boolean>,\n default: false\n },\n /**\n * Порог скролла (px), до которого плавающий элемент остаётся видимым.\n * @en Scroll threshold (px) up to which the floating element stays visible.\n */\n revealOffset: {\n type: Number as PropType<number>,\n default: 250\n },\n /**\n * Отображение границы.\n * @en Shows the border.\n */\n bordered: {\n type: Boolean as PropType<boolean>,\n default: false\n },\n /**\n * Отображение тени.\n * @en Shows the shadow.\n */\n elevated: {\n type: Boolean as PropType<boolean>,\n default: false\n },\n /**\n * Высота элемента.\n * @en Height of the element.\n */\n height: {\n type: [String, Number] as PropType<string | number>,\n default: 50\n }\n },\n 'layout'\n);\n\nexport interface LayoutProps extends ExtractPublicPropTypes<ReturnType<typeof defineLayoutProps>> {}\n\nexport interface UseLayout {\n layout: ReturnType<typeof useInjectLayout>;\n size: Ref<number>;\n revealed: Ref<boolean>;\n fixed: ComputedRef<boolean>;\n windowHeight: Ref<number>;\n containerHeight: ComputedRef<number>;\n offset: ComputedRef<number>;\n hidden: ComputedRef<boolean>;\n revealOnFocus: ComputedRef<boolean>;\n classes: ComputedRef<Record<string, boolean>>;\n style: ComputedRef<CSSProperties>;\n updateLocal: (prop: Ref, value: unknown) => void;\n updateRevealed: () => void;\n onResize: (rect: Pick<DOMRectReadOnly, 'width' | 'height'>) => void;\n}\n\n/**\n * Общая логика частей макета (header/footer): вычисление видимости,\n * плавающего поведения при скролле, классов и стилей, синхронизация\n * размеров с контекстом макета.\n *\n * @param props Пропсы части макета.\n * @param rootClass kebab-class компонента (например `cds-header`).\n * @param view Тип части: `H` — header, `F` — footer.\n */\nexport function useLayout(props: LayoutProps, rootClass: string, view: 'H' | 'F' = 'H'): UseLayout {\n const isHeader = view === 'H';\n const isFooter = view === 'F';\n\n const layout = useInjectLayout();\n const display = useDisplay();\n const size = ref(parseInt(props.height as string, 10));\n const revealed = ref(true);\n\n const fixed = computed(\n () =>\n props.reveal ||\n unref(layout.view).indexOf(view) > -1 ||\n (unref(display.platform).ios && unref(layout.isContainer))\n );\n\n const windowHeight = ref(!IN_BROWSER || unref(layout.isContainer) ? 0 : window.innerHeight);\n\n const containerHeight = computed(() =>\n unref(layout.isContainer) ? unref(layout.containerHeight) : unref(windowHeight)\n );\n\n const offset = computed(() => {\n if (!props.modelValue) return 0;\n if (unref(fixed)) return unref(revealed) ? unref(size) : 0;\n\n let offset = 0;\n\n if (isHeader) {\n offset = unref(size) - unref(layout.scroll).position.top;\n }\n\n if (isFooter) {\n offset = unref(layout.scroll).position.top + unref(containerHeight) + unref(size) - unref(layout.height);\n }\n\n return offset > 0 ? offset : 0;\n });\n\n const hidden = computed(() => !props.modelValue || (unref(fixed) && !unref(revealed)));\n\n const revealOnFocus = computed(() => !!(props.modelValue && unref(hidden) && props.reveal));\n\n const classes = computed(() => ({\n [rootClass]: true,\n [`${rootClass}--fixed`]: unref(fixed),\n [`${rootClass}--absolute`]: !unref(fixed),\n [`${rootClass}--hidden`]: unref(hidden),\n [`${rootClass}--bordered`]: !!props.bordered,\n [`${rootClass}--elevated`]: !!props.elevated,\n [`${rootClass}--prevent-focus`]: !props.modelValue\n }));\n\n const style = computed(() => {\n const rows = isHeader ? unref(layout.rows).top : unref(layout.rows).bottom;\n const css: CSSProperties = {};\n\n if (rows[0] === 'l' && layout.left.space) {\n css.left = `${layout.left.size}px`;\n }\n\n if (rows[2] === 'r' && layout.right.space) {\n css.right = `${layout.right.size}px`;\n }\n\n return css;\n });\n\n function updateLayout(prop: keyof LayoutPart, value: number | boolean) {\n layout.update(isHeader ? 'header' : 'footer', prop, value);\n }\n\n function updateLocal(prop: Ref, value: unknown) {\n if (unref(prop) !== value) {\n prop.value = value;\n }\n }\n\n function updateRevealed() {\n if (!props.reveal) return;\n\n const { direction, position, inflectionPoint } = unref(layout.scroll);\n\n updateLocal(\n revealed,\n direction === 'up' ||\n position.top - inflectionPoint.top < 100 ||\n unref(layout.height) - unref(containerHeight) - position.top - unref(size) < 300\n );\n }\n\n function onResize({ height }: Pick<DOMRectReadOnly, 'width' | 'height'>) {\n updateLocal(size, height);\n updateLayout('size', height);\n }\n\n watch(\n () => props.modelValue,\n (value) => {\n updateLayout('space', !!value);\n updateLocal(revealed, true);\n layout.animate();\n }\n );\n\n watch(offset, (value) => {\n updateLayout('offset', value);\n });\n\n watch(\n () => props.reveal,\n (value) => {\n !value && updateLocal(revealed, props.modelValue);\n }\n );\n\n const instance = {};\n\n layout.instances[isHeader ? 'header' : 'footer'] = instance;\n props.modelValue && updateLayout('size', unref(size));\n updateLayout('space', !!props.modelValue);\n updateLayout('offset', unref(offset));\n\n onBeforeUnmount(() => {\n if (layout.instances[isHeader ? 'header' : 'footer'] === instance) {\n layout.instances[isHeader ? 'header' : 'footer'] = undefined;\n updateLayout('size', 0);\n updateLayout('offset', 0);\n updateLayout('space', false);\n }\n });\n\n return {\n layout,\n size,\n revealed,\n fixed,\n windowHeight,\n containerHeight,\n offset,\n hidden,\n revealOnFocus,\n classes,\n style,\n updateLocal,\n updateRevealed,\n onResize\n };\n}\n"],"names":["offset"],"mappings":"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"}
@@ -5,6 +5,7 @@ const defineLazyProps = propsFactory(
5
5
  /**
6
6
  * Принудительно рендерит содержимое компонента при его использовании.
7
7
  * Это полезно, если у вас есть контент, который не отображается в DOM, но который необходимо проиндексировать для SEO.
8
+ * @en Renders the content of the component right away. Useful when you have content that is not in the DOM but has to be indexed for SEO.
8
9
  */
9
10
  eager: Boolean
10
11
  },
@@ -1 +1 @@
1
- {"version":3,"file":"useLazy.js","sources":["../../../../../src/composables/useLazy/useLazy.ts"],"sourcesContent":["import { propsFactory } from '@cds/core';\nimport { type Ref, shallowRef, toRef, unref, watch } from 'vue';\n\n/**\n * A factory-generated configuration object used to define properties\n * with lazy initialization behavior. The resulting properties can\n * optionally be defined as eager using the `eager` option.\n *\n * @type {Object}\n * @property {boolean} eager - Specifies whether the properties should be initialized eagerly.\n */\nexport const defineLazyProps = propsFactory(\n {\n /**\n * Принудительно рендерит содержимое компонента при его использовании.\n * Это полезно, если у вас есть контент, который не отображается в DOM, но который необходимо проиндексировать для SEO.\n */\n eager: Boolean\n },\n 'lazy'\n);\n\n/**\n * Hook to manage lazy behavior for content rendering.\n *\n * @param {Object} props - The properties object.\n * @param {boolean} props.eager - Determines if the content should be immediately booted.\n * @param {Ref<boolean>} active - A reference that indicates whether the content is active.\n * @return {Object} Returns an object containing reactive states and methods.\n * @return {Ref<boolean>} return.isBooted - A reactive reference indicating if the content has been booted.\n * @return {Ref<boolean>} return.hasContent - A reference indicating if the content is currently available.\n * @return {Function} return.onAfterLeave - A method to call after the content is left to reset its state if necessary.\n */\nexport function useLazy(props: { eager: boolean }, active: Ref<boolean>) {\n const isBooted = shallowRef(false);\n const hasContent = toRef(() => unref(isBooted) || props.eager || unref(active));\n\n watch(active, () => (isBooted.value = true));\n\n function onAfterLeave() {\n if (!props.eager) isBooted.value = false;\n }\n\n return { isBooted, hasContent, onAfterLeave };\n}\n"],"names":[],"mappings":";;AAWO,MAAM,kBAAkB;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA;AAAA,IAKE,OAAO;AAAA,EAAA;AAAA,EAET;AACF;AAaO,SAAS,QAAQ,OAA2B,QAAsB;AACvE,QAAM,WAAW,WAAW,KAAK;AACjC,QAAM,aAAa,MAAM,MAAM,MAAM,QAAQ,KAAK,MAAM,SAAS,MAAM,MAAM,CAAC;AAE9E,QAAM,QAAQ,MAAO,SAAS,QAAQ,IAAK;AAE3C,WAAS,eAAe;AACtB,QAAI,CAAC,MAAM,MAAO,UAAS,QAAQ;AAAA,EACrC;AAEA,SAAO,EAAE,UAAU,YAAY,aAAA;AACjC;"}
1
+ {"version":3,"file":"useLazy.js","sources":["../../../../../src/composables/useLazy/useLazy.ts"],"sourcesContent":["import { propsFactory } from '@cds/core';\nimport { type Ref, shallowRef, toRef, unref, watch } from 'vue';\n\n/**\n * A factory-generated configuration object used to define properties\n * with lazy initialization behavior. The resulting properties can\n * optionally be defined as eager using the `eager` option.\n *\n * @type {Object}\n * @property {boolean} eager - Specifies whether the properties should be initialized eagerly.\n */\nexport const defineLazyProps = propsFactory(\n {\n /**\n * Принудительно рендерит содержимое компонента при его использовании.\n * Это полезно, если у вас есть контент, который не отображается в DOM, но который необходимо проиндексировать для SEO.\n * @en Renders the content of the component right away. Useful when you have content that is not in the DOM but has to be indexed for SEO.\n */\n eager: Boolean\n },\n 'lazy'\n);\n\n/**\n * Hook to manage lazy behavior for content rendering.\n *\n * @param {Object} props - The properties object.\n * @param {boolean} props.eager - Determines if the content should be immediately booted.\n * @param {Ref<boolean>} active - A reference that indicates whether the content is active.\n * @return {Object} Returns an object containing reactive states and methods.\n * @return {Ref<boolean>} return.isBooted - A reactive reference indicating if the content has been booted.\n * @return {Ref<boolean>} return.hasContent - A reference indicating if the content is currently available.\n * @return {Function} return.onAfterLeave - A method to call after the content is left to reset its state if necessary.\n */\nexport function useLazy(props: { eager: boolean }, active: Ref<boolean>) {\n const isBooted = shallowRef(false);\n const hasContent = toRef(() => unref(isBooted) || props.eager || unref(active));\n\n watch(active, () => (isBooted.value = true));\n\n function onAfterLeave() {\n if (!props.eager) isBooted.value = false;\n }\n\n return { isBooted, hasContent, onAfterLeave };\n}\n"],"names":[],"mappings":";;AAWO,MAAM,kBAAkB;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAME,OAAO;AAAA,EAAA;AAAA,EAET;AACF;AAaO,SAAS,QAAQ,OAA2B,QAAsB;AACvE,QAAM,WAAW,WAAW,KAAK;AACjC,QAAM,aAAa,MAAM,MAAM,MAAM,QAAQ,KAAK,MAAM,SAAS,MAAM,MAAM,CAAC;AAE9E,QAAM,QAAQ,MAAO,SAAS,QAAQ,IAAK;AAE3C,WAAS,eAAe;AACtB,QAAI,CAAC,MAAM,MAAO,UAAS,QAAQ;AAAA,EACrC;AAEA,SAAO,EAAE,UAAU,YAAY,aAAA;AACjC;"}
@@ -1,2 +1,2 @@
1
-
1
+ import "vue";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -3,7 +3,10 @@ import { p as propsFactory } from "../../core/propsFactory.js";
3
3
  import { toRef, toValue } from "vue";
4
4
  const defineLoaderProps = propsFactory(
5
5
  {
6
- /** Индикатор загрузки для компонента */
6
+ /**
7
+ * Индикатор загрузки для компонента
8
+ * @en Loading indicator for the component
9
+ */
7
10
  loading: {
8
11
  type: [Boolean, String],
9
12
  default: void 0
@@ -1 +1 @@
1
- {"version":3,"file":"useLoader.js","sources":["../../../../../src/composables/useLoader/useLoader.ts"],"sourcesContent":["import { getCurrentInstanceName, propsFactory } from '@cds/core';\nimport type { ExtractPublicPropTypes, MaybeRefOrGetter, PropType } from 'vue';\nimport { toRef, toValue } from 'vue';\n\nexport interface LoaderSlotProps {\n color: string | undefined;\n isActive: boolean;\n}\n\n/**\n * A factory function that defines props for a loader component.\n *\n * The `defineLoaderProps` variable utilizes `propsFactory` to create the `loading` prop,\n * which indicates the loading state of a component.\n *\n * Properties:\n * - `loading`: Accepts `Boolean` or `String` values. Represents the loading state\n * of the component, with an optional default value of `undefined`.\n *\n * Used for generating consistent props configurations related to loading indicators.\n */\nexport const defineLoaderProps = propsFactory(\n {\n /** Индикатор загрузки для компонента */\n loading: {\n type: [Boolean, String] as PropType<boolean | string>,\n default: undefined\n }\n },\n 'loader'\n);\n\nexport type LoaderProps = ExtractPublicPropTypes<ReturnType<typeof defineLoaderProps>>;\n\n/**\n * A composable function that provides reactive loader class information\n * based on the loading state defined in the provided properties.\n *\n * @param {MaybeRefOrGetter<LoaderProps>} props - Reactive or non-reactive loader properties that include the loading state.\n * @param {string} [name=getCurrentInstanceName()] - The component or context name to prefix the loader class.\n * @return {Object} An object containing reactive `loaderClasses` which maps the loader class name to its active state.\n */\nexport function useLoader(props: MaybeRefOrGetter<LoaderProps>, name = getCurrentInstanceName()) {\n const loaderClasses = toRef(() => ({\n [`${name}--loading`]: toValue(props).loading\n }));\n\n return { loaderClasses };\n}\n"],"names":[],"mappings":";;;AAqBO,MAAM,oBAAoB;AAAA,EAC/B;AAAA;AAAA,IAEE,SAAS;AAAA,MACP,MAAM,CAAC,SAAS,MAAM;AAAA,MACtB,SAAS;AAAA,IAAA;AAAA,EACX;AAAA,EAEF;AACF;AAYO,SAAS,UAAU,OAAsC,OAAO,0BAA0B;AAC/F,QAAM,gBAAgB,MAAM,OAAO;AAAA,IACjC,CAAC,GAAG,IAAI,WAAW,GAAG,QAAQ,KAAK,EAAE;AAAA,EAAA,EACrC;AAEF,SAAO,EAAE,cAAA;AACX;"}
1
+ {"version":3,"file":"useLoader.js","sources":["../../../../../src/composables/useLoader/useLoader.ts"],"sourcesContent":["import { getCurrentInstanceName, propsFactory } from '@cds/core';\nimport type { ExtractPublicPropTypes, MaybeRefOrGetter, PropType } from 'vue';\nimport { toRef, toValue } from 'vue';\n\nexport interface LoaderSlotProps {\n color: string | undefined;\n isActive: boolean;\n}\n\n/**\n * A factory function that defines props for a loader component.\n *\n * The `defineLoaderProps` variable utilizes `propsFactory` to create the `loading` prop,\n * which indicates the loading state of a component.\n *\n * Properties:\n * - `loading`: Accepts `Boolean` or `String` values. Represents the loading state\n * of the component, with an optional default value of `undefined`.\n *\n * Used for generating consistent props configurations related to loading indicators.\n */\nexport const defineLoaderProps = propsFactory(\n {\n /**\n * Индикатор загрузки для компонента\n * @en Loading indicator for the component\n */\n loading: {\n type: [Boolean, String] as PropType<boolean | string>,\n default: undefined\n }\n },\n 'loader'\n);\n\nexport type LoaderProps = ExtractPublicPropTypes<ReturnType<typeof defineLoaderProps>>;\n\n/**\n * A composable function that provides reactive loader class information\n * based on the loading state defined in the provided properties.\n *\n * @param {MaybeRefOrGetter<LoaderProps>} props - Reactive or non-reactive loader properties that include the loading state.\n * @param {string} [name=getCurrentInstanceName()] - The component or context name to prefix the loader class.\n * @return {Object} An object containing reactive `loaderClasses` which maps the loader class name to its active state.\n */\nexport function useLoader(props: MaybeRefOrGetter<LoaderProps>, name = getCurrentInstanceName()) {\n const loaderClasses = toRef(() => ({\n [`${name}--loading`]: toValue(props).loading\n }));\n\n return { loaderClasses };\n}\n"],"names":[],"mappings":";;;AAqBO,MAAM,oBAAoB;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA,IAKE,SAAS;AAAA,MACP,MAAM,CAAC,SAAS,MAAM;AAAA,MACtB,SAAS;AAAA,IAAA;AAAA,EACX;AAAA,EAEF;AACF;AAYO,SAAS,UAAU,OAAsC,OAAO,0BAA0B;AAC/F,QAAM,gBAAgB,MAAM,OAAO;AAAA,IACjC,CAAC,GAAG,IAAI,WAAW,GAAG,QAAQ,KAAK,EAAE;AAAA,EAAA,EACrC;AAEF,SAAO,EAAE,cAAA;AACX;"}
@@ -1,2 +1,2 @@
1
-
1
+ import "vue";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -11,7 +11,10 @@ const oppositeMap = {
11
11
  };
12
12
  const defineLocationProps = propsFactory(
13
13
  {
14
- /** Позиционирование элемента относительно его контейнера. Например, "top left", "center", "bottom right" и т.д. */
14
+ /**
15
+ * Позиционирование элемента относительно его контейнера. Например, "top left", "center", "bottom right" и т.д.
16
+ * @en Position of the element relative to its container, for example "top left", "center", "bottom right".
17
+ */
15
18
  location: String
16
19
  },
17
20
  "location"
@@ -1 +1 @@
1
- {"version":3,"file":"useLocation.js","sources":["../../../../../src/composables/useLocation/useLocation.ts"],"sourcesContent":["import { useRtl } from '@cds/composables/useLocale';\nimport { propsFactory } from '@cds/core';\nimport { type Anchor, parseAnchor } from '@cds/utils';\nimport { computed, type CSSProperties, type ExtractPublicPropTypes, type PropType } from 'vue';\n\nconst oppositeMap = {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n} as const;\n\nexport const defineLocationProps = propsFactory(\n {\n /** Позиционирование элемента относительно его контейнера. Например, \"top left\", \"center\", \"bottom right\" и т.д. */\n location: String as PropType<Anchor | null>\n },\n 'location'\n);\n\nexport interface LocationProps extends ExtractPublicPropTypes<ReturnType<typeof defineLocationProps>> {}\n\n/**\n * Computes and returns CSS styles based on the specified location, alignment, and offset logic.\n *\n * @param {LocationProps} props - The properties containing the location configuration.\n * @param {boolean} [opposite=false] - Determines whether to apply styles in the opposite direction.\n * @param {function(string): number} [offset] - A function that calculates the offset for a specific side.\n * @return {{ locationStyles: import('vue').ComputedRef<CSSProperties> }} An object containing a computed ref with the calculated CSS properties.\n */\nexport function useLocation(props: LocationProps, opposite = false, offset?: (side: string) => number) {\n const { isRtl } = useRtl();\n\n const locationStyles = computed(() => {\n if (!props.location) return {};\n\n const { side, align } = parseAnchor(\n props.location.split(' ').length > 1 ? props.location : (`${props.location} center` as Anchor),\n isRtl.value\n );\n\n function getOffset(side: string) {\n return offset ? offset(side) : 0;\n }\n\n const styles = {} as CSSProperties;\n\n if (side !== 'center') {\n if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`;\n else styles[side] = 0;\n }\n if (align !== 'center') {\n if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`;\n else styles[align] = 0;\n } else {\n if (side === 'center') styles.top = styles.left = '50%';\n else {\n styles[\n (\n {\n top: 'left',\n bottom: 'left',\n left: 'top',\n right: 'top'\n } as const\n )[side]\n ] = '50%';\n }\n styles.transform = {\n top: 'translateX(-50%)',\n bottom: 'translateX(-50%)',\n left: 'translateY(-50%)',\n right: 'translateY(-50%)',\n center: 'translate(-50%, -50%)'\n }[side];\n }\n\n return styles;\n });\n\n return { locationStyles };\n}\n"],"names":["side"],"mappings":";;;;AAKA,MAAM,cAAc;AAAA,EAClB,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AACT;AAEO,MAAM,sBAAsB;AAAA,EACjC;AAAA;AAAA,IAEE,UAAU;AAAA,EAAA;AAAA,EAEZ;AACF;AAYO,SAAS,YAAY,OAAsB,WAAW,OAAO,QAAmC;AACrG,QAAM,EAAE,MAAA,IAAU,OAAA;AAElB,QAAM,iBAAiB,SAAS,MAAM;AACpC,QAAI,CAAC,MAAM,SAAU,QAAO,CAAA;AAE5B,UAAM,EAAE,MAAM,MAAA,IAAU;AAAA,MACtB,MAAM,SAAS,MAAM,GAAG,EAAE,SAAS,IAAI,MAAM,WAAY,GAAG,MAAM,QAAQ;AAAA,MAC1E,MAAM;AAAA,IAAA;AAGR,aAAS,UAAUA,OAAc;AAC/B,aAAO,SAAS,OAAOA,KAAI,IAAI;AAAA,IACjC;AAEA,UAAM,SAAS,CAAA;AAEf,QAAI,SAAS,UAAU;AACrB,UAAI,iBAAiB,YAAY,IAAI,CAAC,IAAI,eAAe,UAAU,IAAI,CAAC;AAAA,UACnE,QAAO,IAAI,IAAI;AAAA,IACtB;AACA,QAAI,UAAU,UAAU;AACtB,UAAI,iBAAiB,YAAY,KAAK,CAAC,IAAI,eAAe,UAAU,KAAK,CAAC;AAAA,UACrE,QAAO,KAAK,IAAI;AAAA,IACvB,OAAO;AACL,UAAI,SAAS,SAAU,QAAO,MAAM,OAAO,OAAO;AAAA,WAC7C;AACH,eAEI;AAAA,UACE,KAAK;AAAA,UACL,QAAQ;AAAA,UACR,MAAM;AAAA,UACN,OAAO;AAAA,QAAA,EAET,IAAI,CACR,IAAI;AAAA,MACN;AACA,aAAO,YAAY;AAAA,QACjB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,OAAO;AAAA,QACP,QAAQ;AAAA,MAAA,EACR,IAAI;AAAA,IACR;AAEA,WAAO;AAAA,EACT,CAAC;AAED,SAAO,EAAE,eAAA;AACX;"}
1
+ {"version":3,"file":"useLocation.js","sources":["../../../../../src/composables/useLocation/useLocation.ts"],"sourcesContent":["import { useRtl } from '@cds/composables/useLocale';\nimport { propsFactory } from '@cds/core';\nimport { type Anchor, parseAnchor } from '@cds/utils';\nimport { computed, type CSSProperties, type ExtractPublicPropTypes, type PropType } from 'vue';\n\nconst oppositeMap = {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n} as const;\n\nexport const defineLocationProps = propsFactory(\n {\n /**\n * Позиционирование элемента относительно его контейнера. Например, \"top left\", \"center\", \"bottom right\" и т.д.\n * @en Position of the element relative to its container, for example \"top left\", \"center\", \"bottom right\".\n */\n location: String as PropType<Anchor | null>\n },\n 'location'\n);\n\nexport interface LocationProps extends ExtractPublicPropTypes<ReturnType<typeof defineLocationProps>> {}\n\n/**\n * Computes and returns CSS styles based on the specified location, alignment, and offset logic.\n *\n * @param {LocationProps} props - The properties containing the location configuration.\n * @param {boolean} [opposite=false] - Determines whether to apply styles in the opposite direction.\n * @param {function(string): number} [offset] - A function that calculates the offset for a specific side.\n * @return {{ locationStyles: import('vue').ComputedRef<CSSProperties> }} An object containing a computed ref with the calculated CSS properties.\n */\nexport function useLocation(props: LocationProps, opposite = false, offset?: (side: string) => number) {\n const { isRtl } = useRtl();\n\n const locationStyles = computed(() => {\n if (!props.location) return {};\n\n const { side, align } = parseAnchor(\n props.location.split(' ').length > 1 ? props.location : (`${props.location} center` as Anchor),\n isRtl.value\n );\n\n function getOffset(side: string) {\n return offset ? offset(side) : 0;\n }\n\n const styles = {} as CSSProperties;\n\n if (side !== 'center') {\n if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`;\n else styles[side] = 0;\n }\n if (align !== 'center') {\n if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`;\n else styles[align] = 0;\n } else {\n if (side === 'center') styles.top = styles.left = '50%';\n else {\n styles[\n (\n {\n top: 'left',\n bottom: 'left',\n left: 'top',\n right: 'top'\n } as const\n )[side]\n ] = '50%';\n }\n styles.transform = {\n top: 'translateX(-50%)',\n bottom: 'translateX(-50%)',\n left: 'translateY(-50%)',\n right: 'translateY(-50%)',\n center: 'translate(-50%, -50%)'\n }[side];\n }\n\n return styles;\n });\n\n return { locationStyles };\n}\n"],"names":["side"],"mappings":";;;;AAKA,MAAM,cAAc;AAAA,EAClB,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AACT;AAEO,MAAM,sBAAsB;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA;AAAA,IAKE,UAAU;AAAA,EAAA;AAAA,EAEZ;AACF;AAYO,SAAS,YAAY,OAAsB,WAAW,OAAO,QAAmC;AACrG,QAAM,EAAE,MAAA,IAAU,OAAA;AAElB,QAAM,iBAAiB,SAAS,MAAM;AACpC,QAAI,CAAC,MAAM,SAAU,QAAO,CAAA;AAE5B,UAAM,EAAE,MAAM,MAAA,IAAU;AAAA,MACtB,MAAM,SAAS,MAAM,GAAG,EAAE,SAAS,IAAI,MAAM,WAAY,GAAG,MAAM,QAAQ;AAAA,MAC1E,MAAM;AAAA,IAAA;AAGR,aAAS,UAAUA,OAAc;AAC/B,aAAO,SAAS,OAAOA,KAAI,IAAI;AAAA,IACjC;AAEA,UAAM,SAAS,CAAA;AAEf,QAAI,SAAS,UAAU;AACrB,UAAI,iBAAiB,YAAY,IAAI,CAAC,IAAI,eAAe,UAAU,IAAI,CAAC;AAAA,UACnE,QAAO,IAAI,IAAI;AAAA,IACtB;AACA,QAAI,UAAU,UAAU;AACtB,UAAI,iBAAiB,YAAY,KAAK,CAAC,IAAI,eAAe,UAAU,KAAK,CAAC;AAAA,UACrE,QAAO,KAAK,IAAI;AAAA,IACvB,OAAO;AACL,UAAI,SAAS,SAAU,QAAO,MAAM,OAAO,OAAO;AAAA,WAC7C;AACH,eAEI;AAAA,UACE,KAAK;AAAA,UACL,QAAQ;AAAA,UACR,MAAM;AAAA,UACN,OAAO;AAAA,QAAA,EAET,IAAI,CACR,IAAI;AAAA,MACN;AACA,aAAO,YAAY;AAAA,QACjB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,OAAO;AAAA,QACP,QAAQ;AAAA,MAAA,EACR,IAAI;AAAA,IACR;AAEA,WAAO;AAAA,EACT,CAAC;AAED,SAAO,EAAE,eAAA;AACX;"}
@@ -10,27 +10,60 @@ import { m as multipleOpenStrategy, s as singleOpenStrategy, l as listOpenStrate
10
10
  import { c as classicSelectStrategy, b as branchSelectStrategy, t as trunkSelectStrategy, i as independentSingleSelectStrategy, a as independentSelectStrategy, l as leafSelectStrategy, d as leafSingleSelectStrategy } from "./strategies/selectStrategies.js";
11
11
  const defineNestedProps = propsFactory(
12
12
  {
13
- /** Разрешает активацию элементов (выделение текущего элемента без режима выбора) */
13
+ /**
14
+ * Разрешает активацию элементов (выделение текущего элемента без режима выбора)
15
+ * @en Allows items to be activated (highlighting the current item without selection mode)
16
+ */
14
17
  activatable: Boolean,
15
- /** Разрешает выбор элементов */
18
+ /**
19
+ * Разрешает выбор элементов
20
+ * @en Allows items to be selected
21
+ */
16
22
  selectable: Boolean,
17
- /** Стратегия активации элементов (одиночная, множественная и т.д.) */
23
+ /**
24
+ * Стратегия активации элементов (одиночная, множественная и т.д.)
25
+ * @en Activation strategy for items (single, multiple, and so on)
26
+ */
18
27
  activeStrategy: [String, Function, Object],
19
- /** Стратегия выбора элементов (`single-leaf`, `leaf`, `independent`, `classic` и т.д.) */
28
+ /**
29
+ * Стратегия выбора элементов (`single-leaf`, `leaf`, `independent`, `classic` и т.д.)
30
+ * @en Selection strategy for items (`single-leaf`, `leaf`, `independent`, `classic`, and so on)
31
+ */
20
32
  selectStrategy: [String, Function, Object],
21
- /** Стратегия раскрытия групп (`list`, `single`, `multiple`) */
33
+ /**
34
+ * Стратегия раскрытия групп (`list`, `single`, `multiple`)
35
+ * @en Expansion strategy for groups (`list`, `single`, `multiple`)
36
+ */
22
37
  openStrategy: [String, Object],
23
- /** Идентификаторы раскрытых групп (поддерживает v-model через `update:opened`) */
38
+ /**
39
+ * Идентификаторы раскрытых групп (поддерживает v-model через `update:opened`)
40
+ * @en Identifiers of the expanded groups (supports v-model through `update:opened`)
41
+ */
24
42
  opened: null,
25
- /** Идентификаторы активных элементов (поддерживает v-model через `update:activated`) */
43
+ /**
44
+ * Идентификаторы активных элементов (поддерживает v-model через `update:activated`)
45
+ * @en Identifiers of the active items (supports v-model through `update:activated`)
46
+ */
26
47
  activated: null,
27
- /** Идентификаторы выбранных элементов (поддерживает v-model через `update:selected`) */
48
+ /**
49
+ * Идентификаторы выбранных элементов (поддерживает v-model через `update:selected`)
50
+ * @en Identifiers of the selected items (supports v-model through `update:selected`)
51
+ */
28
52
  selected: null,
29
- /** Делает выбор обязательным: запрещает снимать выбор с последнего элемента */
53
+ /**
54
+ * Делает выбор обязательным: запрещает снимать выбор с последнего элемента
55
+ * @en Makes the selection mandatory: forbids clearing the selection of the last item
56
+ */
30
57
  mandatory: Boolean,
31
- /** Делает выбор обязательным: запрещает снимать выбор с последнего элемента */
58
+ /**
59
+ * Делает выбор обязательным: запрещает снимать выбор с последнего элемента
60
+ * @en Makes the selection mandatory: forbids clearing the selection of the last item
61
+ */
32
62
  required: Boolean,
33
- /** Стратегия регистрации элементов: `render` — по мере рендеринга, иначе единоразово */
63
+ /**
64
+ * Стратегия регистрации элементов: `render` — по мере рендеринга, иначе единоразово
65
+ * @en Item registration strategy: `render` — as they are rendered, otherwise all at once
66
+ */
34
67
  itemsRegistration: {
35
68
  type: String,
36
69
  default: "render"
@@ -1 +1 @@
1
- {"version":3,"file":"useNested.js","sources":["../../../../../src/composables/useNested/useNested.ts"],"sourcesContent":["import type { ListItem } from '@cds/composables/useItems';\nimport { getCurrentInstance, propsFactory, useProxyModel } from '@cds/core';\nimport { error, throttle } from '@cds/utils';\nimport {\n computed,\n type ExtractPublicPropTypes,\n inject,\n type MaybeRefOrGetter,\n nextTick,\n onBeforeMount,\n onBeforeUnmount,\n type PropType,\n provide,\n type Ref,\n shallowRef,\n toRaw,\n toRef,\n toValue,\n unref,\n watch\n} from 'vue';\n\nimport { CdsNestedSymbol, emptyNested } from './internal/useNested.constants';\nimport type {\n ActiveStrategyProp,\n ItemsRegistrationType,\n NestedProvide,\n OpenStrategyProp,\n SelectStrategyProp\n} from './internal/useNested.types';\nimport {\n independentActiveStrategy,\n independentSingleActiveStrategy,\n leafActiveStrategy,\n leafSingleActiveStrategy\n} from './strategies/activeStrategies';\nimport { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from './strategies/openStrategies';\nimport {\n branchSelectStrategy,\n classicSelectStrategy,\n independentSelectStrategy,\n independentSingleSelectStrategy,\n leafSelectStrategy,\n leafSingleSelectStrategy,\n trunkSelectStrategy\n} from './strategies/selectStrategies';\n\nexport const defineNestedProps = propsFactory(\n {\n /** Разрешает активацию элементов (выделение текущего элемента без режима выбора) */\n activatable: Boolean,\n /** Разрешает выбор элементов */\n selectable: Boolean,\n /** Стратегия активации элементов (одиночная, множественная и т.д.) */\n activeStrategy: [String, Function, Object] as PropType<ActiveStrategyProp>,\n /** Стратегия выбора элементов (`single-leaf`, `leaf`, `independent`, `classic` и т.д.) */\n selectStrategy: [String, Function, Object] as PropType<SelectStrategyProp>,\n /** Стратегия раскрытия групп (`list`, `single`, `multiple`) */\n openStrategy: [String, Object] as PropType<OpenStrategyProp>,\n /** Идентификаторы раскрытых групп (поддерживает v-model через `update:opened`) */\n opened: null,\n /** Идентификаторы активных элементов (поддерживает v-model через `update:activated`) */\n activated: null,\n /** Идентификаторы выбранных элементов (поддерживает v-model через `update:selected`) */\n selected: null,\n /** Делает выбор обязательным: запрещает снимать выбор с последнего элемента */\n mandatory: Boolean,\n /** Делает выбор обязательным: запрещает снимать выбор с последнего элемента */\n required: Boolean,\n /** Стратегия регистрации элементов: `render` — по мере рендеринга, иначе единоразово */\n itemsRegistration: {\n type: String as PropType<ItemsRegistrationType>,\n default: 'render'\n }\n },\n 'nested'\n);\n\nexport interface NestedProps extends ExtractPublicPropTypes<ReturnType<typeof defineNestedProps>> {}\n\n/**\n * Provides functionality to manage nested structures of items, including operations like activation, selection,\n * and opening or collapsing sub-items. It handles interactions with hierarchical data structures and maintains\n * internal mappings for children, parents, and disabled states of items.\n *\n * @param {NestedProps} props - Properties that define the nested behavior and configurations.\n * @param {Object} param1 - Additional configuration options.\n * @param {Ref<ListItem[]>} param1.items - Reactive reference to the list of items in the nested structure.\n * @param {MaybeRefOrGetter<boolean>} param1.returnObject - Controls whether the item raw object or its value is returned.\n * @param {MaybeRefOrGetter<boolean>} param1.scrollToActive - Determines if the nested structure should scroll to the active item.\n * @return {NestedProvide} - An object containing methods and properties to manage nested items, including registration,\n * unregistration, and updating states like selection or opening.\n */\nexport function useNested(\n props: NestedProps,\n {\n items,\n returnObject,\n scrollToActive\n }: {\n items: Ref<ListItem[]>;\n returnObject: MaybeRefOrGetter<boolean>;\n scrollToActive: MaybeRefOrGetter<boolean>;\n }\n) {\n let isUnmounted = false;\n const children = shallowRef(new Map<unknown, unknown[]>());\n const parents = shallowRef(new Map<unknown, unknown>());\n const disabled = shallowRef(new Set<unknown>());\n\n const vm = getCurrentInstance('nested');\n\n const opened = useProxyModel(\n props,\n 'opened',\n props.opened,\n (value) => new Set(Array.isArray(value) ? value.map((item) => toRaw(item)) : value),\n (value) => [...value.values()]\n );\n\n const activeStrategy = computed(() => {\n if (typeof props.activeStrategy === 'object') return props.activeStrategy;\n if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory);\n\n switch (props.activeStrategy) {\n case 'leaf':\n return leafActiveStrategy(props.mandatory);\n case 'single-leaf':\n return leafSingleActiveStrategy(props.mandatory);\n case 'independent':\n return independentActiveStrategy(props.mandatory);\n case 'single-independent':\n default:\n return independentSingleActiveStrategy(props.mandatory);\n }\n });\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy;\n if (typeof props.selectStrategy === 'function') return props.selectStrategy(props.mandatory);\n\n switch (props.selectStrategy) {\n case 'single-leaf':\n return leafSingleSelectStrategy(props.mandatory);\n case 'leaf':\n return leafSelectStrategy(props.mandatory);\n case 'independent':\n return independentSelectStrategy(props.mandatory);\n case 'single-independent':\n return independentSingleSelectStrategy(props.mandatory);\n case 'trunk':\n return trunkSelectStrategy(props.mandatory);\n case 'branch':\n return branchSelectStrategy(props.mandatory);\n case 'classic':\n default:\n return classicSelectStrategy(props.mandatory);\n }\n });\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'object') return props.openStrategy;\n\n switch (props.openStrategy) {\n case 'list':\n return listOpenStrategy;\n case 'single':\n return singleOpenStrategy;\n case 'multiple':\n default:\n return multipleOpenStrategy;\n }\n });\n\n const activated = useProxyModel(\n props,\n 'activated',\n props.activated,\n (value) => unref(activeStrategy).in(value, unref(children), unref(parents)),\n (value) => unref(activeStrategy).out(value, unref(children), unref(parents))\n );\n const selected = useProxyModel(\n props,\n 'selected',\n props.selected,\n (value) => unref(selectStrategy).in(value, unref(children), unref(parents), unref(disabled)),\n (value) => unref(selectStrategy).out(value, unref(children), unref(parents))\n );\n\n onBeforeUnmount(() => {\n isUnmounted = true;\n });\n\n const nodeIds = new Set<unknown>();\n\n const itemsUpdatePropagation = throttle(() => {\n nextTick(() => {\n children.value = new Map(children.value);\n parents.value = new Map(parents.value);\n });\n }, 100);\n\n watch(\n () => [items.value, toValue(returnObject)],\n () => {\n if (props.itemsRegistration === 'props') {\n updateInternalMaps();\n }\n },\n { immediate: true }\n );\n\n function getPath(id: unknown) {\n const path: unknown[] = [];\n let parent: unknown = toRaw(id);\n\n while (parent !== undefined) {\n path.unshift(parent);\n parent = parents.value.get(parent);\n }\n\n return path;\n }\n\n function updateInternalMaps() {\n const _parents = new Map();\n const _children = new Map();\n const _disabled = new Set();\n\n const getValue = toValue(returnObject) ? (item: ListItem) => toRaw(item.raw) : (item: ListItem) => item.value;\n\n const stack = [...items.value];\n let i = 0;\n while (i < stack.length) {\n const item = stack[i++];\n const itemValue = getValue(item);\n\n if (item.children) {\n const childValues = [];\n for (const child of item.children) {\n const childValue = getValue(child);\n _parents.set(childValue, itemValue);\n childValues.push(childValue);\n stack.push(child);\n }\n _children.set(itemValue, childValues);\n }\n\n if (item.props.disabled) {\n _disabled.add(itemValue);\n }\n }\n\n children.value = _children;\n parents.value = _parents;\n disabled.value = _disabled;\n }\n\n const nested: NestedProvide = {\n id: shallowRef(),\n root: {\n opened,\n activatable: toRef(() => props.activatable),\n scrollToActive: toRef(() => toValue(scrollToActive)),\n selectable: toRef(() => props.selectable),\n activated,\n selected,\n selectedValues: computed(() => {\n const arr = [];\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key);\n }\n\n return arr;\n }),\n itemsRegistration: toRef(() => props.itemsRegistration),\n register: (id, parentId, isDisabled, isGroup) => {\n if (nodeIds.has(id)) {\n const path = getPath(id).map(String).join(' -> ');\n const newPath = getPath(parentId).concat(id).map(String).join(' -> ');\n error(`Multiple nodes with the same ID\\n\\t${path}\\n\\t${newPath}`);\n return;\n } else {\n nodeIds.add(id);\n }\n\n parentId && id !== parentId && parents.value.set(id, parentId);\n\n isDisabled && disabled.value.add(id);\n isGroup && children.value.set(id, []);\n\n if (parentId != null) {\n children.value.set(parentId, [...(children.value.get(parentId) || []), id]);\n }\n itemsUpdatePropagation();\n },\n unregister: (id) => {\n if (isUnmounted) return;\n\n nodeIds.delete(id);\n children.value.delete(id);\n disabled.value.delete(id);\n const parent = parents.value.get(id);\n if (parent) {\n const list = children.value.get(parent) ?? [];\n children.value.set(\n parent,\n list.filter((child) => child !== id)\n );\n }\n parents.value.delete(id);\n itemsUpdatePropagation();\n },\n updateDisabled: (id, isDisabled) => {\n if (isDisabled) {\n disabled.value.add(id);\n } else {\n disabled.value.delete(id);\n }\n // classic selection requires refresh to re-evaluate on/off/indeterminate but\n // currently it is only run for selection interactions, so it will set new disabled\n // to \"off\" and the visual state becomes out of sync\n // -- selected.value = new Map(selected.value)\n // it is not clear if the framework should un-select when disabled changed to true\n // more discussion is needed\n },\n open: (id, value, event) => {\n vm.emit('click:open', { id, value, path: getPath(id), event });\n\n const newOpened = openStrategy.value.open({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event\n });\n\n newOpened && (opened.value = newOpened);\n },\n openOnSelect: (id, value, event) => {\n const newOpened = openStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event\n });\n newOpened && (opened.value = newOpened);\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event });\n\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n disabled: disabled.value,\n event\n });\n newSelected && (selected.value = newSelected);\n\n nested.root.openOnSelect(id, value, event);\n },\n activate: (id, value, event) => {\n if (!props.activatable) {\n return nested.root.select(id, true, event);\n }\n\n vm.emit('click:activate', { id, value, path: getPath(id), event });\n\n const newActivated = activeStrategy.value.activate({\n id,\n value,\n activated: new Set(activated.value),\n children: children.value,\n parents: parents.value,\n event\n });\n\n if (newActivated.size !== activated.value.size) {\n activated.value = newActivated;\n } else {\n for (const value of newActivated) {\n if (!activated.value.has(value)) {\n activated.value = newActivated;\n return;\n }\n }\n for (const value of activated.value) {\n if (!newActivated.has(value)) {\n activated.value = newActivated;\n return;\n }\n }\n }\n },\n children,\n parents,\n disabled,\n getPath\n }\n };\n\n provide(CdsNestedSymbol, nested);\n\n return nested.root;\n}\n\n/**\n * Function `useNestedItem` provides a mechanism to manage and interact with a nested item in a hierarchical structure.\n * This function is designed to work within a system dependent on reactivity and provides integration with a parent context.\n *\n * @param {MaybeRefOrGetter<unknown>} id - A unique identifier for the nested item. It can be a reactive reference, a getter, or a raw value.\n * @param {MaybeRefOrGetter<boolean>} isDisabled - A flag indicating whether the nested item is disabled. It supports reactivity.\n * @param {boolean} isGroup - A boolean value specifying if the nested item acts as a group parent.\n * @returns {Object} - Returns an item object containing reactive properties and methods to interact with the nested item and its hierarchy.\n *\n * Reactive State and Methods:\n * - `id`: The unique identifier of the nested item, resolved reactively.\n * - `open(open: boolean, e: Event)`: Toggles the open state for this item.\n * - `openOnSelect(open: boolean, e?: Event)`: Toggles the open state based on selection changes.\n * - `isOpen`: A computed property reflecting whether the item is currently open.\n * - `parent`: A computed property referring to the item's immediate parent in the hierarchy.\n * - `activate(activated: boolean, e?: Event)`: Activates or deactivates the item.\n * - `isActivated`: A computed property reflecting whether the item is currently activated.\n * - `scrollToActive`: Scrolls to the active item in the hierarchy.\n * - `select(selected: boolean, e?: Event)`: Selects or deselects the item.\n * - `isSelected`: A computed property indicating if the item is selected.\n * - `isIndeterminate`: A computed property indicating if the item selection is in an indeterminate state.\n * - `isLeaf`: A computed property indicating if the item is a leaf node (i.e., without children).\n * - `isGroupActivator`: A flag inherited from the parent, used for group-specific activation.\n *\n * Lifecycle Management:\n * - Registers the nested item with its parent context upon mounting unless `isGroupActivator` or specific parent configuration prevents registration.\n * - Unregisters the nested item from its parent context upon unmounting unless `isGroupActivator` or specific parent configuration prevents it.\n * - Tracks updates to `id` or `isDisabled` and notifies the parent context to ensure consistency.\n *\n * Dependency Injection:\n * - Injects a parent context using the symbol `CdsNestedSymbol`.\n * - Provides the current item to descendant contexts if `isGroup` is true.\n */\nexport const useNestedItem = (\n id: MaybeRefOrGetter<unknown>,\n isDisabled: MaybeRefOrGetter<boolean>,\n isGroup: boolean\n) => {\n const parent = inject(CdsNestedSymbol, emptyNested);\n\n const uidSymbol = Symbol('nested item');\n const computedId = computed(() => {\n const idValue = toRaw(toValue(id));\n return idValue !== undefined ? idValue : uidSymbol;\n });\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(computedId.value, open, e),\n openOnSelect: (open: boolean, e?: Event) => parent.root.openOnSelect(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n activate: (activated: boolean, e?: Event) => parent.root.activate(computedId.value, activated, e),\n isActivated: computed(() => parent.root.activated.value.has(computedId.value)),\n scrollToActive: parent.root.scrollToActive,\n select: (selected: boolean, e?: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(computedId.value) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n isGroupActivator: parent.isGroupActivator\n };\n\n onBeforeMount(() => {\n if (parent.isGroupActivator || parent.root.itemsRegistration.value === 'props') return;\n nextTick(() => {\n parent.root.register(computedId.value, parent.id.value, toValue(isDisabled), isGroup);\n });\n });\n\n onBeforeUnmount(() => {\n if (parent.isGroupActivator || parent.root.itemsRegistration.value === 'props') return;\n parent.root.unregister(computedId.value);\n });\n\n watch(computedId, (val, oldVal) => {\n if (parent.isGroupActivator || parent.root.itemsRegistration.value === 'props') return;\n parent.root.unregister(oldVal);\n nextTick(() => {\n parent.root.register(val, parent.id.value, toValue(isDisabled), isGroup);\n });\n });\n\n watch(\n () => toValue(isDisabled),\n (val) => {\n parent.root.updateDisabled(computedId.value, val);\n }\n );\n\n isGroup && provide(CdsNestedSymbol, item);\n\n return item;\n};\n\n/**\n * A composable function that sets up and provides a nested group activator context.\n *\n * This function injects the current context associated with the CdsNestedSymbol and merges it with a\n * new property `isGroupActivator` set to `true`. The updated context is provided back\n * for nested components to access. This is typically used in hierarchical component structures\n * to activate nested group functionality.\n *\n * Dependencies:\n * - `inject` is used to retrieve the parent context of the CdsNestedSymbol.\n * - `provide` is used to supply the updated context to the component tree.\n *\n * Context Symbols:\n * - `CdsNestedSymbol` represents the unique symbol key used for nested data manipulation.\n * - `emptyNested` is the default context provided when no parent context is available.\n */\nexport const useNestedGroupActivator = () => {\n const parent = inject(CdsNestedSymbol, emptyNested);\n\n provide(CdsNestedSymbol, { ...parent, isGroupActivator: true });\n};\n"],"names":["value"],"mappings":"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"}
1
+ {"version":3,"file":"useNested.js","sources":["../../../../../src/composables/useNested/useNested.ts"],"sourcesContent":["import type { ListItem } from '@cds/composables/useItems';\nimport { getCurrentInstance, propsFactory, useProxyModel } from '@cds/core';\nimport { error, throttle } from '@cds/utils';\nimport {\n computed,\n type ExtractPublicPropTypes,\n inject,\n type MaybeRefOrGetter,\n nextTick,\n onBeforeMount,\n onBeforeUnmount,\n type PropType,\n provide,\n type Ref,\n shallowRef,\n toRaw,\n toRef,\n toValue,\n unref,\n watch\n} from 'vue';\n\nimport { CdsNestedSymbol, emptyNested } from './internal/useNested.constants';\nimport type {\n ActiveStrategyProp,\n ItemsRegistrationType,\n NestedProvide,\n OpenStrategyProp,\n SelectStrategyProp\n} from './internal/useNested.types';\nimport {\n independentActiveStrategy,\n independentSingleActiveStrategy,\n leafActiveStrategy,\n leafSingleActiveStrategy\n} from './strategies/activeStrategies';\nimport { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from './strategies/openStrategies';\nimport {\n branchSelectStrategy,\n classicSelectStrategy,\n independentSelectStrategy,\n independentSingleSelectStrategy,\n leafSelectStrategy,\n leafSingleSelectStrategy,\n trunkSelectStrategy\n} from './strategies/selectStrategies';\n\nexport const defineNestedProps = propsFactory(\n {\n /**\n * Разрешает активацию элементов (выделение текущего элемента без режима выбора)\n * @en Allows items to be activated (highlighting the current item without selection mode)\n */\n activatable: Boolean,\n /**\n * Разрешает выбор элементов\n * @en Allows items to be selected\n */\n selectable: Boolean,\n /**\n * Стратегия активации элементов (одиночная, множественная и т.д.)\n * @en Activation strategy for items (single, multiple, and so on)\n */\n activeStrategy: [String, Function, Object] as PropType<ActiveStrategyProp>,\n /**\n * Стратегия выбора элементов (`single-leaf`, `leaf`, `independent`, `classic` и т.д.)\n * @en Selection strategy for items (`single-leaf`, `leaf`, `independent`, `classic`, and so on)\n */\n selectStrategy: [String, Function, Object] as PropType<SelectStrategyProp>,\n /**\n * Стратегия раскрытия групп (`list`, `single`, `multiple`)\n * @en Expansion strategy for groups (`list`, `single`, `multiple`)\n */\n openStrategy: [String, Object] as PropType<OpenStrategyProp>,\n /**\n * Идентификаторы раскрытых групп (поддерживает v-model через `update:opened`)\n * @en Identifiers of the expanded groups (supports v-model through `update:opened`)\n */\n opened: null,\n /**\n * Идентификаторы активных элементов (поддерживает v-model через `update:activated`)\n * @en Identifiers of the active items (supports v-model through `update:activated`)\n */\n activated: null,\n /**\n * Идентификаторы выбранных элементов (поддерживает v-model через `update:selected`)\n * @en Identifiers of the selected items (supports v-model through `update:selected`)\n */\n selected: null,\n /**\n * Делает выбор обязательным: запрещает снимать выбор с последнего элемента\n * @en Makes the selection mandatory: forbids clearing the selection of the last item\n */\n mandatory: Boolean,\n /**\n * Делает выбор обязательным: запрещает снимать выбор с последнего элемента\n * @en Makes the selection mandatory: forbids clearing the selection of the last item\n */\n required: Boolean,\n /**\n * Стратегия регистрации элементов: `render` — по мере рендеринга, иначе единоразово\n * @en Item registration strategy: `render` — as they are rendered, otherwise all at once\n */\n itemsRegistration: {\n type: String as PropType<ItemsRegistrationType>,\n default: 'render'\n }\n },\n 'nested'\n);\n\nexport interface NestedProps extends ExtractPublicPropTypes<ReturnType<typeof defineNestedProps>> {}\n\n/**\n * Provides functionality to manage nested structures of items, including operations like activation, selection,\n * and opening or collapsing sub-items. It handles interactions with hierarchical data structures and maintains\n * internal mappings for children, parents, and disabled states of items.\n *\n * @param {NestedProps} props - Properties that define the nested behavior and configurations.\n * @param {Object} param1 - Additional configuration options.\n * @param {Ref<ListItem[]>} param1.items - Reactive reference to the list of items in the nested structure.\n * @param {MaybeRefOrGetter<boolean>} param1.returnObject - Controls whether the item raw object or its value is returned.\n * @param {MaybeRefOrGetter<boolean>} param1.scrollToActive - Determines if the nested structure should scroll to the active item.\n * @return {NestedProvide} - An object containing methods and properties to manage nested items, including registration,\n * unregistration, and updating states like selection or opening.\n */\nexport function useNested(\n props: NestedProps,\n {\n items,\n returnObject,\n scrollToActive\n }: {\n items: Ref<ListItem[]>;\n returnObject: MaybeRefOrGetter<boolean>;\n scrollToActive: MaybeRefOrGetter<boolean>;\n }\n) {\n let isUnmounted = false;\n const children = shallowRef(new Map<unknown, unknown[]>());\n const parents = shallowRef(new Map<unknown, unknown>());\n const disabled = shallowRef(new Set<unknown>());\n\n const vm = getCurrentInstance('nested');\n\n const opened = useProxyModel(\n props,\n 'opened',\n props.opened,\n (value) => new Set(Array.isArray(value) ? value.map((item) => toRaw(item)) : value),\n (value) => [...value.values()]\n );\n\n const activeStrategy = computed(() => {\n if (typeof props.activeStrategy === 'object') return props.activeStrategy;\n if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory);\n\n switch (props.activeStrategy) {\n case 'leaf':\n return leafActiveStrategy(props.mandatory);\n case 'single-leaf':\n return leafSingleActiveStrategy(props.mandatory);\n case 'independent':\n return independentActiveStrategy(props.mandatory);\n case 'single-independent':\n default:\n return independentSingleActiveStrategy(props.mandatory);\n }\n });\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy;\n if (typeof props.selectStrategy === 'function') return props.selectStrategy(props.mandatory);\n\n switch (props.selectStrategy) {\n case 'single-leaf':\n return leafSingleSelectStrategy(props.mandatory);\n case 'leaf':\n return leafSelectStrategy(props.mandatory);\n case 'independent':\n return independentSelectStrategy(props.mandatory);\n case 'single-independent':\n return independentSingleSelectStrategy(props.mandatory);\n case 'trunk':\n return trunkSelectStrategy(props.mandatory);\n case 'branch':\n return branchSelectStrategy(props.mandatory);\n case 'classic':\n default:\n return classicSelectStrategy(props.mandatory);\n }\n });\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'object') return props.openStrategy;\n\n switch (props.openStrategy) {\n case 'list':\n return listOpenStrategy;\n case 'single':\n return singleOpenStrategy;\n case 'multiple':\n default:\n return multipleOpenStrategy;\n }\n });\n\n const activated = useProxyModel(\n props,\n 'activated',\n props.activated,\n (value) => unref(activeStrategy).in(value, unref(children), unref(parents)),\n (value) => unref(activeStrategy).out(value, unref(children), unref(parents))\n );\n const selected = useProxyModel(\n props,\n 'selected',\n props.selected,\n (value) => unref(selectStrategy).in(value, unref(children), unref(parents), unref(disabled)),\n (value) => unref(selectStrategy).out(value, unref(children), unref(parents))\n );\n\n onBeforeUnmount(() => {\n isUnmounted = true;\n });\n\n const nodeIds = new Set<unknown>();\n\n const itemsUpdatePropagation = throttle(() => {\n nextTick(() => {\n children.value = new Map(children.value);\n parents.value = new Map(parents.value);\n });\n }, 100);\n\n watch(\n () => [items.value, toValue(returnObject)],\n () => {\n if (props.itemsRegistration === 'props') {\n updateInternalMaps();\n }\n },\n { immediate: true }\n );\n\n function getPath(id: unknown) {\n const path: unknown[] = [];\n let parent: unknown = toRaw(id);\n\n while (parent !== undefined) {\n path.unshift(parent);\n parent = parents.value.get(parent);\n }\n\n return path;\n }\n\n function updateInternalMaps() {\n const _parents = new Map();\n const _children = new Map();\n const _disabled = new Set();\n\n const getValue = toValue(returnObject) ? (item: ListItem) => toRaw(item.raw) : (item: ListItem) => item.value;\n\n const stack = [...items.value];\n let i = 0;\n while (i < stack.length) {\n const item = stack[i++];\n const itemValue = getValue(item);\n\n if (item.children) {\n const childValues = [];\n for (const child of item.children) {\n const childValue = getValue(child);\n _parents.set(childValue, itemValue);\n childValues.push(childValue);\n stack.push(child);\n }\n _children.set(itemValue, childValues);\n }\n\n if (item.props.disabled) {\n _disabled.add(itemValue);\n }\n }\n\n children.value = _children;\n parents.value = _parents;\n disabled.value = _disabled;\n }\n\n const nested: NestedProvide = {\n id: shallowRef(),\n root: {\n opened,\n activatable: toRef(() => props.activatable),\n scrollToActive: toRef(() => toValue(scrollToActive)),\n selectable: toRef(() => props.selectable),\n activated,\n selected,\n selectedValues: computed(() => {\n const arr = [];\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key);\n }\n\n return arr;\n }),\n itemsRegistration: toRef(() => props.itemsRegistration),\n register: (id, parentId, isDisabled, isGroup) => {\n if (nodeIds.has(id)) {\n const path = getPath(id).map(String).join(' -> ');\n const newPath = getPath(parentId).concat(id).map(String).join(' -> ');\n error(`Multiple nodes with the same ID\\n\\t${path}\\n\\t${newPath}`);\n return;\n } else {\n nodeIds.add(id);\n }\n\n parentId && id !== parentId && parents.value.set(id, parentId);\n\n isDisabled && disabled.value.add(id);\n isGroup && children.value.set(id, []);\n\n if (parentId != null) {\n children.value.set(parentId, [...(children.value.get(parentId) || []), id]);\n }\n itemsUpdatePropagation();\n },\n unregister: (id) => {\n if (isUnmounted) return;\n\n nodeIds.delete(id);\n children.value.delete(id);\n disabled.value.delete(id);\n const parent = parents.value.get(id);\n if (parent) {\n const list = children.value.get(parent) ?? [];\n children.value.set(\n parent,\n list.filter((child) => child !== id)\n );\n }\n parents.value.delete(id);\n itemsUpdatePropagation();\n },\n updateDisabled: (id, isDisabled) => {\n if (isDisabled) {\n disabled.value.add(id);\n } else {\n disabled.value.delete(id);\n }\n // classic selection requires refresh to re-evaluate on/off/indeterminate but\n // currently it is only run for selection interactions, so it will set new disabled\n // to \"off\" and the visual state becomes out of sync\n // -- selected.value = new Map(selected.value)\n // it is not clear if the framework should un-select when disabled changed to true\n // more discussion is needed\n },\n open: (id, value, event) => {\n vm.emit('click:open', { id, value, path: getPath(id), event });\n\n const newOpened = openStrategy.value.open({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event\n });\n\n newOpened && (opened.value = newOpened);\n },\n openOnSelect: (id, value, event) => {\n const newOpened = openStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event\n });\n newOpened && (opened.value = newOpened);\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event });\n\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n disabled: disabled.value,\n event\n });\n newSelected && (selected.value = newSelected);\n\n nested.root.openOnSelect(id, value, event);\n },\n activate: (id, value, event) => {\n if (!props.activatable) {\n return nested.root.select(id, true, event);\n }\n\n vm.emit('click:activate', { id, value, path: getPath(id), event });\n\n const newActivated = activeStrategy.value.activate({\n id,\n value,\n activated: new Set(activated.value),\n children: children.value,\n parents: parents.value,\n event\n });\n\n if (newActivated.size !== activated.value.size) {\n activated.value = newActivated;\n } else {\n for (const value of newActivated) {\n if (!activated.value.has(value)) {\n activated.value = newActivated;\n return;\n }\n }\n for (const value of activated.value) {\n if (!newActivated.has(value)) {\n activated.value = newActivated;\n return;\n }\n }\n }\n },\n children,\n parents,\n disabled,\n getPath\n }\n };\n\n provide(CdsNestedSymbol, nested);\n\n return nested.root;\n}\n\n/**\n * Function `useNestedItem` provides a mechanism to manage and interact with a nested item in a hierarchical structure.\n * This function is designed to work within a system dependent on reactivity and provides integration with a parent context.\n *\n * @param {MaybeRefOrGetter<unknown>} id - A unique identifier for the nested item. It can be a reactive reference, a getter, or a raw value.\n * @param {MaybeRefOrGetter<boolean>} isDisabled - A flag indicating whether the nested item is disabled. It supports reactivity.\n * @param {boolean} isGroup - A boolean value specifying if the nested item acts as a group parent.\n * @returns {Object} - Returns an item object containing reactive properties and methods to interact with the nested item and its hierarchy.\n *\n * Reactive State and Methods:\n * - `id`: The unique identifier of the nested item, resolved reactively.\n * - `open(open: boolean, e: Event)`: Toggles the open state for this item.\n * - `openOnSelect(open: boolean, e?: Event)`: Toggles the open state based on selection changes.\n * - `isOpen`: A computed property reflecting whether the item is currently open.\n * - `parent`: A computed property referring to the item's immediate parent in the hierarchy.\n * - `activate(activated: boolean, e?: Event)`: Activates or deactivates the item.\n * - `isActivated`: A computed property reflecting whether the item is currently activated.\n * - `scrollToActive`: Scrolls to the active item in the hierarchy.\n * - `select(selected: boolean, e?: Event)`: Selects or deselects the item.\n * - `isSelected`: A computed property indicating if the item is selected.\n * - `isIndeterminate`: A computed property indicating if the item selection is in an indeterminate state.\n * - `isLeaf`: A computed property indicating if the item is a leaf node (i.e., without children).\n * - `isGroupActivator`: A flag inherited from the parent, used for group-specific activation.\n *\n * Lifecycle Management:\n * - Registers the nested item with its parent context upon mounting unless `isGroupActivator` or specific parent configuration prevents registration.\n * - Unregisters the nested item from its parent context upon unmounting unless `isGroupActivator` or specific parent configuration prevents it.\n * - Tracks updates to `id` or `isDisabled` and notifies the parent context to ensure consistency.\n *\n * Dependency Injection:\n * - Injects a parent context using the symbol `CdsNestedSymbol`.\n * - Provides the current item to descendant contexts if `isGroup` is true.\n */\nexport const useNestedItem = (\n id: MaybeRefOrGetter<unknown>,\n isDisabled: MaybeRefOrGetter<boolean>,\n isGroup: boolean\n) => {\n const parent = inject(CdsNestedSymbol, emptyNested);\n\n const uidSymbol = Symbol('nested item');\n const computedId = computed(() => {\n const idValue = toRaw(toValue(id));\n return idValue !== undefined ? idValue : uidSymbol;\n });\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(computedId.value, open, e),\n openOnSelect: (open: boolean, e?: Event) => parent.root.openOnSelect(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n activate: (activated: boolean, e?: Event) => parent.root.activate(computedId.value, activated, e),\n isActivated: computed(() => parent.root.activated.value.has(computedId.value)),\n scrollToActive: parent.root.scrollToActive,\n select: (selected: boolean, e?: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(computedId.value) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n isGroupActivator: parent.isGroupActivator\n };\n\n onBeforeMount(() => {\n if (parent.isGroupActivator || parent.root.itemsRegistration.value === 'props') return;\n nextTick(() => {\n parent.root.register(computedId.value, parent.id.value, toValue(isDisabled), isGroup);\n });\n });\n\n onBeforeUnmount(() => {\n if (parent.isGroupActivator || parent.root.itemsRegistration.value === 'props') return;\n parent.root.unregister(computedId.value);\n });\n\n watch(computedId, (val, oldVal) => {\n if (parent.isGroupActivator || parent.root.itemsRegistration.value === 'props') return;\n parent.root.unregister(oldVal);\n nextTick(() => {\n parent.root.register(val, parent.id.value, toValue(isDisabled), isGroup);\n });\n });\n\n watch(\n () => toValue(isDisabled),\n (val) => {\n parent.root.updateDisabled(computedId.value, val);\n }\n );\n\n isGroup && provide(CdsNestedSymbol, item);\n\n return item;\n};\n\n/**\n * A composable function that sets up and provides a nested group activator context.\n *\n * This function injects the current context associated with the CdsNestedSymbol and merges it with a\n * new property `isGroupActivator` set to `true`. The updated context is provided back\n * for nested components to access. This is typically used in hierarchical component structures\n * to activate nested group functionality.\n *\n * Dependencies:\n * - `inject` is used to retrieve the parent context of the CdsNestedSymbol.\n * - `provide` is used to supply the updated context to the component tree.\n *\n * Context Symbols:\n * - `CdsNestedSymbol` represents the unique symbol key used for nested data manipulation.\n * - `emptyNested` is the default context provided when no parent context is available.\n */\nexport const useNestedGroupActivator = () => {\n const parent = inject(CdsNestedSymbol, emptyNested);\n\n provide(CdsNestedSymbol, { ...parent, isGroupActivator: true });\n};\n"],"names":["value"],"mappings":"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"}
@@ -4,6 +4,10 @@ import { toRef } from "vue";
4
4
  const positionValues = ["static", "relative", "fixed", "absolute", "sticky"];
5
5
  const definePositionProps = propsFactory(
6
6
  {
7
+ /**
8
+ * CSS-позиционирование компонента — значение свойства `position`
9
+ * @en CSS positioning of the component — the value of the `position` property
10
+ */
7
11
  position: {
8
12
  type: String,
9
13
  validator: (v) => positionValues.includes(v)
@@ -1 +1 @@
1
- {"version":3,"file":"usePosition.js","sources":["../../../../../src/composables/usePosition/usePosition.ts"],"sourcesContent":["import { getCurrentInstanceName, propsFactory } from '@cds/core';\nimport { type ExtractPublicPropTypes, type PropType, toRef } from 'vue';\n\nconst positionValues = ['static', 'relative', 'fixed', 'absolute', 'sticky'] as const;\ntype Position = (typeof positionValues)[number];\n\n/**\n * A factory function that defines and creates position-related component props.\n *\n * @constant\n * @type {Object}\n *\n * @property {Object} position - Defines the position property for a component.\n * @property {String} position.type - The expected type of the position property.\n * @property {Function} position.validator - Validates if the provided value for the position property\n * is included in the predefined position values.\n */\nexport const definePositionProps = propsFactory(\n {\n position: {\n type: String as PropType<Position>,\n validator: (v: any) => positionValues.includes(v)\n }\n },\n 'position'\n);\n\nexport interface PositionProps extends ExtractPublicPropTypes<ReturnType<typeof definePositionProps>> {}\n\n/**\n * A custom hook that generates CSS class names based on the provided position property.\n *\n * @param {PositionProps} props - The properties object containing the position property.\n * @param {string} [name=getCurrentInstanceName()] - The base name used for generating the CSS class name.\n * @return {Object} An object containing the computed `positionClasses`.\n */\nexport function usePosition(props: PositionProps, name = getCurrentInstanceName()) {\n const positionClasses = toRef(() => {\n return props.position ? `${name}--${props.position}` : undefined;\n });\n\n return { positionClasses };\n}\n"],"names":[],"mappings":";;;AAGA,MAAM,iBAAiB,CAAC,UAAU,YAAY,SAAS,YAAY,QAAQ;AAcpE,MAAM,sBAAsB;AAAA,EACjC;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,MACN,WAAW,CAAC,MAAW,eAAe,SAAS,CAAC;AAAA,IAAA;AAAA,EAClD;AAAA,EAEF;AACF;AAWO,SAAS,YAAY,OAAsB,OAAO,0BAA0B;AACjF,QAAM,kBAAkB,MAAM,MAAM;AAClC,WAAO,MAAM,WAAW,GAAG,IAAI,KAAK,MAAM,QAAQ,KAAK;AAAA,EACzD,CAAC;AAED,SAAO,EAAE,gBAAA;AACX;"}
1
+ {"version":3,"file":"usePosition.js","sources":["../../../../../src/composables/usePosition/usePosition.ts"],"sourcesContent":["import { getCurrentInstanceName, propsFactory } from '@cds/core';\nimport { type ExtractPublicPropTypes, type PropType, toRef } from 'vue';\n\nconst positionValues = ['static', 'relative', 'fixed', 'absolute', 'sticky'] as const;\ntype Position = (typeof positionValues)[number];\n\n/**\n * A factory function that defines and creates position-related component props.\n *\n * @constant\n * @type {Object}\n *\n * @property {Object} position - Defines the position property for a component.\n * @property {String} position.type - The expected type of the position property.\n * @property {Function} position.validator - Validates if the provided value for the position property\n * is included in the predefined position values.\n */\nexport const definePositionProps = propsFactory(\n {\n /**\n * CSS-позиционирование компонента — значение свойства `position`\n * @en CSS positioning of the component — the value of the `position` property\n */\n position: {\n type: String as PropType<Position>,\n validator: (v: any) => positionValues.includes(v)\n }\n },\n 'position'\n);\n\nexport interface PositionProps extends ExtractPublicPropTypes<ReturnType<typeof definePositionProps>> {}\n\n/**\n * A custom hook that generates CSS class names based on the provided position property.\n *\n * @param {PositionProps} props - The properties object containing the position property.\n * @param {string} [name=getCurrentInstanceName()] - The base name used for generating the CSS class name.\n * @return {Object} An object containing the computed `positionClasses`.\n */\nexport function usePosition(props: PositionProps, name = getCurrentInstanceName()) {\n const positionClasses = toRef(() => {\n return props.position ? `${name}--${props.position}` : undefined;\n });\n\n return { positionClasses };\n}\n"],"names":[],"mappings":";;;AAGA,MAAM,iBAAiB,CAAC,UAAU,YAAY,SAAS,YAAY,QAAQ;AAcpE,MAAM,sBAAsB;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA;AAAA,IAKE,UAAU;AAAA,MACR,MAAM;AAAA,MACN,WAAW,CAAC,MAAW,eAAe,SAAS,CAAC;AAAA,IAAA;AAAA,EAClD;AAAA,EAEF;AACF;AAWO,SAAS,YAAY,OAAsB,OAAO,0BAA0B;AACjF,QAAM,kBAAkB,MAAM,MAAM;AAClC,WAAO,MAAM,WAAW,GAAG,IAAI,KAAK,MAAM,QAAQ,KAAK;AAAA,EACzD,CAAC;AAED,SAAO,EAAE,gBAAA;AACX;"}
@@ -2,7 +2,10 @@ import { p as propsFactory } from "../../core/propsFactory.js";
2
2
  import "vue";
3
3
  const defineReadonlyProps = propsFactory(
4
4
  {
5
- /** Только для чтения */
5
+ /**
6
+ * Только для чтения
7
+ * @en Read-only state
8
+ */
6
9
  readonly: {
7
10
  type: Boolean,
8
11
  default: null
@@ -1 +1 @@
1
- {"version":3,"file":"useReadonly.js","sources":["../../../../../src/composables/useReadonly/useReadonly.ts"],"sourcesContent":["import { getCurrentInstanceName, propsFactory } from '@cds/core';\nimport { type ExtractPublicPropTypes, type PropType, toRef, toValue } from 'vue';\n\n/**\n * A factory-generated configuration object for defining a readonly property within a Vue component.\n * This utility creates a `readonly` prop with a Boolean type and a default value set to `false`.\n *\n * The prop is intended to specify whether a component property should be immutable,\n * allowing only read operations.\n *\n * @constant {Object} defineReadonlyProps\n */\nexport const defineReadonlyProps = propsFactory(\n {\n /** Только для чтения */\n readonly: {\n type: Boolean as PropType<boolean | null>,\n default: null\n }\n },\n 'readonly'\n);\n\nexport type ReadonlyProps = ExtractPublicPropTypes<ReturnType<typeof defineReadonlyProps>>;\n\nexport function useReadonly(props: ReadonlyProps, name = getCurrentInstanceName()) {\n const readonlyClasses = toRef(() => ({\n [`${name}--readonly`]: toValue(props).readonly\n }));\n\n return { readonlyClasses };\n}\n"],"names":[],"mappings":";;AAYO,MAAM,sBAAsB;AAAA,EACjC;AAAA;AAAA,IAEE,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,EACX;AAAA,EAEF;AACF;"}
1
+ {"version":3,"file":"useReadonly.js","sources":["../../../../../src/composables/useReadonly/useReadonly.ts"],"sourcesContent":["import { getCurrentInstanceName, propsFactory } from '@cds/core';\nimport { type ExtractPublicPropTypes, type PropType, toRef, toValue } from 'vue';\n\n/**\n * A factory-generated configuration object for defining a readonly property within a Vue component.\n * This utility creates a `readonly` prop with a Boolean type and a default value set to `false`.\n *\n * The prop is intended to specify whether a component property should be immutable,\n * allowing only read operations.\n *\n * @constant {Object} defineReadonlyProps\n */\nexport const defineReadonlyProps = propsFactory(\n {\n /**\n * Только для чтения\n * @en Read-only state\n */\n readonly: {\n type: Boolean as PropType<boolean | null>,\n default: null\n }\n },\n 'readonly'\n);\n\nexport type ReadonlyProps = ExtractPublicPropTypes<ReturnType<typeof defineReadonlyProps>>;\n\nexport function useReadonly(props: ReadonlyProps, name = getCurrentInstanceName()) {\n const readonlyClasses = toRef(() => ({\n [`${name}--readonly`]: toValue(props).readonly\n }));\n\n return { readonlyClasses };\n}\n"],"names":[],"mappings":";;AAYO,MAAM,sBAAsB;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA;AAAA,IAKE,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,EACX;AAAA,EAEF;AACF;"}
@@ -2,7 +2,10 @@ import { p as propsFactory } from "../../core/propsFactory.js";
2
2
  import { toRef, shallowRef, onMounted } from "vue";
3
3
  const defineRevealProps = propsFactory(
4
4
  {
5
- /** Анимирует индикатор от нуля до текущего значения при появлении компонента. Объект `{ duration }` задаёт длительность анимации в миллисекундах */
5
+ /**
6
+ * Анимирует индикатор от нуля до текущего значения при появлении компонента. Объект `{ duration }` задаёт длительность анимации в миллисекундах
7
+ * @en Animates the indicator from zero to the current value when the component appears. The `{ duration }` object sets the animation duration in milliseconds
8
+ */
6
9
  reveal: {
7
10
  type: [Boolean, Object],
8
11
  default: false