@mkbabb/glass-ui 3.11.2 → 3.13.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 (360) hide show
  1. package/dist/{CardAction-DuArVky-.js → CardAction-Cj2eycQ2.js} +2 -2
  2. package/dist/{CommandShortcut-CefCj5mt.js → CommandShortcut-RowNEO6i.js} +4 -4
  3. package/dist/{ContextMenuSubContent-Bhg4f5jX.js → ContextMenuSubContent-BQmxTAdw.js} +4 -4
  4. package/dist/{DataTable-CUHMukiQ.js → DataTable-BCddn3T3.js} +3 -3
  5. package/dist/{DialogContent-BRkT1cjP.js → DialogContent-Dl9WkAoS.js} +3 -3
  6. package/dist/{DialogFooter-Gprw8H_A.js → DialogFooter-Blu4t7tJ.js} +2 -2
  7. package/dist/{HoverPopover-2LOIW34a.js → HoverPopover-CISOJQuZ.js} +1 -1
  8. package/dist/{IconTooltip-Cus0fvK0.js → IconTooltip-DPzE09X9.js} +1 -1
  9. package/dist/MetricBadge-C9QMz1KT.js +79 -0
  10. package/dist/{Notification-DLMhblXR.js → Notification-DdwNxIrI.js} +2 -2
  11. package/dist/{NumberFieldContent-BbLOh8RU.js → NumberFieldContent-CqaN-SvN.js} +3 -3
  12. package/dist/{PopoverContent-BId6ggf_.js → PopoverContent-BYwt2-4x.js} +1 -1
  13. package/dist/{ScrollingText-BPP84wKo.js → ScrollingText-DfFrwSph.js} +1 -1
  14. package/dist/{SelectScrollDownButton-T32cVFeM.js → SelectScrollDownButton-CiDUxfEj.js} +6 -6
  15. package/dist/{Switch-Ch-k3Rv-.js → Switch-CsIuYP_e.js} +1 -1
  16. package/dist/{TabsList-B8CVOQPC.js → TabsList-Dttss653.js} +9 -5
  17. package/dist/{Toaster-1rYWrmAm.js → Toaster-D6q4HtXu.js} +50 -47
  18. package/dist/{ToggleGroupItem-COu_4IW4.js → ToggleGroupItem-D_AHlRw9.js} +18 -22
  19. package/dist/animated-digit.js +2 -2
  20. package/dist/api/index.d.ts +5 -2
  21. package/dist/api.js +2 -2
  22. package/dist/aurora.js +69 -69
  23. package/dist/{badge-CaoFJzRb.js → badge-UILT_3pZ.js} +1 -1
  24. package/dist/badge.js +1 -1
  25. package/dist/{button-DN39cGqL.js → button-ChXMfsud.js} +12 -12
  26. package/dist/button.js +1 -1
  27. package/dist/card.js +1 -1
  28. package/dist/carousel.js +8 -8
  29. package/dist/{check-BBKKKSTf.js → check-njhk-vfu.js} +1 -1
  30. package/dist/{chevron-down-BSkTP2aL.js → chevron-down-DKkxb4VV.js} +1 -1
  31. package/dist/{chevron-right-sDM0Yvrf.js → chevron-right-CPXbqQQz.js} +1 -1
  32. package/dist/{chevron-up-CCOD_FTz.js → chevron-up-n_24SqI-.js} +1 -1
  33. package/dist/coalesceMetric-5qIeZnTx.js +13 -0
  34. package/dist/{color-C5ls_QF7.js → color-CUYeFbgd.js} +9 -7
  35. package/dist/color.js +1 -1
  36. package/dist/command.js +1 -1
  37. package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +8 -0
  38. package/dist/components/custom/aurora/constants/presets.d.ts +5 -62
  39. package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +1 -1
  40. package/dist/components/custom/aurora/constants/shaders/vangogh-medium.glsl.d.ts +1 -0
  41. package/dist/components/custom/aurora/index.d.ts +1 -1
  42. package/dist/components/custom/configurator/ConfiguratorRow.vue.d.ts +16 -0
  43. package/dist/components/custom/constellation/Constellation.vue.d.ts +74 -6
  44. package/dist/components/custom/constellation/composables/createConstellationField.d.ts +41 -0
  45. package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +35 -0
  46. package/dist/components/custom/constellation/constants.d.ts +61 -0
  47. package/dist/components/custom/constellation/constellationDraw.d.ts +30 -0
  48. package/dist/components/custom/constellation/constellationField.d.ts +116 -149
  49. package/dist/components/custom/constellation/constellationInteraction.d.ts +132 -0
  50. package/dist/components/custom/constellation/index.d.ts +5 -2
  51. package/dist/components/custom/controls/DarkModeToggle.vue.d.ts +11 -0
  52. package/dist/components/custom/dock/DockRail.vue.d.ts +88 -0
  53. package/dist/components/custom/dock/DockTabButton.vue.d.ts +3 -4
  54. package/dist/components/custom/dock/GlassDock.vue.d.ts +5 -118
  55. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +36 -0
  56. package/dist/components/custom/dock/composables/index.d.ts +1 -0
  57. package/dist/components/custom/dock/composables/useDockClickIntegrity.d.ts +23 -0
  58. package/dist/components/custom/dock/composables/useDockMorphWindow.d.ts +15 -0
  59. package/dist/components/custom/dock/composables/useDockOrientationMorph.d.ts +44 -0
  60. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +165 -0
  61. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +44 -0
  62. package/dist/components/custom/dock/constants.d.ts +48 -0
  63. package/dist/components/custom/dock/index.d.ts +3 -0
  64. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +5 -37
  65. package/dist/components/custom/fourier-field/index.d.ts +1 -1
  66. package/dist/components/custom/fourier-field/math.d.ts +17 -0
  67. package/dist/components/custom/fourier-field/presets.d.ts +54 -0
  68. package/dist/components/custom/goo-blob/composables/buildMetaballProgram.d.ts +18 -0
  69. package/dist/components/custom/goo-blob/composables/uploadBlobUniforms.d.ts +41 -0
  70. package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +4 -3
  71. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +11 -8
  72. package/dist/components/custom/goo-blob/constants.d.ts +52 -0
  73. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -0
  74. package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +2 -2
  75. package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +37 -0
  76. package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +6 -0
  77. package/dist/components/custom/labeled-field/LabeledSlider.vue.d.ts +6 -0
  78. package/dist/components/custom/labeled-field/LabeledSwitch.vue.d.ts +6 -0
  79. package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +11 -18
  80. package/dist/components/custom/metric-badge/index.d.ts +1 -0
  81. package/dist/components/custom/metric-cell/MetricCell.vue.d.ts +15 -4
  82. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +6 -4
  83. package/dist/components/custom/tabs/constants.d.ts +12 -0
  84. package/dist/components/custom/underline/GlassUnderline.vue.d.ts +84 -0
  85. package/dist/components/custom/underline/index.d.ts +2 -0
  86. package/dist/components/custom/underline/types.d.ts +56 -0
  87. package/dist/components/ui/card/Card.vue.d.ts +15 -3
  88. package/dist/components/ui/drawer/Drawer.vue.d.ts +1 -0
  89. package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +2 -2
  90. package/dist/components/ui/metric-pill/MetricPill.vue.d.ts +6 -3
  91. package/dist/components/ui/slider/index.d.ts +22 -19
  92. package/dist/components/ui/tabs/TabsIndicator.vue.d.ts +4 -1
  93. package/dist/components/ui/toast/use-toast.d.ts +2 -2
  94. package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
  95. package/dist/components/ui/toggle/index.d.ts +1 -1
  96. package/dist/components/ui/toggle-group/ToggleGroup.vue.d.ts +1 -7
  97. package/dist/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +1 -3
  98. package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +0 -13
  99. package/dist/composables/color/index.d.ts +12 -0
  100. package/dist/composables/dark/index.d.ts +1 -1
  101. package/dist/composables/dark/useGlobalDark.d.ts +1 -21
  102. package/dist/composables/glass/index.d.ts +0 -1
  103. package/dist/composables/glass/useGlassBackdropLuminance.d.ts +59 -0
  104. package/dist/composables/glass/useSpecularTracking.d.ts +12 -3
  105. package/dist/composables/motion/core/index.d.ts +1 -1
  106. package/dist/composables/motion/curves.d.ts +48 -0
  107. package/dist/composables/motion/index.d.ts +2 -0
  108. package/dist/composables/motion/springPresets.d.ts +33 -0
  109. package/dist/composables/motion/suite.d.ts +2 -0
  110. package/dist/composables/motion/useLiquidFlex.d.ts +85 -0
  111. package/dist/composables/motion/useSpringMount.d.ts +1 -1
  112. package/dist/configurator.js +1 -1
  113. package/dist/confirm-dialog.js +2 -2
  114. package/dist/constellation.js +336 -222
  115. package/dist/context-menu.js +2 -2
  116. package/dist/controls.js +47 -13
  117. package/dist/dark.d.ts +1 -1
  118. package/dist/dark.js +1 -1
  119. package/dist/data-table.js +1 -1
  120. package/dist/dialog.js +2 -2
  121. package/dist/dock.js +705 -365
  122. package/dist/dockContext-BegmJVmx.js +17 -0
  123. package/dist/dom.js +5 -5
  124. package/dist/{dropdown-menu-D77jX6Df.js → dropdown-menu-DzkkyBwX.js} +11 -8
  125. package/dist/dropdown-menu.js +1 -1
  126. package/dist/expandable-container.js +39 -80
  127. package/dist/forms.js +5 -5
  128. package/dist/fourier-field.js +134 -99
  129. package/dist/fourier-math.js +2 -2
  130. package/dist/glass-panel.js +86 -20
  131. package/dist/glass-ui.css +1 -1
  132. package/dist/glass-ui.js +222 -212
  133. package/dist/goo-blob.js +243 -212
  134. package/dist/hover-card.js +1 -1
  135. package/dist/hover-popover.js +1 -1
  136. package/dist/icon-tooltip.js +1 -1
  137. package/dist/index.d.ts +1 -3
  138. package/dist/instrument-chassis.js +1 -1
  139. package/dist/keyboard.js +1 -1
  140. package/dist/label.js +1 -1
  141. package/dist/labeled-field.js +28 -18
  142. package/dist/{math-DTpRVC0e.js → math-U6-RrLmV.js} +18 -2
  143. package/dist/metric-badge.js +1 -1
  144. package/dist/metric-cell.js +25 -21
  145. package/dist/metric-stack.js +35 -34
  146. package/dist/{minimize-2-lcXOuc6V.js → minimize-2-BV31Ob_h.js} +1 -1
  147. package/dist/motion-core.js +32 -137
  148. package/dist/motion-curves.d.ts +1 -0
  149. package/dist/motion-curves.js +130 -0
  150. package/dist/motion.js +38 -37
  151. package/dist/notification.js +1 -1
  152. package/dist/number-field.js +1 -1
  153. package/dist/paper-backdrop.js +1 -1
  154. package/dist/popover.js +1 -1
  155. package/dist/{presets-BP_ALM0m.js → presets-BKVyQfbt.js} +1 -14
  156. package/dist/progress.js +1 -1
  157. package/dist/reactive.js +2 -2
  158. package/dist/scrolling-text.js +1 -1
  159. package/dist/{search-nbkvr2dC.js → search-BSGrf2Sk.js} +1 -1
  160. package/dist/search.js +9 -9
  161. package/dist/select.js +3 -3
  162. package/dist/separator.js +1 -1
  163. package/dist/{sheet-VZEtNFvO.js → sheet-1fChZjtw.js} +3 -3
  164. package/dist/sheet.js +1 -1
  165. package/dist/{slider-ClgpP7EB.js → slider-B-JP2JlI.js} +4 -4
  166. package/dist/slider.js +1 -1
  167. package/dist/sortable-list.js +2 -2
  168. package/dist/springPresets--YdWTHtm.js +40 -0
  169. package/dist/stacked-icons.js +6 -6
  170. package/dist/styles/animations.css +29 -114
  171. package/dist/styles/cards.css +55 -0
  172. package/dist/styles/components.css +4 -1
  173. package/dist/styles/configurator.css +42 -0
  174. package/dist/styles/dock/layer-group.css +83 -25
  175. package/dist/styles/dock/layers.css +23 -1
  176. package/dist/styles/dock/morph-bridge.css +123 -0
  177. package/dist/styles/dock/morph.css +175 -45
  178. package/dist/styles/dock/overflow.css +51 -1
  179. package/dist/styles/dock/rail-extend.css +300 -0
  180. package/dist/styles/dock/shell.css +63 -105
  181. package/dist/styles/dock-controls/dark-mode-toggle.css +109 -0
  182. package/dist/styles/dock-controls/icon-button.css +133 -0
  183. package/dist/styles/dock-controls/tab-button.css +202 -0
  184. package/dist/styles/dock-controls/touch-floor.css +94 -0
  185. package/dist/styles/dock-controls/triggers.css +128 -0
  186. package/dist/styles/dock-controls.css +30 -595
  187. package/dist/styles/dock.css +2 -0
  188. package/dist/styles/drawer.css +2 -0
  189. package/dist/styles/floating-panel.css +17 -0
  190. package/dist/styles/glass/a11y-fallback.css +245 -0
  191. package/dist/styles/glass/ladder.css +337 -0
  192. package/dist/styles/glass/material.css +238 -0
  193. package/dist/styles/glass/progress-rail.css +78 -0
  194. package/dist/styles/glass/squircle.css +66 -0
  195. package/dist/styles/glass/surfaces.css +306 -0
  196. package/dist/styles/glass-refract.css +2 -0
  197. package/dist/styles/glass.css +31 -1188
  198. package/dist/styles/hover-popover.css +2 -0
  199. package/dist/styles/index.css +28 -14
  200. package/dist/styles/instrument-chassis.css +4 -0
  201. package/dist/styles/paper.css +2 -68
  202. package/dist/styles/segmented-tabs.css +275 -0
  203. package/dist/styles/theme/bridges.css +337 -0
  204. package/dist/styles/theme/dark.css +7 -0
  205. package/dist/styles/theme/literals.css +94 -0
  206. package/dist/styles/theme/radius.css +95 -0
  207. package/dist/styles/theme.css +26 -529
  208. package/dist/styles/tokens/color-radius.css +260 -0
  209. package/dist/styles/tokens/dark-arm.css +200 -0
  210. package/dist/styles/tokens/glass.css +440 -0
  211. package/dist/styles/tokens/light-dark.css +158 -0
  212. package/dist/styles/tokens/offsets-sizing.css +500 -0
  213. package/dist/styles/tokens/property-regs.css +169 -0
  214. package/dist/styles/tokens/scale-paper.css +366 -0
  215. package/dist/styles/tokens/scheme-motion.css +334 -0
  216. package/dist/styles/tokens/shadow.css +166 -0
  217. package/dist/styles/tokens.css +22 -2360
  218. package/dist/styles/typography.css +75 -21
  219. package/dist/styles/utilities/a11y-overrides.css +140 -0
  220. package/dist/styles/utilities/animate.css +26 -0
  221. package/dist/styles/utilities/base.css +365 -0
  222. package/dist/styles/utilities/btn.css +401 -0
  223. package/dist/styles/utilities/components.css +317 -0
  224. package/dist/styles/utilities.css +19 -1291
  225. package/dist/styles/view-transition.css +0 -51
  226. package/dist/switch.js +1 -1
  227. package/dist/tabs.js +91 -82
  228. package/dist/timeline.js +1 -1
  229. package/dist/toast.js +1 -1
  230. package/dist/toggle-group.js +1 -1
  231. package/dist/tooltip.js +1 -1
  232. package/dist/underline.d.ts +1 -0
  233. package/dist/underline.js +85 -0
  234. package/dist/{useAnimatedNumber-Bcpy5Etf.js → useAnimatedNumber-C5I3wWd8.js} +1 -1
  235. package/dist/{useConfiguratorState-DxAqksK6.js → useConfiguratorState-DAoeHVue.js} +8 -8
  236. package/dist/{useGlobalDark-CAhOXNLO.js → useGlobalDark-yhL4Wp-s.js} +3 -22
  237. package/dist/useLiquidFlex-BL0lLLN2.js +30 -0
  238. package/dist/useRAFLoop-Bxv0o6L5.js +109 -0
  239. package/dist/{useScrollProgress-CffFGLa5.js → useScrollProgress-Dlvx-L3v.js} +1 -1
  240. package/dist/useSpecularTracking-Bo5su68i.js +32 -0
  241. package/dist/useSpringMount-CI2jOstM.js +108 -0
  242. package/dist/{useTouchGate-WFyJYsth.js → useTouchGate-Dg7MQI1G.js} +1 -1
  243. package/dist/utils/coalesceMetric.d.ts +29 -0
  244. package/dist/utils/index.d.ts +1 -0
  245. package/dist/vReveal-CqaCz_mC.js +44 -0
  246. package/dist/watercolor-dot.js +11 -9
  247. package/dist/{x-Dfsegz9Y.js → x-BUwTKe50.js} +1 -1
  248. package/package.json +78 -58
  249. package/src/styles/animations.css +29 -114
  250. package/src/styles/cards.css +53 -0
  251. package/src/styles/configurator.css +42 -0
  252. package/src/styles/dock/layer-group.css +83 -25
  253. package/src/styles/dock/layers.css +23 -1
  254. package/src/styles/dock/morph-bridge.css +123 -0
  255. package/src/styles/dock/morph.css +175 -45
  256. package/src/styles/dock/overflow.css +51 -1
  257. package/src/styles/dock/rail-extend.css +300 -0
  258. package/src/styles/dock/shell.css +63 -105
  259. package/src/styles/dock-controls/dark-mode-toggle.css +109 -0
  260. package/src/styles/dock-controls/icon-button.css +133 -0
  261. package/src/styles/dock-controls/tab-button.css +202 -0
  262. package/src/styles/dock-controls/touch-floor.css +94 -0
  263. package/src/styles/dock-controls/triggers.css +128 -0
  264. package/src/styles/dock-controls.css +30 -595
  265. package/src/styles/dock.css +2 -0
  266. package/src/styles/floating-panel.css +15 -0
  267. package/src/styles/glass/a11y-fallback.css +245 -0
  268. package/src/styles/glass/ladder.css +337 -0
  269. package/src/styles/glass/material.css +238 -0
  270. package/src/styles/glass/progress-rail.css +78 -0
  271. package/src/styles/glass/squircle.css +66 -0
  272. package/src/styles/glass/surfaces.css +306 -0
  273. package/src/styles/glass.css +31 -1188
  274. package/src/styles/index.css +28 -14
  275. package/src/styles/paper.css +2 -68
  276. package/src/styles/segmented-tabs.css +271 -0
  277. package/src/styles/theme/bridges.css +337 -0
  278. package/src/styles/theme/dark.css +7 -0
  279. package/src/styles/theme/literals.css +94 -0
  280. package/src/styles/theme/radius.css +95 -0
  281. package/src/styles/theme.css +26 -529
  282. package/src/styles/tokens/color-radius.css +260 -0
  283. package/src/styles/tokens/dark-arm.css +200 -0
  284. package/src/styles/tokens/glass.css +440 -0
  285. package/src/styles/tokens/light-dark.css +158 -0
  286. package/src/styles/tokens/offsets-sizing.css +500 -0
  287. package/src/styles/tokens/property-regs.css +169 -0
  288. package/src/styles/tokens/scale-paper.css +366 -0
  289. package/src/styles/tokens/scheme-motion.css +334 -0
  290. package/src/styles/tokens/shadow.css +166 -0
  291. package/src/styles/tokens.css +22 -2360
  292. package/src/styles/typography.css +75 -21
  293. package/src/styles/utilities/a11y-overrides.css +140 -0
  294. package/src/styles/utilities/animate.css +26 -0
  295. package/src/styles/utilities/base.css +365 -0
  296. package/src/styles/utilities/btn.css +401 -0
  297. package/src/styles/utilities/components.css +317 -0
  298. package/src/styles/utilities.css +19 -1291
  299. package/src/styles/view-transition.css +0 -51
  300. package/dist/DeckProgress-Dmk4_AKN.js +0 -23
  301. package/dist/InstrumentRail-CUJ05YVG.js +0 -44
  302. package/dist/MetricBadge-BZVWIxNy.js +0 -80
  303. package/dist/components/custom/deck-progress/DeckProgress.vue.d.ts +0 -27
  304. package/dist/components/custom/deck-progress/index.d.ts +0 -2
  305. package/dist/components/custom/dialog-native/GlassDialogNative.vue.d.ts +0 -57
  306. package/dist/components/custom/dialog-native/index.d.ts +0 -1
  307. package/dist/components/custom/handmark/HandMark.vue.d.ts +0 -29
  308. package/dist/components/custom/handmark/brush.d.ts +0 -242
  309. package/dist/components/custom/handmark/freehand.d.ts +0 -69
  310. package/dist/components/custom/handmark/geometry.d.ts +0 -50
  311. package/dist/components/custom/handmark/index.d.ts +0 -21
  312. package/dist/components/custom/handmark/ink.d.ts +0 -11
  313. package/dist/components/custom/handmark/texture.d.ts +0 -39
  314. package/dist/components/custom/handmark/types.d.ts +0 -53
  315. package/dist/components/custom/handmark/useHandMark.d.ts +0 -87
  316. package/dist/components/custom/instrument-rail/InstrumentRail.vue.d.ts +0 -91
  317. package/dist/components/custom/instrument-rail/index.d.ts +0 -2
  318. package/dist/composables/motion/useRouteTransition.d.ts +0 -42
  319. package/dist/deck-progress.d.ts +0 -1
  320. package/dist/deck-progress.js +0 -2
  321. package/dist/dockContext-BKeIMmNk.js +0 -9
  322. package/dist/handmark.d.ts +0 -1
  323. package/dist/handmark.js +0 -663
  324. package/dist/instrument-rail.d.ts +0 -1
  325. package/dist/instrument-rail.js +0 -2
  326. package/dist/styles/instrument-rail.css +0 -127
  327. package/dist/useGlassRenderer-D7YGOYiM.js +0 -69
  328. package/dist/useSpecularTracking-BVRZsRHA.js +0 -26
  329. package/dist/useSpringMount-BJSHcLl3.js +0 -113
  330. package/dist/useViewTransition-DaN5Zrox.js +0 -21
  331. package/dist/vReveal-zUIQk-rJ.js +0 -53
  332. package/src/styles/instrument-rail.css +0 -127
  333. /package/dist/{ContextMenuContent-DDa0v27s.js → ContextMenuContent-CT3AS1WX.js} +0 -0
  334. /package/dist/{HoverCardContent-B6CcQ8He.js → HoverCardContent-Csywg3YF.js} +0 -0
  335. /package/dist/{Input-xuDwALQR.js → Input-DWQQIOC4.js} +0 -0
  336. /package/dist/{InstrumentChassis-C2f6cBaQ.js → InstrumentChassis-UUJX0-mW.js} +0 -0
  337. /package/dist/{Label-zRfbQdCn.js → Label-r3WzWrsj.js} +0 -0
  338. /package/dist/{ModalOverlay-B1GkAjNb.js → ModalOverlay-DVLI2VRr.js} +0 -0
  339. /package/dist/{PaperBackdrop-CqwjnfLv.js → PaperBackdrop-DIXTtVq6.js} +0 -0
  340. /package/dist/{Progress-iEuD9pxG.js → Progress-DwlUKGbr.js} +0 -0
  341. /package/dist/{SelectGroup-BFiod7X2.js → SelectGroup-aumMgWLs.js} +0 -0
  342. /package/dist/{SelectSeparator-C4Ql0gzV.js → SelectSeparator-BQ_1Fcbp.js} +0 -0
  343. /package/dist/{Separator-D7sD7RKj.js → Separator-0JE6LtNu.js} +0 -0
  344. /package/dist/{TooltipProvider-CmZzCuaG.js → TooltipProvider-B3MkB_8P.js} +0 -0
  345. /package/dist/{compile-BOXjLUxu.js → compile-B7NGOBcP.js} +0 -0
  346. /package/dist/{constants-yKeKnE84.js → constants-CS75AWHG.js} +0 -0
  347. /package/dist/{createContext-B44Sah_H.js → createContext-BM46COQ-.js} +0 -0
  348. /package/dist/{createLucideIcon-B6uNAU9G.js → createLucideIcon-DydS2qgk.js} +0 -0
  349. /package/dist/{menuItemVariants-CCoBNkU5.js → menuItemVariants-DPiEarb0.js} +0 -0
  350. /package/dist/{supportsCssTimeline-C5oe0lnD.js → supportsCssTimeline-BWenxvHU.js} +0 -0
  351. /package/dist/{useIntersectionPause-Cck5Uxk8.js → useIntersectionPause-Cc-H9ees.js} +0 -0
  352. /package/dist/{useInterval-Dsmqwi03.js → useInterval-iHludrxk.js} +0 -0
  353. /package/dist/{useKeyboardShortcuts-CyIYrndH.js → useKeyboardShortcuts-Be3w_Rwk.js} +0 -0
  354. /package/dist/{useResizeObserver-CWCbk5Px.js → useResizeObserver-BhgdhOIj.js} +0 -0
  355. /package/dist/{useResolveTokenColor-r9pnNjqK.js → useResolveTokenColor-Dvn2RZJW.js} +0 -0
  356. /package/dist/{useSortable-C8ReQ50P.js → useSortable-muI29agz.js} +0 -0
  357. /package/dist/{useTextHighlight-CWEi25hf.js → useTextHighlight-DmRYkOBx.js} +0 -0
  358. /package/dist/{useTimer-3xqf_54b.js → useTimer-Dzarvzuk.js} +0 -0
  359. /package/dist/{useUserInvalidAria-DoJKMZ3s.js → useUserInvalidAria-B2h6jAM_.js} +0 -0
  360. /package/dist/{useViewportReady-RIr5Wgkh.js → useViewportReady-B40FK4Pa.js} +0 -0
