@mkbabb/glass-ui 4.0.1 → 4.2.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 (606) hide show
  1. package/dist/{CardAction-CW7a0m8M.js → CardAction-DlVP2evz.js} +72 -53
  2. package/dist/{CommandShortcut-DvZNQ_HF.js → CommandShortcut-By-VQcLO.js} +25 -14
  3. package/dist/{ConfiguratorRow-BR4l-ixA.js → ConfiguratorRow-YMXdINHx.js} +14 -14
  4. package/dist/ContextMenuContent-CMWn6huB.js +90 -0
  5. package/dist/{ContextMenuSubContent-xol4sD2q.js → ContextMenuSubContent-DvwWCUc0.js} +16 -16
  6. package/dist/{DataTable-CuKwF7wr.js → DataTable-C4tG3eIJ.js} +4 -4
  7. package/dist/DialogContent-D8U9ZfWS.js +121 -0
  8. package/dist/DialogFooter-DoLy0ewI.js +80 -0
  9. package/dist/DialogScrollContent-BMekN7gq.js +93 -0
  10. package/dist/{FadingScroll-DI6hQhT9.js → FadingScroll-P8B30rAD.js} +1 -1
  11. package/dist/HoverCardContent-DAmGYglo.js +88 -0
  12. package/dist/{HoverPopover-CbqbNwgU.js → HoverPopover-DYpBOzzF.js} +1 -1
  13. package/dist/{IconChip-BTD-nay5.js → IconChip-CQa7XZYc.js} +7 -5
  14. package/dist/{IconTooltip-Bl8gFZ8d.js → IconTooltip-_df8M3xm.js} +1 -1
  15. package/dist/Input-CyU4_hIC.js +57 -0
  16. package/dist/{MetricBadge-RHdBP72w.js → MetricBadge-DQt_dGah.js} +1 -1
  17. package/dist/{Notification-VUwexFUf.js → Notification-BlSPJhtZ.js} +4 -4
  18. package/dist/NumberFieldContent-Z3VxGu_6.js +140 -0
  19. package/dist/PagerDots-CYlqVFd4.js +196 -0
  20. package/dist/PaperBackdrop-DYWgrnh8.js +42 -0
  21. package/dist/{PopoverContent-DL7E6vJP.js → PopoverContent-BuKyHZSz.js} +2 -2
  22. package/dist/{Progress-DctG61iZ.js → Progress-C9SsdwIZ.js} +1 -1
  23. package/dist/{ScrollingText-yOpBzFYq.js → ScrollingText-DY3W1Jfh.js} +2 -2
  24. package/dist/SelectScrollDownButton-3mFHX_R-.js +260 -0
  25. package/dist/{SelectSeparator-DXswVdRz.js → SelectSeparator-CNRGG7Ew.js} +1 -1
  26. package/dist/Separator-Cf9-JFgi.js +44 -0
  27. package/dist/Switch-uf-UKPA2.js +49 -0
  28. package/dist/{Toaster-Bw4xR8xV.js → Toaster-ozrsR4mP.js} +2 -2
  29. package/dist/{ToggleGroupItem-pEM9vIhs.js → ToggleGroupItem-BpzaVzNm.js} +6 -6
  30. package/dist/TooltipProvider-QQVM_80r.js +109 -0
  31. package/dist/animated-digit.js +2 -2
  32. package/dist/api/index.d.ts +16 -32
  33. package/dist/api/types-extra.d.ts +33 -0
  34. package/dist/api.js +2 -2
  35. package/dist/aurora.js +629 -269
  36. package/dist/badge-Bt14yURi.js +72 -0
  37. package/dist/badge.js +1 -1
  38. package/dist/border-progress.js +49 -57
  39. package/dist/button-D1W9PrzI.js +130 -0
  40. package/dist/button.js +1 -1
  41. package/dist/canvas.js +2 -3
  42. package/dist/card.js +1 -1
  43. package/dist/carousel.js +235 -106
  44. package/dist/chipVariants-BJQ0I2kB.js +18 -0
  45. package/dist/collapsible.js +1 -1
  46. package/dist/color-B9jZdhJX.js +116 -0
  47. package/dist/color.js +2 -2
  48. package/dist/command.js +1 -1
  49. package/dist/completion-seal.d.ts +1 -0
  50. package/dist/completion-seal.js +89 -0
  51. package/dist/components/custom/aurora/Aurora.vue.d.ts +10 -5
  52. package/dist/components/custom/aurora/composables/color.d.ts +13 -0
  53. package/dist/components/custom/aurora/composables/frameLoop.d.ts +9 -0
  54. package/dist/components/custom/aurora/composables/glSetup.d.ts +1 -1
  55. package/dist/components/custom/aurora/composables/runtime.d.ts +12 -0
  56. package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +12 -3
  57. package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +8 -0
  58. package/dist/components/custom/aurora/constants/presets.d.ts +47 -0
  59. package/dist/components/custom/aurora/constants/renderMode.d.ts +16 -8
  60. package/dist/components/custom/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +1 -0
  61. package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +1 -1
  62. package/dist/components/custom/aurora/index.d.ts +1 -1
  63. package/dist/components/custom/border-progress/composables/spectrum-walk.d.ts +25 -0
  64. package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +14 -18
  65. package/dist/components/custom/border-progress/index.d.ts +1 -1
  66. package/dist/components/custom/completion-seal/CompletionSeal.vue.d.ts +21 -0
  67. package/dist/components/custom/completion-seal/composables/useCompletionSeal.d.ts +37 -0
  68. package/dist/components/custom/completion-seal/constants.d.ts +46 -0
  69. package/dist/components/custom/completion-seal/index.d.ts +4 -0
  70. package/dist/components/custom/concentric/Concentric.vue.d.ts +15 -12
  71. package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +12 -0
  72. package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +13 -0
  73. package/dist/components/custom/concentric/composables/levelField.d.ts +50 -0
  74. package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +7 -3
  75. package/dist/components/custom/concentric/composables/useConcentric.d.ts +3 -3
  76. package/dist/components/custom/concentric/constants.d.ts +69 -24
  77. package/dist/components/custom/concentric/index.d.ts +2 -2
  78. package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +2 -2
  79. package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +1 -1
  80. package/dist/components/custom/configurator/Configurator.vue.d.ts +23 -2
  81. package/dist/components/custom/configurator/index.d.ts +1 -1
  82. package/dist/components/custom/confirm-dialog/ConfirmDialog.vue.d.ts +3 -3
  83. package/dist/components/custom/constellation/Constellation.vue.d.ts +5 -4
  84. package/dist/components/custom/constellation/composables/constellationGLSetup.d.ts +10 -0
  85. package/dist/components/custom/constellation/composables/constellationWGPUSetup.d.ts +19 -0
  86. package/dist/components/custom/constellation/composables/uniformBridgeWGPU.d.ts +66 -0
  87. package/dist/components/custom/constellation/composables/useConstellation.d.ts +3 -10
  88. package/dist/components/custom/constellation/constants.d.ts +33 -0
  89. package/dist/components/custom/constellation/constellationField.d.ts +31 -1
  90. package/dist/components/custom/constellation/constellationInteraction.d.ts +23 -14
  91. package/dist/components/custom/constellation/constellationRender.d.ts +25 -0
  92. package/dist/components/custom/constellation/constellationTypes.d.ts +38 -0
  93. package/dist/components/custom/constellation/constellationWell.d.ts +15 -0
  94. package/dist/components/custom/constellation/index.d.ts +5 -5
  95. package/dist/components/custom/constellation/shaders/constellation-lines.glsl.d.ts +2 -0
  96. package/dist/components/custom/constellation/shaders/constellation-lines.wgsl.d.ts +1 -0
  97. package/dist/components/custom/constellation/shaders/constellation-points.glsl.d.ts +2 -0
  98. package/dist/components/custom/constellation/shaders/constellation-points.wgsl.d.ts +1 -0
  99. package/dist/components/custom/deck/DeckPager.vue.d.ts +29 -0
  100. package/dist/components/custom/deck/composables/useDeck.d.ts +27 -0
  101. package/dist/components/custom/deck/composables/useDeckKeyboard.d.ts +25 -0
  102. package/dist/components/custom/deck/composables/useDeckSpring.d.ts +22 -0
  103. package/dist/components/custom/deck/constants.d.ts +14 -0
  104. package/dist/components/custom/deck/index.d.ts +8 -0
  105. package/dist/components/custom/dock/DockDropdownTrigger.vue.d.ts +4 -3
  106. package/dist/components/custom/dock/DockIconButton.vue.d.ts +22 -0
  107. package/dist/components/custom/dock/DockPopoverTrigger.vue.d.ts +19 -0
  108. package/dist/components/custom/dock/DockStack.vue.d.ts +78 -0
  109. package/dist/components/custom/dock/GlassDock.vue.d.ts +21 -3
  110. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +18 -32
  111. package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +78 -67
  112. package/dist/components/custom/dock/composables/index.d.ts +3 -0
  113. package/dist/components/custom/dock/composables/railProjection.d.ts +45 -0
  114. package/dist/components/custom/dock/composables/useDockContextSilhouette.d.ts +192 -0
  115. package/dist/components/custom/dock/composables/useDockFission.d.ts +158 -0
  116. package/dist/components/custom/dock/composables/useDockItemDrag.d.ts +18 -0
  117. package/dist/components/custom/dock/composables/useDockSearch.d.ts +85 -0
  118. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +49 -0
  119. package/dist/components/custom/dock/constants.d.ts +32 -17
  120. package/dist/components/custom/dock/index.d.ts +8 -2
  121. package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +15 -11
  122. package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +69 -6
  123. package/dist/components/custom/dot-flow-field/composables/flowGLProgram.d.ts +8 -0
  124. package/dist/components/custom/dot-flow-field/composables/flowSetupGL.d.ts +9 -0
  125. package/dist/components/custom/dot-flow-field/composables/flowSetupGLFlow.d.ts +12 -0
  126. package/dist/components/custom/dot-flow-field/composables/flowSetupWGPU.d.ts +7 -0
  127. package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +50 -9
  128. package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +6 -5
  129. package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +23 -9
  130. package/dist/components/custom/dot-flow-field/constants.d.ts +92 -20
  131. package/dist/components/custom/dot-flow-field/index.d.ts +2 -2
  132. package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +1 -1
  133. package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +31 -18
  134. package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +2 -1
  135. package/dist/components/custom/dot-matrix/DotMatrix.vue.d.ts +43 -0
  136. package/dist/components/custom/dot-matrix/composables/dotMatrixField.d.ts +89 -0
  137. package/dist/components/custom/dot-matrix/composables/uniformBridgeWGPU.d.ts +61 -0
  138. package/dist/components/custom/dot-matrix/composables/useDotMatrix.d.ts +34 -0
  139. package/dist/components/custom/dot-matrix/composables/useDotSphere.d.ts +34 -0
  140. package/dist/components/custom/dot-matrix/constants.d.ts +72 -0
  141. package/dist/components/custom/dot-matrix/index.d.ts +5 -0
  142. package/dist/components/custom/dot-matrix/shaders/dot-matrix.glsl.d.ts +4 -0
  143. package/dist/components/custom/dot-matrix/shaders/dot-matrix.wgsl.d.ts +1 -0
  144. package/dist/components/custom/easing/EasingPicker.vue.d.ts +2 -2
  145. package/dist/components/custom/easing/composables/useEasingPicker.d.ts +5 -0
  146. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +11 -0
  147. package/dist/components/custom/fourier-field/FourierField.vue.d.ts +44 -47
  148. package/dist/components/custom/fourier-field/composables/fourierFieldGLSetup.d.ts +24 -0
  149. package/dist/components/custom/fourier-field/composables/fourierFieldWGPUSetup.d.ts +31 -0
  150. package/dist/components/custom/fourier-field/composables/uniformBridgeWGPU.d.ts +56 -0
  151. package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +61 -37
  152. package/dist/components/custom/fourier-field/constants.d.ts +114 -4
  153. package/dist/components/custom/fourier-field/index.d.ts +23 -18
  154. package/dist/components/custom/fourier-field/shaders/fourier-field.compute.wgsl.d.ts +1 -0
  155. package/dist/components/custom/fourier-field/shaders/fourier-field.glsl.d.ts +4 -0
  156. package/dist/components/custom/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -0
  157. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +9 -1
  158. package/dist/components/custom/goo-blob/composables/easing.d.ts +1 -0
  159. package/dist/components/custom/goo-blob/composables/useBlobSatellites.d.ts +1 -0
  160. package/dist/components/custom/goo-blob/constants.d.ts +26 -1
  161. package/dist/components/custom/goo-blob/index.d.ts +1 -1
  162. package/dist/components/custom/goo-blob/shaders/metaball-noise.wgsl.d.ts +1 -0
  163. package/dist/components/custom/goo-blob/shaders/metaball-palette.wgsl.d.ts +1 -0
  164. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -1
  165. package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +1 -1
  166. package/dist/components/custom/goo-blob/types.d.ts +86 -1
  167. package/dist/components/custom/goo-dot-matrix/GooDotMatrix.vue.d.ts +49 -0
  168. package/dist/components/custom/goo-dot-matrix/composables/gooDotLattice.d.ts +24 -0
  169. package/dist/components/custom/goo-dot-matrix/composables/gooDotSetup.d.ts +79 -0
  170. package/dist/components/custom/goo-dot-matrix/composables/uniformBridgeWGPU.d.ts +45 -0
  171. package/dist/components/custom/goo-dot-matrix/composables/useGooDotMatrix.d.ts +31 -0
  172. package/dist/components/custom/goo-dot-matrix/constants.d.ts +115 -0
  173. package/dist/components/custom/goo-dot-matrix/index.d.ts +5 -0
  174. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.frag.d.ts +13 -0
  175. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.wgsl.d.ts +4 -0
  176. package/dist/components/custom/goo-filter/GooFilter.vue.d.ts +22 -0
  177. package/dist/components/custom/goo-filter/index.d.ts +1 -0
  178. package/dist/components/custom/handmark/brush.d.ts +17 -17
  179. package/dist/components/custom/handmark/constants.d.ts +28 -8
  180. package/dist/components/custom/handmark/geometry.d.ts +34 -1
  181. package/dist/components/custom/handmark/index.d.ts +1 -1
  182. package/dist/components/custom/icon-chip/types.d.ts +10 -0
  183. package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +21 -2
  184. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +15 -0
  185. package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +9 -0
  186. package/dist/components/custom/pager-dots/index.d.ts +2 -0
  187. package/dist/components/custom/pager-dots/pagerWindow.d.ts +9 -0
  188. package/dist/components/custom/paper-backdrop/PaperBackdrop.vue.d.ts +18 -0
  189. package/dist/components/custom/paper-grid/PaperGrid.vue.d.ts +42 -0
  190. package/dist/components/custom/paper-grid/composables/paperGrid.d.ts +105 -0
  191. package/dist/components/custom/paper-grid/composables/paperGridGLSetup.d.ts +18 -0
  192. package/dist/components/custom/paper-grid/composables/paperGridWGPUSetup.d.ts +21 -0
  193. package/dist/components/custom/paper-grid/composables/uniformBridgeWGPU.d.ts +16 -0
  194. package/dist/components/custom/paper-grid/composables/usePaperGrid.d.ts +31 -0
  195. package/dist/components/custom/paper-grid/constants.d.ts +95 -0
  196. package/dist/components/custom/paper-grid/index.d.ts +5 -0
  197. package/dist/components/custom/paper-grid/shaders/paper-grid.glsl.d.ts +4 -0
  198. package/dist/components/custom/paper-grid/shaders/paper-grid.wgsl.d.ts +1 -0
  199. package/dist/components/custom/search/FuzzySearch.vue.d.ts +8 -2
  200. package/dist/components/custom/search/SearchBar.vue.d.ts +8 -0
  201. package/dist/components/custom/search/index.d.ts +2 -0
  202. package/dist/components/custom/search/searchVariants.d.ts +19 -0
  203. package/dist/components/custom/selectable-chip/SelectableChip.vue.d.ts +50 -0
  204. package/dist/components/custom/selectable-chip/chipVariants.d.ts +39 -0
  205. package/dist/components/custom/selectable-chip/index.d.ts +2 -0
  206. package/dist/components/custom/selectable-chip/selectableChipVariants.d.ts +15 -0
  207. package/dist/components/custom/split-chars/SplitChars.vue.d.ts +39 -0
  208. package/dist/components/custom/split-chars/index.d.ts +1 -0
  209. package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +8 -6
  210. package/dist/components/custom/tabs/constants.d.ts +28 -2
  211. package/dist/components/custom/timeline/ScrubberTimeline.vue.d.ts +16 -0
  212. package/dist/components/custom/timeline/geometry.d.ts +0 -8
  213. package/dist/components/custom/toggle-chip/index.d.ts +15 -4
  214. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +32 -17
  215. package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +10 -5
  216. package/dist/components/ui/_shared/index.d.ts +2 -0
  217. package/dist/components/ui/_shared/useControlSize.d.ts +46 -0
  218. package/dist/components/ui/_shared/useSurfaceAxis.d.ts +17 -3
  219. package/dist/components/ui/badge/Badge.vue.d.ts +14 -0
  220. package/dist/components/ui/badge/index.d.ts +1 -0
  221. package/dist/components/ui/button/Button.vue.d.ts +1 -0
  222. package/dist/components/ui/button/index.d.ts +1 -1
  223. package/dist/components/ui/card/Card.vue.d.ts +46 -1
  224. package/dist/components/ui/card/ScrollCard.vue.d.ts +1 -1
  225. package/dist/components/ui/card/index.d.ts +1 -1
  226. package/dist/components/ui/carousel/CarouselContent.vue.d.ts +2 -4
  227. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +1 -1
  228. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +1 -1
  229. package/dist/components/ui/command/CommandDialog.vue.d.ts +9 -3
  230. package/dist/components/ui/command/CommandList.vue.d.ts +3 -0
  231. package/dist/components/ui/context-menu/ContextMenuContent.vue.d.ts +5 -1
  232. package/dist/components/ui/dialog/DialogContent.vue.d.ts +9 -0
  233. package/dist/components/ui/drawer/Drawer.vue.d.ts +33 -14
  234. package/dist/components/ui/drawer/constants.d.ts +8 -6
  235. package/dist/components/ui/drawer/index.d.ts +12 -2
  236. package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +4 -0
  237. package/dist/components/ui/hover-card/HoverCardContent.vue.d.ts +3 -0
  238. package/dist/components/ui/input/Input.vue.d.ts +3 -0
  239. package/dist/components/ui/number-field/NumberFieldInput.vue.d.ts +6 -1
  240. package/dist/components/ui/select/SelectContent.vue.d.ts +12 -0
  241. package/dist/components/ui/slider/Slider.vue.d.ts +9 -0
  242. package/dist/components/ui/switch/Switch.vue.d.ts +2 -0
  243. package/dist/components/ui/textarea/Textarea.vue.d.ts +3 -0
  244. package/dist/components/ui/tooltip/TooltipContent.vue.d.ts +3 -0
  245. package/dist/composables/color/index.d.ts +2 -0
  246. package/dist/composables/color/useAccentTone.d.ts +34 -0
  247. package/dist/composables/dom/index.d.ts +1 -0
  248. package/dist/composables/dom/useDragVelocity.d.ts +46 -0
  249. package/dist/composables/glass/useVizChoreography.d.ts +123 -0
  250. package/dist/composables/glass/wave/index.d.ts +4 -0
  251. package/dist/composables/glass/wave/waveField.d.ts +115 -0
  252. package/dist/composables/glass/wave/waveField.glsl.d.ts +1 -0
  253. package/dist/composables/glass/wave/waveField.wgsl.d.ts +1 -0
  254. package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +105 -2
  255. package/dist/composables/glass/webgl/shaders/flow.wgsl.d.ts +1 -0
  256. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +40 -2
  257. package/dist/composables/glass/webgpu/index.d.ts +2 -1
  258. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +65 -7
  259. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +50 -2
  260. package/dist/composables/glass/webgpu/webgpuDevice.d.ts +42 -0
  261. package/dist/composables/motion/core/index.d.ts +7 -0
  262. package/dist/composables/motion/core/useHaptic.d.ts +48 -0
  263. package/dist/composables/motion/core/writeVelocityWeight.d.ts +31 -0
  264. package/dist/composables/motion/index.d.ts +2 -0
  265. package/dist/composables/motion/scrollReader.d.ts +25 -0
  266. package/dist/composables/motion/springPresets.d.ts +19 -1
  267. package/dist/composables/motion/suite.d.ts +2 -2
  268. package/dist/composables/motion/useBloomUp.d.ts +97 -0
  269. package/dist/composables/motion/useCelebrationBurst.d.ts +50 -0
  270. package/dist/composables/motion/useCharStagger.d.ts +44 -0
  271. package/dist/composables/motion/useDockCtaReceive.d.ts +29 -22
  272. package/dist/composables/motion/useGooMorph.d.ts +72 -0
  273. package/dist/composables/motion/useLiquidFlex.d.ts +18 -0
  274. package/dist/composables/motion/useLiquidMorph.d.ts +108 -0
  275. package/dist/composables/motion/useLiquidPress.d.ts +12 -0
  276. package/dist/composables/motion/useLiquidReveal.d.ts +7 -4
  277. package/dist/composables/motion/useMorphField.d.ts +157 -0
  278. package/dist/composables/motion/useScrollChrome.d.ts +58 -0
  279. package/dist/composables/motion/useScrollPin.d.ts +49 -0
  280. package/dist/composables/motion/useScrollScene.d.ts +67 -0
  281. package/dist/composables/motion/useScrollTrigger.d.ts +67 -0
  282. package/dist/composables/motion/useSpringPress.d.ts +5 -5
  283. package/dist/composables/motion/useStaggerReveal.d.ts +24 -0
  284. package/dist/composables/sidebar/index.d.ts +4 -1
  285. package/dist/composables/sidebar/types.d.ts +68 -3
  286. package/dist/composables/sidebar/useClickDelegate.d.ts +4 -0
  287. package/dist/composables/sidebar/useLazyLoader.d.ts +5 -0
  288. package/dist/composables/sidebar/useScrollTo.d.ts +5 -0
  289. package/dist/composables/virtual/index.d.ts +4 -0
  290. package/dist/composables/virtual/useVirtualSectionWindow.d.ts +72 -0
  291. package/dist/composables/virtual/useWindowedStore.d.ts +43 -0
  292. package/dist/composables/virtual/virtualSectionLayout.d.ts +103 -0
  293. package/dist/concentric.js +552 -309
  294. package/dist/configurator.js +2 -2
  295. package/dist/confirm-dialog.js +62 -47
  296. package/dist/constellation.js +635 -235
  297. package/dist/context-menu.js +2 -2
  298. package/dist/controls.js +2 -2
  299. package/dist/createCanvasLifecycle-CuCrGRfq.js +173 -0
  300. package/dist/dark.js +1 -1
  301. package/dist/data-table.js +1 -1
  302. package/dist/deck.d.ts +1 -0
  303. package/dist/deck.js +105 -0
  304. package/dist/dialog.js +4 -3
  305. package/dist/dock.js +1320 -631
  306. package/dist/dockContext-gFVS2gMg.js +18 -0
  307. package/dist/dom.js +7 -6
  308. package/dist/dot-flow-field.js +1268 -387
  309. package/dist/dot-matrix.d.ts +1 -0
  310. package/dist/dot-matrix.js +774 -0
  311. package/dist/dotMatrixField-CRO0ZFk4.js +48 -0
  312. package/dist/drawer.js +106 -96
  313. package/dist/{dropdown-menu-CofSZuk8.js → dropdown-menu-CCfcCQ68.js} +83 -79
  314. package/dist/dropdown-menu.js +1 -1
  315. package/dist/easing.js +188 -176
  316. package/dist/expandable-container.js +43 -21
  317. package/dist/fading-scroll.js +1 -1
  318. package/dist/flow.glsl-DqEGRpl4.js +4 -0
  319. package/dist/forms.js +64 -62
  320. package/dist/fourier-field.js +1069 -178
  321. package/dist/fourier-math.js +1 -1
  322. package/dist/glass-panel.js +2 -2
  323. package/dist/glass-ui.css +1 -1
  324. package/dist/glass-ui.js +164 -119
  325. package/dist/goo-blob.js +175 -1230
  326. package/dist/goo-dot-matrix.d.ts +1 -0
  327. package/dist/goo-dot-matrix.js +811 -0
  328. package/dist/handmark.js +137 -94
  329. package/dist/header-ribbon.js +1 -1
  330. package/dist/hover-card.js +1 -1
  331. package/dist/hover-popover.js +1 -1
  332. package/dist/icon-chip.js +1 -1
  333. package/dist/icon-tooltip.js +1 -1
  334. package/dist/index.d.ts +5 -0
  335. package/dist/instrument-chassis.js +1 -1
  336. package/dist/keyboard.js +1 -1
  337. package/dist/label.js +1 -1
  338. package/dist/labeled-field.js +70 -60
  339. package/dist/metric-badge.js +1 -1
  340. package/dist/metric-cell.js +1 -1
  341. package/dist/metric-stack.js +12 -3
  342. package/dist/motion-core.js +59 -34
  343. package/dist/motion-curves.js +30 -14
  344. package/dist/motion.js +231 -96
  345. package/dist/notification.js +1 -1
  346. package/dist/number-field.js +1 -1
  347. package/dist/pager-dots.js +2 -91
  348. package/dist/paper-backdrop.js +1 -1
  349. package/dist/paper-grid.d.ts +1 -0
  350. package/dist/paper-grid.js +761 -0
  351. package/dist/paperGrid-CXCSMbZ1.js +191 -0
  352. package/dist/popover.js +1 -1
  353. package/dist/{presets-BW2b-fr1.js → presets-QvYgnFIZ.js} +14 -13
  354. package/dist/{procedural-color.glsl-CIFsJhwI.js → procedural-color.wgsl-C1Y5PkM6.js} +2 -2
  355. package/dist/progress.js +1 -1
  356. package/dist/pulse.js +2 -2
  357. package/dist/reactive.js +2 -2
  358. package/dist/{useCanvas2D-B8w_E3Rr.js → resolveCanvasColor-DsSJk06I.js} +16 -6
  359. package/dist/scrollReader-rc3Ns_NM.js +42 -0
  360. package/dist/scrolling-text.js +1 -1
  361. package/dist/search.js +162 -306
  362. package/dist/select.js +3 -3
  363. package/dist/selectable-chip.d.ts +1 -0
  364. package/dist/selectable-chip.js +48 -0
  365. package/dist/separator.js +1 -1
  366. package/dist/{sheet-tZMg0E0w.js → sheet-DUCIoOe0.js} +4 -4
  367. package/dist/sheet.js +1 -1
  368. package/dist/sidebar.js +216 -114
  369. package/dist/slider-CcICPe3u.js +149 -0
  370. package/dist/slider.js +1 -1
  371. package/dist/sortable-list.js +3 -3
  372. package/dist/spectrum-walk-cBNSx_zm.js +33 -0
  373. package/dist/springPresets-DfoQ6XRY.js +64 -0
  374. package/dist/stacked-icons.js +54 -39
  375. package/dist/styles/animations.css +13 -3
  376. package/dist/styles/cards.css +271 -2
  377. package/dist/styles/completion-seal.css +131 -0
  378. package/dist/styles/components.css +1 -4
  379. package/dist/styles/configurator.css +221 -1
  380. package/dist/styles/critical-partition.mjs +66 -11
  381. package/dist/styles/deferred.css +4 -0
  382. package/dist/styles/dock/adaptive-legibility.css +119 -0
  383. package/dist/styles/dock/cta-seat.css +87 -0
  384. package/dist/styles/dock/density.css +167 -6
  385. package/dist/styles/dock/fission-bridge.css +552 -0
  386. package/dist/styles/dock/layers.css +90 -78
  387. package/dist/styles/dock/morph-bridge.css +67 -18
  388. package/dist/styles/dock/morph.css +57 -118
  389. package/dist/styles/dock/overflow.css +12 -0
  390. package/dist/styles/dock/search.css +68 -0
  391. package/dist/styles/dock/shape.css +250 -0
  392. package/dist/styles/dock/shell.css +24 -8
  393. package/dist/styles/dock/stack-rail.css +352 -0
  394. package/dist/styles/dock-controls/dark-mode-toggle.css +17 -4
  395. package/dist/styles/dock-controls/icon-button.css +46 -0
  396. package/dist/styles/dock-controls/triggers.css +23 -1
  397. package/dist/styles/dock-controls.css +18 -0
  398. package/dist/styles/dock.css +27 -2
  399. package/dist/styles/drawer.css +166 -0
  400. package/dist/styles/glass/accent-tone.css +66 -0
  401. package/dist/styles/glass/control-surfaces.css +167 -0
  402. package/dist/styles/glass/glass-atom.css +244 -0
  403. package/dist/styles/glass/glass-capsule.css +143 -0
  404. package/dist/styles/glass/glass-chip.css +215 -0
  405. package/dist/styles/glass/ladder.css +67 -17
  406. package/dist/styles/glass/liquid-enter.css +252 -0
  407. package/dist/styles/glass/liquid-morph.css +850 -0
  408. package/dist/styles/glass/material.css +70 -1
  409. package/dist/styles/glass/reveal.css +22 -2
  410. package/dist/styles/glass/rim.css +31 -9
  411. package/dist/styles/glass/surfaces.css +81 -150
  412. package/dist/styles/glass.css +21 -0
  413. package/dist/styles/icon-chip.css +45 -0
  414. package/dist/styles/index.css +26 -0
  415. package/dist/styles/jubilance.css +65 -0
  416. package/dist/styles/motion/morph-field.css +229 -0
  417. package/dist/styles/paper.css +230 -14
  418. package/dist/styles/scroll-choreography.css +135 -78
  419. package/dist/styles/scroll-chrome.css +123 -0
  420. package/dist/styles/scroll-driven.css +38 -0
  421. package/dist/styles/segmented-tabs.css +110 -40
  422. package/dist/styles/select.css +151 -0
  423. package/dist/styles/theme/bridges.css +22 -0
  424. package/dist/styles/theme/radius.css +18 -1
  425. package/dist/styles/tokens/color-radius.css +14 -4
  426. package/dist/styles/tokens/dark-arm.css +94 -12
  427. package/dist/styles/tokens/glass-deep.css +33 -4
  428. package/dist/styles/tokens/glass-fx.css +122 -1
  429. package/dist/styles/tokens/glass.css +226 -34
  430. package/dist/styles/tokens/light-dark.css +3 -3
  431. package/dist/styles/tokens/offsets.css +27 -0
  432. package/dist/styles/tokens/property-regs.css +277 -0
  433. package/dist/styles/tokens/scale-paper.css +86 -30
  434. package/dist/styles/tokens/scheme-motion.css +106 -133
  435. package/dist/styles/tokens/scheme-spring.css +239 -0
  436. package/dist/styles/tokens/scroll-tokens.css +15 -15
  437. package/dist/styles/tokens/shadow.css +73 -13
  438. package/dist/styles/tokens/sizing-config.css +110 -0
  439. package/dist/styles/tokens/sizing.css +55 -104
  440. package/dist/styles/tokens.css +14 -2
  441. package/dist/styles/typography/semantic.css +18 -5
  442. package/dist/styles/utilities/a11y-overrides.css +20 -5
  443. package/dist/styles/utilities/base-misc.css +52 -0
  444. package/dist/styles/utilities/btn.css +84 -3
  445. package/dist/styles/utilities/components.css +31 -6
  446. package/dist/styles/utilities/metal.css +26 -0
  447. package/dist/switch.js +1 -1
  448. package/dist/tabs.js +199 -182
  449. package/dist/timeline.js +241 -206
  450. package/dist/toast.js +1 -1
  451. package/dist/toggle-chip.js +14 -41
  452. package/dist/toggle-group.js +1 -1
  453. package/dist/tooltip.js +1 -1
  454. package/dist/typewriter.js +2 -2
  455. package/dist/uniformBridgeWGPU-BCse1SHU.js +1268 -0
  456. package/dist/{useAnimatedNumber-BfUq2bUM.js → useAnimatedNumber-BntskVdQ.js} +1 -1
  457. package/dist/{useConfiguratorState-DNlOh6c8.js → useConfiguratorState-22BcULzF.js} +41 -38
  458. package/dist/useControlSize-DAZ062x7.js +9 -0
  459. package/dist/useDockCtaReceive-DX7RDb6_.js +88 -0
  460. package/dist/{useDragMorph-DgxnsVJz.js → useDragMorph-DGLSewwB.js} +4 -4
  461. package/dist/useDragVelocity-CjcfX3dA.js +57 -0
  462. package/dist/useFuzzySearch-0fTYOhS4.js +177 -0
  463. package/dist/useGooMorph-Cs13NgYL.js +104 -0
  464. package/dist/useGpuSubstrate-Ceet70xq.js +347 -0
  465. package/dist/useHaptic-CPz5BT9I.js +134 -0
  466. package/dist/{useLiquidFlex-mZPMiNXh.js → useLiquidFlex-Cc6PjVJD.js} +8 -3
  467. package/dist/useLiquidPress-CtOQ8Z0_.js +43 -0
  468. package/dist/useMorphField-ogBM7ubT.js +141 -0
  469. package/dist/usePointerVelocityField-BrkqZFhj.js +91 -0
  470. package/dist/useScrollChrome-JuImi1DM.js +258 -0
  471. package/dist/{useSpringMount-q1amq1SJ.js → useSpringMount-DFxtzmkR.js} +1 -1
  472. package/dist/useSpringPress-VM9RgVq3.js +36 -0
  473. package/dist/{useSurfaceAxis-g0NloYEF.js → useSurfaceAxis-Ci7Dnaw2.js} +1 -1
  474. package/dist/{useTouchGate-CBZTD4SD.js → useTouchGate-B1Lf9XqN.js} +1 -1
  475. package/dist/{vendor-CKmzio-i.js → vendor-B2qOlYY3.js} +24 -11
  476. package/dist/virtual.d.ts +1 -0
  477. package/dist/virtual.js +225 -0
  478. package/dist/watercolor-dot.js +107 -74
  479. package/dist/writeVelocityWeight-Bh83xZfs.js +19 -0
  480. package/package.json +140 -9
  481. package/src/styles/animations.css +13 -3
  482. package/src/styles/cards.css +271 -2
  483. package/src/styles/completion-seal.css +131 -0
  484. package/src/styles/configurator.css +221 -1
  485. package/src/styles/critical-partition.mjs +66 -11
  486. package/src/styles/dock/adaptive-legibility.css +119 -0
  487. package/src/styles/dock/cta-seat.css +87 -0
  488. package/src/styles/dock/density.css +167 -6
  489. package/src/styles/dock/fission-bridge.css +552 -0
  490. package/src/styles/dock/layers.css +90 -78
  491. package/src/styles/dock/morph-bridge.css +67 -18
  492. package/src/styles/dock/morph.css +57 -118
  493. package/src/styles/dock/overflow.css +12 -0
  494. package/src/styles/dock/search.css +68 -0
  495. package/src/styles/dock/shape.css +250 -0
  496. package/src/styles/dock/shell.css +24 -8
  497. package/src/styles/dock/stack-rail.css +352 -0
  498. package/src/styles/dock-controls/dark-mode-toggle.css +17 -4
  499. package/src/styles/dock-controls/icon-button.css +46 -0
  500. package/src/styles/dock-controls/triggers.css +23 -1
  501. package/src/styles/dock-controls.css +18 -0
  502. package/src/styles/dock.css +27 -2
  503. package/src/styles/drawer.css +164 -0
  504. package/src/styles/glass/accent-tone.css +66 -0
  505. package/src/styles/glass/control-surfaces.css +167 -0
  506. package/src/styles/glass/glass-atom.css +244 -0
  507. package/src/styles/glass/glass-capsule.css +143 -0
  508. package/src/styles/glass/glass-chip.css +215 -0
  509. package/src/styles/glass/ladder.css +67 -17
  510. package/src/styles/glass/liquid-enter.css +252 -0
  511. package/src/styles/glass/liquid-morph.css +850 -0
  512. package/src/styles/glass/material.css +70 -1
  513. package/src/styles/glass/reveal.css +22 -2
  514. package/src/styles/glass/rim.css +31 -9
  515. package/src/styles/glass/surfaces.css +81 -150
  516. package/src/styles/glass.css +21 -0
  517. package/src/styles/icon-chip.css +45 -0
  518. package/src/styles/index.css +26 -0
  519. package/src/styles/jubilance.css +65 -0
  520. package/src/styles/motion/morph-field.css +229 -0
  521. package/src/styles/paper.css +230 -14
  522. package/src/styles/scroll-choreography.css +135 -78
  523. package/src/styles/scroll-chrome.css +123 -0
  524. package/src/styles/scroll-driven.css +38 -0
  525. package/src/styles/segmented-tabs.css +110 -36
  526. package/src/styles/select.css +151 -0
  527. package/src/styles/theme/bridges.css +22 -0
  528. package/src/styles/theme/radius.css +18 -1
  529. package/src/styles/tokens/color-radius.css +14 -4
  530. package/src/styles/tokens/dark-arm.css +94 -12
  531. package/src/styles/tokens/glass-deep.css +33 -4
  532. package/src/styles/tokens/glass-fx.css +122 -1
  533. package/src/styles/tokens/glass.css +226 -34
  534. package/src/styles/tokens/light-dark.css +3 -3
  535. package/src/styles/tokens/offsets.css +27 -0
  536. package/src/styles/tokens/property-regs.css +277 -0
  537. package/src/styles/tokens/scale-paper.css +86 -30
  538. package/src/styles/tokens/scheme-motion.css +106 -133
  539. package/src/styles/tokens/scheme-spring.css +239 -0
  540. package/src/styles/tokens/scroll-tokens.css +15 -15
  541. package/src/styles/tokens/shadow.css +73 -13
  542. package/src/styles/tokens/sizing-config.css +110 -0
  543. package/src/styles/tokens/sizing.css +55 -104
  544. package/src/styles/tokens.css +14 -2
  545. package/src/styles/typography/semantic.css +18 -5
  546. package/src/styles/utilities/a11y-overrides.css +20 -5
  547. package/src/styles/utilities/base-misc.css +52 -0
  548. package/src/styles/utilities/btn.css +84 -3
  549. package/src/styles/utilities/components.css +31 -6
  550. package/src/styles/utilities/metal.css +26 -0
  551. package/dist/ContextMenuContent-uWnVxDab.js +0 -85
  552. package/dist/DialogContent-DcKK8k9i.js +0 -103
  553. package/dist/DialogFooter-BZNX5aVr.js +0 -165
  554. package/dist/HoverCardContent-b2uaAMRR.js +0 -83
  555. package/dist/Input-h9v5LeXf.js +0 -55
  556. package/dist/NumberFieldContent-Cq7EzX-U.js +0 -138
  557. package/dist/PaperBackdrop-Vf3tlpvd.js +0 -31
  558. package/dist/SelectScrollDownButton-CrA8F0iV.js +0 -252
  559. package/dist/Separator-pKF0oA4M.js +0 -37
  560. package/dist/Switch-CwYNf8bo.js +0 -47
  561. package/dist/TooltipProvider-rzvnXz60.js +0 -104
  562. package/dist/badge-D9XWW4GT.js +0 -53
  563. package/dist/button-DYCUa-tH.js +0 -126
  564. package/dist/color-DweYl7pE.js +0 -86
  565. package/dist/components/custom/concentric/composables/ringField.d.ts +0 -44
  566. package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +0 -35
  567. package/dist/components/custom/constellation/constellationDraw.d.ts +0 -30
  568. package/dist/components/custom/dock/DockRail.vue.d.ts +0 -89
  569. package/dist/createCanvasLifecycle-CHD5XrDW.js +0 -82
  570. package/dist/dockContext-BNfyPLe9.js +0 -17
  571. package/dist/procedural-color.wgsl-CToRHugY.js +0 -224
  572. package/dist/resolveCanvasColor-CUyHr5Uu.js +0 -11
  573. package/dist/slider-DVb4HXU-.js +0 -142
  574. package/dist/springPresets-CFQGQfdl.js +0 -40
  575. package/dist/styles/dock/rail-extend.css +0 -397
  576. package/dist/useLiquidPress-kfb4KX79.js +0 -39
  577. package/dist/usePointerVelocityField-JbRd5CrM.js +0 -137
  578. package/dist/useRAFLoop-UYa4zoiN.js +0 -109
  579. package/dist/useSpringPress-BsqPr7FJ.js +0 -34
  580. package/src/styles/dock/rail-extend.css +0 -397
  581. /package/dist/{CollapsibleContent-68dEXIAl.js → CollapsibleContent-D7UNsXQr.js} +0 -0
  582. /package/dist/{InstrumentChassis-Bx0F_q5g.js → InstrumentChassis-UUJX0-mW.js} +0 -0
  583. /package/dist/{Label-C2ejNWeC.js → Label-B_HPqi_q.js} +0 -0
  584. /package/dist/{ModalOverlay-D1VrWyoi.js → ModalOverlay-DfAf7o15.js} +0 -0
  585. /package/dist/{SelectGroup-DwwjicPY.js → SelectGroup-Dcczq44n.js} +0 -0
  586. /package/dist/{_plugin-vue_export-helper-C1je1s0u.js → _plugin-vue_export-helper-gLzyemvl.js} +0 -0
  587. /package/dist/{compile-CQEFRTmx.js → compile-INR_tPk_.js} +0 -0
  588. /package/dist/{constants-BPOqYJAm.js → constants-BWj7DkMn.js} +0 -0
  589. /package/dist/{createContext-CpBNTRMI.js → createContext-Cd23P9j0.js} +0 -0
  590. /package/dist/{math-BINYmg5z.js → math-5RcIgCB4.js} +0 -0
  591. /package/dist/{menuItemVariants-D8VNHq22.js → menuItemVariants-DAXquKja.js} +0 -0
  592. /package/dist/{prng-Za0Rmgag.js → prng-B5tIXTtj.js} +0 -0
  593. /package/dist/{useGlobalDark-C28t0VWJ.js → useGlobalDark-B4HO9LXG.js} +0 -0
  594. /package/dist/{useIntersectionPause-Bj4sPkMh.js → useIntersectionPause-DO8Vl4gs.js} +0 -0
  595. /package/dist/{useInterval-CvK1mL92.js → useInterval-BVUI-sez.js} +0 -0
  596. /package/dist/{useKeyboardShortcuts-BXWXOZ-9.js → useKeyboardShortcuts-BEut54Tk.js} +0 -0
  597. /package/dist/{useResizeObserver-Bpoi7tRE.js → useResizeObserver-DdEn3v2f.js} +0 -0
  598. /package/dist/{useResolveTokenColor-vAylyR0x.js → useResolveTokenColor-ChOnCckA.js} +0 -0
  599. /package/dist/{useScrollProgress-D7bYU2RK.js → useScrollProgress-A0M6qRl7.js} +0 -0
  600. /package/dist/{useSortable-DHjtZSEd.js → useSortable-DQV_UNDw.js} +0 -0
  601. /package/dist/{useTextHighlight-CWEi25hf.js → useTextHighlight-Bma3UlKA.js} +0 -0
  602. /package/dist/{useTimer-BHJOKr35.js → useTimer-BBLGPXR8.js} +0 -0
  603. /package/dist/{useUserInvalidAria-y5namzeE.js → useUserInvalidAria-EmmwWPOl.js} +0 -0
  604. /package/dist/{useViewportReady-anbac3m6.js → useViewportReady-C9pYnn7K.js} +0 -0
  605. /package/dist/{vReveal-Czsb7zQC.js → vReveal-CT1KtwZA.js} +0 -0
  606. /package/dist/{vSpecular-CQFmLNzA.js → vSpecular-EX7loENl.js} +0 -0
