@livestorm/ui-vue 3.0.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. package/README.md +3 -3
  2. package/components-vite.js +2 -2
  3. package/dist/UiButton-uyW8EHRJ.mjs +602 -0
  4. package/dist/UiTimelineItem-EiOEi1yF.mjs +7293 -0
  5. package/dist/UiTooltip-DZcPD6_N.mjs +158 -0
  6. package/dist/a11y-CaZxRWzo.mjs +6 -0
  7. package/dist/breakpoints.mjs +4 -9
  8. package/dist/bus.mjs +5 -5
  9. package/dist/components.mjs +236 -231
  10. package/dist/i18n-B8QOMuFD.mjs +46 -0
  11. package/dist/index.mjs +4 -91
  12. package/dist/integrations.mjs +3 -14
  13. package/dist/layouts.mjs +228 -236
  14. package/dist/responsive.mjs +31 -36
  15. package/dist/slot.mjs +11 -17
  16. package/dist/toastDSV2-D3xDZPe5.mjs +105 -0
  17. package/dist/types/index.d.ts +19 -1
  18. package/dist/types/src/components/Toast/ToastMessage.vue.d.ts +17 -7
  19. package/dist/types/src/components/Toast/toastDSV2.d.ts +89 -64
  20. package/dist/types/src/components/UiActionBar/types.d.ts +2 -0
  21. package/dist/types/src/components/UiAvatar/UiAvatar.vue.d.ts +4 -2
  22. package/dist/types/src/components/UiAvatarList/UiAvatarList.vue.d.ts +3 -2
  23. package/dist/types/src/components/UiBanner/UiBanner.vue.d.ts +13 -1
  24. package/dist/types/src/components/UiButton/UiButton.vue.d.ts +95 -35
  25. package/dist/types/src/components/UiButtonGroup/UiButtonGroup.vue.d.ts +8 -2
  26. package/dist/types/src/components/UiButtonGroup/types.d.ts +4 -0
  27. package/dist/types/src/components/UiChoice/UiChoice.vue.d.ts +71 -0
  28. package/dist/types/src/components/UiChoice/index.d.ts +2 -0
  29. package/dist/types/src/components/UiChoice/types.d.ts +7 -0
  30. package/dist/types/src/components/UiColorField/UiColorField.vue.d.ts +1 -1
  31. package/dist/types/src/components/UiColorPicker/UiColorPicker.vue.d.ts +2 -2
  32. package/dist/types/src/components/UiCombobox/UiCombobox.types.d.ts +47 -0
  33. package/dist/types/src/components/UiCombobox/UiCombobox.vue.d.ts +40 -0
  34. package/dist/types/src/components/UiCombobox/index.d.ts +2 -0
  35. package/dist/types/src/components/UiDataTable/UiDataTable.types.d.ts +46 -0
  36. package/dist/types/src/components/UiDataTable/UiDataTable.vue.d.ts +136 -0
  37. package/dist/types/src/components/UiDataTable/index.d.ts +5 -0
  38. package/dist/types/src/components/UiDrawer/UiDrawer.vue.d.ts +28 -0
  39. package/dist/types/src/components/UiDrawer/UiDrawerContent.vue.d.ts +18 -0
  40. package/dist/types/src/components/UiDrawer/UiDrawerTrigger.vue.d.ts +14 -0
  41. package/dist/types/src/components/UiDropdown/DropdownItemCheckbox.vue.d.ts +3 -0
  42. package/dist/types/src/components/UiDropdown/UiDropdownContent.vue.d.ts +10 -0
  43. package/dist/types/src/components/UiDropdown/UiDropdownGroup.vue.d.ts +17 -0
  44. package/dist/types/src/components/UiDropdown/UiDropdownItem.vue.d.ts +8 -5
  45. package/dist/types/src/components/UiDropdown/UiDropdownTrigger.vue.d.ts +21 -5
  46. package/dist/types/src/components/UiDropdown/index.d.ts +1 -0
  47. package/dist/types/src/components/UiEmojiPickerList/UiEmojiPickerList.vue.d.ts +22 -0
  48. package/dist/types/src/components/UiEmptyState/UiEmptyState.vue.d.ts +8 -3
  49. package/dist/types/src/components/UiFieldWrapper/UiFieldWrapper.vue.d.ts +2 -2
  50. package/dist/types/src/components/UiInputCheckbox/CheckboxGlyph.vue.d.ts +17 -0
  51. package/dist/types/src/components/UiInputCheckbox/UiInputCheckbox.vue.d.ts +35 -4
  52. package/dist/types/src/components/UiInputRadio/RadioGlyph.vue.d.ts +19 -0
  53. package/dist/types/src/components/UiInputRadio/UiInputRadio.vue.d.ts +21 -8
  54. package/dist/types/src/components/UiInputRadio/UiInputRadioGroup.vue.d.ts +6 -1
  55. package/dist/types/src/components/UiInputRadio/types.d.ts +1 -1
  56. package/dist/types/src/components/UiInputSelect/UiInputSelect.vue.d.ts +5 -5
  57. package/dist/types/src/components/UiInputTextarea/UiInputTextarea.vue.d.ts +5 -5
  58. package/dist/types/src/components/UiListItem/UiListItem.vue.d.ts +18 -4
  59. package/dist/types/src/components/UiLoader/UiSpinnerIcon.vue.d.ts +3 -0
  60. package/dist/types/src/components/UiMenu/UiMenuContent.vue.d.ts +15 -2
  61. package/dist/types/src/components/UiMenu/UiMenuItem.vue.d.ts +9 -3
  62. package/dist/types/src/components/UiNestedOptions/UiNestedOptions.vue.d.ts +13 -0
  63. package/dist/types/src/components/UiPage/UiPage.vue.d.ts +79 -15
  64. package/dist/types/src/components/UiPagination/UiPagination.vue.d.ts +36 -0
  65. package/dist/types/src/components/UiPagination/index.d.ts +2 -0
  66. package/dist/types/src/components/UiPagination/types.d.ts +4 -0
  67. package/dist/types/src/components/UiPane/UiPane.vue.d.ts +22 -0
  68. package/dist/types/src/components/UiPane/UiPaneContent.vue.d.ts +75 -0
  69. package/dist/types/src/components/UiPane/UiPaneTrigger.vue.d.ts +14 -0
  70. package/dist/types/src/components/UiPane/index.d.ts +5 -0
  71. package/dist/types/src/components/UiRating/UiRating.vue.d.ts +62 -0
  72. package/dist/types/src/components/UiRating/types.d.ts +1 -0
  73. package/dist/types/src/components/UiRoomButton/UiRoomButton.vue.d.ts +5 -3
  74. package/dist/types/src/components/UiRoomCountdown/UiRoomCountdown.vue.d.ts +32 -0
  75. package/dist/types/src/components/UiShell/UiShell.vue.d.ts +3 -0
  76. package/dist/types/src/components/UiSideMenu/UiSideMenu.vue.d.ts +22 -1
  77. package/dist/types/src/components/UiSideMenu/UiSideMenuItemContent.vue.d.ts +2 -2
  78. package/dist/types/src/components/UiSwitch/UiSwitch.vue.d.ts +10 -5
  79. package/dist/types/src/components/UiTable/UiTable.vue.d.ts +13 -4
  80. package/dist/types/src/components/UiTable/UiTableActionsCell.vue.d.ts +49 -0
  81. package/dist/types/src/components/UiTable/UiTableActionsHeaderCell.vue.d.ts +3 -0
  82. package/dist/types/src/components/UiTable/UiTableBody.vue.d.ts +11 -1
  83. package/dist/types/src/components/UiTable/UiTableCell.vue.d.ts +16 -1
  84. package/dist/types/src/components/UiTable/UiTableHeaderCell.vue.d.ts +31 -2
  85. package/dist/types/src/components/UiTable/UiTableRow.vue.d.ts +32 -2
  86. package/dist/types/src/components/UiTable/context.d.ts +3 -0
  87. package/dist/types/src/components/UiTable/index.d.ts +4 -0
  88. package/dist/types/src/components/UiTabs/UiTabs.vue.d.ts +3 -0
  89. package/dist/types/src/components/UiTag/UiTag.types.d.ts +25 -0
  90. package/dist/types/src/components/UiTag/UiTag.vue.d.ts +5 -26
  91. package/dist/types/src/components/UiTag/index.d.ts +2 -1
  92. package/dist/types/src/components/UiTextField/UiTextField.vue.d.ts +10 -5
  93. package/dist/types/src/components/UiTooltip/UiTooltipProvider.vue.d.ts +1 -0
  94. package/dist/types/src/components/UiTooltip/UiTooltipTrigger.vue.d.ts +2 -2
  95. package/dist/types/src/composables/storedThemingApplies.d.ts +17 -0
  96. package/dist/types/src/composables/useButtonStyles.d.ts +1 -0
  97. package/dist/types/src/composables/useChoiceboxSurface.d.ts +11 -0
  98. package/dist/types/src/composables/useContentMode.d.ts +7 -9
  99. package/dist/types/src/composables/useControlModes.d.ts +7 -0
  100. package/dist/types/src/composables/useControlShape.d.ts +24 -0
  101. package/dist/types/src/composables/useFieldFocusEvents.d.ts +12 -0
  102. package/dist/types/src/composables/useIconSize.d.ts +2 -0
  103. package/dist/types/src/composables/usePullGesture.d.ts +42 -0
  104. package/dist/types/src/composables/useThemeAndModes.d.ts +4 -0
  105. package/dist/types/src/theming/colorScale.d.ts +165 -0
  106. package/dist/types/src/theming/legacyColorScale.d.ts +27 -0
  107. package/dist/types/src/theming/presetColors.d.ts +11 -0
  108. package/dist/types/src/theming/primitiveTokens.d.ts +2 -0
  109. package/dist/types/src/utils/effectiveOpacity.d.ts +2 -0
  110. package/dist/types/src/utils/numbers.d.ts +1 -2
  111. package/dist/types/src/utils/tokenColor.d.ts +2 -0
  112. package/dist/ui-vue.css +2 -1
  113. package/dist/utils.mjs +165 -194
  114. package/index.d.ts +18 -0
  115. package/index.js +36 -0
  116. package/package.json +26 -21
  117. package/src/components/Toast/LayoutToasts.vue +19 -11
  118. package/src/components/Toast/ToastMessage.vue +125 -68
  119. package/src/components/Toast/toastDSV2.ts +238 -67
  120. package/src/components/UiActionBar/UiActionBar.vue +4 -3
  121. package/src/components/UiActionBar/UiActionBarItem.vue +9 -6
  122. package/src/components/UiActionBar/types.ts +13 -0
  123. package/src/components/UiAvatar/UiAvatar.vue +8 -2
  124. package/src/components/UiAvatarList/UiAvatarList.vue +51 -20
  125. package/src/components/UiBadge/UiBadge.vue +1 -1
  126. package/src/components/UiBanner/UiBanner.vue +71 -21
  127. package/src/components/UiBreadcrumb/UiBreadcrumb.vue +1 -1
  128. package/src/components/UiButton/UiButton.vue +92 -25
  129. package/src/components/UiButtonGroup/UiButtonGroup.vue +21 -17
  130. package/src/components/UiButtonGroup/UiButtonGroupItem.vue +33 -15
  131. package/src/components/UiButtonGroup/types.ts +19 -0
  132. package/src/components/UiCard/UiCard.vue +20 -23
  133. package/src/components/UiChoice/UiChoice.vue +187 -0
  134. package/src/components/UiChoice/index.ts +2 -0
  135. package/src/components/UiChoice/types.ts +11 -0
  136. package/src/components/UiColorField/UiColorField.vue +2 -2
  137. package/src/components/UiColorPicker/UiColorPicker.vue +11 -8
  138. package/src/components/UiCombobox/UiCombobox.types.ts +52 -0
  139. package/src/components/UiCombobox/UiCombobox.vue +296 -0
  140. package/src/components/UiCombobox/index.ts +2 -0
  141. package/src/components/UiDataTable/UiDataTable.types.ts +47 -0
  142. package/src/components/UiDataTable/UiDataTable.vue +422 -0
  143. package/src/components/UiDataTable/index.ts +12 -0
  144. package/src/components/UiDialog/UiDialogContent.vue +22 -7
  145. package/src/components/UiDrawer/UiDrawer.vue +16 -0
  146. package/src/components/UiDrawer/UiDrawerContent.vue +42 -0
  147. package/src/components/UiDrawer/UiDrawerTrigger.vue +17 -0
  148. package/src/components/UiDropdown/DropdownItemCheckbox.vue +10 -0
  149. package/src/components/UiDropdown/UiDropdownContent.vue +32 -21
  150. package/src/components/UiDropdown/UiDropdownGroup.vue +23 -0
  151. package/src/components/UiDropdown/UiDropdownItem.vue +38 -18
  152. package/src/components/UiDropdown/UiDropdownSeparator.vue +1 -1
  153. package/src/components/UiDropdown/UiDropdownTrigger.vue +138 -43
  154. package/src/components/UiDropdown/index.ts +1 -0
  155. package/src/components/UiEmojiPickerList/UiEmojiPickerList.vue +122 -0
  156. package/src/components/UiEmptyState/UiEmptyState.vue +16 -4
  157. package/src/components/UiFieldWrapper/UiFieldWrapper.vue +9 -3
  158. package/src/components/UiHorizontalSeparator/UiHorizontalSeparator.vue +2 -2
  159. package/src/components/UiInputCheckbox/CheckboxGlyph.vue +78 -0
  160. package/src/components/UiInputCheckbox/UiInputCheckbox.vue +213 -177
  161. package/src/components/UiInputEmoji/UiInputEmoji.vue +18 -95
  162. package/src/components/UiInputRadio/RadioGlyph.vue +45 -0
  163. package/src/components/UiInputRadio/UiInputRadio.vue +177 -169
  164. package/src/components/UiInputRadio/UiInputRadioGroup.vue +15 -5
  165. package/src/components/UiInputRadio/types.ts +1 -2
  166. package/src/components/UiInputSelect/UiInputSelect.vue +9 -7
  167. package/src/components/UiInputTextarea/UiInputTextarea.vue +20 -35
  168. package/src/components/UiLabel/UiLabel.vue +1 -1
  169. package/src/components/UiListItem/UiListItem.vue +55 -9
  170. package/src/components/UiLoader/UiLoader.vue +4 -20
  171. package/src/components/UiLoader/UiSpinnerIcon.vue +21 -0
  172. package/src/components/UiMenu/UiMenuContent.vue +24 -3
  173. package/src/components/UiMenu/UiMenuGroup.vue +1 -1
  174. package/src/components/UiMenu/UiMenuItem.vue +14 -3
  175. package/src/components/UiMenu/UiMenuSubContent.vue +1 -1
  176. package/src/components/UiMenu/UiMenuSubTrigger.vue +1 -1
  177. package/src/components/UiNestedOptions/UiNestedOptions.vue +6 -0
  178. package/src/components/UiPage/UiPage.vue +190 -32
  179. package/src/components/UiPagination/UiPagination.vue +99 -0
  180. package/src/components/UiPagination/index.ts +2 -0
  181. package/src/components/UiPagination/types.ts +28 -0
  182. package/src/components/UiPane/UiPane.vue +20 -0
  183. package/src/components/UiPane/UiPaneContent.vue +232 -0
  184. package/src/components/UiPane/UiPaneTrigger.vue +14 -0
  185. package/src/components/UiPane/index.ts +12 -0
  186. package/src/components/UiPopover/UiPopoverContent.vue +21 -1
  187. package/src/components/UiProgress/UiProgress.vue +2 -2
  188. package/src/components/UiRating/UiRating.vue +258 -0
  189. package/src/components/UiRating/types.ts +1 -0
  190. package/src/components/UiRoomButton/UiRoomButton.vue +10 -41
  191. package/src/components/UiRoomCountdown/UiRoomCountdown.vue +376 -0
  192. package/src/components/UiShell/UiShell.vue +9 -3
  193. package/src/components/UiSideMenu/UiSideMenu.vue +155 -18
  194. package/src/components/UiSideMenu/UiSideMenuItemContent.vue +20 -16
  195. package/src/components/UiStepper/UiStepper.vue +3 -16
  196. package/src/components/UiStepper/UiStepperDescription.vue +1 -13
  197. package/src/components/UiStepper/UiStepperIndicator.vue +11 -48
  198. package/src/components/UiStepper/UiStepperItem.vue +1 -8
  199. package/src/components/UiStepper/UiStepperSeparator.vue +5 -16
  200. package/src/components/UiStepper/UiStepperTitle.vue +1 -10
  201. package/src/components/UiSwitch/UiSwitch.vue +44 -28
  202. package/src/components/UiTable/UiTable.vue +98 -8
  203. package/src/components/UiTable/UiTableActionsCell.vue +135 -0
  204. package/src/components/UiTable/UiTableActionsHeaderCell.vue +19 -0
  205. package/src/components/UiTable/UiTableBody.vue +16 -1
  206. package/src/components/UiTable/UiTableCell.vue +33 -16
  207. package/src/components/UiTable/UiTableHeader.vue +6 -5
  208. package/src/components/UiTable/UiTableHeaderCell.vue +61 -9
  209. package/src/components/UiTable/UiTableRow.vue +46 -10
  210. package/src/components/UiTable/context.ts +5 -0
  211. package/src/components/UiTable/index.ts +4 -0
  212. package/src/components/UiTabs/UiTabs.vue +56 -61
  213. package/src/components/UiTag/UiTag.types.ts +28 -0
  214. package/src/components/UiTag/UiTag.vue +24 -42
  215. package/src/components/UiTag/index.ts +2 -0
  216. package/src/components/UiTextField/UiTextField.vue +21 -36
  217. package/src/components/UiTooltip/UiTooltipContent.vue +1 -1
  218. package/src/components/UiTooltip/UiTooltipProvider.vue +3 -0
  219. package/src/components/UiTooltip/UiTooltipTrigger.vue +16 -1
  220. package/src/composables/storedThemingApplies.ts +19 -0
  221. package/src/composables/useButtonStyles.ts +9 -13
  222. package/src/composables/useChoiceboxSurface.ts +36 -0
  223. package/src/composables/useContentMode.ts +29 -16
  224. package/src/composables/useControlModes.ts +11 -0
  225. package/src/composables/useControlShape.ts +34 -0
  226. package/src/composables/useFieldFocusEvents.ts +30 -0
  227. package/src/composables/useIconSize.ts +15 -0
  228. package/src/composables/usePullGesture.ts +142 -0
  229. package/src/composables/useThemeAndModes.ts +28 -1
  230. package/src/css/body.css +16 -1
  231. package/src/css/fonts.css +39 -5
  232. package/src/global.d.ts +36 -0
  233. package/src/theming/colorScale.ts +173 -0
  234. package/src/theming/legacyColorScale.ts +58 -0
  235. package/src/theming/presetColors.ts +33 -0
  236. package/src/theming/primitiveTokens.ts +71 -0
  237. package/src/utils/effectiveOpacity.ts +8 -0
  238. package/src/utils/i18n.ts +6 -0
  239. package/src/utils/numbers.ts +1 -1
  240. package/src/utils/responsive.d.ts +14 -0
  241. package/src/utils/tokenColor.ts +9 -0
  242. package/dist/UiTimelineItem.vue_vue_type_style_index_0_lang-LpdvGf5X.mjs +0 -6093
  243. package/dist/a11y-BhF_nl7L.mjs +0 -159
  244. package/dist/i18n-Cktw9hIu.mjs +0 -49
  245. package/dist/toastDSV2-wMh-UMzW.mjs +0 -74
  246. package/dist/types/src/components/UiAvatar/index.d.ts +0 -1
  247. package/dist/types/src/components/UiAvatarList/index.d.ts +0 -1
  248. package/dist/types/src/components/UiBadge/index.d.ts +0 -1
  249. package/dist/types/src/components/UiBanner/index.d.ts +0 -2
  250. package/dist/types/src/components/UiButtonGroup/index.d.ts +0 -3
  251. package/dist/types/src/components/UiCarousel/index.d.ts +0 -2
  252. package/dist/types/src/components/UiColorField/index.d.ts +0 -2
  253. package/dist/types/src/components/UiDialog/MarketplaceHeaderExample.vue.d.ts +0 -28
  254. package/dist/types/src/components/UiDialog/index.d.ts +0 -7
  255. package/dist/types/src/components/UiFieldWrapper/index.d.ts +0 -1
  256. package/dist/types/src/components/UiInputCheckbox/index.d.ts +0 -2
  257. package/dist/types/src/components/UiInputEmoji/index.d.ts +0 -1
  258. package/dist/types/src/components/UiInputRadio/index.d.ts +0 -3
  259. package/dist/types/src/components/UiInputSelect/index.d.ts +0 -2
  260. package/dist/types/src/components/UiInputTextarea/index.d.ts +0 -2
  261. package/dist/types/src/components/UiMenu/index.d.ts +0 -10
  262. package/dist/types/src/components/UiProgress/index.d.ts +0 -2
  263. package/dist/types/src/components/UiSwitch/index.d.ts +0 -2
  264. package/dist/types/src/components/UiTabs/index.d.ts +0 -2
  265. package/dist/types/src/components/UiTimeline/index.d.ts +0 -2
  266. package/dist/types/src/components/UiTooltip/index.d.ts +0 -4
  267. package/dist/types/src/mixins/DynamicAction.d.ts +0 -30
  268. package/dist/useThemeAndModes-BzYwSOEv.mjs +0 -108
  269. package/src/components/UiAvatar/index.js +0 -1
  270. package/src/components/UiAvatarList/index.js +0 -1
  271. package/src/components/UiBadge/index.ts +0 -2
  272. package/src/components/UiBanner/index.ts +0 -2
  273. package/src/components/UiButtonGroup/index.ts +0 -3
  274. package/src/components/UiCarousel/index.ts +0 -2
  275. package/src/components/UiColorField/index.ts +0 -2
  276. package/src/components/UiDialog/MarketplaceHeaderExample.vue +0 -217
  277. package/src/components/UiDialog/index.ts +0 -18
  278. package/src/components/UiFieldWrapper/index.ts +0 -1
  279. package/src/components/UiInputCheckbox/index.ts +0 -2
  280. package/src/components/UiInputEmoji/index.ts +0 -1
  281. package/src/components/UiInputRadio/index.ts +0 -3
  282. package/src/components/UiInputSelect/index.ts +0 -2
  283. package/src/components/UiInputTextarea/index.ts +0 -2
  284. package/src/components/UiMenu/index.ts +0 -10
  285. package/src/components/UiProgress/index.ts +0 -2
  286. package/src/components/UiSwitch/index.ts +0 -2
  287. package/src/components/UiTabs/index.ts +0 -5
  288. package/src/components/UiTag/index.js +0 -1
  289. package/src/components/UiTimeline/index.ts +0 -2
  290. package/src/components/UiTooltip/index.js +0 -4
  291. package/src/mixins/DynamicAction.js +0 -61
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Host for trailing row actions. Place it as the last cell of a row, under a
3
+ * UiTableActionsHeaderCell. The overlay variants reveal the actions over the
4
+ * preceding cells on row hover or keyboard focus; the menu variant renders a
5
+ * persistent trigger instead. Without content it renders an empty cell, for
6
+ * rows that have no actions.
7
+ */
8
+ export interface UiTableActionsCellProps {
9
+ /**
10
+ * `default` masks the cells behind the actions with a row-state backdrop,
11
+ * for bare buttons per the Figma spec. `floating` drops the backdrop for
12
+ * self-contained content that brings its own surface, like a UiActionBar.
13
+ * `menu` tucks the actions behind an always-visible trigger button that
14
+ * opens them in a popover on click — no hover needed, so it also works
15
+ * on touch devices.
16
+ * @default 'default'
17
+ */
18
+ variant?: 'default' | 'floating' | 'menu';
19
+ /**
20
+ * Accessible label of the menu trigger. Defaults to the built-in
21
+ * "More actions" label.
22
+ */
23
+ menuLabel?: string;
24
+ /**
25
+ * Keeps the overlay actions shown without row hover or focus, e.g. while
26
+ * a menu they opened is open.
27
+ * @default false
28
+ */
29
+ revealed?: boolean;
30
+ }
31
+ declare var __VLS_27: {}, __VLS_29: {};
32
+ type __VLS_Slots = {} & {
33
+ default?: (props: typeof __VLS_27) => any;
34
+ } & {
35
+ default?: (props: typeof __VLS_29) => any;
36
+ };
37
+ declare const __VLS_base: import("vue").DefineComponent<UiTableActionsCellProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<UiTableActionsCellProps> & Readonly<{}>, {
38
+ variant: "default" | "floating" | "menu";
39
+ menuLabel: string;
40
+ revealed: boolean;
41
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
42
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
43
+ declare const _default: typeof __VLS_export;
44
+ export default _default;
45
+ type __VLS_WithSlots<T, S> = T & {
46
+ new (): {
47
+ $slots: S;
48
+ };
49
+ };
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -1,8 +1,18 @@
1
+ export interface UiTableBodyProps {
2
+ /**
3
+ * Starts the zebra on the first row, so a body that follows another body
4
+ * with an odd number of rows keeps the stripes alternating.
5
+ * @default false
6
+ */
7
+ zebraOffset?: boolean;
8
+ }
1
9
  declare var __VLS_1: {};
2
10
  type __VLS_Slots = {} & {
3
11
  default?: (props: typeof __VLS_1) => any;
4
12
  };
5
- declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
13
+ declare const __VLS_base: import("vue").DefineComponent<UiTableBodyProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<UiTableBodyProps> & Readonly<{}>, {
14
+ zebraOffset: boolean;
15
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
16
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
7
17
  declare const _default: typeof __VLS_export;
8
18
  export default _default;
@@ -1,8 +1,23 @@
1
+ export interface UiTableCellProps {
2
+ /**
3
+ * Renders an en dash (–), the convention for missing values.
4
+ * @default false
5
+ */
6
+ empty?: boolean;
7
+ /**
8
+ * Content alignment. Textual data stays left-aligned; reserve `right` for numeric data.
9
+ * @default 'left'
10
+ */
11
+ align?: 'left' | 'right';
12
+ }
1
13
  declare var __VLS_1: {};
2
14
  type __VLS_Slots = {} & {
3
15
  default?: (props: typeof __VLS_1) => any;
4
16
  };
5
- declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
17
+ declare const __VLS_base: import("vue").DefineComponent<UiTableCellProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<UiTableCellProps> & Readonly<{}>, {
18
+ align: "left" | "right";
19
+ empty: boolean;
20
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
21
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
7
22
  declare const _default: typeof __VLS_export;
8
23
  export default _default;
@@ -1,8 +1,37 @@
1
- declare var __VLS_1: {};
1
+ export type UiTableSortDirection = 'asc' | 'desc' | 'none';
2
+ export interface UiTableHeaderCellProps {
3
+ /**
4
+ * Renders the sort affordance and makes the header interactive.
5
+ * Sorting itself stays in the consumer: listen to `sort` and update `sort-direction`.
6
+ * @default false
7
+ */
8
+ sortable?: boolean;
9
+ /**
10
+ * Current sort direction, controlled by the consumer.
11
+ * @default 'none'
12
+ */
13
+ sortDirection?: UiTableSortDirection;
14
+ /**
15
+ * Content alignment. Textual data stays left-aligned; reserve `right` for numeric data.
16
+ * @default 'left'
17
+ */
18
+ align?: 'left' | 'right';
19
+ }
20
+ declare var __VLS_1: {}, __VLS_3: {};
2
21
  type __VLS_Slots = {} & {
3
22
  default?: (props: typeof __VLS_1) => any;
23
+ } & {
24
+ default?: (props: typeof __VLS_3) => any;
4
25
  };
5
- declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
26
+ declare const __VLS_base: import("vue").DefineComponent<UiTableHeaderCellProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
27
+ sort: () => any;
28
+ }, string, import("vue").PublicProps, Readonly<UiTableHeaderCellProps> & Readonly<{
29
+ onSort?: (() => any) | undefined;
30
+ }>, {
31
+ align: "left" | "right";
32
+ sortable: boolean;
33
+ sortDirection: UiTableSortDirection;
34
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
35
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
7
36
  declare const _default: typeof __VLS_export;
8
37
  export default _default;
@@ -1,11 +1,41 @@
1
1
  export interface UiTableRowProps {
2
- isEven?: boolean;
2
+ /**
3
+ * Marks the row as selected.
4
+ * @default false
5
+ */
6
+ selected?: boolean;
7
+ /**
8
+ * Makes the row interactive: hover feedback, pointer cursor and keyboard focus.
9
+ * @default false
10
+ */
11
+ clickable?: boolean;
12
+ /**
13
+ * The row hosts a link stretched over it: positions the row for the link
14
+ * and gives it the hover and focus tone.
15
+ * @default false
16
+ */
17
+ linked?: boolean;
18
+ /**
19
+ * Takes part in the table zebra. Turn it off for a row that is not a data
20
+ * row, such as an overlay over the rows: it is neither striped nor counted.
21
+ * @default true
22
+ */
23
+ zebra?: boolean;
3
24
  }
4
25
  declare var __VLS_1: {};
5
26
  type __VLS_Slots = {} & {
6
27
  default?: (props: typeof __VLS_1) => any;
7
28
  };
8
- declare const __VLS_base: import("vue").DefineComponent<UiTableRowProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<UiTableRowProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
29
+ declare const __VLS_base: import("vue").DefineComponent<UiTableRowProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
30
+ click: (event: MouseEvent | KeyboardEvent) => any;
31
+ }, string, import("vue").PublicProps, Readonly<UiTableRowProps> & Readonly<{
32
+ onClick?: ((event: MouseEvent | KeyboardEvent) => any) | undefined;
33
+ }>, {
34
+ selected: boolean;
35
+ zebra: boolean;
36
+ clickable: boolean;
37
+ linked: boolean;
38
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
9
39
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
10
40
  declare const _default: typeof __VLS_export;
11
41
  export default _default;
@@ -0,0 +1,3 @@
1
+ import type { InjectionKey, Ref } from 'vue';
2
+ export type UiTableSize = 'md' | 'lg';
3
+ export declare const UI_TABLE_SIZE_KEY: InjectionKey<Ref<UiTableSize>>;
@@ -1,6 +1,10 @@
1
1
  export { default as UiTable } from './UiTable.vue';
2
2
  export { default as UiTableHeader } from './UiTableHeader.vue';
3
3
  export { default as UiTableHeaderCell } from './UiTableHeaderCell.vue';
4
+ export { default as UiTableActionsHeaderCell } from './UiTableActionsHeaderCell.vue';
4
5
  export { default as UiTableBody } from './UiTableBody.vue';
5
6
  export { default as UiTableRow } from './UiTableRow.vue';
6
7
  export { default as UiTableCell } from './UiTableCell.vue';
8
+ export { default as UiTableActionsCell } from './UiTableActionsCell.vue';
9
+ export type { UiTableSize } from './context';
10
+ export type { UiTableSortDirection } from './UiTableHeaderCell.vue';
@@ -17,6 +17,8 @@ export interface UiTabsProps {
17
17
  modelValue: string;
18
18
  /** Size of the tabs */
19
19
  size?: 'sm' | 'md';
20
+ /** Horizontal alignment of the tabs inside the component */
21
+ align?: 'start' | 'center';
20
22
  }
21
23
  type __VLS_Slots = {
22
24
  badge?(props: {
@@ -29,6 +31,7 @@ declare const __VLS_base: import("vue").DefineComponent<UiTabsProps, {}, {}, {},
29
31
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
30
32
  }>, {
31
33
  size: "sm" | "md";
34
+ align: "start" | "center";
32
35
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
33
36
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
34
37
  declare const _default: typeof __VLS_export;
@@ -0,0 +1,25 @@
1
+ export type UiTagSize = 'xxs' | 'xs' | 'sm' | 'md';
2
+ export type UiTagColor = 'primary' | 'neutral' | 'danger' | 'warning' | 'success' | 'neutral-invert';
3
+ export type UiTagVariant = 'light' | 'strong';
4
+ export interface UiTagProps {
5
+ /**
6
+ * Size of the tag
7
+ */
8
+ size?: UiTagSize;
9
+ /**
10
+ * Color variant of the tag
11
+ */
12
+ color?: UiTagColor;
13
+ /**
14
+ * Variant of the tag
15
+ */
16
+ variant?: UiTagVariant;
17
+ /**
18
+ * Label text for the tag
19
+ */
20
+ label?: string;
21
+ /**
22
+ * Whether to show hover effects
23
+ */
24
+ withHoverEffect?: boolean;
25
+ }
@@ -1,36 +1,15 @@
1
- interface Props {
2
- /**
3
- * Size of the tag
4
- */
5
- size?: 'xxs' | 'xs' | 'sm' | 'md';
6
- /**
7
- * Color variant of the tag
8
- */
9
- color?: 'primary' | 'neutral' | 'danger' | 'warning' | 'success' | 'neutral-invert';
10
- /**
11
- * Variant of the tag
12
- */
13
- variant?: 'light' | 'strong';
14
- /**
15
- * Label text for the tag
16
- */
17
- label?: string;
18
- /**
19
- * Whether to show hover effects
20
- */
21
- withHoverEffect?: boolean;
22
- }
1
+ import type { UiTagProps } from './UiTag.types';
23
2
  declare var __VLS_1: {}, __VLS_3: {};
24
3
  type __VLS_Slots = {} & {
25
4
  'left-icon'?: (props: typeof __VLS_1) => any;
26
5
  } & {
27
6
  default?: (props: typeof __VLS_3) => any;
28
7
  };
29
- declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
30
- size: "xxs" | "xs" | "sm" | "md";
8
+ declare const __VLS_base: import("vue").DefineComponent<UiTagProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<UiTagProps> & Readonly<{}>, {
9
+ size: import("./UiTag.types").UiTagSize;
31
10
  label: string;
32
- variant: "light" | "strong";
33
- color: "primary" | "neutral" | "danger" | "warning" | "success" | "neutral-invert";
11
+ variant: import("./UiTag.types").UiTagVariant;
12
+ color: import("./UiTag.types").UiTagColor;
34
13
  withHoverEffect: boolean;
35
14
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
36
15
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1 +1,2 @@
1
- export { default } from "./UiTag.vue";
1
+ export { default } from './UiTag.vue';
2
+ export type { UiTagColor, UiTagProps, UiTagSize, UiTagVariant } from './UiTag.types';
@@ -4,6 +4,10 @@ interface UiTextFieldProps {
4
4
  modelValue?: string;
5
5
  placeholder?: string;
6
6
  disabled?: boolean;
7
+ /**
8
+ * The value can be selected and copied but not edited
9
+ */
10
+ readonly?: boolean;
7
11
  loading?: boolean;
8
12
  error?: boolean;
9
13
  label?: string;
@@ -31,17 +35,17 @@ declare const __VLS_base: import("vue").DefineComponent<UiTextFieldProps, {
31
35
  insertAtCursor: (text: string) => void;
32
36
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
33
37
  clear: () => any;
38
+ keydown: (event: KeyboardEvent) => any;
34
39
  "update:modelValue": (value: string) => any;
35
- blur: (event: FocusEvent) => any;
36
40
  focus: (event: FocusEvent) => any;
37
- keydown: (event: KeyboardEvent) => any;
41
+ blur: (event: FocusEvent) => any;
38
42
  keyup: (event: KeyboardEvent) => any;
39
43
  }, string, import("vue").PublicProps, Readonly<UiTextFieldProps> & Readonly<{
40
44
  onClear?: (() => any) | undefined;
45
+ onKeydown?: ((event: KeyboardEvent) => any) | undefined;
41
46
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
42
- onBlur?: ((event: FocusEvent) => any) | undefined;
43
47
  onFocus?: ((event: FocusEvent) => any) | undefined;
44
- onKeydown?: ((event: KeyboardEvent) => any) | undefined;
48
+ onBlur?: ((event: FocusEvent) => any) | undefined;
45
49
  onKeyup?: ((event: KeyboardEvent) => any) | undefined;
46
50
  }>, {
47
51
  size: TextFieldSize;
@@ -52,8 +56,9 @@ declare const __VLS_base: import("vue").DefineComponent<UiTextFieldProps, {
52
56
  error: boolean;
53
57
  loading: boolean;
54
58
  modelValue: string;
55
- clearable: boolean;
56
59
  ariaDescribedby: string;
60
+ readonly: boolean;
61
+ clearable: boolean;
57
62
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
58
63
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
59
64
  declare const _default: typeof __VLS_export;
@@ -5,6 +5,7 @@ type __VLS_Slots = {} & {
5
5
  };
6
6
  declare const __VLS_base: import("vue").DefineComponent<TooltipProviderProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<TooltipProviderProps> & Readonly<{}>, {
7
7
  delayDuration: number;
8
+ disableClosingTrigger: boolean;
8
9
  skipDelayDuration: number;
9
10
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
11
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1,7 +1,7 @@
1
1
  import type { TooltipTriggerProps } from 'reka-ui';
2
- declare var __VLS_8: {};
2
+ declare var __VLS_10: {};
3
3
  type __VLS_Slots = {} & {
4
- default?: (props: typeof __VLS_8) => any;
4
+ default?: (props: typeof __VLS_10) => any;
5
5
  };
6
6
  declare const __VLS_base: import("vue").DefineComponent<TooltipTriggerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<TooltipTriggerProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
7
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Does stored theming output apply?
3
+ *
4
+ * The theme picker (and its playground) is the only writer of deliberate
5
+ * theming choices: the stored modes in `themeAndMode` and the seed token map
6
+ * in `customThemeTokens`. A stored value alone is not a choice signal —
7
+ * `useStorage` persists the light/light defaults for every visitor — so
8
+ * stored theming is consumed only where the picker exists, and every surface
9
+ * ships its own defaults otherwise (the dashboard light/light, the room
10
+ * dark shell over light content).
11
+ *
12
+ * This is the single place that rule lives. `ls-internal-theming` itself
13
+ * gates the picker's visibility; it does not gate any rendering path.
14
+ * When a real user-facing theming choice ships (workspace setting, OS
15
+ * follow), its mechanism replaces this predicate.
16
+ */
17
+ export declare function storedThemingApplies(): boolean;
@@ -15,6 +15,7 @@ export declare function useButtonStyles(options: UseButtonStylesOptions): {
15
15
  bgClass: import("vue").ComputedRef<string>;
16
16
  textClass: import("vue").ComputedRef<string>;
17
17
  borderClasses: import("vue").ComputedRef<string[]>;
18
+ decorationClass: import("vue").ComputedRef<"" | "[text-decoration-line:var(--control-link-decoration)] underline-offset-3">;
18
19
  overlayClasses: import("vue").ComputedRef<string[]>;
19
20
  beforeHoverOverlayClass: import("vue").ComputedRef<string>;
20
21
  };
@@ -0,0 +1,11 @@
1
+ import { type ComputedRef, type MaybeRefOrGetter } from 'vue';
2
+ import type { ChoiceControl } from '../components/UiChoice/types';
3
+ interface ChoiceboxState {
4
+ control: ChoiceControl;
5
+ selected: boolean;
6
+ disabled: boolean;
7
+ error?: boolean;
8
+ }
9
+ /** Border, fill, radius and focus ring of a UiChoice choicebox */
10
+ export declare function useChoiceboxSurface(state: MaybeRefOrGetter<ChoiceboxState>): ComputedRef<string[]>;
11
+ export {};
@@ -5,21 +5,19 @@ import { type Ref } from 'vue';
5
5
  * behaviour `UiPage` gives its page content, without pulling in the full page
6
6
  * layout (and its `<main>`).
7
7
  *
8
- * The content historically forces light mode. That pin is only lifted when the
9
- * internal theming tooling is enabled, so the stored content mode can apply;
10
- * everyone else stays light regardless of what localStorage may hold.
8
+ * Content ships light. The stored content mode applies where the picker
9
+ * exists (see storedThemingApplies); everyone else gets the shipped default
10
+ * regardless of what localStorage may hold.
11
11
  *
12
- * The flag is read in onMounted, not at setup: setup also runs during SSR (no
13
- * localStorage), and server + client-hydration markup must be identical — the
14
- * pin lifts right after mount for the internal tooling instead.
12
+ * The predicate is read in onMounted, not at setup: setup also runs during
13
+ * SSR (no localStorage), and server + client-hydration markup must be
14
+ * identical — stored modes take over right after mount instead.
15
15
  *
16
16
  * @param element Template ref of the content element to watch.
17
17
  * @param selector Unique key for the watch registry — one per logical surface
18
18
  * (e.g. `[data-name="ui-page-content"]`).
19
- * @returns `contentMode`, to bind to the element's `data-colors-semantic`, and
20
- * `isInternalThemingEnabled` for any mode-dependent styling.
19
+ * @returns `contentMode`, to bind to the element's `data-colors-semantic`.
21
20
  */
22
21
  export declare function useContentMode(element: Ref<HTMLElement | undefined>, selector: string): {
23
22
  contentMode: import("vue").ComputedRef<"light" | "dark">;
24
- isInternalThemingEnabled: Ref<boolean, boolean>;
25
23
  };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Applies the accessibility look on the app root: `data-accessibility="on"`.
3
+ * The control tokens read this attribute.
4
+ */
5
+ export declare function applyControlModes({ accessibility }: {
6
+ accessibility: boolean;
7
+ }, root?: HTMLElement): void;
@@ -0,0 +1,24 @@
1
+ import { type ComputedRef, type MaybeRefOrGetter } from 'vue';
2
+ export type FieldSize = 'sm' | 'md' | 'lg' | 'xl';
3
+ type ButtonSize = 'xs' | 'sm' | 'md' | 'lg';
4
+ interface FieldShape {
5
+ height: string;
6
+ radius: string;
7
+ chevron: string;
8
+ }
9
+ interface ControlShapes {
10
+ field: {
11
+ size: FieldSize;
12
+ shape: FieldShape;
13
+ };
14
+ button: {
15
+ size: ButtonSize;
16
+ shape: {
17
+ height: string;
18
+ square: string;
19
+ radius: string;
20
+ };
21
+ };
22
+ }
23
+ export declare function useControlShape<K extends keyof ControlShapes>(kind: K, size: MaybeRefOrGetter<ControlShapes[K]['size']>): ComputedRef<ControlShapes[K]['shape']>;
24
+ export {};
@@ -0,0 +1,12 @@
1
+ export declare function useFieldFocusEvents(emit: {
2
+ (event: 'focus', payload: FocusEvent): void;
3
+ (event: 'blur', payload: FocusEvent): void;
4
+ (event: 'keydown', payload: KeyboardEvent): void;
5
+ (event: 'keyup', payload: KeyboardEvent): void;
6
+ }): {
7
+ isFocused: import("vue").Ref<boolean, boolean>;
8
+ handleFocus: (event: FocusEvent) => void;
9
+ handleBlur: (event: FocusEvent) => void;
10
+ handleKeydown: (event: KeyboardEvent) => void;
11
+ handleKeyup: (event: KeyboardEvent) => void;
12
+ };
@@ -9,3 +9,5 @@ export declare const ICON_SIZES: {
9
9
  export type IconSizeName = keyof typeof ICON_SIZES;
10
10
  /** Reactive icon size class for a control's `size`. */
11
11
  export declare function useIconSize(size: MaybeRefOrGetter<IconSizeName>): import("vue").ComputedRef<"size-3" | "size-4" | "size-5" | "size-6" | "size-7">;
12
+ /** Reactive trailing icon size class for a control's `size`. */
13
+ export declare function useTrailingIconSize(size: MaybeRefOrGetter<IconSizeName>): import("vue").ComputedRef<"size-4" | "size-5" | "size-6" | "size-2.5" | "size-3.5">;
@@ -0,0 +1,42 @@
1
+ import { type MaybeRefOrGetter } from 'vue';
2
+ interface UsePullGestureOptions {
3
+ /**
4
+ * Pointer travel (px, ascending) at which each stage is reached. An empty
5
+ * list disables the gesture.
6
+ */
7
+ stages: MaybeRefOrGetter<number[]>;
8
+ /**
9
+ * Travel (px) up to which the element tracks the pointer 1:1; resistance
10
+ * builds beyond it. Defaults to the last stage.
11
+ */
12
+ resistFrom?: MaybeRefOrGetter<number | undefined>;
13
+ /**
14
+ * Visible travel the pulled element tends toward once resisting. Defaults to
15
+ * five times the last stage.
16
+ */
17
+ maxOffset?: MaybeRefOrGetter<number | undefined>;
18
+ /** Called on release when at least one stage was reached. */
19
+ onRelease?: (stage: number) => void;
20
+ }
21
+ interface Point {
22
+ x: number;
23
+ y: number;
24
+ }
25
+ /**
26
+ * Pull gesture in any direction with staged thresholds: the element follows
27
+ * the pointer through the stages and resists beyond the last one. Bind the
28
+ * returned pointer handlers to the pulled element and apply `offset` as its
29
+ * translation; on release the state snaps back to rest.
30
+ */
31
+ export declare function usePullGesture(options: UsePullGestureOptions): {
32
+ enabled: import("vue").ComputedRef<boolean>;
33
+ isPulling: import("vue").Ref<boolean, boolean>;
34
+ stage: import("vue").ComputedRef<number>;
35
+ offset: import("vue").ComputedRef<Point>;
36
+ onPointerDown: (event: PointerEvent) => void;
37
+ onPointerMove: (event: PointerEvent) => void;
38
+ onPointerUp: (event: PointerEvent) => void;
39
+ onPointerCancel: (event: PointerEvent) => void;
40
+ consumeDrag: () => boolean;
41
+ };
42
+ export {};
@@ -11,6 +11,10 @@ export default function useThemeAndModes({ themeOverride, modeOverride, contentM
11
11
  element: HTMLElement;
12
12
  modeOverride?: (typeof MODE_OPTIONS)[number];
13
13
  }) => void;
14
+ removeElementToWatch: (listType: "mode" | "content", { selector, element }: {
15
+ selector: string;
16
+ element: HTMLElement;
17
+ }) => void;
14
18
  updateContentMode: typeof updateContentMode;
15
19
  updateTheme: typeof updateTheme;
16
20
  updateMode: typeof updateMode;