@mkbabb/glass-ui 7.0.0 → 9.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 (918) hide show
  1. package/README.md +4 -3
  2. package/dist/DialogContent-4hzLiaCQ.js +152 -0
  3. package/dist/DotRing-Blh4Mc3Q.js +27 -0
  4. package/dist/{DropdownMenuTrigger-ClIq8RJE.js → DropdownMenuTrigger-8UZsBtZ8.js} +5 -5
  5. package/dist/Surface-i1tWC-Ga.js +48 -0
  6. package/dist/aurora.d.ts +1 -1
  7. package/dist/aurora.js +321 -289
  8. package/dist/axes.d.ts +1 -1
  9. package/dist/axes.js +1 -22
  10. package/dist/badge-owUOaaba.js +63 -0
  11. package/dist/badge.d.ts +1 -1
  12. package/dist/badge.js +2 -2
  13. package/dist/blob-config.d.ts +1 -1
  14. package/dist/blob.d.ts +1 -1
  15. package/dist/blob.js +43 -43
  16. package/dist/button-yvGPb0Bx.js +110 -0
  17. package/dist/button.d.ts +1 -1
  18. package/dist/button.js +1 -1
  19. package/dist/{card-Bk96VI2R.js → card-3HFFpC7_.js} +51 -95
  20. package/dist/card.d.ts +1 -1
  21. package/dist/card.js +2 -2
  22. package/dist/carousel.d.ts +1 -1
  23. package/dist/carousel.js +187 -175
  24. package/dist/checkbox-B1qn65se.js +64 -0
  25. package/dist/checkbox.d.ts +1 -0
  26. package/dist/checkbox.js +2 -0
  27. package/dist/chip.d.ts +1 -1
  28. package/dist/chip.js +129 -2
  29. package/dist/{class-names-Cpy5eaBk.js → class-names-q-UGOkHH.js} +15 -1
  30. package/dist/{collapsible-BAP95XTt.js → collapsible-B7O6m-Ch.js} +2 -2
  31. package/dist/collapsible.d.ts +1 -1
  32. package/dist/collapsible.js +1 -1
  33. package/dist/color.d.ts +1 -1
  34. package/dist/color.glsl-DTJhdekG.js +34 -0
  35. package/dist/color.js +18 -18
  36. package/dist/color.wgsl-BTszLY39.js +398 -0
  37. package/dist/command-tEzAaVY_.js +340 -0
  38. package/dist/command.d.ts +1 -1
  39. package/dist/command.js +1 -1
  40. package/dist/component-styles.css +4 -0
  41. package/dist/components/_shared/axes.d.ts +4 -1
  42. package/dist/components/_shared/class-names.d.ts +1 -1
  43. package/dist/components/_shared/control.d.ts +10 -0
  44. package/dist/components/_shared/feedback/DotRing.vue.d.ts +3 -0
  45. package/dist/components/_shared/feedback/dot-ring.css +1 -0
  46. package/dist/components/_shared/feedback/feedback-tone.css +1 -0
  47. package/dist/components/_shared/{fieldControl.d.ts → field/control.d.ts} +1 -1
  48. package/dist/components/_shared/focus.d.ts +11 -0
  49. package/dist/components/_shared/index.d.ts +1 -2
  50. package/dist/components/_shared/interaction.d.ts +1 -1
  51. package/dist/components/_shared/menu/menu.css +1 -0
  52. package/dist/components/_shared/menu/rowClass.d.ts +2 -0
  53. package/dist/components/_shared/overlay/content.d.ts +40 -0
  54. package/dist/components/_shared/overlay/index.d.ts +12 -0
  55. package/dist/components/{dock/composables → _shared/overlay}/isTeleportedTarget.d.ts +5 -0
  56. package/dist/components/_shared/overlay/participation.d.ts +66 -0
  57. package/dist/components/_shared/overlay/placement.d.ts +22 -0
  58. package/dist/components/_shared/selection.d.ts +39 -0
  59. package/dist/components/_shared/surface/resolve.d.ts +17 -0
  60. package/dist/components/_shared/useMotionAxis.d.ts +1 -7
  61. package/dist/components/accordion/Accordion.vue.d.ts +1 -1
  62. package/dist/components/accordion/index.d.ts +4 -4
  63. package/dist/components/alert/Alert.vue.d.ts +1 -1
  64. package/dist/components/alert/AlertDescription.vue.d.ts +2 -2
  65. package/dist/components/alert/AlertTitle.vue.d.ts +2 -2
  66. package/dist/components/alert/index.d.ts +9 -9
  67. package/dist/components/aurora/Aurora.vue.d.ts +5 -4
  68. package/dist/components/aurora/composables/atoms-fields.d.ts +1 -1
  69. package/dist/components/aurora/composables/atoms.d.ts +3 -3
  70. package/dist/components/aurora/composables/auroraFallbackGround.d.ts +1 -1
  71. package/dist/components/aurora/composables/auroraImageSource.d.ts +2 -2
  72. package/dist/components/aurora/composables/color.d.ts +3 -4
  73. package/dist/components/aurora/composables/frameLoop.d.ts +9 -8
  74. package/dist/components/aurora/composables/glSetup.d.ts +5 -10
  75. package/dist/components/aurora/composables/runtime.d.ts +28 -3
  76. package/dist/{composables/glass → components/aurora/composables}/textureUpload.d.ts +0 -13
  77. package/dist/components/aurora/composables/uniformBridge.d.ts +3 -20
  78. package/dist/components/aurora/composables/uniformBridgeWGPU.d.ts +2 -2
  79. package/dist/components/aurora/composables/uniformBridgeWGPUImage.d.ts +2 -2
  80. package/dist/components/aurora/composables/useAurora.d.ts +32 -4
  81. package/dist/components/aurora/composables/useCursorInteraction.d.ts +2 -2
  82. package/dist/components/aurora/composables/wgpuSetup.d.ts +5 -5
  83. package/dist/components/aurora/constants/budget.d.ts +0 -36
  84. package/dist/components/aurora/constants/presets.d.ts +46 -7
  85. package/dist/components/aurora/constants/shaders/aurora-image.frag.d.ts +0 -2
  86. package/dist/components/aurora/constants/shaders/aurora-image.wgsl.d.ts +0 -2
  87. package/dist/components/aurora/index.d.ts +15 -14
  88. package/dist/components/avatar/AvatarImage.vue.d.ts +1 -6
  89. package/dist/components/avatar/index.d.ts +3 -3
  90. package/dist/components/badge/Badge.vue.d.ts +2 -9
  91. package/dist/components/badge/index.d.ts +12 -11
  92. package/dist/components/blob/Blob.vue.d.ts +4 -4
  93. package/dist/components/blob/composables/blobSimulation.d.ts +5 -5
  94. package/dist/components/blob/composables/buildMetaballProgram.d.ts +1 -1
  95. package/dist/components/blob/composables/resolveBlobSurface.d.ts +1 -1
  96. package/dist/components/blob/composables/satelliteKinematics.d.ts +1 -1
  97. package/dist/components/blob/composables/uniformBridgeWGPU.d.ts +4 -4
  98. package/dist/components/blob/composables/uploadBlobUniforms.d.ts +5 -5
  99. package/dist/components/blob/composables/useBlobMood.d.ts +1 -1
  100. package/dist/components/blob/composables/useBlobPointer.d.ts +0 -3
  101. package/dist/components/blob/composables/useBlobSatellites.d.ts +1 -1
  102. package/dist/components/blob/composables/useMetaballRenderer.d.ts +6 -6
  103. package/dist/components/blob/composables/wgpuSetup.d.ts +5 -5
  104. package/dist/components/blob/config.d.ts +3 -3
  105. package/dist/components/blob/constants.d.ts +1 -3
  106. package/dist/components/blob/index.d.ts +8 -8
  107. package/dist/components/blob/presets.d.ts +1 -1
  108. package/dist/components/button/Button.vue.d.ts +15 -9
  109. package/dist/components/button/index.d.ts +1 -1
  110. package/dist/components/button/styles.css +1 -1
  111. package/dist/components/card/Card.vue.d.ts +20 -23
  112. package/dist/components/card/CardHeader.vue.d.ts +8 -1
  113. package/dist/components/card/index.d.ts +6 -7
  114. package/dist/components/card/scroll.css +1 -0
  115. package/dist/components/card/styles.css +1 -1
  116. package/dist/components/carousel/Carousel.vue.d.ts +14 -19
  117. package/dist/components/carousel/CarouselContent.vue.d.ts +2 -12
  118. package/dist/components/carousel/CarouselItem.vue.d.ts +14 -3
  119. package/dist/components/carousel/CarouselPager.vue.d.ts +2 -2
  120. package/dist/components/carousel/index.d.ts +7 -6
  121. package/dist/components/carousel/projection.d.ts +23 -0
  122. package/dist/components/carousel/styles.css +1 -0
  123. package/dist/components/carousel/types.d.ts +47 -0
  124. package/dist/components/carousel/useCarousel.d.ts +4 -21
  125. package/dist/components/checkbox/Checkbox.vue.d.ts +6 -6
  126. package/dist/components/checkbox/index.d.ts +1 -1
  127. package/dist/components/chip/Chip.vue.d.ts +2 -2
  128. package/dist/components/chip/accent-tone.css +1 -0
  129. package/dist/components/chip/chipVariants.d.ts +1 -1
  130. package/dist/components/chip/index.d.ts +3 -3
  131. package/dist/components/chip/types.d.ts +2 -2
  132. package/dist/components/collapsible/CollapsibleTrigger.vue.d.ts +1 -1
  133. package/dist/components/collapsible/index.d.ts +3 -3
  134. package/dist/components/command/Command.vue.d.ts +5 -3
  135. package/dist/components/command/CommandDialog.vue.d.ts +9 -5
  136. package/dist/components/command/CommandEmpty.vue.d.ts +1 -1
  137. package/dist/components/command/CommandGroup.vue.d.ts +1 -1
  138. package/dist/components/command/CommandInput.vue.d.ts +1 -1
  139. package/dist/components/command/CommandItem.vue.d.ts +3 -3
  140. package/dist/components/command/CommandList.vue.d.ts +8 -8
  141. package/dist/components/command/CommandSeparator.vue.d.ts +1 -1
  142. package/dist/components/command/index.d.ts +11 -10
  143. package/dist/components/command/types.d.ts +8 -3
  144. package/dist/components/configurator/Configurator.vue.d.ts +26 -3
  145. package/dist/components/configurator/ConfiguratorRow.vue.d.ts +5 -3
  146. package/dist/components/configurator/index.d.ts +6 -6
  147. package/dist/components/configurator/styles.css +1 -1
  148. package/dist/components/configurator/useConfiguratorState.d.ts +1 -1
  149. package/dist/components/constellation/Constellation.vue.d.ts +3 -5
  150. package/dist/components/constellation/composables/createConstellationField.d.ts +1 -1
  151. package/dist/components/constellation/composables/useConstellation.d.ts +2 -2
  152. package/dist/components/constellation/constants.d.ts +1 -1
  153. package/dist/components/constellation/constellationField.d.ts +3 -4
  154. package/dist/components/constellation/constellationInteraction.d.ts +1 -5
  155. package/dist/components/constellation/constellationRender.d.ts +1 -3
  156. package/dist/components/constellation/constellationTypes.d.ts +0 -11
  157. package/dist/components/constellation/constellationWell.d.ts +1 -1
  158. package/dist/components/constellation/index.d.ts +8 -6
  159. package/dist/components/dark-mode-toggle/dark-mode-toggle.css +1 -1
  160. package/dist/components/dark-mode-toggle/index.d.ts +2 -2
  161. package/dist/components/data-table/DataTable.vue.d.ts +1 -1
  162. package/dist/components/data-table/composables/useDataTableResponsive.d.ts +1 -1
  163. package/dist/components/data-table/index.d.ts +2 -2
  164. package/dist/components/{number-field/NumberFieldContent.vue.d.ts → deck/DeckSlide.vue.d.ts} +12 -1
  165. package/dist/components/deck/DeckStage.vue.d.ts +36 -0
  166. package/dist/components/deck/composables/useDeck.d.ts +35 -10
  167. package/dist/components/deck/composables/useDeckCapture.d.ts +26 -0
  168. package/dist/components/deck/composables/useDeckHashSync.d.ts +8 -0
  169. package/dist/components/deck/composables/useDeckKeyboard.d.ts +16 -8
  170. package/dist/components/deck/composables/useDeckSnap.d.ts +20 -0
  171. package/dist/components/deck/composables/useDeckSwipe.d.ts +13 -0
  172. package/dist/components/deck/composables/useEdgeZones.d.ts +14 -0
  173. package/dist/components/deck/constants.d.ts +0 -3
  174. package/dist/components/deck/index.d.ts +22 -6
  175. package/dist/components/deck/slideContext.d.ts +21 -0
  176. package/dist/components/deck/styles/capture.css +1 -0
  177. package/dist/components/deck/styles/index.css +1 -0
  178. package/dist/components/deck/styles/reveal.css +1 -0
  179. package/dist/components/deck/styles/stage.css +1 -0
  180. package/dist/components/deck/styles/turn.css +1 -0
  181. package/dist/components/deck/types.d.ts +26 -0
  182. package/dist/components/deck/window.d.ts +27 -0
  183. package/dist/components/dialog/Dialog.vue.d.ts +13 -0
  184. package/dist/components/dialog/DialogContent.vue.d.ts +23 -27
  185. package/dist/components/dialog/DialogFooter.vue.d.ts +2 -2
  186. package/dist/components/dialog/DialogHeader.vue.d.ts +2 -2
  187. package/dist/components/dialog/ModalOverlay.vue.d.ts +44 -23
  188. package/dist/components/dialog/index.d.ts +7 -8
  189. package/dist/components/dialog/styles.css +1 -0
  190. package/dist/components/dock/DockControl.vue.d.ts +8 -4
  191. package/dist/components/dock/DockCrossfade.vue.d.ts +3 -3
  192. package/dist/components/dock/DockLayer.vue.d.ts +1 -1
  193. package/dist/components/dock/DockLayerGroup.vue.d.ts +13 -13
  194. package/dist/components/dock/DockSeparator.vue.d.ts +24 -20
  195. package/dist/components/dock/GlassDock.vue.d.ts +5 -4
  196. package/dist/components/dock/composables/dockContext.d.ts +28 -11
  197. package/dist/components/dock/composables/dockCrossfadeContext.d.ts +5 -5
  198. package/dist/components/dock/composables/dockMorphMeasure.d.ts +0 -1
  199. package/dist/components/dock/composables/dockSwitcherContext.d.ts +29 -0
  200. package/dist/components/dock/composables/index.d.ts +10 -10
  201. package/dist/components/dock/composables/useDockHold.d.ts +21 -6
  202. package/dist/components/dock/composables/useDockRun.d.ts +20 -0
  203. package/dist/components/dock/composables/useDockSearch.d.ts +5 -5
  204. package/dist/components/dock/composables/useDockShellProps.d.ts +21 -128
  205. package/dist/components/dock/composables/useDockState.d.ts +18 -12
  206. package/dist/components/dock/constants.d.ts +32 -3
  207. package/dist/components/dock/index.d.ts +15 -15
  208. package/dist/components/dock/styles/adaptive-legibility.css +1 -1
  209. package/dist/components/dock/styles/controls/icon-button.css +1 -1
  210. package/dist/components/dock/styles/controls/tab-button.css +1 -1
  211. package/dist/components/dock/styles/controls/touch-floor.css +1 -1
  212. package/dist/components/dock/styles/controls/triggers.css +1 -1
  213. package/dist/components/dock/styles/controls.css +1 -1
  214. package/dist/components/dock/styles/crossfade.css +1 -1
  215. package/dist/components/dock/styles/cta-seat.css +1 -1
  216. package/dist/components/dock/styles/density.css +1 -1
  217. package/dist/components/dock/styles/dock.css +1 -1
  218. package/dist/components/dock/styles/index.css +1 -1
  219. package/dist/components/dock/styles/layer-group.css +1 -1
  220. package/dist/components/dock/styles/layers.css +1 -1
  221. package/dist/components/dock/styles/morph.css +1 -1
  222. package/dist/components/dock/styles/run.css +1 -0
  223. package/dist/components/dock/styles/search.css +1 -1
  224. package/dist/components/dock/styles/shape.css +1 -1
  225. package/dist/components/dock/styles/shell-regions.css +1 -1
  226. package/dist/components/dock/styles/shell.css +1 -1
  227. package/dist/components/easing/EasingCurve.vue.d.ts +51 -0
  228. package/dist/components/easing/EasingPicker.vue.d.ts +16 -32
  229. package/dist/components/easing/constants.d.ts +15 -13
  230. package/dist/components/easing/index.d.ts +5 -3
  231. package/dist/components/easing/{composables/useEasingPicker.d.ts → usePicker.d.ts} +27 -23
  232. package/dist/components/expandable-container/ExpandableContainer.vue.d.ts +1 -1
  233. package/dist/components/expandable-container/index.d.ts +1 -1
  234. package/dist/components/fading-scroll/constants.d.ts +2 -9
  235. package/dist/components/fading-scroll/index.d.ts +2 -2
  236. package/dist/components/fourier-field/FourierField.vue.d.ts +31 -30
  237. package/dist/components/fourier-field/clock.d.ts +35 -0
  238. package/dist/components/fourier-field/constants.d.ts +79 -104
  239. package/dist/components/fourier-field/index.d.ts +4 -31
  240. package/dist/components/fourier-field/math.d.ts +69 -77
  241. package/dist/components/fourier-field/renderer/mint.d.ts +50 -0
  242. package/dist/components/fourier-field/renderer/uniforms.d.ts +84 -0
  243. package/dist/components/fourier-field/renderer/wgpu.d.ts +28 -0
  244. package/dist/components/fourier-field/shaders/compute.wgsl.d.ts +1 -0
  245. package/dist/components/fourier-field/shaders/render.wgsl.d.ts +1 -0
  246. package/dist/components/fourier-field/useFourierField.d.ts +49 -0
  247. package/dist/components/handmark/HandMark.vue.d.ts +18 -14
  248. package/dist/components/handmark/index.d.ts +5 -22
  249. package/dist/components/handmark/stroke.d.ts +92 -0
  250. package/dist/components/index.d.ts +30 -32
  251. package/dist/components/infinite-scroll/InfiniteScroll.vue.d.ts +3 -3
  252. package/dist/components/infinite-scroll/composables/index.d.ts +2 -2
  253. package/dist/components/infinite-scroll/composables/useInfiniteScroll.d.ts +1 -1
  254. package/dist/components/infinite-scroll/index.d.ts +2 -2
  255. package/dist/components/input/Input.vue.d.ts +10 -5
  256. package/dist/components/input/index.d.ts +3 -2
  257. package/dist/components/input/types.d.ts +49 -9
  258. package/dist/components/label/index.d.ts +1 -1
  259. package/dist/components/labeled-field/LabeledField.vue.d.ts +4 -4
  260. package/dist/components/labeled-field/LabeledInput.vue.d.ts +1 -1
  261. package/dist/components/labeled-field/LabeledSlider.vue.d.ts +1 -1
  262. package/dist/components/labeled-field/LabeledSwitch.vue.d.ts +1 -1
  263. package/dist/components/labeled-field/index.d.ts +5 -6
  264. package/dist/components/labeled-field/types.d.ts +5 -14
  265. package/dist/components/{dropdown-menu → menu}/DropdownMenu.vue.d.ts +2 -2
  266. package/dist/components/{dropdown-menu → menu}/DropdownMenuCheckboxItem.vue.d.ts +2 -2
  267. package/dist/components/{dropdown-menu → menu}/DropdownMenuContent.vue.d.ts +4 -7
  268. package/dist/components/{dropdown-menu → menu}/DropdownMenuRadioGroup.vue.d.ts +1 -1
  269. package/dist/components/{dropdown-menu → menu}/DropdownMenuRadioItem.vue.d.ts +1 -1
  270. package/dist/components/{dropdown-menu → menu}/DropdownMenuSubContent.vue.d.ts +7 -7
  271. package/dist/components/{dropdown-menu → menu}/DropdownMenuTrigger.vue.d.ts +1 -1
  272. package/dist/components/{dropdown-menu → menu}/index.d.ts +15 -15
  273. package/dist/components/metric/Metric.vue.d.ts +7 -5
  274. package/dist/components/metric/MetricRow.vue.d.ts +4 -12
  275. package/dist/components/metric/MetricStack.vue.d.ts +2 -2
  276. package/dist/components/metric/coalesce-metric.d.ts +30 -2
  277. package/dist/components/metric/index.d.ts +6 -5
  278. package/dist/components/metric/styles.css +1 -1
  279. package/dist/components/metric/types.d.ts +25 -13
  280. package/dist/components/music-staff/MusicStaff.vue.d.ts +22 -0
  281. package/dist/components/music-staff/glyphs.d.ts +74 -0
  282. package/dist/components/music-staff/index.d.ts +4 -0
  283. package/dist/components/music-staff/midiAdapter.d.ts +22 -0
  284. package/dist/components/music-staff/staffGeometry.d.ts +216 -0
  285. package/dist/components/music-staff/styles.css +1 -0
  286. package/dist/components/number-field/NumberField.vue.d.ts +7 -2
  287. package/dist/components/number-field/NumberFieldStep.vue.d.ts +31 -0
  288. package/dist/components/number-field/context.d.ts +4 -0
  289. package/dist/components/number-field/index.d.ts +3 -5
  290. package/dist/components/pager-dots/PagerDots.vue.d.ts +22 -10
  291. package/dist/components/pager-dots/index.d.ts +3 -2
  292. package/dist/components/pager-dots/worm.d.ts +42 -0
  293. package/dist/components/popover/Popover.vue.d.ts +23 -1
  294. package/dist/components/popover/PopoverContent.vue.d.ts +17 -14
  295. package/dist/components/popover/PopoverTrigger.vue.d.ts +1 -1
  296. package/dist/components/popover/index.d.ts +3 -3
  297. package/dist/components/popover/popoverContext.d.ts +10 -0
  298. package/dist/components/progress/Progress.vue.d.ts +5 -5
  299. package/dist/components/progress/index.d.ts +2 -2
  300. package/dist/components/progress/types.d.ts +16 -6
  301. package/dist/components/radio-group/RadioGroup.vue.d.ts +5 -7
  302. package/dist/components/radio-group/RadioGroupItem.vue.d.ts +3 -2
  303. package/dist/components/radio-group/index.d.ts +4 -4
  304. package/dist/components/scroll-progress-rim/ScrollProgressRim.vue.d.ts +2 -14
  305. package/dist/components/scroll-progress-rim/index.d.ts +2 -3
  306. package/dist/components/scroll-progress-rim/styles.css +1 -1
  307. package/dist/components/scroll-progress-rim/types.d.ts +20 -2
  308. package/dist/components/select/Select.vue.d.ts +2 -2
  309. package/dist/components/select/SelectContent.vue.d.ts +4 -9
  310. package/dist/components/select/SelectItem.vue.d.ts +1 -1
  311. package/dist/components/select/SelectScrollButton.vue.d.ts +18 -0
  312. package/dist/components/select/SelectTrigger.vue.d.ts +1 -8
  313. package/dist/components/select/SelectValue.vue.d.ts +4 -6
  314. package/dist/components/select/index.d.ts +18 -16
  315. package/dist/components/separator/Separator.vue.d.ts +1 -1
  316. package/dist/components/separator/index.d.ts +1 -1
  317. package/dist/components/sheet/SheetContent.vue.d.ts +60 -0
  318. package/dist/components/sheet/detents/projection.d.ts +42 -0
  319. package/dist/components/sheet/detents/use.d.ts +27 -0
  320. package/dist/components/sheet/index.d.ts +4 -0
  321. package/dist/components/sheet/motion.d.ts +29 -0
  322. package/dist/components/sheet/styles.css +1 -0
  323. package/dist/components/skeleton/index.d.ts +1 -1
  324. package/dist/components/slider/Slider.vue.d.ts +2 -3
  325. package/dist/components/slider/index.d.ts +2 -2
  326. package/dist/components/slider/styles.css +1 -0
  327. package/dist/components/slider/types.d.ts +13 -4
  328. package/dist/components/sortable-list/SortableItem.vue.d.ts +1 -1
  329. package/dist/components/sortable-list/SortableList.vue.d.ts +1 -2
  330. package/dist/components/sortable-list/context.d.ts +1 -1
  331. package/dist/components/sortable-list/drag.d.ts +52 -0
  332. package/dist/components/sortable-list/ghost.d.ts +40 -0
  333. package/dist/components/sortable-list/index.d.ts +4 -4
  334. package/dist/components/sortable-list/motion.d.ts +75 -0
  335. package/dist/components/sortable-list/resolve.d.ts +56 -0
  336. package/dist/components/sortable-list/{composables/types.d.ts → types.d.ts} +14 -7
  337. package/dist/components/sortable-list/{composables/useSortable.d.ts → useSortable.d.ts} +2 -4
  338. package/dist/components/status-dot/StatusDot.vue.d.ts +10 -3
  339. package/dist/components/status-dot/index.d.ts +3 -2
  340. package/dist/components/status-dot/states.d.ts +4 -0
  341. package/dist/components/surface/Surface.vue.d.ts +31 -14
  342. package/dist/components/surface/index.d.ts +2 -2
  343. package/dist/components/switch/Switch.vue.d.ts +7 -12
  344. package/dist/components/switch/index.d.ts +2 -2
  345. package/dist/components/table/index.d.ts +8 -8
  346. package/dist/components/tabs/SegmentedTabs.vue.d.ts +9 -13
  347. package/dist/components/tabs/composables/useTabDragMorph.d.ts +2 -2
  348. package/dist/components/tabs/composables/useTabResponsive.d.ts +1 -1
  349. package/dist/components/tabs/composables/useTabRovingFocus.d.ts +15 -7
  350. package/dist/components/tabs/index.d.ts +2 -2
  351. package/dist/components/tabs/styles/drag.css +1 -1
  352. package/dist/components/tabs/styles/segmented.css +1 -1
  353. package/dist/components/textarea/Textarea.vue.d.ts +10 -5
  354. package/dist/components/textarea/index.d.ts +2 -2
  355. package/dist/components/textarea/types.d.ts +34 -11
  356. package/dist/components/timeline/Timeline.vue.d.ts +41 -0
  357. package/dist/components/timeline/geometry.d.ts +53 -78
  358. package/dist/components/timeline/index.d.ts +2 -2
  359. package/dist/components/timeline/types.d.ts +42 -42
  360. package/dist/components/toast/Toast.vue.d.ts +3 -3
  361. package/dist/components/toast/index.d.ts +8 -8
  362. package/dist/components/toast/use-toast.d.ts +9 -2
  363. package/dist/components/toggle-group/ToggleGroup.vue.d.ts +29 -40
  364. package/dist/components/toggle-group/ToggleGroupItem.vue.d.ts +7 -7
  365. package/dist/components/toggle-group/context.d.ts +28 -0
  366. package/dist/components/toggle-group/index.d.ts +2 -3
  367. package/dist/components/tooltip/TooltipContent.vue.d.ts +3 -8
  368. package/dist/components/tooltip/TooltipTrigger.vue.d.ts +1 -1
  369. package/dist/components/tooltip/index.d.ts +4 -4
  370. package/dist/components/typewriter/TypewriterText.vue.d.ts +12 -32
  371. package/dist/components/typewriter/composables/useTypewriter.d.ts +1 -1
  372. package/dist/components/typewriter/index.d.ts +7 -7
  373. package/dist/components/typewriter/types.d.ts +1 -1
  374. package/dist/components/typewriter/utils/timing.d.ts +1 -1
  375. package/dist/components/typewriter/utils/typoStateMachine.d.ts +1 -1
  376. package/dist/composables/color/accent-tone-solve.d.ts +1 -1
  377. package/dist/composables/color/index.d.ts +7 -7
  378. package/dist/composables/context/index.d.ts +1 -1
  379. package/dist/composables/dark/darkModeSyncScript.d.ts +19 -0
  380. package/dist/composables/dark/index.d.ts +5 -5
  381. package/dist/composables/dom/index.d.ts +10 -10
  382. package/dist/composables/dom/useDragVelocity.d.ts +7 -0
  383. package/dist/composables/glass/backdropLuminanceSample.d.ts +20 -22
  384. package/dist/composables/glass/backdropSampleMath.d.ts +10 -0
  385. package/dist/composables/glass/canvas2d/index.d.ts +3 -3
  386. package/dist/composables/glass/canvas2d/useCanvas2D.d.ts +2 -10
  387. package/dist/composables/glass/index.d.ts +5 -7
  388. package/dist/composables/glass/useGlassBackdropLuminance.d.ts +3 -4
  389. package/dist/composables/glass/useSpecularTracking.d.ts +1 -1
  390. package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +13 -22
  391. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +10 -13
  392. package/dist/composables/glass/webgl/visibility.d.ts +1 -1
  393. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +10 -13
  394. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +3 -4
  395. package/dist/composables/glass/webgpu/webgpuCanvasTypes.d.ts +9 -11
  396. package/dist/composables/glass/webgpu/webgpuDevice.d.ts +0 -17
  397. package/dist/composables/keyboard/index.d.ts +1 -1
  398. package/dist/composables/motion/core/constants.d.ts +7 -0
  399. package/dist/composables/motion/core/index.d.ts +21 -21
  400. package/dist/composables/motion/core/motionTempo.d.ts +0 -2
  401. package/dist/composables/motion/dissolve/dissolveGrammar.d.ts +88 -0
  402. package/dist/composables/motion/engage/engageEnvelopes.d.ts +45 -0
  403. package/dist/composables/motion/engage/engageLadder.d.ts +86 -0
  404. package/dist/composables/motion/index.d.ts +14 -14
  405. package/dist/composables/motion/morph/eyeglass.d.ts +141 -0
  406. package/dist/composables/motion/morph/useDockCtaReceive.d.ts +6 -6
  407. package/dist/composables/motion/morph/useElementMorph.d.ts +4 -4
  408. package/dist/composables/motion/morph/useLeadTrail.d.ts +30 -28
  409. package/dist/composables/motion/morph/useSelectionGroup.d.ts +61 -23
  410. package/dist/composables/motion/morph/useSelectionIndicator.d.ts +52 -22
  411. package/dist/composables/motion/number/useAnimatedNumberMap.d.ts +1 -1
  412. package/dist/composables/motion/pointer/pointerFieldMappings.d.ts +1 -42
  413. package/dist/composables/motion/pointer/useRoutePointer.d.ts +1 -1
  414. package/dist/composables/motion/reveal/useLiquidReveal.d.ts +7 -6
  415. package/dist/composables/motion/route/routeGrammar.d.ts +60 -0
  416. package/dist/composables/motion/route/useRouteTransition.d.ts +45 -0
  417. package/dist/composables/motion/scroll/useScrollProgress.d.ts +7 -14
  418. package/dist/composables/motion/scroll/useScrollScene.d.ts +5 -4
  419. package/dist/composables/motion/spring/springPresets.d.ts +13 -27
  420. package/dist/composables/motion/spring/springProjection.d.ts +3 -4
  421. package/dist/composables/motion/spring/useLiquidPress.d.ts +2 -2
  422. package/dist/composables/motion/spring/useSpring.d.ts +3 -3
  423. package/dist/composables/motion/spring/useSpringMount.d.ts +6 -3
  424. package/dist/composables/motion/spring/useSpringPress.d.ts +6 -6
  425. package/dist/composables/reactive/index.d.ts +2 -2
  426. package/dist/composables/search/index.d.ts +5 -0
  427. package/dist/{components/search/composables/fuzzySearchIndex.d.ts → composables/search/match.d.ts} +9 -4
  428. package/dist/{components/search/composables → composables/search}/useFuzzySearch.d.ts +1 -1
  429. package/dist/composables/sidebar/index.d.ts +10 -10
  430. package/dist/composables/sidebar/useClickDelegate.d.ts +1 -1
  431. package/dist/composables/sidebar/useLazyLoader.d.ts +1 -1
  432. package/dist/composables/sidebar/useScrollTo.d.ts +1 -1
  433. package/dist/composables/sidebar/useScrollTracker.d.ts +1 -1
  434. package/dist/composables/sidebar/useSidebarState.d.ts +1 -1
  435. package/dist/composables/sidebar/useTreeIndex.d.ts +1 -1
  436. package/dist/configurator-BHJymdrF.js +339 -0
  437. package/dist/configurator.d.ts +1 -1
  438. package/dist/configurator.js +1 -1
  439. package/dist/{constants-nBz23tJE.js → constants-Dk96HZHu.js} +2 -2
  440. package/dist/constellation.d.ts +1 -1
  441. package/dist/constellation.js +137 -136
  442. package/dist/content-CWO-XL7o.js +18 -0
  443. package/dist/control-DJp15L4U.js +7 -0
  444. package/dist/{field-control.css_vue_type_style_index_0_src_true_lang-CeLay9Tk.js → control.css_vue_type_style_index_0_src_true_lang-BIdufaDG.js} +1 -1
  445. package/dist/{createCanvasLifecycle-DbXRwjU_.js → createCanvasLifecycle-hJHobVTn.js} +2 -5
  446. package/dist/{dark-z_P5QwqI.js → dark-CLlmo7dD.js} +2 -2
  447. package/dist/dark-mode-toggle.d.ts +1 -1
  448. package/dist/dark-mode-toggle.js +3 -3
  449. package/dist/dark.d.ts +1 -1
  450. package/dist/dark.js +1 -1
  451. package/dist/data-table-_RrOEdiw.js +493 -0
  452. package/dist/data-table.d.ts +1 -1
  453. package/dist/data-table.js +1 -1
  454. package/dist/deck-Ci6YjB5e.js +453 -0
  455. package/dist/deck.d.ts +1 -1
  456. package/dist/deck.js +2 -94
  457. package/dist/dialog-CbRnTRtg.js +78 -0
  458. package/dist/dialog.d.ts +1 -1
  459. package/dist/dialog.js +3 -2
  460. package/dist/dock.d.ts +1 -1
  461. package/dist/dock.js +873 -620
  462. package/dist/dom.d.ts +1 -1
  463. package/dist/dom.js +141 -37
  464. package/dist/easing.d.ts +1 -1
  465. package/dist/easing.js +686 -515
  466. package/dist/expandable-container-BY1hQXi4.js +142 -0
  467. package/dist/expandable-container.d.ts +1 -1
  468. package/dist/expandable-container.js +2 -140
  469. package/dist/{fading-scroll-DhxXIhm2.js → fading-scroll-CTeW3KNS.js} +30 -30
  470. package/dist/fading-scroll.d.ts +1 -1
  471. package/dist/fading-scroll.js +1 -1
  472. package/dist/focus-Duf7EpUu.js +13 -0
  473. package/dist/fourier-field.d.ts +1 -1
  474. package/dist/fourier-field.js +641 -855
  475. package/dist/fourier-math.d.ts +1 -1
  476. package/dist/fourier-math.js +6 -6
  477. package/dist/glass-ui.css +1 -1
  478. package/dist/glass-ui.js +133 -469
  479. package/dist/handmark.d.ts +1 -1
  480. package/dist/handmark.js +330 -718
  481. package/dist/index.d.ts +41 -42
  482. package/dist/infinite-scroll.d.ts +1 -1
  483. package/dist/infinite-scroll.js +56 -43
  484. package/dist/input-Bls2A4Tt.js +54 -0
  485. package/dist/input.d.ts +1 -0
  486. package/dist/input.js +2 -0
  487. package/dist/keyboard.d.ts +1 -1
  488. package/dist/label-BQEZhnK_.js +53 -0
  489. package/dist/label.d.ts +1 -1
  490. package/dist/label.js +1 -1
  491. package/dist/labeled-field.d.ts +1 -1
  492. package/dist/labeled-field.js +64 -148
  493. package/dist/menu-TDMNtZjG.js +501 -0
  494. package/dist/menu.d.ts +1 -0
  495. package/dist/{dropdown-menu.js → menu.js} +2 -2
  496. package/dist/metric.d.ts +1 -1
  497. package/dist/metric.js +79 -132
  498. package/dist/motion-D4uYE0UM.js +61 -0
  499. package/dist/motion-core.d.ts +1 -1
  500. package/dist/motion-core.js +185 -52
  501. package/dist/motion.d.ts +1 -1
  502. package/dist/motion.js +160 -178
  503. package/dist/music-staff.d.ts +1 -0
  504. package/dist/music-staff.js +915 -0
  505. package/dist/number-field-NFAwQ0HK.js +111 -0
  506. package/dist/number-field.d.ts +1 -1
  507. package/dist/number-field.js +2 -2
  508. package/dist/pager-dots.d.ts +1 -1
  509. package/dist/pager-dots.js +362 -2
  510. package/dist/participation-Di4UHbzk.js +42 -0
  511. package/dist/{pointerFieldMappings-DP5tla5z.js → pointerFieldMappings-DXwlU5uj.js} +7 -23
  512. package/dist/popover-C04Rrdcz.js +181 -0
  513. package/dist/popover.d.ts +1 -1
  514. package/dist/popover.js +1 -1
  515. package/dist/progress-DF8dWZIX.js +74 -0
  516. package/dist/progress.d.ts +1 -1
  517. package/dist/progress.js +1 -1
  518. package/dist/radio-group-BNV7PN1O.js +85 -0
  519. package/dist/radio-group.d.ts +1 -0
  520. package/dist/radio-group.js +2 -0
  521. package/dist/reactive.d.ts +1 -1
  522. package/dist/resolve-DdrNvBby.js +6 -0
  523. package/dist/rowClass-DYOXwxhO.js +10 -0
  524. package/dist/scroll-progress-rim.d.ts +1 -1
  525. package/dist/scroll-progress-rim.js +48 -42
  526. package/dist/select-COox45Kv.js +290 -0
  527. package/dist/select.d.ts +1 -1
  528. package/dist/select.js +2 -2
  529. package/dist/separator-CN11t406.js +73 -0
  530. package/dist/separator.d.ts +1 -1
  531. package/dist/separator.js +1 -1
  532. package/dist/sheet-BEFvnO_u.js +340 -0
  533. package/dist/sheet.d.ts +1 -0
  534. package/dist/sheet.js +3 -0
  535. package/dist/sidebar.d.ts +1 -1
  536. package/dist/slider-5ChjjWSR.js +227 -0
  537. package/dist/slider.d.ts +1 -1
  538. package/dist/slider.js +1 -1
  539. package/dist/sortable-list.d.ts +1 -1
  540. package/dist/sortable-list.js +411 -286
  541. package/dist/springPresets-Cbe0Voqg.js +52 -0
  542. package/dist/status-dot-BpnqOP5N.js +56 -0
  543. package/dist/status-dot.d.ts +1 -1
  544. package/dist/status-dot.js +2 -42
  545. package/dist/styles/accessibility.css +1 -1
  546. package/dist/styles/animations.css +1 -1
  547. package/dist/styles/components.css +1 -1
  548. package/dist/styles/fonts.css +1 -1
  549. package/dist/styles/glass/a11y-fallback.css +1 -1
  550. package/dist/styles/glass/control-bit.css +1 -0
  551. package/dist/styles/glass/control-edge.css +1 -0
  552. package/dist/styles/glass/control-surfaces.css +1 -1
  553. package/dist/styles/glass/deep.css +1 -1
  554. package/dist/styles/glass/defined.css +1 -1
  555. package/dist/styles/glass/dissolve.css +1 -0
  556. package/dist/styles/glass/focus-veil.css +1 -0
  557. package/dist/styles/glass/glass-atom.css +1 -1
  558. package/dist/styles/glass/glass-capsule.css +1 -1
  559. package/dist/styles/glass/glass-chip.css +1 -1
  560. package/dist/styles/glass/grasp.css +1 -0
  561. package/dist/styles/glass/ladder-undershadow.css +1 -1
  562. package/dist/styles/glass/ladder.css +1 -1
  563. package/dist/styles/glass/liquid-enter.css +1 -1
  564. package/dist/styles/glass/liquid-fill.css +1 -1
  565. package/dist/styles/glass/mark.css +1 -0
  566. package/dist/styles/glass/material.css +1 -1
  567. package/dist/styles/glass/overlay-plate.css +1 -0
  568. package/dist/styles/glass/reveal.css +1 -1
  569. package/dist/styles/glass/rim.css +1 -1
  570. package/dist/styles/glass/squircle.css +1 -1
  571. package/dist/styles/glass/surface-axis.css +1 -1
  572. package/dist/styles/glass/surfaces-pager.css +1 -1
  573. package/dist/styles/glass/surfaces.css +1 -1
  574. package/dist/styles/glass/track-flow.css +1 -0
  575. package/dist/styles/glass/value-marks.css +1 -0
  576. package/dist/styles/glass/veil.css +1 -0
  577. package/dist/styles/glass-specular-track.css +1 -1
  578. package/dist/styles/glass.css +1 -1
  579. package/dist/styles/index.css +1 -1
  580. package/dist/styles/paper.css +1 -1
  581. package/dist/styles/scroll-choreography.css +1 -1
  582. package/dist/styles/scroll-chrome.css +1 -1
  583. package/dist/styles/scroll-driven.css +1 -1
  584. package/dist/styles/theme/bridges.css +1 -1
  585. package/dist/styles/theme/dark.css +1 -1
  586. package/dist/styles/theme/literals.css +1 -1
  587. package/dist/styles/theme/radius.css +1 -1
  588. package/dist/styles/theme.css +1 -1
  589. package/dist/styles/tokens/color-radius.css +1 -1
  590. package/dist/styles/tokens/dark-arm-glass.css +1 -1
  591. package/dist/styles/tokens/dark-arm.css +1 -1
  592. package/dist/styles/tokens/glass-deep.css +1 -1
  593. package/dist/styles/tokens/glass-fx.css +1 -1
  594. package/dist/styles/tokens/glass.css +1 -1
  595. package/dist/styles/tokens/light-dark.css +1 -1
  596. package/dist/styles/tokens/manifest.d.ts +4 -4
  597. package/dist/styles/tokens/motion-registers.css +1 -1
  598. package/dist/styles/tokens/offsets.css +1 -1
  599. package/dist/styles/tokens/on-glass-fg.css +1 -1
  600. package/dist/styles/tokens/property-regs-specular.css +1 -1
  601. package/dist/styles/tokens/property-regs.css +1 -1
  602. package/dist/styles/tokens/scale-paper.css +1 -1
  603. package/dist/styles/tokens/scheme-motion.css +1 -1
  604. package/dist/styles/tokens/scheme-spring.css +1 -1
  605. package/dist/styles/tokens/scroll-tokens.css +1 -1
  606. package/dist/styles/tokens/shadow.css +1 -1
  607. package/dist/styles/tokens/sizing-config.css +1 -1
  608. package/dist/styles/tokens/sizing.css +1 -1
  609. package/dist/styles/tokens.css +1 -1
  610. package/dist/styles/tokens.d.ts +2 -2
  611. package/dist/styles/track-well.css +1 -0
  612. package/dist/styles/transitions.css +1 -1
  613. package/dist/styles/typography/scale.css +1 -1
  614. package/dist/styles/typography/semantic.css +1 -1
  615. package/dist/styles/typography/utilities.css +1 -1
  616. package/dist/styles/typography.css +1 -1
  617. package/dist/styles/utilities/a11y-overrides.css +1 -1
  618. package/dist/styles/utilities/base-misc.css +1 -1
  619. package/dist/styles/utilities/base.css +1 -1
  620. package/dist/styles/utilities/btn.css +1 -1
  621. package/dist/styles/utilities/components.css +1 -1
  622. package/dist/styles/utilities/metal.css +1 -1
  623. package/dist/styles/utilities/responsive.css +1 -1
  624. package/dist/styles/utilities.css +1 -1
  625. package/dist/styles/view-transition.css +1 -1
  626. package/dist/styles/viz-reveal.css +1 -1
  627. package/dist/{supportsCssTimeline-C2zyWpl8.js → supportsCssTimeline-Di9gzleG.js} +5 -4
  628. package/dist/surface.d.ts +1 -1
  629. package/dist/surface.js +1 -1
  630. package/dist/switch-lLkbREB-.js +49 -0
  631. package/dist/switch.d.ts +1 -1
  632. package/dist/switch.js +1 -1
  633. package/dist/tabs-DSJMd1Et.js +268 -0
  634. package/dist/tabs.d.ts +1 -1
  635. package/dist/tabs.js +2 -311
  636. package/dist/textarea.d.ts +1 -0
  637. package/dist/textarea.js +58 -0
  638. package/dist/timeline.d.ts +1 -1
  639. package/dist/timeline.js +238 -528
  640. package/dist/{toast-CH5mnsYT.js → toast-9c6Kp58L.js} +52 -50
  641. package/dist/toast.d.ts +1 -1
  642. package/dist/toast.js +1 -1
  643. package/dist/toggle-group-DUcmKnDw.js +125 -0
  644. package/dist/toggle-group.d.ts +1 -1
  645. package/dist/toggle-group.js +1 -1
  646. package/dist/tokens.d.ts +1 -1
  647. package/dist/tokens.js +12 -10
  648. package/dist/tooltip-BKk2qVDn.js +142 -0
  649. package/dist/tooltip.d.ts +1 -1
  650. package/dist/tooltip.js +1 -1
  651. package/dist/typewriter.d.ts +1 -1
  652. package/dist/typewriter.js +10 -32
  653. package/dist/useAccentTone-DFAh1osB.js +47 -0
  654. package/dist/{resolveCanvasColor-DS_6DBxA.js → useCanvas2D-CQRElMyE.js} +2 -13
  655. package/dist/{useDockCtaReceive-DkrOTM0q.js → useDockCtaReceive-BSSgD6mu.js} +2 -2
  656. package/dist/{useDragMorph-BogSV_nv.js → useDragMorph-B363RUbF.js} +59 -59
  657. package/dist/{useDragVelocity-6ONX0sr0.js → useDragVelocity-C5BkKiNf.js} +28 -24
  658. package/dist/useIntersectionPause-CzKR3EyP.js +57 -0
  659. package/dist/useLeadTrail-DQWdpFN1.js +83 -0
  660. package/dist/{useLiquidPress-BOxuDkKa.js → useLiquidPress-h1scrPtP.js} +1 -1
  661. package/dist/useScrollChrome-BJbWV32F.js +162 -0
  662. package/dist/useScrollProgress-Bq-KPaKM.js +41 -0
  663. package/dist/{useScrollTrigger-BDdqptlc.js → useScrollTrigger-Abe5dEeO.js} +25 -26
  664. package/dist/useSelectionGroup-zsEwitF6.js +291 -0
  665. package/dist/{useSpringMount-uQ8QL9Ff.js → useSpringMount-OA-0mTNv.js} +5 -6
  666. package/dist/vReveal-B5WYGofz.js +44 -0
  667. package/dist/{valueDomain-SbVzoHMH.js → valueDomain-DXRzfc8l.js} +1 -1
  668. package/package.json +52 -109
  669. package/dist/FeedbackMark-DZq5001h.js +0 -23
  670. package/dist/Input-9BlLluik.js +0 -77
  671. package/dist/PagerDots-BEq0MgtH.js +0 -311
  672. package/dist/Surface-kFQeYrYv.js +0 -82
  673. package/dist/animated-digit.d.ts +0 -1
  674. package/dist/animated-digit.js +0 -44
  675. package/dist/badge-u65NClWn.js +0 -62
  676. package/dist/button-Bu9F4uU6.js +0 -98
  677. package/dist/canvas.d.ts +0 -1
  678. package/dist/canvas.js +0 -2
  679. package/dist/chip-DFZQr6rV.js +0 -129
  680. package/dist/color.wgsl-Ct5o9dpf.js +0 -411
  681. package/dist/command-SFqDQ65h.js +0 -320
  682. package/dist/compile-D7VYG3gi.js +0 -19
  683. package/dist/completion-seal.d.ts +0 -1
  684. package/dist/completion-seal.js +0 -132
  685. package/dist/components/_shared/FeedbackMark.vue.d.ts +0 -11
  686. package/dist/components/_shared/control-size.d.ts +0 -2
  687. package/dist/components/_shared/disclosure.css +0 -1
  688. package/dist/components/_shared/feedback-tone.css +0 -1
  689. package/dist/components/_shared/feedback.d.ts +0 -7
  690. package/dist/components/_shared/field-control.css +0 -1
  691. package/dist/components/_shared/field-surfaces.css +0 -1
  692. package/dist/components/_shared/floating.d.ts +0 -14
  693. package/dist/components/_shared/menu.css +0 -1
  694. package/dist/components/_shared/menuRowClass.d.ts +0 -2
  695. package/dist/components/_shared/resolveSurfaceClass.d.ts +0 -3
  696. package/dist/components/animated-digit/AnimatedDigit.vue.d.ts +0 -55
  697. package/dist/components/animated-digit/index.d.ts +0 -2
  698. package/dist/components/avatar/styles.css +0 -1
  699. package/dist/components/card/CardAction.vue.d.ts +0 -17
  700. package/dist/components/card/card-scroll.css +0 -1
  701. package/dist/components/carousel/interface.d.ts +0 -22
  702. package/dist/components/checkbox/styles.css +0 -1
  703. package/dist/components/combobox/Combobox.vue.d.ts +0 -22
  704. package/dist/components/combobox/ComboboxAnchor.vue.d.ts +0 -14
  705. package/dist/components/combobox/ComboboxEmpty.vue.d.ts +0 -14
  706. package/dist/components/combobox/ComboboxGroup.vue.d.ts +0 -14
  707. package/dist/components/combobox/ComboboxInput.vue.d.ts +0 -18
  708. package/dist/components/combobox/ComboboxItem.vue.d.ts +0 -18
  709. package/dist/components/combobox/ComboboxItemIndicator.vue.d.ts +0 -14
  710. package/dist/components/combobox/ComboboxList.vue.d.ts +0 -29
  711. package/dist/components/combobox/ComboboxTrigger.vue.d.ts +0 -16
  712. package/dist/components/combobox/index.d.ts +0 -10
  713. package/dist/components/combobox/types.d.ts +0 -87
  714. package/dist/components/command/dialogContext.d.ts +0 -6
  715. package/dist/components/command/styles.css +0 -1
  716. package/dist/components/completion-seal/CompletionSeal.vue.d.ts +0 -28
  717. package/dist/components/completion-seal/composables/useCompletionSeal.d.ts +0 -37
  718. package/dist/components/completion-seal/constants.d.ts +0 -66
  719. package/dist/components/completion-seal/index.d.ts +0 -4
  720. package/dist/components/completion-seal/styles.css +0 -1
  721. package/dist/components/data-table/styles.css +0 -1
  722. package/dist/components/deck/DeckPager.vue.d.ts +0 -29
  723. package/dist/components/dialog/DialogClose.vue.d.ts +0 -16
  724. package/dist/components/dialog/DialogTrigger.vue.d.ts +0 -16
  725. package/dist/components/dialog/dialogStageContext.d.ts +0 -7
  726. package/dist/components/dialog/placement.css +0 -1
  727. package/dist/components/dialog/sheet-motion.d.ts +0 -17
  728. package/dist/components/dock/composables/useDockOverflowFit.d.ts +0 -20
  729. package/dist/components/dock/composables/useDockTouchGate.d.ts +0 -42
  730. package/dist/components/dock/styles/overflow.css +0 -1
  731. package/dist/components/drawer/Drawer.vue.d.ts +0 -82
  732. package/dist/components/drawer/DrawerContent.vue.d.ts +0 -39
  733. package/dist/components/drawer/DrawerDescription.vue.d.ts +0 -17
  734. package/dist/components/drawer/DrawerFooter.vue.d.ts +0 -17
  735. package/dist/components/drawer/DrawerHeader.vue.d.ts +0 -17
  736. package/dist/components/drawer/DrawerOverlay.vue.d.ts +0 -8
  737. package/dist/components/drawer/DrawerTitle.vue.d.ts +0 -17
  738. package/dist/components/drawer/composables/drawerSnapContext.d.ts +0 -34
  739. package/dist/components/drawer/composables/useDrawerSnap.d.ts +0 -26
  740. package/dist/components/drawer/constants.d.ts +0 -32
  741. package/dist/components/drawer/index.d.ts +0 -33
  742. package/dist/components/drawer/styles.css +0 -1
  743. package/dist/components/dropdown-menu/styles.css +0 -1
  744. package/dist/components/easing/EasingConfigurator.vue.d.ts +0 -33
  745. package/dist/components/expandable-container/styles.css +0 -1
  746. package/dist/components/fourier-field/composables/fourierFieldGLSetup.d.ts +0 -24
  747. package/dist/components/fourier-field/composables/fourierFieldWGPUSetup.d.ts +0 -31
  748. package/dist/components/fourier-field/composables/uniformBridgeWGPU.d.ts +0 -41
  749. package/dist/components/fourier-field/composables/useFourierField.d.ts +0 -56
  750. package/dist/components/fourier-field/presets.d.ts +0 -54
  751. package/dist/components/fourier-field/shaders/fourier-field.compute.wgsl.d.ts +0 -1
  752. package/dist/components/fourier-field/shaders/fourier-field.glsl.d.ts +0 -4
  753. package/dist/components/fourier-field/shaders/fourier-field.render.wgsl.d.ts +0 -1
  754. package/dist/components/fourier-field/shaders/fourier-field.ribbon.d.ts +0 -51
  755. package/dist/components/handmark/brush.d.ts +0 -269
  756. package/dist/components/handmark/composables/useHandMark.d.ts +0 -99
  757. package/dist/components/handmark/constants.d.ts +0 -69
  758. package/dist/components/handmark/freehand.d.ts +0 -69
  759. package/dist/components/handmark/geometry.d.ts +0 -65
  760. package/dist/components/handmark/ink.d.ts +0 -11
  761. package/dist/components/handmark/noise.d.ts +0 -30
  762. package/dist/components/handmark/texture.d.ts +0 -39
  763. package/dist/components/handmark/types.d.ts +0 -70
  764. package/dist/components/header-ribbon/HeaderRibbon.vue.d.ts +0 -13
  765. package/dist/components/header-ribbon/index.d.ts +0 -2
  766. package/dist/components/header-ribbon/styles.css +0 -1
  767. package/dist/components/header-ribbon/types.d.ts +0 -10
  768. package/dist/components/instrument-chassis/InstrumentChassis.vue.d.ts +0 -23
  769. package/dist/components/instrument-chassis/index.d.ts +0 -2
  770. package/dist/components/instrument-chassis/styles.css +0 -1
  771. package/dist/components/instrument-chassis/types.d.ts +0 -13
  772. package/dist/components/labeled-field/LabeledSelect.vue.d.ts +0 -20
  773. package/dist/components/liquid-grid/LiquidGrid.vue.d.ts +0 -46
  774. package/dist/components/liquid-grid/composables/liquidGrid.d.ts +0 -113
  775. package/dist/components/liquid-grid/composables/liquidGridGLSetup.d.ts +0 -18
  776. package/dist/components/liquid-grid/composables/liquidGridWGPUSetup.d.ts +0 -21
  777. package/dist/components/liquid-grid/composables/uniformBridgeWGPU.d.ts +0 -16
  778. package/dist/components/liquid-grid/composables/useLiquidGrid.d.ts +0 -32
  779. package/dist/components/liquid-grid/constants.d.ts +0 -92
  780. package/dist/components/liquid-grid/index.d.ts +0 -5
  781. package/dist/components/liquid-grid/shaders/liquid-grid.glsl.d.ts +0 -4
  782. package/dist/components/liquid-grid/shaders/liquid-grid.wgsl.d.ts +0 -1
  783. package/dist/components/metric/MetricCell.vue.d.ts +0 -26
  784. package/dist/components/number-field/NumberFieldDecrement.vue.d.ts +0 -18
  785. package/dist/components/number-field/NumberFieldIncrement.vue.d.ts +0 -18
  786. package/dist/components/number-field/styles.css +0 -1
  787. package/dist/components/pager-dots/composables/usePagerWorm.d.ts +0 -26
  788. package/dist/components/pager-dots/constants.d.ts +0 -14
  789. package/dist/components/pager-dots/pagerWindow.d.ts +0 -9
  790. package/dist/components/paper-backdrop/PaperBackdrop.vue.d.ts +0 -8
  791. package/dist/components/paper-backdrop/index.d.ts +0 -2
  792. package/dist/components/pulse/Pulse.vue.d.ts +0 -14
  793. package/dist/components/pulse/index.d.ts +0 -2
  794. package/dist/components/radio-group/styles.css +0 -1
  795. package/dist/components/search/FuzzySearch.vue.d.ts +0 -24
  796. package/dist/components/search/SearchBar.vue.d.ts +0 -38
  797. package/dist/components/search/composables/index.d.ts +0 -5
  798. package/dist/components/search/index.d.ts +0 -9
  799. package/dist/components/search/searchVariants.d.ts +0 -17
  800. package/dist/components/select/SelectScrollDownButton.vue.d.ts +0 -17
  801. package/dist/components/select/SelectScrollUpButton.vue.d.ts +0 -17
  802. package/dist/components/sortable-list/composables/dragController.d.ts +0 -29
  803. package/dist/components/sortable-list/composables/dropResolver.d.ts +0 -34
  804. package/dist/components/sortable-list/composables/ghostRenderer.d.ts +0 -44
  805. package/dist/components/sortable-list/composables/index.d.ts +0 -1
  806. package/dist/components/sortable-list/composables/touchGate.d.ts +0 -26
  807. package/dist/components/sortable-list/composables/transitionTiming.d.ts +0 -50
  808. package/dist/components/switch/styles.css +0 -1
  809. package/dist/components/tabs/constants.d.ts +0 -1
  810. package/dist/components/tags-input/TagsInput.vue.d.ts +0 -41
  811. package/dist/components/tags-input/TagsInputInput.vue.d.ts +0 -10
  812. package/dist/components/tags-input/TagsInputItem.vue.d.ts +0 -19
  813. package/dist/components/tags-input/TagsInputItemDelete.vue.d.ts +0 -17
  814. package/dist/components/tags-input/TagsInputItemText.vue.d.ts +0 -7
  815. package/dist/components/tags-input/context.d.ts +0 -5
  816. package/dist/components/tags-input/index.d.ts +0 -5
  817. package/dist/components/tags-input/styles.css +0 -1
  818. package/dist/components/timeline/ContinuousMarkers.vue.d.ts +0 -47
  819. package/dist/components/timeline/ContinuousRail.vue.d.ts +0 -23
  820. package/dist/components/timeline/ContinuousTimeline.vue.d.ts +0 -117
  821. package/dist/components/timeline/GlassTimeline.vue.d.ts +0 -113
  822. package/dist/components/timeline/ScrubberTimeline.vue.d.ts +0 -45
  823. package/dist/components/timeline/SegmentedTimeline.vue.d.ts +0 -45
  824. package/dist/components/toggle-group/styles.css +0 -1
  825. package/dist/components/toggle-group/toggleGroupContext.d.ts +0 -9
  826. package/dist/components/typewriter/composables/index.d.ts +0 -1
  827. package/dist/components/watercolor-dot/WatercolorDot.vue.d.ts +0 -61
  828. package/dist/components/watercolor-dot/index.d.ts +0 -3
  829. package/dist/components/watercolor-dot/prng.d.ts +0 -5
  830. package/dist/components/watercolor-dot/useWatercolorBlob.d.ts +0 -28
  831. package/dist/composables/glass/ambientHueHistogram.d.ts +0 -27
  832. package/dist/composables/glass/useSpecularPointer.d.ts +0 -52
  833. package/dist/composables/glass/wave/index.d.ts +0 -4
  834. package/dist/composables/glass/wave/waveField.d.ts +0 -136
  835. package/dist/composables/glass/wave/waveField.glsl.d.ts +0 -1
  836. package/dist/composables/glass/wave/waveField.wgsl.d.ts +0 -1
  837. package/dist/composables/glass/webgpu/index.d.ts +0 -3
  838. package/dist/composables/index.d.ts +0 -9
  839. package/dist/composables/motion/number/useCountup.d.ts +0 -30
  840. package/dist/composables/motion/number/useNumericTransition.d.ts +0 -56
  841. package/dist/composables/motion/reveal/bloomUpField.d.ts +0 -29
  842. package/dist/composables/motion/reveal/useBloomUp.d.ts +0 -33
  843. package/dist/composables/motion/reveal/useStaggerReveal.d.ts +0 -28
  844. package/dist/composables/motion/reveal/useTextHighlight.d.ts +0 -41
  845. package/dist/composables/motion/scroll/useScrollPin.d.ts +0 -49
  846. package/dist/configurator-M5OaIlJd.js +0 -311
  847. package/dist/data-table-BygKg6ZA.js +0 -491
  848. package/dist/dialog-TNRDkcE4.js +0 -385
  849. package/dist/dockContext-BUTlGRNJ.js +0 -13
  850. package/dist/drawer.d.ts +0 -1
  851. package/dist/drawer.js +0 -496
  852. package/dist/dropdown-menu-BlbnvMaZ.js +0 -507
  853. package/dist/dropdown-menu.d.ts +0 -1
  854. package/dist/floating-dB5TD88k.js +0 -7
  855. package/dist/flow.wgsl-Cd2GUkPx.js +0 -4
  856. package/dist/fonts/README.md +0 -120
  857. package/dist/fonts/fira-code/OFL.txt +0 -93
  858. package/dist/fonts/plus-jakarta-sans/OFL.txt +0 -93
  859. package/dist/forms.d.ts +0 -5
  860. package/dist/forms.js +0 -403
  861. package/dist/header-ribbon.d.ts +0 -1
  862. package/dist/header-ribbon.js +0 -43
  863. package/dist/instrument-chassis.d.ts +0 -1
  864. package/dist/instrument-chassis.js +0 -54
  865. package/dist/label-DnMqH7jr.js +0 -55
  866. package/dist/liquid-grid.d.ts +0 -1
  867. package/dist/liquid-grid.js +0 -1065
  868. package/dist/menuRowClass-Nh7CtMON.js +0 -12
  869. package/dist/number-field-Boe09SvX.js +0 -154
  870. package/dist/paper-backdrop.d.ts +0 -1
  871. package/dist/paper-backdrop.js +0 -23
  872. package/dist/popover-BQGYXZyO.js +0 -244
  873. package/dist/progress-DClbhRAT.js +0 -88
  874. package/dist/pulse.d.ts +0 -1
  875. package/dist/pulse.js +0 -42
  876. package/dist/resolveSurfaceClass-DCZ4PZcy.js +0 -6
  877. package/dist/search.d.ts +0 -1
  878. package/dist/search.js +0 -352
  879. package/dist/select-BcBAyLXA.js +0 -336
  880. package/dist/separator-CgZInrX-.js +0 -75
  881. package/dist/slider-DzqeQmMu.js +0 -162
  882. package/dist/springPresets-rCii5KqX.js +0 -52
  883. package/dist/styles/draw-in.css +0 -1
  884. package/dist/styles/glass/accent-tone.css +0 -1
  885. package/dist/styles/glass/grain-overlay.css +0 -1
  886. package/dist/styles/glass/material-roles.css +0 -1
  887. package/dist/styles/glass-refract.css +0 -1
  888. package/dist/styles/tokens/manifest.ts +0 -56
  889. package/dist/styles/tokens.ts +0 -54
  890. package/dist/switch-DZjQuFLa.js +0 -54
  891. package/dist/toggle-group-O6jBo7AE.js +0 -150
  892. package/dist/tooltip-Drx5qnw_.js +0 -148
  893. package/dist/useAccentTone-DyInfHXE.js +0 -23
  894. package/dist/useAnimatedNumber-WPtMz0AN.js +0 -40
  895. package/dist/useDocumentVisibility-Dh_TGXsU.js +0 -21
  896. package/dist/useFuzzySearch-CUnZknpm.js +0 -177
  897. package/dist/useIntersectionPause-B5mAU6XY.js +0 -39
  898. package/dist/useLeadTrail-AW1-zZcd.js +0 -74
  899. package/dist/useRAFLoop-B3YlWK4M.js +0 -98
  900. package/dist/useScrollProgress-CSFYXIZT.js +0 -43
  901. package/dist/useSelectionGroup-B5XplBbo.js +0 -132
  902. package/dist/useTabRovingFocus-YnWh-Ytr.js +0 -169
  903. package/dist/useTextHighlight-mfwNIC1f.js +0 -112
  904. package/dist/useTouchGate-B4mzQcHJ.js +0 -84
  905. package/dist/useUserInvalidAria-0GNrddMX.js +0 -25
  906. package/dist/watercolor-dot.d.ts +0 -1
  907. package/dist/watercolor-dot.js +0 -149
  908. /package/dist/components/_shared/{disclosure-context.d.ts → disclosure/disclosure-context.d.ts} +0 -0
  909. /package/dist/components/_shared/{valueDomain.d.ts → field/valueDomain.d.ts} +0 -0
  910. /package/dist/components/{dropdown-menu → menu}/DropdownMenuGroup.vue.d.ts +0 -0
  911. /package/dist/components/{dropdown-menu → menu}/DropdownMenuItem.vue.d.ts +0 -0
  912. /package/dist/components/{dropdown-menu → menu}/DropdownMenuLabel.vue.d.ts +0 -0
  913. /package/dist/components/{dropdown-menu → menu}/DropdownMenuSeparator.vue.d.ts +0 -0
  914. /package/dist/components/{dropdown-menu → menu}/DropdownMenuShortcut.vue.d.ts +0 -0
  915. /package/dist/components/{dropdown-menu → menu}/DropdownMenuSub.vue.d.ts +0 -0
  916. /package/dist/components/{dropdown-menu → menu}/DropdownMenuSubTrigger.vue.d.ts +0 -0
  917. /package/dist/components/{dropdown-menu/useMenuTrigger.d.ts → menu/context.d.ts} +0 -0
  918. /package/dist/{components/search/composables → composables/search}/types.d.ts +0 -0