@@ -0,0 +1,68 @@
1
+ /* dock/search.css — the dock-as-native-dynamic-search-bar field surface (BC.W-DOCK-SEARCH).
2
+ *
3
+ * The active dock-search field + its placeholder + the result rows read CLEARLY forward
4
+ * over whatever backdrop the dock floats on (≥4.5:1, the W55 darken seam) — never the
5
+ * pale-ghost-fading-into-content trap (the NN/g defect, WWDC §219 "buttons remain
6
+ * legible"). The field surface composes the W55 `--glass-tint-strength-aa` bright-bucket
7
+ * darken at the ELEMENT level (the `color-mix(in oklab, <rung>, var(--glass-tint-source)
8
+ * var(--glass-tint-strength))` seam glass/ladder.css + morph.css already compose) — NOT
9
+ * the RAW pre-substituted `--glass-bg-dock` token (the substitution-vs-inheritance trap
10
+ * the dock surfaces already hit: a surface reading the pre-baked `--glass-bg-dock` baked
11
+ * at `:root` 0% strength does NOT darken — the pale-fade). At the 0%/floor default the
12
+ * inner oklab mix is a no-op (byte-identical to the un-tinted rung); under the bright
13
+ * bucket it darkens-over-light (and lifts-over-dark per W-DARK-MATERIAL).
14
+ *
15
+ * The result rows ride `.glass-menu-row` (the glass-quiet hover-lift, BA.W-MENU-GLASS —
16
+ * CONSUMED here, the glassify is BC.W-SEARCH-CUSTOM's). The customization-surface axes
17
+ * (size/surface/variant) are BC.W-SEARCH-CUSTOM's — this partial only seats the field +
18
+ * the legibility seam. The morph itself is the dock's OWN `--dock-morph-t` + the
19
+ * byte-untouched `morph-bridge.css` metaball (READ-ONLY — bound, never edited). */
20
+
21
+ @layer components {
22
+ /* The search-field region inside the morph aperture. The consumer slots its
23
+ <SearchBar>/<FuzzySearch> here; this rule owns the legibility seam + the layout
24
+ inside the aperture (a column: the field over its dropdown). It is present ONLY on
25
+ a `[data-search]` dock (additive — a non-search dock never carries it). */
26
+ .glass-dock[data-search] .dock-search-field {
27
+ display: flex;
28
+ flex-direction: column;
29
+ inline-size: 100%;
30
+ min-inline-size: 0;
31
+ gap: var(--dock-search-field-gap, 0.375rem);
32
+ }
33
+
34
+ /* The ACTIVE field surface — the W55 element-level oklab tint (NOT the raw
35
+ `--glass-bg-dock`). The field reads the floating rung darkened toward the warm-ink
36
+ at the bright-bucket strength, so it reads ≥4.5:1 over a busy backdrop. The
37
+ `--glass-tint-source`/`--glass-tint-strength` are the SAME element-level customs
38
+ the dock plate self-engages (morph.css's `:where(.glass-dock)` rule re-points them
39
+ under the bright bucket); this field rides that lockstep, never a field-local
40
+ recipe. The field TEXT is `--foreground` (the full warm ink); the
41
+ placeholder/muted caption is `--on-glass-muted` (5.76:1 vs the plate). */
42
+ .glass-dock[data-search] .dock-search-field .input-bar {
43
+ background: color-mix(
44
+ in oklab,
45
+ var(--glass-bg-floating),
46
+ var(--glass-tint-source) var(--glass-tint-strength)
47
+ );
48
+ color: var(--foreground);
49
+ }
50
+
51
+ /* The placeholder + the autocomplete ghost-text + any muted caption inside the field
52
+ read the on-glass muted rung (NOT `--muted-foreground`, which is calibrated against
53
+ the opaque page and collapses on a translucent darkened plate). */
54
+ .glass-dock[data-search] .dock-search-field .input-bar-field::placeholder,
55
+ .glass-dock[data-search] .dock-search-field .dock-search-ghost,
56
+ .glass-dock[data-search] .dock-search-field .dock-search-result-meta {
57
+ color: var(--on-glass-muted);
58
+ }
59
+
60
+ /* The dropdown result rows ride the shared `.glass-menu-row` glass-quiet hover-lift
61
+ (BA.W-MENU-GLASS — CONSUMED, not re-authored). The dock-search list applies
62
+ `.glass-menu-row` per row; this rule reaches the selected/highlighted row through
63
+ the SAME register the menu families use (no flat `bg-accent`/`bg-muted` fork). The
64
+ active result reads the data-highlighted state the menu recipe already paints. */
65
+ .glass-dock[data-search] .dock-search-field .dock-search-result {
66
+ color: var(--foreground);
67
+ }
68
+ }
@@ -0,0 +1,250 @@
1
+ /* dock/shape.css — BC.W-DOCK-ARBITRARY: the arbitrary-shape morph register.
2
+ *
3
+ * The dock is no longer locked to "a rectangle that grows wider/taller." Its SHAPE
4
+ * is a SCALAR PARAMETER on the ONE `--dock-morph-t` clock (the BC.W-DOCK-ENGINE
5
+ * buttery scalar): the corner profile LERPS between a `--dock-shape-from`/
6
+ * `--dock-shape-to` radius pair, an OPT-IN `clip-path` silhouette LERPS between a
7
+ * `--dock-shape-clip-from`/`--dock-shape-clip-to` pair, and a `useLiquidFlex`
8
+ * volume-preserving squish couples the deformation. So the dock FLOWS between
9
+ * arbitrary silhouettes — a circle, a pill, a wide bar, a tall rail, a teardrop —
10
+ * as one continuous liquid-glass surface (the iOS-27 control-center materialization,
11
+ * apple-ios27.md §3.1 "physically morphs from one shape to another").
12
+ *
13
+ * THE COMPOSITOR FLOOR (apple-ios27.md §3.1 + motion-canon P5): the shape morph
14
+ * animates ONLY `border-radius`/`clip-path`/`--*` — compositor/paint properties,
15
+ * ZERO per-frame layout. The footprint is reached by the reserved-`scale()` morph
16
+ * (layers.css, byte-untouched here), NEVER a per-frame size lerp. proof:dock-arbitrary
17
+ * + proof:no-layout-animation both hold.
18
+ *
19
+ * THE LIBRARY DEFAULT IS THE CIRCLE↔PILL IDENTITY (CLAUDE.md the collapsed-perfect-
20
+ * circle): `--dock-shape-from`/`--dock-shape-to` default to `--radius-dock` (9999px)
21
+ * on both endpoints — a no-op lerp byte-identical to the prior static
22
+ * `border-radius: var(--radius-dock)` — and the clip pair defaults `none`/`none`
23
+ * (the rectangle/pill common case needs no clip). The arbitrary teardrop/blob
24
+ * silhouette is OPT-IN: a consumer sets the shape tokens on the dock scope
25
+ * (presets-in-consumers). Clean break (MEMORY: no backwards compat) — the prior
26
+ * hardcoded circle/pill radius becomes the token DEFAULT, no `--dock-radius-legacy`.
27
+ *
28
+ * @import-ed by dock.css in cascade order, in the SAME `@layer components`. */
29
+
30
+ /* BD.W-DOCK-PUNCH-CHANNEL — the dedicated cartoon-punch squish scalar. A SEPARATE
31
+ typed `<number>` @property (init 1, the no-op identity) so a one-shot transition on
32
+ `--ease-cartoon-punch` INTERPOLATES the ~4% pre-dip + ~22% overshoot rather than
33
+ snapping. It is DISTINCT from `--stretch` (the orientation/fission squish, capped by
34
+ `--dock-morph-max-stretch: 1.14`): the punch is NOT subject to that cap (the cartoon
35
+ register overshoots PAST the spring fence), it has ZERO JS owners (CSS-only, driven
36
+ by the transition below), and a fission split fired mid-collapse cannot clobber it
37
+ (the 6-owner `--stretch` last-writer race the shared channel would have introduced —
38
+ the dedicated channel REMOVES it, a net improvement to fission). `inherits: false` —
39
+ the punch is the dock root's OWN deformation, never cascaded to children. A
40
+ non-supporting engine reads the safe 1 fallback (no punch, just the bounded size). */
41
+ @property --dock-punch-stretch {
42
+ syntax: "<number>";
43
+ inherits: false;
44
+ initial-value: 1;
45
+ }
46
+
47
+ @layer components {
48
+ /* ── The corner-profile lerp (A1 — the shape is a scalar parameter) ───────────
49
+ The dock surface radius interpolates the `--dock-shape-from`/`--dock-shape-to`
50
+ token pair on the ONE `--dock-expand-t` scalar (the directional expanded-ness
51
+ the BC.W-DOCK-ENGINE chrome interp rides; at rest it resolves to the class
52
+ endpoint, 0 collapsed / 1 expanded, so the resting corner is exact). This
53
+ GENERALIZES the prior two hardcoded class endpoints into a consumer-targetable
54
+ parameter: `from` is the collapsed silhouette's corner (the perfect circle,
55
+ 9999px), `to` is the expanded silhouette's corner (the pill / an arbitrary
56
+ profile). A consumer overrides either token on the dock scope to morph to an
57
+ arbitrary corner.
58
+
59
+ This is the SINGLE radius authority (shell.css's prior static `border-radius:
60
+ var(--radius-dock)` is GENERALIZED here — no dead static, no duplicate, clean
61
+ break). Both tokens default to `--radius-dock` (9999px) so the lerp is a NO-OP at
62
+ the library default — byte-identical to the prior static, the circle↔pill identity
63
+ preserved. The token-driven `border-radius` interp is a compositor/paint property
64
+ on the registered `--dock-expand-t` `<number>`, NOT a transition
65
+ (proof:no-layout-animation stays GREEN). shape.css is imported AFTER shell.css so
66
+ this rule is the cascade winner for the dock corner. */
67
+ .glass-dock {
68
+ border-radius: calc(
69
+ var(--dock-shape-from, var(--radius-dock)) +
70
+ (var(--dock-shape-to, var(--radius-dock)) -
71
+ var(--dock-shape-from, var(--radius-dock))) *
72
+ var(--dock-expand-t, 1)
73
+ );
74
+ }
75
+
76
+ /* ── The arbitrary silhouette — the OPT-IN `clip-path` lerp (A1) ──────────────
77
+ DEFAULT-OFF: at the library default `--dock-shape-clip-from`/`--dock-shape-clip-to`
78
+ are `none`, so this rule resolves `clip-path: none` (the rectangle/pill common
79
+ case needs no clip; the box-morph + corner lerp above is the whole shape). A
80
+ consumer opts into an arbitrary teardrop/blob silhouette by setting the clip
81
+ tokens to two compatible `inset()`/`path()`/`shape()` values; the silhouette then
82
+ LERPS between them on `--dock-morph-t` via the `from` * (1−t) + `to` * t weighting
83
+ below. `clip-path` is a compositor-friendly property — the silhouette morphs with
84
+ ZERO reflow (apple-ios27.md §3.1).
85
+
86
+ The lerp is expressed as a `clip-path` whose two endpoints carry per-endpoint
87
+ opacity-like weights via the scalar: the active silhouette is the `to`-clip once
88
+ the morph crosses, the `from`-clip before. The web platform cannot continuously
89
+ interpolate two arbitrary mismatched-topology `clip-path` functions, so the
90
+ opt-in consumer supplies TOPOLOGY-COMPATIBLE endpoints (two `inset()`s, or two
91
+ `path()`s with equal command counts) — the AX.W42 fold-7 topology limit is
92
+ RESPECTED (a mismatched-topology V↔H morph occludes its reflow in the goo-merge,
93
+ BC.W-LIQUID-MORPH, not a continuous clip morph THROUGH the change). The default
94
+ `none`/`none` opts the whole register off so the limit never bites the common
95
+ case. The custom property carries the consumer's interpolable pair; the engine
96
+ resolves it on the scalar only when set. */
97
+ .glass-dock {
98
+ --dock-shape-clip: var(--dock-shape-clip-to, none);
99
+ clip-path: var(--dock-shape-clip);
100
+ }
101
+
102
+ /* While morphing, the opt-in silhouette LERPS: before the midpoint the `from`-clip
103
+ reads, after it the `to`-clip, so the silhouette flows from one to the other as
104
+ the box scales under it (the corner + footprint + silhouette all on the ONE
105
+ scalar). The `none`/`none` default makes this a no-op (`clip-path: none` both
106
+ sides), so the rectangle/pill morph never pays the clip cost; the arbitrary
107
+ register engages ONLY when a consumer sets the clip tokens. */
108
+ .glass-dock[data-morphing] {
109
+ --dock-shape-clip: var(--dock-shape-clip-from, none);
110
+ }
111
+ .glass-dock[data-morphing]:where(.expanded, .always-expanded) {
112
+ /* expanding (0→1): once past the midpoint the `to`-silhouette is the target */
113
+ --dock-shape-clip: var(--dock-shape-clip-to, none);
114
+ }
115
+
116
+ /* ── The squish — the `useLiquidFlex` `--stretch` deformation (A4) ────────────
117
+ The shape morph couples the volume-preserving squish the tab-indicator +
118
+ useDockOrientationMorph already speak: `scale: var(--stretch) calc(1/var(--stretch))`
119
+ along the morph axis, capped LOW at `--dock-morph-max-stretch` (~1.14) by
120
+ useLiquidFlex itself (the ONE squish source — no forked deformation math). The
121
+ plate DEFORMS like liquid as it changes shape — a fast morph swells, a slow one
122
+ barely. The driver (useDockOrientationMorph) writes `--stretch` on the dock scope;
123
+ at rest `--stretch` is unset → 1/1 (no squish). The reciprocal pairing preserves
124
+ volume (stretch along travel, compress across). This is compositor-only (a
125
+ `scale` transform), composed WITH the ratio-free convex-blend size morph
126
+ (layers.css) — the box scale rides `--dock-size-scale`, the squish rides
127
+ `--stretch`, the cartoon punch rides `--dock-punch-stretch`, all three
128
+ multiply on the compositor on ONE `scale:` property.
129
+
130
+ Scoped to `[data-morphing]` so the squish is a morph-transient (at rest the plate
131
+ is un-squished); the cross-axis is the morph axis's reciprocal. Horizontal docks
132
+ stretch X / compress Y; vertical stretch Y / compress X (the inverse-axis twin,
133
+ mirroring the bridge plates' per-orientation squish in morph-bridge.css).
134
+
135
+ BD.W-DOCK-CORE / BD.W-DOCK-PUNCH-CHANNEL — THREE factors fold onto this ONE
136
+ `scale:` along the morph axis:
137
+ 1. `--dock-size-scale` (layers.css) — the ratio-FREE convex-blend size, BOUNDED
138
+ in [0.06, 1] by construction (the container-justify-agnostic grow-from-center,
139
+ box reserves `--dock-expanded-px` + scales toward it from `transform-origin:
140
+ center`). The seizure-prone `--dock-root-scale` ratio it REPLACES is gone.
141
+ 2. `--stretch` — the orientation/fission volume-preserving squish (the 6-JS-owner
142
+ channel, capped 1.14). Unset → 1 (the squish-only path byte-identical).
143
+ 3. `--dock-punch-stretch` — the dedicated cartoon-punch overshoot (the §PUNCH
144
+ channel, driven by the one-shot transition below; NOT capped by 1.14). Unset →
145
+ 1 (no punch).
146
+ The cross-axis is the RECIPROCAL of the two volume-preserving factors
147
+ `1 / (--stretch × --dock-punch-stretch)` so the punch + the squish deform the pill
148
+ along travel and pinch across WITHOUT moving the footprint or the centroid — the
149
+ size factor (`--dock-size-scale`) is NOT reciprocated (it is the real footprint
150
+ morph, not a volume-preserving deformation). Folding all three on ONE `scale:`
151
+ keeps the multiply explicit + on one compositor channel (a separate `transform`
152
+ would be a distinct box that could fight the `scale:`). Horizontal: X = size ×
153
+ squish × punch, Y = 1/(squish × punch); vertical: the inverse axes. */
154
+ .glass-dock[data-morphing]:not(.vertical),
155
+ .glass-dock[data-punching]:not(.vertical) {
156
+ scale: calc(
157
+ var(--dock-size-scale, 1) * var(--stretch, 1) *
158
+ var(--dock-punch-stretch, 1)
159
+ )
160
+ calc(1 / (var(--stretch, 1) * var(--dock-punch-stretch, 1)));
161
+ }
162
+ .glass-dock[data-morphing].vertical,
163
+ .glass-dock[data-punching].vertical {
164
+ scale: calc(1 / (var(--stretch, 1) * var(--dock-punch-stretch, 1)))
165
+ calc(
166
+ var(--dock-size-scale, 1) * var(--stretch, 1) *
167
+ var(--dock-punch-stretch, 1)
168
+ );
169
+ }
170
+
171
+ /* ── BD.W-DOCK-PUNCH-CHANNEL — the dedicated cartoon-punch DRIVER ──────────────
172
+ The size blend above is monotone + bounded (correct, boring, bulletproof). The
173
+ PUNCH is the audacious half: a SEPARATE one-shot transition on
174
+ `--ease-cartoon-punch` (the ~4% pre-dip + ~22% overshoot `linear()`) that blooms
175
+ `--dock-punch-stretch` AWAY from 1 then RETURNS to 1 at settle — NEVER latched
176
+ (the +16%-forever spike defect). It is honestly a SECOND punch animation layered
177
+ on the spring (NOT "one clock"): the bounded size rides `--dock-morph-t`, the
178
+ punch rides this transition. `--motion-weight` (dock scope 1) co-scales the punch
179
+ AMPLITUDE; PRM zeroes `--motion-weight` → the amplitude collapses to 1 (no punch),
180
+ and the PRM `--ease-cartoon-punch → --ease-standard` re-alias removes the curve
181
+ shape — the bounded size still snaps via the clamped `t`, the morph still CONFIRMS.
182
+
183
+ The dock is a LOUD DRIVER (design.md §L4): it pins `--motion-weight: 1` on its own
184
+ scope so even a slow user-driven morph rides the full punch register. The
185
+ `[data-punching]` hook (armed by the dock for one episode) is what lifts the punch
186
+ to its overshoot value; the transition carries it there on the punch curve and
187
+ back to the rest 1. The amplitude is `1 + 0.22·--motion-weight` (the ~22% overshoot
188
+ the curve peaks at × the loud-register weight). */
189
+ .glass-dock {
190
+ /* LOUD DRIVER — the dock pushes the motion weight to max so the punch reads at
191
+ full cartoon amplitude (design.md §L4; the rest 0.618 would mute it to ~+13.6%). */
192
+ --motion-weight: 1;
193
+ /* the punch rests at the identity 1 (no deformation) */
194
+ --dock-punch-stretch: 1;
195
+ /* the one-shot punch transition — the curve does the dip+overshoot+settle; the
196
+ weight zeroes it under PRM (the curve also re-aliases to --ease-standard). */
197
+ transition: --dock-punch-stretch var(--duration-normal)
198
+ var(--ease-cartoon-punch);
199
+ }
200
+ /* While punching, the dock lifts the punch to its overshoot target; the transition
201
+ carries `--dock-punch-stretch` there on the cartoon curve then the hook clears and
202
+ it transitions back to 1 (the RETURN — never latched). The overshoot share scales
203
+ with the loud weight; PRM weight 0 → amplitude 1 (no punch). */
204
+ .glass-dock[data-punching] {
205
+ --dock-punch-stretch: calc(1 + 0.22 * var(--motion-weight, 1));
206
+ }
207
+
208
+ /* ── BD.W-DOCK-PUNCH-CHANNEL — the kinetic cartoon CAST ────────────────────────
209
+ The bold 1940s offset-shadow made kinetic: the inert `.cartoon-cast` child
210
+ (BD.W-CARTOON-CASTER — a real DOM child, NOT a pseudo, since the dock's `::before`/
211
+ `::after` are both occupied by the grain + the morph chrome) carries the SHIPPED
212
+ `--shadow-cartoon-md/lg` rung and SLIDES opposite the morph as the box punches.
213
+ The travel reads `--motion-weight` (PRM → 0 → static) so the cast deepens + slides
214
+ through the punch then snaps home at settle. Plain per-mode `.dark` arms (the
215
+ light-dark() inset-shadow trap avoided — the cast is a plain offset shadow, no
216
+ inset fragment). Behind the plate (z-index -1), pointer-inert, paint-only. */
217
+ .glass-dock > .cartoon-cast {
218
+ position: absolute;
219
+ inset: 0;
220
+ z-index: -1;
221
+ border-radius: inherit;
222
+ pointer-events: none;
223
+ /* the warm-cream rest cast — the bold offset ink the plate floats above */
224
+ box-shadow: var(--shadow-cartoon-md);
225
+ /* the derived travel — opposite-morph slide, gated by the loud weight × the punch
226
+ presence. At rest (punch 1) the travel is 0; mid-punch it slides out + deepens. */
227
+ --cast-travel: calc(
228
+ 7px * var(--motion-weight, 1) *
229
+ clamp(0, calc((var(--dock-punch-stretch, 1) - 1) / 0.22), 1)
230
+ );
231
+ translate: calc(-1 * var(--cast-travel)) var(--cast-travel);
232
+ transition:
233
+ translate calc(var(--duration-normal) * 1.15) var(--ease-cartoon-punch),
234
+ box-shadow var(--duration-normal) var(--ease-standard);
235
+ }
236
+ /* mid-punch the cast deepens to the LOUD rung (a plain per-mode arm below adds the
237
+ dark-mode rung — the light-dark() inset trap avoided). */
238
+ .glass-dock[data-punching] > .cartoon-cast {
239
+ box-shadow: var(--shadow-cartoon-lg);
240
+ }
241
+ @media (prefers-reduced-motion: reduce) {
242
+ /* PRM — the cast is static (no travel); the offset ink stays (a legibility
243
+ asset). `--motion-weight: 0` already zeroes `--cast-travel`; pin the
244
+ transition off too so a residual frame cannot slide. */
245
+ .glass-dock > .cartoon-cast {
246
+ transition: none;
247
+ translate: 0 0;
248
+ }
249
+ }
250
+ }
@@ -24,8 +24,7 @@
24
24
  --dock-separator-height: calc(var(--dock-h, var(--size-icon-btn)) * 0.5);
