@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,221 +0,0 @@
1
- /* dock-controls/icon-button.css — the `.dock-icon-button` control family
2
- (AZ.W-CARVE partial 1 of 5; carved out of dock-controls.css).
3
-
4
- The base rule (size/radius/legibility colour/transition), the glass icon-hover
5
- fill (AT.W7-dock-b / AX.W45 DK2), the iOS press DARKEN-plus-shrink
6
- (AZ.W-REGISTER-IOS), the focus + active-paint cohort (O.W6 Lane B), the
7
- library-owned glyph sizing (AX.W45 D15), + the `--compact` size override.
8
-
9
- Opens its OWN `@layer components` (same layer as the carve siblings) so the
10
- carve is cascade-isomorphic. @import-ed after the shared `:where()` group at
11
- the dock-controls.css root. */
12
-
13
- @layer components {
14
- /* BG.W-LIQUID-WEIGHT-DEFAULT (F5.2, row 2) — the dock press drive typed registration.
15
- `useLiquidPress` (DockIconButton) writes it 0→1 on the press spring; the coupled
16
- darken/specular legs read it via `calc()` (typed <number> so the calc interpolates),
17
- and an unwired / SSR / no-JS dock control reads the static rest 0 (the no-JS floor —
18
- the `:active` register carries the press without it). Inherits so the material
19
- `::before` catch-light (a descendant pseudo) reads the host's press scalar. */
20
- @property --dock-press-t {
21
- syntax: "<number>";
22
- inherits: true;
23
- initial-value: 0;
24
- }
25
-
26
- .dock-icon-button {
27
- display: inline-flex;
28
- align-items: center;
29
- justify-content: center;
30
- flex-shrink: 0;
31
- /* AQ.W3 §W3.2 identity base */
32
- scale: 1;
33
- width: var(--dock-control-size, var(--size-icon-btn));
34
- height: var(--dock-control-size, var(--size-icon-btn));
35
- /* BI.W-DOCK-CONTROLS — the `--dock-control-safe-inset` painted-plate inset
36
- FOLDED onto the shared `.glass-capsule` face (glass/glass-capsule.css):
37
- `.glass-dock .dock-icon-button { padding: var(--dock-icon-padding,
38
- var(--dock-control-safe-inset, 0)) }` + `background-clip: content-box` on
39
- the capsule family. The HIT CELL stays the full `--dock-control-size`
40
- (the WCAG 2.5.5 touch floor on the CELL); the painted plate insets within
41
- it (hit box ≠ paint box). Here the standalone routing is GONE — a bare
42
- standalone icon button (outside a dock) keeps only its `--dock-icon-padding`
43
- override, no safe-inset token read (the face owns the token). */
44
- padding: var(--dock-icon-padding, 0);
45
- cursor: pointer;
46
- border: none;
47
- background: transparent;
48
- border-radius: var(--dock-control-radius, var(--radius-pill));
49
- /* Foreground base routes through `--dock-fg-on-aurora` (defaults to
50
- `--foreground`, byte-identical to before) so a consumer floating the
51
- dock over an aurora can lift contrast per-backdrop. The muted icon
52
- weight mixes that base down with `--opacity-icon-muted`. */
53
- color: color-mix(
54
- in srgb,
55
- var(--dock-fg-on-aurora, var(--foreground))
56
- calc(var(--opacity-icon-muted) * 100%),
57
- transparent
58
- );
59
- outline: none;
60
- transition:
61
- background-color var(--dock-motion-fast),
62
- color var(--dock-motion-fast),
63
- /* AT.W7-dock-b — `scale` carries the press micro-feedback spring
64
- (transform-scoped only; the surface fades stay on the flat ease). */
65
- scale var(--dock-press-spring),
66
- opacity var(--dock-motion-fast),
67
- /* The box-shadow fade now carries ONLY the focus-visible ring (shared
68
- `:focus-visible` group in dock.css) + the active-state
69
- `--dock-active-shadow` — the AX.W09-retired hover `--glass-highlight`
70
- specular no longer rides it. */
71
- box-shadow var(--dock-motion-fast);
72
-
73
- /* BG.W-LIQUID-WEIGHT-DEFAULT (F5.2, row 2) — the dock control press couples to
74
- the ONE interruptible press spring. DockIconButton composes `useLiquidPress`
75
- (springPreset('press'), squish on) writing the `--dock-press-t` 0..1 drive; the
76
- CSS reads it on TWO coupled feedback legs so a tap reads as a spring-settling iOS
77
- press (the paint-judge dock-hover-press repair), while the binary `:active`
78
- register below stays the no-JS / PRM floor:
79
-
80
- • the SPECULAR leg — the dock press drive aliases onto the shared
81
- `--glass-btn-press-t` the material `::before` catch-light reads (glass/
82
- material.css `--specular-intensity: max(rest, active·--glass-btn-press-t)`),
83
- so on RELEASE the gleam SETTLES with the spring's alive rebound instead of
84
- snapping to rest (the material comment's "a dock control writes it" intent, now
85
- wired). At rest `--dock-press-t` is 0 → `--glass-btn-press-t` 0 → byte-identical
86
- (no second specular recipe — the DRY reuse of the built material gleam).
87
- • the DARKEN leg — a sub-perceptual `filter: brightness()` deepen on the SAME
88
- drive so the plate reads as pressing IN (not just shrinking), settling on the
89
- spring; `filter` is compositor-safe (`proof:no-layout-animation` greens it),
90
- and `brightness(1)` at rest is a no-op. */
91
- --glass-btn-press-t: var(--dock-press-t, 0);
92
- filter: brightness(calc(1 - var(--dock-press-t, 0) * 0.04));
93
-
94
- /* AT.W7-dock-b — glass icon-hover. The icon-button hover reads as a glass
95
- surface, not a flat `--muted` plate: a translucent card-tinted fill is
96
- the hover affordance. A consumer retunes the fill via `--dock-icon-hover-bg`.
97
-
98
- AX.W09 — the dock control's SECOND specular (the `--glass-highlight`
99
- hover box-shadow, AT.W7-dock-b) is RETIRED. The dock-icon-button is a
100
- member of the unified `.glass-material` group (glass.css), so the moving
101
- `::before` catch-light is now its SOLE specular owner — one light per
102
- surface (the §0 "excise or fail" discipline). Stacking the
103
- `--glass-highlight` inset box-shadow on the most-hovered, slides-floated
104
- surface was the worst-offending double-light blowout; the card-tinted
105
- hover fill carries the affordance without a second catch-light, and
106
- dropping it also removes the `:not(:focus-visible)` specular-vs-ring
107
- juggle. */
108
- /* AX.W45 DK2 — the hover reads the FAMILY token `--dock-control-hover-bg`
109
- (the per-control `--dock-icon-hover-bg` still wins if a consumer set it),
110
- so the whole dock-control family shares ONE glass-translucent hover fill.
111
- One source per state across icon/tab/picker (no four-vocabulary drift). */
112
- &:hover:not(:disabled) {
113
- background: var(
114
- --dock-icon-hover-bg,
115
- var(--dock-control-hover-bg)
116
- );
117
- color: var(--btn-hover-color, var(--foreground));
118
- scale: var(--scale-hover-dock);
119
- }
120
-
121
- /* AZ.W-REGISTER-IOS — the iOS press DARKEN-plus-shrink. Press lands the
122
- glass-darken (`--dock-control-press-bg`, a tier below resting) alongside
123
- the existing scale-press, so a tap reads "darken + shrink" (C4-INV-4 was
124
- scale-only). Token-first — a consumer retunes via `--dock-control-press-bg`. */
125
- &:active:not(:disabled) {
126
- background: var(--dock-control-press-bg);
127
- scale: var(--scale-press-dock);
128
- }
129
-
130
- /* W-NAV-DOCK-FIX — the four-state DISABLED register. A boundary nav control
131
- (prev/next at the first/last item) stays PRESENT but disabled so the row
132
- geometry holds (never DOM-absent — the "flaky" read). It dims to the shared
133
- disabled opacity + suppresses the press/pointer (the hover/active rules
134
- already `:not(:disabled)`-exclude it, so this only needs the dim + the
135
- pointer-suppress). Compositor-only (opacity); no layout shift. */
136
- &:disabled {
137
- opacity: var(--opacity-disabled, 0.4);
138
- pointer-events: none;
139
- cursor: default;
140
- }
141
-
142
- &:focus:not(:focus-visible) {
143
- box-shadow: none;
144
- outline: none;
145
- }
146
-
147
- /* O.W6 Lane B — token-ladder active paint. Defaults match the prior
148
- hardcoded recipe (--muted bg + --foreground color, no transform / border
149
- / shadow). Consumers override the active variant via the
150
- `--dock-active-{bg,color,scale,border,shadow}` cohort scoped to a parent
151
- (e.g. bbnf-buddy `ToolsLayer.vue` audacious active treatment) — no
152
- `:deep()` escapes required. See tokens.css §10 (dock geometry block). */
153
- &:is(.is-active, .active, [aria-expanded="true"], [aria-pressed="true"]) {
154
- background: var(--dock-active-bg);
155
- color: var(--dock-active-color);
156
- scale: var(--dock-active-scale);
157
- border: var(--dock-active-border);
158
- box-shadow: var(--dock-active-shadow);
159
- }
160
-
161
- /* BC.W-DOCK-ENGINE cross-repo fold (fourier-M #10) — the `<DockIconButton
162
- :active>` selectable register. The `data-active` hook the component stamps
163
- reads the rail's "selected reads as glass" tier (`--dock-control-active-bg`,
164
- default `--glass-bg-floating` — a GLASS tier ABOVE the rest fill, NEVER a
165
- saturated brand hue, per W-REGISTER-IOS). Distinct from the consumer
166
- `--dock-active-*` cohort above (a parent-scoped audacious override): this is
167
- the library's default selected glass, ergonomic sugar over the shipped
168
- register so a selectable dock control needs no hand-rolled active paint. The
169
- glyph/label firm to the full warm-ink, mirroring the rail's `.is-active`.
170
-
171
- BD.W-DOCK-CORE (P4 deferred) — the selected pill now COMPOSES the shared
172
- `.glass-capsule` register (the component adds the `.glass-capsule` class when
173
- `active`). So instead of painting a bare `background`, the `[data-active]`
174
- rung re-points `--glass-capsule-fill` (the override hook the capsule register
175
- exposes) to the selected glass tier — the capsule's lifted-plate composite
176
- (rim + lift + the warm-floor fill base) reads the selected tier WITHOUT
177
- forking the register (the selected-parity rung). The glyph firms to the full
178
- warm-ink. */
179
- &[data-active] {
180
- --glass-capsule-fill: var(
181
- --dock-control-active-bg,
182
- var(--glass-bg-floating)
183
- );
184
- /* Re-assert the capsule fill as the painted background — the base
185
- `.dock-icon-button { background: transparent }` (same layer, later
186
- source order, equal specificity) would otherwise win over
187
- `.glass-capsule`'s background; this `[data-active]` rule (specificity
188
- 0,2,0 > the base 0,1,0) hands the selected pill its lifted-glass fill.
189
- The capsule's rim/lift `box-shadow` + `backdrop-filter` already apply
190
- (the base rule never sets those). */
191
- background: var(--glass-capsule-fill);
192
- color: var(--dock-fg-on-aurora, var(--foreground));
193
- }
194
- }
195
-
196
- /* focus-visible ring + disabled paint hoisted to the shared `:where()`
197
- group in dock.css. The box-shadow fade transition lives on the base
198
- `.dock-icon-button` rule (it carries the focus-ring + active-shadow fade
199
- since AX.W09 retired the hover `--glass-highlight` specular), so no
200
- per-state transition override is needed. */
201
-
202
- /* AX.W45 D15 — LIBRARY GLYPH OWNERSHIP. The dock icon-button now sizes its glyph
203
- (mirroring `.dark-mode-toggle-button > svg`), so the glyph scales WITH the box
204
- on the `--dock-scale` multiplier instead of swimming at a fixed consumer size.
205
- `--dock-icon-glyph: calc(1.25rem * var(--dock-scale))` (tokens.css) rides the
206
- multiplier — at 1.5× the glyph is 30px in a 60px box, the desktop proportion.
207
- A consumer passing an explicit lucide size class still WINS (utility layer >
208
- component layer) — a DEFAULT, not a ceiling, matching the `.dock-tab-button`
209
- font-size precedent. */
210
- .dock-icon-button > svg {
211
- width: var(--dock-icon-glyph, 1.25rem);
212
- height: var(--dock-icon-glyph, 1.25rem);
213
- }
214
-
215
- .dock-icon-button--compact {
216
- width: var(--dock-compact-control-size, auto);
217
- height: var(--dock-compact-control-size, auto);
218
- min-width: var(--dock-compact-control-min-width, 0);
219
- padding: var(--dock-compact-control-padding, 0.25rem);
220
- }
221
- }
@@ -1,143 +0,0 @@
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-size="…"]` blocks) — Q.W3
21
- Lane A consolidated them out of utilities.css, closing the
22
- cascade-order split-brain. When a parent <GlassDock size="…">
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
- }
@@ -1,119 +0,0 @@
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
- /* ATLAS-N C3 (NF.1 rider) — the compact/dense DOCK-TRIGGER 44px tap floor via a
32
- HIT-SLOP, not a box grow. The select/dropdown triggers size off
33
- `min-height: auto` + padding (NOT `--dock-control-size`), so on a compact/dense
34
- rung a coarse-pointer trigger paints ~32×24 — below the WCAG-2.5.5 chrome floor
35
- (the atlas census `.dock-trigger.dock-dropdown-trigger` = 32×24). A centred
36
- `::after` hit-slop extends the POINTER target to `--dock-touch-target` in each
37
- axis WITHOUT painting or growing the box (the atlas N-SPEC §4.5 chrome-floor
38
- idiom — `--dock-control-floor`/`--dock-touch-target` names survive per Q4). The
39
- slop is a transparent child of the button, so a tap anywhere within it fires the
40
- button; `max(100%, …)` is SELF-LIMITING — a trigger already ≥ floor gets a slop
41
- exactly its own size (no-op), so the rule never shrinks nor over-grows a target. */
42
- :is(.dock-trigger, .dock-select-trigger, .dock-dropdown-trigger) {
43
- position: relative;
44
- }
45
- :is(.dock-trigger, .dock-select-trigger, .dock-dropdown-trigger)::after {
46
- content: "";
47
- position: absolute;
48
- inset-block-start: 50%;
49
- inset-inline-start: 50%;
50
- inline-size: max(100%, var(--dock-touch-target, 2.75rem));
51
- block-size: max(100%, var(--dock-touch-target, 2.75rem));
52
- transform: translate(-50%, -50%);
53
- /* transparent — the slop extends the tap area, never the paint. */
54
- }
55
- }
56
-
57
- /* AX.W06 F2/F3 — the HOISTED refined rail nav-item polish. The demo's
58
- `SidebarDock` dogfooded the active-category affordance (accent glyph tint +
59
- a left-edge accent rule) as DEMO-PRIVATE chrome (`demo/layout/dock-nav.css`
60
- `.demo-sidebar-item.is-active`), so a consumer reaching for a vertical nav
61
- dock (AZ.W-DOCK-TAXONOMY — `orientation="vertical"`, the prior `variant="rail"`)
62
- got the UN-refined bare `.is-active` colour shift. This hoists the refined
63
- treatment into the shipped vertical-dock CSS so the demo == the shipped contract
64
- (the demo no longer re-derives a worse rail by hand). The tap-squish press
65
- feedback (the `:active` `--scale-press-dock` squish) + the right-anchored
66
- tooltips are already the dock-control family + the consumer's `<Tooltip
67
- side="right">` — this carries the active-item ACCENT, the half the variant
68
- CSS did not own.
69
-
70
- AZ.W-REGISTER-IOS — the SELECTED register is now the iOS luminance-lift, at
71
- the ROOT (R3-6): the selected GLYPH reads warm-ink `--foreground` (NOT a
72
- saturated brand hue — the prior `var(--dock-rail-active-accent, var(--primary))`
73
- brand fallback is retired off the GLYPH), and the leading-edge accent BAR
74
- demotes to `--dock-selected-accent` (a translucent foreground luminance-lift,
75
- NOT a solid brand stripe). A selected rail item reads as the glass material-
76
- lift plate (`--dock-control-active-bg` = `--glass-bg-floating`) + this quiet
77
- luminance bar — the iOS-26/27 register. The `--dock-selected-accent` token
78
- (offsets-sizing.css) is the SINGLE retint knob; the demo no longer overrides
79
- it to `--viz-fourier` (the brand red survives only as static wordmark/viz/CTA
80
- ink). The active state reads the SHIPPED four-state hooks the dock-control
81
- family already activates (`.is-active`, `aria-current="page"`,
82
- `[aria-pressed="true"]`). Scoped to a `.glass-dock.vertical` descendant
83
- icon-button — a horizontal dock or the layer-switcher rail are untouched. */
84
- .glass-dock.vertical .dock-icon-button {
85
- position: relative;
86
- }
87
-
88
- .glass-dock.vertical
89
- .dock-icon-button:is(.is-active, [aria-current="page"], [aria-pressed="true"]) {
90
- --dock-active-color: var(--foreground);
91
- color: var(--foreground);
92
- }
93
-
94
- /* The leading-edge accent rule — a short rounded bar pinned to the rail-leading
95
- edge of the active nav item (the iOS / Figma side-rail selected-affordance).
96
- `inset-inline-start` keys it off the writing-direction leading edge, so the
97
- bar sits OUTSIDE the button on the rail's plate; `inset-block: <inset>` keeps
98
- it short + centred. The width/inset all read `--dock-rail-accent-*` tokens so
99
- the geometry is tunable from one place.
100
-
101
- AZ.W-REGISTER-IOS — the bar paints `--dock-selected-accent` (a translucent
102
- foreground luminance-lift), NOT the prior `var(--dock-rail-active-accent,
103
- var(--primary))` saturated brand stripe. The selected read is the glass plate
104
- + this quiet luminance bar — the iOS register, no brand hue on an interactive
105
- state. `--dock-selected-accent` is the single retint knob (offsets-sizing.css). */
106
- .glass-dock.vertical
107
- .dock-icon-button:is(.is-active, [aria-current="page"], [aria-pressed="true"])::before {
108
- content: "";
109
- position: absolute;
110
- inset-block: var(--dock-rail-accent-inset, 18%);
111
- inset-inline-start: calc(
112
- -1 * var(--dock-rail-accent-width, 3px) - var(--dock-rail-accent-gap, 2px)
113
- );
114
- width: var(--dock-rail-accent-width, 3px);
115
- border-radius: var(--radius-pill);
116
- background: var(--dock-selected-accent);
117
- pointer-events: none;
118
- }
119
- }
@@ -1,157 +0,0 @@
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
- /* BD.W-DOCK-CORE (A8) — `.dock-trigger` is the UNIFIED dock overlay-trigger register.
14
- DockSelectTrigger, DockDropdownTrigger, AND DockPopoverTrigger all compose it (each
15
- also keeps its legacy class for back-compat-free continuity within this file), so a
16
- popover trigger inside a dock is byte-identical geometry + style + baseline alignment
17
- to the dropdown trigger — the prior three-divergent-contracts misalignment (A8) is
18
- gone. The hover-SCALE is OFF on all three (below): a scaling trigger shifts its
19
- portaled-content anchor mid-open; the SelectTrigger's documented no-scale reason is
20
- generalized to the whole family (clean break — the dropdown's lone hover-scale is
21
- retired, no alias). */
22
- .dock-trigger,
23
- .dock-select-trigger,
24
- .dock-dropdown-trigger {
25
- display: inline-flex;
26
- align-items: center;
27
- justify-content: center;
28
- flex-shrink: 0;
29
- /* AQ.W3 §W3.2 identity base */
30
- scale: 1;
31
- gap: var(--dock-trigger-gap, 0.25rem);
32
- min-height: var(--dock-trigger-min-height, auto);
33
- padding: var(--dock-trigger-padding-block, 0.25rem)
34
- var(--dock-trigger-padding-inline, 0.5rem);
35
- white-space: nowrap;
36
- cursor: pointer;
37
- border: none;
38
- background: transparent;
39
- /* BA.W-DOCK-GEOMETRY — the control-plate clearance inset (DC-2). As on the
40
- tab button: the trigger's OWN padding insets a content box within the
41
- row-locked border box, and `background-clip: content-box` realizes that
42
- as a PAINTED-plate inset so the hover (×1.1) / open pill clears the
43
- cross-axis clip edge — the same plate-inset-within-cell principle the
44
- icon-button consumes via `--dock-control-safe-inset`. No box growth. */
45
- background-clip: content-box;
46
- border-radius: var(--dock-control-radius, var(--radius-pill));
47
- /* Shares the dock-icon-button legibility base (`--dock-fg-on-aurora`). */
48
- color: color-mix(
49
- in srgb,
50
- var(--dock-fg-on-aurora, var(--foreground))
51
- calc(var(--opacity-icon-muted) * 100%),
52
- transparent
53
- );
54
- outline: none;
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
- opacity var(--dock-motion-fast);
61
- }
62
-
63
- /* AX.W45 DK2 — the pickers move OFF the opaque `--muted` flat plate onto the
64
- glass-translucent FAMILY hover token (the dock substrate shows through, not a
65
- solid cream rectangle over the glass — the loudest "not right" tell). hover ≠
66
- open now: the active/open rule below reads `--dock-control-active-bg` (a tint
67
- LADDER step above hover), so an OPEN dropdown reads distinctly from a merely-
68
- hovered one (paired with the chevron flip). ONE source per state, glass-aware
69
- across the whole dock-control family. */
70
- /* AX.W45-TUNE Q3/C3 — the picker hover lift is now in the SHARED group: the
71
- `--scale-hover-dock` scale fires on BOTH select + dropdown (it used to fire on
72
- the dropdown ONLY — the split-brain hover the DK2 fix left). All four dock
73
- control members (icon/tab/select/dropdown) now lift on hover as one register,
74
- mirroring the unified glass-tier `--dock-control-hover-bg` cross-fade. The
75
- lone `.dock-dropdown-trigger:hover` scale rule is RETIRED into this group. */
76
- /* BD.W-DOCK-CORE (A8) — hover lifts the FILL only; the hover-SCALE is RETIRED across
77
- the whole trigger family so portaled content anchors smoothly (the SelectTrigger's
78
- documented no-scale reason, generalized — clean break, no alias). */
79
- .dock-trigger:hover:not(:disabled),
80
- .dock-select-trigger:hover:not(:disabled),
81
- .dock-dropdown-trigger:hover:not(:disabled) {
82
- background: var(--dock-control-hover-bg);
83
- color: var(--btn-hover-color, var(--foreground));
84
- }
85
-
86
- /* AZ.W-REGISTER-IOS — the iOS press darken-plus-shrink (see the icon-button). */
87
- .dock-trigger:active:not(:disabled),
88
- .dock-select-trigger:active:not(:disabled),
89
- .dock-dropdown-trigger:active:not(:disabled) {
90
- background: var(--dock-control-press-bg);
91
- scale: var(--scale-press-dock);
92
- }
93
-
94
- .dock-trigger:focus:not(:focus-visible),
95
- .dock-select-trigger:focus:not(:focus-visible),
96
- .dock-dropdown-trigger:focus:not(:focus-visible) {
97
- box-shadow: none;
98
- outline: none;
99
- }
100
-
101
- /* focus-visible ring + disabled paint hoisted to the shared `:where()`
102
- group in dock.css; this rule adds only the box-shadow fade transition.
103
- `scale` keeps the AT.W7-dock-b press micro-feedback spring. */
104
- .dock-trigger:focus-visible,
105
- .dock-select-trigger:focus-visible,
106
- .dock-dropdown-trigger:focus-visible {
107
- transition:
108
- background-color var(--dock-motion-fast),
109
- color var(--dock-motion-fast),
110
- scale var(--dock-press-spring),
111
- opacity var(--dock-motion-fast),
112
- box-shadow var(--dock-motion-fast);
113
- }
114
-
115
- .dock-trigger:is(
116
- .is-active,
117
- .active,
118
- [aria-expanded="true"],
119
- [aria-pressed="true"]
120
- ),
121
- .dock-select-trigger:is(
122
- .is-active,
123
- .active,
124
- [aria-expanded="true"],
125
- [aria-pressed="true"]
126
- ),
127
- .dock-dropdown-trigger:is(
128
- .is-active,
129
- .active,
130
- [aria-expanded="true"],
131
- [aria-pressed="true"]
132
- ) {
133
- /* AX.W45 DK2 — the OPEN affordance: a translucent active fill a ladder step
134
- above hover (NOT the opaque `--muted`, NOT byte-identical to hover). OPEN =
135
- (chevron up + this active fill); HOVER = (the lighter hover fill, chevron
136
- down) — the smooth glass-aware four-state read the picker lacked. */
137
- background: var(--dock-control-active-bg);
138
- color: var(--foreground);
139
- }
140
-
141
- .dock-select-trigger__chevron {
142
- width: var(--dock-trigger-icon-size, 0.75rem);
143
- height: var(--dock-trigger-icon-size, 0.75rem);
144
- flex-shrink: 0;
145
- opacity: 0.5;
146
- /* Individual-transform identity base (AQ.W3 §W3.2) — `rotate:` longhand
147
- for family consistency (not a stacking-context hazard: child glyph).
148
- AT.W7-dock-b — the open/close flip carries the press micro-feedback
149
- spring (transform-scoped). */
150
- rotate: 0deg;
151
- transition: rotate var(--dock-press-spring);
152
- }
153
-
154
- .dock-select-trigger[data-state="open"] .dock-select-trigger__chevron {
155
- rotate: 180deg;
156
- }
157
- }