@@ -1,16 +1,18 @@
1
- export { default as Select } from "./Select.vue";
2
- export { default as SelectValue } from "./SelectValue.vue";
3
- export { default as SelectTrigger } from "./SelectTrigger.vue";
4
- export { default as SelectContent } from "./SelectContent.vue";
5
- export { default as SelectGroup } from "./SelectGroup.vue";
6
- export { default as SelectItem } from "./SelectItem.vue";
7
- export { default as SelectLabel } from "./SelectLabel.vue";
8
- export { default as SelectSeparator } from "./SelectSeparator.vue";
9
- export type { SelectEmits, SelectProps } from "./Select.vue";
10
- export type { SelectValueProps, SelectValueSlotProps } from "./SelectValue.vue";
11
- export type { SelectTriggerProps } from "./SelectTrigger.vue";
12
- export type { SelectContentEmits, SelectContentProps } from "./SelectContent.vue";
13
- export type { SelectGroupProps } from "./SelectGroup.vue";
14
- export type { SelectItemEmits, SelectItemProps, SelectItemSelectEvent, } from "./SelectItem.vue";
15
- export type { SelectLabelProps } from "./SelectLabel.vue";
16
- export type { SelectSeparatorProps } from "./SelectSeparator.vue";
1
+ export { default as Select } from "./Select.vue.js";
2
+ export { default as SelectValue } from "./SelectValue.vue.js";
3
+ export { default as SelectTrigger } from "./SelectTrigger.vue.js";
4
+ export { default as SelectContent } from "./SelectContent.vue.js";
5
+ export { default as SelectGroup } from "./SelectGroup.vue.js";
6
+ export { default as SelectItem } from "./SelectItem.vue.js";
7
+ export { default as SelectLabel } from "./SelectLabel.vue.js";
8
+ export { default as SelectScrollButton } from "./SelectScrollButton.vue.js";
9
+ export { default as SelectSeparator } from "./SelectSeparator.vue.js";
10
+ export type { SelectEmits, SelectProps } from "./Select.vue.js";
11
+ export type { SelectValueProps } from "./SelectValue.vue.js";
12
+ export type { SelectTriggerProps } from "./SelectTrigger.vue.js";
13
+ export type { SelectContentEmits, SelectContentProps } from "./SelectContent.vue.js";
14
+ export type { SelectGroupProps } from "./SelectGroup.vue.js";
15
+ export type { SelectItemEmits, SelectItemProps, SelectItemSelectEvent, } from "./SelectItem.vue.js";
16
+ export type { SelectLabelProps } from "./SelectLabel.vue.js";
17
+ export type { SelectScrollButtonProps } from "./SelectScrollButton.vue.js";
18
+ export type { SelectSeparatorProps } from "./SelectSeparator.vue.js";
@@ -1,5 +1,5 @@
1
1
  import { type HTMLAttributes } from "vue";
