@mkbabb/glass-ui 5.0.0 → 6.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 (470) hide show
  1. package/README.md +30 -27
  2. package/dist/DropdownMenuTrigger-BzQtd9lt.js +65 -0
  3. package/dist/{FadingScroll-BSRLqQCx.js → FadingScroll-C1ZWEjmG.js} +32 -25
  4. package/dist/{Input-DKf-XwUM.js → Input-B4WQ_CMc.js} +1 -1
  5. package/dist/{PagerDots-BP6jh7z4.js → PagerDots-BoTQ7g5l.js} +123 -95
  6. package/dist/{accent-tone-solve-CBw3L0cy.js → accent-tone-solve-Dii9ePhK.js} +1 -1
  7. package/dist/animated-digit.js +1 -1
  8. package/dist/aurora.js +324 -314
  9. package/dist/blob-config.d.ts +0 -4
  10. package/dist/blob-config.js +1 -1
  11. package/dist/blob.js +280 -261
  12. package/dist/{button-BXzhydVB.js → button-32mg6xA8.js} +63 -56
  13. package/dist/button.js +1 -1
  14. package/dist/canvas.js +1 -1
  15. package/dist/{CardAction-2uUvjMQK.js → card-16xmzIr3.js} +29 -11
  16. package/dist/card.js +1 -1
  17. package/dist/carousel.d.ts +1 -2
  18. package/dist/carousel.js +26 -95
  19. package/dist/chip.d.ts +0 -9
  20. package/dist/chip.js +1 -1
  21. package/dist/collapsible.js +1 -1
  22. package/dist/color-swatch.js +1 -0
  23. package/dist/color.js +87 -3
  24. package/dist/{CommandShortcut-fmdbsEJL.js → command-BjPjUU9z.js} +56 -51
  25. package/dist/command.js +1 -1
  26. package/dist/completion-seal.js +64 -55
  27. package/dist/components/_shared/ModalOverlay.vue.d.ts +5 -52
  28. package/dist/components/_shared/field-surfaces.css +1 -0
  29. package/dist/components/_shared/menuItemVariants.d.ts +2 -2
  30. package/dist/components/_shared/useMotionAxis.d.ts +2 -2
  31. package/dist/components/_shared/valueDomain.d.ts +6 -0
  32. package/dist/components/alert/index.d.ts +1 -1
  33. package/dist/components/animated-digit/AnimatedDigit.vue.d.ts +1 -1
  34. package/dist/components/aurora/Aurora.vue.d.ts +7 -1
  35. package/dist/components/aurora/composables/runtime.d.ts +5 -3
  36. package/dist/components/aurora/composables/useAurora.d.ts +4 -2
  37. package/dist/components/avatar/AvatarImage.vue.d.ts +3 -1
  38. package/dist/components/badge/index.d.ts +2 -2
  39. package/dist/components/blob/Blob.vue.d.ts +11 -0
  40. package/dist/components/blob/composables/useMetaballRenderer.d.ts +2 -0
  41. package/dist/components/button/Button.vue.d.ts +4 -2
  42. package/dist/components/button/index.d.ts +2 -2
  43. package/dist/components/card/Card.vue.d.ts +4 -4
  44. package/dist/components/card/ScrollCard.vue.d.ts +1 -1
  45. package/dist/components/card/styles.css +1 -0
  46. package/dist/components/carousel/Carousel.vue.d.ts +2 -2
  47. package/dist/components/carousel/CarouselNext.vue.d.ts +1 -1
  48. package/dist/components/carousel/CarouselPrevious.vue.d.ts +1 -1
  49. package/dist/components/carousel/index.d.ts +0 -1
  50. package/dist/components/carousel/useCarousel.d.ts +2 -2
  51. package/dist/components/combobox/ComboboxList.vue.d.ts +1 -1
  52. package/dist/components/combobox/index.d.ts +1 -3
  53. package/dist/components/command/Command.vue.d.ts +1 -1
  54. package/dist/components/command/CommandDialog.vue.d.ts +9 -6
  55. package/dist/components/completion-seal/styles.css +1 -0
  56. package/dist/components/constellation/Constellation.vue.d.ts +6 -1
  57. package/dist/components/constellation/composables/useConstellation.d.ts +3 -16
  58. package/dist/components/constellation/constants.d.ts +6 -16
  59. package/dist/components/constellation/constellationField.d.ts +3 -5
  60. package/dist/components/constellation/constellationInteraction.d.ts +1 -1
  61. package/dist/components/constellation/constellationRender.d.ts +11 -21
  62. package/dist/components/constellation/constellationTypes.d.ts +12 -9
  63. package/dist/components/constellation/index.d.ts +1 -1
  64. package/dist/components/controls/DarkModeToggle.vue.d.ts +0 -2
  65. package/dist/components/data-table/DataTable.vue.d.ts +14 -2
  66. package/dist/components/data-table/index.d.ts +1 -2
  67. package/dist/components/data-table/types.d.ts +26 -1
  68. package/dist/components/deck/constants.d.ts +0 -10
  69. package/dist/components/deck/index.d.ts +0 -1
  70. package/dist/components/dialog/DialogContent.vue.d.ts +7 -1
  71. package/dist/components/dialog/index.d.ts +0 -1
  72. package/dist/components/dock/DockControl.vue.d.ts +4 -4
  73. package/dist/components/dock/DockStack.vue.d.ts +2 -2
  74. package/dist/components/dock/GlassDock.vue.d.ts +1 -0
  75. package/dist/components/dock/composables/dockMorphContext.d.ts +2 -0
  76. package/dist/components/dock/composables/dockMorphMeasure.d.ts +11 -1
  77. package/dist/components/dock/composables/useDockClickIntegrity.d.ts +4 -0
  78. package/dist/components/dock/composables/useDockOverflowFit.d.ts +3 -3
  79. package/dist/components/dock/composables/useDockPopover.d.ts +2 -0
  80. package/dist/components/dock/composables/useDockShellProps.d.ts +7 -0
  81. package/dist/components/dock/composables/useDockState.d.ts +2 -2
  82. package/dist/components/dock/constants.d.ts +0 -12
  83. package/dist/components/dock/index.d.ts +1 -0
  84. package/dist/components/dock/styles/adaptive-legibility.css +1 -0
  85. package/dist/components/dock/styles/controls/icon-button.css +1 -0
  86. package/dist/{styles/dock-controls → components/dock/styles/controls}/touch-floor.css +1 -1
  87. package/dist/components/dock/styles/controls.css +1 -0
  88. package/dist/{styles/dock → components/dock/styles}/density.css +1 -1
  89. package/dist/components/dock/styles/dock.css +1 -0
  90. package/dist/components/dock/styles/index.css +1 -0
  91. package/dist/components/dock/styles/layer-group.css +1 -0
  92. package/dist/components/dock/styles/layers.css +1 -0
  93. package/dist/components/dock/styles/overflow.css +1 -0
  94. package/dist/components/dock/styles/popover.css +1 -0
  95. package/dist/components/dock/styles/shape.css +1 -0
  96. package/dist/components/dock/styles/shell.css +1 -0
  97. package/dist/components/drawer/Drawer.vue.d.ts +3 -3
  98. package/dist/components/drawer/composables/drawerSnapContext.d.ts +3 -1
  99. package/dist/components/drawer/constants.d.ts +6 -6
  100. package/dist/components/drawer/index.d.ts +4 -6
  101. package/dist/components/drawer/styles.css +1 -0
  102. package/dist/components/dropdown-menu/DropdownMenuContent.vue.d.ts +1 -1
  103. package/dist/components/dropdown-menu/DropdownMenuTrigger.vue.d.ts +9 -3
  104. package/dist/components/dropdown-menu/index.d.ts +0 -1
  105. package/dist/components/easing/EasingConfigurator.vue.d.ts +1 -1
  106. package/dist/components/easing/EasingPicker.vue.d.ts +2 -2
  107. package/dist/components/easing/composables/useEasingPicker.d.ts +4 -0
  108. package/dist/components/easing/constants.d.ts +2 -0
  109. package/dist/components/fading-scroll/composables/useFadingScroll.d.ts +3 -3
  110. package/dist/components/fourier-field/FourierField.vue.d.ts +7 -1
  111. package/dist/components/fourier-field/composables/useFourierField.d.ts +2 -1
  112. package/dist/components/handmark/HandMark.vue.d.ts +1 -1
  113. package/dist/components/handmark/geometry.d.ts +1 -1
  114. package/dist/components/handmark/index.d.ts +4 -6
  115. package/dist/components/icon-chip/styles.css +1 -0
  116. package/dist/components/index.d.ts +0 -1
  117. package/dist/components/infinite-scroll/index.d.ts +1 -0
  118. package/dist/components/instrument-chassis/styles.css +1 -0
  119. package/dist/components/labeled-field/LabeledField.vue.d.ts +12 -2
  120. package/dist/components/labeled-field/LabeledInput.vue.d.ts +10 -3
  121. package/dist/components/liquid-grid/LiquidGrid.vue.d.ts +4 -0
  122. package/dist/components/liquid-grid/composables/useLiquidGrid.d.ts +2 -1
  123. package/dist/components/metric-stack/MetricStack.vue.d.ts +1 -1
  124. package/dist/components/pager-dots/PagerDots.vue.d.ts +1 -1
  125. package/dist/components/popover/PopoverContent.vue.d.ts +1 -1
  126. package/dist/components/progress/Progress.vue.d.ts +5 -40
  127. package/dist/components/progress/ProgressDefault.vue.d.ts +1 -17
  128. package/dist/components/progress/ProgressGradient.vue.d.ts +1 -0
  129. package/dist/components/progress/ProgressLiquid.vue.d.ts +1 -0
  130. package/dist/components/progress/index.d.ts +0 -5
  131. package/dist/components/progress/valueMarks.css +1 -0
  132. package/dist/components/pulse/Pulse.vue.d.ts +2 -2
  133. package/dist/components/scroll-progress-rim/styles.css +1 -0
  134. package/dist/components/search/FuzzySearch.vue.d.ts +4 -2
  135. package/dist/components/search/SearchBar.vue.d.ts +2 -2
  136. package/dist/components/search/searchVariants.d.ts +1 -1
  137. package/dist/components/select/SelectContent.vue.d.ts +1 -1
  138. package/dist/components/select/index.d.ts +0 -2
  139. package/dist/components/skeleton/Skeleton.vue.d.ts +1 -1
  140. package/dist/components/slider/Slider.vue.d.ts +2 -0
  141. package/dist/components/split-chars/SplitChars.vue.d.ts +1 -1
  142. package/dist/components/surface/Surface.vue.d.ts +1 -1
  143. package/dist/components/table/Table.vue.d.ts +4 -0
  144. package/dist/components/tabs/SegmentedTabs.vue.d.ts +10 -0
  145. package/dist/components/tabs/index.d.ts +1 -1
  146. package/dist/components/tabs/styles/drag.css +1 -0
  147. package/dist/components/tags-input/TagsInput.vue.d.ts +2 -2
  148. package/dist/components/timeline/ContinuousTimeline.vue.d.ts +1 -1
  149. package/dist/components/timeline/GlassTimeline.vue.d.ts +4 -4
  150. package/dist/components/toast/Toast.vue.d.ts +3 -3
  151. package/dist/components/toast/use-toast.d.ts +4 -4
  152. package/dist/components/typewriter/TypewriterText.vue.d.ts +1 -4
  153. package/dist/components/typewriter/composables/useTypewriter.d.ts +0 -1
  154. package/dist/components/typewriter/utils/graphemes.d.ts +1 -0
  155. package/dist/components/watercolor-dot/WatercolorDot.vue.d.ts +2 -2
  156. package/dist/composables/glass/useGlassBackdropLuminance.d.ts +31 -0
  157. package/dist/composables/glass/webgpu/rendererStatus.d.ts +13 -0
  158. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +3 -0
  159. package/dist/composables/glass/webgpu/webgpuCanvasTypes.d.ts +2 -0
  160. package/dist/composables/motion/springProjection.d.ts +16 -0
  161. package/dist/composables/motion/useAnimatedNumber.d.ts +1 -6
  162. package/dist/composables/motion/useCountup.d.ts +1 -6
  163. package/dist/composables/motion/useDockCtaReceive.d.ts +55 -0
  164. package/dist/composables/motion/useElementMorph.d.ts +8 -0
  165. package/dist/composables/motion/useLiquidPress.d.ts +12 -4
  166. package/dist/composables/motion/useNumericTransition.d.ts +2 -0
  167. package/dist/composables/motion/useTextHighlight.d.ts +2 -1
  168. package/dist/configurator-CSENXXSy.js +311 -0
  169. package/dist/configurator.js +2 -3
  170. package/dist/constellation.js +235 -571
  171. package/dist/controls.js +55 -63
  172. package/dist/{createCanvasLifecycle-DlrcvWbb.js → createCanvasLifecycle-hsFkQVdl.js} +32 -32
  173. package/dist/dark-DIH-blY1.js +70 -0
  174. package/dist/dark.d.ts +1 -2
  175. package/dist/dark.js +2 -20
  176. package/dist/{DataTable-Bxya8nBn.js → data-table-DveMdgBM.js} +231 -120
  177. package/dist/data-table.js +2 -2
  178. package/dist/deck.js +10 -21
  179. package/dist/dialog-BzQxKrUr.js +281 -0
  180. package/dist/dialog.js +2 -3
  181. package/dist/dock.js +561 -428
  182. package/dist/{dockContext-d-WpJN2Z.js → dockContext-4S9qP0Z4.js} +1 -1
  183. package/dist/dom.js +196 -7
  184. package/dist/drawer.js +111 -66
  185. package/dist/dropdown-menu-DORIA52F.js +378 -0
  186. package/dist/dropdown-menu.js +3 -2
  187. package/dist/easing.d.ts +0 -9
  188. package/dist/easing.js +334 -187
  189. package/dist/expandable-container.js +12 -4
  190. package/dist/fading-scroll.js +1 -1
  191. package/dist/focus-scope.js +1 -1
  192. package/dist/forms.js +37 -78
  193. package/dist/fourier-field.js +273 -263
  194. package/dist/fourier-math.d.ts +0 -6
  195. package/dist/fourier-math.js +112 -2
  196. package/dist/glass-ui.css +1 -1
  197. package/dist/glass-ui.js +131 -195
  198. package/dist/handmark.d.ts +0 -2
  199. package/dist/handmark.js +82 -82
  200. package/dist/header-ribbon.js +41 -30
  201. package/dist/{IconChip-CwLmBJ_K.js → icon-chip-BWuxz1-u.js} +1 -1
  202. package/dist/icon-chip.js +1 -1
  203. package/dist/{IconTooltip-D9sbK-Mk.js → icon-tooltip-CO6rw0dZ.js} +1 -1
  204. package/dist/icon-tooltip.js +1 -1
  205. package/dist/index.d.ts +0 -1
  206. package/dist/infinite-scroll.d.ts +0 -1
  207. package/dist/infinite-scroll.js +17 -15
  208. package/dist/instrument-chassis.js +1 -1
  209. package/dist/keyboard.js +104 -2
  210. package/dist/label.js +1 -1
  211. package/dist/labeled-field.js +95 -69
  212. package/dist/liquid-grid.js +173 -162
  213. package/dist/metric-badge.js +3 -3
  214. package/dist/metric-cell.js +2 -2
  215. package/dist/metric-stack.js +1 -1
  216. package/dist/motion-core.js +15 -16
  217. package/dist/motion-curves.d.ts +0 -20
  218. package/dist/motion.js +59 -58
  219. package/dist/{Notification-DQv2cOh9.js → notification-DVs7ODMg.js} +17 -8
  220. package/dist/notification.js +1 -1
  221. package/dist/{NumberFieldContent-BkE7xPS9.js → number-field-PvkGedHk.js} +2 -2
  222. package/dist/number-field.js +1 -1
  223. package/dist/pager-dots.js +1 -1
  224. package/dist/paper-backdrop.js +31 -2
  225. package/dist/{PopoverContent-DOtszFWK.js → popover-WMgyRSyN.js} +7 -2
  226. package/dist/popover.js +1 -1
  227. package/dist/procedural-color.wgsl-B9mLK7v0.js +377 -0
  228. package/dist/progress-C-HHuFZy.js +192 -0
  229. package/dist/progress.js +2 -2
  230. package/dist/pulse.js +3 -1
  231. package/dist/reactive.js +19 -3
  232. package/dist/rendererStatus-C2-zC2Q-.js +40 -0
  233. package/dist/{resolveCanvasColor-B3L-akX0.js → resolveCanvasColor-yarP5bdk.js} +1 -1
  234. package/dist/scroll-progress-rim.js +1 -1
  235. package/dist/search.js +187 -146
  236. package/dist/{SelectScrollDownButton-CDtwaWkZ.js → select-BIv4R3Ir.js} +109 -44
  237. package/dist/select.js +2 -4
  238. package/dist/separator-CBU94kTM.js +62 -0
  239. package/dist/separator.js +1 -1
  240. package/dist/sidebar.js +1 -1
  241. package/dist/slider-Cc_qw6GA.js +166 -0
  242. package/dist/slider.js +1 -1
  243. package/dist/sortable-list.js +43 -43
  244. package/dist/styles/accessibility.css +1 -0
  245. package/dist/styles/components.css +1 -1
  246. package/dist/styles/glass/control-surfaces.css +1 -1
  247. package/dist/styles/glass/glass-capsule.css +1 -1
  248. package/dist/styles/glass/ladder.css +1 -1
  249. package/dist/styles/glass/liquid-fill.css +1 -1
  250. package/dist/styles/glass/material-roles.css +1 -0
  251. package/dist/styles/glass/material.css +1 -1
  252. package/dist/styles/glass/surface-axis.css +1 -1
  253. package/dist/styles/glass/surfaces-pager.css +1 -1
  254. package/dist/styles/glass/surfaces.css +1 -1
  255. package/dist/styles/glass.css +1 -1
  256. package/dist/styles/index.css +1 -1
  257. package/dist/styles/theme/bridges.css +1 -1
  258. package/dist/styles/tokens/glass-fx.css +1 -1
  259. package/dist/styles/tokens/glass.css +1 -1
  260. package/dist/styles/tokens/offsets.css +1 -1
  261. package/dist/styles/tokens/scale-paper.css +1 -1
  262. package/dist/styles/tokens/scheme-spring.css +1 -1
  263. package/dist/styles/tokens/shadow.css +1 -1
  264. package/dist/styles/tokens.d.ts +53 -0
  265. package/dist/styles/tokens.ts +58 -0
  266. package/dist/styles/typography/scale.css +1 -1
  267. package/dist/styles/typography/semantic.css +1 -1
  268. package/dist/styles/typography/utilities.css +1 -1
  269. package/dist/styles/utilities/base.css +1 -1
  270. package/dist/styles/utilities/btn.css +1 -1
  271. package/dist/styles/utilities/components.css +1 -1
  272. package/dist/styles/utilities.css +1 -1
  273. package/dist/{Switch-BPBfhMU3.js → switch-Boj4Ucn5.js} +1 -1
  274. package/dist/switch.js +1 -1
  275. package/dist/tabs.js +51 -45
  276. package/dist/timeline.js +2 -2
  277. package/dist/toast.js +1 -1
  278. package/dist/{ToggleGroupItem-DNWx2aSW.js → toggle-group-BPchFsns.js} +10 -7
  279. package/dist/toggle-group.js +1 -1
  280. package/dist/tokens.d.ts +1 -53
  281. package/dist/tokens.js +1 -1
  282. package/dist/{TooltipProvider-GtfYdSVf.js → tooltip-BmOQJzh0.js} +1 -0
  283. package/dist/tooltip.js +1 -1
  284. package/dist/typewriter.js +151 -166
  285. package/dist/{useAccentTone-D25DxviG.js → useAccentTone-C-p6WdPe.js} +1 -1
  286. package/dist/{useAnimatedNumber-2XC4aRB6.js → useAnimatedNumber-BRVVaFFc.js} +1 -1
  287. package/dist/useDockCtaReceive-CK-RLASa.js +257 -0
  288. package/dist/{useGooMorph-CU1pwuC6.js → useGooMorph-D1F6QJlH.js} +140 -59
  289. package/dist/{useIntersectionPause-Cmt5Tnv9.js → useIntersectionPause-B-dbxl9w.js} +1 -1
  290. package/dist/useLiquidPress-BYcwwGQV.js +68 -0
  291. package/dist/{useRAFLoop-CvOo_kgb.js → useRAFLoop-BtwQ9DyY.js} +1 -1
  292. package/dist/{useScrollProgress-C-yImzhU.js → useScrollProgress-DZI4nf4v.js} +1 -1
  293. package/dist/{useSelectionGroup-Btpf24aY.js → useSelectionGroup-LDzBdR1Y.js} +3 -3
  294. package/dist/{useTabRovingFocus-CG1H1k1J.js → useTabRovingFocus-DkLYwo4L.js} +1 -1
  295. package/dist/{useTouchGate-BlegwvwL.js → useTouchGate-Cj5fOkTv.js} +1 -1
  296. package/dist/valueDomain-B8L04u3U.js +13 -0
  297. package/dist/watercolor-dot.js +5 -3
  298. package/package.json +5 -12
  299. package/src/styles/accessibility.css +48 -0
  300. package/src/styles/glass/glass-capsule.css +2 -2
  301. package/src/styles/glass/ladder.css +1 -1
  302. package/src/styles/glass/material-roles.css +18 -0
  303. package/src/styles/glass/material.css +18 -12
  304. package/src/styles/glass.css +5 -5
  305. package/src/styles/index.css +38 -30
  306. package/src/styles/theme/bridges.css +0 -6
  307. package/src/styles/tokens/glass-fx.css +1 -5
  308. package/src/styles/tokens/glass.css +1 -2
  309. package/src/styles/tokens/offsets.css +0 -1
  310. package/src/styles/tokens/property-regs.css +11 -10
  311. package/src/styles/tokens/scale-paper.css +0 -1
  312. package/src/styles/tokens/scheme-motion.css +3 -0
  313. package/src/styles/tokens/scheme-spring.css +0 -10
  314. package/src/styles/tokens/shadow.css +3 -29
  315. package/src/styles/tokens.ts +58 -0
  316. package/src/styles/typography/scale.css +5 -2
  317. package/src/styles/typography/semantic.css +5 -5
  318. package/src/styles/typography/utilities.css +5 -5
  319. package/src/styles/utilities/base.css +5 -5
  320. package/src/styles/utilities/btn.css +6 -27
  321. package/src/styles/utilities.css +4 -6
  322. package/dist/ConfiguratorRow-BV6zPjTM.js +0 -151
  323. package/dist/DialogContent-Bl4v10AC.js +0 -192
  324. package/dist/DialogFooter-C0v4Hz2F.js +0 -168
  325. package/dist/PaperBackdrop-BYwE8_kg.js +0 -31
  326. package/dist/Progress-uWLyXE7J.js +0 -308
  327. package/dist/SelectGroup-BuEptUsa.js +0 -31
  328. package/dist/SelectSeparator-4QGephvr.js +0 -49
  329. package/dist/Separator-DqJ6PfOd.js +0 -44
  330. package/dist/color-Bp5jmv4Z.js +0 -86
  331. package/dist/components/carousel/GlassCarouselPager.vue.d.ts +0 -50
  332. package/dist/components/combobox/ComboboxSeparator.vue.d.ts +0 -18
  333. package/dist/components/combobox/ComboboxViewport.vue.d.ts +0 -18
  334. package/dist/components/constellation/composables/constellationGLSetup.d.ts +0 -10
  335. package/dist/components/constellation/composables/constellationWGPUSetup.d.ts +0 -19
  336. package/dist/components/constellation/composables/uniformBridgeWGPU.d.ts +0 -66
  337. package/dist/components/constellation/shaders/constellation-lines.glsl.d.ts +0 -2
  338. package/dist/components/constellation/shaders/constellation-lines.wgsl.d.ts +0 -1
  339. package/dist/components/constellation/shaders/constellation-points.glsl.d.ts +0 -2
  340. package/dist/components/constellation/shaders/constellation-points.wgsl.d.ts +0 -1
  341. package/dist/components/deck/composables/useDeckSpring.d.ts +0 -22
  342. package/dist/components/dialog/DialogScrollContent.vue.d.ts +0 -33
  343. package/dist/components/progress/ProgressSectioned.vue.d.ts +0 -47
  344. package/dist/components/progress/useProgressGeometry.d.ts +0 -60
  345. package/dist/components/section/Section.vue.d.ts +0 -73
  346. package/dist/components/section/index.d.ts +0 -1
  347. package/dist/components/stacked-icons/StackedIconGroup.vue.d.ts +0 -30
  348. package/dist/components/stacked-icons/index.d.ts +0 -2
  349. package/dist/components/stacked-icons/types.d.ts +0 -19
  350. package/dist/dropdown-menu-DaGlVdp9.js +0 -421
  351. package/dist/math-CIEcwsYi.js +0 -112
  352. package/dist/procedural-color.wgsl-ByduxnzV.js +0 -4
  353. package/dist/slider-Cxuj_W_H.js +0 -151
  354. package/dist/stacked-icons.d.ts +0 -1
  355. package/dist/stacked-icons.js +0 -98
  356. package/dist/styles/cards.css +0 -1
  357. package/dist/styles/completion-seal.css +0 -1
  358. package/dist/styles/dock/adaptive-legibility.css +0 -1
  359. package/dist/styles/dock/dock.css +0 -1
  360. package/dist/styles/dock/layer-group.css +0 -1
  361. package/dist/styles/dock/layers.css +0 -1
  362. package/dist/styles/dock/overflow.css +0 -1
  363. package/dist/styles/dock/popover.css +0 -1
  364. package/dist/styles/dock/shape.css +0 -1
  365. package/dist/styles/dock/shell.css +0 -1
  366. package/dist/styles/dock-controls/icon-button.css +0 -1
  367. package/dist/styles/dock-controls.css +0 -1
  368. package/dist/styles/dock.css +0 -1
  369. package/dist/styles/drawer.css +0 -1
  370. package/dist/styles/icon-chip.css +0 -1
  371. package/dist/styles/instrument-chassis.css +0 -1
  372. package/dist/styles/scroll-progress-rim.css +0 -1
  373. package/dist/styles/select.css +0 -1
  374. package/dist/styles/tabs/segmented-tabs-drag.css +0 -1
  375. package/dist/styles/utilities/animate.css +0 -0
  376. package/dist/useConfiguratorState-Dq35N_7t.js +0 -167
  377. package/dist/useDockCtaReceive-BgMmeINo.js +0 -161
  378. package/dist/useGlobalDark-DjKMEQE2.js +0 -53
  379. package/dist/useGpuSubstrate-DcY584kE.js +0 -347
  380. package/dist/useInterval-ZATRi-1T.js +0 -18
  381. package/dist/useKeyboardShortcuts-ynVmNFo3.js +0 -104
  382. package/dist/useLiquidPress-BXNHydZh.js +0 -40
  383. package/dist/useTextHighlight-C46Le9u_.js +0 -72
  384. package/dist/useViewportReady-c0isoKL8.js +0 -191
  385. package/src/styles/card-scroll.css +0 -189
  386. package/src/styles/cards.css +0 -485
  387. package/src/styles/completion-seal.css +0 -205
  388. package/src/styles/configurator.css +0 -359
  389. package/src/styles/dialog-placement.css +0 -68
  390. package/src/styles/dock/adaptive-legibility.css +0 -119
  391. package/src/styles/dock/crossfade.css +0 -139
  392. package/src/styles/dock/cta-seat.css +0 -87
  393. package/src/styles/dock/density.css +0 -458
  394. package/src/styles/dock/dock.css +0 -199
  395. package/src/styles/dock/fisheye.css +0 -81
  396. package/src/styles/dock/layer-group.css +0 -329
  397. package/src/styles/dock/layers.css +0 -438
  398. package/src/styles/dock/morph.css +0 -455
  399. package/src/styles/dock/overflow.css +0 -332
  400. package/src/styles/dock/popover.css +0 -249
  401. package/src/styles/dock/search.css +0 -68
  402. package/src/styles/dock/section.css +0 -59
  403. package/src/styles/dock/shape.css +0 -188
  404. package/src/styles/dock/shell-regions.css +0 -73
  405. package/src/styles/dock/shell.css +0 -500
  406. package/src/styles/dock-controls/dark-mode-toggle.css +0 -123
  407. package/src/styles/dock-controls/icon-button.css +0 -221
  408. package/src/styles/dock-controls/tab-button.css +0 -143
  409. package/src/styles/dock-controls/touch-floor.css +0 -119
  410. package/src/styles/dock-controls/triggers.css +0 -157
  411. package/src/styles/dock-controls.css +0 -92
  412. package/src/styles/dock.css +0 -219
  413. package/src/styles/drawer.css +0 -434
  414. package/src/styles/feedback-tone.css +0 -104
  415. package/src/styles/icon-chip.css +0 -256
  416. package/src/styles/instrument-chassis.css +0 -449
  417. package/src/styles/menu.css +0 -187
  418. package/src/styles/scroll-progress-rim.css +0 -87
  419. package/src/styles/segmented-tabs.css +0 -424
  420. package/src/styles/select.css +0 -201
  421. package/src/styles/tabs/segmented-tabs-drag.css +0 -200
  422. package/src/styles/utilities/animate.css +0 -29
  423. /package/dist/{coalesce-metric-B8o7zT9u.js → coalesce-metric-znAcLzkB.js} +0 -0
  424. /package/dist/{CollapsibleContent-DiHcB_HH.js → collapsible-bPzS1aQk.js} +0 -0
  425. /package/dist/{compile-C55K3P9g.js → compile-DK3Fri1B.js} +0 -0
  426. /package/dist/{styles → components/_shared}/feedback-tone.css +0 -0
  427. /package/dist/{styles → components/_shared}/menu.css +0 -0
  428. /package/dist/{styles → components/card}/card-scroll.css +0 -0
  429. /package/dist/{styles/configurator.css → components/configurator/styles.css} +0 -0
  430. /package/dist/{styles/dock-controls → components/controls}/dark-mode-toggle.css +0 -0
  431. /package/dist/{styles/dialog-placement.css → components/dialog/placement.css} +0 -0
  432. /package/dist/{styles/dock-controls → components/dock/styles/controls}/tab-button.css +0 -0
  433. /package/dist/{styles/dock-controls → components/dock/styles/controls}/triggers.css +0 -0
  434. /package/dist/{styles/dock → components/dock/styles}/crossfade.css +0 -0
  435. /package/dist/{styles/dock → components/dock/styles}/cta-seat.css +0 -0
  436. /package/dist/{styles/dock → components/dock/styles}/fisheye.css +0 -0
  437. /package/dist/{styles/dock → components/dock/styles}/morph.css +0 -0
  438. /package/dist/{styles/dock → components/dock/styles}/search.css +0 -0
  439. /package/dist/{styles/dock → components/dock/styles}/section.css +0 -0
  440. /package/dist/{styles/dock → components/dock/styles}/shell-regions.css +0 -0
  441. /package/dist/{styles/segmented-tabs.css → components/tabs/styles/segmented.css} +0 -0
  442. /package/dist/{constants-D8lSMkOz.js → constants-DRZmNIY-.js} +0 -0
  443. /package/dist/{createContext-BQ1Gy_LB.js → createContext-FU0n5MGK.js} +0 -0
  444. /package/dist/{flow.glsl-CVqPSj8_.js → flow.glsl-DEGFGE11.js} +0 -0
  445. /package/dist/{FocusScope-BzKwhsBn.js → focus-scope-DUTKveod.js} +0 -0
  446. /package/dist/{InstrumentChassis-Dss5Tjcm.js → instrument-chassis-Cvstg4_U.js} +0 -0
  447. /package/dist/{Label-C84TaQiw.js → label-Cj38tJKG.js} +0 -0
  448. /package/dist/{menuItemVariants-DbO-Fr74.js → menuItemVariants-D6AOzzND.js} +0 -0
  449. /package/dist/{pointerFieldMappings-4VtmkOWv.js → pointerFieldMappings-CZojkgKj.js} +0 -0
  450. /package/dist/{presets-B07HzyKd.js → presets-CxeNvxuO.js} +0 -0
  451. /package/dist/{prng-B0PLRmR6.js → prng-Dz2_9RJu.js} +0 -0
  452. /package/dist/{scrollReader-DzYqPQ6V.js → scrollReader-C2oK9Hb8.js} +0 -0
  453. /package/dist/{supportsCssTimeline-Ie4xJFbD.js → supportsCssTimeline-Dz-GVxXM.js} +0 -0
  454. /package/dist/{Toaster-C_-WeU9W.js → toast-kAbchIN2.js} +0 -0
  455. /package/dist/{useControlSize-DJwe-7ZQ.js → useControlSize-CFfOk8I-.js} +0 -0
  456. /package/dist/{useDocumentVisibility-CpJGUgcJ.js → useDocumentVisibility-YeBDGqtI.js} +0 -0
  457. /package/dist/{useDragMorph-65ihHePq.js → useDragMorph-7ygF9O0m.js} +0 -0
  458. /package/dist/{useDragVelocity-BWcNMCux.js → useDragVelocity-CbMZEBaC.js} +0 -0
  459. /package/dist/{useFuzzySearch-KslRxiJY.js → useFuzzySearch-BOgep7RE.js} +0 -0
  460. /package/dist/{useLeadTrail-DOH4XkL1.js → useLeadTrail-BYu8dq4G.js} +0 -0
  461. /package/dist/{usePointerVelocityField-CwXyeW0Z.js → usePointerVelocityField-BdvnO0py.js} +0 -0
  462. /package/dist/{useResizeObserver-DDuoBeBo.js → useResizeObserver-BcUTquV7.js} +0 -0
  463. /package/dist/{useResolveTokenColor-DVT5kwv6.js → useResolveTokenColor-C07e-qaT.js} +0 -0
  464. /package/dist/{useRoutePointer-DL7I0gY4.js → useRoutePointer-BDNMFN73.js} +0 -0
  465. /package/dist/{useSpringMount-CNvvgGiC.js → useSpringMount-C6-DBx4e.js} +0 -0
  466. /package/dist/{useTimer-CkDV8SC2.js → useTimer-D8koDvJS.js} +0 -0
  467. /package/dist/{useUserInvalidAria-Bkruei7M.js → useUserInvalidAria-Cr4nR3tu.js} +0 -0
  468. /package/dist/{vReveal-DUmiEkX_.js → vReveal-DZfWl9XI.js} +0 -0
  469. /package/dist/{vSpecular-DlYN0UZy.js → vSpecular-CQFmLNzA.js} +0 -0
  470. /package/dist/{writeVelocityWeight-D1rvdxJu.js → writeVelocityWeight-D_AcvTsE.js} +0 -0
