@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,438 +0,0 @@
1
- /* dock/layers.css — the `.dock-layer` crossfade + hit-test + reveal-stagger
2
- * contract (AX.W06 carve).
3
- *
4
- * Carved from the dock.css god-module (slice 25). This partial owns the dock's
5
- * layer model: the `.dock-layers` grid container + the ratio-FREE convex-blend
6
- * box-size morph (BD.W-DOCK-CORE — `scale: var(--dock-size-scale)` from a
7
- * `--dock-live` blend of two measure-ONCE endpoints `--dock-expanded-px`/
8
- * `--dock-collapsed-px`, BOUNDED by construction off the ONE `--dock-morph-t`
9
- * scalar; NO per-swap `from/to` ratio, NO per-frame layout-axis lerp), the unified
10
- * `.is-active` / `.is-leaving` 3-state crossfade + hit-test contract (the
11
- * a11y-006 anchor), the per-child reveal stagger (the `--dock-stagger-*` ramp),
12
- * and the `layout="grid"` 2D tile-grid arrangement. The `.dock-layer-group` /
13
- * rail / stack live in dock/layer-group.css; the overflow strategies in
14
- * dock/overflow.css.
15
- *
16
- * @import-ed by dock.css in cascade order, in the SAME `@layer components` — the
17
- * carve is isomorphic (same layer, same source order → ZERO visual delta). */
18
-
19
- @layer components {
20
- /* J.W3.A — outer collapsed↔expanded pair drives width via FLIP.
21
- `useLayerTransition` measures the natural width before/after the
22
- slot swap and animates `width` between fixed pixel values via
23
- the `--dock-motion-resize` spring; this eliminates the
24
- `width: auto` non-interpolation diagnosed in R1+R6. The two
25
- layers stack on a CSS grid (1/1 area) and crossfade opacity
26
- in step with the FLIP. Spatial motion (width) is automatically
27
- suppressed by the global `prefers-reduced-motion` gate in
28
- `utilities.css` (which strips width from transition-property).
29
- Opacity transitions remain — the 0.1s shortened cadence in PRM
30
- still reads as a snap.
31
-
32
- J.W3.C — when the active layer's natural width exceeds
33
- `--dock-max-inline-size`, the dock root clips and the layer
34
- scrolls horizontally with a mask-fade. `min-width: 0` lets the
35
- grid item shrink under the cap (default min-content is the
36
- child's intrinsic width which would prevent the clamp). */
37
- /* BG.W-DOCK-CONSUMER-FENCE — the internal-part rules carry a dock-root ANCESTRY
38
- anchor at ZERO specificity cost (`:where(.glass-dock, .dock-layer-group)`), so a
39
- consumer element carrying a coincidental `.dock-layers`/`.dock-layer`-family class
40
- OUTSIDE a dock is never matched (the namespace-leak `visibility:hidden` /
41
- `position:absolute` that silently hid consumer UI). `.dock-layers` + `.dock-layer`
42
- live under `.glass-dock`; `.dock-layer-item-host` lives under `.dock-layer-group`
43
- (a standalone `<DockLayerGroup>` too) — the OR-anchor matches EVERY internal use,
44
- byte-identical (`:where()` is specificity 0,0,0 → same cascade, same source order).
45
- Rules keyed on `.glass-dock`/`.dock-layer-group` ITSELF (the component roots) stay
46
- bare (the identity-collision is the consumer's, out of scope). */
47
- :where(.glass-dock, .dock-layer-group) .dock-layers {
48
- display: grid;
49
- min-width: 0;
50
- }
51
-
52
-
53
- /* ── BD.W-DOCK-CORE — the ratio-FREE convex-blend SIZE (the width-seizure cure) ──
54
- THE BUG THIS RETIRES: the prior morph drove the visible size by an UNBOUNDED
55
- per-swap `from/to` ratio — `--dock-root-scale = max(ratio + (1−ratio)·t, 0.06)`,
56
- a FLOOR with NO CEILING. A degenerate `to` (the FLIP measure racing the content
57
- layout) ran `ratio = from/max(to,1px)` to ~56 → `scaleX(56)` ≈ 2451px on
58
- collapse, or an inversion at the spring's >1 overshoot peak. `transform-origin:
59
- center` kept the centroid clean (cxRange 0), which is exactly why every prior
60
- judge measuring the centroid PASSED while the WIDTH detonated. The whole
61
- per-swap measure-and-arm pipeline + the `--dock-root-*`/`--dock-morph-ratio/scale`
62
- rules are DELETED (clean break, no legacy).
63
-
64
- THE CURE — a convex blend of two POSITIVE measure-ONCE endpoints. The dock
65
- measures its expanded content span + its collapsed box ONCE per content change
66
- (`useDockExpandedSize` writes `--dock-expanded-px`/`--dock-collapsed-px`, NOT a
67
- per-swap rAF race) and the visible size is `--dock-live = collapsed +
68
- (expanded − collapsed)·clamp(0, --dock-morph-t, 1)` → BOUNDED by construction:
69
- a convex blend can NEVER exceed the larger endpoint nor invert below the smaller,
70
- regardless of spring overshoot (the `clamp(0,t,1)` caps the size term). No ratio,
71
- no `from>to` degeneracy, no floor guard (the two endpoints ARE the floors). The box
72
- RESERVES `--dock-expanded-px` (ONE layout solve, CDP-Layout-flat) and the visible
73
- size rides `scale: var(--dock-size-scale)` from `transform-origin: center` —
74
- container-justify-agnostic, center-out by construction (left-anchored / centred /
75
- auto-margin docks ALL grow center-out, no justify detection, no translate). The
76
- endpoints default to a no-op (`expanded == collapsed → scale 1`) so an unmeasured
77
- dock paints neutral. BI.W-DOCK-SPRING-UNIFY (SU2) — the actual `scale:` property is
78
- composed in shape.css as a PURE size morph off `--dock-size-scale` ALONE (the
79
- `--stretch` squish × `--dock-punch-stretch` cartoon-punch deformation zoo is
80
- DEFINITION-ABSENT — one compositor channel, no reciprocal squish). KEEP
81
- `--dock-morph-t` (the shipped token — NO rename).
82
-
83
- BG.W-DOCK-COLLAPSE-DIR — the size blend reads the DIRECTIONAL `--dock-expand-t`
84
- (the expanded-ness 0=collapsed/1=expanded `morph.css` derives: expand `t`, collapse
85
- `1−t`), NOT the raw morph PROGRESS `--dock-morph-t` (always 0→1). The raw progress is
86
- direction-AGNOSTIC, so reading it made the convex blend `collapsed + Δ·t` play
87
- collapsed→expanded for BOTH directions — correct on expand, but on COLLAPSE it
88
- ballooned the box UP to the full expanded footprint, held there as the spring settled
89
- at t=1, then SNAPPED to the resting collapsed size when `[data-morphing]` cleared (a
90
- reproducible ~440px width reversal, the live "morph hover flicker"). The chrome
91
- (bg/border/blur — `morph.css`) and the child stagger (`--dock-expand-t` reads below)
92
- were ALREADY on the directional scalar; this aligns the SIZE with them. Expand is
93
- byte-identical (`.expanded[data-morphing]` derives `--dock-expand-t: --dock-morph-t`);
94
- only `.collapsed[data-morphing]` (`1−t`) is corrected, so the box now shrinks
95
- monotonically expanded→collapsed with NO snap. */
96
- .glass-dock[data-morphing] {
97
- --dock-live: calc(
98
- var(--dock-collapsed-px, var(--dock-expanded-px, 0px)) +
99
- (
100
- var(--dock-expanded-px, 0px) -
101
- var(--dock-collapsed-px, var(--dock-expanded-px, 0px))
102
- ) *
103
- clamp(0, var(--dock-expand-t), 1)
104
- );
105
- --dock-size-scale: clamp(
106
- 0.06,
107
- calc(var(--dock-live) / max(var(--dock-expanded-px, 1px), 1px)),
108
- 1
109
- );
110
- transform-origin: center center;
111
- will-change: transform;
112
- }
113
-
114
- /* The box RESERVES its expanded footprint (ONE layout solve — the page reflows
115
- ONCE to the final size, CDP-Layout stays FLAT) while the visible size scales
116
- toward it. Horizontal reserves `inline-size`, vertical reserves `block-size`,
117
- matching the morph axis. The `.dock-layers` content lays out at its natural
118
- size behind the clip (shell.css) — that natural span is the `--dock-expanded-px`
119
- the ResizeObserver reads. */
120
- .glass-dock[data-morphing]:not(.vertical) {
121
- inline-size: var(--dock-expanded-px);
122
- }
123
- .glass-dock[data-morphing].vertical {
124
- block-size: var(--dock-expanded-px);
125
- }
126
-
127
- /* The inner DockLayerGroup stack has no collapsed/expanded class, so its
128
- stagger directional scalar is the per-swap progress directly: `--dock-morph-t`
129
- reads onto an inheriting `--dock-expand-t` on the morphing stack so the new
130
- pane's children cascade in as it reveals. The geometry scalar
131
- (`--dock-morph-t`) stays registered + non-inheriting on the root; this is the
132
- small-subtree inheriting alias the stagger reads (the inheritance-bomb guard
133
- only concerns the `:root`-wide write, which never happens). */
134
- .glass-dock[data-morphing] .dock-layer-stack {
135
- --dock-expand-t: var(--dock-morph-t);
136
- }
137
-
138
- /* Horizontal dock content grows visibly when the active layer's natural
139
- width exceeds the content area (grow-to-fit; consumers needing wrap opt
140
- into `overflow="wrap"`). No edge-fade mask — content never clips or scrolls,
141
- so a feather has nothing to feather and only bleeds a stray ramp onto
142
- the edge controls. */
143
- .glass-dock.expanded:not(.dock-overflow-wrap) > .dock-layers {
144
- overflow-x: visible;
145
- }
146
-
147
- /* ── Layer crossfade + hit-test contract (ONE vocabulary) ──────────────
148
- AX.W02 — the outer `.dock-layer` (GlassDock's built-in collapsed↔expanded
149
- pair) and the inner `.dock-layer-item-host` (a DockLayer inside a
150
- DockLayerGroup) now share ONE active-state vocabulary: `.is-active` /
151
- `.is-leaving`. The prior `.layer-active` / `.is-active` / `.is-leaving`
152
- TRIPLE collapsed to the pair — both surfaces drive crossfade + hit-test off
153
- the same two state classes, and the morph orchestrator fold (one engine per
154
- dock) means the box, both panes, and every child stagger ride one
155
- `--dock-morph-t` clock. The greppable-sync tombstone that kept the two
156
- never-merged vocabularies in lockstep is DELETED — there is nothing to keep
157
- in sync once the vocabulary is one.
158
-
159
- The 3-state active/inactive/leaving visibility contract here is LOAD-BEARING
160
- (the a11y-006 anchor): the inactive layer leaves the hit-test tree
161
- (`visibility:hidden`), the leaving layer stays painted-but-untouchable
162
- through its fade (`visibility:visible` + `pointer-events:none`), and the
163
- active layer shows IMMEDIATELY (`visibility 0s`, no fade-in delay). One
164
- owner governs each concern — size = the spring scalar, opacity = the CSS
165
- crossfade below, visibility = this 3-state fork.
166
-
167
- An inactive layer must leave the paint AND hit-test tree: `opacity:0` alone
168
- leaves the box answering `elementFromPoint()`, so an inactive layer's button
169
- intercepts clicks meant for the active one. `visibility:hidden` removes it
170
- from both while KEEPING it in layout flow, so the FLIP measurement still
171
- reads its geometry (`display:none` would zero it). The delayed `visibility`
172
- transition holds a leaving layer `visible` for the length of the opacity
173
- crossfade, then flips it `hidden`.
174
-
175
- AX.W45 DK7 — the crossfade is now on the ONE `--dock-morph-t` scalar (the
176
- SAME clock the box size + child stagger ride), NOT a parallel fixed-duration
177
- CSS transition. The prior `opacity var(--dock-motion-resize)` was a SECOND
178
- clock: a velocity-dependent spring settles its meaningful travel in ~0.18s
179
- while the 0.3s CSS transition lingered, so the leaving pane ghosted over the
180
- settled box — the "laggy/delayed" layer-switch the user read. Driving the
181
- leaving-pane opacity off `calc(1 - var(--dock-morph-t))` makes the fade a pure
182
- FUNCTION of the same `t`: an interrupted/retargeted switch carries the
183
- crossfade WITH it (no second timer to drift). Visibility is the ONLY surviving
184
- CSS-timed leg — a 0s hold over `--duration-normal` keeps the leaving pane
185
- paintable through the fade, then flips it hidden (the a11y-006 hit-test
186
- anchor); the spring-settle clears the morph state so the hold releases in
187
- lockstep. The base rule keeps NO opacity transition (the scalar IS the clock). */
188
- :where(.glass-dock, .dock-layer-group) .dock-layer,
189
- :where(.glass-dock, .dock-layer-group) .dock-layer-item-host {
190
- transition: visibility 0s linear var(--duration-normal);
191
- }
192
-
193
- :where(.glass-dock, .dock-layer-group) .dock-layer:not(.is-active):not(.is-leaving),
194
- :where(.glass-dock, .dock-layer-group) .dock-layer-item-host:not(.is-active):not(.is-leaving) {
195
- opacity: 0;
196
- visibility: hidden;
197
- pointer-events: none;
198
- }
199
-
200
- :where(.glass-dock, .dock-layer-group) .dock-layer.is-active,
201
- :where(.glass-dock, .dock-layer-group) .dock-layer-item-host.is-active {
202
- opacity: 1;
203
- visibility: visible;
204
- pointer-events: auto;
205
- /* AW.W2 — the active pane is STATICALLY opacity:1, REVEALED by the clip
206
- aperture (the box is the reveal mechanism), never faded. There is ZERO
207
- opacity authority on the active pane — the aperture uncovers a layout
208
- that is laid out ONCE at natural size behind it. Only `visibility 0s`
209
- survives (the active layer must paint at once, no fade-in delay — the
210
- AU.W2 governing rule). The leaving pane fades on the scalar below. */
211
- transition: visibility 0s;
212
- }
213
-
214
- /* AX.W45 DK7 — the leaving pane fades on the ONE `--dock-morph-t` scalar (the
215
- single clock the box rides), gated on `[data-morphing]`. At rest (no morph)
216
- the leaving class is already gone, so the scalar-fade is only authored DURING
217
- the morph. `opacity: calc(1 - var(--dock-morph-t))` runs 1→0 as the box
218
- morphs, in perfect lockstep — no ghost, no flash, no second timer. The pane
219
- stays painted (visibility:visible) + untouchable (pointer-events:none) through
220
- the fade; the base-rule `visibility 0s linear var(--duration-normal)` hold
221
- flips it hidden once the morph state clears on spring-settle. */
222
- :where(.glass-dock, .dock-layer-group) .dock-layer.is-leaving,
223
- :where(.glass-dock, .dock-layer-group) .dock-layer-item-host.is-leaving {
224
- opacity: 0;
225
- visibility: visible;
226
- pointer-events: none;
227
- }
228
-
229
- .glass-dock[data-morphing] .dock-layer.is-leaving,
230
- .glass-dock[data-morphing] .dock-layer-item-host.is-leaving {
231
- opacity: calc(1 - var(--dock-morph-t));
232
- }
233
-
234
- /* AX.W45 — opacity now has ONE owner: the `--dock-morph-t` scalar (the leaving
235
- pane via `calc(1 - t)`, the entering pane revealed by the clip aperture +
236
- child stagger off the SAME scalar). Visibility keeps ONE owner: the delayed
237
- `visibility 0s linear var(--duration-normal)` hold of the 3-state fork above
238
- (the a11y-006 hit-test anchor, LOAD-BEARING) released on spring-settle. ONE
239
- clock, every axis — the W01/W02 single-scalar thesis FINISHED for opacity. */
240
-
241
- /* ── Base layout — distinct per surface ─────────────────────────── */
242
- :where(.glass-dock, .dock-layer-group) .dock-layer {
243
- display: flex;
244
- align-items: center;
245
- grid-area: 1 / 1;
246
- gap: var(--dock-layer-gap, 0.375rem);
247
- }
248
-
249
- /* AW.W2 — content-intrinsic axis follows the MORPH axis. A horizontal dock
250
- lays its inline content out ONCE at `width: max-content` (nowrap) so the
251
- width aperture uncovers a static row; the fixed `height` keeps the row a
252
- single line. Scoped to `:not(.vertical)` so a vertical rail (whose
253
- block-axis morph reveals a column) is NOT forced onto one nowrap row — the
254
- vertical group's active host block-sizes to `height: max-content` below
255
- (the AP.W3 column treatment, KEPT). */
256
- /* AY.W-DOCK-NAV B6 — the height is a FLOOR (`min-height`), not a fixed lock. A
257
- single-row content pane's intrinsic height already equals
258
- `--dock-layer-height` (the controls + line-height sum to it), so `min-height`
259
- is byte-identical for the common case. But a horizontal dock hosting a COLUMN
260
- switcher-rail (`<DockLayerGroup>` with `show-rail`) lays the rail out as a
261
- stack of tabs taller than one row — the prior fixed `height` clipped the
262
- rail's lower tabs + the active indicator BELOW the dock floor (the B6 "no rail
263
- line / broken" read, measured: 2 of 3 tabs clipped). The floor lets the pane
264
- block-size to the rail's natural column height so the dock grows to contain
265
- the whole rail. The cross axis keeps `nowrap`. */
266
- .glass-dock:not(.vertical) .dock-layer {
267
- white-space: nowrap;
268
- min-height: var(--dock-layer-height, 2.5rem);
269
- }
270
-
271
- :where(.glass-dock, .dock-layer-group) .dock-layer.is-active {
272
- position: relative;
273
- }
274
-
275
- :where(.glass-dock, .dock-layer-group) .dock-layer:not(.is-active) {
276
- position: absolute;
277
- inset: 0;
278
- }
279
-
280
- /* AX.W01 — the spring-keyed child stagger, now off the SINGLE morph scalar.
281
- The driver writes `--dock-morph-t` to the `.glass-dock` root and arms
282
- `[data-morphing]` while the spring runs; `--dock-expand-t` (the inheriting
283
- directional expanded-ness derived above — 0 collapsed, 1 expanded) cascades
284
- to the active pane's children. Each direct child reveals when `--dock-expand-t`
285
- crosses its per-child onset, so the controls cascade IN ON the physical morph
286
- — symmetric in both directions (expand fades them in outer→in, collapse fades
287
- them back out) and an interrupted morph carries the cascade with it (no
288
- orphaned timers). The active PANE stays statically opacity:1 (revealed by the
289
- clip aperture); only its CHILDREN ride this per-child onset (the W2
290
- clip-reveal contract is NOT regressed).
291
-
292
- The reveal is a pure `calc` ramp: `opacity = clamp(0, (expand-t − onset) /
293
- window, 1)`. Gated on the root `[data-morphing]` so at REST the children
294
- carry no opacity authority (default cascade → 1). Under PRM the spring's
295
- `respectReducedMotion` jumps `--dock-morph-t` 0→1 in one frame → `--dock-expand-t`
296
- lands at the endpoint → the cascade collapses to 0 stagger frames; the
297
- global PRM gate strips `translate` so the rise snaps too. The inner
298
- DockLayerGroup defines its own `--dock-expand-t` (= the per-swap progress)
299
- in DockLayerGroup's scope so a pane swap reveals the new pane's children. */
300
- .glass-dock[data-morphing] .dock-layer.is-active > *,
301
- .glass-dock[data-morphing] .dock-layer-item-host.is-active > * {
302
- --dock-stagger-window: var(--dock-stagger-window-size, 0.55);
303
- --dock-stagger-onset: 0;
304
- /* BD.W-DOCK-CORE (A6) — factor the reveal ramp into ONE named var so opacity AND
305
- the center-coupled scale read the SAME clamp (W-MOTION-CANON P3, fade coupled to
306
- transform). */
307
- --child-reveal: clamp(
308
- 0,
309
- calc(
310
- (var(--dock-expand-t) - var(--dock-stagger-onset)) /
311
- var(--dock-stagger-window)
312
- ),
313
- 1
314
- );
315
- opacity: var(--child-reveal);
316
- /* BD.W-DOCK-CORE (A6) — the rise is a center-coupled SCALE pop (0.82 → 1 on the
317
- reveal ramp, transform-origin center), NOT the prior independent `translate: 0
318
- 4px` vertical hop. The children inherit the SAME center-anchored read as the box
319
- — a small inertial pop FROM the center, coupled to opacity. The global PRM gate
320
- strips `scale` → snap. */
321
- scale: calc(0.82 + 0.18 * var(--child-reveal));
322
- transform-origin: center;
323
- }
324
-
325
- /* AX.W02 — per-child onsets off the ONE `--dock-stagger-step` token. Each
326
- successive control starts `step` later than the one before it (`onset =
327
- step × (childIndex − 1)`), so the row fills outer→in on expand. The
328
- hand-typed 0.08/0.16/0.24/0.32/0.4 ladder is RETIRED — the onsets are now
329
- derived from the single token, so retuning the cascade beat is a one-token
330
- override. The set is capped at the 6th child (`nth-child(n + 6)` holds at
331
- `step × 5`) so even a long row finishes within the morph window. ONE rule
332
- over the unified `.is-active` vocabulary drives both the outer pane and the
333
- inner pane-stack — no duplicated comma-group. (`sibling-index()` would
334
- collapse this to a single declaration, but it is not yet Baseline across
335
- Safari/Firefox — the token-keyed nth-child set is the cross-engine form, and
336
- the magic ladder is gone either way.) */
337
- /* BD.W-DOCK-CORE (A6) — the SYMMETRIC center-out stagger (the index-cascade RETIRED,
338
- clean break). The onset ladders by DISTANCE FROM THE ROW CENTER (center pair = onset
339
- 0 via the base rule, then ±1, ±2 …) so the reveal radiates center-out in lockstep
340
- with the center-out box morph (I.2) — never the prior left-to-right index cascade
341
- that desynced from the centered grow. `--dock-stagger-step` is the per-ring beat;
342
- `nth-child(N of *)` + `nth-last-child(N of *)` reach BOTH ends (the row is short —
343
- ≤8 controls is the dock norm), the central rule holds the deep middle. The `of *`
344
- syntax is Safari 16.4+/Chrome 111+. The rule is duplicated for the inner pane-stack
345
- host (identical onsets). */
346
- /* ring ±1 — 2nd-from-center each side */
347
- .glass-dock[data-morphing] .dock-layer.is-active > *:nth-child(2 of *),
348
- .glass-dock[data-morphing] .dock-layer.is-active > *:nth-last-child(2 of *),
349
- .glass-dock[data-morphing] .dock-layer-item-host.is-active > *:nth-child(2 of *),
350
- .glass-dock[data-morphing] .dock-layer-item-host.is-active > *:nth-last-child(2 of *) {
351
- --dock-stagger-onset: calc(var(--dock-stagger-step) * 1);
352
- }
353
- /* ring ±2 — 3rd-from-center each side */
354
- .glass-dock[data-morphing] .dock-layer.is-active > *:nth-child(3 of *),
355
- .glass-dock[data-morphing] .dock-layer.is-active > *:nth-last-child(3 of *),
356
- .glass-dock[data-morphing] .dock-layer-item-host.is-active > *:nth-child(3 of *),
357
- .glass-dock[data-morphing] .dock-layer-item-host.is-active > *:nth-last-child(3 of *) {
358
- --dock-stagger-onset: calc(var(--dock-stagger-step) * 2);
359
- }
360
- /* ring ±3 — the deep-middle 4th/5th-from-edge cap (a long row finishes in-window) */
361
- .glass-dock[data-morphing] .dock-layer.is-active > *:nth-child(n + 4):nth-child(-n + 5),
362
- .glass-dock[data-morphing] .dock-layer-item-host.is-active > *:nth-child(n + 4):nth-child(-n + 5) {
363
- --dock-stagger-onset: calc(var(--dock-stagger-step) * 3);
364
- }
365
-
366
- /* AW.W2 — the at-rest clip-lift moved to `.expanded:not([data-morphing])` /
367
- `.always-expanded:not([data-morphing])` (the clip-shell block at the top).
368
- A plain `overflow: visible` here would lift the clip DURING the morph (the
369
- load-bearing sequencing gap), so the `overflow` declarations are dropped
370
- from these state rules; they keep only their non-overflow concerns.
371
-
372
- AX.W01 — `:not([data-morphing])` gate: at REST expanded the layers fill the
373
- box (`width:100%`), but DURING the morph the reserved `to`-footprint +
374
- `transform: scale()` (BB.W-DOCK-MORPH-FAMILY, above) is the SOLE size
375
- authority — a `width:100%` here would win on specificity and fight the
376
- reserved footprint. The gate hands the box to the transform for the morph and
377
- back to 100% on settle (the transform/reserve vanish when `[data-morphing]`
378
- clears). */
379
- .glass-dock.expanded:not(.fit-content):not([data-morphing]) .dock-layers {
380
- width: 100%;
381
- }
382
-
383
- .glass-dock.expanded:not(.fit-content) .dock-layer--full {
384
- width: 100%;
385
- }
386
-
387
- .glass-dock.always-expanded {
388
- cursor: default;
389
- }
390
-
391
- /* ── AW.W3b — `layout="grid"` the 2D auto-grid big dock ──────────────
392
- The active layer becomes a self-wrapping tile grid (Launchpad / Stage-Manager
393
- track symmetry — `auto-fill` columns floored at `--dock-tile-min`, explicit
394
- `grid-auto-rows` so the concentric look holds). DISTINCT from
395
- `overflow="wrap"`'s content-ordered flex-wrap. A `layout="grid"` dock is
396
- `alwaysExpanded` by contract (GlassDock.vue), so there is NO width morph and
397
- hence NO per-frame grid-column reflow. `white-space: normal` releases the
398
- single-row nowrap so the tiles wrap. */
399
- .glass-dock.layout-grid {
400
- white-space: normal;
401
- }
402
-
403
- .glass-dock.layout-grid .dock-layer--full {
404
- display: grid;
405
- grid-template-columns: repeat(
406
- auto-fill,
407
- minmax(var(--dock-tile-min, 4.5rem), 1fr)
408
- );
409
- grid-auto-rows: var(--dock-tile-min, 4.5rem);
410
- gap: var(--dock-layer-gap, 0.375rem);
411
- width: 100%;
412
- height: auto;
413
- white-space: normal;
414
- /* AX.W45 DK4-a — center each fixed-size button in its tile cell on BOTH
415
- axes. The grid layer only inherited `align-items: center` (block axis);
416
- `justify-items` defaulted to `stretch`, which degenerates to `start` for a
417
- fixed-width `inline-flex` button — so every icon hugged the inline-start
418
- (left) edge of its tile, ~16px off-center (the "big-dock icons are not
419
- aligned" defect). `place-items: center` centers on both axes, MIRRORING the
420
- flex-wrap layer's `justify-content: center`. */
421
- place-items: center;
422
- }
423
-
424
- /* A grid dock fills the inline cap; the active layer is the panel body, not a
425
- shrink-to-fit row. The cap is the `--dock-max-inline-size` clamp (KEPT). */
426
- .glass-dock.layout-grid .dock-layers {
427
- width: 100%;
428
- }
429
-
430
- /* CONCENTRIC inner tiles — inner radius = outer card radius − padding (the
431
- universal macOS / visionOS / Raycast rule). NEVER nest two pills
432
- (stadium-in-stadium); a finite outer + a stepped-down inner. */
433
- .glass-dock.layout-grid.shape-card .dock-layer--full > * {
434
- border-radius: calc(
435
- var(--dock-card-radius) - var(--dock-padding-inline, 0.5rem)
436
- );
437
- }
438
- }