@mkbabb/glass-ui 5.0.0 → 7.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 (1048) hide show
  1. package/README.md +61 -56
  2. package/dist/DropdownMenuTrigger-ClIq8RJE.js +93 -0
  3. package/dist/FeedbackMark-DZq5001h.js +23 -0
  4. package/dist/Input-9BlLluik.js +77 -0
  5. package/dist/PagerDots-BEq0MgtH.js +311 -0
  6. package/dist/Surface-kFQeYrYv.js +82 -0
  7. package/dist/accent-tone-solve-Cw7WkRD9.js +14 -0
  8. package/dist/animated-digit.js +5 -5
  9. package/dist/asElement-CRnm6A2v.js +9 -0
  10. package/dist/aurora.js +858 -793
  11. package/dist/axes.js +25 -14
  12. package/dist/badge-u65NClWn.js +62 -0
  13. package/dist/badge.js +1 -1
  14. package/dist/blob-config.d.ts +0 -4
  15. package/dist/blob-config.js +1 -1
  16. package/dist/blob.js +490 -424
  17. package/dist/button-Bu9F4uU6.js +98 -0
  18. package/dist/button.js +2 -2
  19. package/dist/canvas.js +1 -1
  20. package/dist/card-Bk96VI2R.js +234 -0
  21. package/dist/card.js +2 -2
  22. package/dist/carousel.d.ts +1 -2
  23. package/dist/carousel.js +109 -238
  24. package/dist/chip-DFZQr6rV.js +129 -0
  25. package/dist/chip.d.ts +0 -9
  26. package/dist/chip.js +2 -81
  27. package/dist/{class-names-5jotTFzp.js → class-names-Cpy5eaBk.js} +11 -4
  28. package/dist/collapsible-BAP95XTt.js +154 -0
  29. package/dist/collapsible.js +1 -1
  30. package/dist/color.js +83 -3
  31. package/dist/{procedural-color.wgsl-ByduxnzV.js → color.wgsl-Ct5o9dpf.js} +410 -3
  32. package/dist/command-SFqDQ65h.js +320 -0
  33. package/dist/command.js +1 -1
  34. package/dist/completion-seal.js +72 -63
  35. package/dist/components/_shared/FeedbackMark.vue.d.ts +11 -0
  36. package/dist/components/_shared/axes.d.ts +9 -3
  37. package/dist/components/_shared/class-names.d.ts +9 -8
  38. package/dist/components/_shared/control-size.d.ts +2 -0
  39. package/dist/components/_shared/disclosure-context.d.ts +7 -0
  40. package/dist/components/_shared/disclosure.css +1 -0
  41. package/dist/components/_shared/feedback.d.ts +7 -0
  42. package/dist/components/_shared/field-control.css +1 -0
  43. package/dist/components/_shared/field-surfaces.css +1 -0
  44. package/dist/components/_shared/fieldControl.d.ts +13 -0
  45. package/dist/components/_shared/floating.d.ts +14 -0
  46. package/dist/components/_shared/index.d.ts +2 -6
  47. package/dist/components/_shared/interaction.d.ts +23 -0
  48. package/dist/components/_shared/menu.css +1 -0
  49. package/dist/components/_shared/menuRowClass.d.ts +2 -0
  50. package/dist/components/_shared/primitive.d.ts +19 -0
  51. package/dist/components/_shared/resolveSurfaceClass.d.ts +3 -0
  52. package/dist/components/_shared/selection.d.ts +7 -0
  53. package/dist/components/_shared/useMotionAxis.d.ts +5 -4
  54. package/dist/components/_shared/valueDomain.d.ts +6 -0
  55. package/dist/components/accordion/Accordion.vue.d.ts +41 -16
  56. package/dist/components/accordion/AccordionContent.vue.d.ts +11 -9
  57. package/dist/components/accordion/AccordionItem.vue.d.ts +12 -9
  58. package/dist/components/accordion/AccordionTrigger.vue.d.ts +8 -11
  59. package/dist/components/accordion/index.d.ts +4 -4
  60. package/dist/components/alert/Alert.vue.d.ts +9 -5
  61. package/dist/components/alert/index.d.ts +17 -8
  62. package/dist/components/animated-digit/AnimatedDigit.vue.d.ts +3 -4
  63. package/dist/components/aurora/Aurora.vue.d.ts +44 -43
  64. package/dist/components/aurora/composables/atoms-fields.d.ts +13 -2
  65. package/dist/components/aurora/composables/atoms.d.ts +52 -50
  66. package/dist/components/aurora/composables/auroraFallbackGround.d.ts +13 -13
  67. package/dist/components/aurora/composables/auroraImageSource.d.ts +4 -5
  68. package/dist/components/aurora/composables/color.d.ts +15 -20
  69. package/dist/components/aurora/composables/frameLoop.d.ts +14 -11
  70. package/dist/components/aurora/composables/glSetup.d.ts +19 -2
  71. package/dist/components/aurora/composables/runtime.d.ts +58 -60
  72. package/dist/components/aurora/composables/uniformBridge.d.ts +9 -14
  73. package/dist/components/aurora/composables/uniformBridgeWGPU.d.ts +21 -22
  74. package/dist/components/aurora/composables/uniformBridgeWGPUImage.d.ts +13 -13
  75. package/dist/components/aurora/composables/useAurora.d.ts +21 -30
  76. package/dist/components/aurora/composables/wgpuSetup.d.ts +10 -8
  77. package/dist/components/aurora/constants/budget.d.ts +12 -25
  78. package/dist/components/aurora/constants/presets.d.ts +47 -58
  79. package/dist/components/aurora/constants/renderMode.d.ts +21 -36
  80. package/dist/components/aurora/constants/shaders/aurora-image.wgsl.d.ts +1 -1
  81. package/dist/components/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +1 -1
  82. package/dist/components/aurora/constants/shaders/aurora.wgsl.d.ts +1 -1
  83. package/dist/components/aurora/constants/shaders/brush.glsl.d.ts +1 -1
  84. package/dist/components/aurora/constants/shaders/composition.glsl.d.ts +1 -1
  85. package/dist/components/aurora/constants/shaders/flow.glsl.d.ts +1 -1
  86. package/dist/components/aurora/constants/shaders/metal-medium.glsl.d.ts +2 -2
  87. package/dist/components/aurora/constants/shaders/oil-modes.glsl.d.ts +1 -1
  88. package/dist/components/aurora/constants/shaders/vangogh-medium.glsl.d.ts +1 -1
  89. package/dist/components/aurora/index.d.ts +2 -1
  90. package/dist/components/avatar/Avatar.vue.d.ts +72 -11
  91. package/dist/components/avatar/AvatarFallback.vue.d.ts +1 -2
  92. package/dist/components/avatar/AvatarImage.vue.d.ts +12 -6
  93. package/dist/components/avatar/index.d.ts +3 -9
  94. package/dist/components/avatar/styles.css +1 -0
  95. package/dist/components/badge/Badge.vue.d.ts +2 -9
  96. package/dist/components/badge/index.d.ts +32 -9
  97. package/dist/components/blob/Blob.vue.d.ts +16 -12
  98. package/dist/components/blob/composables/blobSimulation.d.ts +80 -0
  99. package/dist/components/blob/composables/buildMetaballProgram.d.ts +1 -1
  100. package/dist/components/blob/composables/resolveBlobSurface.d.ts +6 -0
  101. package/dist/components/blob/composables/satelliteKinematics.d.ts +3 -3
  102. package/dist/components/blob/composables/uniformBridgeWGPU.d.ts +1 -1
  103. package/dist/components/blob/composables/uploadBlobUniforms.d.ts +4 -31
  104. package/dist/components/blob/composables/useBlobMood.d.ts +5 -5
  105. package/dist/components/blob/composables/useBlobPointer.d.ts +11 -12
  106. package/dist/components/blob/composables/useMetaballRenderer.d.ts +29 -24
  107. package/dist/components/blob/composables/wgpuSetup.d.ts +7 -5
  108. package/dist/components/blob/config.d.ts +1 -1
  109. package/dist/components/blob/index.d.ts +2 -2
  110. package/dist/components/blob/presets.d.ts +2 -2
  111. package/dist/components/blob/shaders/metaball-palette.wgsl.d.ts +1 -1
  112. package/dist/components/blob/shaders/metaball-uniforms.glsl.d.ts +1 -1
  113. package/dist/components/blob/shaders/metaball.wgsl.d.ts +1 -1
  114. package/dist/components/blob/shaders/sdf-body.glsl.d.ts +1 -1
  115. package/dist/components/blob/shaders/watercolor-edges.glsl.d.ts +1 -1
  116. package/dist/components/blob/types.d.ts +28 -60
  117. package/dist/components/button/Button.vue.d.ts +27 -19
  118. package/dist/components/button/index.d.ts +1 -9
  119. package/dist/components/button/styles.css +1 -0
  120. package/dist/components/card/Card.vue.d.ts +20 -155
  121. package/dist/components/card/CardAction.vue.d.ts +0 -7
  122. package/dist/components/card/CardContent.vue.d.ts +2 -2
  123. package/dist/components/card/CardDescription.vue.d.ts +2 -2
  124. package/dist/components/card/CardFooter.vue.d.ts +2 -2
  125. package/dist/components/card/CardHeader.vue.d.ts +3 -42
  126. package/dist/components/card/CardTitle.vue.d.ts +6 -3
  127. package/dist/components/card/card-scroll.css +1 -0
  128. package/dist/components/card/index.d.ts +1 -3
  129. package/dist/components/card/styles.css +1 -0
  130. package/dist/components/carousel/Carousel.vue.d.ts +2 -2
  131. package/dist/components/carousel/index.d.ts +0 -3
  132. package/dist/components/carousel/interface.d.ts +2 -0
  133. package/dist/components/carousel/useCarousel.d.ts +2 -2
  134. package/dist/components/checkbox/Checkbox.vue.d.ts +17 -9
  135. package/dist/components/checkbox/index.d.ts +1 -1
  136. package/dist/components/checkbox/styles.css +1 -0
  137. package/dist/components/chip/Chip.vue.d.ts +12 -7
  138. package/dist/components/chip/chipVariants.d.ts +20 -43
  139. package/dist/components/chip/index.d.ts +1 -1
  140. package/dist/components/chip/types.d.ts +45 -30
  141. package/dist/components/collapsible/Collapsible.vue.d.ts +22 -9
  142. package/dist/components/collapsible/CollapsibleContent.vue.d.ts +11 -5
  143. package/dist/components/collapsible/CollapsibleTrigger.vue.d.ts +12 -9
  144. package/dist/components/collapsible/index.d.ts +3 -3
  145. package/dist/components/combobox/Combobox.vue.d.ts +10 -20
  146. package/dist/components/combobox/ComboboxAnchor.vue.d.ts +2 -6
  147. package/dist/components/combobox/ComboboxEmpty.vue.d.ts +2 -6
  148. package/dist/components/combobox/ComboboxGroup.vue.d.ts +2 -7
  149. package/dist/components/combobox/ComboboxInput.vue.d.ts +7 -12
  150. package/dist/components/combobox/ComboboxItem.vue.d.ts +7 -11
  151. package/dist/components/combobox/ComboboxItemIndicator.vue.d.ts +2 -6
  152. package/dist/components/combobox/ComboboxList.vue.d.ts +14 -17
  153. package/dist/components/combobox/ComboboxTrigger.vue.d.ts +16 -0
  154. package/dist/components/combobox/index.d.ts +2 -3
  155. package/dist/components/combobox/types.d.ts +87 -0
  156. package/dist/components/command/Command.vue.d.ts +9 -23
  157. package/dist/components/command/CommandDialog.vue.d.ts +8 -10
  158. package/dist/components/command/CommandEmpty.vue.d.ts +2 -6
  159. package/dist/components/command/CommandGroup.vue.d.ts +2 -7
  160. package/dist/components/command/CommandInput.vue.d.ts +6 -7
  161. package/dist/components/command/CommandItem.vue.d.ts +7 -11
  162. package/dist/components/command/CommandList.vue.d.ts +12 -19
  163. package/dist/components/command/CommandSeparator.vue.d.ts +2 -6
  164. package/dist/components/command/CommandShortcut.vue.d.ts +2 -2
  165. package/dist/components/command/dialogContext.d.ts +6 -0
  166. package/dist/components/command/index.d.ts +10 -10
  167. package/dist/components/command/styles.css +1 -0
  168. package/dist/components/command/types.d.ts +27 -0
  169. package/dist/components/completion-seal/CompletionSeal.vue.d.ts +2 -2
  170. package/dist/components/completion-seal/constants.d.ts +2 -2
  171. package/dist/components/completion-seal/styles.css +1 -0
  172. package/dist/components/configurator/Configurator.vue.d.ts +6 -6
  173. package/dist/components/configurator/ConfiguratorLayer.vue.d.ts +14 -18
  174. package/dist/components/configurator/ConfiguratorRow.vue.d.ts +14 -17
  175. package/dist/components/configurator/size.d.ts +5 -7
  176. package/dist/components/configurator/styles.css +1 -0
  177. package/dist/components/constellation/Constellation.vue.d.ts +7 -2
  178. package/dist/components/constellation/composables/createConstellationField.d.ts +2 -2
  179. package/dist/components/constellation/composables/useConstellation.d.ts +3 -16
  180. package/dist/components/constellation/constants.d.ts +14 -24
  181. package/dist/components/constellation/constellationField.d.ts +8 -11
  182. package/dist/components/constellation/constellationInteraction.d.ts +9 -9
  183. package/dist/components/constellation/constellationRender.d.ts +11 -21
  184. package/dist/components/constellation/constellationTypes.d.ts +64 -62
  185. package/dist/components/constellation/constellationWell.d.ts +2 -2
  186. package/dist/components/constellation/index.d.ts +1 -1
  187. package/dist/components/dark-mode-toggle/DarkModeToggle.vue.d.ts +12 -0
  188. package/dist/components/dark-mode-toggle/dark-mode-toggle.css +1 -0
  189. package/dist/components/dark-mode-toggle/index.d.ts +2 -0
  190. package/dist/components/data-table/DataTable.vue.d.ts +12 -48
  191. package/dist/components/data-table/composables/useDataTableRowIdentity.d.ts +5 -23
  192. package/dist/components/data-table/index.d.ts +1 -2
  193. package/dist/components/data-table/styles.css +1 -0
  194. package/dist/components/data-table/types.d.ts +36 -13
  195. package/dist/components/deck/constants.d.ts +0 -10
  196. package/dist/components/deck/index.d.ts +0 -2
  197. package/dist/components/dialog/Dialog.vue.d.ts +8 -3
  198. package/dist/components/dialog/DialogClose.vue.d.ts +3 -1
  199. package/dist/components/dialog/DialogContent.vue.d.ts +28 -85
  200. package/dist/components/dialog/DialogDescription.vue.d.ts +5 -6
  201. package/dist/components/dialog/DialogTitle.vue.d.ts +5 -6
  202. package/dist/components/dialog/DialogTrigger.vue.d.ts +3 -1
  203. package/dist/components/dialog/ModalOverlay.vue.d.ts +45 -0
  204. package/dist/components/dialog/dialogStageContext.d.ts +7 -0
  205. package/dist/components/dialog/index.d.ts +8 -9
  206. package/dist/components/dialog/placement.css +1 -0
  207. package/dist/components/dialog/sheet-motion.d.ts +17 -0
  208. package/dist/components/dock/DockControl.vue.d.ts +13 -16
  209. package/dist/components/dock/DockCrossfade.vue.d.ts +4 -8
  210. package/dist/components/dock/DockLayer.vue.d.ts +2 -3
  211. package/dist/components/dock/DockLayerGroup.vue.d.ts +6 -6
  212. package/dist/components/dock/DockSeparator.vue.d.ts +8 -8
  213. package/dist/components/dock/GlassDock.vue.d.ts +1 -0
  214. package/dist/components/dock/composables/dockContext.d.ts +4 -14
  215. package/dist/components/dock/composables/dockCrossfadeContext.d.ts +6 -7
  216. package/dist/components/dock/composables/dockMorphMeasure.d.ts +6 -75
  217. package/dist/components/dock/composables/index.d.ts +1 -1
  218. package/dist/components/dock/composables/useDockClickIntegrity.d.ts +5 -1
  219. package/dist/components/dock/composables/useDockHold.d.ts +4 -5
  220. package/dist/components/dock/composables/useDockMorph.d.ts +26 -0
  221. package/dist/components/dock/composables/useDockOverflowFit.d.ts +7 -9
  222. package/dist/components/dock/composables/useDockSearch.d.ts +8 -8
  223. package/dist/components/dock/composables/useDockShellProps.d.ts +53 -43
  224. package/dist/components/dock/composables/useDockSpring.d.ts +7 -11
  225. package/dist/components/dock/composables/useDockState.d.ts +14 -5
  226. package/dist/components/dock/composables/useDockTouchGate.d.ts +14 -23
  227. package/dist/components/dock/constants.d.ts +5 -90
  228. package/dist/components/dock/index.d.ts +2 -6
  229. package/dist/components/dock/styles/adaptive-legibility.css +1 -0
  230. package/dist/components/dock/styles/controls/icon-button.css +1 -0
  231. package/dist/{styles/dock-controls → components/dock/styles/controls}/touch-floor.css +1 -1
  232. package/dist/components/dock/styles/controls.css +1 -0
  233. package/dist/components/dock/styles/crossfade.css +1 -0
  234. package/dist/{styles/dock → components/dock/styles}/density.css +1 -1
  235. package/dist/components/dock/styles/dock.css +1 -0
  236. package/dist/components/dock/styles/index.css +1 -0
  237. package/dist/components/dock/styles/layer-group.css +1 -0
  238. package/dist/components/dock/styles/layers.css +1 -0
  239. package/dist/components/dock/styles/morph.css +1 -0
  240. package/dist/components/dock/styles/overflow.css +1 -0
  241. package/dist/components/dock/styles/shape.css +1 -0
  242. package/dist/components/dock/styles/shell.css +1 -0
  243. package/dist/components/drawer/Drawer.vue.d.ts +20 -23
  244. package/dist/components/drawer/DrawerContent.vue.d.ts +15 -16
  245. package/dist/components/drawer/DrawerDescription.vue.d.ts +5 -6
  246. package/dist/components/drawer/DrawerOverlay.vue.d.ts +6 -6
  247. package/dist/components/drawer/DrawerTitle.vue.d.ts +5 -6
  248. package/dist/components/drawer/composables/drawerSnapContext.d.ts +9 -1
  249. package/dist/components/drawer/composables/useDrawerSnap.d.ts +3 -1
  250. package/dist/components/drawer/constants.d.ts +10 -28
  251. package/dist/components/drawer/index.d.ts +13 -15
  252. package/dist/components/drawer/styles.css +1 -0
  253. package/dist/components/dropdown-menu/DropdownMenu.vue.d.ts +43 -16
  254. package/dist/components/dropdown-menu/DropdownMenuCheckboxItem.vue.d.ts +22 -13
  255. package/dist/components/dropdown-menu/DropdownMenuContent.vue.d.ts +28 -19
  256. package/dist/components/dropdown-menu/DropdownMenuGroup.vue.d.ts +6 -4
  257. package/dist/components/dropdown-menu/DropdownMenuItem.vue.d.ts +21 -9
  258. package/dist/components/dropdown-menu/DropdownMenuLabel.vue.d.ts +9 -9
  259. package/dist/components/dropdown-menu/DropdownMenuRadioGroup.vue.d.ts +13 -6
  260. package/dist/components/dropdown-menu/DropdownMenuRadioItem.vue.d.ts +18 -11
  261. package/dist/components/dropdown-menu/DropdownMenuSeparator.vue.d.ts +5 -6
  262. package/dist/components/dropdown-menu/DropdownMenuShortcut.vue.d.ts +7 -8
  263. package/dist/components/dropdown-menu/DropdownMenuSub.vue.d.ts +15 -7
  264. package/dist/components/dropdown-menu/DropdownMenuSubContent.vue.d.ts +24 -17
  265. package/dist/components/dropdown-menu/DropdownMenuSubTrigger.vue.d.ts +11 -9
  266. package/dist/components/dropdown-menu/DropdownMenuTrigger.vue.d.ts +18 -5
  267. package/dist/components/dropdown-menu/index.d.ts +15 -16
  268. package/dist/components/dropdown-menu/styles.css +1 -0
  269. package/dist/components/dropdown-menu/useMenuTrigger.d.ts +2 -9
  270. package/dist/components/easing/EasingConfigurator.vue.d.ts +1 -1
  271. package/dist/components/easing/EasingPicker.vue.d.ts +2 -2
  272. package/dist/components/easing/composables/useEasingPicker.d.ts +8 -7
  273. package/dist/components/easing/constants.d.ts +3 -1
  274. package/dist/components/expandable-container/ExpandableContainer.vue.d.ts +1 -25
  275. package/dist/components/expandable-container/styles.css +1 -0
  276. package/dist/components/fading-scroll/FadingScroll.vue.d.ts +4 -0
  277. package/dist/components/fading-scroll/composables/useFadingScroll.d.ts +7 -3
  278. package/dist/components/fading-scroll/constants.d.ts +1 -2
  279. package/dist/components/fourier-field/FourierField.vue.d.ts +10 -6
  280. package/dist/components/fourier-field/composables/fourierFieldGLSetup.d.ts +1 -1
  281. package/dist/components/fourier-field/composables/fourierFieldWGPUSetup.d.ts +1 -1
  282. package/dist/components/fourier-field/composables/useFourierField.d.ts +6 -5
  283. package/dist/components/fourier-field/constants.d.ts +10 -10
  284. package/dist/components/fourier-field/index.d.ts +3 -3
  285. package/dist/components/fourier-field/presets.d.ts +3 -3
  286. package/dist/components/fourier-field/shaders/fourier-field.glsl.d.ts +2 -2
  287. package/dist/components/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -1
  288. package/dist/components/handmark/HandMark.vue.d.ts +2 -2
  289. package/dist/components/handmark/brush.d.ts +1 -1
  290. package/dist/components/handmark/composables/useHandMark.d.ts +4 -4
  291. package/dist/components/handmark/constants.d.ts +10 -10
  292. package/dist/components/handmark/geometry.d.ts +9 -9
  293. package/dist/components/handmark/index.d.ts +11 -14
  294. package/dist/components/handmark/noise.d.ts +3 -3
  295. package/dist/components/handmark/types.d.ts +2 -2
  296. package/dist/components/header-ribbon/HeaderRibbon.vue.d.ts +3 -21
  297. package/dist/components/header-ribbon/styles.css +1 -0
  298. package/dist/components/header-ribbon/types.d.ts +5 -2
  299. package/dist/components/index.d.ts +0 -4
  300. package/dist/components/infinite-scroll/composables/types.d.ts +1 -1
  301. package/dist/components/infinite-scroll/index.d.ts +1 -0
  302. package/dist/components/input/Input.vue.d.ts +10 -35
  303. package/dist/components/input/index.d.ts +2 -1
  304. package/dist/components/input/types.d.ts +22 -0
  305. package/dist/components/instrument-chassis/InstrumentChassis.vue.d.ts +10 -84
  306. package/dist/components/instrument-chassis/index.d.ts +1 -2
  307. package/dist/components/instrument-chassis/styles.css +1 -0
  308. package/dist/components/instrument-chassis/types.d.ts +13 -0
  309. package/dist/components/label/Label.vue.d.ts +9 -14
  310. package/dist/components/label/index.d.ts +1 -1
  311. package/dist/components/labeled-field/LabeledField.vue.d.ts +11 -99
  312. package/dist/components/labeled-field/LabeledInput.vue.d.ts +5 -18
  313. package/dist/components/labeled-field/LabeledSelect.vue.d.ts +12 -18
  314. package/dist/components/labeled-field/LabeledSlider.vue.d.ts +12 -18
  315. package/dist/components/labeled-field/LabeledSwitch.vue.d.ts +14 -17
  316. package/dist/components/labeled-field/index.d.ts +1 -0
  317. package/dist/components/labeled-field/types.d.ts +50 -0
  318. package/dist/components/liquid-grid/LiquidGrid.vue.d.ts +4 -0
  319. package/dist/components/liquid-grid/composables/liquidGrid.d.ts +5 -5
  320. package/dist/components/liquid-grid/composables/useLiquidGrid.d.ts +2 -1
  321. package/dist/components/liquid-grid/constants.d.ts +6 -7
  322. package/dist/components/liquid-grid/shaders/liquid-grid.glsl.d.ts +1 -1
  323. package/dist/components/liquid-grid/shaders/liquid-grid.wgsl.d.ts +1 -1
  324. package/dist/components/metric/Metric.vue.d.ts +24 -0
  325. package/dist/components/metric/MetricCell.vue.d.ts +26 -0
  326. package/dist/components/metric/MetricRow.vue.d.ts +22 -0
  327. package/dist/components/metric/MetricStack.vue.d.ts +16 -0
  328. package/dist/components/metric/coalesce-metric.d.ts +7 -28
  329. package/dist/components/metric/index.d.ts +5 -0
  330. package/dist/components/metric/styles.css +1 -0
  331. package/dist/components/metric/types.d.ts +32 -0
  332. package/dist/components/number-field/NumberField.vue.d.ts +21 -9
  333. package/dist/components/number-field/NumberFieldContent.vue.d.ts +2 -2
  334. package/dist/components/number-field/NumberFieldDecrement.vue.d.ts +6 -6
  335. package/dist/components/number-field/NumberFieldIncrement.vue.d.ts +6 -6
  336. package/dist/components/number-field/NumberFieldInput.vue.d.ts +1 -6
  337. package/dist/components/number-field/context.d.ts +6 -0
  338. package/dist/components/number-field/index.d.ts +5 -5
  339. package/dist/components/number-field/styles.css +1 -0
  340. package/dist/components/pager-dots/PagerDots.vue.d.ts +1 -1
  341. package/dist/components/pager-dots/constants.d.ts +1 -2
  342. package/dist/components/pager-dots/index.d.ts +0 -2
  343. package/dist/components/paper-backdrop/PaperBackdrop.vue.d.ts +1 -14
  344. package/dist/components/paper-backdrop/index.d.ts +1 -1
  345. package/dist/components/popover/Popover.vue.d.ts +24 -36
  346. package/dist/components/popover/PopoverContent.vue.d.ts +23 -29
  347. package/dist/components/popover/PopoverTrigger.vue.d.ts +12 -7
  348. package/dist/components/popover/index.d.ts +3 -3
  349. package/dist/components/popover/popoverContext.d.ts +3 -4
  350. package/dist/components/progress/Progress.vue.d.ts +6 -49
  351. package/dist/components/progress/index.d.ts +1 -5
  352. package/dist/components/progress/types.d.ts +19 -0
  353. package/dist/components/pulse/Pulse.vue.d.ts +8 -47
  354. package/dist/components/pulse/index.d.ts +1 -0
  355. package/dist/components/radio-group/RadioGroup.vue.d.ts +27 -15
  356. package/dist/components/radio-group/RadioGroupItem.vue.d.ts +9 -6
  357. package/dist/components/radio-group/index.d.ts +2 -0
  358. package/dist/components/radio-group/styles.css +1 -0
  359. package/dist/components/scroll-progress-rim/styles.css +1 -0
  360. package/dist/components/search/FuzzySearch.vue.d.ts +4 -2
  361. package/dist/components/search/SearchBar.vue.d.ts +3 -3
  362. package/dist/components/search/searchVariants.d.ts +15 -17
  363. package/dist/components/select/Select.vue.d.ts +25 -14
  364. package/dist/components/select/SelectContent.vue.d.ts +26 -29
  365. package/dist/components/select/SelectGroup.vue.d.ts +7 -11
  366. package/dist/components/select/SelectItem.vue.d.ts +24 -13
  367. package/dist/components/select/SelectLabel.vue.d.ts +7 -11
  368. package/dist/components/select/SelectScrollDownButton.vue.d.ts +3 -4
  369. package/dist/components/select/SelectScrollUpButton.vue.d.ts +3 -4
  370. package/dist/components/select/SelectSeparator.vue.d.ts +5 -6
  371. package/dist/components/select/SelectTrigger.vue.d.ts +15 -41
  372. package/dist/components/select/SelectValue.vue.d.ts +13 -7
  373. package/dist/components/select/index.d.ts +16 -10
  374. package/dist/components/separator/Separator.vue.d.ts +11 -6
  375. package/dist/components/separator/index.d.ts +1 -1
  376. package/dist/components/skeleton/Skeleton.vue.d.ts +3 -31
  377. package/dist/components/slider/Slider.vue.d.ts +10 -35
  378. package/dist/components/slider/index.d.ts +1 -45
  379. package/dist/components/slider/types.d.ts +25 -0
  380. package/dist/components/sortable-list/SortableList.vue.d.ts +1 -1
  381. package/dist/components/sortable-list/composables/ghostRenderer.d.ts +1 -1
  382. package/dist/components/sortable-list/composables/touchGate.d.ts +1 -1
  383. package/dist/components/sortable-list/composables/transitionTiming.d.ts +1 -1
  384. package/dist/components/status-dot/StatusDot.vue.d.ts +7 -10
  385. package/dist/components/status-dot/index.d.ts +1 -0
  386. package/dist/components/surface/Surface.vue.d.ts +13 -21
  387. package/dist/components/surface/index.d.ts +2 -2
  388. package/dist/components/switch/Switch.vue.d.ts +20 -11
  389. package/dist/components/switch/index.d.ts +2 -1
  390. package/dist/components/switch/styles.css +1 -0
  391. package/dist/components/table/Table.vue.d.ts +5 -1
  392. package/dist/components/tabs/SegmentedTabs.vue.d.ts +31 -13
  393. package/dist/components/tabs/composables/useTabDragMorph.d.ts +6 -6
  394. package/dist/components/tabs/composables/useTabResponsive.d.ts +5 -6
  395. package/dist/components/tabs/composables/useTabRovingFocus.d.ts +16 -16
  396. package/dist/components/tabs/constants.d.ts +1 -1
  397. package/dist/components/tabs/index.d.ts +1 -1
  398. package/dist/components/tabs/styles/drag.css +1 -0
  399. package/dist/components/tabs/styles/segmented.css +1 -0
  400. package/dist/components/tags-input/TagsInput.vue.d.ts +28 -15
  401. package/dist/components/tags-input/TagsInputInput.vue.d.ts +8 -6
  402. package/dist/components/tags-input/TagsInputItem.vue.d.ts +9 -8
  403. package/dist/components/tags-input/TagsInputItemDelete.vue.d.ts +5 -6
  404. package/dist/components/tags-input/TagsInputItemText.vue.d.ts +5 -6
  405. package/dist/components/tags-input/context.d.ts +5 -0
  406. package/dist/components/tags-input/index.d.ts +5 -5
  407. package/dist/components/tags-input/styles.css +1 -0
  408. package/dist/components/textarea/Textarea.vue.d.ts +10 -55
  409. package/dist/components/textarea/index.d.ts +2 -1
  410. package/dist/components/textarea/types.d.ts +22 -0
  411. package/dist/components/timeline/ContinuousMarkers.vue.d.ts +2 -4
  412. package/dist/components/timeline/ContinuousRail.vue.d.ts +3 -6
  413. package/dist/components/timeline/ContinuousTimeline.vue.d.ts +11 -12
  414. package/dist/components/timeline/GlassTimeline.vue.d.ts +9 -10
  415. package/dist/components/timeline/ScrubberTimeline.vue.d.ts +4 -4
  416. package/dist/components/timeline/SegmentedTimeline.vue.d.ts +2 -3
  417. package/dist/components/timeline/geometry.d.ts +3 -4
  418. package/dist/components/timeline/types.d.ts +3 -3
  419. package/dist/components/toast/Toast.vue.d.ts +38 -80
  420. package/dist/components/toast/ToastAction.vue.d.ts +5 -5
  421. package/dist/components/toast/ToastClose.vue.d.ts +4 -5
  422. package/dist/components/toast/ToastDescription.vue.d.ts +4 -5
  423. package/dist/components/toast/ToastTitle.vue.d.ts +4 -5
  424. package/dist/components/toast/Toaster.vue.d.ts +1 -1
  425. package/dist/components/toast/index.d.ts +8 -9
  426. package/dist/components/toast/use-toast.d.ts +20 -163
  427. package/dist/components/toggle-group/ToggleGroup.vue.d.ts +44 -22
  428. package/dist/components/toggle-group/ToggleGroupItem.vue.d.ts +11 -9
  429. package/dist/components/toggle-group/index.d.ts +3 -2
  430. package/dist/components/toggle-group/styles.css +1 -0
  431. package/dist/components/toggle-group/toggleGroupContext.d.ts +4 -15
  432. package/dist/components/tooltip/Tooltip.vue.d.ts +20 -7
  433. package/dist/components/tooltip/TooltipContent.vue.d.ts +20 -12
  434. package/dist/components/tooltip/TooltipProvider.vue.d.ts +12 -5
  435. package/dist/components/tooltip/TooltipTrigger.vue.d.ts +12 -5
  436. package/dist/components/tooltip/index.d.ts +4 -4
  437. package/dist/components/typewriter/TypewriterText.vue.d.ts +1 -4
  438. package/dist/components/typewriter/composables/useTypewriter.d.ts +1 -1
  439. package/dist/components/typewriter/utils/graphemes.d.ts +1 -0
  440. package/dist/components/typewriter/utils/timing.d.ts +0 -2
  441. package/dist/components/watercolor-dot/WatercolorDot.vue.d.ts +5 -18
  442. package/dist/components/watercolor-dot/useWatercolorBlob.d.ts +1 -4
  443. package/dist/composables/color/accent-tone-solve.d.ts +2 -5
  444. package/dist/composables/color/index.d.ts +31 -38
  445. package/dist/composables/color/useAccentTone.d.ts +0 -3
  446. package/dist/composables/color/value.d.ts +21 -0
  447. package/dist/composables/context/createContext.d.ts +2 -2
  448. package/dist/composables/dark/index.d.ts +1 -1
  449. package/dist/composables/dark/useGlobalDark.d.ts +7 -6
  450. package/dist/composables/dom/useBreakpoint.d.ts +2 -2
  451. package/dist/composables/dom/useClipboard.d.ts +28 -52
  452. package/dist/composables/dom/useDocumentVisibility.d.ts +3 -1
  453. package/dist/composables/dom/useIdleReady.d.ts +5 -6
  454. package/dist/composables/dom/useTokenColor.d.ts +2 -2
  455. package/dist/composables/dom/useUserInvalidAria.d.ts +2 -3
  456. package/dist/composables/dom/useViewportReady.d.ts +4 -4
  457. package/dist/composables/glass/backdropLuminanceSample.d.ts +7 -6
  458. package/dist/composables/glass/canvas2d/useCanvas2D.d.ts +7 -1
  459. package/dist/composables/glass/textureUpload.d.ts +8 -10
  460. package/dist/composables/glass/useGlassBackdropLuminance.d.ts +42 -19
  461. package/dist/composables/glass/useSpecularPointer.d.ts +6 -6
  462. package/dist/composables/glass/useSpecularTracking.d.ts +12 -15
  463. package/dist/composables/glass/wave/waveField.d.ts +2 -2
  464. package/dist/composables/glass/wave/waveField.glsl.d.ts +1 -1
  465. package/dist/composables/glass/wave/waveField.wgsl.d.ts +1 -1
  466. package/dist/composables/glass/webgl/backingSize.d.ts +5 -8
  467. package/dist/composables/glass/webgl/compile.d.ts +1 -1
  468. package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +20 -20
  469. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +16 -28
  470. package/dist/composables/glass/webgl/visibility.d.ts +3 -4
  471. package/dist/composables/glass/webgpu/rendererStatus.d.ts +13 -0
  472. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +13 -10
  473. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +1 -1
  474. package/dist/composables/glass/webgpu/webgpuCanvasTypes.d.ts +14 -10
  475. package/dist/composables/glass/webgpu/webgpuDevice.d.ts +15 -16
  476. package/dist/composables/motion/core/asElement.d.ts +2 -0
  477. package/dist/composables/motion/{constants.d.ts → core/constants.d.ts} +2 -3
  478. package/dist/composables/motion/core/index.d.ts +20 -23
  479. package/dist/composables/motion/core/useReducedMotion.d.ts +5 -0
  480. package/dist/composables/motion/core/useViewTransition.d.ts +44 -0
  481. package/dist/composables/motion/index.d.ts +14 -16
  482. package/dist/composables/motion/{useDockCtaReceive.d.ts → morph/useDockCtaReceive.d.ts} +57 -3
  483. package/dist/composables/motion/{useDragMorph.d.ts → morph/useDragMorph.d.ts} +7 -7
  484. package/dist/composables/motion/morph/useElementMorph.d.ts +50 -0
  485. package/dist/composables/motion/{useLeadTrail.d.ts → morph/useLeadTrail.d.ts} +6 -6
  486. package/dist/composables/motion/{useSelectionGroup.d.ts → morph/useSelectionGroup.d.ts} +7 -5
  487. package/dist/composables/motion/{useSelectionIndicator.d.ts → morph/useSelectionIndicator.d.ts} +9 -16
  488. package/dist/composables/motion/{useAnimatedNumber.d.ts → number/useAnimatedNumber.d.ts} +1 -6
  489. package/dist/composables/motion/{useCountup.d.ts → number/useCountup.d.ts} +1 -6
  490. package/dist/composables/motion/{useNumericTransition.d.ts → number/useNumericTransition.d.ts} +4 -2
  491. package/dist/composables/motion/{pointerFieldMappings.d.ts → pointer/pointerFieldMappings.d.ts} +7 -10
  492. package/dist/composables/motion/{usePointerVelocityField.d.ts → pointer/usePointerVelocityField.d.ts} +1 -1
  493. package/dist/composables/motion/{bloomUpField.d.ts → reveal/bloomUpField.d.ts} +1 -1
  494. package/dist/composables/motion/reveal/useBloomUp.d.ts +33 -0
  495. package/dist/composables/motion/{useLiquidReveal.d.ts → reveal/useLiquidReveal.d.ts} +5 -5
  496. package/dist/composables/motion/{useStagger.d.ts → reveal/useStagger.d.ts} +3 -3
  497. package/dist/composables/motion/reveal/useStaggerReveal.d.ts +28 -0
  498. package/dist/composables/motion/{useTextHighlight.d.ts → reveal/useTextHighlight.d.ts} +2 -1
  499. package/dist/composables/motion/{useScrollChrome.d.ts → scroll/useScrollChrome.d.ts} +2 -2
  500. package/dist/composables/motion/{useScrollProgress.d.ts → scroll/useScrollProgress.d.ts} +12 -2
  501. package/dist/composables/motion/{springPresets.d.ts → spring/springPresets.d.ts} +8 -7
  502. package/dist/composables/motion/spring/springProjection.d.ts +19 -0
  503. package/dist/composables/motion/{useLiquidFlex.d.ts → spring/useLiquidFlex.d.ts} +11 -12
  504. package/dist/composables/motion/{useLiquidPress.d.ts → spring/useLiquidPress.d.ts} +15 -7
  505. package/dist/composables/motion/{useSpring.d.ts → spring/useSpring.d.ts} +5 -2
  506. package/dist/composables/motion/{useSpringMount.d.ts → spring/useSpringMount.d.ts} +8 -1
  507. package/dist/composables/sidebar/types.d.ts +3 -3
  508. package/dist/configurator-M5OaIlJd.js +311 -0
  509. package/dist/configurator.js +2 -3
  510. package/dist/{constants-D8lSMkOz.js → constants-nBz23tJE.js} +1 -1
  511. package/dist/constellation.js +230 -565
  512. package/dist/createCanvasLifecycle-DbXRwjU_.js +214 -0
  513. package/dist/dark-mode-toggle.d.ts +1 -0
  514. package/dist/dark-mode-toggle.js +43 -0
  515. package/dist/dark-z_P5QwqI.js +70 -0
  516. package/dist/dark.d.ts +1 -2
  517. package/dist/dark.js +2 -20
  518. package/dist/data-table-BygKg6ZA.js +491 -0
  519. package/dist/data-table.js +2 -2
  520. package/dist/deck.js +12 -23
  521. package/dist/dialog-TNRDkcE4.js +385 -0
  522. package/dist/dialog.js +2 -3
  523. package/dist/dock.js +624 -908
  524. package/dist/dockContext-BUTlGRNJ.js +13 -0
  525. package/dist/dom.js +134 -7
  526. package/dist/drawer.js +291 -193
  527. package/dist/dropdown-menu-BlbnvMaZ.js +507 -0
  528. package/dist/dropdown-menu.js +3 -2
  529. package/dist/easing.d.ts +0 -9
  530. package/dist/easing.js +385 -222
  531. package/dist/expandable-container.js +107 -85
  532. package/dist/fading-scroll-DhxXIhm2.js +96 -0
  533. package/dist/fading-scroll.js +1 -1
  534. package/dist/field-control.css_vue_type_style_index_0_src_true_lang-CeLay9Tk.js +21 -0
  535. package/dist/floating-dB5TD88k.js +7 -0
  536. package/dist/{flow.glsl-CVqPSj8_.js → flow.wgsl-Cd2GUkPx.js} +2 -2
  537. package/dist/fonts/README.md +14 -18
  538. package/dist/forms.js +268 -204
  539. package/dist/fourier-field.js +298 -288
  540. package/dist/fourier-math.d.ts +0 -6
  541. package/dist/fourier-math.js +112 -2
  542. package/dist/glass-ui.css +1 -1
  543. package/dist/glass-ui.js +512 -437
  544. package/dist/handmark.d.ts +0 -2
  545. package/dist/handmark.js +84 -84
  546. package/dist/header-ribbon.js +37 -57
  547. package/dist/index.d.ts +9 -19
  548. package/dist/infinite-scroll.d.ts +0 -1
  549. package/dist/infinite-scroll.js +39 -34
  550. package/dist/instrument-chassis.js +54 -2
  551. package/dist/keyboard.js +104 -2
  552. package/dist/label-DnMqH7jr.js +55 -0
  553. package/dist/label.js +1 -1
  554. package/dist/labeled-field.js +295 -192
  555. package/dist/liquid-grid.js +199 -198
  556. package/dist/menuRowClass-Nh7CtMON.js +12 -0
  557. package/dist/metric.d.ts +1 -0
  558. package/dist/metric.js +192 -0
  559. package/dist/motion-core.js +73 -166
  560. package/dist/motion.js +111 -167
  561. package/dist/number-field-Boe09SvX.js +154 -0
  562. package/dist/number-field.js +1 -1
  563. package/dist/pager-dots.js +2 -2
  564. package/dist/paper-backdrop.js +23 -2
  565. package/dist/{pointerFieldMappings-4VtmkOWv.js → pointerFieldMappings-DP5tla5z.js} +4 -7
  566. package/dist/popover-BQGYXZyO.js +244 -0
  567. package/dist/popover.js +1 -1
  568. package/dist/{presets-B07HzyKd.js → presets-5myqNv59.js} +1 -1
  569. package/dist/primitive-B2t2jdqM.js +11 -0
  570. package/dist/progress-DClbhRAT.js +88 -0
  571. package/dist/progress.js +2 -2
  572. package/dist/pulse.js +29 -41
  573. package/dist/reactive.js +19 -3
  574. package/dist/rendererStatus-BxUlBLVy.js +40 -0
  575. package/dist/resolveCanvasColor-DS_6DBxA.js +82 -0
  576. package/dist/resolveSurfaceClass-DCZ4PZcy.js +6 -0
  577. package/dist/scroll-progress-rim.js +1 -1
  578. package/dist/{scrollReader-DzYqPQ6V.js → scrollReader-Brf5cQNo.js} +1 -1
  579. package/dist/search.js +287 -218
  580. package/dist/select-BcBAyLXA.js +336 -0
  581. package/dist/select.js +2 -4
  582. package/dist/selection-DqIULxRG.js +6 -0
  583. package/dist/separator-CgZInrX-.js +75 -0
  584. package/dist/separator.js +1 -1
  585. package/dist/sidebar.js +53 -42
  586. package/dist/slider-DzqeQmMu.js +162 -0
  587. package/dist/slider.js +2 -2
  588. package/dist/sortable-list.js +51 -50
  589. package/dist/springPresets-rCii5KqX.js +52 -0
  590. package/dist/status-dot.js +26 -43
  591. package/dist/styles/accessibility.css +1 -0
  592. package/dist/styles/animations.css +1 -1
  593. package/dist/styles/components.css +1 -1
  594. package/dist/styles/glass/a11y-fallback.css +1 -1
  595. package/dist/styles/glass/accent-tone.css +1 -1
  596. package/dist/styles/glass/control-surfaces.css +1 -1
  597. package/dist/styles/glass/defined.css +1 -1
  598. package/dist/styles/glass/glass-atom.css +1 -1
  599. package/dist/styles/glass/glass-capsule.css +1 -1
  600. package/dist/styles/glass/glass-chip.css +1 -1
  601. package/dist/styles/glass/ladder.css +1 -1
  602. package/dist/styles/glass/liquid-fill.css +1 -1
  603. package/dist/styles/glass/material-roles.css +1 -0
  604. package/dist/styles/glass/material.css +1 -1
  605. package/dist/styles/glass/reveal.css +1 -1
  606. package/dist/styles/glass/squircle.css +1 -1
  607. package/dist/styles/glass/surface-axis.css +1 -1
  608. package/dist/styles/glass/surfaces-pager.css +1 -1
  609. package/dist/styles/glass/surfaces.css +1 -1
  610. package/dist/styles/glass-refract.css +1 -1
  611. package/dist/styles/glass.css +1 -1
  612. package/dist/styles/index.css +1 -1
  613. package/dist/styles/paper.css +1 -1
  614. package/dist/styles/scroll-driven.css +1 -1
  615. package/dist/styles/theme/bridges.css +1 -1
  616. package/dist/styles/theme/radius.css +1 -1
  617. package/dist/styles/tokens/color-radius.css +1 -1
  618. package/dist/styles/tokens/dark-arm.css +1 -1
  619. package/dist/styles/tokens/glass-deep.css +1 -1
  620. package/dist/styles/tokens/glass-fx.css +1 -1
  621. package/dist/styles/tokens/glass.css +1 -1
  622. package/dist/styles/tokens/light-dark.css +1 -1
  623. package/dist/styles/tokens/manifest.d.ts +14 -0
  624. package/dist/styles/tokens/manifest.ts +56 -0
  625. package/dist/styles/tokens/motion-registers.css +1 -1
  626. package/dist/styles/tokens/offsets.css +1 -1
  627. package/dist/styles/tokens/property-regs-specular.css +1 -1
  628. package/dist/styles/tokens/property-regs.css +1 -1
  629. package/dist/styles/tokens/scale-paper.css +1 -1
  630. package/dist/styles/tokens/scheme-motion.css +1 -1
  631. package/dist/styles/tokens/scheme-spring.css +1 -1
  632. package/dist/styles/tokens/scroll-tokens.css +1 -1
  633. package/dist/styles/tokens/shadow.css +1 -1
  634. package/dist/styles/tokens/sizing-config.css +1 -1
  635. package/dist/styles/tokens/sizing.css +1 -1
  636. package/dist/styles/tokens.d.ts +48 -0
  637. package/dist/styles/tokens.ts +54 -0
  638. package/dist/styles/transitions.css +1 -1
  639. package/dist/styles/typography/scale.css +1 -1
  640. package/dist/styles/typography/semantic.css +1 -1
  641. package/dist/styles/typography/utilities.css +1 -1
  642. package/dist/styles/utilities/a11y-overrides.css +1 -1
  643. package/dist/styles/utilities/base-misc.css +1 -1
  644. package/dist/styles/utilities/base.css +1 -1
  645. package/dist/styles/utilities/btn.css +1 -1
  646. package/dist/styles/utilities/components.css +1 -1
  647. package/dist/styles/utilities/metal.css +1 -1
  648. package/dist/styles/utilities/responsive.css +1 -0
  649. package/dist/styles/utilities.css +1 -1
  650. package/dist/styles/view-transition.css +1 -1
  651. package/dist/{supportsCssTimeline-Ie4xJFbD.js → supportsCssTimeline-C2zyWpl8.js} +1 -1
  652. package/dist/surface.js +2 -3
  653. package/dist/switch-DZjQuFLa.js +54 -0
  654. package/dist/switch.js +1 -1
  655. package/dist/tabs.js +146 -168
  656. package/dist/timeline.js +86 -87
  657. package/dist/toast-CH5mnsYT.js +267 -0
  658. package/dist/toast.js +1 -1
  659. package/dist/toggle-group-O6jBo7AE.js +150 -0
  660. package/dist/toggle-group.js +1 -1
  661. package/dist/tokens.d.ts +1 -53
  662. package/dist/tokens.js +96 -5
  663. package/dist/tooltip-Drx5qnw_.js +148 -0
  664. package/dist/tooltip.js +1 -1
  665. package/dist/typewriter.js +233 -219
  666. package/dist/{useAccentTone-D25DxviG.js → useAccentTone-DyInfHXE.js} +2 -2
  667. package/dist/{useAnimatedNumber-2XC4aRB6.js → useAnimatedNumber-WPtMz0AN.js} +2 -2
  668. package/dist/useClipboard-D36OTaeT.js +53 -0
  669. package/dist/useDockCtaReceive-DkrOTM0q.js +146 -0
  670. package/dist/useDocumentVisibility-Dh_TGXsU.js +21 -0
  671. package/dist/useDragMorph-BogSV_nv.js +293 -0
  672. package/dist/{useIntersectionPause-Cmt5Tnv9.js → useIntersectionPause-B5mAU6XY.js} +15 -15
  673. package/dist/useLeadTrail-AW1-zZcd.js +74 -0
  674. package/dist/{useLiquidFlex-Ch4exNvN.js → useLiquidFlex-TJZmRqyY.js} +1 -1
  675. package/dist/useLiquidPress-BOxuDkKa.js +101 -0
  676. package/dist/useMotionAxis-D-rtIhca.js +19 -0
  677. package/dist/usePointerVelocityField-DsIf7yyq.js +121 -0
  678. package/dist/useRAFLoop-B3YlWK4M.js +98 -0
  679. package/dist/useReducedMotion-vCXA_vyM.js +27 -0
  680. package/dist/useRoutePointer-B8itM7Ka.js +53 -0
  681. package/dist/useScrollProgress-CSFYXIZT.js +43 -0
  682. package/dist/useScrollTrigger-BDdqptlc.js +87 -0
  683. package/dist/useSelectionGroup-B5XplBbo.js +132 -0
  684. package/dist/{useSpring-BBSKFx_0.js → useSpring-9u2_shxV.js} +2 -2
  685. package/dist/useSpringMount-uQ8QL9Ff.js +74 -0
  686. package/dist/useTabRovingFocus-YnWh-Ytr.js +169 -0
  687. package/dist/useTextHighlight-mfwNIC1f.js +112 -0
  688. package/dist/{useTouchGate-BlegwvwL.js → useTouchGate-B4mzQcHJ.js} +1 -1
  689. package/dist/vSpecular-DMJo8pfD.js +68 -0
  690. package/dist/value-DMhh2R94.js +33 -0
  691. package/dist/valueDomain-SbVzoHMH.js +13 -0
  692. package/dist/watercolor-dot.js +77 -101
  693. package/package.json +166 -242
  694. package/dist/CardAction-2uUvjMQK.js +0 -285
  695. package/dist/CollapsibleContent-DiHcB_HH.js +0 -63
  696. package/dist/CommandShortcut-fmdbsEJL.js +0 -302
  697. package/dist/ConfiguratorRow-BV6zPjTM.js +0 -151
  698. package/dist/DataTable-Bxya8nBn.js +0 -518
  699. package/dist/DialogContent-Bl4v10AC.js +0 -192
  700. package/dist/DialogFooter-C0v4Hz2F.js +0 -168
  701. package/dist/FadingScroll-BSRLqQCx.js +0 -76
  702. package/dist/FocusScope-BzKwhsBn.js +0 -23
  703. package/dist/IconChip-CwLmBJ_K.js +0 -57
  704. package/dist/IconTooltip-D9sbK-Mk.js +0 -25
  705. package/dist/Input-DKf-XwUM.js +0 -57
  706. package/dist/InstrumentChassis-Dss5Tjcm.js +0 -65
  707. package/dist/Label-C84TaQiw.js +0 -36
  708. package/dist/Notification-DQv2cOh9.js +0 -43
  709. package/dist/NumberFieldContent-BkE7xPS9.js +0 -140
  710. package/dist/PagerDots-BP6jh7z4.js +0 -279
  711. package/dist/PaperBackdrop-BYwE8_kg.js +0 -31
  712. package/dist/PopoverContent-DOtszFWK.js +0 -251
  713. package/dist/Progress-uWLyXE7J.js +0 -308
  714. package/dist/SelectGroup-BuEptUsa.js +0 -31
  715. package/dist/SelectScrollDownButton-CDtwaWkZ.js +0 -261
  716. package/dist/SelectSeparator-4QGephvr.js +0 -49
  717. package/dist/Separator-DqJ6PfOd.js +0 -44
  718. package/dist/Surface-BWRfwyn8.js +0 -59
  719. package/dist/Switch-BPBfhMU3.js +0 -49
  720. package/dist/Toaster-C_-WeU9W.js +0 -281
  721. package/dist/ToggleGroupItem-DNWx2aSW.js +0 -175
  722. package/dist/TooltipProvider-GtfYdSVf.js +0 -110
  723. package/dist/accent-tone-solve-CBw3L0cy.js +0 -20
  724. package/dist/badge-C0C-rTBu.js +0 -80
  725. package/dist/button-BXzhydVB.js +0 -187
  726. package/dist/coalesce-metric-B8o7zT9u.js +0 -13
  727. package/dist/color-Bp5jmv4Z.js +0 -86
  728. package/dist/color-swatch.d.ts +0 -1
  729. package/dist/color-swatch.js +0 -47
  730. package/dist/components/_shared/ModalOverlay.vue.d.ts +0 -90
  731. package/dist/components/_shared/menuItemVariants.d.ts +0 -51
  732. package/dist/components/_shared/useControlSize.d.ts +0 -46
  733. package/dist/components/_shared/useStalePropWarning.d.ts +0 -27
  734. package/dist/components/_shared/useSurfaceAxis.d.ts +0 -64
  735. package/dist/components/card/ScrollCard.vue.d.ts +0 -33
  736. package/dist/components/card/ScrollCardHeader.vue.d.ts +0 -17
  737. package/dist/components/carousel/CarouselNext.vue.d.ts +0 -21
  738. package/dist/components/carousel/CarouselPrevious.vue.d.ts +0 -21
  739. package/dist/components/carousel/GlassCarouselPager.vue.d.ts +0 -50
  740. package/dist/components/color-swatch/ColorSwatch.vue.d.ts +0 -22
  741. package/dist/components/color-swatch/index.d.ts +0 -1
  742. package/dist/components/combobox/ComboboxSeparator.vue.d.ts +0 -18
  743. package/dist/components/combobox/ComboboxViewport.vue.d.ts +0 -18
  744. package/dist/components/constellation/composables/constellationGLSetup.d.ts +0 -10
  745. package/dist/components/constellation/composables/constellationWGPUSetup.d.ts +0 -19
  746. package/dist/components/constellation/composables/uniformBridgeWGPU.d.ts +0 -66
  747. package/dist/components/constellation/shaders/constellation-lines.glsl.d.ts +0 -2
  748. package/dist/components/constellation/shaders/constellation-lines.wgsl.d.ts +0 -1
  749. package/dist/components/constellation/shaders/constellation-points.glsl.d.ts +0 -2
  750. package/dist/components/constellation/shaders/constellation-points.wgsl.d.ts +0 -1
  751. package/dist/components/controls/DarkModeToggle.vue.d.ts +0 -34
  752. package/dist/components/controls/index.d.ts +0 -1
  753. package/dist/components/data-table/DataTablePagination.vue.d.ts +0 -13
  754. package/dist/components/deck/composables/useDeckSpring.d.ts +0 -22
  755. package/dist/components/dialog/DialogScrollContent.vue.d.ts +0 -33
  756. package/dist/components/dock/DockSection.vue.d.ts +0 -69
  757. package/dist/components/dock/DockStack.vue.d.ts +0 -73
  758. package/dist/components/dock/composables/dockMorphContext.d.ts +0 -89
  759. package/dist/components/dock/composables/useDockFisheye.d.ts +0 -24
  760. package/dist/components/dock/composables/useDockPopover.d.ts +0 -68
  761. package/dist/components/focus-scope/FocusScope.vue.d.ts +0 -20
  762. package/dist/components/focus-scope/index.d.ts +0 -2
  763. package/dist/components/goo-filter/GooFilter.vue.d.ts +0 -22
  764. package/dist/components/goo-filter/index.d.ts +0 -1
  765. package/dist/components/icon-chip/IconChip.vue.d.ts +0 -4
  766. package/dist/components/icon-chip/index.d.ts +0 -2
  767. package/dist/components/icon-chip/types.d.ts +0 -92
  768. package/dist/components/icon-tooltip/IconTooltip.vue.d.ts +0 -16
  769. package/dist/components/icon-tooltip/index.d.ts +0 -1
  770. package/dist/components/instrument-chassis/ChassisDivider.vue.d.ts +0 -30
  771. package/dist/components/metric-badge/MetricBadge.vue.d.ts +0 -40
  772. package/dist/components/metric-badge/index.d.ts +0 -2
  773. package/dist/components/metric-cell/MetricCell.vue.d.ts +0 -108
  774. package/dist/components/metric-cell/index.d.ts +0 -2
  775. package/dist/components/metric-stack/MetricRow.vue.d.ts +0 -120
  776. package/dist/components/metric-stack/MetricStack.vue.d.ts +0 -92
  777. package/dist/components/metric-stack/index.d.ts +0 -4
  778. package/dist/components/notification/Notification.vue.d.ts +0 -16
  779. package/dist/components/notification/index.d.ts +0 -1
  780. package/dist/components/progress/ProgressDefault.vue.d.ts +0 -25
  781. package/dist/components/progress/ProgressGradient.vue.d.ts +0 -25
  782. package/dist/components/progress/ProgressLiquid.vue.d.ts +0 -21
  783. package/dist/components/progress/ProgressSectioned.vue.d.ts +0 -47
  784. package/dist/components/progress/useProgressGeometry.d.ts +0 -60
  785. package/dist/components/section/Section.vue.d.ts +0 -73
  786. package/dist/components/section/index.d.ts +0 -1
  787. package/dist/components/spa-view/SpaView.vue.d.ts +0 -50
  788. package/dist/components/spa-view/index.d.ts +0 -2
  789. package/dist/components/split-chars/SplitChars.vue.d.ts +0 -53
  790. package/dist/components/split-chars/index.d.ts +0 -1
  791. package/dist/components/stacked-icons/StackedIconGroup.vue.d.ts +0 -30
  792. package/dist/components/stacked-icons/index.d.ts +0 -2
  793. package/dist/components/stacked-icons/types.d.ts +0 -19
  794. package/dist/components/tabs/composables/useEyeglassLive.d.ts +0 -17
  795. package/dist/components/toggle/Toggle.vue.d.ts +0 -29
  796. package/dist/components/toggle/index.d.ts +0 -26
  797. package/dist/composables/glass/webgl/shaders/glass-refract.glsl.d.ts +0 -36
  798. package/dist/composables/motion/curves.d.ts +0 -48
  799. package/dist/composables/motion/gooBarbellGeometry.d.ts +0 -79
  800. package/dist/composables/motion/morphSignatures.d.ts +0 -88
  801. package/dist/composables/motion/suite.d.ts +0 -2
  802. package/dist/composables/motion/useBloomUp.d.ts +0 -97
  803. package/dist/composables/motion/useCharStagger.d.ts +0 -44
  804. package/dist/composables/motion/useElementMorph.d.ts +0 -99
  805. package/dist/composables/motion/useGooMorph.d.ts +0 -72
  806. package/dist/composables/motion/usePrioritizedTask.d.ts +0 -41
  807. package/dist/composables/motion/useStaggerReveal.d.ts +0 -52
  808. package/dist/composables/motion/useViewTransition.d.ts +0 -81
  809. package/dist/composables/virtual/index.d.ts +0 -4
  810. package/dist/composables/virtual/useVirtualSectionWindow.d.ts +0 -72
  811. package/dist/composables/virtual/useWindowedStore.d.ts +0 -43
  812. package/dist/composables/virtual/virtualSectionLayout.d.ts +0 -103
  813. package/dist/controls.d.ts +0 -1
  814. package/dist/controls.js +0 -91
  815. package/dist/createCanvasLifecycle-DlrcvWbb.js +0 -209
  816. package/dist/dockContext-d-WpJN2Z.js +0 -13
  817. package/dist/dropdown-menu-DaGlVdp9.js +0 -421
  818. package/dist/focus-scope.d.ts +0 -1
  819. package/dist/focus-scope.js +0 -2
  820. package/dist/icon-chip.d.ts +0 -1
  821. package/dist/icon-chip.js +0 -2
  822. package/dist/icon-tooltip.d.ts +0 -1
  823. package/dist/icon-tooltip.js +0 -2
  824. package/dist/math-CIEcwsYi.js +0 -112
  825. package/dist/menuItemVariants-DbO-Fr74.js +0 -36
  826. package/dist/metric-badge.d.ts +0 -1
  827. package/dist/metric-badge.js +0 -79
  828. package/dist/metric-cell.d.ts +0 -1
  829. package/dist/metric-cell.js +0 -61
  830. package/dist/metric-stack.d.ts +0 -1
  831. package/dist/metric-stack.js +0 -113
  832. package/dist/motion-curves.d.ts +0 -21
  833. package/dist/motion-curves.js +0 -146
  834. package/dist/notification.d.ts +0 -1
  835. package/dist/notification.js +0 -2
  836. package/dist/resolveCanvasColor-B3L-akX0.js +0 -93
  837. package/dist/slider-Cxuj_W_H.js +0 -151
  838. package/dist/spa-view.d.ts +0 -1
  839. package/dist/spa-view.js +0 -46
  840. package/dist/springPresets-h5VKJQqG.js +0 -58
  841. package/dist/stacked-icons.d.ts +0 -1
  842. package/dist/stacked-icons.js +0 -98
  843. package/dist/styles/card-scroll.css +0 -1
  844. package/dist/styles/cards.css +0 -1
  845. package/dist/styles/completion-seal.css +0 -1
  846. package/dist/styles/configurator.css +0 -1
  847. package/dist/styles/dialog-placement.css +0 -1
  848. package/dist/styles/dock/adaptive-legibility.css +0 -1
  849. package/dist/styles/dock/crossfade.css +0 -1
  850. package/dist/styles/dock/dock.css +0 -1
  851. package/dist/styles/dock/fisheye.css +0 -1
  852. package/dist/styles/dock/layer-group.css +0 -1
  853. package/dist/styles/dock/layers.css +0 -1
  854. package/dist/styles/dock/morph.css +0 -1
  855. package/dist/styles/dock/overflow.css +0 -1
  856. package/dist/styles/dock/popover.css +0 -1
  857. package/dist/styles/dock/section.css +0 -1
  858. package/dist/styles/dock/shape.css +0 -1
  859. package/dist/styles/dock/shell.css +0 -1
  860. package/dist/styles/dock-controls/dark-mode-toggle.css +0 -1
  861. package/dist/styles/dock-controls/icon-button.css +0 -1
  862. package/dist/styles/dock-controls.css +0 -1
  863. package/dist/styles/dock.css +0 -1
  864. package/dist/styles/drawer.css +0 -1
  865. package/dist/styles/glass/progress-rail.css +0 -1
  866. package/dist/styles/icon-chip.css +0 -1
  867. package/dist/styles/instrument-chassis.css +0 -1
  868. package/dist/styles/menu.css +0 -1
  869. package/dist/styles/scroll-progress-rim.css +0 -1
  870. package/dist/styles/segmented-tabs.css +0 -1
  871. package/dist/styles/select.css +0 -1
  872. package/dist/styles/tabs/segmented-tabs-drag.css +0 -1
  873. package/dist/styles/utilities/animate.css +0 -0
  874. package/dist/useConfiguratorState-Dq35N_7t.js +0 -167
  875. package/dist/useControlSize-DJwe-7ZQ.js +0 -9
  876. package/dist/useDockCtaReceive-BgMmeINo.js +0 -161
  877. package/dist/useDocumentVisibility-CpJGUgcJ.js +0 -17
  878. package/dist/useDragMorph-65ihHePq.js +0 -93
  879. package/dist/useGlobalDark-DjKMEQE2.js +0 -53
  880. package/dist/useGooMorph-CU1pwuC6.js +0 -268
  881. package/dist/useGpuSubstrate-DcY584kE.js +0 -347
  882. package/dist/useInterval-ZATRi-1T.js +0 -18
  883. package/dist/useKeyboardShortcuts-ynVmNFo3.js +0 -104
  884. package/dist/useLeadTrail-DOH4XkL1.js +0 -74
  885. package/dist/useLiquidPress-BXNHydZh.js +0 -40
  886. package/dist/useMotionAxis-DCCXMC-i.js +0 -20
  887. package/dist/usePointerVelocityField-CwXyeW0Z.js +0 -122
  888. package/dist/useRAFLoop-CvOo_kgb.js +0 -109
  889. package/dist/useRoutePointer-DL7I0gY4.js +0 -52
  890. package/dist/useScrollProgress-C-yImzhU.js +0 -35
  891. package/dist/useSelectionGroup-Btpf24aY.js +0 -215
  892. package/dist/useSpringMount-CNvvgGiC.js +0 -71
  893. package/dist/useSpringPress-BypV_KO-.js +0 -36
  894. package/dist/useSurfaceAxis-DudiZVOR.js +0 -10
  895. package/dist/useTabRovingFocus-CG1H1k1J.js +0 -143
  896. package/dist/useTextHighlight-C46Le9u_.js +0 -72
  897. package/dist/useViewportReady-c0isoKL8.js +0 -191
  898. package/dist/vReveal-DUmiEkX_.js +0 -10
  899. package/dist/vSpecular-DlYN0UZy.js +0 -68
  900. package/src/fonts/README.md +0 -124
  901. package/src/fonts/fira-code/OFL.txt +0 -93
  902. package/src/fonts/fira-code/fira-code-latin-ext.woff2 +0 -0
  903. package/src/fonts/fira-code/fira-code-latin.woff2 +0 -0
  904. package/src/fonts/plus-jakarta-sans/OFL.txt +0 -93
  905. package/src/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-ext.woff2 +0 -0
  906. package/src/fonts/plus-jakarta-sans/plus-jakarta-sans-latin.woff2 +0 -0
  907. package/src/styles/animations.css +0 -468
  908. package/src/styles/card-scroll.css +0 -189
  909. package/src/styles/cards.css +0 -485
  910. package/src/styles/completion-seal.css +0 -205
  911. package/src/styles/configurator.css +0 -359
  912. package/src/styles/dialog-placement.css +0 -68
  913. package/src/styles/dock/adaptive-legibility.css +0 -119
  914. package/src/styles/dock/crossfade.css +0 -139
  915. package/src/styles/dock/cta-seat.css +0 -87
  916. package/src/styles/dock/density.css +0 -458
  917. package/src/styles/dock/dock.css +0 -199
  918. package/src/styles/dock/fisheye.css +0 -81
  919. package/src/styles/dock/layer-group.css +0 -329
  920. package/src/styles/dock/layers.css +0 -438
  921. package/src/styles/dock/morph.css +0 -455
  922. package/src/styles/dock/overflow.css +0 -332
  923. package/src/styles/dock/popover.css +0 -249
  924. package/src/styles/dock/search.css +0 -68
  925. package/src/styles/dock/section.css +0 -59
  926. package/src/styles/dock/shape.css +0 -188
  927. package/src/styles/dock/shell-regions.css +0 -73
  928. package/src/styles/dock/shell.css +0 -500
  929. package/src/styles/dock-controls/dark-mode-toggle.css +0 -123
  930. package/src/styles/dock-controls/icon-button.css +0 -221
  931. package/src/styles/dock-controls/tab-button.css +0 -143
  932. package/src/styles/dock-controls/touch-floor.css +0 -119
  933. package/src/styles/dock-controls/triggers.css +0 -157
  934. package/src/styles/dock-controls.css +0 -92
  935. package/src/styles/dock.css +0 -219
  936. package/src/styles/draw-in.css +0 -89
  937. package/src/styles/drawer.css +0 -434
  938. package/src/styles/feedback-tone.css +0 -104
  939. package/src/styles/fonts.css +0 -143
  940. package/src/styles/glass/a11y-fallback.css +0 -188
  941. package/src/styles/glass/accent-tone.css +0 -66
  942. package/src/styles/glass/control-surfaces.css +0 -171
  943. package/src/styles/glass/deep.css +0 -114
  944. package/src/styles/glass/defined.css +0 -88
  945. package/src/styles/glass/glass-atom.css +0 -247
  946. package/src/styles/glass/glass-capsule.css +0 -175
  947. package/src/styles/glass/glass-chip.css +0 -211
  948. package/src/styles/glass/grain-overlay.css +0 -79
  949. package/src/styles/glass/ladder-undershadow.css +0 -61
  950. package/src/styles/glass/ladder.css +0 -452
  951. package/src/styles/glass/liquid-enter.css +0 -240
  952. package/src/styles/glass/liquid-fill.css +0 -65
  953. package/src/styles/glass/material.css +0 -494
  954. package/src/styles/glass/progress-rail.css +0 -78
  955. package/src/styles/glass/reveal.css +0 -333
  956. package/src/styles/glass/rim.css +0 -122
  957. package/src/styles/glass/squircle.css +0 -58
  958. package/src/styles/glass/surface-axis.css +0 -136
  959. package/src/styles/glass/surfaces-pager.css +0 -79
  960. package/src/styles/glass/surfaces.css +0 -434
  961. package/src/styles/glass-refract.css +0 -112
  962. package/src/styles/glass-specular-track.css +0 -74
  963. package/src/styles/glass.css +0 -110
  964. package/src/styles/icon-chip.css +0 -256
  965. package/src/styles/index.css +0 -280
  966. package/src/styles/instrument-chassis.css +0 -449
  967. package/src/styles/menu.css +0 -187
  968. package/src/styles/paper.css +0 -187
  969. package/src/styles/scroll-choreography.css +0 -294
  970. package/src/styles/scroll-chrome.css +0 -123
  971. package/src/styles/scroll-driven.css +0 -123
  972. package/src/styles/scroll-progress-rim.css +0 -87
  973. package/src/styles/segmented-tabs.css +0 -424
  974. package/src/styles/select.css +0 -201
  975. package/src/styles/tabs/segmented-tabs-drag.css +0 -200
  976. package/src/styles/theme/bridges.css +0 -386
  977. package/src/styles/theme/dark.css +0 -7
  978. package/src/styles/theme/literals.css +0 -104
  979. package/src/styles/theme/radius.css +0 -148
  980. package/src/styles/theme.css +0 -33
  981. package/src/styles/tokens/color-radius.css +0 -308
  982. package/src/styles/tokens/dark-arm-glass.css +0 -55
  983. package/src/styles/tokens/dark-arm.css +0 -455
  984. package/src/styles/tokens/glass-deep.css +0 -126
  985. package/src/styles/tokens/glass-fx.css +0 -484
  986. package/src/styles/tokens/glass.css +0 -478
  987. package/src/styles/tokens/light-dark.css +0 -216
  988. package/src/styles/tokens/motion-registers.css +0 -93
  989. package/src/styles/tokens/offsets.css +0 -143
  990. package/src/styles/tokens/on-glass-fg.css +0 -39
  991. package/src/styles/tokens/property-regs-specular.css +0 -160
  992. package/src/styles/tokens/property-regs.css +0 -447
  993. package/src/styles/tokens/scale-paper.css +0 -496
  994. package/src/styles/tokens/scheme-motion.css +0 -422
  995. package/src/styles/tokens/scheme-spring.css +0 -292
  996. package/src/styles/tokens/scroll-tokens.css +0 -137
  997. package/src/styles/tokens/shadow.css +0 -232
  998. package/src/styles/tokens/sizing-config.css +0 -110
  999. package/src/styles/tokens/sizing.css +0 -505
  1000. package/src/styles/tokens.css +0 -68
  1001. package/src/styles/transitions.css +0 -228
  1002. package/src/styles/typography/scale.css +0 -163
  1003. package/src/styles/typography/semantic.css +0 -233
  1004. package/src/styles/typography/utilities.css +0 -197
  1005. package/src/styles/typography.css +0 -46
  1006. package/src/styles/utilities/a11y-overrides.css +0 -184
  1007. package/src/styles/utilities/animate.css +0 -29
  1008. package/src/styles/utilities/base-misc.css +0 -307
  1009. package/src/styles/utilities/base.css +0 -337
  1010. package/src/styles/utilities/btn.css +0 -327
  1011. package/src/styles/utilities/components.css +0 -337
  1012. package/src/styles/utilities/metal.css +0 -272
  1013. package/src/styles/utilities.css +0 -26
  1014. package/src/styles/view-transition.css +0 -67
  1015. package/src/styles/viz-reveal.css +0 -63
  1016. /package/dist/{_plugin-vue_export-helper-C1je1s0u.js → _plugin-vue_export-helper-B3ysoDQm.js} +0 -0
  1017. /package/dist/{compile-C55K3P9g.js → compile-D7VYG3gi.js} +0 -0
  1018. /package/dist/{styles → components/_shared}/feedback-tone.css +0 -0
  1019. /package/dist/{styles/dock-controls → components/dock/styles/controls}/tab-button.css +0 -0
  1020. /package/dist/{styles/dock-controls → components/dock/styles/controls}/triggers.css +0 -0
  1021. /package/dist/{styles/dock → components/dock/styles}/cta-seat.css +0 -0
  1022. /package/dist/{styles/dock → components/dock/styles}/search.css +0 -0
  1023. /package/dist/{styles/dock → components/dock/styles}/shell-regions.css +0 -0
  1024. /package/dist/composables/glass/{webgl/shaders/procedural-color.glsl.d.ts → procedural/color.glsl.d.ts} +0 -0
  1025. /package/dist/{components/aurora/constants/shaders/procedural-color.wgsl.d.ts → composables/glass/procedural/color.wgsl.d.ts} +0 -0
  1026. /package/dist/composables/motion/{motionTempo.d.ts → core/motionTempo.d.ts} +0 -0
  1027. /package/dist/composables/motion/{useIntersectionPause.d.ts → core/useIntersectionPause.d.ts} +0 -0
  1028. /package/dist/composables/motion/{useRAFLoop.d.ts → core/useRAFLoop.d.ts} +0 -0
  1029. /package/dist/composables/motion/{useYieldToMain.d.ts → core/useYieldToMain.d.ts} +0 -0
  1030. /package/dist/composables/motion/{useAnimatedNumberMap.d.ts → number/useAnimatedNumberMap.d.ts} +0 -0
  1031. /package/dist/composables/motion/{useRoutePointer.d.ts → pointer/useRoutePointer.d.ts} +0 -0
  1032. /package/dist/composables/motion/{vReveal.d.ts → reveal/vReveal.d.ts} +0 -0
  1033. /package/dist/composables/motion/{scrollReader.d.ts → scroll/scrollReader.d.ts} +0 -0
  1034. /package/dist/composables/motion/{supportsCssTimeline.d.ts → scroll/supportsCssTimeline.d.ts} +0 -0
  1035. /package/dist/composables/motion/{useScrollPin.d.ts → scroll/useScrollPin.d.ts} +0 -0
  1036. /package/dist/composables/motion/{useScrollScene.d.ts → scroll/useScrollScene.d.ts} +0 -0
  1037. /package/dist/composables/motion/{useScrollTrigger.d.ts → scroll/useScrollTrigger.d.ts} +0 -0
  1038. /package/dist/composables/motion/{useSpringPress.d.ts → spring/useSpringPress.d.ts} +0 -0
  1039. /package/dist/{createContext-BQ1Gy_LB.js → createContext-BhkE9mLH.js} +0 -0
  1040. /package/dist/{motionTempo-CMS5b0Vu.js → motionTempo-tscp92Nm.js} +0 -0
  1041. /package/dist/{prng-B0PLRmR6.js → prng-2uS6J_A1.js} +0 -0
  1042. /package/dist/{useDragVelocity-BWcNMCux.js → useDragVelocity-6ONX0sr0.js} +0 -0
  1043. /package/dist/{useFuzzySearch-KslRxiJY.js → useFuzzySearch-CUnZknpm.js} +0 -0
  1044. /package/dist/{useResizeObserver-DDuoBeBo.js → useResizeObserver-CdUlm2QZ.js} +0 -0
  1045. /package/dist/{useResolveTokenColor-DVT5kwv6.js → useResolveTokenColor-B2FfJnd9.js} +0 -0
  1046. /package/dist/{useTimer-CkDV8SC2.js → useTimer-C3yfti4C.js} +0 -0
  1047. /package/dist/{useUserInvalidAria-Bkruei7M.js → useUserInvalidAria-0GNrddMX.js} +0 -0
  1048. /package/dist/{writeVelocityWeight-D1rvdxJu.js → writeVelocityWeight-DoGOCW3e.js} +0 -0
