@mkbabb/glass-ui 3.12.0 → 4.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 (436) hide show
  1. package/dist/CardAction-XH4YBVEK.js +158 -0
  2. package/dist/{CommandShortcut-CefCj5mt.js → CommandShortcut-DdtWXxOK.js} +58 -53
  3. package/dist/{ContextMenuSubContent-Bhg4f5jX.js → ContextMenuSubContent-B0Vs6atR.js} +4 -4
  4. package/dist/{DataTable-CUHMukiQ.js → DataTable-C464Zbqd.js} +99 -97
  5. package/dist/DialogContent-DDE6pQBU.js +103 -0
  6. package/dist/{DialogFooter-Gprw8H_A.js → DialogFooter-8eZbdmPc.js} +2 -2
  7. package/dist/FadingScroll-DwNnvKMs.js +76 -0
  8. package/dist/{HoverPopover-2LOIW34a.js → HoverPopover-Dpzwvc4t.js} +1 -1
  9. package/dist/IconChip-BDw1j5mu.js +54 -0
  10. package/dist/{IconTooltip-Cus0fvK0.js → IconTooltip-DSjasZIt.js} +1 -1
  11. package/dist/MetricBadge-BpC0R_Ec.js +79 -0
  12. package/dist/{Notification-DLMhblXR.js → Notification-DKjKsQq8.js} +10 -10
  13. package/dist/{NumberFieldContent-BbLOh8RU.js → NumberFieldContent-1VtwDSgf.js} +3 -3
  14. package/dist/PopoverContent-BTorlp--.js +127 -0
  15. package/dist/{Progress-iEuD9pxG.js → Progress-hAT4gqGH.js} +97 -77
  16. package/dist/{ScrollingText-BPP84wKo.js → ScrollingText-CUVFTWk2.js} +2 -2
  17. package/dist/{SelectScrollDownButton-T32cVFeM.js → SelectScrollDownButton-C1jb3b3K.js} +24 -8
  18. package/dist/{Switch-Ch-k3Rv-.js → Switch-Dr--uLGH.js} +2 -2
  19. package/dist/{Toaster-1rYWrmAm.js → Toaster-Bm_HQSpc.js} +55 -52
  20. package/dist/{ToggleGroupItem-COu_4IW4.js → ToggleGroupItem-Dzk9hWsF.js} +18 -22
  21. package/dist/animated-digit.js +3 -3
  22. package/dist/api/index.d.ts +10 -4
  23. package/dist/api.js +1 -1
  24. package/dist/aurora.js +113 -98
  25. package/dist/{badge-CaoFJzRb.js → badge-UILT_3pZ.js} +1 -1
  26. package/dist/badge.js +1 -1
  27. package/dist/{button-DN39cGqL.js → button-BNDWhAZb.js} +12 -12
  28. package/dist/button.js +1 -1
  29. package/dist/card.js +1 -1
  30. package/dist/carousel.d.ts +1 -1
  31. package/dist/carousel.js +101 -145
  32. package/dist/{check-BBKKKSTf.js → check-njhk-vfu.js} +1 -1
  33. package/dist/{chevron-down-BSkTP2aL.js → chevron-down-DKkxb4VV.js} +1 -1
  34. package/dist/{chevron-right-sDM0Yvrf.js → chevron-right-CPXbqQQz.js} +1 -1
  35. package/dist/{chevron-up-CCOD_FTz.js → chevron-up-n_24SqI-.js} +1 -1
  36. package/dist/coalesceMetric-5qIeZnTx.js +13 -0
  37. package/dist/collapsible.js +1 -1
  38. package/dist/{color-C5ls_QF7.js → color-DweYl7pE.js} +9 -7
  39. package/dist/color-swatch.d.ts +1 -0
  40. package/dist/color-swatch.js +47 -0
  41. package/dist/color.js +1 -1
  42. package/dist/command.js +1 -1
  43. package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +8 -0
  44. package/dist/components/custom/aurora/constants/presets.d.ts +16 -45
  45. package/dist/components/custom/aurora/constants/renderMode.d.ts +2 -0
  46. package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +1 -1
  47. package/dist/components/custom/aurora/constants/shaders/vangogh-medium.glsl.d.ts +1 -0
  48. package/dist/components/custom/color-swatch/ColorSwatch.vue.d.ts +22 -0
  49. package/dist/components/custom/color-swatch/index.d.ts +1 -0
  50. package/dist/components/custom/configurator/Configurator.vue.d.ts +19 -8
  51. package/dist/components/custom/configurator/ConfiguratorRow.vue.d.ts +16 -0
  52. package/dist/components/custom/constellation/Constellation.vue.d.ts +23 -143
  53. package/dist/components/custom/constellation/composables/createConstellationField.d.ts +41 -0
  54. package/dist/components/custom/constellation/composables/useConstellation.d.ts +26 -0
  55. package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +35 -0
  56. package/dist/components/custom/constellation/constants.d.ts +61 -0
  57. package/dist/components/custom/constellation/constellationDraw.d.ts +30 -0
  58. package/dist/components/custom/constellation/constellationField.d.ts +3 -403
  59. package/dist/components/custom/constellation/constellationInteraction.d.ts +132 -0
  60. package/dist/components/custom/constellation/constellationTypes.d.ts +369 -0
  61. package/dist/components/custom/constellation/index.d.ts +5 -2
  62. package/dist/components/custom/controls/DarkModeToggle.vue.d.ts +11 -0
  63. package/dist/components/custom/dock/DockRail.vue.d.ts +89 -0
  64. package/dist/components/custom/dock/DockSection.vue.d.ts +69 -0
  65. package/dist/components/custom/dock/DockSeparator.vue.d.ts +49 -1
  66. package/dist/components/custom/dock/DockTabButton.vue.d.ts +5 -6
  67. package/dist/components/custom/dock/GlassDock.vue.d.ts +5 -118
  68. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +36 -0
  69. package/dist/components/custom/dock/composables/index.d.ts +1 -0
  70. package/dist/components/custom/dock/composables/useDockClickIntegrity.d.ts +23 -0
  71. package/dist/components/custom/dock/composables/useDockMorphWindow.d.ts +15 -0
  72. package/dist/components/custom/dock/composables/useDockOrientationMorph.d.ts +44 -0
  73. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +165 -0
  74. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +44 -0
  75. package/dist/components/custom/dock/constants.d.ts +83 -0
  76. package/dist/components/custom/dock/index.d.ts +5 -0
  77. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +15 -37
  78. package/dist/components/custom/fading-scroll/FadingScroll.vue.d.ts +25 -0
  79. package/dist/components/custom/fading-scroll/composables/useFadingScroll.d.ts +31 -0
  80. package/dist/components/custom/fading-scroll/constants.d.ts +19 -0
  81. package/dist/components/custom/fading-scroll/index.d.ts +2 -0
  82. package/dist/components/custom/fourier-field/FourierField.vue.d.ts +7 -0
  83. package/dist/components/custom/fourier-field/index.d.ts +1 -1
  84. package/dist/components/custom/fourier-field/math.d.ts +34 -0
  85. package/dist/components/custom/fourier-field/presets.d.ts +54 -0
  86. package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +8 -0
  87. package/dist/components/custom/goo-blob/composables/buildMetaballProgram.d.ts +18 -0
  88. package/dist/components/custom/goo-blob/composables/uploadBlobUniforms.d.ts +41 -0
  89. package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +4 -3
  90. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +21 -8
  91. package/dist/components/custom/goo-blob/constants.d.ts +57 -0
  92. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -0
  93. package/dist/components/custom/handmark/brush.d.ts +33 -6
  94. package/dist/components/custom/handmark/{useHandMark.d.ts → composables/useHandMark.d.ts} +6 -4
  95. package/dist/components/custom/handmark/constants.d.ts +39 -0
  96. package/dist/components/custom/handmark/geometry.d.ts +14 -12
  97. package/dist/components/custom/handmark/index.d.ts +8 -2
  98. package/dist/components/custom/handmark/types.d.ts +9 -0
  99. package/dist/components/custom/icon-chip/IconChip.vue.d.ts +4 -0
  100. package/dist/components/custom/icon-chip/index.d.ts +2 -0
  101. package/dist/components/custom/icon-chip/types.d.ts +72 -0
  102. package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +17 -4
  103. package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +37 -0
  104. package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +6 -0
  105. package/dist/components/custom/labeled-field/LabeledSlider.vue.d.ts +6 -0
  106. package/dist/components/custom/labeled-field/LabeledSwitch.vue.d.ts +6 -0
  107. package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +11 -18
  108. package/dist/components/custom/metric-badge/index.d.ts +1 -0
  109. package/dist/components/custom/metric-cell/MetricCell.vue.d.ts +15 -4
  110. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +6 -4
  111. package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +39 -0
  112. package/dist/components/custom/pager-dots/index.d.ts +2 -0
  113. package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +20 -25
  114. package/dist/components/custom/tabs/composables/useTabIndicator.d.ts +30 -21
  115. package/dist/components/custom/tabs/constants.d.ts +18 -0
  116. package/dist/components/custom/tabs/index.d.ts +1 -1
  117. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +14 -0
  118. package/dist/components/ui/_shared/index.d.ts +2 -0
  119. package/dist/components/ui/_shared/menuItemVariants.d.ts +19 -0
  120. package/dist/components/ui/_shared/useSurfaceAxis.d.ts +41 -0
  121. package/dist/components/ui/card/Card.vue.d.ts +16 -4
  122. package/dist/components/ui/carousel/index.d.ts +0 -1
  123. package/dist/components/ui/command/Command.vue.d.ts +3 -0
  124. package/dist/components/ui/dialog/DialogContent.vue.d.ts +8 -3
  125. package/dist/components/ui/drawer/Drawer.vue.d.ts +1 -0
  126. package/dist/components/ui/drawer/DrawerContent.vue.d.ts +5 -0
  127. package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +2 -2
  128. package/dist/components/ui/index.d.ts +0 -1
  129. package/dist/components/ui/metric-pill/MetricPill.vue.d.ts +6 -3
  130. package/dist/components/ui/popover/PopoverContent.vue.d.ts +3 -0
  131. package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +14 -3
  132. package/dist/components/ui/select/SelectTrigger.vue.d.ts +27 -4
  133. package/dist/components/ui/sheet/SheetContent.vue.d.ts +6 -0
  134. package/dist/components/ui/skeleton/Skeleton.vue.d.ts +3 -0
  135. package/dist/components/ui/slider/index.d.ts +22 -19
  136. package/dist/components/ui/tabs/TabsIndicator.vue.d.ts +4 -1
  137. package/dist/components/ui/toast/use-toast.d.ts +2 -2
  138. package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
  139. package/dist/components/ui/toggle/index.d.ts +1 -1
  140. package/dist/components/ui/toggle-group/ToggleGroup.vue.d.ts +1 -7
  141. package/dist/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +1 -3
  142. package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +0 -13
  143. package/dist/composables/color/index.d.ts +12 -0
  144. package/dist/composables/dark/useGlobalDark.d.ts +14 -12
  145. package/dist/composables/glass/index.d.ts +0 -1
  146. package/dist/composables/glass/useGlassBackdropLuminance.d.ts +59 -0
  147. package/dist/composables/glass/useSpecularTracking.d.ts +12 -3
  148. package/dist/composables/motion/core/index.d.ts +1 -1
  149. package/dist/composables/motion/curves.d.ts +48 -0
  150. package/dist/composables/motion/index.d.ts +2 -0
  151. package/dist/composables/motion/springPresets.d.ts +33 -0
  152. package/dist/composables/motion/suite.d.ts +2 -0
  153. package/dist/composables/motion/useLiquidFlex.d.ts +85 -0
  154. package/dist/composables/motion/useSpringMount.d.ts +1 -1
  155. package/dist/composables/motion/useViewTransition.d.ts +36 -1
  156. package/dist/configurator.js +1 -1
  157. package/dist/confirm-dialog.js +3 -3
  158. package/dist/constellation.js +373 -261
  159. package/dist/context-menu.js +2 -2
  160. package/dist/controls.js +48 -14
  161. package/dist/dark.js +1 -1
  162. package/dist/data-table.js +1 -1
  163. package/dist/dialog.js +2 -2
  164. package/dist/dock.js +901 -372
  165. package/dist/dockContext-Bu1Avy-a.js +17 -0
  166. package/dist/dom.js +5 -5
  167. package/dist/{dropdown-menu-D77jX6Df.js → dropdown-menu-BJ7E9js_.js} +11 -8
  168. package/dist/dropdown-menu.js +1 -1
  169. package/dist/expandable-container.js +44 -81
  170. package/dist/fading-scroll.d.ts +1 -0
  171. package/dist/fading-scroll.js +2 -0
  172. package/dist/forms.js +5 -5
  173. package/dist/fourier-field.js +140 -104
  174. package/dist/fourier-math.js +2 -2
  175. package/dist/glass-panel.js +90 -21
  176. package/dist/glass-ui.css +1 -1
  177. package/dist/glass-ui.js +230 -236
  178. package/dist/goo-blob.js +264 -228
  179. package/dist/handmark.js +203 -159
  180. package/dist/header-ribbon.js +1 -1
  181. package/dist/hover-card.js +1 -1
  182. package/dist/hover-popover.js +1 -1
  183. package/dist/icon-chip.d.ts +1 -0
  184. package/dist/icon-chip.js +2 -0
  185. package/dist/icon-tooltip.js +1 -1
  186. package/dist/index.d.ts +3 -5
  187. package/dist/instrument-chassis.js +1 -1
  188. package/dist/keyboard.js +1 -1
  189. package/dist/label.js +1 -1
  190. package/dist/labeled-field.js +28 -18
  191. package/dist/{math-DTpRVC0e.js → math-DeuJwLFx.js} +26 -2
  192. package/dist/{menuItemVariants-CCoBNkU5.js → menuItemVariants-DWRQXBxJ.js} +10 -4
  193. package/dist/metric-badge.js +1 -1
  194. package/dist/metric-cell.js +29 -22
  195. package/dist/metric-stack.js +35 -34
  196. package/dist/{minimize-2-lcXOuc6V.js → minimize-2-BV31Ob_h.js} +1 -1
  197. package/dist/motion-core.js +32 -136
  198. package/dist/motion-curves.d.ts +1 -0
  199. package/dist/motion-curves.js +130 -0
  200. package/dist/motion.js +38 -37
  201. package/dist/notification.js +1 -1
  202. package/dist/number-field.js +1 -1
  203. package/dist/pager-dots.d.ts +1 -0
  204. package/dist/pager-dots.js +91 -0
  205. package/dist/paper-backdrop.js +1 -1
  206. package/dist/popover.js +1 -1
  207. package/dist/progress.js +1 -1
  208. package/dist/pulse.js +1 -1
  209. package/dist/reactive.js +2 -2
  210. package/dist/scrolling-text.js +1 -1
  211. package/dist/{search-nbkvr2dC.js → search-BSGrf2Sk.js} +1 -1
  212. package/dist/search.js +10 -10
  213. package/dist/select.js +3 -3
  214. package/dist/separator.js +1 -1
  215. package/dist/sheet-CquRYOAw.js +218 -0
  216. package/dist/sheet.js +1 -1
  217. package/dist/{slider-ClgpP7EB.js → slider-DQ95MET2.js} +8 -8
  218. package/dist/slider.js +1 -1
  219. package/dist/sortable-list.js +3 -3
  220. package/dist/springPresets-WXaLbu8u.js +40 -0
  221. package/dist/stacked-icons.js +6 -6
  222. package/dist/styles/animations.css +25 -125
  223. package/dist/styles/cards.css +55 -0
  224. package/dist/styles/components.css +4 -1
  225. package/dist/styles/configurator.css +77 -0
  226. package/dist/styles/dock/density.css +19 -0
  227. package/dist/styles/dock/layer-group.css +83 -25
  228. package/dist/styles/dock/layers.css +23 -1
  229. package/dist/styles/dock/morph-bridge.css +123 -0
  230. package/dist/styles/dock/morph.css +175 -45
  231. package/dist/styles/dock/overflow.css +66 -1
  232. package/dist/styles/dock/rail-extend.css +397 -0
  233. package/dist/styles/dock/section.css +59 -0
  234. package/dist/styles/dock/shell.css +97 -110
  235. package/dist/styles/dock-controls/dark-mode-toggle.css +109 -0
  236. package/dist/styles/dock-controls/icon-button.css +143 -0
  237. package/dist/styles/dock-controls/tab-button.css +143 -0
  238. package/dist/styles/dock-controls/touch-floor.css +94 -0
  239. package/dist/styles/dock-controls/triggers.css +135 -0
  240. package/dist/styles/dock-controls.css +30 -595
  241. package/dist/styles/dock.css +8 -3
  242. package/dist/styles/drawer.css +48 -0
  243. package/dist/styles/feedback-tone.css +104 -0
  244. package/dist/styles/floating-panel.css +17 -0
  245. package/dist/styles/glass/a11y-fallback.css +245 -0
  246. package/dist/styles/glass/ladder.css +383 -0
  247. package/dist/styles/glass/material.css +238 -0
  248. package/dist/styles/glass/progress-rail.css +78 -0
  249. package/dist/styles/glass/squircle.css +66 -0
  250. package/dist/styles/glass/surface-axis.css +113 -0
  251. package/dist/styles/glass/surfaces.css +382 -0
  252. package/dist/styles/glass-refract.css +2 -0
  253. package/dist/styles/glass.css +34 -1188
  254. package/dist/styles/hover-popover.css +2 -0
  255. package/dist/styles/icon-chip.css +149 -0
  256. package/dist/styles/index.css +94 -18
  257. package/dist/styles/instrument-chassis.css +46 -0
  258. package/dist/styles/menu.css +127 -0
  259. package/dist/styles/paper.css +2 -68
  260. package/dist/styles/segmented-tabs.css +346 -0
  261. package/dist/styles/select.css +50 -0
  262. package/dist/styles/theme/bridges.css +347 -0
  263. package/dist/styles/theme/dark.css +7 -0
  264. package/dist/styles/theme/literals.css +94 -0
  265. package/dist/styles/theme/radius.css +95 -0
  266. package/dist/styles/theme.css +26 -529
  267. package/dist/styles/tokens/color-radius.css +287 -0
  268. package/dist/styles/tokens/dark-arm.css +308 -0
  269. package/dist/styles/tokens/glass.css +500 -0
  270. package/dist/styles/tokens/light-dark.css +187 -0
  271. package/dist/styles/tokens/offsets-sizing.css +562 -0
  272. package/dist/styles/tokens/property-regs.css +162 -0
  273. package/dist/styles/tokens/scale-paper.css +409 -0
  274. package/dist/styles/tokens/scheme-motion.css +352 -0
  275. package/dist/styles/tokens/shadow.css +166 -0
  276. package/dist/styles/tokens.css +22 -2360
  277. package/dist/styles/transitions.css +7 -7
  278. package/dist/styles/typography/scale.css +153 -0
  279. package/dist/styles/typography/semantic.css +220 -0
  280. package/dist/styles/typography/utilities.css +159 -0
  281. package/dist/styles/typography.css +23 -453
  282. package/dist/styles/utilities/a11y-overrides.css +169 -0
  283. package/dist/styles/utilities/animate.css +26 -0
  284. package/dist/styles/utilities/base.css +541 -0
  285. package/dist/styles/utilities/btn.css +218 -0
  286. package/dist/styles/utilities/components.css +317 -0
  287. package/dist/styles/utilities.css +19 -1318
  288. package/dist/styles/view-transition.css +4 -52
  289. package/dist/switch.js +1 -1
  290. package/dist/tabs.js +161 -181
  291. package/dist/timeline.js +2 -2
  292. package/dist/toast.js +1 -1
  293. package/dist/toggle-chip.js +3 -1
  294. package/dist/toggle-group.js +1 -1
  295. package/dist/tooltip.js +1 -1
  296. package/dist/typewriter.js +1 -1
  297. package/dist/{useAnimatedNumber-Bcpy5Etf.js → useAnimatedNumber-C_3wZLx4.js} +1 -1
  298. package/dist/useConfiguratorState-kiIlun8I.js +303 -0
  299. package/dist/useLiquidFlex-C12hXwOZ.js +30 -0
  300. package/dist/useRAFLoop-CdwJ7284.js +109 -0
  301. package/dist/{useScrollProgress-CffFGLa5.js → useScrollProgress-D7bYU2RK.js} +1 -1
  302. package/dist/useSpecularTracking-Bo5su68i.js +32 -0
  303. package/dist/useSpringMount-CvopqiFr.js +108 -0
  304. package/dist/useSurfaceAxis-CMnF2zHb.js +7 -0
  305. package/dist/{useTouchGate-WFyJYsth.js → useTouchGate-28Tk2-t2.js} +1 -1
  306. package/dist/useViewTransition-COsPjQVZ.js +47 -0
  307. package/dist/utils/coalesceMetric.d.ts +29 -0
  308. package/dist/utils/index.d.ts +1 -0
  309. package/dist/vReveal-D9k0jADx.js +10 -0
  310. package/dist/watercolor-dot.js +22 -13
  311. package/dist/{x-Dfsegz9Y.js → x-BUwTKe50.js} +1 -1
  312. package/package.json +134 -50
  313. package/src/styles/animations.css +25 -125
  314. package/src/styles/cards.css +53 -0
  315. package/src/styles/configurator.css +77 -0
  316. package/src/styles/dock/density.css +19 -0
  317. package/src/styles/dock/layer-group.css +83 -25
  318. package/src/styles/dock/layers.css +23 -1
  319. package/src/styles/dock/morph-bridge.css +123 -0
  320. package/src/styles/dock/morph.css +175 -45
  321. package/src/styles/dock/overflow.css +66 -1
  322. package/src/styles/dock/rail-extend.css +397 -0
  323. package/src/styles/dock/section.css +59 -0
  324. package/src/styles/dock/shell.css +97 -110
  325. package/src/styles/dock-controls/dark-mode-toggle.css +109 -0
  326. package/src/styles/dock-controls/icon-button.css +143 -0
  327. package/src/styles/dock-controls/tab-button.css +143 -0
  328. package/src/styles/dock-controls/touch-floor.css +94 -0
  329. package/src/styles/dock-controls/triggers.css +135 -0
  330. package/src/styles/dock-controls.css +30 -595
  331. package/src/styles/dock.css +8 -3
  332. package/src/styles/drawer.css +42 -0
  333. package/src/styles/feedback-tone.css +104 -0
  334. package/src/styles/floating-panel.css +15 -0
  335. package/src/styles/glass/a11y-fallback.css +245 -0
  336. package/src/styles/glass/ladder.css +383 -0
  337. package/src/styles/glass/material.css +238 -0
  338. package/src/styles/glass/progress-rail.css +78 -0
  339. package/src/styles/glass/squircle.css +66 -0
  340. package/src/styles/glass/surface-axis.css +113 -0
  341. package/src/styles/glass/surfaces.css +382 -0
  342. package/src/styles/glass.css +34 -1188
  343. package/src/styles/icon-chip.css +149 -0
  344. package/src/styles/index.css +93 -17
  345. package/src/styles/instrument-chassis.css +42 -0
  346. package/src/styles/menu.css +127 -0
  347. package/src/styles/paper.css +2 -68
  348. package/src/styles/segmented-tabs.css +340 -0
  349. package/src/styles/select.css +50 -0
  350. package/src/styles/theme/bridges.css +347 -0
  351. package/src/styles/theme/dark.css +7 -0
  352. package/src/styles/theme/literals.css +94 -0
  353. package/src/styles/theme/radius.css +95 -0
  354. package/src/styles/theme.css +26 -529
  355. package/src/styles/tokens/color-radius.css +287 -0
  356. package/src/styles/tokens/dark-arm.css +308 -0
  357. package/src/styles/tokens/glass.css +500 -0
  358. package/src/styles/tokens/light-dark.css +187 -0
  359. package/src/styles/tokens/offsets-sizing.css +562 -0
  360. package/src/styles/tokens/property-regs.css +162 -0
  361. package/src/styles/tokens/scale-paper.css +409 -0
  362. package/src/styles/tokens/scheme-motion.css +352 -0
  363. package/src/styles/tokens/shadow.css +166 -0
  364. package/src/styles/tokens.css +22 -2360
  365. package/src/styles/transitions.css +7 -7
  366. package/src/styles/typography/scale.css +153 -0
  367. package/src/styles/typography/semantic.css +220 -0
  368. package/src/styles/typography/utilities.css +159 -0
  369. package/src/styles/typography.css +23 -453
  370. package/src/styles/utilities/a11y-overrides.css +169 -0
  371. package/src/styles/utilities/animate.css +26 -0
  372. package/src/styles/utilities/base.css +541 -0
  373. package/src/styles/utilities/btn.css +218 -0
  374. package/src/styles/utilities/components.css +317 -0
  375. package/src/styles/utilities.css +19 -1318
  376. package/src/styles/view-transition.css +4 -52
  377. package/dist/CardAction-DuArVky-.js +0 -157
  378. package/dist/DeckProgress-Dmk4_AKN.js +0 -23
  379. package/dist/DialogContent-BRkT1cjP.js +0 -100
  380. package/dist/InstrumentRail-CUJ05YVG.js +0 -44
  381. package/dist/MetricBadge-BZVWIxNy.js +0 -80
  382. package/dist/PopoverContent-BId6ggf_.js +0 -121
  383. package/dist/TabsList-B8CVOQPC.js +0 -101
  384. package/dist/components/custom/deck-progress/DeckProgress.vue.d.ts +0 -27
  385. package/dist/components/custom/deck-progress/index.d.ts +0 -2
  386. package/dist/components/custom/dialog-native/GlassDialogNative.vue.d.ts +0 -57
  387. package/dist/components/custom/dialog-native/index.d.ts +0 -1
  388. package/dist/components/custom/instrument-rail/InstrumentRail.vue.d.ts +0 -91
  389. package/dist/components/custom/instrument-rail/index.d.ts +0 -2
  390. package/dist/components/ui/carousel/CarouselDots.vue.d.ts +0 -4
  391. package/dist/composables/motion/useRouteTransition.d.ts +0 -42
  392. package/dist/deck-progress.d.ts +0 -1
  393. package/dist/deck-progress.js +0 -2
  394. package/dist/dockContext-BKeIMmNk.js +0 -9
  395. package/dist/instrument-rail.d.ts +0 -1
  396. package/dist/instrument-rail.js +0 -2
  397. package/dist/sheet-VZEtNFvO.js +0 -214
  398. package/dist/styles/instrument-rail.css +0 -127
  399. package/dist/useConfiguratorState-DxAqksK6.js +0 -287
  400. package/dist/useGlassRenderer-D7YGOYiM.js +0 -69
  401. package/dist/useSpecularTracking-BVRZsRHA.js +0 -26
  402. package/dist/useSpringMount-BJSHcLl3.js +0 -113
  403. package/dist/useViewTransition-DaN5Zrox.js +0 -21
  404. package/dist/vReveal-zUIQk-rJ.js +0 -53
  405. package/src/styles/instrument-rail.css +0 -127
  406. /package/dist/{CollapsibleContent-CP9qF1v4.js → CollapsibleContent-C_s6fG7r.js} +0 -0
  407. /package/dist/{ContextMenuContent-DDa0v27s.js → ContextMenuContent-ON3x7cuk.js} +0 -0
  408. /package/dist/{HoverCardContent-B6CcQ8He.js → HoverCardContent-DkMaQzH5.js} +0 -0
  409. /package/dist/{Input-xuDwALQR.js → Input-DVG_J0ne.js} +0 -0
  410. /package/dist/{InstrumentChassis-C2f6cBaQ.js → InstrumentChassis-UUJX0-mW.js} +0 -0
  411. /package/dist/{Label-zRfbQdCn.js → Label-Ck9SWEKM.js} +0 -0
  412. /package/dist/{ModalOverlay-B1GkAjNb.js → ModalOverlay-CkPRRgl_.js} +0 -0
  413. /package/dist/{PaperBackdrop-CqwjnfLv.js → PaperBackdrop-nBKe0vkB.js} +0 -0
  414. /package/dist/{SelectGroup-BFiod7X2.js → SelectGroup-Dcczq44n.js} +0 -0
  415. /package/dist/{SelectSeparator-C4Ql0gzV.js → SelectSeparator-DK2y1Bun.js} +0 -0
  416. /package/dist/{Separator-D7sD7RKj.js → Separator-BArl4OaB.js} +0 -0
  417. /package/dist/{TooltipProvider-CmZzCuaG.js → TooltipProvider-B3MkB_8P.js} +0 -0
  418. /package/dist/{_plugin-vue_export-helper-ok8pgSl5.js → _plugin-vue_export-helper-CBt_VvXa.js} +0 -0
  419. /package/dist/{compile-BOXjLUxu.js → compile-EXXzEr1q.js} +0 -0
  420. /package/dist/{constants-yKeKnE84.js → constants-BPOqYJAm.js} +0 -0
  421. /package/dist/{createContext-B44Sah_H.js → createContext-B2RaZ-b8.js} +0 -0
  422. /package/dist/{createLucideIcon-B6uNAU9G.js → createLucideIcon-DydS2qgk.js} +0 -0
  423. /package/dist/{presets-BP_ALM0m.js → presets-BW2b-fr1.js} +0 -0
  424. /package/dist/{prng-D27-B3tK.js → prng-Cg22zv8g.js} +0 -0
  425. /package/dist/{supportsCssTimeline-C5oe0lnD.js → supportsCssTimeline-BWenxvHU.js} +0 -0
  426. /package/dist/{useGlobalDark-CAhOXNLO.js → useGlobalDark-C28t0VWJ.js} +0 -0
  427. /package/dist/{useIntersectionPause-Cck5Uxk8.js → useIntersectionPause-Bj4sPkMh.js} +0 -0
  428. /package/dist/{useInterval-Dsmqwi03.js → useInterval-CNdua40W.js} +0 -0
  429. /package/dist/{useKeyboardShortcuts-CyIYrndH.js → useKeyboardShortcuts-BXWXOZ-9.js} +0 -0
  430. /package/dist/{useResizeObserver-CWCbk5Px.js → useResizeObserver-V6nq5gJb.js} +0 -0
  431. /package/dist/{useResolveTokenColor-r9pnNjqK.js → useResolveTokenColor-NUG2zYAW.js} +0 -0
  432. /package/dist/{useSortable-C8ReQ50P.js → useSortable-BVqlJRBR.js} +0 -0
  433. /package/dist/{useTextHighlight-CWEi25hf.js → useTextHighlight-NmBM5V_4.js} +0 -0
  434. /package/dist/{useTimer-3xqf_54b.js → useTimer-B_PAasDL.js} +0 -0
  435. /package/dist/{useUserInvalidAria-DoJKMZ3s.js → useUserInvalidAria-CDfJuakL.js} +0 -0
  436. /package/dist/{useViewportReady-RIr5Wgkh.js → useViewportReady-CvBcCYDf.js} +0 -0