@@ -1,455 +0,0 @@
1
- /* dock/morph.css — the SINGLE-SCALAR morph chrome + state response (AX.W06 carve).
2
- *
3
- * Carved from the dock.css god-module (slice 25). This partial owns the dock's
4
- * DYNAMIC chrome: the W01 `--dock-expand-t` directional expanded-ness derivation,
5
- * the root background/border/padding interpolation on the ONE `--dock-morph-t`
6
- * clock, the collapsed/summary state (the W45-TUNE Q1 proportioned pill + the
7
- * summary glyph reveal), the held / open-descendant surface response, and the
8
- * W55 adaptive-legibility `--glass-backdrop: light` bucket. The static structural
9
- * surface (root, clip, variants, persistent) lives in dock/shell.css.
10
- *
11
- * @import-ed by dock.css in cascade order, in the SAME `@layer components` — the
12
- * carve is isomorphic (same layer, same source order → ZERO visual delta). */
13
-
14
- @layer components {
15
- /* AX.W01 — the root chrome morphs off the SINGLE `--dock-morph-t` scalar, NOT a
16
- CSS transition (the prior `padding/scale/radius var(--dock-motion-resize)` +
17
- `background/border-color var(--dock-motion-standard)` transition list — TWO
18
- curves on TWO durations — is DELETED). `--dock-expand-t` is the directional
19
- expanded-ness (0 = collapsed look, 1 = expanded look) derived from the
20
- per-swap morph scalar + the synchronously-set `.expanded`/`.collapsed` class:
21
- the box width AND the root padding/radius/color move on ONE clock. The
22
- per-frame writes drive the registered `<number>` scalar; the `calc()` reads
23
- below interpolate composited. Under PRM the spring's `respectReducedMotion`
24
- settles instantly (the scalar jumps 0→1 in one frame → the chrome snaps). */
25
-
26
- /* `--dock-expand-t` — the directional expanded-ness. `--dock-morph-t` is a
27
- REGISTERED `@property` (initial-value 0), so it is NEVER guaranteed-invalid:
28
- `var(--dock-morph-t, 1)` reads 0 at REST (the fallback is DEAD), which would
29
- resolve every expanded dock to expand-t 0 → the collapsed resting look (the
30
- pill-radius + collapsed bg/border/padding regression). So the resting value is
31
- stated STATICALLY per class, and ONLY while a morph is in flight
32
- (`[data-morphing]` armed on the root by useLayerTransition, cleared on settle)
33
- does expand-t track the live spring scalar. The class is ALREADY the END state
34
- during the morph, so the read resolves the correct in-flight blend (collapse
35
- 1→0 via `1 - t`; expand 0→1 via `t`); on settle `[data-morphing]` clears and
36
- expand-t snaps to the exact class endpoint. */
37
- /* BB.W-DOCK-MORPH-FAMILY (f) — the `--dock-expand-t` directional derivation is
38
- ORIENTATION-AGNOSTIC. The derivation reads the per-swap morph scalar + the
39
- synchronously-set `.expanded`/`.collapsed` class — there is NO axis in this
40
- blend (a `t`-vs-`1-t` directional read), so the `:not(.vertical)` qualifier is
41
- DROPPED here. A collapsing VERTICAL dock now derives the same in-flight
42
- expand-t (the box-size arm `layers.css` already morphs `block-size` on
43
- `--dock-morph-t`; this gives the chrome the matching directional scalar). The
44
- earlier "a vertical rail is ALWAYS-EXPANDED" assumption is retired since
45
- vertical-collapse shipped — `alwaysExpanded` defaults false (GlassDock.vue),
46
- so a genuinely-collapsing vertical dock gets its chrome on the ONE clock. */
47
- .glass-dock.expanded,
48
- .glass-dock.always-expanded {
49
- --dock-expand-t: 1;
50
- }
51
-
52
- .glass-dock.collapsed {
53
- --dock-expand-t: 0;
54
- }
55
-
56
- /* BG.W-DOCK-PANE-OVERLAP (F3.R2, box axis) — the `[data-morphing]` derivation arms
57
- are gated `:not([data-pane-swap])`. During a NESTED `<DockLayerGroup>` pane swap the
58
- orchestrator arms `[data-pane-swap]` (dockMorphContext.ensureSpringRunning), so these
59
- arms DO NOT match and `--dock-expand-t` falls back to the static class endpoint above
60
- (`.expanded` → 1). The plate box (`--dock-live`, layers.css) + the root chrome
61
- (bg/border/padding/blur, below) therefore HOLD at the expanded look while
62
- `--dock-morph-t` still glides 0→1 for the overlapped crossfade + the inner stagger
63
- (both read `--dock-morph-t` directly, unaffected by this pin). A pane swap on an
64
- already-expanded nested dock no longer collapses the plate to the 53.68px pill (the
65
- §2.2 box-dips-below-both-endpoints defect). The OUTER collapse↔expand pair carries no
66
- `[data-pane-swap]`, so its box morph is byte-identical to HEAD. The inner
67
- `.dock-layer-stack`/`.dock-layer--summary` `--dock-expand-t` writes are DESCENDANT
68
- overrides (still `[data-morphing]`-gated, unscoped) so the stagger/summary reveal is
69
- untouched. */
70
- .glass-dock.expanded[data-morphing]:not([data-pane-swap]),
71
- .glass-dock.always-expanded[data-morphing]:not([data-pane-swap]) {
72
- --dock-expand-t: var(--dock-morph-t);
73
- }
74
-
75
- .glass-dock.collapsed[data-morphing]:not([data-pane-swap]) {
76
- --dock-expand-t: calc(1 - var(--dock-morph-t));
77
- }
78
-
79
- /* BC.W-DOCK-SHRINK-BLUR — the BB.W-LIQUID-REVEAL bloom-from-source decongest is a
80
- TRANSIENT, not a resting state. HEAD keyed the bare `.glass-dock` self-blur off
81
- `--dock-expand-t`, which AT REST resolves to the class endpoint → a PERMANENT 3px
82
- self-blur on the resting collapsed dock, STACKED on the 9px backdrop (the "blurry
83
- mess when shrunken", glass-dock-codebase §2.4). The FIX gates the self-blur (a
84
- SURFACE `filter` arm on the dock's own pixels — NOT `backdrop-filter`, so the glass
85
- plate blur is never clobbered; compositor-safe) to `[data-morphing]`: at REST the
86
- dock is CRISP; ONLY mid-morph does the 3px bloom settle to 0 as the pill
87
- materializes (the iOS-27 bloom, gesture-only). The backdrop blur (the glass
88
- material) is UNTOUCHED. PRM zeroes it (the carve below). Clean break, no alias. */
89
- .glass-dock {
90
- --dock-reveal-blur: 0px; /* resting: CRISP — no own-pixel self-blur */
91
- }
92
- .glass-dock[data-morphing] {
93
- /* BD.W-DOCK-CORE (A4) — the blur DIAL-BACK. The peak drops 3px → 1.25px AND the
94
- decay is FRONT-LOADED: the `clamp(0, (0.5 - expand-t)/0.5, 1)` ramp drives the
95
- blur 1.25px → 0 as expand-t crosses 0 → 0.5, then HOLDS 0 for the back half — a
96
- brief decongest FLASH, crisp by the morph's midpoint (the icons never read soft
97
- through the slow grow). The resting self-blur stays 0px (above, untouched). The
98
- 9px BACKDROP blur (the material) is untouched — only the OWN-pixel self-blur is
99
- dialed. PRM → 0 (the carve below). */
100
- --dock-reveal-blur: 1.25px; /* the transient decongest bloom — mid-morph only */
101
- filter: blur(
102
- calc(
103
- var(--dock-reveal-blur) *
104
- clamp(0, calc((0.5 - var(--dock-expand-t)) / 0.5), 1)
105
- )
106
- );
107
- }
108
-
109
- /* The morphing root chrome — background / border-color interpolate between the
110
- collapsed and expanded endpoints on the ONE `--dock-expand-t` scalar. Scoped
111
- to the horizontal dock (`:not(.vertical)`) — the inline-axis aperture morph;
112
- a vertical dock collapses its BLOCK axis (the summary/full FLIP from the
113
- orchestrator) and reads its own surface plate (shell.css `.glass-dock.vertical`).
114
- The two color axes blend in srgb (the house mix the token ladder speaks). The
115
- `.collapsed` discrete bg/border declarations are RETIRED — this block is the
116
- single authority, and at rest `--dock-expand-t` resolves to the class endpoint
117
- (0 collapsed / 1 expanded) so the resting look is exact.
118
- AZ.W-DOCK-TAXONOMY — the `variant-dock` class is gone; `.glass-dock:not(.vertical)`
119
- IS the horizontal dock now (no second-way to express orientation). */
120
- /* BI.W-DOCK-SPINE — the collapsed↔expanded SURFACE interp retargeted onto the L0
121
- `.dock-plate` (the box is structural; the plate is the glass). The interp still
122
- reads the SAME `--dock-expand-t` scalar + the inheriting `--glass-tint-*` tokens;
123
- only the paint target moves to the plate so the box carries no competing bg. */
124
- .glass-dock:not(.vertical) .dock-plate {
125
- /* AY.W-A11Y-PERF O-1 / AZ.W-ADAPTIVE-AUTO Arm 1 — BOTH morph endpoints compose
126
- the W55 oklab adaptive tint so the self-engage darken (the unconditional
127
- `:where(.glass-dock)` rule in the sibling adaptive-legibility.css partial
128
- re-points the element-level
129
- `--glass-tint-source`/`--glass-tint-strength`) reaches the LIVE
130
- horizontal dock surface in BOTH the expanded AND the COLLAPSED look (this
131
- 0,3,0 morph interp OVERRIDES the 0,1,0 shell.css bg, so the tint must be
132
- applied HERE — and the COLLAPSED endpoint `--glass-bg-wash` must carry it too,
133
- else a collapsed dock over light paints the un-darkened wash and the plate
134
- vanishes — the C5-2 ΔL≈0.01 collapse, re-surfaced on the collapsed endpoint).
135
- The srgb transition mix between the two TINTED endpoints is preserved (the
136
- in-flight morph frames are sub-perceptual); at the `0%` rest default both
137
- inner oklab mixes are no-ops so this is byte-identical to today. */
138
- background: color-mix(
139
- in srgb,
140
- color-mix(
141
- in oklab,
142
- var(--glass-bg-dock, var(--glass-bg-resting)),
143
- var(--glass-tint-source) var(--glass-tint-strength)
144
- )
145
- calc(var(--dock-expand-t) * 100%),
146
- color-mix(
147
- in oklab,
148
- var(--glass-bg-wash),
149
- var(--glass-tint-source) var(--glass-tint-strength)
150
- )
151
- );
152
- border-color: color-mix(
153
- in srgb,
154
- var(--glass-border-dock, var(--glass-border-resting))
155
- calc(var(--dock-expand-t) * 100%),
156
- var(--glass-border-floating)
157
- );
158
- }
159
-
160
- /* BB.W-DOCK-MORPH-FAMILY (f) — the VERTICAL chrome-interp un-gate (BB-1). The
161
- bg/border interp is AXIS-INVARIANT (a color mix reads the scalar with no
162
- axis), so the vertical dock interpolates its plate between the SAME
163
- collapsed↔expanded endpoints on the SAME `--dock-expand-t` scalar the
164
- horizontal block reads — the ONE `DOCK_SPRING` clock, no second clock, no
165
- re-added CSS transition. This PARALLEL `.vertical` block (specificity 0,2,0,
166
- source-order AFTER the shell.css static `.glass-dock.vertical` plate so it
167
- wins at equal specificity) is the inverse-axis twin of the horizontal block
168
- above — the box-size morph already rides `block-size` on `layers.css`'s
169
- `--dock-morph-t`; this gives the plate chrome the matching directional blend
170
- so the vertical collapse↔expand no longer SNAPS its bg/border discretely. At
171
- the rest endpoints `--dock-expand-t` resolves to the class value (0 collapsed
172
- / 1 expanded), so the resting look is exact — byte-equivalent to the shell.css
173
- static plate it supersedes during the morph. */
174
- /* BI.W-DOCK-SPINE — the VERTICAL surface interp retargeted onto `.dock-plate`
175
- (0,3,0 — wins over shell.css's static `.glass-dock.vertical .dock-plate` during the
176
- morph). */
177
- .glass-dock.vertical .dock-plate {
178
- background: color-mix(
179
- in srgb,
180
- color-mix(
181
- in oklab,
182
- var(--glass-bg-dock, var(--glass-bg-wash)),
183
- var(--glass-tint-source) var(--glass-tint-strength)
184
- )
185
- calc(var(--dock-expand-t) * 100%),
186
- color-mix(
187
- in oklab,
188
- var(--glass-bg-wash),
189
- var(--glass-tint-source) var(--glass-tint-strength)
190
- )
191
- );
192
- border-color: color-mix(
193
- in srgb,
194
- var(--glass-border-dock, var(--glass-border-wash))
195
- calc(var(--dock-expand-t) * 100%),
196
- var(--glass-border-floating)
197
- );
198
- }
199
-
200
- /* The padding morph is split out + scoped `:not(.dock-overflow-wrap)` so the
201
- wrap variant's own padding rules (W04 territory — `.dock-overflow-wrap` +
202
- its `@media` snap-back) are NOT clobbered by this higher-specificity longhand.
203
-
204
- AY.W-DOCK-CHROME §1 — the LAYOUT-ISOLATION fix: the collapse↔expand morph is
205
- an INLINE-WIDTH aperture by contract ("horizontal docks animate width"), so
206
- the BLOCK axis MUST be invariant across the morph — otherwise the dock's
207
- outer height shrinks ~4px on collapse (the collapsed-pad 0.25rem vs the
208
- expanded pad-block 0.375rem, ×2) and, because a free-floating / inline dock
209
- sits in normal flow (`display:inline-flex`), that height delta REFLOWS its
210
- siblings — the page content jumped as the dock animated (the user's 13:27
211
- audit item 1). The fix holds `padding-block` PINNED at the expanded value in
212
- BOTH states (no `--dock-expand-t` interpolation on the block axis) so the
213
- outer block-size is constant; ONLY `padding-inline` morphs to tighten the
214
- collapsed pill inline. The collapsed circle is unaffected — its diameter is
215
- owned by the summary pane's own symmetric `block-size` + `aspect-ratio:1`
216
- (the `.collapsed .dock-layer--summary` rule below), CENTRED on the dock's
217
- stable-height plate by the root `align-items:center`, not by the root pad. So
218
- the morph reflows NOTHING vertically: 0px container-height delta. */
219
- .glass-dock:not(.vertical):not(.dock-overflow-wrap) {
220
- /* The collapsed inline-pad endpoint is the EXPANDED block pad (max'd with the
221
- consumer `--dock-collapsed-padding` handle) so the height-pinned collapsed
222
- pill is SYMMETRIC → a clean circle at the `--radius-dock` 9999px. The block
223
- axis is pinned to the expanded pad (below), so matching the inline collapsed
224
- endpoint to it keeps the box square (the B4 "symmetric collapsed padding
225
- keeps the pill a circle" intent, preserved through the §1 height-pin). The
226
- `max()` lets a consumer set `--dock-collapsed-padding` LARGER for a looser
227
- pill but never SMALLER than the block pad (which would re-introduce the
228
- narrower-than-tall oval the height-pin would otherwise leave). */
229
- --dock-pad-collapsed: max(
230
- var(--dock-padding-block, 0.375rem),
231
- var(--dock-collapsed-padding, 0px)
232
- );
233
- /* block padding is INVARIANT — the expanded value, both states (the
234
- layout-isolation contract above): the inline aperture morphs, the block
235
- axis is pinned so the outer height never changes → 0px container reflow. */
236
- padding-block: var(--dock-padding-block, 0.375rem);
237
- padding-inline: calc(
238
- var(--dock-pad-collapsed) +
239
- (var(--dock-padding-inline, 0.5rem) - var(--dock-pad-collapsed)) *
240
- var(--dock-expand-t)
241
- );
242
- }
243
-
244
- /* BB.W-DOCK-MORPH-FAMILY (f) — the VERTICAL padding interp is the AXIS-INVERSE
245
- of the horizontal layout-isolation contract above. The vertical collapse↔
246
- expand is a BLOCK-HEIGHT aperture (the box-size arm morphs `block-size`,
247
- layers.css), so the CROSS (inline) axis MUST be invariant across the morph —
248
- else the dock's outer WIDTH changes on collapse and reflows its horizontal
249
- siblings (the §1 contract, mirrored onto the vertical axis). So `padding-
250
- inline` is PINNED at the expanded inline value in BOTH states, and ONLY
251
- `padding-block` morphs to tighten the collapsed pill on the morph axis. The
252
- collapsed block-pad endpoint is the EXPANDED inline pad (max'd with the
253
- consumer `--dock-collapsed-padding` handle) so the height-pinned-cross collapsed
254
- pill is SYMMETRIC. Specificity 0,2,0 source-order after shell.css's static
255
- `.glass-dock.vertical` padding so this wins at equal specificity; at the rest
256
- endpoints `--dock-expand-t` is the class value so the look is exact. Scoped to
257
- the NON-scroll/non-wrap vertical dock. */
258
- .glass-dock.vertical:not(.dock-overflow-wrap) {
259
- --dock-pad-collapsed: max(
260
- var(--dock-padding-inline, 0.5rem),
261
- var(--dock-collapsed-padding, 0px)
262
- );
263
- /* inline padding is INVARIANT — the cross axis, pinned both states so the
264
- outer inline-size never changes → 0px horizontal sibling reflow. */
265
- padding-inline: var(--dock-padding-inline, 0.5rem);
266
- padding-block: calc(
267
- var(--dock-pad-collapsed) +
268
- (var(--dock-padding-block, 0.375rem) - var(--dock-pad-collapsed)) *
269
- var(--dock-expand-t)
270
- );
271
- }
272
-
273
- /* AX.W01 — the collapsed padding / background / border-color are RETIRED here
274
- (the `--dock-expand-t` morph block above is the single authority for those
275
- three axes — they interpolate, never snap). `.collapsed` keeps only its
276
- non-morphing concerns: the pointer affordance, the centred summary layout,
277
- and the collapsed shadow (box-shadow crossfades discretely — a subtle,
278
- acceptable swap that a `color-mix` cannot blend across its multi-layer
279
- value). */
280
- .glass-dock.collapsed {
281
- cursor: pointer;
282
- justify-content: center;
283
- box-shadow: var(--shadow-dock-override, var(--shadow-dock-collapsed));
284
- }
285
-
286
-
287
- /* AY.W-DOCK-NAV B4 — the collapsed summary is a PERFECT CIRCLE. The `.dock-layer`
288
- base rule (`.glass-dock:not(.vertical) .dock-layer`) locks `height:
289
- var(--dock-layer-height)` (40px) on EVERY layer including the summary; against
290
- the 0.85× `--dock-collapsed-summary-min-size` min-width that made the pane
291
- 40h × 30w — an oval (the user's "circle, not oval"). This rule (1) LIFTS the
292
- height-lock so the summary block-sizes to the SAME token its width floors at,
293
- and (2) floors both axes to that ONE token, so the collapsed pane is a square
294
- and the root's symmetric collapsed padding keeps the pill a circle. The glyph
295
- sits centred on both axes. The `aspect-ratio: 1` belt-and-braces guarantees
296
- 1:1 even if a consumer's collapsed-slot content is wider than the floor. */
297
- .glass-dock.collapsed .dock-layer--summary {
298
- min-width: var(
299
- --dock-collapsed-summary-min-size,
300
- var(--dock-layer-height, 2.5rem)
301
- );
302
- min-block-size: var(
303
- --dock-collapsed-summary-min-size,
304
- var(--dock-layer-height, 2.5rem)
305
- );
306
- block-size: var(
307
- --dock-collapsed-summary-min-size,
308
- var(--dock-layer-height, 2.5rem)
309
- );
310
- height: var(
311
- --dock-collapsed-summary-min-size,
312
- var(--dock-layer-height, 2.5rem)
313
- );
314
- aspect-ratio: 1;
315
- justify-content: center;
316
- }
317
-
318
- /* AX.W45 DK1 — the collapsed/summary glyph appears WITH the pill, no added
319
- delay. The `--summary` pane is the INCOMING pane on collapse, but the shared
320
- stagger ramp reads `--dock-expand-t` which runs 1→0 on collapse — so the
321
- summary glyph used to fade OUT over the back half of the morph and pop in only
322
- at settle (the "shrunken icon does not appear for a while" defect). Keying the
323
- summary pane's stagger scalar to `--dock-morph-t` directly (the per-swap
324
- incoming-ness, 0→1) reveals it as the box settles — appearing WITH the pill.
325
- The summary is a single front-loaded glyph (onset 0), so this lands it at full
326
- opacity by the morph's tail. The `--dock-expand-t` directional scalar stays
327
- the right driver for the box CHROME (bg/border/padding/radius interpolate
328
- between the collapsed↔expanded endpoints); only the summary pane's CONTENT
329
- reveal is decoupled onto the incoming scalar. */
330
- .glass-dock[data-morphing] .dock-layer--summary {
331
- --dock-expand-t: var(--dock-morph-t);
332
- }
333
-
334
- /* AY.W-DOCK-NAV B15 — the EMPTY-collapsed-summary trap. A dock with a
335
- `#persistent` control but NO `#collapsed` slot (the overview first-section
336
- dock) still renders a `.dock-layer--summary` pane that floors to the circle
337
- min-width — so collapsed it read as a WIDE pill: the persistent Home glyph on
338
- the LEFT + an empty circle of dead space on the RIGHT (the measured 84×50
339
- oval). Expanding then grew the content INTO that right-side void, so the
340
- morph read "from the right" not center-out (the user's B15). When the summary
341
- slot is EMPTY (`:not(:has(*))`), collapse it to zero width + no floor so the
342
- persistent control stands alone as the collapsed circle, and the morph grows
343
- symmetrically about the persistent. An empty Vue `#collapsed` slot renders
344
- ZERO child nodes (no whitespace text node either), so `:empty` matches it
345
- exactly — and a flat `:empty` avoids the nested-`:has()` form Lightning CSS
346
- drops. An authored `#collapsed` slot (non-empty summary) keeps its circle
347
- pill. */
348
- .glass-dock.collapsed .dock-layer--summary:empty {
349
- min-width: 0;
350
- inline-size: 0;
351
- padding: 0;
352
- margin: 0;
353
- border: 0;
354
- }
355
-
356
- /* The persistent control IS the collapsed pill in the empty-summary case — drop
357
- the inter-region gap so the collapsed circle is exactly the persistent box. */
358
- .glass-dock.collapsed:has(.dock-layer--summary:empty) .dock-persistent
359
- + .dock-layers {
360
- margin-inline-start: 0;
361
- }
362
-
363
- /* BD.W-DOCK-CORE (A5) — the collapsed persistent pill centers its single glyph on
364
- BOTH axes (the empty-summary case where the #persistent control IS the collapsed
365
- circle). The `--dock-control-safe-inset` padding (background-clip: content-box) must
366
- not shift the glyph off the pill's geometric center — `place-items: center`
367
- belt-and-braces both axes so the shrunken icon reads dead-center (A5 "icons in the
368
- SHRUNKEN state are NOT ALIGNED"). */
369
- .glass-dock.collapsed:has(.dock-layer--summary:empty) .dock-persistent {
370
- display: grid;
371
- place-items: center;
372
- }
373
- .glass-dock.collapsed:has(.dock-layer--summary:empty) .dock-persistent > * {
374
- place-self: center;
375
- }
376
- /* BD.W-DOCK-CORE (A5) — floor the collapsed glyph at the 16px-min the rail glyph
377
- carries (never a sliver inside an inline-flex column). */
378
- .glass-dock.collapsed .dock-persistent svg,
379
- .glass-dock.collapsed .dock-layer--summary svg {
380
- min-width: 1rem;
381
- min-height: 1rem;
382
- }
383
-
384
- /* AW.W3 — the collapsed-hover scale rides the unified dock spring vocabulary.
385
- The `scale var(--dock-motion-resize)` arm was added to the `.glass-dock`
386
- root transition above, so this hover scale settles on the SAME spring curve
387
- the expand morph uses — a collapsed→hover→expand gesture is one continuous
388
- spring, not a `scale`-ease handed off to the width-spring. The hover scale
389
- and the press squish (`--scale-press-dock`) are now one register on the dock
390
- surface.
391
-
392
- AZ.W-DOCK-FLICKER — the `scale` arm is GATED on `:not([data-morphing])` (the
393
- collapse-onset scale-pop fix, C2-2). `.collapsed` flips on SYNCHRONOUSLY when
394
- a hovered dock begins collapsing, but the box is still painted at EXPANDED
395
- width for the morph's leading frames (the `onSwap` pin + 1-rAF measure-defer
396
- in dockMorphContext.ts). The bare `.collapsed:hover { scale: 1.1 }` multiplied
397
- that transient ~535px box, painting a ±24-34px right-edge pop (the user's
398
- "flashing"). Scoping the SCALE to `:not([data-morphing])` makes the +1.1 lift
399
- apply ONLY at rest (the box is the 54px circle then) — during `[data-morphing]`
400
- the hover scale is inert, mirroring the shipped `--dock-expand-t`
401
- `[data-morphing]` precedent above (morph.css:46-53). The surface arms
402
- (background/border/shadow) stay on the bare `:hover` (they don't multiply
403
- geometry, so a hovered collapse keeps its hover read without the pop). */
404
- .glass-dock.collapsed:hover {
405
- box-shadow: var(--shadow-dock-override, var(--shadow-dock));
406
- }
407
- /* BI.W-DOCK-SPINE — the collapsed-hover surface lift retargeted onto the plate
408
- (the box keeps the box-shadow elevation above; the plate carries the glass). */
409
- .glass-dock.collapsed:hover .dock-plate {
410
- background: var(--glass-bg-wash);
411
- border-color: var(--glass-border-floating);
412
- }
413
-
414
- .glass-dock.collapsed:hover:not([data-morphing]) {
415
- scale: var(--dock-collapsed-hover-scale);
416
- will-change: transform; /* BC.W-DOCK-ENGINE move 2 — promote the armed-at-rest scale lift */
417
- }
418
-
419
- /* J.W5.C — held-state substrate response.
420
- *
421
- * When a descendant signals `dockKeepOpen` (e.g. an active slider drag),
422
- * `useDockState.isHeld` flips true and the root carries `data-held`.
423
- * The dock background lifts a tier (resting → floating-equivalent) and
424
- * the border quiets to the floating ring; the change tracks pointer
425
- * movement on `--duration-fast` so it reads as a held-cursor cue, not
426
- * a state change. The same flag is consumed by descendants (Slider
427
- * thumb halo) via `useOptionalDockContext().held` for cross-substrate
428
- * coordination (typed-key canonical shape; O.W2 invariant 25).
429
- */
430
- /* BI.W-DOCK-SPINE — the held-tier surface lift retargeted onto the plate. */
431
- .glass-dock[data-held] .dock-plate {
432
- /* AX.W55 — the held tier threads the oklab tint wrapper (zero-delta at the
433
- `0%` rest default) so the adaptive darken reaches the held state too. */
434
- background: color-mix(
435
- in oklab,
436
- var(--glass-bg-floating, var(--glass-bg-resting)),
437
- var(--glass-tint-source) var(--glass-tint-strength)
438
- );
439
- border-color: var(--glass-border-floating, var(--glass-border-resting));
440
- transition:
441
- background var(--duration-fast) var(--ease-standard),
442
- border-color var(--duration-fast) var(--ease-standard);
443
- }
444
-
445
- /* BD.W-DOCK-CORE (A7) — the whole-plate open-descendant recolor is DELETED (clean
446
- break, no alias). HEAD repainted the ENTIRE dock plate to the floating tier when ANY
447
- descendant overlay opened (a dropdown/select/popover) — 44%α warm-cream → 80.8%α
448
- floating, the user's "a dropdown changes the color of the ENTIRE dock" bug. A
449
- dropdown opening now leaves the dock plate INVARIANT; the open affordance is
450
- TRIGGER-scoped (the trigger's own `[aria-expanded]`/`[data-state=open]` active-fill
451
- in dock-controls/triggers.css). The `[data-held]` (slider-drag) lift above is KEPT —
452
- a legitimate held-cursor cue, not the bug. */
453
-
454
- }
455
-