@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,332 +0,0 @@
1
- /* dock/overflow.css — the OVER-cap overflow strategies (AX.W06 carve).
2
- *
3
- * Carved from the dock.css god-module (slice 25). This partial owns the
4
- * `overflow=` axis: the HORIZONTAL inline scroll port (`.dock-scroll-x`, hidden
5
- * scrollbar, momentum-trapped), the W04 CONTENT-DRIVEN `overflow="wrap"`
6
- * intrinsic-flex recipe (the `.dock-overflow-wrap` pill↔card radius + floating-
7
- * tier elevation morph on the ONE `--dock-expand-t` scalar — RELOCATED verbatim,
8
- * never re-authored), and the W45 D15 single coarse-pointer `--dock-scale`
9
- * multiplier.
10
- *
11
- * BI.W-DOCK-OVERFLOW — the GREENFIELD native scroll track (PASS-1 §2.5). A capped
12
- * axis is INTRINSICALLY a scroll axis: `.dock-scroll-x` is emitted on EVERY
13
- * horizontal dock (scrollClass in useDockShellProps), and the VERTICAL block-axis
14
- * scroll folds into the unconditional cap-derived rule in shell.css. The clip-era
15
- * band-aids RETIRE (clean break): the cross-axis `overflow-clip-margin` fudge + the
16
- * NO-OP `overflow-y: clip` pin + the `.dock-layers` re-clip are GONE — post-SPINE the
17
- * L0 `.dock-plate` `clip-path` owns the silhouette, the L1 controls run is
18
- * `overflow: visible`, and the scroll port clips ONLY its own over-cap inline content.
19
- * Two EXCLUSIVE modes (PASS-4B ruling 1, never composed): FITS (`:not([data-dock-
20
- * overflow])`) is `overflow-x: visible` + `mask-image: none` (the fisheye's branch);
21
- * OVERFLOW (`[data-dock-overflow]`, set by `useDockOverflowFit`'s RO) is
22
- * `overflow-x: auto` + the `<FadingScroll>` edge mask, fisheye OFF. The cross axis is
23
- * honestly `visible` (the ring-room reserved via the `--dock-scroll-safe-inset`
24
- * padding/negative-margin no-clip idiom — T-52 b), and `scroll-padding-inline` gutters
25
- * the `scrollIntoView` recenter.
26
- *
27
- * @import-ed by dock.css in cascade order, in the SAME `@layer components`. */
28
-
29
- @layer components {
30
- /* ── The native inline scroll TRACK (BI.W-DOCK-OVERFLOW, PASS-1 §2.5) ──
31
- The GREENFIELD overflow facility: a DISTINCT inner scroll track. The
32
- clip-era band-aids are GONE (the `overflow-clip-margin` cross-axis fudge +
33
- the NO-OP `overflow-y: clip` pin + the `.dock-layers` re-clip that fought
34
- the SPINE L1 `overflow: visible` run) — the plate's `clip-path` (dock.css)
35
- owns the dock silhouette, the L1 controls run is `overflow: visible`, and
36
- the scroll port clips ONLY its own over-cap content on the inline axis.
37
- Two EXCLUSIVE modes, NEVER composed (PASS-4B ruling 1):
38
-
39
- • FITS (default — `:not([data-dock-overflow])`): the row fits the cap, so
40
- the port is `overflow-x: visible` (no scroll) and its `mask-image` is
41
- `none` (T-52 a — no fade, no 0px-fade transparent-stop shave). The
42
- fits-branch fisheye (fisheye.css) is FREE to scale its hump over the
43
- `overflow: visible` L1 run.
44
- • OVERFLOW (`[data-dock-overflow]`, set by `useDockOverflowFit`'s RO — ZERO
45
- scroll listener, G9/O5): the row exceeds the cap, so the port is
46
- `overflow-x: auto` (native inline scroll) with the `<FadingScroll>` edge
47
- mask; fisheye is OFF (the `:not([data-dock-overflow])` gate). */
48
-
49
- /* min-width:0 releases the flex `min-content` floor so the active full layer
50
- can shrink under the `--dock-max-inline-size`-clamped `.dock-layers` track
51
- and become the scroll port on the overflow branch. */
52
- .glass-dock.dock-scroll-x:not(.dock-overflow-wrap) .dock-layer--full {
53
- min-width: 0;
54
- /* FITS default: no scroll, no mask — the cross axis is honestly `visible`
55
- (SPINE: nothing clips the L1 run). T-52(a): `mask-image: none` at rest so
56
- the 0px-fade transparent stop can never antialias-shave a flush item's
57
- focus-ring arc. */
58
- overflow-x: visible;
59
- overflow-y: visible;
60
- mask-image: none;
61
- }
62
-
63
- /* OVERFLOW branch — the native scroll track + the FadingScroll edge mask. */
64
- .glass-dock.dock-scroll-x[data-dock-overflow]:not(.dock-overflow-wrap)
65
- .dock-layer--full {
66
- overflow-x: auto;
67
- /* The cross (block) axis is honestly `visible` in SOURCE. `overflow-x: auto`
68
- spec-forces the computed cross axis to a clip, so the RING-ROOM is reserved
69
- the canonical no-clip scroll-strip way (T-52 b): a `--dock-scroll-safe-inset`
70
- PADDING on all sides (the flush item's focus ring paints INSIDE the padded
71
- clip box — all four arcs whole) pulled back by an EQUAL negative MARGIN so
72
- the dock's own layout is byte-unchanged. The inline pad ALSO reserves the
73
- first/last item's inline ring arc + anchors the mask AA seam in the gutter,
74
- so even at a scroll extreme (fade 0) a flush item is never shaved. */
75
- overflow-y: visible;
76
- padding: var(--dock-scroll-safe-inset);
77
- margin: calc(-1 * var(--dock-scroll-safe-inset));
78
- /* The recenter gutter — `scrollIntoView({inline:'nearest'})` (useSelectionGroup,
79
- on every select) lands a selected member with ≥1px port slack (O1). */
80
- scroll-padding-inline: var(--dock-scroll-gutter);
81
- scrollbar-width: none;
82
- /* Trap the inline-scroll momentum at the dock's own boundary so a wheel /
83
- trackpad gesture that bottoms out the pill does NOT chain into scrolling the
84
- page behind it (the dock is a self-contained scroll port). */
85
- overscroll-behavior-x: contain;
86
- /* The `<FadingScroll>` edge mask, reached BY NAME (the SAME `gl-fade-start-in`/
87
- `gl-fade-end-out` keyframes the component drives off `scroll(self inline)` —
88
- ZERO new recipe). Painted ONLY on this overflow branch, so at rest (fits) the
89
- mask is `none` (T-52 a). On the overflow branch there is ALWAYS trailing OR
90
- leading overflow, so at least one fade is active by construction. Not
91
- PRM-gated (a legibility cue — it stops interpolating under reduce, the
92
- discrete edge-presence stays correct). */
93
- mask-image: linear-gradient(
94
- to right,
95
- transparent 0,
96
- black var(--fade-start, 0px),
97
- black calc(100% - var(--fade-end, 0px)),
98
- transparent 100%
99
- );
100
- animation:
101
- gl-fade-start-in linear both,
102
- gl-fade-end-out linear both;
103
- animation-timeline: scroll(self inline), scroll(self inline);
104
- animation-range:
105
- 0 var(--fade-scroll-width),
106
- calc(100% - var(--fade-scroll-width)) 100%;
107
- }
108
-
109
- .glass-dock.dock-scroll-x[data-dock-overflow]:not(.dock-overflow-wrap)
110
- .dock-layer--full::-webkit-scrollbar {
111
- display: none;
112
- }
113
-
114
- /* The VERTICAL block-axis scroll port lives in shell.css (the unconditional
115
- cap-derived `.glass-dock.vertical…:not([data-morphing])` rule) — the
116
- `.dock-scroll-y` opt-in class is RETIRED here (BG.W-DOCK-CAP-SCROLL-FADE,
117
- clean break: a capped vertical axis is intrinsically a scroll axis, ONE
118
- home, no second opt-in port). */
119
-
120
- /* ── `overflow="wrap"` recipe — CONTENT-DRIVEN intrinsic flex reflow ──
121
- (AX.W04 F0). Parallel to the `.dock-scroll-{x,y}` hooks the
122
- `overflow="scroll"` member emits, `overflow="wrap"` emits this class.
123
- (HORIZONTAL-ONLY — GlassDock.vue guards the emit on
124
- `orientation !== 'vertical'`; a vertical rail grows-to-fit + clamps via
125
- `--dock-max-block-size`, its own overflow story.)
126
-
127
- The reflow is INTRINSIC: `flex-wrap: wrap` is ALWAYS-ON (no viewport MQ),
128
- and the dock shrink-wraps to content with `max-inline-size` capping it at
129
- the canonical `--dock-max-inline-size` token (the SAME cap every
130
- overflow strategy reads — `min(80vw, 64rem)` default, consumer-overridable
131
- per-instance). So the layer wraps to N rows EXACTLY when its intrinsic row
132
- exceeds the cap — at ANY viewport width — and collapses to one row when it
133
- fits. The magic-640 `@media` snap-back + the `--dock-overflow-bp` token are
134
- DELETED (the inherited mobile-responsive debt, origin 078dd79). */
135
- .glass-dock.dock-overflow-wrap {
136
- white-space: normal;
137
- /* The content-driven cap. The dock ALREADY shrink-wraps to its content's
138
- intrinsic width (the base `.glass-dock` rule), so `max-inline-size` caps
139
- that intrinsic width at `--dock-max-inline-size`: under the cap the
140
- shrink-wrap wins → one row; over the cap the dock holds at the cap and the
141
- inner `flex-wrap: wrap` row reflows to N rows. ONE token, no breakpoint.
142
- (The `min(max-content, …)` form is INVALID CSS — the math functions reject
143
- the `max-content` intrinsic keyword, computing the property to its initial
144
- `none` and silently dropping the cap; intrinsic-shrink + this plain cap IS
145
- the valid `min(max-content, cap)`.) */
146
- max-inline-size: var(--dock-max-inline-size);
147
- padding: var(--dock-wrap-padding-block, var(--dock-padding-block, 0.375rem))
148
- var(--dock-wrap-padding-inline, 0.625rem);
149
-
150
- /* F4 — the pill↔card radius morph. A wrap dock is a FINITE multi-row CARD
151
- surface when expanded and a stadium PILL when collapsed — the SAME
152
- pill↔card morph the big-dock `shape-card` path rides. The corner glides
153
- on the `--dock-expand-t` W01 single-scalar: `--radius-pill` at expand-t 0
154
- (collapsed), `--dock-card-radius` at expand-t 1 (expanded — UNIFIED on
155
- the SAME finite-radius token the big-dock card uses; the bare 16px
156
- `--radius-2xl` literal is DELETED). ONE register, no discrete snap. */
157
- border-radius: calc(
158
- var(--radius-pill) +
159
- (var(--dock-card-radius) - var(--radius-pill)) *
160
- var(--dock-expand-t)
161
- );
162
-
163
- /* F1 — the card-tier elevation morph ("material thickens as glass flexes
164
- larger", WWDC25 §219). The wrap dock lifts from the flat thin-pill
165
- `--shadow-dock` glow onto the FLOATING-tier stack (the `--shadow-dock-wrap`
166
- token names the canonical composite on `:root`; a consumer retints the
167
- whole card shadow by overriding THAT one token per the cartoon-shadow
168
- contract). The three floating layers — drop / material-rim / under-cast —
169
- fade in driven by the SAME `--dock-expand-t` scalar the radius glides on:
170
- `--dock-wrap-elev` is the scalar as a 0→1 percent, so each layer's alpha
171
- tracks the corner morph in LOCKSTEP (ONE clock, ONE register). At
172
- expand-t 0 (collapsed/pill) the floating layers are 0%-alpha (invisible)
173
- → only the base `--shadow-dock` glow shows; at expand-t 1 (expanded/card)
174
- the full floating stack grounds the multi-row silhouette. The per-layer
175
- recipe mirrors `--shadow-dock-wrap` (= `--shadow-xl` + `--glass-material-rim`
176
- + `--glass-under-shadow-vivid`) so the token stays the source-of-record. */
177
- --dock-wrap-elev: calc(var(--dock-expand-t) * 100%);
178
- box-shadow:
179
- var(--glass-edge-light),
180
- var(--shadow-dock-override, var(--shadow-dock)),
181
- 0 8px 24px color-mix(in srgb, var(--shadow-color) calc(0.14 * var(--dock-wrap-elev)), transparent),
182
- 0 0 0 0.5px color-mix(in srgb, var(--shadow-color) calc(0.05 * var(--dock-wrap-elev)), transparent),
183
- calc(8px * var(--glass-key-direction)) 8px 32px -4px color-mix(in srgb, oklch(0 0 0 / 0.12) var(--dock-wrap-elev), transparent);
184
- }
185
-
186
- .glass-dock.dock-overflow-wrap .dock-layer--full {
187
- flex-wrap: wrap;
188
- justify-content: center;
189
- height: auto;
190
- min-height: var(--dock-wrap-layer-min-height, var(--dock-layer-height, 2rem));
191
- gap: var(--dock-wrap-row-gap, 0.25rem)
192
- var(--dock-wrap-column-gap, var(--dock-layer-gap, 0.375rem));
193
- /* AX.W04 — NO `transition: min-height` JS-morph (the AW.W3b spring-keyed
194
- min-height detector is RETIRED — the false `proof:dock-layering-polish`
195
- wrap-reflow claim is STRUCK). The reflow is intrinsic flex: rows
196
- appear/vanish on the cap crossing with no second clock. The radius +
197
- shadow lift ride the `--dock-expand-t` scalar (the W01 single clock),
198
- NOT a CSS transition on the retired `--dock-motion-resize` list. */
199
- }
200
-
201
- .glass-dock.dock-overflow-wrap .dock-layer--summary {
202
- height: auto;
203
- min-height: var(--dock-wrap-layer-min-height, var(--dock-layer-height, 2rem));
204
- }
205
-
206
- .glass-dock.dock-overflow-wrap .dock-separator {
207
- display: none;
208
- }
209
-
210
- /* Collapsed, a wrap dock is the single-row summary PILL. `white-space: nowrap`
211
- keeps the summary on one line; the inline cap stays `max-inline-size:
212
- var(--dock-max-inline-size)` (inherited from the `.dock-overflow-wrap` rule
213
- above) so the collapsed box still shrink-wraps to the small summary's
214
- max-content (NOT the full cap). The
215
- radius morph resolves to `--radius-pill` at collapsed (--dock-expand-t 0) and
216
- the box-shadow to the flat `--shadow-dock` glow (--dock-wrap-elev 0%). */
217
- .glass-dock.dock-overflow-wrap.collapsed {
218
- white-space: nowrap;
219
- }
220
-
221
- /* AX.W45 D15 / AX.W51 D18 RECONCILE — the coarse-pointer dock growth now rides
222
- the GLOBAL `--ui-scale` comfort axis, NOT a parallel dock-only 1.5×. The
223
- library-wide `@media (pointer: coarse) { :root { --ui-scale:
224
- var(--ui-coarse-scale, 1.5) } }` block (tokens.css) lifts the master scalar,
225
- and `--dock-scale: calc(var(--ui-scale) * var(--dock-local-scale, 1))` (its
226
- re-homed definition) inherits it FOR FREE — so the dock grows ~1.5× on touch
227
- WITH the buttons/inputs/badges (ONE consistent touch scale; at HEAD the dock
228
- grew but the rest of the library did not — the three-scale split this resolves).
229
- The whole density cascade (box + padding + gap + tab + tile-min + glyph) scales
230
- in LOCKSTEP through its existing `calc(<base> * --dock-scale)` chain, zero edit.
231
-
232
- This block keeps ONLY the dock-LOCAL extras the global axis cannot supply:
233
- • `--dock-local-scale: var(--dock-mobile-scale, 1)` — the dock-local EXTRA
234
- multiplier (default 1 → no extra; the dock matches the global comfort by
235
- default). A consumer who wants the dock LARGER than the library on touch
236
- sets `--dock-mobile-scale` and it STACKS on top of the global coarse default
237
- (NOT a parallel hardcoded 1.5 — the no-double-scale reconcile).
238
- • the 44px touch floor: `--dock-control-floor` + `--size-icon-btn` lift to
239
- `--dock-touch-target` so the `max(…, floor)` clamp in the scaled control-size
240
- guarantees ≥ 44px regardless of the scalar (a sub-1 scale cannot drop the
241
- target). `--size-icon-btn` keeps its floor for STANDALONE icon-button
242
- surfaces (a routed gear, no dock ancestor) that read it directly.
243
- Fine pointer byte-identical (`--ui-scale` stays 1).
244
-
245
- AP.W3 R0G-6 — selector is `.glass-dock[data-size]`, not bare `.glass-dock`:
246
- the always-present density setter (0,2,0) would shadow a bare (0,1,0) rule. The
247
- presence-selector (0,2,0) wins by source order, lifting `--dock-local-scale` +
248
- the floor so the cascade re-resolves at touch scale. */
249
- @media (pointer: coarse) {
250
- .glass-dock[data-size] {
251
- /* R5-2 — the coarse-register DEFAULT lives in the FALLBACK, NOT a
252
- hard-pin. The coarse dock painted ~22% too big (the global
253
- --ui-coarse-scale 1.5 → an ~80px collapsed pill). The dock-layer
254
- comfort floors at a TIGHTER coarse register than the global --ui-scale
255
- (the dock is a dense chrome strip, not a body control): --dock-local-scale
256
- falls back to --dock-coarse-scale (≈0.78; × the 1.5 global = ~1.17
257
- effective → a ~60px collapsed pill). The consumer knob --dock-mobile-scale
258
- WINS the fallback when set on ANY ancestor (inherited in, no specificity
259
- war against this block — the dead-knob trap a hard `--dock-mobile-scale:
260
- 0.78` here would re-create), so a consumer who wants the dock to MATCH
261
- the global comfort sets --dock-mobile-scale: 1; one who wants it larger
262
- sets >1. The touch floor stays held by the `max(…, --dock-control-floor)`
263
- clamp in every scaled control-size (the lift just below). */
264
- --dock-local-scale: var(--dock-mobile-scale, var(--dock-coarse-scale, 0.78));
265
- /* R5-1 — RE-DECLARE --dock-scale HERE so the consumer knob reaches the
266
- geometry cascade. The :root definition (offsets-sizing.css) computes
267
- `calc(var(--ui-scale) * var(--dock-local-scale, 1))` AT :root, where
268
- --dock-local-scale is the frozen identity 1 — custom-property
269
- SUBSTITUTION resolves --dock-scale once at its declaring element, so
270
- the descendant --dock-local-scale lift on THIS block never re-flowed
271
- into it (the AX.W55 substitution-vs-inheritance trap, 3rd recurrence).
272
- Re-declaring --dock-scale on the SAME element that lifts
273
- --dock-local-scale makes the var() resolve against the lifted value, so
274
- the --dock-mobile-scale / --dock-coarse-scale knobs reach every
275
- `calc(<base> * --dock-scale)` geometry leg. Identical to the :root
276
- formula by construction. */
277
- --dock-scale: calc(var(--ui-scale) * var(--dock-local-scale, 1));
278
- --dock-control-floor: var(--dock-touch-target, 2.75rem);
279
- --size-icon-btn: var(--dock-touch-target, 2.75rem);
280
- /* R5-1 SWEEP — the OTHER :root tokens that derive from --dock-scale freeze
281
- it at the :root value (where --dock-local-scale is the identity 1), so the
282
- R5-2 dock-local 0.78 register never reaches them: the SAME
283
- substitution-vs-inheritance trap, one level out. With --dock-scale now
284
- re-declared ABOVE, RE-RESOLVE each derived token on THIS element so it
285
- reads the dock-local --dock-scale (else --dock-icon-glyph /
286
- --dock-collapsed-padding / --dock-layer-tab-size paint at the global 1.5×
287
- while the density box paints at 1.17× — a desync the R5-2 register would
288
- introduce). The formulas are IDENTICAL to their :root definitions; only
289
- the resolution element moves so the lifted --dock-scale flows in.
290
- BB.W-PERF-PRODUCER A′-6 — --dock-icon-glyph is now a RATIO of the
291
- density-painted --dock-layer-height (offsets-sizing.css + the density.css
292
- [data-size] re-resolve). This coarse block @imports AFTER density.css
293
- in the SAME @layer at the SAME specificity, so its --dock-icon-glyph
294
- source-order-WINS on coarse pointers — it MUST carry the density-aware
295
- formula too (the flat `1.25rem * --dock-scale` here would re-freeze the
296
- glyph at the flat rem on touch, re-introducing the D5-1 defect the wave
297
- fixes). --dock-layer-height re-resolves transitively at the lifted
298
- --dock-scale (re-declared above), so the glyph tracks both the density
299
- box AND the coarse register. Formula identical to the :root + density
300
- re-resolve; only the resolution element moves. */
301
- --dock-icon-glyph: max(
302
- calc(var(--dock-layer-height, calc(2.5rem * var(--dock-scale))) * var(--dock-icon-glyph-ratio)),
303
- var(--dock-icon-glyph-floor)
304
- );
305
- /* BC.W-DOCK-ENGINE move 3 (the Atlas A-9 fold) — RE-DECLARE the in-dock
306
- toggle glyph knob on coarse beside `--dock-icon-glyph`. Its `:root`
307
- default tracks `--dock-icon-glyph`, but a `:root`-only default would
308
- freeze at the `:root` `--dock-scale` (the identity 1) while the coarse
309
- `--dock-icon-glyph` above lifts — the AZ.R5-TOKENS substitution-vs-
310
- inheritance dead-knob (the SAME trap the dock-scale re-declare closed,
311
- mirrored for the toggle glyph). Re-declaring it HERE, against the
312
- coarse-re-resolved `--dock-icon-glyph`, keeps the in-dock dark-toggle
313
- glyph optically uniform with the nav glyphs on coarse AND fine pointer.
314
- The `--dark-mode-toggle-padding` clamp (dark-mode-toggle.css) subtracts
315
- THIS knob, so the box pad re-resolves in lockstep too. */
316
- --dock-control-glyph-size: var(--dock-icon-glyph);
317
- --dock-collapsed-padding: calc(0.25rem * var(--dock-scale));
318
- --dock-layer-tab-size: calc(1.75rem * var(--dock-scale));
319
- /* --dock-collapsed-summary-min-size derives from --dock-layer-height (the
320
- density-resolved control height on .glass-dock[data-size]) — but its
321
- :root definition reads --dock-layer-height at :root, where density.css
322
- never sets it, so it froze at the inline 2.5rem fallback × 0.85 = 34px
323
- (the pre-existing freeze, independent of R5-2). Re-resolving it HERE reads
324
- the density-painted --dock-layer-height so the collapsed circle FLOOR
325
- tracks the dock scale (the "perfect circle" the user named scales on touch
326
- with the box, not a frozen 34px floor). */
327
- --dock-collapsed-summary-min-size: calc(
328
- var(--dock-layer-height, 2.5rem) * 0.85
329
- );
330
- }
331
- }
332
- }
@@ -1,249 +0,0 @@
1
- /* dock/popover.css — BI.W-DOCK-ESCAPE — the top-layer dock popover fan.
2
- *
3
- * The dock's satellite fan / facet strip renders as a native `popover` surface promoted to
4
- * the TOP LAYER on show (`useDockPopover` — the JS one-shot placement). The top layer is
5
- * exempt from ancestor `overflow`/`clip`/`contain`/`transform`/`filter` BY SPEC, so the fan
6
- * paints OVER the dock body past every former clip line — the retired `.glass-dock-frame`
7
- * `display:contents` escape + the `railProjection.ts` φ²-crossing ring math are gone (there
8
- * is nothing to escape from once the surface is in the top layer). The dock box is
9
- * INVIOLATE: the fan is a fixed-positioned top-layer element that feeds NO size into it.
10
- *
11
- * PLACEMENT is the JS one-shot ONLY (`position: fixed; top/left` written by useDockPopover
12
- * off `getBoundingClientRect`). This file owns the SURFACE + layout + the enter/exit bloom —
13
- * NEVER `anchor-name`/`position-anchor`/`@position-try` (the banked native arm is absent;
14
- * the SAF-1 Safari-transform-chain fence holds by construction).
15
- *
16
- * @import-ed by dock.css into the SAME `@layer components` as the other partials. */
17
- @layer components {
18
- :root {
19
- /* The macOS-stack tuning tokens (re-expressed via @theme — Tailwind-first). */
20
- --dock-stack-stagger: 26ms; /* the per-member fan delay (× var(--i)) */
21
- --dock-stack-gap: calc(0.375rem * var(--dock-scale, 1));
22
- --dock-stack-member-size: calc(2rem * var(--dock-scale, 1));
23
- /* The per-facet accent strength (facets mode) — the BB.W-GLASS-ACCENT ≤55% rim
24
- ceiling whisper; the warm-cream core + AA legibility survive. A consumer retunes
25
- the carousel's accent intensity from one `:root`/scope override. */
26
- --dock-facet-accent-strength: 48%;
27
- /* KEPT for density.css's `--dock-content-safe-inset` content-gutter key: the fan's
28
- outward reach the demo `<main>` scroll-padding clears from the content side. The
29
- fan is top-layer (never inflates the dock), but a bottom/side dock still overhangs
30
- its gutter, so the content reserve remains ~3 member cells. */
31
- --dock-rail-extend-length: calc(
32
- 3 * var(--dock-stack-member-size) + 2 * var(--dock-stack-gap)
33
- );
34
- }
35
-
36
- /* ── The in-flow anchor cluster ─────────────────────────────────────────────────
37
- The `.dock-stack` root holds the CORE anchor (a normal dock control) in flow — ZERO
38
- gutter presence, ZERO box growth. The fan is the top-layer popover below. */
39
- .dock-stack {
40
- display: inline-flex;
41
- align-items: center;
42
- }
43
- .dock-stack-core {
44
- flex: 0 0 auto;
45
- }
46
-
47
- /* ── THE FAN — the top-layer popover surface ────────────────────────────────────
48
- Reset the UA popover box (centered `inset:0; margin:auto`) so the JS one-shot
49
- `top`/`left` win, and paint the floating glass strip. NO anchor CSS. */
50
- .dock-stack-fan[popover] {
51
- margin: 0;
52
- inset: auto;
53
- border: 0;
54
- padding: calc(0.25rem * var(--dock-scale, 1));
55
- background: transparent;
56
- overflow: visible;
57
- display: flex;
58
- gap: var(--dock-stack-gap);
59
- /* The enter/exit BLOOM — compositor-only (scale/opacity), on the --spring-dock
60
- clock, from the anchor edge. `@starting-style` + `allow-discrete` carry the
61
- native popover display:none↔flex transition (the modern top-layer entrance —
62
- NO class-toggle race). */
63
- opacity: 0;
64
- scale: 0.92;
65
- transition:
66
- opacity var(--duration-fast) var(--ease-out),
67
- scale var(--spring-dock-duration) var(--spring-dock),
68
- overlay var(--spring-dock-duration) allow-discrete,
69
- display var(--spring-dock-duration) allow-discrete;
70
- }
71
- .dock-stack-fan[popover]:popover-open {
72
- opacity: 1;
73
- scale: 1;
74
- }
75
- @starting-style {
76
- .dock-stack-fan[popover]:popover-open {
77
- opacity: 0;
78
- scale: 0.92;
79
- }
80
- }
81
- /* Fan from the anchor edge — vertical dock fans a ROW to the inline-end, a horizontal
82
- (bottom) dock fans a COLUMN upward. The transform-origin biases the bloom toward the
83
- anchor. */
84
- .dock-stack-fan.vertical {
85
- flex-direction: row;
86
- align-items: center;
87
- transform-origin: left center;
88
- }
89
- .dock-stack-fan:not(.vertical) {
90
- flex-direction: column;
91
- align-items: center;
92
- transform-origin: center bottom;
93
- }
94
- .dock-stack-fan-scroll {
95
- display: flex;
96
- gap: var(--dock-stack-gap);
97
- }
98
- .dock-stack-fan.vertical .dock-stack-fan-scroll {
99
- flex-direction: row;
100
- }
101
- .dock-stack-fan:not(.vertical) .dock-stack-fan-scroll {
102
- flex-direction: column;
103
- }
104
- .dock-stack-fan[data-wrap] .dock-stack-fan-scroll {
105
- flex-wrap: wrap;
106
- max-inline-size: calc(
107
- var(--dock-stack-member-size) * 3 + var(--dock-stack-gap) * 2 +
108
- calc(0.5rem * var(--dock-scale, 1))
109
- );
110
- }
111
-
112
- /* ── The members — FULLY-VISIBLE glass icons (never shadowed half-tucked chips) ──
113
- Each member is a `--glass-bg-floating` tier icon with the catch-light rim. They
114
- stagger IN on the fan bloom (per-member `--i` delay). */
115
- .dock-stack-fan .dock-stack-member {
116
- flex: 0 0 auto;
117
- inline-size: var(--dock-stack-member-size);
118
- block-size: var(--dock-stack-member-size);
119
- background: var(--glass-bg-floating);
120
- backdrop-filter: var(--glass-blur-floating);
121
- -webkit-backdrop-filter: var(--glass-blur-floating);
122
- box-shadow:
123
- var(--glass-edge-light),
124
- var(--glass-specular),
125
- 0 2px 6px -2px color-mix(in srgb, var(--shadow-color) 22%, transparent);
126
- border-radius: var(--radius-pill);
127
- color: color-mix(in srgb, var(--dock-fg-on-aurora, var(--foreground)) 88%, transparent);
128
- /* the per-member stagger IN — compositor-only opacity/scale, delayed by reading
129
- order (the fan bloom carries the group; this adds the cascade). */
130
- opacity: 0;
131
- scale: 0.7;
132
- transition:
133
- opacity var(--duration-fast) var(--ease-out)
134
- calc(var(--dock-stack-stagger) * var(--i, 0)),
135
- scale var(--spring-dock-duration) var(--spring-dock)
136
- calc(var(--dock-stack-stagger) * var(--i, 0)),
137
- background-color var(--duration-fast) var(--ease-standard),
138
- box-shadow var(--duration-fast) var(--ease-standard);
139
- }
140
- .dock-stack-fan:popover-open .dock-stack-member {
141
- opacity: 1;
142
- scale: 1;
143
- }
144
- @starting-style {
145
- .dock-stack-fan:popover-open .dock-stack-member {
146
- opacity: 0;
147
- scale: 0.7;
148
- }
149
- }
150
- .dark .dock-stack-fan .dock-stack-member {
151
- box-shadow:
152
- var(--glass-edge-light-dark),
153
- var(--glass-specular-dark),
154
- 0 2px 6px -2px color-mix(in srgb, var(--shadow-color) 30%, transparent);
155
- }
156
- /* The hover/active register — the plate firms, the glyph wakes (the selected-reads-as-
157
- glass tier, W-REGISTER-IOS; NEVER a saturated brand hue). */
158
- .dock-stack-fan .dock-stack-member:hover {
159
- background: var(--dock-control-hover-bg, var(--glass-bg-resting));
160
- color: var(--dock-fg-on-aurora, var(--foreground));
161
- }
162
- .dock-stack-fan .dock-stack-member.is-active {
163
- background: var(--dock-control-active-bg, var(--glass-bg-floating));
164
- color: var(--dock-fg-on-aurora, var(--foreground));
165
- box-shadow:
166
- var(--glass-edge-light),
167
- var(--glass-specular),
168
- 0 0 0 1px color-mix(in srgb, var(--foreground) 12%, transparent),
169
- 0 3px 8px -2px color-mix(in srgb, var(--shadow-color) 28%, transparent);
170
- }
171
- .dark .dock-stack-fan .dock-stack-member.is-active {
172
- box-shadow:
173
- var(--glass-edge-light-dark),
174
- var(--glass-specular-dark),
175
- 0 0 0 1px color-mix(in srgb, var(--foreground) 18%, transparent),
176
- 0 3px 8px -2px color-mix(in srgb, var(--shadow-color) 36%, transparent);
177
- }
178
- .dock-stack-fan .dock-stack-member svg {
179
- inline-size: 0.875rem;
180
- block-size: 0.875rem;
181
- flex-shrink: 0;
182
- }
183
-
184
- /* ── The FACET-carousel mode (BB.W-GLASS-ACCENT) ─────────────────────────────────
185
- Each chip carries its OWN `--glass-accent` hue (written per-chip by DockStack in
186
- facets mode), so the strip reads as a row of distinct accent-tinted contexts — the
187
- accent mixes into the rim + a soft chromatic glint (the SAME `color-mix(in oklab, …)`
188
- seam `glass/rim.css` composes; NOT a plate fill). At the resting transparent/0%
189
- no-op this is byte-identical to the stack member (presets-in-consumers — the facet
190
- hue is the consumer's context color, never a library token). */
191
- .dock-stack-fan .dock-facet-chip {
192
- --dock-facet-rim-ink: color-mix(
193
- in oklab,
194
- var(--glass-rim-ink, hsl(0 0% 100% / 0.3)),
195
- var(--glass-accent) var(--glass-accent-strength, 0%)
196
- );
197
- box-shadow:
198
- inset 0 1px 0 var(--dock-facet-rim-ink),
199
- var(--glass-specular),
200
- 0 0 0 1px color-mix(in oklab, transparent, var(--glass-accent) var(--glass-accent-strength, 0%)),
201
- 0 2px 6px -2px color-mix(in srgb, var(--shadow-color) 22%, transparent);
202
- }
203
- .dark .dock-stack-fan .dock-facet-chip {
204
- --dock-facet-rim-ink: color-mix(
205
- in oklab,
206
- var(--glass-rim-ink, hsl(0 0% 100% / 0.4)),
207
- var(--glass-accent) var(--glass-accent-strength, 0%)
208
- );
209
- box-shadow:
210
- inset 0 1px 0 var(--dock-facet-rim-ink),
211
- var(--glass-specular-dark),
212
- 0 0 0 1px color-mix(in oklab, transparent, var(--glass-accent) var(--glass-accent-strength, 0%)),
213
- 0 2px 6px -2px color-mix(in srgb, var(--shadow-color) 30%, transparent);
214
- }
215
- .dock-stack-fan .dock-facet-chip.is-active {
216
- background: var(--dock-control-active-bg, var(--glass-bg-floating));
217
- box-shadow:
218
- inset 0 1px 0 var(--dock-facet-rim-ink),
219
- var(--glass-specular),
220
- 0 0 0 1px color-mix(in oklab, color-mix(in srgb, var(--foreground) 12%, transparent), var(--glass-accent) var(--glass-accent-strength, 0%)),
221
- 0 3px 8px -2px color-mix(in srgb, var(--shadow-color) 28%, transparent);
222
- }
223
- .dark .dock-stack-fan .dock-facet-chip.is-active {
224
- box-shadow:
225
- inset 0 1px 0 var(--dock-facet-rim-ink),
226
- var(--glass-specular-dark),
227
- 0 0 0 1px color-mix(in oklab, color-mix(in srgb, var(--foreground) 18%, transparent), var(--glass-accent) var(--glass-accent-strength, 0%)),
228
- 0 3px 8px -2px color-mix(in srgb, var(--shadow-color) 36%, transparent);
229
- }
230
-
231
- /* PRM — the fan SNAPS to terminal (the fade survives, the transform + stagger drop —
232
- P6 / proof:no-layout-animation PRM carve). */
233
- @media (prefers-reduced-motion: reduce) {
234
- .dock-stack-fan[popover] {
235
- scale: 1;
236
- transition:
237
- opacity var(--duration-fast) linear,
238
- overlay var(--duration-fast) allow-discrete,
239
- display var(--duration-fast) allow-discrete;
240
- }
241
- .dock-stack-fan .dock-stack-member {
242
- scale: 1;
243
- transition:
244
- opacity var(--duration-fast) linear,
245
- background-color var(--duration-fast) var(--ease-standard),
246
- box-shadow var(--duration-fast) var(--ease-standard);
247
- }
248
- }
249
- }
@@ -1,68 +0,0 @@
1
- /* dock/search.css — the dock-as-native-dynamic-search-bar field surface (BC.W-DOCK-SEARCH).
2
- *
3
- * The active dock-search field + its placeholder + the result rows read CLEARLY forward
4
- * over whatever backdrop the dock floats on (≥4.5:1, the W55 darken seam) — never the
5
- * pale-ghost-fading-into-content trap (the NN/g defect, WWDC §219 "buttons remain
6
- * legible"). The field surface composes the W55 `--glass-tint-strength-aa` bright-bucket
7
- * darken at the ELEMENT level (the `color-mix(in oklab, <rung>, var(--glass-tint-source)
8
- * var(--glass-tint-strength))` seam glass/ladder.css + morph.css already compose) — NOT
9
- * the RAW pre-substituted `--glass-bg-dock` token (the substitution-vs-inheritance trap
10
- * the dock surfaces already hit: a surface reading the pre-baked `--glass-bg-dock` baked
11
- * at `:root` 0% strength does NOT darken — the pale-fade). At the 0%/floor default the
12
- * inner oklab mix is a no-op (byte-identical to the un-tinted rung); under the bright
13
- * bucket it darkens-over-light (and lifts-over-dark per W-DARK-MATERIAL).
14
- *
15
- * The result rows ride `.glass-menu-row` (the glass-quiet hover-lift, BA.W-MENU-GLASS —
16
- * CONSUMED here, the glassify is BC.W-SEARCH-CUSTOM's). The customization-surface axes
17
- * (size/surface/variant) are BC.W-SEARCH-CUSTOM's — this partial only seats the field +
18
- * the legibility seam. The morph itself is the dock's OWN `--dock-morph-t` + the
19
- * byte-untouched `morph-bridge.css` metaball (READ-ONLY — bound, never edited). */
20
-
21
- @layer components {
22
- /* The search-field region inside the morph aperture. The consumer slots its
23
- <SearchBar>/<FuzzySearch> here; this rule owns the legibility seam + the layout
24
- inside the aperture (a column: the field over its dropdown). It is present ONLY on
25
- a `[data-search]` dock (additive — a non-search dock never carries it). */
26
- .glass-dock[data-search] .dock-search-field {
27
- display: flex;
28
- flex-direction: column;
29
- inline-size: 100%;
30
- min-inline-size: 0;
31
- gap: var(--dock-search-field-gap, 0.375rem);
32
- }
33
-
34
- /* The ACTIVE field surface — the W55 element-level oklab tint (NOT the raw
35
- `--glass-bg-dock`). The field reads the floating rung darkened toward the warm-ink
36
- at the bright-bucket strength, so it reads ≥4.5:1 over a busy backdrop. The
37
- `--glass-tint-source`/`--glass-tint-strength` are the SAME element-level customs
38
- the dock plate self-engages (morph.css's `:where(.glass-dock)` rule re-points them
39
- under the bright bucket); this field rides that lockstep, never a field-local
40
- recipe. The field TEXT is `--foreground` (the full warm ink); the
41
- placeholder/muted caption is `--on-glass-muted` (5.76:1 vs the plate). */
42
- .glass-dock[data-search] .dock-search-field .input-bar {
43
- background: color-mix(
44
- in oklab,
45
- var(--glass-bg-floating),
46
- var(--glass-tint-source) var(--glass-tint-strength)
47
- );
48
- color: var(--foreground);
49
- }
50
-
51
- /* The placeholder + the autocomplete ghost-text + any muted caption inside the field
52
- read the on-glass muted rung (NOT `--muted-foreground`, which is calibrated against
53
- the opaque page and collapses on a translucent darkened plate). */
54
- .glass-dock[data-search] .dock-search-field .input-bar-field::placeholder,
55
- .glass-dock[data-search] .dock-search-field .dock-search-ghost,
56
- .glass-dock[data-search] .dock-search-field .dock-search-result-meta {
57
- color: var(--on-glass-muted);
58
- }
59
-
60
- /* The dropdown result rows ride the shared `.glass-menu-row` glass-quiet hover-lift
61
- (BA.W-MENU-GLASS — CONSUMED, not re-authored). The dock-search list applies
62
- `.glass-menu-row` per row; this rule reaches the selected/highlighted row through
63
- the SAME register the menu families use (no flat `bg-accent`/`bg-muted` fork). The
64
- active result reads the data-highlighted state the menu recipe already paints. */
65
- .glass-dock[data-search] .dock-search-field .dock-search-result {
66
- color: var(--foreground);
67
- }
68
- }