25
25
  --dock-collapsed-hover-scale: var(--scale-hover-dock);
26
26
  /* AW.W3 — the spring-keyed child stagger knobs. `--dock-stagger-window-size`
27
- is the fraction of the morph each child reveals over; `--dock-stagger-rise`
28
- is the px the child rises from as it fades in. Consumers retune the
27
+ is the fraction of the morph each child reveals over. Consumers retune the
29
28
  cascade feel per instance.
30
29
 
31
30
  AX.W02 — `--dock-stagger-step` is the per-child onset BEAT: each
@@ -49,7 +48,6 @@
49
48
  beat, that was too wide. The summary/persistent glyph is front-loaded
50
49
  structurally (onset 0, scalar-keyed below). */
51
50
  --dock-stagger-window-size: 0.4;
52
- --dock-stagger-rise: 4px;
53
51
  --dock-stagger-step: 0.08;
54
52
  /* AW.W3b — big-dock tokens. `--dock-card-radius` is the finite card-shell
55
53
  radius (default --radius-dock-card = --radius-3xl, density-scaled
@@ -129,7 +127,7 @@
129
127
  host-constrained width it already has there. The default free-floating
130
128
  dock shrink-wraps to its content (AV.W16 TW3 made this a default and
131
129
  silently broke dock sizing for the common case). */