@@ -0,0 +1,143 @@
1
+ /* dock-controls/tab-button.css — the `.dock-tab-button` control family
2
+ (AZ.W-CARVE partial 3 of 5; carved out of dock-controls.css).
3
+
4
+ The base rule (density-keyed height knob, padding, glass hover/active/press
5
+ cohort), the PRIMARY tier (the structural shell — taller min-height + wider
6
+ padding + a stronger base tint; the disco grain/halo RETIRED at BA.W-GLASS-CAL,
7
+ it now inherits the base glass hover register), and the SECONDARY tier (the
8
+ quieter edge-light/edge-shadow cross-control comma-group over tab + icon button).
9
+ Opens its OWN `@layer components`; @import-ed after dark-mode-toggle.css. */
10
+
11
+ @layer components {
12
+ .dock-tab-button {
13
+ display: inline-flex;
14
+ align-items: center;
15
+ flex-shrink: 0;
16
+ /* P.W4 Lane B inline-absorb: the `--dock-tab-h` density-keyed height
17
+ knob (parallel to DockIconButton's --dock-control-size) merged
18
+ here from the prior DockTabButton.vue scoped style block. The
19
+ density rungs that set `--dock-tab-h` per tier live in dock.css
20
+ (the `.glass-dock[data-density="…"]` blocks) — Q.W3
21
+ Lane A consolidated them out of utilities.css, closing the
22
+ cascade-order split-brain. When a parent <GlassDock density="…">
23
+ sets `--dock-tab-h`, the tab-button reserves that row even when
24
+ the glyph + padding sum would ride lower. Falls through to
25
+ `--dock-tab-min-height` (kept for audacious-tier callers) and
26
+ finally to `auto`. R3-spec / audit-E P0-3. */
27
+ min-height: var(--dock-tab-h, var(--dock-tab-min-height, auto));
28
+ padding-inline: var(--dock-tab-padding-inline, 0.75rem);
29
+ padding-block: var(--dock-tab-padding-block, 0.375rem);
30
+ border: none;
31
+ background: transparent;
32
+ /* BA.W-DOCK-GEOMETRY — the control-plate clearance inset (DC-2). The tab's
33
+ OWN padding already insets a content box within the row-locked border box;
34
+ `background-clip: content-box` realizes that as a PAINTED-plate inset, so
35
+ the hover (×1.1) / active pill clears the cross-axis clip edge with margin
36
+ — the same plate-inset-within-cell principle the icon-button consumes via
37
+ `--dock-control-safe-inset`. The text + min-height keep the box at the row;
38
+ only the painted fill insets (no box growth, no glyph reflow). */
39
+ background-clip: content-box;
40
+ border-radius: var(--dock-control-radius, var(--radius-pill));
41
+ /* Default font-size carries through to text-only tab content; consumers
42
+ wrapping content in an explicit type utility (e.g. `text-hero`,
43
+ `text-display`) on an inner <span> win because Tailwind v4 ships
44
+ @utility blocks in @layer utilities, which ranks above @layer
45
+ components — so this declaration is a fallback, not a ceiling. */
46
+ font-size: var(--type-small);
47
+ line-height: 1;
48
+ color: var(--muted-foreground);
49
+ text-decoration: none;
50
+ cursor: pointer;
51
+ white-space: nowrap;
52
+ outline: none;
53
+ /* AQ.W3 §W3.2 identity base */
54
+ scale: 1;
55
+ transition:
56
+ background-color var(--dock-motion-fast),
57
+ color var(--dock-motion-fast),
58
+ /* AT.W7-dock-b — press micro-feedback spring (transform-scoped). */ scale
59
+ var(--dock-press-spring);
60
+
61
+ /* AX.W45 DK2 — converged onto the FAMILY hover/active token pair (the
62
+ surface-tint-8/10 ladder it spoke is ≈ the same intent — glass-translucent
63
+ foreground-over-transparent). ONE grammar across icon/tab/picker.
64
+ AX.W45-TUNE Q3/C3 — the hover MOTION channel is now UNIFIED: the
65
+ `--scale-hover-dock` lift fires here (it used to fire on only icon +
66
+ dropdown), so all four control members lift on hover as ONE register —
67
+ the bg cross-fade (glass-tier), the scale, and the specular gleam read
68
+ together BEFORE click. The transform rides `--dock-press-spring`
69
+ (`--spring-smooth`) per the W52 easing doctrine. */
70
+ &:hover:not(:disabled) {
71
+ background: var(--dock-control-hover-bg);
72
+ color: var(--foreground);
73
+ scale: var(--scale-hover-dock);
74
+ }
75
+
76
+ /* AZ.W-REGISTER-IOS — the iOS press darken-plus-shrink (see the icon-button). */
77
+ &:active:not(:disabled) {
78
+ background: var(--dock-control-press-bg);
79
+ scale: var(--scale-press-dock);
80
+ }
81
+
82
+ &:focus:not(:focus-visible) {
83
+ box-shadow: none;
84
+ }
85
+
86
+ /* focus-visible ring + disabled paint hoisted to the shared `:where()`
87
+ group in dock.css. */
88
+
89
+ &:is(.is-active, .active, [aria-current="page"], [aria-pressed="true"]) {
90
+ background: var(--dock-control-active-bg);
91
+ color: var(--foreground);
92
+ }
93
+ }
94
+
95
+ /* Tier — primary ────────────────────────────────────────────
96
+ *
97
+ * BA.W-GLASS-CAL (H2a) — the disco COLLAPSED. The primary tier was a SECOND
98
+ * disco surface: it composed `@utility btn-audacious` (auto-attached by
99
+ * <DockTabButton> on `data-tier="primary"`) PLUS a dock-local phase-grain
100
+ * (the `--glass-grain-opacity-disco` + `--paper-clean-texture`/`--phase-color`
101
+ * radial hover) PLUS a `[data-phase]` `::before` rest-halo. With the disco
102
+ * retired, the primary tier keeps ONLY its STRUCTURAL shell (taller min-height,
103
+ * wider padding, the slightly-stronger base tint that distinguishes it from the
104
+ * secondary tier) and inherits the plain de-red'd dock-control glass hover
105
+ * register from the base `.dock-tab-button` rule above (bg → `--dock-control-
106
+ * hover-bg`, scale → `--scale-hover-dock`, the specular gleam — the SAME register
107
+ * `.dock-icon-button` speaks). No grain, no phase-radial, no rest-halo. The
108
+ * <DockTabButton> auto-attach of `btn-audacious` is removed (the utility is gone).
109
+ */
110
+ .dock-tab-button[data-tier="primary"] {
111
+ --dock-tab-min-height: 4rem;
112
+ padding-inline: 1.5rem;
113
+ background: color-mix(in srgb, var(--card) 60%, transparent);
114
+ color: var(--foreground);
115
+ }
116
+
117
+ /* Tier — secondary ──────────────────────────────────────────
118
+ *
119
+ * Companion to `data-tier="primary"`. Carries the same edge-light +
120
+ * edge-shadow skeu vocabulary at quieter weight: no disco accent, no
121
+ * sparkle, no curvature radial. Composes for icon-button consumers
122
+ * (chassis ActionCluster, SettingsCog) where the surface needs a
123
+ * glass-tier read but not the audacious primary punch. Per P.W1.B
124
+ * audit-C §3 — closes the four bare `<DockIconButton>` consumer sites
125
+ * (cog + back + retake + stop) without redefining the family. The
126
+ * secondary tier is a cross-control comma-group (tab + icon button), so it
127
+ * stays flat — nesting under one control would change coverage.
128
+ */
129
+ .dock-tab-button[data-tier="secondary"],
130
+ .dock-icon-button[data-tier="secondary"] {
131
+ background: color-mix(in srgb, var(--card) 50%, transparent);
132
+ border: 1px solid var(--glass-border-quiet);
133
+ box-shadow: var(--border-hairline), var(--glass-highlight);
134
+ }
135
+
136
+ .dock-tab-button[data-tier="secondary"]:hover:not(:disabled),
137
+ .dock-icon-button[data-tier="secondary"]:hover:not(:disabled) {
138
+ background: color-mix(in srgb, var(--card) 65%, transparent);
139
+ box-shadow:
140
+ var(--glass-specular),
141
+ 0 0.5px 0 0 rgb(0 0 0 / 0.06);
142
+ }
143
+ }
@@ -0,0 +1,94 @@
1
+ /* dock-controls/touch-floor.css — the tail overrides (AZ.W-CARVE partial 5 of 5;
2
+ carved out of dock-controls.css).
3
+
4
+ Two cohorts, both scoped overrides that MUST cascade AFTER the base control
5
+ families (so they @import last):
6
+ 1. the coarse-pointer per-button touch-target floor on the STANDALONE
7
+ `.dock-icon-button` (the in-dock floor is the `--dock-scale` × `max(…,44px)`
8
+ clamp; this is the no-`.glass-dock`-ancestor half).
9
+ 2. the vertical-dock rail SELECTED register (AX.W06 F2/F3 hoist +
10
+ AZ.W-REGISTER-IOS — the selected glyph reads warm-ink `--foreground` and
11
+ the leading-edge accent BAR is the translucent `--dock-selected-accent`
12
+ luminance-lift, the iOS-26/27 register).
13
+ Opens its OWN `@layer components`; @import-ed after triggers.css. */
14
+
15
+ @layer components {
16
+ /* AX.W45 D15 — coarse-pointer touch floor, button-level half. The IN-DOCK floor
17
+ is subsumed into the `--dock-scale` multiplier + the `max(…, 44px)` clamp in
18
+ the dock.css density cascade (the in-dock control-size grows ~1.5× past the
19
+ 44px target, the clamp guarantees the floor even below 1.0× scale). This
20
+ per-button rule is the STANDALONE half: a DockIconButton with NO `.glass-dock`
21
+ ancestor (a routed gear) has no density cascade lifting its size, so it keeps
22
+ the explicit `min-{block,inline}-size` floor. Scoped `:not(:where(.glass-dock
23
+ *))` so it does NOT double-stamp on an in-dock button (the cascade owns that —
24
+ one path per surface, no two-floor). Compact buttons opt out. */
25
+ @media (pointer: coarse) {
26
+ .dock-icon-button:not(.dock-icon-button--compact):not(:where(.glass-dock *)) {
27
+ min-block-size: var(--dock-touch-target, 2.75rem);
28
+ min-inline-size: var(--dock-touch-target, 2.75rem);
29
+ }
30
+ }
31
+
32
+ /* AX.W06 F2/F3 — the HOISTED refined rail nav-item polish. The demo's
33
+ `SidebarDock` dogfooded the active-category affordance (accent glyph tint +
34
+ a left-edge accent rule) as DEMO-PRIVATE chrome (`demo/layout/dock-nav.css`
35
+ `.demo-sidebar-item.is-active`), so a consumer reaching for a vertical nav
36
+ dock (AZ.W-DOCK-TAXONOMY — `orientation="vertical"`, the prior `variant="rail"`)
37
+ got the UN-refined bare `.is-active` colour shift. This hoists the refined
38
+ treatment into the shipped vertical-dock CSS so the demo == the shipped contract
39
+ (the demo no longer re-derives a worse rail by hand). The tap-squish press
40
+ feedback (the `:active` `--scale-press-dock` squish) + the right-anchored
41
+ tooltips are already the dock-control family + the consumer's `<Tooltip
42
+ side="right">` — this carries the active-item ACCENT, the half the variant
43
+ CSS did not own.
44
+
45
+ AZ.W-REGISTER-IOS — the SELECTED register is now the iOS luminance-lift, at
46
+ the ROOT (R3-6): the selected GLYPH reads warm-ink `--foreground` (NOT a
47
+ saturated brand hue — the prior `var(--dock-rail-active-accent, var(--primary))`
48
+ brand fallback is retired off the GLYPH), and the leading-edge accent BAR
49
+ demotes to `--dock-selected-accent` (a translucent foreground luminance-lift,
50
+ NOT a solid brand stripe). A selected rail item reads as the glass material-
51
+ lift plate (`--dock-control-active-bg` = `--glass-bg-floating`) + this quiet
52
+ luminance bar — the iOS-26/27 register. The `--dock-selected-accent` token
53
+ (offsets-sizing.css) is the SINGLE retint knob; the demo no longer overrides
54
+ it to `--viz-fourier` (the brand red survives only as static wordmark/viz/CTA
55
+ ink). The active state reads the SHIPPED four-state hooks the dock-control
56
+ family already activates (`.is-active`, `aria-current="page"`,
57
+ `[aria-pressed="true"]`). Scoped to a `.glass-dock.vertical` descendant
58
+ icon-button — a horizontal dock or the layer-switcher rail are untouched. */
59
+ .glass-dock.vertical .dock-icon-button {
60
+ position: relative;
61
+ }
62
+
63
+ .glass-dock.vertical
64
+ .dock-icon-button:is(.is-active, [aria-current="page"], [aria-pressed="true"]) {
65
+ --dock-active-color: var(--foreground);
66
+ color: var(--foreground);
67
+ }
68
+
69
+ /* The leading-edge accent rule — a short rounded bar pinned to the rail-leading
70
+ edge of the active nav item (the iOS / Figma side-rail selected-affordance).
71
+ `inset-inline-start` keys it off the writing-direction leading edge, so the
72
+ bar sits OUTSIDE the button on the rail's plate; `inset-block: <inset>` keeps
73
+ it short + centred. The width/inset all read `--dock-rail-accent-*` tokens so
74
+ the geometry is tunable from one place.
75
+
76
+ AZ.W-REGISTER-IOS — the bar paints `--dock-selected-accent` (a translucent
77
+ foreground luminance-lift), NOT the prior `var(--dock-rail-active-accent,
78
+ var(--primary))` saturated brand stripe. The selected read is the glass plate
79
+ + this quiet luminance bar — the iOS register, no brand hue on an interactive
80
+ state. `--dock-selected-accent` is the single retint knob (offsets-sizing.css). */
81
+ .glass-dock.vertical
82
+ .dock-icon-button:is(.is-active, [aria-current="page"], [aria-pressed="true"])::before {
83
+ content: "";
84
+ position: absolute;
85
+ inset-block: var(--dock-rail-accent-inset, 18%);
86
+ inset-inline-start: calc(
87
+ -1 * var(--dock-rail-accent-width, 3px) - var(--dock-rail-accent-gap, 2px)
88
+ );
89
+ width: var(--dock-rail-accent-width, 3px);
90
+ border-radius: var(--radius-pill);
91
+ background: var(--dock-selected-accent);
92
+ pointer-events: none;
93
+ }
94
+ }
@@ -0,0 +1,135 @@
1
+ /* dock-controls/triggers.css — the `.dock-select-trigger` /
2
+ `.dock-dropdown-trigger` picker family (AZ.W-CARVE partial 4 of 5; carved out
3
+ of dock-controls.css).
4
+
5
+ The shared base rule, the glass-translucent hover (AX.W45 DK2 — the pickers
6
+ off the opaque `--muted` flat plate onto the FAMILY hover token, with the
7
+ `--scale-hover-dock` lift unified into the shared hover group), the iOS press
8
+ darken (AZ.W-REGISTER-IOS), the focus + open/active fill (hover ≠ open), and
9
+ the `__chevron` open-flip. Opens its OWN `@layer components`; @import-ed after
10
+ tab-button.css. */
11
+
12
+ @layer components {
13
+ .dock-select-trigger,
14
+ .dock-dropdown-trigger {
15
+ display: inline-flex;
16
+ align-items: center;
17
+ justify-content: center;
18
+ flex-shrink: 0;
19
+ /* AQ.W3 §W3.2 identity base */
20
+ scale: 1;
21
+ gap: var(--dock-trigger-gap, 0.25rem);
22
+ min-height: var(--dock-trigger-min-height, auto);
23
+ padding: var(--dock-trigger-padding-block, 0.25rem)
24
+ var(--dock-trigger-padding-inline, 0.5rem);
25
+ white-space: nowrap;
26
+ cursor: pointer;
27
+ border: none;
28
+ background: transparent;
29
+ /* BA.W-DOCK-GEOMETRY — the control-plate clearance inset (DC-2). As on the
30
+ tab button: the trigger's OWN padding insets a content box within the
31
+ row-locked border box, and `background-clip: content-box` realizes that
32
+ as a PAINTED-plate inset so the hover (×1.1) / open pill clears the
33
+ cross-axis clip edge — the same plate-inset-within-cell principle the
34
+ icon-button consumes via `--dock-control-safe-inset`. No box growth. */
35
+ background-clip: content-box;
36
+ border-radius: var(--dock-control-radius, var(--radius-pill));
37
+ /* Shares the dock-icon-button legibility base (`--dock-fg-on-aurora`). */
38
+ color: color-mix(
39
+ in srgb,
40
+ var(--dock-fg-on-aurora, var(--foreground))
41
+ calc(var(--opacity-icon-muted) * 100%),
42
+ transparent
43
+ );
44
+ outline: none;
45
+ transition:
46
+ background-color var(--dock-motion-fast),
47
+ color var(--dock-motion-fast),
48
+ /* AT.W7-dock-b — press micro-feedback spring (transform-scoped). */ scale
49
+ var(--dock-press-spring),
50
+ opacity var(--dock-motion-fast);
51
+ }
52
+
53
+ /* AX.W45 DK2 — the pickers move OFF the opaque `--muted` flat plate onto the
54
+ glass-translucent FAMILY hover token (the dock substrate shows through, not a
55
+ solid cream rectangle over the glass — the loudest "not right" tell). hover ≠
56
+ open now: the active/open rule below reads `--dock-control-active-bg` (a tint
57
+ LADDER step above hover), so an OPEN dropdown reads distinctly from a merely-
58
+ hovered one (paired with the chevron flip). ONE source per state, glass-aware
59
+ across the whole dock-control family. */
60
+ /* AX.W45-TUNE Q3/C3 — the picker hover lift is now in the SHARED group: the
61
+ `--scale-hover-dock` scale fires on BOTH select + dropdown (it used to fire on
62
+ the dropdown ONLY — the split-brain hover the DK2 fix left). All four dock
63
+ control members (icon/tab/select/dropdown) now lift on hover as one register,
64
+ mirroring the unified glass-tier `--dock-control-hover-bg` cross-fade. The
65
+ lone `.dock-dropdown-trigger:hover` scale rule is RETIRED into this group. */
66
+ .dock-select-trigger:hover:not(:disabled),
67
+ .dock-dropdown-trigger:hover:not(:disabled) {
68
+ background: var(--dock-control-hover-bg);
69
+ color: var(--btn-hover-color, var(--foreground));
70
+ scale: var(--scale-hover-dock);
71
+ }
72
+
73
+ /* AZ.W-REGISTER-IOS — the iOS press darken-plus-shrink (see the icon-button). */
74
+ .dock-select-trigger:active:not(:disabled),
75
+ .dock-dropdown-trigger:active:not(:disabled) {
76
+ background: var(--dock-control-press-bg);
77
+ scale: var(--scale-press-dock);
78
+ }
79
+
80
+ .dock-select-trigger:focus:not(:focus-visible),
81
+ .dock-dropdown-trigger:focus:not(:focus-visible) {
82
+ box-shadow: none;
83
+ outline: none;
84
+ }
85
+
86
+ /* focus-visible ring + disabled paint hoisted to the shared `:where()`
87
+ group in dock.css; this rule adds only the box-shadow fade transition.
88
+ `scale` keeps the AT.W7-dock-b press micro-feedback spring. */
89
+ .dock-select-trigger:focus-visible,
90
+ .dock-dropdown-trigger:focus-visible {
91
+ transition:
92
+ background-color var(--dock-motion-fast),
93
+ color var(--dock-motion-fast),
94
+ scale var(--dock-press-spring),
95
+ opacity var(--dock-motion-fast),
96
+ box-shadow var(--dock-motion-fast);
97
+ }
98
+
99
+ .dock-select-trigger:is(
100
+ .is-active,
101
+ .active,
102
+ [aria-expanded="true"],
103
+ [aria-pressed="true"]
104
+ ),
105
+ .dock-dropdown-trigger:is(
106
+ .is-active,
107
+ .active,
108
+ [aria-expanded="true"],
109
+ [aria-pressed="true"]
110
+ ) {
111
+ /* AX.W45 DK2 — the OPEN affordance: a translucent active fill a ladder step
112
+ above hover (NOT the opaque `--muted`, NOT byte-identical to hover). OPEN =
113
+ (chevron up + this active fill); HOVER = (the lighter hover fill, chevron
114
+ down) — the smooth glass-aware four-state read the picker lacked. */
115
+ background: var(--dock-control-active-bg);
116
+ color: var(--foreground);
117
+ }
118
+
119
+ .dock-select-trigger__chevron {
120
+ width: var(--dock-trigger-icon-size, 0.75rem);
121
+ height: var(--dock-trigger-icon-size, 0.75rem);
122
+ flex-shrink: 0;
123
+ opacity: 0.5;
124
+ /* Individual-transform identity base (AQ.W3 §W3.2) — `rotate:` longhand
125
+ for family consistency (not a stacking-context hazard: child glyph).
126
+ AT.W7-dock-b — the open/close flip carries the press micro-feedback
127
+ spring (transform-scoped). */
128
+ rotate: 0deg;
129
+ transition: rotate var(--dock-press-spring);
130
+ }
131
+
132
+ .dock-select-trigger[data-state="open"] .dock-select-trigger__chevron {
133
+ rotate: 180deg;
134
+ }
135
+ }