@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,201 +0,0 @@
1
- /*
2
- * select.css — the Select content collision-bound, pre-compiled (BA.W-EMISSION).
3
- *
4
- * THE DEFECT (BA-VJS-A2-WO1 / valuejs-fold A-2): SelectContent.vue authored its
5
- * collision-bound as a Tailwind ARBITRARY-BRACKET utility
6
- * [max-height:var(--reka-popper-available-height,60dvh)]
7
- * which is correct in SOURCE but compiles ONLY into a `dist/*.js` render-function
8
- * chunk no consumer content-scan reaches (and the P9 emitComponentUtilities
9
- * safelist rejects fully-arbitrary bracket tokens by construction). So in every
10
- * consumer the bound NEVER painted — `getComputedStyle(content).maxHeight === "none"`
11
- * — and a 16-item dropdown rendered 745px tall, overflowing a 900px viewport by
12
- * 125px (the value.js U-DROPDOWN capture, the binding RED evidence).
13
- *
14
- * THE FIX: move the bound to a PRECOMPILED rule that ships in `dist/glass-ui.css`
15
- * regardless of consumer JIT reach — it is a plain attribute-selector rule, not a
16
- * Tailwind utility, so it always emits. The cap is the kf donor's default
17
- * `min(24rem, 60dvh)` (kf design-idioms.css `--easing-dropdown-max-h`; the U8
18
- * bounded-scroll reference), TIGHTENED by reka's measured
19
- * `--reka-popper-available-height` on a short viewport via the inner `min()`.
20
- * `overflow-y: auto` (already on the content via the CVA base) gives the inner
21
- * scroll. The behaviour is identical to the authored class — it now SHIPS.
22
- *
23
- * --select-content-max-h is the ONE retint knob (a consumer widens/narrows the cap
24
- * by overriding it on any ancestor). The default folds reka's available-height in:
25
- * when reka reports a height (popper measured), the bound is the MIN of that and
26
- * the 24rem/60dvh ceiling, so the panel never exceeds the viewport AND never grows
27
- * past the comfortable ceiling.
28
- */
29
-
30
- :root {
31
- /* The comfortable ceiling — the kf donor default. */
32
- --select-content-max-h: min(24rem, 60dvh);
33
- }
34
-
35
- [data-slot="select-content"] {
36
- /* The collision-bound: the comfortable ceiling, tightened by reka's measured
37
- available height on a short viewport. `--reka-popper-available-height` is
38
- written by reka-ui's popper-positioner; on a tall viewport it exceeds the
39
- ceiling (so the ceiling wins) and on a short one it clamps the panel to the
40
- space below the trigger (so the panel bottoms inside the viewport). When reka
41
- has not yet measured, the fallback is the ceiling alone. */
42
- max-height: min(
43
- var(--select-content-max-h),
44
- var(--reka-popper-available-height, var(--select-content-max-h))
45
- );
46
- /* The inner-scroll affordance ships with the bound (the CVA base also sets
47
- overflow-y-auto; restated here so the bound + scroll travel together as one
48
- precompiled contract). */
49
- overflow-y: auto;
50
- }
51
-
52
- /* ════════════════════════════════════════════════════════════════════════
53
- BD.W-SELECT-WELL (P4 select-forms) — the welling WARM-GLASS listbox + the
54
- keyed warm control EDGE. The Select is the REFERENCE consumer of the shared
55
- field + capsule + accent + reveal union — every leg COMPOSES a shipped/sibling
56
- register, ZERO new component, ZERO fork.
57
-
58
- The three legs that live HERE (the consumer side):
59
- · .glass-control-edge — the keyed two-stop warm rim every form control reads
60
- so it has a DEFINED edge over the field (fixes the trigger box-shadow:none
61
- cream-on-cream melt). Composes the SHIPPED `--glass-rim-top`/`--glass-rim-
62
- bottom` keyed pair (the `--glass-key` upper-right cel key) — NOT a select-
63
- private border, NOT a re-minted rim.
64
- · the menu plate WARM FLOOR + α-drop — the menu reads the SHIPPED warm-capsule
65
- floor (`--glass-capsule-warm` at `--glass-capsule-warm-floor`, the proven
66
- meanChroma ≥ 0.02 source) so it is warm-cream even over a flat page, AND the
67
- plate α drops so the warmed source + the portal field TRANSMIT.
68
- · the portal warm FIELD — a clipped menu-local layer carrying the route's
69
- `--field-h` (re-emitted on the portal root) so the menu transmits its route
70
- identity even where the page field is faint behind the body plate.
71
- ════════════════════════════════════════════════════════════════════════ */
72
- @layer components {
73
- /* ── .glass-control-edge — the keyed warm control rim (the cream-on-cream fix) ──
74
- The form controls read `.control-surface` / `.input-pill` (control-surfaces.css)
75
- which carry a border + fill but `box-shadow: none` — so over a warm cream field
76
- the trigger's 1.5px border melts and the control reads as a flat cream smudge.
77
- This register adds the SHIPPED keyed two-stop directional rim (the bright top/
78
- right catch-light + the faint warm bottom/left under-shadow, `--glass-key` upper-
79
- right) so the control reads as a lifted glass plate with a defined warm edge over
80
- the field. ONE register, ≥8 consumers (Select trigger + Input/Textarea/NumberField
81
- pill + Checkbox/Radio + Switch track + Combobox anchor) — the DRY bar cleared by
82
- construction. Composed (not re-declared): the rim is the SAME `--glass-rim-top`/
83
- `--glass-rim-bottom` pair `.glass-capsule` reads, so `--glass-key` re-points BOTH
84
- the capsule and the control edge from ONE handle (cel coherence). */
85
- .glass-control-edge {
86
- box-shadow:
87
- var(--glass-rim-top),
88
- var(--glass-rim-bottom);
89
- }
90
- /* Compose the keyed edge UNDER any control-owned ring/shadow: a control with its
91
- OWN box-shadow (the Switch thumb, the focus ring on the pill) layers its shadow
92
- FIRST, then the rim — the rim is the resting silhouette, the ring is the focus
93
- overlay (the pill's `:focus-visible` box-shadow wins by source order + its own
94
- rule). The rim travels with the control on the SHARED bezier (the pill/control-
95
- surface already transition box-shadow on `--ease-standard`). */
96
-
97
- /* ── The menu plate WARM FLOOR + α-drop (the un-gray amplifier) ──
98
- The floating recipe (`.glass-floating`, ladder.css) composes
99
- `color-mix(--glass-bg-floating, --glass-tint-source --glass-tint-strength)`,
100
- and `--glass-tint-strength` floors at 0% at calm rest — so the menu plate is
101
- near-gray-flat. RE-POINT the menu fill to compose the SHIPPED warm-capsule floor
102
- (`--glass-capsule-warm` at `--glass-capsule-warm-floor`, the proven meanChroma
103
- ≥ 0.02 source — the SAME token the tab capsule reads, DRY) ON TOP of the floating
104
- tint, AND drop the plate α so the warmed source + the portal field TRANSMIT and
105
- give real L-variance (the menu is warm GLASS, never an opaque cream slab). The
106
- six-layer rim/blur/shadow composite is UNTOUCHED — only the FILL admit changes. */
107
- [data-slot="select-content"],
108
- [data-slot="combobox-list"] {
109
- /* The α-drop seam: a consumer can re-solidify via `--select-plate-alpha: 1`.
110
- Default 0.90 (light) drops the ~0.80α floating base to ~0.72 effective (the
111
- amendment's transmit target) so the warmed source + the portal field show
112
- through while the plate keeps body. The dark arm keeps more body (see .dark
113
- below). The combobox list is the SAME overlay-family warm-glass plate
114
- (DRY — one warm-floor register for both portalled pickers). */
115
- --select-plate-alpha: 0.90;
116
- background: color-mix(
117
- in oklab,
118
- color-mix(
119
- in oklab,
120
- var(--glass-bg-floating-tinted, var(--glass-bg-floating)),
121
- var(--glass-capsule-warm) var(--glass-capsule-warm-floor)
122
- ),
123
- transparent calc((1 - var(--select-plate-alpha)) * 100%)
124
- );
125
- /* the cartoon weight — the SHIPPED `--shadow-cartoon-lg` warm cel stamp UNDER
126
- the floating elevation so the panel reads as a physical card lifted off the
127
- page. Composed onto the floating box-shadow stack via the plate's own rule
128
- (the floating tier's `--glass-material-rim` + shadows stay; this ADDS the
129
- cartoon under-stamp). Static, PRM-immune. */
130
- box-shadow:
131
- var(--glass-material-rim),
132
- var(--glass-under-shadow-vivid),
133
- var(--glass-shadow-floating),
134
- var(--shadow-cartoon-lg);
135
- }
136
- .dark [data-slot="select-content"],
137
- .dark [data-slot="combobox-list"] {
138
- /* dark glass needs more body — the warm field reads as a glow band, not a wash
139
- lost in near-black; keep the fill nearly solid so the dark menu has presence.
140
- PLAIN per-mode arm (not a light-dark() fragment — the inset-shadow trap, and
141
- the box-shadow above carries no inset leg but the discipline holds). */
142
- --select-plate-alpha: 0.94;
143
- }
144
-
145
- /* ── .glass-field-portal — the portal-local warm field (route identity) ──
146
- The menu portals to <body>, OUTSIDE the route's field, so its `backdrop-filter`
147
- has nothing warm to transmit. A clipped menu-local layer BEHIND the plate (z -1,
148
- NO backdrop-filter on it — glass-cannot-sample-glass avoided by construction)
149
- paints a 3-stop warm spine keyed to the route's `--field-h` (re-emitted on the
150
- portal root via `data-field-palette` → `--field-h`). `inset: 0` (clipped INSIDE
151
- — the blur bends it THROUGH the plate as real L-variance, NOT an `inset:-20%`
152
- halo leaking around the box). Defaults to `--field-h: 48` (forms terracotta)
153
- when the route does not re-emit, so a bare Select still reads warm. */
154
- .glass-field-portal {
155
- position: relative;
156
- }
157
- .glass-field-portal::before {
158
- content: "";
159
- position: absolute;
160
- inset: 0;
161
- z-index: -1;
162
- pointer-events: none;
163
- border-radius: inherit;
164
- background:
165
- radial-gradient(70% 60% at 24% 22%,
166
- oklch(0.92 0.08 var(--field-h, 48) / 0.55), transparent 72%),
167
- radial-gradient(64% 58% at 82% 80%,
168
- oklch(0.88 0.07 calc(var(--field-h, 48) + 18) / 0.50), transparent 70%),
169
- radial-gradient(60% 62% at 60% 40%,
170
- oklch(0.90 0.06 calc(var(--field-h, 48) - 14) / 0.48), transparent 74%);
171
- }
172
- /* DARK arm (PLAIN per-mode, not :global()/light-dark()) — the dark field stops lift
173
- to a real glow band (oklch L ~0.22–0.30, higher chroma) so the field-thesis is met
174
- in dark, not a wash lost in near-black. */
175
- .dark .glass-field-portal::before {
176
- background:
177
- radial-gradient(70% 60% at 24% 22%,
178
- oklch(0.30 0.10 var(--field-h, 48) / 0.55), transparent 72%),
179
- radial-gradient(64% 58% at 82% 80%,
180
- oklch(0.26 0.09 calc(var(--field-h, 48) + 18) / 0.50), transparent 70%),
181
- radial-gradient(60% 62% at 60% 40%,
182
- oklch(0.28 0.08 calc(var(--field-h, 48) - 14) / 0.48), transparent 74%);
183
- }
184
- /* honest-degraded arm — engines without oklch() get an hsl warm spine, never gray. */
185
- @supports not (color: oklch(0.9 0.08 48)) {
186
- .glass-field-portal::before {
187
- background: radial-gradient(70% 60% at 24% 22%,
188
- hsl(var(--field-h, 48) 60% 88% / 0.5), transparent 72%);
189
- }
190
- .dark .glass-field-portal::before {
191
- background: radial-gradient(70% 60% at 24% 22%,
192
- hsl(var(--field-h, 48) 45% 26% / 0.55), transparent 72%);
193
- }
194
- }
195
- }
196
-
197
- /* ── PRM is colour-static here — the field + floor + edge + cartoon shadow are PAINT,
198
- not motion, so they REMAIN under `prefers-reduced-motion: reduce` (un-gray and
199
- selection-legibility need no motion). The reveal/pour/chevron motion legs are
200
- carved in their own home recipes (reveal.css / menu.css) — this consumer file
201
- introduces no motion to gate. */
@@ -1,200 +0,0 @@
1
- /* tabs/segmented-tabs-drag.css
2
- The additive DECORATION tail of the SegmentedTabs grammar: the BB.W-DRAG-MORPH `.glass-drag-lift`/`.glass-drag-grabbable` pull affordance + the BG.W-EYEGLASS-TABS iOS-27 loupe register (data-eyeglass, pill-only).
3
- Carved from segmented-tabs.css to hold the no-god-module 500-line bound (BI.W-STYLE-REDRAIN); @import-ed by styles/index.css IMMEDIATELY AFTER segmented-tabs.css. Unlayered (matches segmented-tabs.css) — the tail is additive decoration with unique selectors, so the relocation is byte-isomorphic. */
4
- /* ════════════════════════════════════════════════════════════════════════
5
- BB.W-DRAG-MORPH — the `.glass-drag-lift` decoration (the pull affordance).
6
-
7
- The `useDragMorph` consumer adds this class to the morph element while
8
- `dragging` is true (the SegmentedTabs `:draggable` indicator; the
9
- DockLayerGroup pull rail). It is the visual "this is grabbable + grabbed"
10
- affordance — the GRAB cursor + a sub-perceptual `--glass-specular` catch-light
11
- lift + the `will-change: transform` compositor hint that promotes the lozenge
12
- to its own layer for the 1:1 follow. It carries NO transform itself (the
13
- translate + squish are the primitive's own `translate`/`--stretch` writes, the
14
- §6 compositor channels); this class only paints the affordance + the hint.
15
-
16
- The grab cursor sits on the morph element AT REST too (a draggable indicator
17
- reads grabbable before the grab), so `.glass-drag-grabbable` marks the rest
18
- affordance and `.glass-drag-lift` adds the grabbing state. PRM does not gate
19
- the cursor/hint (they are not motion); the lift is a static specular nudge. */
20
- .glass-drag-grabbable {
21
- cursor: grab;
22
- touch-action: none;
23
- }
24
-
25
- .glass-drag-lift {
26
- cursor: grabbing;
27
- /* Promote to its own compositor layer for the 1:1 follow (the translate write
28
- is compositor-only; the hint keeps the plate off the main-thread paint). */
29
- will-change: transform;
30
- /* BD.W-TAB-IOS-CAPSULE C7 — the grabbed-state catch-light COMPOSES the SHARED
31
- specular-lift step declared ONCE in glass/glass-capsule.css (the
32
- `.glass-capsule-hover:hover, .glass-drag-lift { --glass-specular }` group), NOT
33
- a parallel `--glass-specular` fork. This block carries only the grabbing-distinct
34
- bits (the grab cursor + the `will-change` hint). */
35
- }
36
-
37
- /* ════════════════════════════════════════════════════════════════════════
38
- BI.W-DRAG-REATTACH — the tabs `:draggable` z-order double-repair (Kill B).
39
-
40
- The SegmentedTabs pill indicator is a SIBLING behind the tab buttons: at rest
41
- `.segmented-indicator` is `z-0` (segmented-tabs.css) UNDER `.segmented-tab`
42
- `z-10`, so the LABEL paints crisp ON TOP of the glass plate (correct — the plate
43
- is a backing surface, the glyph is the foreground). But that same stack makes the
44
- indicator UNGRABBABLE two ways, and both must fall or the liquid tab stays dead:
45
-
46
- · THE GRAB BOOTSTRAP — kf `Draggable` binds `pointerdown` on the INDICATOR node,
47
- yet a press on the active pill hits the z-10 BUTTON (a sibling, not an
48
- ancestor of the indicator), so the gesture never reaches the drag listener.
49
- On a DRAGGABLE strip (the indicator carries `.glass-drag-grabbable`) the ACTIVE
50
- button forwards the press THROUGH to the indicator beneath: `pointer-events:
51
- none` drops it from hit-testing WITHOUT touching paint (the label stays
52
- painted on top; `elementFromPoint(indicatorCenter)` + the initial `pointerdown`
53
- now land on the indicator). NON-active buttons keep `pointer-events`
54
- (click-to-select is byte-identical); the active pill is grab-to-drag (the
55
- iOS-27 read — the selected segment is the physical lozenge). Keyboard is
56
- untouched — `pointer-events` does not gate focus or `keydown`, so the roving
57
- tabindex contract stays whole (WCAG 2.1.1 alternative intact).
58
-
59
- · THE TRAVEL OCCLUSION — once grabbed, the pulled lozenge slides across the
60
- OTHER buttons; while `.glass-drag-lift` is set (useDragMorph's `dragging`),
61
- raise the indicator ABOVE the z-10 labels so the traveling pill renders on top
62
- and `elementFromPoint(indicatorCenter)` keeps returning the indicator (pointer
63
- capture already routes the events; the lift is the paint + reachability half).
64
-
65
- Compositor-only (z-index + hit-testing, no layout). The REST z-order is UNTOUCHED
66
- — `.segmented-indicator { z-index: 0 }` still paints behind the labels at rest. */
67
- .segmented-tabs:not(.segmented-tabs--underline):has(
68
- .segmented-indicator.glass-drag-grabbable
69
- )
70
- .segmented-tab[aria-pressed="true"] {
71
- pointer-events: none;
72
- }
73
-
74
- .segmented-indicator.glass-drag-lift {
75
- z-index: 30;
76
- }
77
-
78
- /* ════════════════════════════════════════════════════════════════════════
79
- BG.W-EYEGLASS-TABS — the iOS-27 eye-glass loupe register (ADDITIVE, pill-ONLY).
80
-
81
- The SFC flips `data-eyeglass` on the strip host (pill-only, default-off) + composes
82
- `.glass-lens` onto the indicator. This block adds the three CSS legs the mode owns
83
- (the whole genuinely-new delta is deliberately small — one boolean axis, one geometry
84
- token, one stage-frost token, an opt-in glyph-ink seam):
85
-
86
- (1) THE STAGE FROST (signature #7) — the track re-points to a STRONGER frost rung so
87
- the pill's `backdrop-filter` lenses a LEGIBLE smooth field (a still-noisy near-
88
- sharp aurora reads worse than the reference's clean frosted stage; the nested
89
- backdrop-filter compose only reads right when the pill lenses an ALREADY-frosted
90
- track output). The default pill track (`.glass-capsule-track`, --glass-blur-quiet)
91
- is BYTE-UNTOUCHED off eyeglass; eyeglass re-points it to `--eyeglass-track-blur`
92
- (the floating rung). The rule is UNLAYERED (segmented-tabs.css is not @layer'd) so
93
- it wins `.glass-capsule-track`'s (@layer components) backdrop-filter by the
94
- unlayered-over-@layer cascade rule (the AZ.W-DOCK-RAIL precedent, NOT specificity).
95
-
96
- (2) THE TWO-REST-STATE LOUPE (signature #1/#2, BI.W-TABS-FACTOR) — the pill is a
97
- TWO-REST-STATE machine (TABS-GLASS-LADDER §1), NOT a static proud: a SETTLED long
98
- rest (an inset plate, 0.84× the slot) ⇄ a LIVE touched/travelling/just-arrived
99
- state (a proud loupe, 1.12× — spilling PAST the track). The `.segmented-indicator__plate`
100
- interpolates between them via `transform: scaleY(var(--eyeglass-y))` — a COMPOSITOR
101
- scale (proof:no-layout-animation holds; NOT a layout inset), on the plate's OWN
102
- channel (never the outer's squish `scale` / glide `transform`). `--eyeglass-y` is a
103
- calc off `--eyeglass-live-t` (0 ⇄ 1), which `useEyeglassLive` writes per-frame off
104
- `useLeadTrail` — so the §2/§8.3 EDGE-ASYMMETRY (fast energize / ~270ms slow deflate)
105
- emerges from the two edges. `--eyeglass-settled` (0.84) + `--eyeglass-proud` (1.12,
106
- the ratified retune knob) are bare `<number>` RATIOS — viewport-invariant (a ratio
107
- holds across breakpoints by construction, the stadium-radius precedent; no @640
108
- re-declaration), NEVER a border-radius (the stadium is untouched, T1-safe). PRM
109
- pins `--eyeglass-y: 1` (the flat slot-fill capsule — the calm degrade floor). A
110
- consumer sets both ratios to 1 for a flat pill (the token-first escape).
111
-
112
- (3) THE SELECTED-GLYPH ACCENT INK (signature #6, the CONTRAST-SPLIT) — the selected
113
- GLYPH (a graphic, WCAG-1.4.11 3:1) tints via `--tab-selected-ink` on a DESCENDANT
114
- `svg` selector (AC4 — NEVER the tab's own `color`, which drives the LABEL and must
115
- stay --foreground for the AA 4.5:1 floor / T5). Default no-op: `--tab-selected-ink`
116
- unset → the glyph resolves --foreground (byte-identical to a non-eyeglass pill). A
117
- consumer sets `--tab-selected-ink: <accent>` to reproduce the cyan-glyph read
118
- (presets-in-consumers). The accent RIM + the commit FLOOD ride the shipped
119
- `--glass-accent` + `--tab-flood-t` registers (consumer-set, no-op at their
120
- transparent/0 defaults). The calm↔busy attenuation rides the STATIC
121
- `--glass-backdrop: light|dark` bucket (the shipped floor); the LIVE
122
- useGlassBackdropLuminance observer is BOOKED, its animated sample path DEAD on disk
123
- (BG.W-GLASS-SIGNAL-TRUTH) — a bare wire would also be dead, so it stays booked
124
- (NF-honest — no ≥2-consumer promotion of a dead mechanism).
125
-
126
- HONEST DEGRADE (NO-MASKING-FALLBACK): off `backdrop-filter: url()` engines the whole
127
- refraction fails the `.glass-lens` `@supports` gate → the un-gated blur+tint+rim+specular
128
- `.glass-capsule` proud loupe paints — a real glass surface making NO loupe claim (the
129
- reference itself uses this state over calm backdrops). NO pre-baked "magnified" image, NO
130
- broken `url()`, NO drop-and-restore mid-travel. BOOKED successors: the T1 cross-engine
131
- clone-loupe (a CSS-duplicable backdrop), the chromatic-aberration RGB-split rim
132
- (W-LENSING color-split), the live ambient-observer wire (a fired writer-witness). The
133
- spring/clock are FROZEN (`--tab-indicator-duration` = `--spring-snappy-duration`; the
134
- size caps stay in their distinct bands — stretch ≤1.2, blob area ≤1.14); the dual-engine
135
- 60fps frame-series π judges both arms (Chromium refraction + Safari honest capsule) vs
136
- the bar60/ kinematics+optics ladder.
137
- ════════════════════════════════════════════════════════════════════════ */
138
-
139
- /* (1) + (2) declarations — the two-rest-state geometry ratios + the stronger STAGE frost. */
140
- .segmented-tabs[data-eyeglass] {
141
- /* (2) THE TWO-REST-STATE loupe geometry (§1/§8.1) — bare `<number>` RATIOS, driven
142
- by `--eyeglass-live-t` on the plate `scaleY` (viewport-invariant; NO @640 re-declare,
143
- NOT a length, NOT a border-radius — T1-safe). `--eyeglass-proud` is the single
144
- ratified retune knob; a consumer sets both to `1` for the flat pill. */
145
- --eyeglass-settled: 0.84; /* SETTLED — the inset long-rest plate (§1: 0.80–0.88×). */
146
- --eyeglass-proud: 1.12; /* LIVE — the proud loupe (§1: 1.07–1.18×); the retune knob. */
147
- /* Signature #7 — the STRONGER stage frost the loupe bends (the floating rung, deeper
148
- than the calm quiet track the plain pill keeps). */
149
- --eyeglass-track-blur: var(--glass-blur-floating);
150
- backdrop-filter: var(--eyeglass-track-blur);
151
- -webkit-backdrop-filter: var(--eyeglass-track-blur);
152
- }
153
-
154
- /* (2) THE PLATE MAGNIFY — the two-rest-state block-proud `scaleY`. The plate reads the
155
- inherited `--eyeglass-live-t` (0 ⇄ 1) and interpolates SETTLED → LIVE. `--eyeglass-y`
156
- is the ONE derived scale factor the plate transform (segmented-tabs.css) reads. NO
157
- transition here — `useLeadTrail` (via `useEyeglassLive`) is the animator on the live
158
- path; the `@property --eyeglass-live-t` covers the discrete/degrade path. */
159
- .segmented-tabs[data-eyeglass] .segmented-indicator__plate {
160
- --eyeglass-y: calc(
161
- var(--eyeglass-settled) +
162
- var(--eyeglass-live-t) * (var(--eyeglass-proud) - var(--eyeglass-settled))
163
- );
164
- }
165
-
166
- /* PRM (motion-canon P6) — the loupe rests as a FLAT slot-fill capsule under reduced
167
- motion (the calm degrade floor): the deform is off, the state confirms. `useLeadTrail`
168
- also seats `--eyeglass-live-t` instantly under PRM (belt-and-suspenders). */
169
- @media (prefers-reduced-motion: reduce) {
170
- .segmented-tabs[data-eyeglass] .segmented-indicator__plate {
171
- --eyeglass-y: 1;
172
- }
173
- }
174
-
175
- /* (1) belt-and-suspenders (AC1) — re-assert the FLOATING blur rung on the eyeglass lens.
176
- `.glass-lens` (glass-refract.css) paints `--glass-blur-resting url(#…)` inside its own
177
- `@supports` gate; on Chromium that is a LIGHTER frost than the capsule floor, and on
178
- Safari-26 (which historically returns TRUE for the @supports probe but renders the url()
179
- as nothing — WebKit bug 245510) it would leave a wrong lighter rung with NO refraction
180
- ("tried and painted nothing"). Re-pointing to `--glass-blur-floating` keeps Chromium a
181
- strong loupe AND lands Safari on the honest floating-frost floor. Stays INSIDE the same
182
- `@supports` gate (no refraction sits outside it) and reads the shipped BAKED
183
- `--glass-refract-filter` (no revived var()-scale-splice — DDR-LENS-BAKE). The lens now
184
- lives on the nested `.segmented-indicator__plate` (BI.W-TABS-FACTOR — the magnify
185
- channel), so the selector reaches it there. */
186
- @supports (backdrop-filter: url("#glass-refract")) {
187
- .segmented-tabs[data-eyeglass] .segmented-indicator__plate.glass-lens {
188
- backdrop-filter: var(--glass-blur-floating) var(--glass-refract-filter);
189
- }
190
- }
191
-
192
- /* (3) THE SELECTED-GLYPH ACCENT INK (C7/AC4) — the CONTRAST-SPLIT: the selected GLYPH (a
193
- graphic, 3:1) tints via `--tab-selected-ink` on a DESCENDANT svg selector, NEVER the
194
- tab's own `color` (which drives the LABEL and must stay --foreground for AA 4.5:1 / T5).
195
- Default no-op — `--tab-selected-ink` unset → the glyph resolves --foreground, the SAME
196
- ink the tab already inherits. A consumer sets `--tab-selected-ink: var(--glass-accent)`
197
- or a `<hue>` to reproduce the reference cyan-glyph read. */
198
- .segmented-tabs[data-eyeglass] .segmented-tab[aria-pressed="true"] svg {
199
- color: var(--tab-selected-ink, var(--foreground));
200
- }
@@ -1,29 +0,0 @@
1
- /* utilities/animate.css
2
- BB.W-LIQUID-REVEAL — the popover/dropdown shared enter recipe RETIRED.
3
- @import-ed by utilities.css in cascade order. See
4
- docs/precepts/design-idioms.md §cohesion-aware partials. */
5
-
6
- /* ── RETIRED at BB.W-LIQUID-REVEAL (clean break, no alias — BB inv-7 no-legacy) ──
7
- *
8
- * `@utility popover-animate` (the tw-animate-css fixed-bezier zoom-95 + fade-0 enter)
9
- * AND `@utility slide-in-from-side` (the data-side directional slide) are DELETED.
10
- * They were the generic cubic-bezier zoom-95 over the same `--duration-normal` wall
11
- * clock for every surface — "presses spring, reveals don't" (the §6/W-MOTION-CANON
12
- * half-applied enter). The SPRING-CLOCKED LIQUID-ENTER recipe `.glass-reveal`
13
- * (src/styles/glass/reveal.css) REPLACES both:
14
- * - the scale+fade ride `--spring-snappy` + `--spring-snappy-duration` (the
15
- * W-GLASS-CAL Unit 3 per-spring clock) with the coupled `filter: blur(4px)→0`
16
- * light-bending decongest (the iOS-27 bloom);
17
- * - the directional `slide-in-from-side` folds onto `.glass-reveal`'s `data-side`
18
- * compositor `translate` leg (on the SAME spring clock).
19
- *
20
- * The ≥8 reka portaled overlays (Dialog/Popover/Tooltip/HoverCard/DropdownMenu/
21
- * ContextMenu/Combobox/Select) compose `.glass-reveal` directly; the
22
- * `useLiquidReveal` JS leaf (composables/motion/useLiquidReveal.ts) is the
23
- * source-rect bloom REFINEMENT (the dialog-from-button / dock-from-pill case).
24
- *
25
- * Do NOT re-add an unlayered `@utility popover-animate`/`slide-in-from-side` — the
26
- * recipe is `@layer components` `.glass-reveal`; an unlayered utility would win the
27
- * cascade over it (the AZ dock-rail `@layer`-loses-to-utility trap). Machine-locked
28
- * by proof:liquid-reveal R3 (the negative — no enrolled surface retains
29
- * popover-animate). */
File without changes
File without changes
File without changes
File without changes