@@ -0,0 +1,306 @@
1
+ /* glass/surfaces.css
2
+ The convenience-shorthand surfaces — .glass-card / .glass-pill / .glass-btn + the glass pill-input + the chromatic edge-dispersion rim fringe.
3
+ Carved from the glass.css cascade root; @import-ed by glass.css in cascade
4
+ order, each in its own @layer components (isomorphic to the monolith).
5
+ See docs/precepts/design-idioms.md §cohesion-aware partials. */
6
+ @layer components {
7
+ /* ── Convenience shorthands (tier + shape) ── */
8
+
9
+ /* Static surface utility — no hover lift, no transition.
10
+ Interactive cards live in <Card> (which owns its own hover composition)
11
+ or in components that explicitly opt into a hover variant. */
12
+ .glass-card {
13
+ /* Focus-elevation rungs (AQ.W3 §W3.1a) — identity = at-rest paint; the
14
+ `:has(:focus-visible)` rule redefines them (one source, shared with
15
+ the fallback). */
16
+ --card-focus-shadow: var(--shadow-card);
17
+ --card-focus-border: var(--glass-border-quiet);
18
+ position: relative;
19
+ background: color-mix(in oklab, var(--glass-bg-quiet), var(--glass-tint-source) var(--glass-tint-strength));
20
+ backdrop-filter: var(--glass-blur-quiet);
21
+ border: 1px solid var(--card-focus-border);
22
+ border-radius: var(--radius-card);
23
+ box-shadow: var(--glass-material-rim), var(--card-focus-shadow);
24
+ /* AY.W-A11Y-PERF O-4 — upgrade `layout style` → include `paint` so the
25
+ maximal-glass nested backdrop-filter sample (a glass Button in this card)
26
+ does not escape the card box (the standard nested-backdrop-cost mitigation;
27
+ `contain: paint` clips DESCENDANTS only — the card's own rim/drop-shadow is
28
+ NOT clipped, device-verified). */
29
+ contain: layout style paint;
30
+ transition:
31
+ box-shadow var(--duration-fast) var(--ease-standard),
32
+ border-color var(--duration-fast) var(--ease-standard);
33
+ }
34
+
35
+ /* Elevate one rung on descendant KEYBOARD focus (`:focus-visible`, not
36
+ pointer). Scoped to `.glass-card`. `:has()` Baseline Widely; the
37
+ `@supports not selector(:has(*))` class fallback (below) ships anyway
38
+ (focus-elevation is UX-critical — child-state-styling MANDATORY clause). */
39
+ .glass-card:has(:focus-visible) {
40
+ --card-focus-shadow: var(--shadow-md);
41
+ --card-focus-border: var(--glass-border-floating);
42
+ }
43
+
44
+ /* ── Glassmorphic circular icon button ── */
45
+
46
+ .glass-btn {
47
+ @apply flex items-center justify-center cursor-pointer;
48
+
49
+ /* Individual-transform identity base (AQ.W3 §W3.2) — `scale: 1` at rest
50
+ mints the stacking context once so the hover/press scale below does
51
+ not flicker it into being (the z-index/anchor hazard). */
52
+ scale: 1;
53
+ width: var(--size-icon-btn);
54
+ height: var(--size-icon-btn);
55
+ border-radius: var(--radius-pill);
56
+ border: 1.5px solid var(--glass-border-wash);
57
+ background: var(--glass-bg-wash);
58
+ backdrop-filter: var(--glass-blur-wash);
59
+ /* AY.W-A11Y-PERF O-4 — paint containment so the glass button's own
60
+ backdrop-filter sample stays inside the box when it nests in a glass card /
61
+ dialog / dock (the nested-backdrop-cost mitigation; clips descendants only,
62
+ the button's own rim/shadow is unaffected — device-verified). */
63
+ contain: paint;
64
+ color: var(--muted-foreground);
65
+ /* AX.W52 §6 doctrine — the surface legs ride the bezier `--ease-standard`;
66
+ the `scale` leg is reconciled onto `--spring-smooth` (was `--spring-snappy`)
67
+ so the icon-button hover settles on the SAME ONE register as `.btn-pill` /
68
+ `.tap-squish` / `btn-interactive` (the gate asserts one scale register
69
+ across all four). The press still reads crisp — `--spring-smooth` ζ=0.86
70
+ settles fast without a visible bounce. */
71
+ transition:
72
+ background var(--duration-fast) var(--ease-standard),
73
+ border-color var(--duration-fast) var(--ease-standard),
74
+ color var(--duration-fast) var(--ease-standard),
75
+ scale var(--duration-normal) var(--spring-smooth);
76
+ }
77
+
78
+ .glass-btn:hover:not(:disabled) {
79
+ background: color-mix(in srgb, var(--background) 85%, transparent);
80
+ border-color: var(--surface-tint-22);
81
+ color: var(--foreground);
82
+ scale: var(--scale-hover);
83
+ }
84
+
85
+ .glass-btn:active:not(:disabled) {
86
+ scale: var(--scale-press);
87
+ }
88
+
89
+ .glass-btn:focus-visible {
90
+ outline: none;
91
+ box-shadow: var(--focus-ring-shadow);
92
+ }
93
+
94
+ .glass-btn:disabled {
95
+ opacity: 0.35;
96
+ cursor: not-allowed;
97
+ pointer-events: none;
98
+ }
99
+
100
+ .glass-btn.is-active,
101
+ .glass-btn[aria-pressed="true"] {
102
+ background: var(--surface-tint-10);
103
+ border-color: var(--surface-tint-25);
104
+ color: var(--foreground);
105
+ }
106
+
107
+ /* ── Pill button base ─────────────────────────── */
108
+ .btn-pill {
109
+ @apply inline-flex items-center justify-center cursor-pointer font-medium border-none;
110
+
111
+ /* AX.W52 §6 identity base — `scale: 1` at rest so the hover/press scale
112
+ below animates the `scale` longhand (not `transform`) coherently and
113
+ does not flicker the stacking context into being (AQ.W3 §W3.2). */
114
+ scale: 1;
115
+ /* AX.W51 D18 — the pill GEOMETRY rides the ONE `--ui-scale` comfort axis.
116
+ gap / padding scale by the master scalar; the font reads the
117
+ `--control-text` register (`calc(--type-small * --ui-scale)`, the same
118
+ `text-sm` register the Button CVA paints), so a bare `.btn-pill` consumer
119
+ and a `<Button>` agree on the control font, and ONE `--ui-scale` override
120
+ grows the pill's height (via padding) + gap + font in lockstep. Desktop
121
+ default is the identity (scale 1 → the prior proportion). */
122
+ gap: calc(0.375rem * var(--ui-scale));
123
+ border-radius: var(--radius-pill);
124
+ padding: calc(0.5rem * var(--ui-scale)) calc(1rem * var(--ui-scale));
125
+ font-size: var(--control-text);
126
+ /* AX.W52 — the ONE coherent button transition (RED witness 5/6). The
127
+ SURFACE legs (bg/border/box-shadow/color/opacity) ride the bezier
128
+ `--ease-standard` (a colour cross-fade reads as a wobble on a spring);
129
+ the TRANSFORM leg (`scale`) rides `--spring-smooth` (the sub-perceptual
130
+ settle), so the hover lift + the surface cross-fade read as ONE glide.
131
+ The DEAD `transform` leg is retired — the variants animate the `scale`
132
+ longhand. CRITICAL: `.tap-squish` (composed alongside on the button
133
+ base, utilities.css) ALSO lists this full coherent set, so neither
134
+ class's `transition` shorthand can clobber the other down to a
135
+ scale-only animation — the cascade bug that left every button
136
+ transitioning ONLY `scale` (the live-readback RED, RED witness 5). The
137
+ doctrine: surface-props→bezier, transform→spring (tokens.css §2). */
138
+ transition:
139
+ background-color var(--duration-fast) var(--ease-standard),
140
+ border-color var(--duration-fast) var(--ease-standard),
141
+ box-shadow var(--duration-fast) var(--ease-standard),
142
+ color var(--duration-fast) var(--ease-standard),
143
+ opacity var(--duration-fast) var(--ease-standard),
144
+ scale var(--duration-fast) var(--spring-smooth);
145
+ }
146
+
147
+ .btn-pill > * {
148
+ @apply flex-shrink-0;
149
+ }
150
+
151
+
152
+ .btn-pill:disabled {
153
+ opacity: var(--opacity-disabled);
154
+ cursor: not-allowed;
155
+ pointer-events: none;
156
+ }
157
+
158
+ /* ── Glass-button backdrop ─────────────────────────────────────────────
159
+ AX.W52 — the `glass`/`glass-wash` Button variants compose `.glass-wash`,
160
+ which resolves `--glass-blur-wash` = `blur(1px)` — a sub-perceptual
161
+ diffusion authored for a small detail TILE, not a button the user reads
162
+ as "glass" (the live readback found the glass variants at a negligible
163
+ 1px). A hero control wants a real glass blur. `.btn-glass` re-points the
164
+ backdrop at `--glass-blur-btn` (the `quiet`-tier 10px radius + the gentle
165
+ `saturate(1.05) brightness(1.02)` light-concentration), so the glass
166
+ button variants actually read as liquid glass while the wash TILE tier
167
+ keeps its 1px untouched. Declares the UNPREFIXED `backdrop-filter` ONLY —
168
+ Lightning CSS emits the `-webkit-` companion per the single-source
169
+ authorship discipline above (hand-authoring both forms makes Lightning
170
+ dedup-and-keep-prefixed, which modern Chromium then drops). */
171
+ .btn-glass {
172
+ backdrop-filter: var(--glass-blur-btn);
173
+ }
174
+
175
+ /* ── Pill input ───────────────────────────────── */
176
+ .input-pill {
177
+ @apply flex w-full;
178
+
179
+ /* AX.W51 D18 — the input pill rides the ONE `--ui-scale` comfort axis: the
180
+ height reads the `--control-h-md` cohort (`max(calc(2.5rem * --ui-scale),
181
+ --control-floor)`, the h-10 register with the WCAG-44px coarse clamp), the
182
+ font reads `--control-text`, the inline padding scales — so ONE override
183
+ grows the field's height + padding + font in lockstep. Desktop default is
184
+ the identity. */
185
+ height: var(--control-h-md);
186
+ border-radius: var(--radius-pill);
187
+ /* AW.W13 — the resting field edge reads as an enclosed control at rest
188
+ (~15%α — ~2× the prior 8% glass-wash floor that vanished on cream). The
189
+ `:focus-visible` accent ring + the `:user-invalid`/`[aria-invalid]`
190
+ destructive ring below still win by order + specificity.
191
+ AX.W54 — moved off the srgb `--surface-tint-15` fork onto the glass
192
+ border seam (`--glass-border-floating`, the matching 15%α rung) so the
193
+ pill is ONE glass model with the rest of the ladder, not a divergent
194
+ tint axis. */
195
+ border: 1.5px solid var(--glass-border-floating);
196
+ background: var(--glass-bg-quiet);
197
+ /* AX.W54 — the pill reads as REAL glass: the quiet-tier 10px blur (the
198
+ same `--glass-blur-quiet` its `--glass-bg-quiet` background pairs with),
199
+ not the sub-perceptual `blur(1px)` wash it carried — and the
200
+ `--glass-level` knob now clarifies it in lockstep with every surface. */
201
+ backdrop-filter: var(--glass-blur-quiet);
202
+ padding: 0 calc(1rem * var(--ui-scale));
203
+ font-size: var(--control-text);
204
+ color: var(--foreground);
205
+ transition:
206
+ background-color var(--duration-fast) var(--ease-standard),
207
+ border-color var(--duration-fast) var(--ease-standard),
208
+ box-shadow var(--duration-fast) var(--ease-standard),
209
+ color var(--duration-fast) var(--ease-standard),
210
+ opacity var(--duration-fast) var(--ease-standard);
211
+ }
212
+
213
+ .input-pill::placeholder {
214
+ color: var(--surface-tint-35);
215
+ }
216
+
217
+ /* AQ.W4 §W4.6 — keyboard-focus ring only. Was bare `:focus` (showed the
218
+ accent ring on a mouse click); `:focus-visible` matches the
219
+ `.focus-ring` / `.glass-btn` / dock-control discipline. Ordered BEFORE
220
+ the `:user-invalid` rungs so an invalid focused field shows destructive,
221
+ not accent (the `:user-invalid:focus-visible` rule below wins by order +
222
+ specificity). `:focus-visible` Baseline Widely — no fallback. */
223
+ .input-pill:focus-visible {
224
+ outline: none;
225
+ border-color: var(--color-accent-opaque, var(--ring));
226
+ box-shadow: 0 0 0 2px var(--color-accent, color-mix(in srgb, var(--ring) 30%, transparent));
227
+ }
228
+
229
+ /* AQ.W4 §W4.1 — validity vocabulary on `.input-pill` (Input + Textarea).
230
+ The forgiving `:where(:user-invalid, .user-invalid-fallback,
231
+ [aria-invalid="true"])` group is ONE rule covering THREE trigger surfaces:
232
+ native constraint-validation (`:user-invalid`), the `useUserInvalidAria`
233
+ fallback class for engines without `:user-invalid` (css §3.2; NOT a
234
+ live+dead alias — the class is the SOLE fallback), AND (AW.W18) the
235
+ imperative `[aria-invalid="true"]` attribute. The `[aria-invalid]` arm
236
+ serves APP-DRIVEN validity — a custom key match, an async server check —
237
+ where there is no native constraint to trip `:user-invalid`, so the app
238
+ sets the ARIA attribute and the library's own ring paints with no
239
+ `:deep()` re-paint at the consumer. The destructive/success tints reuse
240
+ the semantic tokens via `color-mix` per the house pattern (W2). Non-color
241
+ reinforcement is the error TEXT (W4.5 `error` slot) + the `required`
242
+ asterisk — the border/bg shift is the supplementary cue, never the sole
243
+ one. `:user-valid` is intentionally subtle (border only, no bg fill) so
244
+ a long valid form is not a wall of green. */
245
+ .input-pill:where(:user-invalid, .user-invalid-fallback, [aria-invalid="true"]) {
246
+ border-color: var(--destructive);
247
+ background: color-mix(in srgb, var(--destructive) 8%, var(--glass-bg-quiet));
248
+ }
249
+ .input-pill:where(:user-valid, .user-valid-fallback) {
250
+ border-color: var(--success);
251
+ }
252
+ /* Invalid + keyboard-focused → destructive ring (overrides the accent
253
+ `:focus-visible` ring above by order + the extra invalid compound). The
254
+ `[aria-invalid]` arm rides the same widened group so an app-driven
255
+ invalid field shows the destructive ring on focus too. */
256
+ .input-pill:where(:user-invalid, .user-invalid-fallback, [aria-invalid="true"]):focus-visible {
257
+ border-color: var(--destructive);
258
+ box-shadow: 0 0 0 var(--focus-ring-width)
259
+ color-mix(in srgb, var(--destructive) 35%, transparent);
260
+ }
261
+
262
+ /* AQ.W4 §W4.3 — `field-sizing: content` autosize (opt-in via the Textarea
263
+ `autosize` prop → `[data-autosize]`). The textarea grows vertically with
264
+ content between a 3-line floor and a token-driven ceiling, then scrolls.
265
+ `field-sizing` Baseline Newly (Chromium 2024) — on a non-supporting
266
+ engine the declaration is ignored and the element keeps the
267
+ `min/max-block-size` bounds + standard scroll (no JS, no `@supports`,
268
+ no grid-mirror polyfill). The fixed-size path (default, `min-h-20`) is
269
+ the unchanged no-op fallback. */
270
+ .input-pill[data-autosize] {
271
+ field-sizing: content;
272
+ width: 100%;
273
+ min-block-size: 3lh;
274
+ max-block-size: var(--textarea-autosize-max, 12lh);
275
+ resize: vertical;
276
+ }
277
+
278
+ .input-pill:disabled {
279
+ opacity: 0.5;
280
+ cursor: not-allowed;
281
+ }
282
+
283
+ /* AW.W13 — the Select trigger mirrors the input pill's resting border lift.
284
+ The reka-ui SelectTrigger renders `role="combobox"` over the `.glass-wash`
285
+ surface; its 8%α `--glass-border-wash` field edge vanished on cream just
286
+ like the input pill, so the same `--surface-tint-15` lift makes the
287
+ trigger read as an enclosed control at rest. Scoped to the combobox role
288
+ so the lift reaches ONLY the Select trigger, not every `.glass-wash`
289
+ surface. */
290
+ .glass-wash[role="combobox"] {
291
+ border-color: var(--surface-tint-15);
292
+ }
293
+
294
+ /* ── AW.W23 — chromatic edge dispersion (the polished-glass rim fringe) ──
295
+ An opt-in `.glass-chromatic` composes the warm/cool oklab fringe OVER the
296
+ W22 uniform rim (it does NOT replace it — the rim still rides each rung's
297
+ box-shadow). The fringe is a transparency garnish, so it composes ONLY
298
+ under `prefers-reduced-transparency: no-preference` and drops under
299
+ `reduce` (handled by the bracket below). The fringe lands as a dedicated
300
+ inset box-shadow pair on the material surface so it adds onto the rim. */
301
+ @media (prefers-reduced-transparency: no-preference) {
302
+ .glass-chromatic {
303
+ box-shadow: var(--glass-edge-dispersion), var(--glass-material-rim);
304
+ }
305
+ }
306
+ }
@@ -54,6 +54,8 @@
54
54
  @supports (backdrop-filter: url("#glass-refract")) {
55
55
  .glass-material.glass-refract,
56
56
  .glass-refract {
57
+ -webkit-backdrop-filter: var(--glass-blur-resting) var(--glass-refract-filter);
58
+
57
59
  backdrop-filter: var(--glass-blur-resting) var(--glass-refract-filter);
58
60
  }
59
61
  }