@@ -1,45 +1,45 @@
1
1
  import { type ComputedRef } from "vue";
2
2
  export type DockSize = "sm" | "md" | "lg" | "xl";
3
+ export type DockBackdropMode = "live" | "static";
4
+ export type DockInteraction = "auto" | "manual";
3
5
  /**
4
- * The ONE GlassDock prop shape (AZ.W-DOCK-TAXONOMY — the discriminated union is
5
- * gone). Every dock — horizontal or vertical — reads the SAME surface; orientation
6
+ * The GlassDock prop shape. Every dock—horizontal or vertical—reads the same
7
+ * surface; orientation
6
8
  * is the single layout axis and the collapse surface applies on both.
7
9
  */
8
10
  export interface DockProps {
9
11
  fitContent?: boolean;
10
12
  position?: "fixed" | "inline" | "sticky";
11
13
  /**
12
- * Never collapse — render permanently expanded; the single opt-OUT of the
14
+ * Backdrop material mode. `"live"` (default) samples and filters the painted
15
+ * backdrop; `"static"` uses a solid plate with no luminance observer or
16
+ * backdrop-filter work.
17
+ */
18
+ backdropMode?: DockBackdropMode;
19
+ /**
20
+ * Never collapse: render permanently expanded, the single opt-out of the
13
21
  * collapse↔expand machinery. Default `false` (every dock is collapsible).
14
- * AZ.W-DOCK-TAXONOMY — vertical docks are NO LONGER force-pinned here (a
15
- * vertical dock morphs its height too; the prior `variant="rail"`
16
- * always-expanded-by-construction is removed). A `layout="grid"` dock is
17
- * `alwaysExpanded` BY CONTRACT (a 2D tile panel does not read as a collapsible
18
- * pill). A vertical nav column that wants the static always-expanded look opts
19
- * in via this prop. (A positive `collapsible` boolean was considered and
20
- * rejected: Vue coerces an absent boolean prop to `false`, so a `collapsible`
21
- * defaulting to `true` would need a `withDefaults` second default-path; the
22
- * existing `alwaysExpanded` opt-out — which correctly defaults `false` — is the
23
- * one knob, no Vue boolean-trap.)
22
+ * A vertical dock morphs its height too. A `layout="grid"` dock is
23
+ * always expanded by contract (a 2D tile panel does not read as a collapsible
24
+ * pill). A vertical navigation column can opt into the static expanded posture.
24
25
  */
25
26
  alwaysExpanded?: boolean;
26
27
  /**
27
28
  * Corner treatment.
28
29
  * `"pill"` — the stadium silhouette (default).
29
30
  * `"rounded"` — a finite rounded radius (`--radius-xl`).
30
- * `"card"` — the AW.W3b big-dock card shell: a finite concentric
31
+ * `"card"` — a finite concentric big-dock shell
31
32
  * radius (`--dock-card-radius`, default `--radius-3xl`)
32
33
  * ABOVE 2xl, below pill — does NOT collapse to a stadium.
33
34
  * Collapsed it returns to a pill; the pill↔card swap
34
- * morphs on the `--dock-motion-resize` spring. AX.W56's
35
+ * morphs on the `--dock-motion-resize` spring. The
35
36
  * squircle policy applies `corner-shape:
36
37
  * var(--corner-shape-bigdock)` here under `@supports
37
38
  * (corner-shape: superellipse(2))` — the big-dock is the ONE
38
39
  * surface where the superellipse reads (cards/pills stay
39
40
  * round); the border-radius arc is the cross-engine contract.
40
41
  *
41
- * Paints on BOTH orientations (AZ.W-DOCK-TAXONOMY — `shape` is no longer
42
- * variant-gated; a vertical dock reads `shape="rounded"` for the tool-palette
42
+ * Paints on both orientations: a vertical dock reads `shape="rounded"` for the tool-palette
43
43
  * look, a horizontal dock reads `shape="card"` for the big-dock shell).
44
44
  */
45
45
  shape?: "pill" | "rounded" | "card";
@@ -47,7 +47,7 @@ export interface DockProps {
47
47
  * Layout axis of the dock. `"horizontal"` (default) lays items out
48
48
  * left-to-right and animates `width`; `"vertical"` lays items out
49
49
  * top-to-bottom and animates `height`. This is the SINGLE layout axis — there
50
- * is no `variant` second-way to express "vertical" (AZ.W-DOCK-TAXONOMY).
50
+ * is no `variant` second-way to express "vertical".
51
51
  */
52
52
  orientation?: "horizontal" | "vertical";
53
53
  /**
@@ -59,9 +59,7 @@ export interface DockProps {
59
59
  * Overflow strategy when the expanded content exceeds the dock's
60
60
  * axis cap (`--dock-max-inline-size` horizontally,
61
61
  * `--dock-max-block-size` vertically). The ONE knob governing every
62
- * overflow behaviour (AT.W7-dock-a clean break — collapsed from the
63
- * prior `wrap` boolean + `overflow` pair + `containerName` clip-lift,
64
- * which all touched overflow divergently).
62
+ * overflow behavior.
65
63
  * `"grow"` — content grows to fit then overflows visibly past
66
64
  * the cap (the default; nothing clips or scrolls).
67
65
  * `"wrap"` — expanded content wraps to multiple rows via CONTENT-DRIVEN
@@ -77,8 +75,7 @@ export interface DockProps {
77
75
  * `.dock-overflow-wrap` class is not emitted for a vertical
78
76
  * orientation.
79
77
  *
80
- * BG.W-DOCK-CAP-SCROLL-FADE — the `"scroll"` opt-in RETIRED (clean break,
81
- * no alias). A capped axis is INTRINSICALLY a scroll axis: a horizontal
78
+ * A capped axis is intrinsically a scroll axis: a horizontal
82
79
  * dock's inline axis reads `.dock-scroll-x` unconditionally (the CSS
83
80
  * `overflow-x: auto` scrolls ONLY when the row exceeds
84
81
  * `--dock-max-inline-size`; under the cap nothing scrolls), and a vertical
@@ -92,27 +89,45 @@ export interface DockProps {
92
89
  * subject (`container-type: inline-size; container-name: <value>`) so
93
90
  * descendants can query the named container via `@container <value>
94
91
  * (...)` rules. ORTHOGONAL to the `overflow` clip: opting into a
95
- * container subject does NOT silently change the dock's clip shell
96
- * (AT.W7-dock-a — the prior clip-lift was folded out; use
97
- * `overflow="wrap"` to allow multi-line content).
92
+ * container subject does not change the dock's clip shell; use
93
+ * `overflow="wrap"` for multi-line content.
98
94
  *
99
- * ALWAYS-EXPANDED-ONLY (AY.W-DOCK2 §F1): `container-type: inline-size`
95
+ * Always-expanded only: `container-type: inline-size`
100
96
  * clamps the box to its contained intrinsic size, so on a COLLAPSIBLE
101
97
  * dock the collapse↔expand FLIP measures collapsed→collapsed and the
102
98
  * morph FREEZES. A collapsible dock that needs deterministic targeting
103
99
  * uses a plain `data-testid` (no layout side-effect).
104
100
  */
105
101
  containerName?: string;
102
+ /**
103
+ * Opt this dock into a consumer-owned shared-element View Transition. Leave
104
+ * unset for ordinary route transitions so the dock remains in the root
105
+ * snapshot rather than becoming a separate backdrop-filter snapshot.
106
+ */
107
+ viewTransitionName?: string;
106
108
  /**
107
109
  * Idle-collapse delay in ms (default 2000). Inert on an always-expanded dock.
108
110
  */
109
111
  collapseDelay?: number;
110
112
  /**
111
113
  * Start in the collapsed state (default true). Applies on BOTH orientations
112
- * (AZ.W-DOCK-TAXONOMY — a vertical dock starts collapsed and morphs its block
113
- * axis open too). Inert on an always-expanded dock.
114
+ * and a vertical dock morphs its block axis open too. Inert on an always-expanded dock.
114
115
  */
115
116
  startCollapsed?: boolean;
117
+ /**
118
+ * Posture ownership on a COLLAPSIBLE dock.
119
+ * `"auto"` (default) — the built-in FSM owns posture.
120
+ * `"manual"` — the consumer owns posture. Every internal environmental writer
121
+ * (hover, focus, idle timer, outside-click, collapsed-tap, touch)
122
+ * is suppressed at BOTH poles; only `expand()`/`collapse()` write.
123
+ * Mount pole from `startCollapsed`. Read posture via `expanded`.
124
+ * a11y: the consumer MUST author a focusable disclosure in a
125
+ * never-inert slot (`#persistent`/`#collapsed`) — glass does not
126
+ * auto-expand on focus in manual and provides no fallback.
127
+ * Resolved to `"auto"` on an always-expanded dock (that pole is force-pinned;
128
+ * interaction is meaningless there — no dead combination reaches the FSM).
129
+ */
130
+ interaction?: DockInteraction;
116
131
  /**
117
132
  * In-cap arrangement. `"linear"` (default) lays the active layer out as a
118
133
  * linear row/column. `"grid"` makes the active layer a self-wrapping tile
@@ -128,11 +143,9 @@ export interface DockProps {
128
143
  */
129
144
  layout?: "linear" | "grid";
130
145
  /**
131
- * AZ.W-ADAPTIVE-AUTO Arm 2 (H3 arm a) — the sampled-luminance observer that
132
- * DYNAMICALLY refines the W55 declarative bright-bucket darken (the iOS-27
133
- * "darken dynamically" register). Default `true` (default-ON for the dock — the
134
- * surface most often over a live/bright backdrop). It REFINES the floor (the
135
- * unconditional self-engage + the declarative bucket stay the guarantee); a
146
+ * The sampled-luminance observer dynamically refines the declarative bright-
147
+ * backdrop tint. Default `true` because docks commonly sit over live fields.
148
+ * It refines the material floor; a
136
149
  * dark-substrate consumer opts out with `:auto-luminance="false"` (or
137
150
  * `--glass-tint-strength: 0%` on the dock). The observer is rAF-throttled ≤ 4 Hz,
138
151
  * IntersectionObserver-gated, and parks under `prefers-reduced-motion: reduce`.
@@ -141,19 +154,15 @@ export interface DockProps {
141
154
  /**
142
155
  * The KNOWN background-layer canvas the dock floats over (an aurora/blob
143
156
  * `<canvas>`) — an element, a getter, or a CSS selector. When present, the
144
- * observer downsamples it under the dock's box each settle (the ANIMATED-backdrop
157
+ * observer downsamples it under the dock's box after settling (the animated-backdrop
145
158
  * case); absent, it stack-walks the painted page background (the static case).
146
159
  */
147
160
  backgroundCanvas?: HTMLCanvasElement | (() => HTMLCanvasElement | null) | string | null;
148
161
  /**
149
- * BC.W-DOCK-SEARCH — the dock-as-native-dynamic-search-bar MODE (additive,
150
- * default `false`). When true the dock stamps `[data-search]` (the CSS hook the
151
- * `dock/search.css` active-field tint seam + the `.glass-menu-row` result rows
152
- * target) and renders the `#search` slot INSIDE the existing morph aperture — the
153
- * consumer composes `useDockSearch` (the gesture/shrink/dropdown seam) and slots
154
- * its search field + fuzzy dropdown there. The pill→field morph is the dock's OWN
155
- * `--dock-morph-t` glide (box-inviolate — no second engine). A non-search dock is
156
- * byte-identical to HEAD (the slot + the data-attr are present only when authored).
162
+ * Native dynamic-search mode. Default `false`. When enabled, the dock stamps
163
+ * `[data-search]` and renders `#search` inside the existing morph aperture. The
164
+ * consumer composes `useDockSearch` and supplies its field and result menu. The
165
+ * dock's `--dock-morph-t` remains the sole pill-to-field motion scalar.
157
166
  */
158
167
  search?: boolean;
159
168
  }
@@ -162,6 +171,7 @@ export interface DockShellProps {
162
171
  containerStyle: ComputedRef<Record<string, string> | undefined>;
163
172
  collapseDelay: ComputedRef<number>;
164
173
  startCollapsed: ComputedRef<boolean>;
174
+ interaction: ComputedRef<DockInteraction>;
165
175
  layoutValue: ComputedRef<"linear" | "grid">;
166
176
  shape: ComputedRef<"pill" | "rounded" | "card">;
167
177
  orientation: ComputedRef<"horizontal" | "vertical">;
@@ -1,16 +1,10 @@
1
1
  /**
2
- * BG.W-DOCK-ENGINE-UNIFY — the ONE `SpringProgress` owner for the dock band.
2
+ * the ONE `SpringProgress` owner for the dock band.
3
3
  *
4
- * The dock's collapse↔expand morph (`dockMorphContext`), the V↔H orientation
5
- * morph (`useDockOrientationMorph`), and the fission detach (`useDockFission`)
6
- * each hand-rolled their OWN `new SpringProgress` on the SAME `DOCK_SPRING` clock
7
- * (the demo-only `useDockItemDrag` fling — a fourth copy — retired at
8
- * BI.W-DOCK-FOLD, counted by W-DOCK-SPRING-UNIFY SU1) — copies of the
9
- * identical iOS interruptible-physics dance (create-carrying-prior-velocity →
10
- * play the glide writing the scalar → self-dispose on settle → PRM-jump). This
11
- * factory owns that dance ONCE. A consumer supplies the `(response, ζ)` pair +
12
- * its per-frame writer; the spring construction, the velocity-continuous
13
- * re-base, and the teardown live here — the sole `new SpringProgress` site.
4
+ * The outer dock morph and controlled face crossfade share this one spring
5
+ * factory instead of duplicating the interruptible-physics lifecycle. A consumer
6
+ * supplies the `(response, ζ)` pair and per-frame writer; construction, velocity-
7
+ * continuous re-base, and teardown live here — the sole `new SpringProgress` site.
14
8
  *
15
9
  * `SpringProgress` owns its own rAF via `.play(onFrame)` and carries no static
16
10
  * value.js edge, so this leaf never imports `AnimationGroup`/`./engine`. The
@@ -37,6 +31,8 @@ export interface DockSpringPlayOptions {
37
31
  * `|velocity|`). Called once per frame while the glide runs.
38
32
  */
39
33
  onFrame: (value: number, velocity: number) => void;
34
+ /** Coordinate transform applied when carrying a live episode's velocity. */
35
+ inheritVelocityScale?: number;
40
36
  /** Fired ONCE on settle, immediately BEFORE the self-dispose. */
41
37
  onSettle?: () => void;
42
38
  }
@@ -1,4 +1,5 @@
1
1
  import type { ComputedRef, Ref } from "vue";
2
+ import type { DockInteraction } from "./useDockShellProps";
2
3
  export interface UseDockStateOptions {
3
4
  /** Delay before auto-collapse after mouse leaves (ms) */
4
5
  collapseDelay?: number;
@@ -6,6 +7,15 @@ export interface UseDockStateOptions {
6
7
  rootEl: Ref<HTMLElement | null>;
7
8
  /** Disable collapse behavior and keep the dock expanded. */
8
9
  alwaysExpanded?: Ref<boolean> | boolean;
10
+ /**
11
+ * Posture ownership. `"auto"` (default) runs the built-in FSM; `"manual"`
12
+ * suppresses every environmental writer (hover, focus, idle timer,
13
+ * outside-click, collapsed-tap) at BOTH poles, leaving only `expand()` /
14
+ * `collapse()` operative — the consumer owns posture.
15
+ */
16
+ interaction?: Ref<DockInteraction> | DockInteraction;
17
+ /** Mount-only posture for a collapsible dock. */
18
+ initialExpanded?: boolean;
9
19
  /** Ref that suppresses click-away during an active dock animation. */
10
20
  isTransitioning?: Ref<boolean>;
11
21
  /** Owner id for dock-owned teleported targets. */
@@ -15,9 +25,8 @@ export interface UseDockStateOptions {
15
25
  }
16
26
  export type DockState = "collapsed" | "hover" | "pinned";
17
27
  /**
18
- * Canonical return shape for `useDockState`. Named per the O.W6 Lane A
19
- * `UseClipboardReturn` precedent + P.W2 Lane D (Pγ.3 "useDockState inline
20
- * return"); freezes today's surface so consumers wrapping `<GlassDock>` (or
28
+ * Canonical return shape for `useDockState`, paralleling other named composable return
29
+ * types. It lets consumers wrapping `<GlassDock>` (or
21
30
  * authoring a custom dock chassis) can type the composable handle from `/api`
22
31
  * or the `/dock` subpath without reaching for `ReturnType<typeof useDockState>`.
23
32
  */
@@ -60,8 +69,8 @@ export interface UseDockStateReturn {
60
69
  * PINNED ──(clickOutside)──→ COLLAPSED
61
70
  * Any ──(alwaysExpanded=true)──→ PINNED
62
71
  *
63
- * keepOpen/release ref-counting prevents TIMER-BASED collapse
64
- * but NOT explicit click-away dismissal (onPointerDownOutside).
72
+ * keepOpen/release ref-counting prevents both timer-based collapse and
73
+ * click-away dismissal while a descendant owns an active hold.
65
74
  *
66
75
  * Teleported targets (reka-ui portals, floating panels, dock popovers)
67
76
  * are treated as "inside the dock" for mouse/focus/click-away purposes.
@@ -1,35 +1,26 @@
1
1
  import type { Ref } from "vue";
2
2
  /**
3
- * BG.W-DOCK-DECOMPOSE — the dock touch-gate wiring, carved off the `GlassDock.vue`
4
- * god-SFC (the F6.5 one-writer-per-concern seam). It owns the `useTouchGate`
5
- * instance + the tap/scroll discrimination handlers + the collapse-on-deactivate
6
- * watch — ONE structural concern (the collapsed-pill tap-to-expand gesture), NEVER
7
- * a morph-scalar writer (`--dock-morph-t`/`--dock-morph-v` stay the orchestrator's).
3
+ * Own collapsed-pill tap/scroll discrimination and collapse-on-deactivate state.
4
+ * Morph scalars remain owned by the Dock orchestrator.
8
5
  *
9
- * AT.W6-dock-b — shape B′ touch-gate. The gate's job is to DISTINGUISH a tap from a
10
- * vertical scroll on the floating collapsed pill (the 150ms pending window + the
11
- * >10px scroll-check inside `useTouchGate`), NOT to SWALLOW the tap. It therefore
12
- * does NOT `preventDefault()`/`stopPropagation()` the activating `touchstart`/
13
- * `touchend`: the browser's native tap→click compatibility event is allowed to flow
14
- * to the tapped control, so a SINGLE tap on a collapsed dock control BOTH expands the
15
- * dock AND activates that control (via the native click) — the iOS Now-Playing
16
- * mini-bar single-tap-play contract. No `elementFromPoint`, no synthetic dispatch. A
17
- * scroll gesture cancels the pending tap inside the gate and never emits a tap-click,
18
- * so vertical scrolling on the pill stays browser-owned. (Swallowing the tap was the
19
- * root cause of the double-tap field defect — a prevented touch sequence emits no
20
- * compatibility click, so the control under the finger fired nothing.)
21
- *
22
- * AZ.W-DOCK-TAXONOMY — the gate applies to ANY collapsible dock, not just the
23
- * horizontal one (a vertical dock now collapses too), so it must distinguish a tap
24
- * from a vertical scroll on its pill as well.
6
+ * The gate distinguishes a tap from vertical scrolling without preventing the
7
+ * browser's compatibility click. A single tap can expand the Dock and activate its
8
+ * control; a scroll cancels the pending tap. No hit-test lookup or synthetic
9
+ * dispatch is used. The same behavior applies to both orientations.
25
10
  */
26
11
  export interface UseDockTouchGateOptions {
27
12
  /** The dock's auto-collapse delay (ms) — the gate's deactivation timer. */
28
13
  collapseDelay: number;
29
14
  /** The dock body root — the tap discrimination anchors on it. */
30
15
  rootEl: Ref<HTMLElement | null>;
31
- /** True when the dock cannot collapse (the gate no-ops — no tap-to-expand). */
32
- alwaysExpanded: Readonly<Ref<boolean>>;
16
+ /**
17
+ * True when every environmental writer is suppressed — an always-expanded dock
18
+ * (force-pinned) OR a manual dock (the consumer owns posture). The gate no-ops:
19
+ * no tap-to-expand, no collapse-on-deactivate. Without folding `manual` in here
20
+ * the gate would leak a `collapse()` on deactivate (in manual `isPinned` is
21
+ * false and `alwaysExpanded` is false, so the collapse guard would fire).
22
+ */
23
+ quiet: Readonly<Ref<boolean>>;
33
24
  /** The painted expand state (`alwaysExpanded || expanded`). */
34
25
  visualExpanded: Readonly<Ref<boolean>>;
35
26
  /** The raw expand ref (the collapse-on-deactivate guard reads it). */
@@ -1,107 +1,22 @@
1
- import type { Component } from "vue";
2
- /**
3
- * BC.W-DOCK-STACK-RAIL — one `<DockStack>` member descriptor: a stack member that fans
4
- * OUT of the macOS hover-expand stack (id + label + glyph + optional select handler).
5
- * A `<script setup>` SFC cannot re-export a named type through the `export { default }`
6
- * barrel, so the descriptor lives here (the colocated types home) and the SFC imports
7
- * it; the barrel re-exports it for consumers typing their `items` array. This is the
8
- * stack's MEMBER, not a facet chip — the divider-carousel `DockRailItem` is RETIRED
9
- * (clean break, no alias).
10
- */
11
- export interface DockStackItem {
12
- /** Stable identifier — the `v-for` key + the selected-member id. */
13
- id: string;
14
- /** The member's accessible label (the `aria-label` + tooltip). */
15
- label: string;
16
- /** The member glyph (a `@lucide/vue` icon or any component). */
17
- icon?: Component;
18
- /** Optional per-member select handler (fired alongside the model write). */
19
- onSelect?: () => void;
20
- /**
21
- * BE.W-DOCK-RAIL-REALIZE — the per-FACET accent hue (the `mode="facets"` context
22
- * carousel only — IGNORED by the macOS `mode="stack"` glyph fan). A complete
23
- * `<color>` (a consumer DATA/context hue) written to the chip's `--glass-accent`
24
- * (the BB.W-GLASS-ACCENT per-instance chromatic-rim axis, `rim.css`/`material.css`),
25
- * so each context facet carries its OWN rim+glint hue — the AZ context-carousel
26
- * identity. Unset ⇒ the neutral warm-cream rim (the `--glass-accent: transparent`
27
- * no-op floor). NOT a plate-background fill (the accent rides the THIN rim/glint;
28
- * presets-in-consumers — no consumer hue enters a library token).
29
- */
30
- accent?: string;
31
- }
32
- /**
33
- * BA.W-DOCK-SECTIONS — the three named zone kinds the declarative `<DockSection>`
34
- * descriptor renders (the R8-9 "rail core + sections + nav" three-zone gestalt):
35
- * - `"rail-core"` — the leading home/brand region (the ℱ wordmark / category trigger).
36
- * - `"section"` — a named, divider-demarcated group of controls; a section
37
- * carrying `layers` composes the existing `DockLayerGroup`/`DockLayer`
38
- * registry (NOT a parallel layer machine).
39
- * - `"nav"` — the trailing nav arrows / utility group.
40
- */
41
- export type DockSectionKind = "rail-core" | "section" | "nav";
42
- /**
43
- * BA.W-DOCK-SECTIONS — one declarative section descriptor. A consumer passes
44
- * `sections: readonly DockSectionDescriptor[]` to `<DockSection>` and the dock body
45
- * renders the tripartite silhouette (rail-core | divided named sections | nav)
46
- * demarcated by `<DockSeparator>` — the IG-A3 / R8-9 "abstract this into a re-usable
47
- * component for layering" library gap. A `<script setup>` SFC cannot re-export a named
48
- * type through its default barrel, so the descriptor lives here (the colocated types
49
- * home, beside `DockRailItem`) and `DockSection.vue` imports it; the barrel re-exports
50
- * it for consumers typing their `sections` array.
51
- */
52
- export interface DockSectionDescriptor {
53
- /** Which of the three zone kinds this descriptor renders. */
54
- kind: DockSectionKind;
55
- /** Stable identifier — the `v-for` key + the layer-context id for a `section`. */
56
- id: string;
57
- /** Optional accessible label for the grouped zone. */
58
- label?: string;
59
- /**
60
- * For a `section` kind: the stack members this section carries. When present
61
- * (length > 1) the members ride the dock's `#rail` stack (the macOS hover-expand
62
- * stack, OUTSIDE the dock box — never re-inflating it). The descriptor names them;
63
- * `<DockStack :items>` fans them out.
64
- */
65
- layers?: readonly DockStackItem[];
66
- }
67
1
  /**
68
2
  * The ONE dock-morph spring authority — the iOS-26 interruptible-physics tuning the
69
- * dock's single `SpringProgress` orchestrator (`dockMorphContext.ts`) AND the
70
- * `useLayerTransition` engine both read. Co-located here so the `response`/`damping`
71
- * pair is defined ONCE rather than duplicated at the top of each composable (the two
72
- * prior copies were a DRY hazard — a re-tune had to touch both).
3
+ * dock morph orchestrator and controlled face crossfade both read. Co-located here so
4
+ * the `response`/`damping` pair is defined once.
73
5
  */
74
6
  export declare const DOCK_SPRING: {
75
7
  readonly response: number;
76
8
  readonly dampingFraction: number;
77
9
  };
78
- /**
79
- * BG.NF.1 W-FALLBACK-EXCISE — the JS token-mirror constants (the NO-MASKING-FALLBACK
80
- * single-source floor). The dock composables read a live root token but need a value
81
- * when the root is not yet mounted; that value lives HERE ONCE (never a bare drift-prone
82
- * literal duplicated at the read site — the 1.14/44 that had already drifted 1.08→1.14).
83
- */
84
10
  /**
85
11
  * The shape-morph squish cap — mirrors `--dock-morph-max-stretch` (density.css). The
86
- * lifted iOS-27 register (BD.W-MOTION-WEIGHT C1·R3 drift fix: the prior 1.08 was stale).
12
+ * iOS-27 register.
87
13
  */
88
14
  export declare const DOCK_MORPH_MAX_STRETCH = 1.14;
89
- /**
90
- * The collapsed-endpoint floor in px — mirrors `--dock-morph-min`'s `2.75rem` = the
91
- * WCAG 2.5.5 touch floor at the 16px root (density.css). Used until the collapsed
92
- * state has been captured at rest.
93
- */
94
- export declare const DOCK_TAP_FLOOR_PX = 44;
95
15
  /** `Symbol()` label for the `DockContext` injection key (`dockContext.ts`). */
96
16
  export declare const DOCK_CONTEXT_LABEL = "glass-ui:dock-context";
97
17
  /** `Symbol()` label for the `DockCrossfadeContext` injection key (`dockCrossfadeContext.ts`). */
98
18
  export declare const DOCK_LAYER_GROUP_LABEL = "glass-ui:dock-layer-group";
99
- /** `Symbol()` label for the `DockMorphContext` injection key (`dockMorphContext.ts`). */
100
- export declare const DOCK_MORPH_LABEL = "glass-ui:dock-morph-context";
101
- /** The intent-dwell before a collapsed→hover expand commits (a sweeping-edge enter is
102
- * canceled by the chasing leave inside this window) — the calmer hover register KEPT
103
- * by W-DOCK-SPINE. BI.W-DOCK-RETIRES deleted the `EDGE_BAND_PX` moving-edge-sweep
104
- * recheck band (the ~120L hysteresis): post-SPINE the hit frame is a STATIONARY
105
- * state-sized box, so a mid-morph leave never sweeps a moving edge past the cursor. */
19
+ /** Intent dwell before a collapsed→hover expand commits. A chasing leave inside
20
+ * this window cancels the expansion. */
106
21
  export declare const HOVER_INTENT_MS = 60;
107
22
  export declare const MORPH_SETTLE_MS = 840;
@@ -1,4 +1,5 @@
1
1
  export { default as GlassDock } from "./GlassDock.vue";
2
+ export type { DockBackdropMode, DockInteraction } from "./composables/useDockShellProps";
2
3
  export { default as DockLayerGroup } from "./DockLayerGroup.vue";
3
4
  export { default as DockLayer } from "./DockLayer.vue";
4
5
  export { default as DockCrossfade } from "./DockCrossfade.vue";
@@ -7,13 +8,8 @@ export { default as DockControl } from "./DockControl.vue";
7
8
  export { default as DockTrigger } from "./DockTrigger.vue";
8
9
  export { default as DockBackgroundToggle } from "./DockBackgroundToggle.vue";
9
10
  export { default as DockSeparator } from "./DockSeparator.vue";
10
- export { default as DockStack } from "./DockStack.vue";
11
- export type { DockStackItem } from "./constants";
12
- export { default as DockSection } from "./DockSection.vue";
13
- export type { DockSectionDescriptor, DockSectionKind } from "./constants";
14
11
  export type { UseDockStateOptions, UseDockStateReturn, DockState } from "./composables";
15
12
  export { DOCK_CONTEXT_KEY, useDockContext, useOptionalDockContext, provideDockContext, type DockContext, type DockOrientation, type DockLayout, } from "./composables/dockContext";
16
- export { useDockCtaReceive, type UseDockCtaReceiveOptions, type UseDockCtaReceiveReturn, type DockCtaReceivePreset, } from "../../composables/motion/useDockCtaReceive";
13
+ export { useDockCtaReceive, type UseDockCtaReceiveOptions, type UseDockCtaReceiveReturn, type DockCtaReceivePreset, } from "../../composables/motion/morph/useDockCtaReceive";
17
14
  export { useDockSearch } from "./composables";
18
15
  export type { UseDockSearchOptions, UseDockSearchReturn } from "./composables";
19
- export { GooFilter } from "../goo-filter";
@@ -0,0 +1 @@
1
+ @layer components { :where(.glass-dock) { --glass-tint-source: var(--glass-tint-ink-dock); --glass-tint-strength: clamp( var(--glass-tint-strength-floor), calc( var(--glass-tint-strength-floor) + (var(--glass-tint-strength-aa) - var(--glass-tint-strength-floor)) * max( 0, ( var(--glass-backdrop-luma, 0) - var(--glass-backdrop-luma-knee) ) / (1 - var(--glass-backdrop-luma-knee)) ) ), var(--glass-tint-strength-aa) ); --dock-fg-on-aurora: var(--glass-tint-ink); --muted-foreground: var(--foreground); } @container style(--glass-backdrop: light) { .glass-dock { --glass-tint-source: var(--glass-tint-ink); --glass-tint-strength: var(--glass-tint-strength-aa); --dock-fg-on-aurora: var(--glass-tint-ink); } } @supports (color: contrast-color(white)) { :where(.glass-dock) { --dock-fg-on-aurora: contrast-color(var(--card)); --muted-foreground: contrast-color(var(--card)); } @container style(--glass-backdrop: light) { .glass-dock { --dock-fg-on-aurora: contrast-color(var(--card)); } } } .glass-dock[data-backdrop-mode="static"] { --glass-level: 0; --glass-tint-strength: 0%; --glass-backdrop-luma: 0; --glass-ambient-hue: transparent; --glass-ambient-strength: 0%; } .glass-dock[data-backdrop-mode="static"] .dock-plate { background: color-mix(in srgb, var(--card), transparent 0%); -webkit-backdrop-filter: none; backdrop-filter: none; -webkit-backdrop-filter: none; } } @media (prefers-reduced-motion: reduce) { .glass-dock, .glass-dock[data-morphing] { --dock-reveal-blur: 0px; } }
@@ -0,0 +1 @@
1
+ @layer components { @property --dock-press-t { syntax: "<number>"; inherits: true; initial-value: 0; } .dock-icon-button { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; scale: 1; width: var(--dock-control-size, var(--size-icon-btn)); height: var(--dock-control-size, var(--size-icon-btn)); padding: var(--dock-icon-padding, 0); cursor: pointer; border: none; background: transparent; border-radius: var(--dock-control-radius, var(--radius-pill)); color: color-mix( in srgb, var(--dock-fg-on-aurora, var(--foreground)) calc(var(--opacity-icon-muted) * 100%), transparent ); outline: none; transition: background-color var(--dock-motion-fast), color var(--dock-motion-fast), scale var(--dock-press-spring), opacity var(--dock-motion-fast), box-shadow var(--dock-motion-fast); --glass-btn-press-t: var(--dock-press-t, 0); filter: brightness(calc(1 - var(--dock-press-t, 0) * 0.04)); &:hover:not(:disabled) { background: var(--dock-icon-hover-bg, var(--dock-control-hover-bg)); color: var(--btn-hover-color, var(--foreground)); scale: var(--scale-hover-dock); } &:active:not(:disabled) { background: var(--dock-control-press-bg); } &:active:not(:disabled):not([data-press-armed]) { scale: var(--scale-press-dock); } &:disabled { opacity: var(--opacity-disabled, 0.4); pointer-events: none; cursor: default; } &:focus:not(:focus-visible) { box-shadow: none; outline: none; } &:is(.is-active, .active, [aria-expanded="true"], [aria-pressed="true"]) { background: var(--dock-active-bg); color: var(--dock-active-color); scale: var(--dock-active-scale); border: var(--dock-active-border); box-shadow: var(--dock-active-shadow); } &[data-active] { --glass-capsule-fill: var( --dock-control-active-bg, var(--glass-bg-floating) ); background: var(--glass-capsule-fill); color: var(--dock-fg-on-aurora, var(--foreground)); } } .dock-icon-button > svg { width: var(--dock-icon-glyph, 1.25rem); height: var(--dock-icon-glyph, 1.25rem); } .dock-icon-button--compact { width: var(--dock-compact-control-size, auto); height: var(--dock-compact-control-size, auto); min-width: var(--dock-compact-control-min-width, 0); padding: var(--dock-compact-control-padding, 0.25rem); } }
@@ -1 +1 @@
1
- @layer components { @media (pointer: coarse) { .dock-icon-button:not(.dock-icon-button--compact):not(:where(.glass-dock *)) { min-block-size: var(--dock-touch-target, 2.75rem); min-inline-size: var(--dock-touch-target, 2.75rem); } :is(.dock-trigger, .dock-select-trigger, .dock-dropdown-trigger) { position: relative; } :is(.dock-trigger, .dock-select-trigger, .dock-dropdown-trigger)::after { content: ""; position: absolute; inset-block-start: 50%; inset-inline-start: 50%; inline-size: max(100%, var(--dock-touch-target, 2.75rem)); block-size: max(100%, var(--dock-touch-target, 2.75rem)); transform: translate(-50%, -50%); } } .glass-dock.vertical .dock-icon-button { position: relative; } .glass-dock.vertical .dock-icon-button:is(.is-active, [aria-current="page"], [aria-pressed="true"]) { --dock-active-color: var(--foreground); color: var(--foreground); } .glass-dock.vertical .dock-icon-button:is(.is-active, [aria-current="page"], [aria-pressed="true"])::before { content: ""; position: absolute; inset-block: var(--dock-rail-accent-inset, 18%); inset-inline-start: calc( -1 * var(--dock-rail-accent-width, 3px) - var(--dock-rail-accent-gap, 2px) ); width: var(--dock-rail-accent-width, 3px); border-radius: var(--radius-pill); background: var(--dock-selected-accent); pointer-events: none; } }
1
+ @layer components { @media (pointer: coarse) { .dock-icon-button:not(.dock-icon-button--compact):not(:where(.glass-dock *)) { min-block-size: var(--dock-touch-target, 2.75rem); min-inline-size: var(--dock-touch-target, 2.75rem); } :is(.dock-trigger, .dock-select-trigger, .dock-dropdown-trigger) { position: relative; } :is(.dock-trigger, .dock-select-trigger, .dock-dropdown-trigger)::after { content: ""; position: absolute; inset-block-start: 50%; inset-inline-start: 50%; inline-size: max(100%, var(--dock-touch-target, 2.75rem)); block-size: max(100%, var(--dock-touch-target, 2.75rem)); transform: translate(-50%, -50%); } } .glass-dock.vertical .dock-icon-button { position: relative; } .glass-dock.vertical .dock-icon-button:is(.is-active, [aria-current="page"], [aria-pressed="true"]) { --dock-active-color: var(--foreground); color: var(--foreground); } .glass-dock.vertical .dock-icon-button:is( .is-active, [aria-current="page"], [aria-pressed="true"] )::before { content: ""; position: absolute; inset-block: var(--dock-rail-accent-inset, 18%); inset-inline-start: calc( -1 * var(--dock-rail-accent-width, 3px) - var(--dock-rail-accent-gap, 2px) ); width: var(--dock-rail-accent-width, 3px); border-radius: var(--radius-pill); background: var(--dock-selected-accent); pointer-events: none; } }
@@ -0,0 +1 @@
1
+ @import "./controls/icon-button.css"; @import "./controls/tab-button.css"; @import "./controls/triggers.css"; @import "./controls/touch-floor.css"; @layer components { .glass-dock.dock-items-draggable:not(.vertical) .dock-icon-button.glass-drag-lift { scale: var(--stretch, 1) calc(1 / var(--stretch, 1)); } .glass-dock.dock-items-draggable.vertical .dock-icon-button.glass-drag-lift { scale: calc(1 / var(--stretch, 1)) var(--stretch, 1); } :where( .dock-icon-button, .dock-tab-button, .dock-select-trigger, .dock-dropdown-trigger ) { --glass-specular-size: var(--dock-control-specular-size, 22%); } }
@@ -0,0 +1 @@
1
+ @layer components { .dock-crossfade { position: relative; display: grid; isolation: isolate; } .dock-crossfade > .dock-face { grid-area: 1 / 1; position: absolute; inset: 0; opacity: 0; pointer-events: none; will-change: opacity; } .dock-crossfade > .dock-face.is-active { position: relative; inset: auto; z-index: 1; inline-size: max-content; min-inline-size: 0; opacity: 1; pointer-events: auto; } .dock-crossfade > .dock-face.is-leaving { position: absolute; inset: 0; z-index: 0; pointer-events: none; visibility: visible; } .dock-crossfade[data-crossfading] > .dock-face.is-active { opacity: var(--dock-t); } .dock-crossfade[data-crossfading] > .dock-face.is-leaving { opacity: calc(1 - var(--dock-t)); } .dock-crossfade > .dock-face > .dock-face-content { display: flex; align-items: center; gap: var(--dock-layer-gap, 0.375rem); white-space: nowrap; block-size: 100%; } :where(.glass-dock, .dock-layer-group).vertical .dock-crossfade > .dock-face > .dock-face-content { flex-direction: column; align-items: stretch; white-space: normal; } :where(.glass-dock, .dock-layer-group).vertical .dock-crossfade > .dock-face.is-active { inline-size: auto; block-size: max-content; } .glass-dock[data-morphing] .dock-crossfade > .dock-face.is-active > .dock-face-content { clip-path: inset(0 calc((1 - var(--dock-morph-t)) * 100%) 0 0); will-change: clip-path; } .glass-dock.vertical[data-morphing] .dock-crossfade > .dock-face.is-active > .dock-face-content { clip-path: inset(0 0 calc((1 - var(--dock-morph-t)) * 100%) 0); } @media (prefers-reduced-motion: reduce) { .dock-crossfade > .dock-face { will-change: auto; } } }
@@ -1 +1 @@
1
- :root { --dock-content-safe-inset: var(--dock-rail-extend-length, 2.5rem); --dock-shape-from: var(--radius-dock, 9999px); --dock-shape-to: var(--radius-dock, 9999px); --dock-shape-clip-from: none; --dock-shape-clip-to: none; --dock-morph-max-stretch: 1.14; --dock-morph-min: max(2.75rem, var(--dock-control-floor, 0px)); --dock-search-shrink-start: calc(0rem * var(--dock-scale)); --dock-search-shrink-end: calc(7.25rem * var(--dock-scale)); } @layer components { .glass-dock[data-size="sm"] { --dock-padding-block: calc( var(--dock-density-compact-padding-block, 0.375rem) * var(--dock-scale) ); --dock-padding-inline: calc( var(--dock-density-compact-padding-inline, 0.5rem) * var(--dock-scale) ); --dock-control-size: max( calc(var(--dock-density-compact-control-size, 2rem) * var(--dock-scale)), var(--dock-control-floor, 0px) ); --dock-layer-height: max( calc(var(--dock-density-compact-layer-height, 2rem) * var(--dock-scale)), var(--dock-control-floor, 0px) ); --dock-control-safe-inset: calc(var(--dock-control-size) * 0.1); --dock-layer-gap: calc( var(--dock-density-compact-gap, 0.25rem) * var(--dock-scale) ); --dock-tile-min: calc( var(--dock-control-size) + var(--dock-tile-pad, 1rem) * var(--dock-scale) ); --dock-trigger-padding-block: calc( var(--dock-density-compact-trigger-padding-block, 0.1875rem) * var(--dock-scale) ); --dock-trigger-padding-inline: calc( var(--dock-density-compact-trigger-padding-inline, 0.4375rem) * var(--dock-scale) ); --dock-tab-padding-block: calc( var(--dock-density-compact-tab-padding-block, 0.3125rem) * var(--dock-scale) ); --dock-tab-padding-inline: calc( var(--dock-density-compact-tab-padding-inline, 0.625rem) * var(--dock-scale) ); --dock-tab-h: calc(32px * var(--dock-scale)); } .glass-dock[data-size="md"] { --dock-padding-block: calc( var(--dock-density-comfortable-padding-block, 0.5rem) * var(--dock-scale) ); --dock-padding-inline: calc( var(--dock-density-comfortable-padding-inline, 0.75rem) * var(--dock-scale) ); --dock-control-size: max( calc( var(--dock-density-comfortable-control-size, 2.5rem) * var(--dock-scale) ), var(--dock-control-floor, 0px) ); --dock-layer-height: max( calc( var(--dock-density-comfortable-layer-height, 2.5rem) * var(--dock-scale) ), var(--dock-control-floor, 0px) ); --dock-control-safe-inset: calc(var(--dock-control-size) * 0.1); --dock-layer-gap: calc( var(--dock-density-comfortable-gap, 0.375rem) * var(--dock-scale) ); --dock-tile-min: calc( var(--dock-control-size) + var(--dock-tile-pad, 2rem) * var(--dock-scale) ); --dock-trigger-padding-block: calc( var(--dock-density-comfortable-trigger-padding-block, 0.25rem) * var(--dock-scale) ); --dock-trigger-padding-inline: calc( var(--dock-density-comfortable-trigger-padding-inline, 0.5rem) * var(--dock-scale) ); --dock-tab-padding-block: calc( var(--dock-density-comfortable-tab-padding-block, 0.4375rem) * var(--dock-scale) ); --dock-tab-padding-inline: calc( var(--dock-density-comfortable-tab-padding-inline, 0.75rem) * var(--dock-scale) ); --dock-tab-h: calc(38px * var(--dock-scale)); } .glass-dock[data-size="lg"] { --dock-padding-block: calc( var(--dock-density-spacious-padding-block, 0.625rem) * var(--dock-scale) ); --dock-padding-inline: calc( var(--dock-density-spacious-padding-inline, 1rem) * var(--dock-scale) ); --dock-control-size: max( calc( var(--dock-density-spacious-control-size, 2.75rem) * var(--dock-scale) ), var(--dock-control-floor, 0px) ); --dock-layer-height: max( calc( var(--dock-density-spacious-layer-height, 2.75rem) * var(--dock-scale) ), var(--dock-control-floor, 0px) ); --dock-control-safe-inset: calc(var(--dock-control-size) * 0.1); --dock-layer-gap: calc( var(--dock-density-spacious-gap, 0.5rem) * var(--dock-scale) ); --dock-tile-min: calc( var(--dock-control-size) + var(--dock-tile-pad, 2.75rem) * var(--dock-scale) ); --dock-trigger-padding-block: calc( var(--dock-density-spacious-trigger-padding-block, 0.375rem) * var(--dock-scale) ); --dock-trigger-padding-inline: calc( var(--dock-density-spacious-trigger-padding-inline, 0.625rem) * var(--dock-scale) ); --dock-tab-padding-block: calc( var(--dock-density-spacious-tab-padding-block, 0.5rem) * var(--dock-scale) ); --dock-tab-padding-inline: calc( var(--dock-density-spacious-tab-padding-inline, 0.875rem) * var(--dock-scale) ); --dock-tab-h: calc(44px * var(--dock-scale)); } .glass-dock[data-size="xl"] { --dock-padding-block: calc( var(--dock-density-audacious-padding-block, 0.5rem) * var(--dock-scale) ); --dock-padding-inline: calc( var(--dock-density-audacious-padding-inline, 0.875rem) * var(--dock-scale) ); --dock-control-size: max( calc(var(--dock-density-audacious-control-size, 4rem) * var(--dock-scale)), var(--dock-control-floor, 0px) ); --dock-layer-height: max( calc(var(--dock-density-audacious-layer-height, 4rem) * var(--dock-scale)), var(--dock-control-floor, 0px) ); --dock-control-safe-inset: calc(var(--dock-control-size) * 0.1); --dock-layer-gap: calc( var(--dock-density-audacious-gap, 0.875rem) * var(--dock-scale) ); --dock-tile-min: calc( var(--dock-control-size) + var(--dock-tile-pad, 2.75rem) * var(--dock-scale) ); --dock-trigger-padding-block: calc( var(--dock-density-audacious-trigger-padding-block, 0.625rem) * var(--dock-scale) ); --dock-trigger-padding-inline: calc( var(--dock-density-audacious-trigger-padding-inline, 1rem) * var(--dock-scale) ); --dock-tab-padding-block: calc( var(--dock-density-audacious-tab-padding-block, 0.5rem) * var(--dock-scale) ); --dock-tab-padding-inline: calc( var(--dock-density-audacious-tab-padding-inline, 1.5rem) * var(--dock-scale) ); --dock-tab-min-height: calc( var(--dock-density-audacious-tab-min-height, 3.5rem) * var(--dock-scale) ); --dock-tab-h: calc( var(--dock-density-audacious-tab-min-height, 3.5rem) * var(--dock-scale) ); } .glass-dock[data-preset="cockpit"] { --dock-control-size: max( calc(2.75rem * var(--dock-scale)), var(--dock-control-floor, 0px) ); --dock-layer-height: max( calc(2.75rem * var(--dock-scale)), var(--dock-control-floor, 0px) ); --dock-padding-block: calc( var(--dock-density-compact-padding-block, 0.25rem) * var(--dock-scale) ); --dock-padding-inline: calc( var(--dock-density-compact-padding-inline, 0.375rem) * var(--dock-scale) ); --dock-layer-gap: calc( var(--dock-density-compact-gap, 0.25rem) * var(--dock-scale) ); --dock-control-safe-inset: calc(var(--dock-control-size) * 0.1); --dock-tile-min: calc( var(--dock-control-size) + var(--dock-tile-pad, 1rem) * var(--dock-scale) ); --dock-trigger-padding-block: calc( var(--dock-density-compact-trigger-padding-block, 0.1875rem) * var(--dock-scale) ); --dock-trigger-padding-inline: calc( var(--dock-density-compact-trigger-padding-inline, 0.4375rem) * var(--dock-scale) ); --dock-tab-padding-block: calc( var(--dock-density-compact-tab-padding-block, 0.3125rem) * var(--dock-scale) ); --dock-tab-padding-inline: calc( var(--dock-density-compact-tab-padding-inline, 0.625rem) * var(--dock-scale) ); --dock-tab-h: calc(32px * var(--dock-scale)); --dock-label-ratio: 0.275; --dock-icon-glyph: max( calc(var(--dock-layer-height) * var(--dock-icon-glyph-ratio)), var(--dock-icon-glyph-floor) ); --dock-control-glyph-size: var(--dock-icon-glyph); } .glass-dock[data-size] { --dock-icon-glyph: max( calc(var(--dock-layer-height, calc(2.5rem * var(--dock-scale))) * var(--dock-icon-glyph-ratio)), var(--dock-icon-glyph-floor) ); --dock-control-glyph-size: var(--dock-icon-glyph); } @container dock (max-width: 29.9375rem) { .glass-dock[data-size="xl"] .dock-label { --dock-label-size: 14px; } } @container dock (min-width: 30rem) and (max-width: 44.9375rem) { .glass-dock[data-size="xl"] .dock-label { --dock-label-size: 15px; } } }
1
+ :root { --dock-content-safe-inset: var(--dock-rail-extend-length, 2.5rem); --dock-shape-from: var(--radius-dock, 9999px); --dock-shape-to: var(--radius-dock, 9999px); --dock-shape-clip-from: none; --dock-shape-clip-to: none; --dock-morph-max-stretch: 1.14; --dock-search-shrink-start: calc(0rem * var(--dock-scale)); --dock-search-shrink-end: calc(7.25rem * var(--dock-scale)); } @layer components { .glass-dock[data-size="sm"] { --dock-padding-block: calc( var(--dock-density-compact-padding-block, 0.375rem) * var(--dock-scale) ); --dock-padding-inline: calc( var(--dock-density-compact-padding-inline, 0.5rem) * var(--dock-scale) ); --dock-control-size: max( calc(var(--dock-density-compact-control-size, 2rem) * var(--dock-scale)), var(--dock-control-floor, 0px) ); --dock-layer-height: max( calc(var(--dock-density-compact-layer-height, 2rem) * var(--dock-scale)), var(--dock-control-floor, 0px) ); --dock-control-safe-inset: calc(var(--dock-control-size) * 0.1); --dock-layer-gap: calc( var(--dock-density-compact-gap, 0.25rem) * var(--dock-scale) ); --dock-tile-min: calc( var(--dock-control-size) + var(--dock-tile-pad, 1rem) * var(--dock-scale) ); --dock-trigger-padding-block: calc( var(--dock-density-compact-trigger-padding-block, 0.1875rem) * var(--dock-scale) ); --dock-trigger-padding-inline: calc( var(--dock-density-compact-trigger-padding-inline, 0.4375rem) * var(--dock-scale) ); --dock-tab-padding-block: calc( var(--dock-density-compact-tab-padding-block, 0.3125rem) * var(--dock-scale) ); --dock-tab-padding-inline: calc( var(--dock-density-compact-tab-padding-inline, 0.625rem) * var(--dock-scale) ); --dock-tab-h: calc(32px * var(--dock-scale)); } .glass-dock[data-size="md"] { --dock-padding-block: calc( var(--dock-density-comfortable-padding-block, 0.5rem) * var(--dock-scale) ); --dock-padding-inline: calc( var(--dock-density-comfortable-padding-inline, 0.75rem) * var(--dock-scale) ); --dock-control-size: max( calc( var(--dock-density-comfortable-control-size, 2.5rem) * var(--dock-scale) ), var(--dock-control-floor, 0px) ); --dock-layer-height: max( calc( var(--dock-density-comfortable-layer-height, 2.5rem) * var(--dock-scale) ), var(--dock-control-floor, 0px) ); --dock-control-safe-inset: calc(var(--dock-control-size) * 0.1); --dock-layer-gap: calc( var(--dock-density-comfortable-gap, 0.375rem) * var(--dock-scale) ); --dock-tile-min: calc( var(--dock-control-size) + var(--dock-tile-pad, 2rem) * var(--dock-scale) ); --dock-trigger-padding-block: calc( var(--dock-density-comfortable-trigger-padding-block, 0.25rem) * var(--dock-scale) ); --dock-trigger-padding-inline: calc( var(--dock-density-comfortable-trigger-padding-inline, 0.5rem) * var(--dock-scale) ); --dock-tab-padding-block: calc( var(--dock-density-comfortable-tab-padding-block, 0.4375rem) * var(--dock-scale) ); --dock-tab-padding-inline: calc( var(--dock-density-comfortable-tab-padding-inline, 0.75rem) * var(--dock-scale) ); --dock-tab-h: calc(38px * var(--dock-scale)); } .glass-dock[data-size="lg"] { --dock-padding-block: calc( var(--dock-density-spacious-padding-block, 0.625rem) * var(--dock-scale) ); --dock-padding-inline: calc( var(--dock-density-spacious-padding-inline, 1rem) * var(--dock-scale) ); --dock-control-size: max( calc( var(--dock-density-spacious-control-size, 2.75rem) * var(--dock-scale) ), var(--dock-control-floor, 0px) ); --dock-layer-height: max( calc( var(--dock-density-spacious-layer-height, 2.75rem) * var(--dock-scale) ), var(--dock-control-floor, 0px) ); --dock-control-safe-inset: calc(var(--dock-control-size) * 0.1); --dock-layer-gap: calc( var(--dock-density-spacious-gap, 0.5rem) * var(--dock-scale) ); --dock-tile-min: calc( var(--dock-control-size) + var(--dock-tile-pad, 2.75rem) * var(--dock-scale) ); --dock-trigger-padding-block: calc( var(--dock-density-spacious-trigger-padding-block, 0.375rem) * var(--dock-scale) ); --dock-trigger-padding-inline: calc( var(--dock-density-spacious-trigger-padding-inline, 0.625rem) * var(--dock-scale) ); --dock-tab-padding-block: calc( var(--dock-density-spacious-tab-padding-block, 0.5rem) * var(--dock-scale) ); --dock-tab-padding-inline: calc( var(--dock-density-spacious-tab-padding-inline, 0.875rem) * var(--dock-scale) ); --dock-tab-h: calc(44px * var(--dock-scale)); } .glass-dock[data-size="xl"] { --dock-padding-block: calc( var(--dock-density-audacious-padding-block, 0.5rem) * var(--dock-scale) ); --dock-padding-inline: calc( var(--dock-density-audacious-padding-inline, 0.875rem) * var(--dock-scale) ); --dock-control-size: max( calc(var(--dock-density-audacious-control-size, 4rem) * var(--dock-scale)), var(--dock-control-floor, 0px) ); --dock-layer-height: max( calc(var(--dock-density-audacious-layer-height, 4rem) * var(--dock-scale)), var(--dock-control-floor, 0px) ); --dock-control-safe-inset: calc(var(--dock-control-size) * 0.1); --dock-layer-gap: calc( var(--dock-density-audacious-gap, 0.875rem) * var(--dock-scale) ); --dock-tile-min: calc( var(--dock-control-size) + var(--dock-tile-pad, 2.75rem) * var(--dock-scale) ); --dock-trigger-padding-block: calc( var(--dock-density-audacious-trigger-padding-block, 0.625rem) * var(--dock-scale) ); --dock-trigger-padding-inline: calc( var(--dock-density-audacious-trigger-padding-inline, 1rem) * var(--dock-scale) ); --dock-tab-padding-block: calc( var(--dock-density-audacious-tab-padding-block, 0.5rem) * var(--dock-scale) ); --dock-tab-padding-inline: calc( var(--dock-density-audacious-tab-padding-inline, 1.5rem) * var(--dock-scale) ); --dock-tab-min-height: calc( var(--dock-density-audacious-tab-min-height, 3.5rem) * var(--dock-scale) ); --dock-tab-h: calc( var(--dock-density-audacious-tab-min-height, 3.5rem) * var(--dock-scale) ); } .glass-dock[data-preset="cockpit"] { --dock-control-size: max( calc(2.75rem * var(--dock-scale)), var(--dock-control-floor, 0px) ); --dock-layer-height: max( calc(2.75rem * var(--dock-scale)), var(--dock-control-floor, 0px) ); --dock-padding-block: calc( var(--dock-density-compact-padding-block, 0.25rem) * var(--dock-scale) ); --dock-padding-inline: calc( var(--dock-density-compact-padding-inline, 0.375rem) * var(--dock-scale) ); --dock-layer-gap: calc( var(--dock-density-compact-gap, 0.25rem) * var(--dock-scale) ); --dock-control-safe-inset: calc(var(--dock-control-size) * 0.1); --dock-tile-min: calc( var(--dock-control-size) + var(--dock-tile-pad, 1rem) * var(--dock-scale) ); --dock-trigger-padding-block: calc( var(--dock-density-compact-trigger-padding-block, 0.1875rem) * var(--dock-scale) ); --dock-trigger-padding-inline: calc( var(--dock-density-compact-trigger-padding-inline, 0.4375rem) * var(--dock-scale) ); --dock-tab-padding-block: calc( var(--dock-density-compact-tab-padding-block, 0.3125rem) * var(--dock-scale) ); --dock-tab-padding-inline: calc( var(--dock-density-compact-tab-padding-inline, 0.625rem) * var(--dock-scale) ); --dock-tab-h: calc(32px * var(--dock-scale)); --dock-label-ratio: 0.275; --dock-icon-glyph: max( calc(var(--dock-layer-height) * var(--dock-icon-glyph-ratio)), var(--dock-icon-glyph-floor) ); --dock-control-glyph-size: var(--dock-icon-glyph); } .glass-dock[data-size] { --dock-icon-glyph: max( calc( var(--dock-layer-height, calc(2.5rem * var(--dock-scale))) * var(--dock-icon-glyph-ratio) ), var(--dock-icon-glyph-floor) ); --dock-control-glyph-size: var(--dock-icon-glyph); } @container dock (max-width: 29.9375rem) { .glass-dock[data-size="xl"] .dock-label { --dock-label-size: 14px; } } @container dock (min-width: 30rem) and (max-width: 44.9375rem) { .glass-dock[data-size="xl"] .dock-label { --dock-label-size: 15px; } } }
@@ -0,0 +1 @@
1
+ @layer components { .dock-plate { position: absolute; inset: 0; z-index: -1; pointer-events: auto; border-radius: inherit; -webkit-backdrop-filter: var(--dock-surface-blur); backdrop-filter: var(--dock-surface-blur); background: color-mix( in oklab, var(--glass-bg-dock, var(--glass-bg-resting)), var(--glass-tint-source) var(--glass-tint-strength) ); border: 1.5px solid var(--glass-border-dock, var(--glass-border-resting)); --dock-t: var(--dock-morph-t); --dock-plate-inset-inline: calc( (1 - var(--dock-t)) * var(--dock-plate-collapse-inset, 0px) ); --dock-plate-inset-block: calc( (1 - var(--dock-t)) * var(--dock-plate-collapse-inset-block, 0px) ); clip-path: inset(var(--dock-plate-inset-block) var(--dock-plate-inset-inline)); } .dock-plate::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--paper-clean-texture); background-repeat: repeat; background-size: var(--paper-texture-size); opacity: var(--glass-grain-opacity); pointer-events: none; mix-blend-mode: overlay; } .dark .dock-plate::after { mix-blend-mode: soft-light; } .dock-controls { display: contents; overflow: visible; pointer-events: auto; } .glass-dock > .dock-controls { overflow-x: visible; overflow-y: visible; } [data-reserve] { pointer-events: none; } [data-reserve] > .glass-dock, [data-reserve] .dock-plate, [data-reserve] .dock-controls { pointer-events: auto; } .glass-dock.fixed { inset-inline: 0; margin-inline: auto; inline-size: max-content; width: max-content; } } @media (prefers-reduced-motion: reduce) { @layer components { .glass-dock.expanded .dock-plate, .glass-dock.always-expanded .dock-plate { --dock-t: 1; } .glass-dock.collapsed .dock-plate { --dock-t: 0; } } }
@@ -0,0 +1 @@
1
+ @import "./shell.css"; @import "./shell-regions.css"; @import "./dock.css"; @import "./morph.css"; @import "./adaptive-legibility.css"; @import "./density.css"; @import "./shape.css"; @import "./layers.css"; @import "./layer-group.css"; @import "./crossfade.css"; @import "./overflow.css"; @import "./cta-seat.css"; @import "./search.css"; @property --dock-morph-t { syntax: "<number>"; inherits: true; initial-value: 0; } @property --dock-t { syntax: "<number>"; inherits: false; initial-value: 0; } @property --dock-local-scale { syntax: "<number>"; inherits: true; initial-value: 1; } @property --dock-scale { syntax: "<number>"; inherits: true; initial-value: 1; } @layer components { :where( .glass-dock, .dock-layer-tab, .dock-icon-button, .dark-mode-toggle-button, .dock-tab-button, .dock-select-trigger, .dock-dropdown-trigger ) { --dock-motion-fast: var(--duration-fast) var(--ease-standard); --dock-motion-standard: var(--duration-normal) var(--ease-standard); --dock-motion-resize: var(--spring-dock-duration) var(--dock-resize-spring); } .dock-icon-button:focus-visible, .dock-tab-button:focus-visible, .dock-select-trigger:focus-visible, .dock-dropdown-trigger:focus-visible { box-shadow: var(--dock-ring); outline: none; } .glass-dock [data-ring-yield]:focus-visible { box-shadow: none; } .dock-icon-button:disabled, .dock-tab-button:disabled, .dock-select-trigger:disabled, .dock-dropdown-trigger:disabled { opacity: var(--opacity-disabled); cursor: not-allowed; } }
@@ -0,0 +1 @@
1
+ @layer components { .dock-separator { @apply flex-shrink-0; width: 1px; height: var(--dock-separator-height); margin: 0 0.375rem; background: var(--surface-tint-15); } .glass-dock.vertical .dock-separator, .dock-layer-group.vertical .dock-separator, .dock-separator[data-orientation="vertical"] { width: var(--dock-separator-height); height: 1px; align-self: center; margin: 0.375rem 0; } .glass-dock.layout-grid .dock-separator { grid-column: 1 / -1; width: 100%; height: 1px; margin: var(--dock-layer-gap, 0.375rem) 0; align-self: center; } .dock-spacer { @apply flex-1; } .dock-layer-group { display: flex; gap: var(--dock-layer-group-gap, var(--dock-layer-gap, 0.25rem)); min-width: 0; min-height: 0; } .dock-layer-group.horizontal { flex-direction: row; align-items: stretch; } .dock-layer-group.horizontal.rail-end { flex-direction: row-reverse; } .dock-layer-group.vertical { flex-direction: column; align-items: stretch; } .dock-layer-group.vertical.rail-end { flex-direction: column-reverse; } :where(.glass-dock, .dock-layer-group) .dock-layer-rail { display: flex; flex-direction: column; flex-shrink: 0; align-self: start; min-height: max-content; gap: var(--dock-layer-rail-gap, 0.125rem); padding: var(--dock-layer-rail-padding, 0.125rem); background: var(--dock-layer-rail-bg, transparent); border-right: 1px solid var( --dock-layer-rail-divider, color-mix(in srgb, var(--border) 40%, transparent) ); } .dock-layer-group.vertical .dock-layer-rail { flex-direction: row; border-right: none; border-bottom: 1px solid var( --dock-layer-rail-divider, color-mix(in srgb, var(--border) 40%, transparent) ); } .dock-layer-group.horizontal.rail-end .dock-layer-rail { border-right: none; border-left: 1px solid var( --dock-layer-rail-divider, color-mix(in srgb, var(--border) 40%, transparent) ); } .dock-layer-group.vertical.rail-end .dock-layer-rail { border-bottom: none; border-top: 1px solid var( --dock-layer-rail-divider, color-mix(in srgb, var(--border) 40%, transparent) ); } :where(.glass-dock, .dock-layer-group) .dock-layer-rail { position: relative; } :where(.glass-dock, .dock-layer-group) .dock-layer-rail .dock-layer-tab { position: relative; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: var(--dock-layer-tab-size, var(--dock-control-size, 1.75rem)); height: var(--dock-layer-tab-size, var(--dock-control-size, 1.75rem)); border: 0; border-radius: var(--dock-layer-tab-radius, var(--radius-sm)); background: transparent; color: var( --dock-layer-rail-glyph, color-mix( in srgb, var(--dock-fg-on-aurora, var(--foreground)) 78%, transparent ) ); cursor: pointer; font: inherit; font-size: 0.75rem; z-index: 1; transition: background var(--dock-motion-fast), color var(--dock-motion-fast); } :where(.glass-dock, .dock-layer-group) .dock-layer-rail .dock-layer-tab svg { width: 1rem; height: 1rem; flex-shrink: 0; } :where(.glass-dock, .dock-layer-group) .dock-layer-rail .dock-layer-tab:hover { background: var( --dock-layer-rail-hover, color-mix(in srgb, var(--accent) 30%, transparent) ); color: var(--dock-fg-on-aurora, var(--foreground)); } :where(.glass-dock, .dock-layer-group) .dock-layer-rail .dock-layer-tab[aria-selected="true"] { color: var( --dock-rail-active-accent, var(--dock-fg-on-aurora, var(--foreground)) ); } :where(.glass-dock, .dock-layer-group) .dock-layer-rail [role="tab"]:focus-visible { box-shadow: var(--focus-ring-shadow); outline: none; } :where(.glass-dock, .dock-layer-group) .dock-layer-rail .dock-layer-tab-indicator { position: absolute; left: 0; top: 0; width: var(--dock-layer-tab-size, var(--dock-control-size, 1.75rem)); opacity: 0; border-radius: var(--dock-layer-tab-radius, var(--radius-sm)); background: var(--dock-layer-rail-active, var(--glass-bg-floating)); transition: width var(--duration-fast) var(--spring-snappy), height var(--duration-fast) var(--spring-snappy), translate var(--duration-fast) var(--spring-snappy); pointer-events: none; } .dock-layer-group.vertical .dock-layer-rail .dock-layer-tab-indicator { width: auto; height: var(--dock-layer-tab-size, var(--dock-control-size, 1.75rem)); } }
@@ -0,0 +1 @@
1
+ @layer components { :where(.glass-dock, .dock-layer-group) .dock-layers { display: grid; min-width: 0; } .glass-dock[data-morphing] { --dock-live: calc( var(--dock-collapsed-px, var(--dock-expanded-px, 0px)) + ( var(--dock-expanded-px, 0px) - var(--dock-collapsed-px, var(--dock-expanded-px, 0px)) ) * clamp(0, var(--dock-expand-t), 1) ); --dock-size-scale: clamp( 0.06, calc(var(--dock-live) / max(var(--dock-expanded-px, 1px), 1px)), 1 ); transform-origin: center center; will-change: transform; } .glass-dock[data-morphing]:not(.vertical) { inline-size: var(--dock-expanded-px); } .glass-dock[data-morphing].vertical { block-size: var(--dock-expanded-px); } .glass-dock.expanded:not(.dock-overflow-wrap) > .dock-controls > .dock-layers { overflow-x: visible; } :where(.glass-dock, .dock-layer-group) .dock-layer { transition: visibility 0s linear var(--duration-normal); } :where(.glass-dock, .dock-layer-group) .dock-layer:not(.is-active):not(.is-leaving) { opacity: 0; visibility: hidden; pointer-events: none; } :where(.glass-dock, .dock-layer-group) .dock-layer.is-active { opacity: 1; visibility: visible; pointer-events: auto; transition: visibility 0s; } :where(.glass-dock, .dock-layer-group) .dock-layer.is-leaving { opacity: 0; visibility: visible; pointer-events: none; } .glass-dock[data-morphing] .dock-layer.is-leaving { opacity: calc(1 - var(--dock-morph-t)); } .glass-dock .dock-layer.is-leaving.is-press-keepalive { opacity: 1; visibility: visible; pointer-events: none; } .glass-dock .dock-layer.is-leaving.is-press-keepalive [inert] { visibility: hidden; } .glass-dock .dock-layer.is-leaving.is-press-keepalive [data-dock-press-origin] { position: relative; z-index: 1; pointer-events: auto; } :where(.glass-dock, .dock-layer-group) .dock-layer { display: flex; align-items: center; grid-area: 1 / 1; gap: var(--dock-layer-gap, 0.375rem); } .glass-dock:not(.vertical) .dock-layer { white-space: nowrap; min-height: var(--dock-layer-height, 2.5rem); } :where(.glass-dock, .dock-layer-group) .dock-layer.is-active { position: relative; } :where(.glass-dock, .dock-layer-group) .dock-layer:not(.is-active) { position: absolute; inset: 0; } .glass-dock[data-morphing] .dock-layer.is-active > * { --dock-stagger-window: var(--dock-stagger-window-size, 0.55); --dock-stagger-onset: 0; --child-reveal: clamp( 0, calc( (var(--dock-expand-t) - var(--dock-stagger-onset)) / var(--dock-stagger-window) ), 1 ); opacity: var(--child-reveal); scale: calc(0.82 + 0.18 * var(--child-reveal)); transform-origin: center; } .glass-dock[data-morphing] .dock-layer.is-active > *:nth-child(2 of *), .glass-dock[data-morphing] .dock-layer.is-active > *:nth-last-child(2 of *) { --dock-stagger-onset: calc(var(--dock-stagger-step) * 1); } .glass-dock[data-morphing] .dock-layer.is-active > *:nth-child(3 of *), .glass-dock[data-morphing] .dock-layer.is-active > *:nth-last-child(3 of *) { --dock-stagger-onset: calc(var(--dock-stagger-step) * 2); } .glass-dock[data-morphing] .dock-layer.is-active > *:nth-child(n + 4):nth-child(-n + 5) { --dock-stagger-onset: calc(var(--dock-stagger-step) * 3); } .glass-dock.expanded:not(.fit-content):not([data-morphing]) .dock-layers { width: 100%; } .glass-dock.expanded:not(.fit-content) .dock-layer--full { width: 100%; } .glass-dock.always-expanded { cursor: default; } .glass-dock.layout-grid { white-space: normal; } .glass-dock.layout-grid .dock-layer--full { display: grid; grid-template-columns: repeat( auto-fill, minmax(var(--dock-tile-min, 4.5rem), 1fr) ); grid-auto-rows: var(--dock-tile-min, 4.5rem); gap: var(--dock-layer-gap, 0.375rem); width: 100%; height: auto; white-space: normal; place-items: center; } .glass-dock.layout-grid .dock-layers { width: 100%; } .glass-dock.layout-grid.shape-card .dock-layer--full > * { border-radius: calc( var(--dock-card-radius) - var(--dock-padding-inline, 0.5rem) ); } }
@@ -0,0 +1 @@
1
+ @layer components { .glass-dock.expanded, .glass-dock.always-expanded { --dock-expand-t: 1; } .glass-dock.collapsed { --dock-expand-t: 0; } .glass-dock.expanded[data-morphing], .glass-dock.always-expanded[data-morphing] { --dock-expand-t: var(--dock-morph-t); } .glass-dock.collapsed[data-morphing] { --dock-expand-t: calc(1 - var(--dock-morph-t)); } .glass-dock { --dock-reveal-blur: 0px; } .glass-dock[data-morphing] { --dock-reveal-blur: 1.25px; filter: blur( calc( var(--dock-reveal-blur) * clamp(0, calc((0.5 - var(--dock-expand-t)) / 0.5), 1) ) ); } .glass-dock:not(.vertical) .dock-plate { background: color-mix( in srgb, color-mix( in oklab, var(--glass-bg-dock, var(--glass-bg-resting)), var(--glass-tint-source) var(--glass-tint-strength) ) calc(var(--dock-expand-t) * 100%), color-mix( in oklab, var(--glass-bg-wash), var(--glass-tint-source) var(--glass-tint-strength) ) ); border-color: color-mix( in srgb, var(--glass-border-dock, var(--glass-border-resting)) calc(var(--dock-expand-t) * 100%), var(--glass-border-floating) ); } .glass-dock.vertical .dock-plate { background: color-mix( in srgb, color-mix( in oklab, var(--glass-bg-dock, var(--glass-bg-wash)), var(--glass-tint-source) var(--glass-tint-strength) ) calc(var(--dock-expand-t) * 100%), color-mix( in oklab, var(--glass-bg-wash), var(--glass-tint-source) var(--glass-tint-strength) ) ); border-color: color-mix( in srgb, var(--glass-border-dock, var(--glass-border-wash)) calc(var(--dock-expand-t) * 100%), var(--glass-border-floating) ); } .glass-dock:not(.vertical):not(.dock-overflow-wrap) { --dock-pad-collapsed: max( var(--dock-padding-block, 0.375rem), var(--dock-collapsed-padding, 0px) ); padding-block: var(--dock-padding-block, 0.375rem); padding-inline: calc( var(--dock-pad-collapsed) + (var(--dock-padding-inline, 0.5rem) - var(--dock-pad-collapsed)) * var(--dock-expand-t) ); } .glass-dock.vertical:not(.dock-overflow-wrap) { --dock-pad-collapsed: max( var(--dock-padding-inline, 0.5rem), var(--dock-collapsed-padding, 0px) ); padding-inline: var(--dock-padding-inline, 0.5rem); padding-block: calc( var(--dock-pad-collapsed) + (var(--dock-padding-block, 0.375rem) - var(--dock-pad-collapsed)) * var(--dock-expand-t) ); } .glass-dock.collapsed { cursor: pointer; justify-content: center; box-shadow: var(--shadow-dock-override, var(--shadow-dock-collapsed)); } .glass-dock .dock-layer--summary { min-width: var( --dock-collapsed-summary-min-size, var(--dock-layer-height, 2.5rem) ); min-block-size: var( --dock-collapsed-summary-min-size, var(--dock-layer-height, 2.5rem) ); block-size: var( --dock-collapsed-summary-min-size, var(--dock-layer-height, 2.5rem) ); height: var( --dock-collapsed-summary-min-size, var(--dock-layer-height, 2.5rem) ); aspect-ratio: 1; justify-content: center; } .glass-dock[data-morphing] .dock-layer--summary { --dock-expand-t: var(--dock-morph-t); } .glass-dock .dock-layer--summary:empty { min-width: 0; inline-size: 0; padding: 0; margin: 0; border: 0; } .glass-dock.collapsed:has(.dock-layer--summary:empty) .dock-persistent + .dock-layers { margin-inline-start: 0; } .glass-dock.collapsed:has(.dock-layer--summary:empty) .dock-persistent { display: grid; place-items: center; } .glass-dock.collapsed:has(.dock-layer--summary:empty) .dock-persistent > * { place-self: center; } .glass-dock.collapsed .dock-persistent svg, .glass-dock.collapsed .dock-layer--summary svg { min-width: 1rem; min-height: 1rem; } .glass-dock.collapsed:hover { box-shadow: var(--shadow-dock-override, var(--shadow-dock)); } .glass-dock.collapsed:hover .dock-plate { background: var(--glass-bg-wash); border-color: var(--glass-border-floating); } .glass-dock.collapsed:hover:not([data-morphing]) { scale: var(--dock-collapsed-hover-scale); will-change: transform; } .glass-dock[data-held] .dock-plate { background: color-mix( in oklab, var(--glass-bg-floating, var(--glass-bg-resting)), var(--glass-tint-source) var(--glass-tint-strength) ); border-color: var(--glass-border-floating, var(--glass-border-resting)); transition: background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard); } }
@@ -0,0 +1 @@
1
+ @layer components { .glass-dock.dock-scroll-x:not(.dock-overflow-wrap) .dock-layer--full { min-width: 0; overflow-x: visible; overflow-y: visible; mask-image: none; } .glass-dock.dock-scroll-x[data-dock-overflow]:not(.dock-overflow-wrap) .dock-layer--full { overflow-x: auto; overflow-y: visible; padding: var(--dock-scroll-safe-inset); margin: calc(-1 * var(--dock-scroll-safe-inset)); scroll-padding-inline: var(--dock-scroll-gutter); scrollbar-width: none; overscroll-behavior-x: contain; mask-image: linear-gradient( to right, transparent 0, black var(--fade-start, 0px), black calc(100% - var(--fade-end, 0px)), transparent 100% ); animation: gl-fade-start-in linear both, gl-fade-end-out linear both; animation-timeline: scroll(self inline), scroll(self inline); animation-range: 0 var(--fade-scroll-width), calc(100% - var(--fade-scroll-width)) 100%; } .glass-dock.dock-scroll-x[data-dock-overflow]:not(.dock-overflow-wrap) .dock-layer--full::-webkit-scrollbar { display: none; } .glass-dock.dock-overflow-wrap { white-space: normal; max-inline-size: var(--dock-max-inline-size); padding: var(--dock-wrap-padding-block, var(--dock-padding-block, 0.375rem)) var(--dock-wrap-padding-inline, 0.625rem); border-radius: calc( var(--radius-pill) + (var(--dock-card-radius) - var(--radius-pill)) * var(--dock-expand-t) ); --dock-wrap-elev: calc(var(--dock-expand-t) * 100%); box-shadow: var(--glass-edge-light), var(--shadow-dock-override, var(--shadow-dock)), 0 8px 24px color-mix( in srgb, var(--shadow-color) calc(0.14 * var(--dock-wrap-elev)), transparent ), 0 0 0 0.5px color-mix( in srgb, var(--shadow-color) calc(0.05 * var(--dock-wrap-elev)), transparent ), calc(8px * var(--glass-key-direction)) 8px 32px -4px color-mix( in srgb, oklch(0 0 0 / 0.12) var(--dock-wrap-elev), transparent ); } .glass-dock.dock-overflow-wrap .dock-layer--full { flex-wrap: wrap; justify-content: center; height: auto; min-height: var(--dock-wrap-layer-min-height, var(--dock-layer-height, 2rem)); gap: var(--dock-wrap-row-gap, 0.25rem) var(--dock-wrap-column-gap, var(--dock-layer-gap, 0.375rem)); } .glass-dock.dock-overflow-wrap .dock-layer--summary { height: auto; min-height: var(--dock-wrap-layer-min-height, var(--dock-layer-height, 2rem)); } .glass-dock.dock-overflow-wrap .dock-separator { display: none; } .glass-dock.dock-overflow-wrap.collapsed { white-space: nowrap; } @media (pointer: coarse) { .glass-dock[data-size] { --dock-local-scale: var( --dock-mobile-scale, var(--dock-coarse-scale, 0.78) ); --dock-scale: calc(var(--ui-scale) * var(--dock-local-scale, 1)); --dock-control-floor: var(--dock-touch-target, 2.75rem); --size-icon-btn: var(--dock-touch-target, 2.75rem); --dock-icon-glyph: max( calc( var(--dock-layer-height, calc(2.5rem * var(--dock-scale))) * var(--dock-icon-glyph-ratio) ), var(--dock-icon-glyph-floor) ); --dock-control-glyph-size: var(--dock-icon-glyph); --dock-collapsed-padding: calc(0.25rem * var(--dock-scale)); --dock-layer-tab-size: calc(1.75rem * var(--dock-scale)); --dock-collapsed-summary-min-size: calc( var(--dock-layer-height, 2.5rem) * 0.85 ); } } }
@@ -0,0 +1 @@
1
+ @layer components { .glass-dock { border-radius: calc( var(--dock-shape-from, var(--radius-dock)) + ( var(--dock-shape-to, var(--radius-dock)) - var(--dock-shape-from, var(--radius-dock)) ) * var(--dock-expand-t) ); } .glass-dock { --dock-shape-clip: var(--dock-shape-clip-to, none); clip-path: var(--dock-shape-clip); } .glass-dock[data-morphing] { --dock-shape-clip: var(--dock-shape-clip-from, none); } .glass-dock[data-morphing]:where(.expanded, .always-expanded) { --dock-shape-clip: var(--dock-shape-clip-to, none); } .glass-dock[data-morphing]:not(.vertical) { scale: var(--dock-size-scale, 1) 1; } .glass-dock[data-morphing].vertical { scale: 1 var(--dock-size-scale, 1); } .glass-dock[data-morphing]:not(.vertical) > .dock-controls > .dock-persistent, .glass-dock[data-morphing]:not(.vertical) > .dock-controls > .dock-layers { scale: calc(1 / max(var(--dock-size-scale, 1), 0.06)) 1; will-change: transform; } .glass-dock[data-morphing].vertical > .dock-controls > .dock-persistent, .glass-dock[data-morphing].vertical > .dock-controls > .dock-layers { scale: 1 calc(1 / max(var(--dock-size-scale, 1), 0.06)); will-change: transform; } .glass-dock { --motion-weight: 1; } @media (prefers-reduced-motion: reduce) { .glass-dock { --motion-weight: 0; } } }
@@ -0,0 +1 @@
1
+ @layer components { .glass-dock { --glass-blur-resting: blur( calc(var(--glass-blur-resting-radius) * var(--glass-level)) ) saturate(1.2); --dock-surface-blur: var(--glass-blur-resting); --dock-separator-height: calc(var(--dock-h, var(--size-icon-btn)) * 0.5); --dock-collapsed-hover-scale: var(--scale-hover-dock); --dock-stagger-window-size: 0.4; --dock-stagger-step: 0.08; --dock-card-radius: var(--radius-dock-card); --dock-tile-min: 4.5rem; position: relative; z-index: 0; --glass-backdrop: light; contain: layout style; display: inline-flex; align-items: center; white-space: nowrap; max-inline-size: var(--dock-max-inline-size); padding: var(--dock-padding-block, 0.375rem) var(--dock-padding-inline, 0.5rem); box-shadow: var(--glass-rim-top), var(--glass-rim-bottom), var(--shadow-dock-override, var(--shadow-dock)); } .dark .glass-dock { --glass-blur-resting: blur( calc(var(--glass-blur-resting-radius) * var(--glass-level)) ) saturate(1.3) brightness(1.14); } .glass-dock { overflow: visible; } .glass-dock.vertical.always-expanded:not([data-morphing]), .glass-dock.vertical.expanded:not([data-morphing]) { overflow-x: visible; overflow-y: auto; scrollbar-width: none; overscroll-behavior-y: contain; } .glass-dock.vertical.always-expanded:not([data-morphing])::-webkit-scrollbar, .glass-dock.vertical.expanded:not([data-morphing])::-webkit-scrollbar { display: none; } .glass-dock.vertical.always-expanded:not([data-morphing]), .glass-dock.vertical.expanded:not([data-morphing]) { mask-image: linear-gradient( to bottom, transparent 0, black var(--fade-start, 0px), black calc(100% - var(--fade-end, 0px)), transparent 100% ); animation: gl-fade-start-in linear both, gl-fade-end-out linear both; animation-timeline: scroll(self block), scroll(self block); animation-range: 0 var(--fade-scroll-width), calc(100% - var(--fade-scroll-width)) 100%; } .glass-dock.vertical { display: inline-flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: var(--dock-layer-gap, 0.375rem); white-space: normal; width: auto; height: auto; max-block-size: var(--dock-max-block-size); padding: var(--dock-padding-block, 0.375rem); border-radius: var(--radius-dock); transition: box-shadow var(--dock-motion-standard), transform var(--dock-motion-resize), scale var(--dock-motion-resize); } .glass-dock.vertical[data-morphing] { transition-property: box-shadow, transform; } .glass-dock.vertical:hover, .glass-dock.vertical:active, .glass-dock.vertical[data-held] { will-change: transform; } .glass-dock.vertical { padding: var(--dock-rail-padding, var(--dock-padding-inline, 0.5rem)); } .glass-dock.vertical .dock-plate { background: color-mix( in oklab, var(--glass-bg-dock, var(--glass-bg-wash)), var(--glass-tint-source) var(--glass-tint-strength) ); border-color: var(--glass-border-dock, var(--glass-border-wash)); } .glass-dock.vertical.shape-pill { border-radius: var(--radius-pill); } .glass-dock.vertical.shape-rounded { border-radius: var(--radius-xl); } .glass-dock.vertical.shape-card { border-radius: calc( var(--radius-pill) + (var(--dock-card-radius) - var(--radius-pill)) * var(--dock-expand-t) ); } .glass-dock:not(.vertical).shape-rounded { border-radius: var(--radius-xl); } .glass-dock:not(.vertical).shape-card { border-radius: calc( var(--radius-pill) + (var(--dock-card-radius) - var(--radius-pill)) * var(--dock-expand-t) ); } @supports (corner-shape: superellipse(2)) { .glass-dock:not(.vertical).shape-card { corner-shape: var(--corner-shape-bigdock); } } .glass-dock:where(.fixed) { z-index: var(--z-dock); } .dock-inline { margin: 0 auto; } .dock-sticky { position: sticky; top: 0; z-index: var(--z-dock); margin: 0 auto; } }