2
- import type { Orientation } from "../_shared/axes";
2
+ import type { Orientation } from "../_shared/axes.js";
3
3
  export interface SeparatorProps {
4
4
  orientation?: Orientation;
5
5
  decorative?: boolean;
@@ -1 +1 @@
1
- export { default as Separator, type SeparatorProps } from "./Separator.vue";
1
+ export { default as Separator, type SeparatorProps } from "./Separator.vue.js";
@@ -0,0 +1,60 @@
1
+ import { type HTMLAttributes } from "vue";
2
+ import type { Motion, Surface } from "../_shared/axes.js";
3
+ import { type SidePlacement } from "./motion.js";
4
+ export interface SheetContentProps {
5
+ forceMount?: boolean;
6
+ disableOutsidePointerEvents?: boolean;
7
+ class?: HTMLAttributes["class"];
8
+ surface?: Surface;
9
+ /** The anchored edge. A sheet always slides; a centred surface is `DialogContent`. */
10
+ side?: SidePlacement;
11
+ /**
12
+ * The detent ladder — ascending fractions of the anchored axis the sheet may rest
13
+ * at. Supplying it makes the sheet DETENTED: it takes its size from the live rung
14
+ * instead of sliding whole, it grows a grip that carries the ladder, and it can be
15
+ * dragged and flung between rungs or off the edge entirely.
16
+ *
17
+ * A detent is a size, so `left`/`right` ladders are as legal as `bottom`/`top` ones
18
+ * — the geometry is axis-agnostic and there is no side to fence off.
19
+ */
20
+ detents?: number[];
21
+ /** The active rung (`v-model:detent`). Defaults to the ladder's fullest. */
22
+ detent?: number | null;
23
+ motion?: Motion;
24
+ scroll?: boolean;
25
+ }
26
+ declare var __VLS_27: {};
27
+ type __VLS_Slots = {} & {
28
+ default?: (props: typeof __VLS_27) => any;
29
+ };
30
+ declare const __VLS_base: import("vue").DefineComponent<SheetContentProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
31
+ escapeKeyDown: (event: KeyboardEvent) => any;
32
+ pointerDownOutside: (event: import("../_shared/interaction.js").PointerDownOutsideEvent) => any;
33
+ focusOutside: (event: import("../_shared/interaction.js").FocusOutsideEvent) => any;
34
+ interactOutside: (event: import("../_shared/interaction.js").PointerDownOutsideEvent | import("../_shared/interaction.js").FocusOutsideEvent) => any;
35
+ openAutoFocus: (event: Event) => any;
36
+ closeAutoFocus: (event: Event) => any;
37
+ "update:detent": (value: number | null) => any;
38
+ }, string, import("vue").PublicProps, Readonly<SheetContentProps> & Readonly<{
39
+ onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
40
+ onPointerDownOutside?: ((event: import("../_shared/interaction.js").PointerDownOutsideEvent) => any) | undefined;
41
+ onFocusOutside?: ((event: import("../_shared/interaction.js").FocusOutsideEvent) => any) | undefined;
42
+ onInteractOutside?: ((event: import("../_shared/interaction.js").PointerDownOutsideEvent | import("../_shared/interaction.js").FocusOutsideEvent) => any) | undefined;
43
+ onOpenAutoFocus?: ((event: Event) => any) | undefined;
44
+ onCloseAutoFocus?: ((event: Event) => any) | undefined;
45
+ "onUpdate:detent"?: ((value: number | null) => any) | undefined;
46
+ }>, {
47
+ scroll: boolean;
48
+ surface: Surface;
49
+ side: SidePlacement;
50
+ detent: number | null;
51
+ detents: number[];
52
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
53
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
54
+ declare const _default: typeof __VLS_export;
55
+ export default _default;
56
+ type __VLS_WithSlots<T, S> = T & {
57
+ new (): {
58
+ $slots: S;
59
+ };
60
+ };
@@ -0,0 +1,42 @@
1
+ /** `ω₀ = 2π / response` — the register's angular frequency, in rad/s. */
2
+ export declare function springOmega(response: number): number;
3
+ /** The three numbers a projection needs — the shape a `SpringPresetRow` already has. */
4
+ export interface ProjectionRow {
5
+ readonly response: number;
6
+ readonly dampingFraction: number;
7
+ readonly settleBand: number;
8
+ }
9
+ /**
10
+ * The row's own settle horizon in seconds: how long its envelope takes to fall inside
11
+ * its published band. This is the clock a released sheet coasts on.
12
+ */
13
+ export declare function settleHorizon(row: ProjectionRow): number;
14
+ /**
15
+ * How far a release at fraction-per-second `v` carries, in fractions. Signed: the sign
16
+ * of the velocity is the direction of the throw, and nothing here clamps it.
17
+ */
18
+ export declare function throwDistance(v: number, row: ProjectionRow): number;
19
+ /**
20
+ * Where a sheet released at fraction `x` with fraction-per-second velocity `v` comes to
21
+ * rest if nothing catches it. Unclamped on purpose — the caller owns the ladder, and a
22
+ * projection that ran past the ends is exactly the signal that the end is the answer.
23
+ */
24
+ export declare function projectRest(x: number, v: number, row: ProjectionRow): number;
25
+ /**
26
+ * The rung nearest `value` in `ladder` (ascending, non-empty). Ties go to the first —
27
+ * the ladder is sorted, so a tie resolves toward the closed end.
28
+ */
29
+ export declare function nearestRung(value: number, ladder: readonly number[]): number;
30
+ /**
31
+ * The release decision, end to end: project, then resolve against the ladder EXTENDED
32
+ * with the dismissed rung `0`.
33
+ *
34
+ * `0` is a legal rung here, and that is the whole of the drag-to-dismiss fix. The
35
+ * shipped engine floored its drag clamp at `ladder[0]` and then asked whether the target
36
+ * was `<= 0` — a branch that could never be true for either shipped ladder, so a
37
+ * −7826 px/s downward fling left the sheet open and the comment beside it claimed the
38
+ * opposite. Nothing tests a threshold now: a projected rest below the first rung's
39
+ * half-way point is nearer to `0` than to `ladder[0]` by ordinary arithmetic, and the
40
+ * sheet closes because that is where the energy pointed.
41
+ */
42
+ export declare function resolveRelease(x: number, v: number, ladder: readonly number[], row: ProjectionRow): number;
@@ -0,0 +1,27 @@
1
+ import { type Ref } from "vue";
2
+ import type { SidePlacement } from "../motion.js";
3
+ export interface UseSheetDetentsOptions {
4
+ /** The reka root's open state. */
5
+ open: Readonly<Ref<boolean>>;
6
+ /** The anchored edge — decides the drag axis and its toward-open sign. */
7
+ side: () => SidePlacement;
8
+ /** The ascending, non-empty detent ladder. */
9
+ ladder: () => readonly number[];
10
+ /** The active rung (`v-model:detent`); the engine writes the settled rung back. */
11
+ detent: Ref<number | null>;
12
+ /** Ask the host to close (routes through the consumer's `v-model:open`). */
13
+ requestClose: () => void;
14
+ }
15
+ export interface UseSheetDetentsReturn {
16
+ /** The live size fraction. Bound as `--detent-t`; also the scrim's input. */
17
+ t: Readonly<Ref<number>>;
18
+ /** Mount hold — true until the dismissing spring reaches 0. */
19
+ present: Readonly<Ref<boolean>>;
20
+ /** True while a pointer drag is in flight. */
21
+ dragging: Readonly<Ref<boolean>>;
22
+ /** Settle to the nearest rung (the keyboard + external-write seam). */
23
+ snapTo(fraction: number): void;
24
+ /** Bind on the sheet root; decides for itself whether the press is a drag. */
25
+ onPointerdown(event: PointerEvent): void;
26
+ }
27
+ export declare function useSheetDetents(options: UseSheetDetentsOptions): UseSheetDetentsReturn;
@@ -0,0 +1,4 @@
1
+ export { default as SheetContent, type SheetContentProps } from "./SheetContent.vue.js";
2
+ export { sheetSlideTransform, scrimOpacity, scrimDetentOpacity, type SidePlacement, } from "./motion.js";
3
+ export { settleHorizon, throwDistance, projectRest, nearestRung, resolveRelease, springOmega, type ProjectionRow, } from "./detents/projection.js";
4
+ export { useSheetDetents } from "./detents/use.js";
@@ -0,0 +1,29 @@
1
+ import type { Placement } from "../_shared/axes.js";
2
+ /** The four slide placements (a `center` modal is Dialog's non-slide path). */
3
+ export type SidePlacement = Exclude<Placement, "center">;
4
+ /**
5
+ * The side sheet's slide as a CSS `translate` LONGHAND value ("<lp> <lp>").
6
+ * `p`: 0 = mounted at rest, 1 = one own-dimension offscreen along the anchored
7
+ * axis. This is a `translate` longhand, NOT a `transform` function —
8
+ * `translateX()`/`translateY()` are invalid as a `translate` value and paint
9
+ * nothing (R1). `p` is left unclamped so the spring's overshoot IS the settle.
10
+ */
11
+ export declare function sheetSlideTransform(placement: SidePlacement, p: number): string;
12
+ /**
13
+ * Scrim opacity synced to the surface position: 1 at open (p=0), 0 at dismissed
14
+ * (p=1). Clamped so the spring overshoot (p<0 or p>1) never pushes opacity out of
15
+ * [0,1]. Reads the SAME live scalar as the surface → no desync through an interrupt.
16
+ */
17
+ export declare function scrimOpacity(p: number): number;
18
+ /**
19
+ * Scrim opacity for a DETENTED sheet, off the rung scalar rather than the slide: a
20
+ * peek barely dims and a full commits hard, which is what makes a partly-open sheet
21
+ * read as a sheet over a live page rather than as a modal that failed to arrive.
22
+ *
23
+ * The two figures are the shipped law relocated, not new ones — the drawer's
24
+ * `0.28 + t·0.44` measured CORRECT and survived its own audit; it only ever lived in a
25
+ * stylesheet with one consumer and an `@import` lane of its own. Here it is a pure
26
+ * function beside the slide law it is the sibling of, and it is CONDITIONAL: a sheet
27
+ * with no ladder keeps `scrimOpacity`, so nothing pays for a rung it does not have.
28
+ */
29
+ export declare function scrimDetentOpacity(t: number): number;
@@ -0,0 +1 @@
1
+ :where([data-slot="sheet-content"]){position: fixed;z-index: var(--z-modal);}@property --detent-t{syntax: "<number>";inherits: false;initial-value: 0;}:where([data-slot="sheet-content"][data-detents]){--sheet-seam-width: 1px;contain: layout paint;display: grid;grid-template-rows: auto minmax(0,1fr);}:where([data-slot="sheet-content"][data-modal="false"]){z-index: calc(var(--z-dock) - 1);}:where( [data-slot="sheet-content"][data-detents] > [data-slot="sheet-detent-handle"],[data-slot="sheet-content"][data-detents] [data-slot="dialog-header"] ){touch-action: none;}:where([data-slot="sheet-content"][data-dragging]){cursor: grabbing;user-select: none;}:where([data-slot="sheet-content"] > [data-slot="sheet-content-region"]){display: grid;align-content: start;gap: var(--space-body);}:where([data-slot="sheet-content"][data-scroll] > [data-slot="sheet-content-region"]){min-block-size: 0;max-block-size: calc(100dvh - 2 * var(--space-family));overflow-y: auto;}:where( [data-slot="sheet-content"][data-side="left"]:not([data-detents]) > [data-slot="sheet-content-region"],[data-slot="sheet-content"][data-side="right"]:not([data-detents]) > [data-slot="sheet-content-region"] ){display: flex;flex-direction: column;block-size: 100%;min-block-size: 0;}:where( [data-slot="sheet-content"][data-side="left"] > [data-slot="sheet-content-region"] > :only-child,[data-slot="sheet-content"][data-side="right"] > [data-slot="sheet-content-region"] > :only-child ){min-block-size: 0;}:where([data-slot="sheet-content"][data-detents] > [data-slot="sheet-content-region"]){display: grid;grid-template-rows: minmax(0,auto) minmax(1lh,1fr) auto;align-content: end;min-block-size: 0;gap: var(--space-body);}:where( [data-slot="sheet-content"][data-detents] > [data-slot="sheet-content-region"] > :not([data-slot="dialog-header"]):not([data-slot="dialog-footer"]) ){min-block-size: 0;overflow-y: auto;overscroll-behavior: contain;}:where( [data-slot="sheet-content"][data-detents] > [data-slot="sheet-content-region"] > [data-slot="dialog-header"] ){overflow: hidden;padding-block-end: var(--space-body);border-block-end: var(--sheet-seam-width) solid oklch(from var(--glass-veil-ink) l c h / calc(var(--glass-veil-step) * 2));}:where( [data-slot="sheet-content"][data-detents] > [data-slot="sheet-content-region"] > [data-slot="dialog-footer"] ){padding-block-start: var(--space-body);border-block-start: var(--sheet-seam-width) solid oklch(from var(--glass-veil-ink) l c h / calc(var(--glass-veil-step) * 2));}:where([data-slot="sheet-content"]:not([data-detents]):has([data-slot="dialog-close"])) :where([data-slot="dialog-header"]){padding-inline-end: calc(var(--touch-target) + var(--space-atom));}:where([data-slot="sheet-content"][data-detents] > [data-slot="sheet-detent-handle"]){display: flex;align-items: center;justify-content: center;min-block-size: var(--touch-target);cursor: grab;}:where([data-slot="sheet-detent-handle"] > [data-slot="sheet-detent-grip"]){display: block;inline-size: calc( var(--space-section) + var(--space-family) * clamp(0,var(--detent-t),1) );block-size: calc(var(--space-atom) / 2);border-radius: var(--radius-pill);background-color: currentcolor;opacity: calc(0.45 + ((0.85 - 0.45) / 2) * clamp(0,var(--detent-t),1));transition: opacity var(--spring-dock-duration) var(--spring-dock),inline-size var(--spring-dock-duration) var(--spring-dock);}@media (hover: hover){:where([data-slot="sheet-detent-handle"]:hover > [data-slot="sheet-detent-grip"]){opacity: 0.85;}}:where([data-slot="sheet-detent-handle"]:focus-visible){outline: none;}:where( [data-slot="sheet-detent-handle"]:focus-visible > [data-slot="sheet-detent-grip"],[data-slot="sheet-content"][data-dragging] [data-slot="sheet-detent-grip"] ){opacity: 0.85;}:where( [data-slot="sheet-detent-handle"]:focus-visible > [data-slot="sheet-detent-grip"] ){box-shadow: 0 0 0 3px var(--focus-ring-color);}@media (prefers-reduced-motion: reduce){:where([data-slot="sheet-detent-grip"]){transition: none;}}:where([data-slot="sheet-content"]){anchor-name: --glass-sheet-edge;}:where([data-slot="sheet-content"][data-surface="glass"]){-webkit-backdrop-filter: none;backdrop-filter: none;}:where([data-slot="glass-graded-halo"]){position: fixed;position-anchor: --glass-sheet-edge;top: anchor(top);right: anchor(right);bottom: anchor(bottom);left: anchor(left);z-index: calc(var(--z-modal) - 1);pointer-events: none;background: linear-gradient( var(--sheet-edge-direction),color-mix(in oklab,var(--glass-plate-overlay) 10%,transparent) 0,color-mix(in oklab,var(--glass-plate-overlay) 16%,transparent) 40px,color-mix(in oklab,var(--glass-plate-overlay) 34%,transparent) 120px,color-mix(in oklab,var(--glass-plate-overlay) 34%,transparent) 100% );-webkit-backdrop-filter: blur(calc(34px * var(--glass-level))) saturate(var(--glass-saturate));backdrop-filter: blur(calc(34px * var(--glass-level))) saturate(var(--glass-saturate));mask-image: linear-gradient( var(--sheet-edge-direction),rgb(0 0 0 / 0.325) 0,rgb(0 0 0 / 0.45) 40px,black 120px,black 100% );}:where([data-slot="glass-graded-halo"][data-modal="false"]){z-index: calc(var(--z-dock) - 2);}:where([data-slot="glass-graded-halo"][data-side="top"]){--sheet-edge-direction: to top;border-end-start-radius: var(--radius-3xl);border-end-end-radius: var(--radius-3xl);}:where([data-slot="glass-graded-halo"][data-side="bottom"]){--sheet-edge-direction: to bottom;border-start-start-radius: var(--radius-3xl);border-start-end-radius: var(--radius-3xl);}:where([data-slot="glass-graded-halo"][data-side="left"]){--sheet-edge-direction: to left;border-start-end-radius: var(--radius-3xl);border-end-end-radius: var(--radius-3xl);}:where([data-slot="glass-graded-halo"][data-side="right"]){--sheet-edge-direction: to right;border-start-start-radius: var(--radius-3xl);border-end-start-radius: var(--radius-3xl);}:where([data-slot="glass-graded-halo"][data-detents][data-side="bottom"]){height: 100dvh;bottom: auto;}:where([data-slot="glass-graded-halo"][data-detents][data-side="top"]){height: 100dvh;top: auto;}:where([data-slot="glass-graded-halo"][data-detents][data-side="left"]){width: 100dvw;left: auto;}:where([data-slot="glass-graded-halo"][data-detents][data-side="right"]){width: 100dvw;right: auto;}@media (prefers-reduced-transparency: reduce),(forced-colors: active){:where([data-slot="glass-graded-halo"]){display: none;}}:where([data-slot="sheet-content"][data-side="top"]){left: 0;right: 0;top: 0;}:where([data-slot="sheet-content"][data-side="bottom"]){left: 0;right: 0;bottom: 0;}:where([data-slot="sheet-content"][data-side="left"]){top: 0;bottom: 0;left: 0;height: 100%;width: 75%;}:where([data-slot="sheet-content"][data-side="right"]){top: 0;bottom: 0;right: 0;height: 100%;width: 75%;}@media (min-width: 40rem){:where([data-slot="sheet-content"][data-side="left"]),:where([data-slot="sheet-content"][data-side="right"]){max-width: 24rem;}}:where( [data-slot="sheet-content"][data-detents][data-side="bottom"],[data-slot="sheet-content"][data-detents][data-side="top"] ){block-size: calc(clamp(0,var(--detent-t),1) * 100dvh);min-block-size: calc( 2 * var(--space-family) + var(--sheet-seam-width) + var(--touch-target) + 2 * var(--space-body) + var(--space-body) + var(--sheet-seam-width) + 1lh + var(--space-body) + var(--sheet-seam-width) + var(--touch-target) );max-block-size: 100dvh;}:where( [data-slot="sheet-content"][data-detents][data-side="left"],[data-slot="sheet-content"][data-detents][data-side="right"] ){width: calc(clamp(0,var(--detent-t),1) * 100dvw);max-width: 100dvw;height: 100%;}:where([data-slot="sheet-content"]){padding-inline: var(--space-family);padding-block: var(--space-family);}:where([data-slot="sheet-content"][data-side="top"]){border-end-start-radius: var(--radius-3xl);border-end-end-radius: var(--radius-3xl);}:where([data-slot="sheet-content"][data-side="bottom"]){border-start-start-radius: var(--radius-3xl);border-start-end-radius: var(--radius-3xl);}:where([data-slot="sheet-content"][data-side="left"]){border-start-end-radius: var(--radius-3xl);border-end-end-radius: var(--radius-3xl);}:where([data-slot="sheet-content"][data-side="right"]){border-start-start-radius: var(--radius-3xl);border-end-start-radius: var(--radius-3xl);}
@@ -1 +1 @@
1
- export { default as Skeleton } from './Skeleton.vue';
1
+ export { default as Skeleton } from './Skeleton.vue.js';
@@ -1,4 +1,4 @@
1
- import type { SliderProps, SliderSize, SliderVariant } from "./types";
1
+ import type { SliderProps, SliderSize, SliderVariant } from "./types.js";
2
2
  declare const __VLS_export: import("vue").DefineComponent<SliderProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
3
3
  "update:modelValue": (value: number[] | undefined) => any;
4
4
  valueCommit: (value: number[]) => any;
@@ -7,9 +7,8 @@ declare const __VLS_export: import("vue").DefineComponent<SliderProps, {}, {}, {
7
7
  onValueCommit?: ((value: number[]) => any) | undefined;
8
8
  }>, {
9
9
  size: SliderSize;
10
- invalid: boolean;
11
10
  variant: SliderVariant;
12
- keepDockOpen: boolean;
11
+ invalid: boolean;
13
12
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
13
  declare const _default: typeof __VLS_export;
15
14
  export default _default;
@@ -1,2 +1,2 @@
1
- export { default as Slider } from './Slider.vue';
2
- export type { SliderProps, SliderSize, SliderVariant } from './types';
1
+ export { default as Slider } from './Slider.vue.js';
2
+ export type { SliderProps, SliderSize, SliderVariant } from './types.js';
@@ -0,0 +1 @@
1
+ @property --glass-slider-track-background{syntax: "*";inherits: true;}.glass-slider{--slider-range-origin: left center;position: relative;display: flex;inline-size: 100%;align-items: center;touch-action: none;user-select: none;transition: color var(--duration-fast) var(--ease-standard);}.glass-slider[data-inverted],.glass-slider:dir(rtl){--slider-range-origin: right center;}.glass-slider:dir(rtl)[data-inverted]{--slider-range-origin: left center;}.glass-slider[data-size="sm"]{--slider-track-height: 0.75rem;--slider-thumb-size: 0.5rem;}.glass-slider[data-size="md"]{--slider-track-height: 1.25rem;--slider-thumb-size: 1rem;}.glass-slider[data-size="lg"]{--slider-track-height: 1.75rem;--slider-thumb-size: 1.5rem;}.glass-slider[data-variant="spectrum"]{--slider-track-height: calc(var(--slider-thumb-size,1rem) * 1.5);}@media (pointer: coarse){.glass-slider{--slider-target-floor: max( var(--slider-track-height,0.375rem),var(--slider-touch-target,1.5rem) );min-block-size: var(--slider-target-floor);min-inline-size: var(--slider-target-floor);}}.slider-track{width: 100%;flex-grow: 1;height: var(--slider-track-height,0.375rem);background: var(--glass-slider-track-background,var(--muted-medium));transition: background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard);}.slider-range{position: absolute;height: 100%;--liquid-fill-tint: var(--slider-range-bg,var(--glass-capsule-warm));}.slider-thumb{display: block;width: 0;height: var(--slider-track-height,0.375rem);opacity: 0;background: transparent;border: none;box-shadow: none;transition: transform var(--spring-press-duration) var(--spring-press);}.glass-slider:not([data-variant="spectrum"]):hover .slider-range{--liquid-fill-strength: 100%;}.glass-slider:not([data-variant="spectrum"]):has(:focus-visible) .slider-track{box-shadow: var(--focus-ring-shadow);}.glass-slider[data-held] .slider-range,.glass-slider:active .slider-range{--smear: calc(var(--atom-drag-v,0) * var(--motion-weight,0.618));transform: scale( calc(1.02 + 0.16 * var(--smear)),calc(0.94 - 0.06 * var(--smear)) );transform-origin: var(--slider-range-origin);transition: transform var(--spring-press-duration) var(--spring-press);}.glass-slider:not(:active):not([data-held]) .slider-range{transition: transform var(--duration-normal) var(--ease-cartoon-punch),--glass-veil-rung var(--spring-dock-duration) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);}@media (prefers-reduced-motion: reduce){.glass-slider:active .slider-range,.glass-slider[data-held] .slider-range{--motion-weight: 0;transform: scale(1,0.97);}}.glass-slider[data-disabled] .slider-range{opacity: var(--opacity-disabled);}.glass-slider[data-invalid] .slider-track{box-shadow: inset 0 0 0 1px var(--destructive);}.glass-slider[data-invalid]:has(:focus-visible) .slider-track{box-shadow: var(--focus-ring-shadow),inset 0 0 0 1px var(--destructive);}.glass-slider[data-variant="spectrum"][data-held] .slider-thumb{box-shadow: 0 0 0 6px var(--surface-tint-15),var(--shadow-sm);}.glass-slider[data-variant="spectrum"] .slider-track{background: var(--glass-slider-track-background,var(--secondary));}.glass-slider[data-variant="spectrum"] .slider-thumb{width: calc(var(--slider-thumb-size,1rem) * 0.75);height: var(--slider-track-height,0.375rem);opacity: 1;background: transparent;border: 2px solid var(--background);border-radius: calc(var(--slider-thumb-size,1rem) * 0.4);box-shadow: var(--shadow-sm);}@supports (corner-shape: superellipse(2)){.glass-slider[data-variant="spectrum"] .slider-thumb{corner-shape: var(--corner-shape-thumb);}}.glass-slider[data-variant="spectrum"]:hover .slider-thumb{box-shadow: 0 0 0 4px var(--surface-tint-8),var(--shadow-sm);}.glass-slider[data-variant="spectrum"] .slider-thumb:focus-visible{outline: none;box-shadow: var(--focus-ring-shadow),var(--shadow-sm);}.glass-slider[data-orientation="vertical"]{flex-direction: column;width: var(--slider-track-height,0.375rem);height: 12rem;}.glass-slider[data-orientation="vertical"] .slider-track{width: var(--slider-track-height,0.375rem);height: 100%;}.glass-slider[data-orientation="vertical"] .slider-range{width: 100%;height: auto;}.glass-slider[data-orientation="vertical"]:active .slider-range,.glass-slider[data-orientation="vertical"][data-held] .slider-range{--smear: calc(var(--atom-drag-v,0) * var(--motion-weight,0.618));transform: scale( calc(0.94 - 0.06 * var(--smear)),calc(1.02 + 0.16 * var(--smear)) );transform-origin: center bottom;}.glass-slider[data-orientation="vertical"][data-inverted] .slider-range{transform-origin: center top;}.glass-slider[data-orientation="vertical"][data-variant="spectrum"] .slider-thumb{width: var(--slider-track-height,0.375rem);height: calc(var(--slider-thumb-size,1rem) * 0.75);}@media (prefers-reduced-motion: reduce){.glass-slider[data-orientation="vertical"]:active .slider-range,.glass-slider[data-orientation="vertical"][data-held] .slider-range{transform: scale(0.97,1);}}@media (forced-colors: active){.slider-track{background: Canvas;border: 1px solid CanvasText;}.slider-range{background: Highlight;}.glass-slider[data-variant="spectrum"] .slider-thumb{border-color: CanvasText;forced-color-adjust: none;background: Highlight;}.glass-loupe{background: Canvas;border: 1px solid CanvasText;}}.glass-loupe{--loupe-k-max: 2.6;--loupe-k-min: 1.15;--loupe-k: calc( var(--loupe-k-max) - (var(--loupe-k-max) - var(--loupe-k-min)) * var(--flex-vel,0) );--loupe-vel: var(--flex-vel,0);--loupe-span: calc(var(--slider-track-height,1.25rem) * 6);position: fixed;z-index: calc(var(--z-overlay) - 1);inline-size: var(--loupe-span);block-size: calc(var(--slider-track-height,1.25rem) * var(--loupe-k-max));inset-block-start: var(--loupe-top,0);inset-inline-start: var(--loupe-left,0);translate: -50% -100%;scale: 0.13;transform-origin: 50% 100%;transition: scale var(--spring-present-duration) var(--spring-present),opacity var(--spring-present-duration) var(--ease-standard);opacity: 0;overflow: hidden;border-radius: var(--radius-pill);pointer-events: none;box-shadow: var(--glass-material-rim),var(--glass-under-shadow-quiet);}.glass-loupe[data-engaged]{scale: 1;opacity: 1;}.glass-loupe:not([data-engaged]){transition: scale var(--spring-present-exit-duration) var(--ease-standard),opacity var(--spring-present-exit-duration) var(--ease-standard);}.glass-loupe-clone{--s: 3;position: absolute;inset-block-start: 50%;inset-inline-start: 0;inline-size: calc(var(--loupe-track-w,0px) * var(--s));block-size: calc(var(--slider-track-height,1.25rem) * var(--s));border-radius: calc(var(--radius-pill) * var(--s));overflow: hidden;background: var(--glass-slider-track-background,var(--muted-medium));transform: translate( calc(var(--loupe-span) / 2 - var(--loupe-k) * var(--loupe-x,0px)),-50% ) scale(calc(var(--loupe-k) / var(--s)));transform-origin: 0 50%;filter: blur(calc(var(--loupe-vel,0) * 0.75px));transition: filter var(--duration-normal) var(--ease-standard);}.glass-loupe-fill{position: absolute;inset-block: 0;inset-inline-start: 0;inline-size: var(--loupe-fill-w,0px);background: var(--slider-range-bg,var(--glass-capsule-warm));}.glass-loupe-mark{position: absolute;inset-block: 0;inset-inline-start: 50%;inline-size: 2px;translate: -50% 0;background: var(--foreground);opacity: 0.24;}@media (prefers-reduced-motion: reduce){.glass-loupe{transition-duration: 0.01ms;}.glass-loupe-clone{filter: none;}}
@@ -1,7 +1,12 @@
1
1
  import type { HTMLAttributes } from "vue";