132
- border-radius: var(--radius-dock);
130
+ /* BC.W-DOCK-ARBITRARY — the base corner is the shape register's token lerp (dock/shape.css, the single radius authority generalizing the prior static). */
133
131
  white-space: nowrap;
134
132
  max-inline-size: var(--dock-max-inline-size);
135
133
  padding: var(--dock-padding-block, 0.375rem) var(--dock-padding-inline, 0.5rem);
@@ -148,10 +146,13 @@
148
146
  );
149
147
  backdrop-filter: var(--dock-surface-blur);
150
148
  border: 1.5px solid var(--glass-border-dock, var(--glass-border-resting));
151
- /* AV.W15 M3 — the full-perimeter `--glass-edge-light` rim rides as the
152
- leading inset layer of the dock shadow stack (the navigation-band
153
- silhouette catch-light, distinct from the top-only highlight). */
154
- box-shadow: var(--glass-edge-light), var(--shadow-dock-override, var(--shadow-dock));
149
+ /* BC.W-BLACK-BAR D2 — the dock rim is the DIRECTIONAL pair (bright catch-light
150
+ on the TOP edge, faint warm under-shadow on the BOTTOM — glass-fx.css), the
151
+ leading inset layers of the dock shadow stack. RETIRES the omnidirectional
152
+ `--glass-edge-light` ring that fought the (now ≤4% α) `--glass-border-dock`
153
+ perimeter; the navigation band reads its rim from the SAME corrected token
154
+ source as cards/dialogs (no dock-local dark rim re-paste). */
155
+ box-shadow: var(--glass-rim-top), var(--glass-rim-bottom), var(--shadow-dock-override, var(--shadow-dock));
155
156
  }
156
157
 
157
158
  /* AW.W2 — the box IS the reveal aperture (clip-reveal one-clock morph).
@@ -311,6 +312,21 @@
311
312
  scale var(--dock-motion-resize);
312
313
  }
313
314
 
315
+ /* BC.W-DOCK-ENGINE move 2 — the rail polish transition is COMPOSITOR-PROMOTED
316
+ only while its hover/press/held state is ARMED (the transform/scale legs ride
317
+ the compositor channel; `will-change: transform` hints the layer for the
318
+ gesture). NEVER a resting `will-change` (a permanent promotion pins a wasted
319
+ compositor layer at rest — the motion-canon P5 no-resting-promotion floor):
320
+ the hint lives on the `:hover`/`:active`/`[data-held]` armed selectors and is
321
+ cleared the instant the state releases. PRM keeps no pinned layer either — the
322
+ universal a11y carve strips the spatial transform under reduce, and a
323
+ non-animating rail needs no promotion. */
324
+ .glass-dock.vertical:hover,
325
+ .glass-dock.vertical:active,
326
+ .glass-dock.vertical[data-held] {
327
+ will-change: transform;
328
+ }
329
+
314
330
  /* AZ.W-DOCK-TAXONOMY — the vertical dock's surface plate (the prior
315
331
  `.variant-rail` block; "rail-ness" is now `orientation="vertical"` + a
316
332
  shape/density choice, not a variant). */