2
- import type { Motion, Orientation } from "../_shared/axes";
3
- import type { Direction, FormFieldProps } from "../_shared/primitive";
4
- export type SliderVariant = "standard" | "spectrum";
2
+ import type { Motion, Orientation } from "../_shared/axes.js";
3
+ import type { Direction, FormFieldProps } from "../_shared/primitive.js";
4
+ /**
5
+ * `scrubber` is the continuous-cylinder recipe — one glass segment whose leading edge
6
+ * IS the handle, with no visible thumb. `spectrum` is the gradient colour-picker
7
+ * recipe with a visible slim squircle handle.
8
+ */
9
+ export type SliderVariant = "scrubber" | "spectrum";
5
10
  export type SliderSize = "sm" | "md" | "lg";
6
11
  export interface SliderProps extends FormFieldProps {
7
12
  modelValue?: number[] | null;
@@ -20,6 +25,10 @@ export interface SliderProps extends FormFieldProps {
20
25
  /** Decorative checkpoints in the numeric domain; they never snap the value. */
21
26
  marks?: readonly number[];
22
27
  invalid?: boolean;
23
- keepDockOpen?: boolean;
24
28
  motion?: Motion;
29
+ /**
30
+ * Humane readout for assistive tech — the string a screen reader hears instead of
31
+ * the raw number. Authored per thumb onto `aria-valuetext`; reka mints none.
32
+ */
33
+ valueText?: (value: number, index: number) => string;
25
34
  }
@@ -1,4 +1,4 @@
1
- import type { SortableId } from "./composables/types";
1
+ import type { SortableId } from "./types.js";
2
2
  type __VLS_Props = {
3
3
  id: SortableId;
4
4
  disabled?: boolean;
@@ -1,4 +1,4 @@
1
- import { type SortableId } from "./composables/useSortable";
1
+ import type { SortableId } from "./types.js";
2
2
  declare const __VLS_export: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
3
  props: import("vue").PublicProps & __VLS_PrettifyLocal<{
4
4
  /** The reactive list being reordered. */
@@ -8,7 +8,6 @@ declare const __VLS_export: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_se
8
8
  label?: string;
9
9
  group?: string;
10
10
  handleSelector?: string | null;
11
- axis?: "x" | "y";
12
11
  } & {
13
12
  onInsert?: ((index: number, item: unknown) => any) | undefined;
14
13
  onReorder?: ((next: T[]) => any) | undefined;
@@ -1,5 +1,5 @@
1
1
  import type { ComputedRef } from "vue";
2
- import type { SortableId, SortableRowBinding, UseSortableReturn } from "./composables/types";
2
+ import type { SortableId, SortableRowBinding, UseSortableReturn } from "./types.js";
3
3
  export declare const provideSortableContext: (ctx: UseSortableReturn) => void;
4
4
  export declare const useSortableContext: () => UseSortableReturn;
5
5
  export interface SortableItemContext {
@@ -0,0 +1,52 @@
1
+ /**
2
+ * The sortable drag transaction — propose / commit / cancel, and the vacancy.
3
+ *
4
+ * THE VACANCY IS THE INDICATOR. There is no drawn insertion line, no caret, no bar:
5
+ * the rows between the source and the proposed position translate by one row's block
6
+ * size, which opens a gap exactly where the row would land, and the lifted row's own
7
+ * (unpainted) slot travels into it. One spatial account, one copy of the row, nothing
8
+ * to keep in sync — the 7.0.0 gold shimmer bar had a mass 9.4× the indicator rung and
9
+ * still could not say where an EMPTY list would receive.
10
+ *
11
+ * THE TRANSACTION IS PRESERVED BYTE-FOR-BYTE. The four announcements, the focus
12
+ * retention, the single `reorder` emit, the O(rows) midpoint scan and the cross-list
13
+ * transfer are the good half of this component and are not redesigned here. What
14
+ * changed around them: a gesture must EARN the transaction (8px or the hold) before
15
+ * a single word is announced, and the ghost is now taken before the source is marked.
16
+ *
17
+ * THE ROWS CARRY THEIR OWN CLOCK. `.sortable-item` transitions `transform` on the
18
+ * dock curve unconditionally, so opening the vacancy and closing it are the same
19
+ * mechanism read in two directions — there is no "parting mode" to enter and leave,
20
+ * and clearing a transform animates home instead of snapping.
21
+ */
22
+ import type { InstanceHandle, SortableId } from "./types.js";
23
+ import { type ShallowRef } from "vue";
24
+ /** A viewport top-left — where a plate is, or where it is going. */
25
+ interface Origin {
26
+ x: number;
27
+ y: number;
28
+ }
29
+ export interface DragControllerDeps {
30
+ getItems: () => readonly unknown[];
31
+ getId: (item: unknown) => SortableId;
32
+ getLabel: (item: unknown) => string;
33
+ elements: Map<SortableId, Element | null>;
34
+ handle: InstanceHandle;
35
+ onReorder: (next: unknown[]) => void;
36
+ announce: (message: string) => void;
37
+ focusItem: (id: SortableId) => void;
38
+ }
39
+ export interface DragController {
40
+ dragId: ShallowRef<SortableId | null>;
41
+ dropIndex: ShallowRef<number | null>;
42
+ beginPointer: (id: SortableId, event: PointerEvent) => void;
43
+ onKeydown: (id: SortableId, event: KeyboardEvent) => void;
44
+ /** A sibling instance parts THIS list's rows for an incoming subject. */
45
+ partForExternal: (index: number | null, block: number | null) => void;
46
+ /** Where a subject arriving at `index` comes to rest — the releasing list's ask. */
47
+ vacancyOrigin: (index: number) => Origin | null;
48
+ cancel: () => void;
49
+ dispose: () => void;
50
+ }
51
+ export declare function createDragController(deps: DragControllerDeps): DragController;
52
+ export {};
@@ -0,0 +1,40 @@
1
+ /**
2
+ * The drag ghost — the lifted row, promoted from cell to floating glass plate.
3
+ *
4
+ * TWO ELEMENTS, TWO JOBS, AND THAT IS WHY THERE IS NO TIMER HERE. The outer plate
5
+ * owns the FOLLOW channel: one `translate3d`, never transitioned, so the plate stays
6
+ * welded to the finger (MOTION-CANON §4:334). The inner clone owns the PROMOTION
7
+ * channel: scale and tilt, transitioned on the press curve. Writing both on one
8
+ * element would force the follow to share the promotion's transition — the lag the
9
+ * canon forbids — or force a timer to strip the transition mid-gesture.
10
+ *
11
+ * THE CLONE IS TAKEN BEFORE THE SOURCE IS MARKED. The 7.0.0 ghost was stamped
12
+ * `.is-sortable-dragging` on the source and THEN cloned, so the clone inherited the
13
+ * source's own 0.35 fade at equal specificity and the whole authored lift kit painted
14
+ * at 35% — invisible, and structurally so. Order is the fix; nothing else was needed.
15
+ *
16
+ * The corner is AUTHORED, not hunted: the plate's radius is a role token, so the
17
+ * 26-line `getComputedStyle` descendant walk that used to guess it is gone.
18
+ */
19
+ export interface Ghost {
20
+ /** The plate element, for measurement at release. */
21
+ readonly plate: HTMLElement;
22
+ /** Move the plate to a viewport position (its top-left). Compositor only. */
23
+ follow: (x: number, y: number) => void;
24
+ /** Re-derive the tilt from the live horizontal velocity. */
25
+ tilt: (velocityX: number) => void;
26
+ /** Current top-left, as last written. */
27
+ position: () => {
28
+ x: number;
29
+ y: number;
30
+ };
31
+ /** Release the promotion (radius, frost, swell) — the landing half of the flight. */
32
+ land: () => void;
33
+ /** Remove the plate from the document. */
34
+ destroy: () => void;
35
+ }
36
+ /**
37
+ * Build the ghost from a source row. `rect` is the source's resting box, measured by
38
+ * the caller BEFORE any state is written to the DOM.
39
+ */
40
+ export declare function createGhost(source: HTMLElement, rect: DOMRect): Ghost;
@@ -1,4 +1,4 @@
1
- export { default as SortableList } from "./SortableList.vue";
2
- export { default as SortableItem } from "./SortableItem.vue";
3
- export { default as SortableHandle } from "./SortableHandle.vue";
4
- export type { SortableId } from "./composables/types";
1
+ export { default as SortableList } from "./SortableList.vue.js";
2
+ export { default as SortableItem } from "./SortableItem.vue.js";
3
+ export { default as SortableHandle } from "./SortableHandle.vue.js";
4
+ export type { SortableId } from "./types.js";
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Sortable motion — the gesture's clocks, and the ONE rAF spring path in the family.
3
+ *
4
+ * THE SPLIT, STATED ONCE, BECAUSE IT IS THE WHOLE DESIGN:
5
+ * · PARTING and PROMOTION are CSS transitions on the GENERATED spring curves
6
+ * (`--spring-dock` / `--spring-press` + their duration readers). They are
7
+ * compositor-only writes with a known endpoint, so the curve IS the spring and
8
+ * the `a11y-overrides.css` reduced-motion blanket already governs them.
9
+ * · FOLLOW is 1:1 finger attachment — linear, zero easing, no spring. MOTION-CANON
10
+ * §4:334: "Springs belong to entrances, exits, and releases — never between a
11
+ * finger and the thing it is holding."
12
+ * · THE RELEASE FLIGHT is the one leg a CSS transition cannot express, because its
13
+ * initial condition is the gesture's own VELOCITY. That is the single rAF spring
14
+ * path here, and it carries the LOCAL reduced-motion gate — the CSS blanket stops
15
+ * CSS clocks, it does not stop a JS integrator.
16
+ *
17
+ * Every response/damping pair is read from `springPresets` BY NAME. No literal, no
18
+ * second register: three values have circulated for "dock" across canon, disk and
19
+ * memory, and the name is the only one of the three that cannot go stale.
20
+ */
21
+ import { springPreset } from "../../composables/motion/spring/springPresets.js";
22
+ /**
23
+ * THE ACTIVATION HOLD, DERIVED — never minted.
24
+ *
25
+ * A stationary press becomes a lift when it outlasts the slowest motion the library
26
+ * can make: `world`, the recession row, is that ceiling by construction (it is the
27
+ * longest response in the table, and the table is the whole register). A press that
28
+ * outlives it is no longer plausibly a tap. The figure therefore MOVES when the
29
+ * register moves, which is the property a minted 400ms could never have — CWT-2 §3
30
+ * ruled exactly this ("no canon rung for hold durations; law it or derive").
31
+ */
32
+ export declare const ACTIVATION_HOLD_MS: number;
33
+ /**
34
+ * THE ACTIVATION SLOP, in px. The series rung above coarse-tap jitter (5–10px): below
35
+ * it the gesture is a click and the transaction never opens.
36
+ */
37
+ export declare const ACTIVATION_SLOP_PX = 8;
38
+ /** Reduced motion, read LIVE — a JS integrator has no cascade to be stopped by. */
39
+ export declare function prefersReducedMotion(): boolean;
40
+ /**
41
+ * A small ring buffer over the last few pointer samples. Release velocity is the
42
+ * chord across the window rather than the last frame's delta, so one stalled frame
43
+ * cannot fling the ghost.
44
+ */
45
+ export declare class VelocitySampler {
46
+ private readonly ring;
47
+ private readonly size;
48
+ push(x: number, y: number, t?: number): void;
49
+ reset(): void;
50
+ /** px/s across the sample window; `{x:0,y:0}` when the window is degenerate. */
51
+ velocity(): {
52
+ x: number;
53
+ y: number;
54
+ };
55
+ }
56
+ /**
57
+ * Velocity-derived tilt on the shared tanh register, capped at the existing ceiling.
58
+ * A static rotation is width-dependent and says nothing; this one says how hard the
59
+ * row is being thrown.
60
+ */
61
+ export declare function tiltFor(velocityX: number): number;
62
+ /** A running release flight: `stop()` ends it, `promise` settles when it lands. */
63
+ export interface Flight {
64
+ stop: () => void;
65
+ }
66
+ /**
67
+ * Fly a value 0 → 1 on a named spring row, seeded with the gesture's own release
68
+ * velocity. THE ONE rAF SPRING PATH — and therefore the one carrying the local
69
+ * reduced-motion gate: under `reduce` the flight collapses to a single frame at the
70
+ * endpoint, which is the honest cut (not a shortened animation).
71
+ *
72
+ * `velocityAlongPath` is px/s projected onto the flight vector; it is converted to
73
+ * the spring's own units (1 = the whole distance) by the distance itself.
74
+ */
75
+ export declare function flyProgress(rowName: Parameters<typeof springPreset>[0], distance: number, velocityAlongPath: number, onFrame: (t: number) => void, onLand: () => void): Flight;
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Sortable drop resolution — pure collision math over a rect cache taken at LIFT.
3
+ *
4
+ * THE CACHE IS NOT AN OPTIMISATION, IT IS THE CORRECTNESS FIX (E4). The parting
5
+ * animation writes `transform` on the very rows the midpoint scan reads, and
6
+ * `getBoundingClientRect()` reports the TRANSFORMED box — so a live per-frame scan
7
+ * resolves against geometry the previous frame's resolution produced. That loop
8
+ * oscillates at the boundary between two rows. Rows are snapshotted ONCE at lift, in
9
+ * their RESTING layout, and every frame resolves against that snapshot: one input,
10
+ * one output, no feedback path. The O(rows) walk stays O(rows) and stops touching
11
+ * layout mid-gesture.
12
+ *
13
+ * A scroll or a resize during a drag invalidates the snapshot, so both re-take it.
14
+ */
15
+ import type { InstanceHandle, SortableId } from "./types.js";
16
+ /**
17
+ * Every live `useSortable` instance registers here for cross-list lookups. On drag
18
+ * move, the source instance looks up any other instance in the same group whose
19
+ * container contains the cursor, and transfers the drop target to it. Entries are
20
+ * removed on scope dispose.
21
+ */
22
+ export declare const instances: Set<InstanceHandle>;
23
+ /**
24
+ * One row's resting geometry. The ORIGIN is stored, never the midpoint: the scan wants
25
+ * a midpoint and the release flight wants a landing corner, and two stored numbers for
26
+ * one measurement is how they drift apart. The midpoint is derived where it is used.
27
+ */
28
+ export interface RowRect {
29
+ readonly id: SortableId;
30
+ readonly top: number;
31
+ readonly left: number;
32
+ readonly block: number;
33
+ }
34
+ /** The resting snapshot of one list, plus the container box the cursor is tested against. */
35
+ export interface ListRects {
36
+ readonly rows: readonly RowRect[];
37
+ /** Distance between consecutive row starts — the block size a vacancy opens by. */
38
+ readonly pitch: number;
39
+ }
40
+ /**
41
+ * Snapshot a list's resting row geometry. Rows already carrying a parting transform
42
+ * are read through it (`offsetTop`-free): the caller takes the snapshot before any
43
+ * transform is written, which is what `lift` does.
44
+ */
45
+ export declare function snapshotRows(elements: Map<SortableId, Element | null>, order: readonly SortableId[]): ListRects;
46
+ /**
47
+ * Resolve an insertion BOUNDARY (0…rows.length) by walking the resting snapshot for
48
+ * the first row whose midpoint is past the cursor.
49
+ */
50
+ export declare function resolveBoundary(rects: ListRects, clientY: number): number;
51
+ /**
52
+ * Find a sibling instance in the same group whose container bounds contain the
53
+ * cursor — the foreign drop target. Returns null when the source has no group or the
54
+ * cursor is over no sibling.
55
+ */
56
+ export declare function findForeignTarget(sourceHandle: InstanceHandle, clientX: number, clientY: number): InstanceHandle | null;
@@ -9,15 +9,15 @@ export interface SortableOptions<T> {
9
9
  onInsert?: (index: number, item: unknown) => void;
10
10
  group?: string;
11
11
  handleSelector?: string | null;
12
- axis?: "x" | "y";
13
12
  }
14
13
  export interface SortableRowBinding {
15
14
  ref: (el: unknown) => void;
16
15
  dataAttrs: Record<string, string>;
17
- class: ComputedRef<Record<string, boolean>>;
18
16
  disabled: ComputedRef<boolean>;
19
17
  onPointerdown: (event: PointerEvent) => void;
20
18
  onKeydown: (event: KeyboardEvent) => void;
19
+ /** Release the row's registration — called from the row's unmount. */
20
+ release: () => void;
21
21
  }
22
22
  export interface SortableContainerBinding {
23
23
  ref: (el: unknown) => void;
@@ -28,12 +28,7 @@ export interface UseSortableReturn {
28
28
  container: SortableContainerBinding;
29
29
  isDragging: ComputedRef<boolean>;
30
30
  dragId: ComputedRef<SortableId | null>;
31
- dragPosition: ComputedRef<{
32
- x: number;
33
- y: number;
34
- } | null>;
35
31
  dropIndex: ComputedRef<number | null>;
36
- pointerCaptureActive: ComputedRef<boolean>;
37
32
  announcement: ComputedRef<string>;
38
33
  getItemLabel: (id: SortableId) => string;
39
34
  }
@@ -45,6 +40,18 @@ export interface InstanceHandle {
45
40
  getId: (item: unknown) => SortableId;
46
41
  getElements: () => Map<SortableId, Element | null>;
47
42
  setExternalDropIndex: (index: number | null) => void;
43
+ /** The travelling subject's block size, so a receiving list can size its vacancy. */
44
+ setExternalSubjectBlock: (block: number | null) => void;
45
+ /**
46
+ * Where a subject arriving at `index` comes to rest, in viewport coordinates — the
47
+ * endpoint of the release flight. The RECEIVER answers it because the receiver owns
48
+ * the gap; the releasing list has already closed behind the subject. `null` while
49
+ * this list is unarmed or unmounted.
50
+ */
51
+ getVacancyOrigin: (index: number) => {
52
+ x: number;
53
+ y: number;
54
+ } | null;
48
55
  acceptExternal: (index: number, item: unknown) => void;
49
56
  focusItem: (id: SortableId) => void;
50
57
  }