@mkbabb/glass-ui 0.3.0 → 2.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 (942) hide show
  1. package/README.md +170 -70
  2. package/dist/CardFooter-Yi0xtLLd.js +129 -0
  3. package/dist/CollapsibleContent-DHRuXE3P.js +52 -0
  4. package/dist/CommandShortcut-_INFUMu6.js +285 -0
  5. package/dist/ContextMenuContent-CvXfU5qz.js +85 -0
  6. package/dist/ContextMenuSubContent-DCkweFW9.js +250 -0
  7. package/dist/DataTable-Ce00dbHD.js +460 -0
  8. package/dist/DialogContent-CmCijgX9.js +93 -0
  9. package/dist/DialogFooter-DRdaCok0.js +165 -0
  10. package/dist/DiscoGlyph-wRA02zAJ.js +132 -0
  11. package/dist/GlyphFace-BnPMUZ16.js +51 -0
  12. package/dist/HoverCardContent-4nN5-5bz.js +83 -0
  13. package/dist/HoverPopover-Btv4RQfv.js +80 -0
  14. package/dist/IconTooltip-ge_mBSWR.js +25 -0
  15. package/dist/Input-CbakTe3B.js +32 -0
  16. package/dist/InstrumentChassis-DOaVYyWq.js +65 -0
  17. package/dist/InstrumentRail-jHDqXj70.js +44 -0
  18. package/dist/Label-C8QMJSsf.js +32 -0
  19. package/dist/MetricBadge-DRBB18Xq.js +78 -0
  20. package/dist/ModalOverlay-DKLVY-cj.js +53 -0
  21. package/dist/Notification-DrI1DT2v.js +99 -0
  22. package/dist/PaperBackdrop-Bc2drCqJ.js +31 -0
  23. package/dist/PopoverContent-BCH4eYs8.js +121 -0
  24. package/dist/Progress-CCH-2UBR.js +126 -0
  25. package/dist/ScrollingText-7P8skg5W.js +40 -0
  26. package/dist/SelectGroup-O69GTQ77.js +31 -0
  27. package/dist/SelectScrollDownButton-yu8EYUnu.js +235 -0
  28. package/dist/SelectSeparator-GTHxKO0a.js +49 -0
  29. package/dist/Separator-_NCypg_C.js +37 -0
  30. package/dist/Switch-CL0uxu8F.js +41 -0
  31. package/dist/Toaster-DY8_jtHv.js +255 -0
  32. package/dist/ToggleGroupItem-BYG_8M9M.js +152 -0
  33. package/dist/TooltipProvider-C5QLSPto.js +104 -0
  34. package/dist/UnderlineTabs-BtrUcXn-.js +64 -0
  35. package/dist/_plugin-vue_export-helper-n-_DRHWS.js +8 -0
  36. package/dist/animated-digit.d.ts +1 -0
  37. package/dist/animated-digit.js +44 -0
  38. package/dist/api/index.d.ts +30 -0
  39. package/dist/api.js +2 -0
  40. package/dist/aurora.d.ts +1 -0
  41. package/dist/aurora.js +541 -0
  42. package/dist/badge-BbxVKZfw.js +49 -0
  43. package/dist/badge.d.ts +1 -0
  44. package/dist/badge.js +2 -0
  45. package/dist/button-BlOW34DT.js +70 -0
  46. package/dist/button.d.ts +1 -0
  47. package/dist/button.js +2 -0
  48. package/dist/card.d.ts +1 -0
  49. package/dist/card.js +2 -0
  50. package/dist/carousel.d.ts +2 -0
  51. package/dist/carousel.js +394 -0
  52. package/dist/check-dwgetki8.js +7 -0
  53. package/dist/chevron-down-DILQA1t6.js +7 -0
  54. package/dist/chevron-right-fS7fal2t.js +7 -0
  55. package/dist/chevron-up-BtYjYQOS.js +7 -0
  56. package/dist/cn-DJXf4yaB.js +97 -0
  57. package/dist/collapsible.d.ts +1 -0
  58. package/dist/collapsible.js +2 -0
  59. package/dist/command.d.ts +1 -0
  60. package/dist/command.js +2 -0
  61. package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +48 -0
  62. package/dist/components/custom/animated-digit/index.d.ts +2 -0
  63. package/dist/components/custom/aurora/Aurora.vue.d.ts +95 -0
  64. package/dist/components/custom/aurora/composables/color.d.ts +39 -0
  65. package/dist/components/custom/aurora/composables/configSource.d.ts +10 -0
  66. package/dist/components/custom/aurora/composables/runtime.d.ts +54 -0
  67. package/dist/components/custom/aurora/composables/useAurora.d.ts +67 -0
  68. package/dist/components/custom/aurora/composables/useCursorInteraction.d.ts +25 -0
  69. package/dist/components/custom/aurora/index.d.ts +9 -0
  70. package/dist/components/custom/aurora/presets.d.ts +121 -0
  71. package/dist/components/custom/aurora/renderMode.d.ts +30 -0
  72. package/dist/components/custom/aurora/shaders/aurora.frag.d.ts +1 -0
  73. package/dist/components/custom/aurora/shaders/aurora.vert.d.ts +1 -0
  74. package/dist/components/custom/configurator/Configurator.vue.d.ts +102 -0
  75. package/dist/components/custom/configurator/ConfiguratorLayer.vue.d.ts +68 -0
  76. package/dist/components/custom/configurator/ConfiguratorRow.vue.d.ts +63 -0
  77. package/dist/components/custom/configurator/density.d.ts +30 -0
  78. package/dist/components/custom/configurator/index.d.ts +6 -0
  79. package/dist/components/custom/configurator/useConfiguratorState.d.ts +45 -0
  80. package/dist/components/custom/confirm-dialog/ConfirmDialog.vue.d.ts +32 -0
  81. package/dist/components/custom/controls/DarkModeToggle.vue.d.ts +23 -0
  82. package/dist/components/custom/disco-glyph/DiscoGlyph.vue.d.ts +58 -0
  83. package/dist/components/custom/disco-glyph/index.d.ts +1 -0
  84. package/dist/components/custom/dock/DockDropdownTrigger.vue.d.ts +29 -0
  85. package/dist/components/custom/dock/DockIconButton.vue.d.ts +30 -0
  86. package/dist/components/custom/dock/DockLayer.vue.d.ts +34 -0
  87. package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +43 -0
  88. package/dist/components/custom/dock/DockSelectTrigger.vue.d.ts +29 -0
  89. package/dist/components/custom/dock/DockTabButton.vue.d.ts +39 -0
  90. package/dist/components/custom/dock/GlassDock.vue.d.ts +96 -0
  91. package/dist/components/custom/dock/composables/dockContext.d.ts +40 -0
  92. package/dist/components/custom/dock/composables/dockLayerContext.d.ts +29 -0
  93. package/dist/components/custom/dock/composables/index.d.ts +7 -0
  94. package/dist/components/custom/dock/composables/isTeleportedTarget.d.ts +9 -0
  95. package/dist/components/custom/dock/composables/useDockState.d.ts +70 -0
  96. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +34 -0
  97. package/dist/components/custom/dock/index.d.ts +9 -0
  98. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +40 -0
  99. package/dist/components/custom/glass-carousel/GlassCarousel.vue.d.ts +36 -0
  100. package/dist/components/custom/glass-carousel/GlassCarouselItem.vue.d.ts +28 -0
  101. package/dist/components/custom/glass-carousel/index.d.ts +4 -0
  102. package/dist/components/custom/glass-carousel/useGlassCarousel.d.ts +30 -0
  103. package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +41 -0
  104. package/dist/components/custom/glass-panel/index.d.ts +2 -0
  105. package/dist/components/custom/glyph-face/GlyphFace.vue.d.ts +64 -0
  106. package/dist/components/custom/glyph-face/index.d.ts +2 -0
  107. package/dist/components/custom/glyph-face/keys.d.ts +35 -0
  108. package/dist/components/custom/header-ribbon/HeaderRibbon.vue.d.ts +31 -0
  109. package/dist/components/custom/header-ribbon/index.d.ts +2 -0
  110. package/dist/components/custom/header-ribbon/types.d.ts +7 -0
  111. package/dist/components/custom/hover-popover/HoverPopover.vue.d.ts +71 -0
  112. package/dist/components/custom/hover-popover/index.d.ts +1 -0
  113. package/dist/components/custom/icon-tooltip/IconTooltip.vue.d.ts +16 -0
  114. package/dist/components/custom/infinite-scroll/InfiniteScroll.vue.d.ts +33 -0
  115. package/dist/components/custom/infinite-scroll/composables/types.d.ts +21 -0
  116. package/dist/components/custom/infinite-scroll/composables/useInfiniteScroll.d.ts +9 -0
  117. package/dist/components/custom/instrument-chassis/ChassisDivider.vue.d.ts +30 -0
  118. package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +82 -0
  119. package/dist/components/custom/instrument-chassis/index.d.ts +3 -0
  120. package/dist/components/custom/instrument-rail/InstrumentRail.vue.d.ts +91 -0
  121. package/dist/components/custom/instrument-rail/index.d.ts +2 -0
  122. package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +36 -0
  123. package/dist/components/custom/labeled-field/LabeledInput.vue.d.ts +15 -0
  124. package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +18 -0
  125. package/dist/components/custom/labeled-field/LabeledSlider.vue.d.ts +16 -0
  126. package/dist/components/custom/labeled-field/LabeledSwitch.vue.d.ts +13 -0
  127. package/dist/components/custom/labeled-field/index.d.ts +5 -0
  128. package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +39 -0
  129. package/dist/components/custom/metric-badge/index.d.ts +1 -0
  130. package/dist/components/custom/metric-cell/MetricCell.vue.d.ts +97 -0
  131. package/dist/components/custom/metric-cell/index.d.ts +2 -0
  132. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +103 -0
  133. package/dist/components/custom/metric-stack/MetricStack.vue.d.ts +92 -0
  134. package/dist/components/custom/metric-stack/index.d.ts +4 -0
  135. package/dist/components/custom/paper-backdrop/PaperBackdrop.vue.d.ts +21 -0
  136. package/dist/components/custom/paper-backdrop/index.d.ts +2 -0
  137. package/dist/components/custom/pulse/Pulse.vue.d.ts +53 -0
  138. package/dist/components/custom/pulse/index.d.ts +1 -0
  139. package/dist/components/custom/responsive-tabs/ResponsiveTabs.vue.d.ts +67 -0
  140. package/dist/components/custom/responsive-tabs/index.d.ts +2 -0
  141. package/dist/components/custom/scrolling-text/ScrollingText.vue.d.ts +20 -0
  142. package/dist/components/custom/scrolling-text/index.d.ts +1 -0
  143. package/dist/components/custom/search/FuzzySearch.vue.d.ts +16 -0
  144. package/dist/components/custom/search/SearchBar.vue.d.ts +30 -0
  145. package/dist/components/custom/search/composables/fuzzySearchIndex.d.ts +42 -0
  146. package/dist/components/custom/search/composables/types.d.ts +31 -0
  147. package/dist/components/custom/search/composables/useFuzzySearch.d.ts +12 -0
  148. package/dist/components/custom/sortable-list/SortableHandle.vue.d.ts +32 -0
  149. package/dist/components/custom/sortable-list/SortableItem.vue.d.ts +38 -0
  150. package/dist/components/custom/sortable-list/SortableList.vue.d.ts +76 -0
  151. package/dist/components/custom/sortable-list/context.d.ts +26 -0
  152. package/dist/components/custom/sortable-list/index.d.ts +4 -0
  153. package/dist/components/custom/stacked-icons/StackedIconGroup.vue.d.ts +30 -0
  154. package/dist/components/custom/stacked-icons/index.d.ts +2 -0
  155. package/dist/components/custom/stacked-icons/types.d.ts +18 -0
  156. package/dist/components/custom/status-dot/StatusDot.vue.d.ts +18 -0
  157. package/dist/components/custom/status-dot/index.d.ts +1 -0
  158. package/dist/components/custom/tabs/BouncyTabs.vue.d.ts +24 -0
  159. package/dist/components/custom/tabs/BouncyToggle.vue.d.ts +56 -0
  160. package/dist/components/custom/tabs/UnderlineTabs.vue.d.ts +17 -0
  161. package/dist/components/custom/timeline/ContinuousTimeline.vue.d.ts +118 -0
  162. package/dist/components/custom/timeline/GlassTimeline.vue.d.ts +114 -0
  163. package/dist/components/custom/timeline/ScrubberTimeline.vue.d.ts +29 -0
  164. package/dist/components/custom/timeline/SegmentedTimeline.vue.d.ts +46 -0
  165. package/dist/components/custom/timeline/geometry.d.ts +100 -0
  166. package/dist/components/custom/timeline/index.d.ts +2 -0
  167. package/dist/components/custom/timeline/types.d.ts +57 -0
  168. package/dist/components/custom/toggle-chip/ToggleChip.vue.d.ts +39 -0
  169. package/dist/components/custom/toggle-chip/index.d.ts +17 -0
  170. package/dist/components/custom/typewriter/TypewriterText.vue.d.ts +85 -0
  171. package/dist/components/custom/typewriter/composables/useTypewriter.d.ts +22 -0
  172. package/dist/components/custom/typewriter/types.d.ts +137 -0
  173. package/dist/components/custom/typewriter/utils/keyboard.d.ts +15 -0
  174. package/dist/components/custom/typewriter/utils/pausePatterns.d.ts +28 -0
  175. package/dist/components/custom/typewriter/utils/timing.d.ts +17 -0
  176. package/dist/components/custom/typewriter/utils/typoStateMachine.d.ts +24 -0
  177. package/dist/components/ui/_shared/ModalOverlay.vue.d.ts +90 -0
  178. package/dist/components/ui/_shared/index.d.ts +2 -0
  179. package/dist/components/ui/_shared/menuItemVariants.d.ts +32 -0
  180. package/dist/components/ui/_shared/useStalePropWarning.d.ts +27 -0
  181. package/dist/components/ui/accordion/Accordion.vue.d.ts +19 -0
  182. package/dist/components/ui/accordion/AccordionContent.vue.d.ts +18 -0
  183. package/dist/components/ui/accordion/AccordionItem.vue.d.ts +18 -0
  184. package/dist/components/ui/accordion/AccordionTrigger.vue.d.ts +20 -0
  185. package/dist/components/ui/accordion/index.d.ts +4 -0
  186. package/dist/components/ui/alert/Alert.vue.d.ts +19 -0
  187. package/dist/components/ui/alert/AlertDescription.vue.d.ts +17 -0
  188. package/dist/components/ui/alert/AlertTitle.vue.d.ts +17 -0
  189. package/dist/components/ui/alert/index.d.ts +8 -0
  190. package/dist/components/ui/avatar/Avatar.vue.d.ts +23 -0
  191. package/dist/components/ui/avatar/AvatarFallback.vue.d.ts +14 -0
  192. package/dist/components/ui/avatar/AvatarImage.vue.d.ts +4 -0
  193. package/dist/components/ui/avatar/index.d.ts +9 -0
  194. package/dist/components/ui/badge/Badge.vue.d.ts +20 -0
  195. package/dist/components/ui/badge/index.d.ts +7 -0
  196. package/dist/components/ui/button/Button.vue.d.ts +23 -0
  197. package/dist/components/ui/button/index.d.ts +7 -0
  198. package/dist/components/ui/card/Card.vue.d.ts +56 -0
  199. package/dist/components/ui/card/CardContent.vue.d.ts +17 -0
  200. package/dist/components/ui/card/CardDescription.vue.d.ts +17 -0
  201. package/dist/components/ui/card/CardFooter.vue.d.ts +17 -0
  202. package/dist/components/ui/card/CardHeader.vue.d.ts +55 -0
  203. package/dist/components/ui/card/CardTitle.vue.d.ts +17 -0
  204. package/dist/components/ui/card/index.d.ts +6 -0
  205. package/dist/components/ui/carousel/Carousel.vue.d.ts +37 -0
  206. package/dist/components/ui/carousel/CarouselContent.vue.d.ts +16 -0
  207. package/dist/components/ui/carousel/CarouselDots.vue.d.ts +4 -0
  208. package/dist/components/ui/carousel/CarouselItem.vue.d.ts +14 -0
  209. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +22 -0
  210. package/dist/components/ui/carousel/CarouselPager.vue.d.ts +10 -0
  211. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +22 -0
  212. package/dist/components/ui/carousel/GlassCarouselPager.vue.d.ts +51 -0
  213. package/dist/components/ui/carousel/index.d.ts +10 -0
  214. package/dist/components/ui/carousel/interface.d.ts +20 -0
  215. package/dist/components/ui/carousel/useCarousel.d.ts +20 -0
  216. package/dist/components/ui/checkbox/Checkbox.vue.d.ts +22 -0
  217. package/dist/components/ui/checkbox/index.d.ts +1 -0
  218. package/dist/components/ui/collapsible/Collapsible.vue.d.ts +20 -0
  219. package/dist/components/ui/collapsible/CollapsibleContent.vue.d.ts +14 -0
  220. package/dist/components/ui/collapsible/CollapsibleTrigger.vue.d.ts +14 -0
  221. package/dist/components/ui/collapsible/index.d.ts +3 -0
  222. package/dist/components/ui/combobox/Combobox.vue.d.ts +29 -0
  223. package/dist/components/ui/combobox/ComboboxAnchor.vue.d.ts +18 -0
  224. package/dist/components/ui/combobox/ComboboxEmpty.vue.d.ts +18 -0
  225. package/dist/components/ui/combobox/ComboboxGroup.vue.d.ts +19 -0
  226. package/dist/components/ui/combobox/ComboboxInput.vue.d.ts +22 -0
  227. package/dist/components/ui/combobox/ComboboxItem.vue.d.ts +22 -0
  228. package/dist/components/ui/combobox/ComboboxItemIndicator.vue.d.ts +18 -0
  229. package/dist/components/ui/combobox/ComboboxList.vue.d.ts +32 -0
  230. package/dist/components/ui/combobox/ComboboxSeparator.vue.d.ts +18 -0
  231. package/dist/components/ui/combobox/ComboboxViewport.vue.d.ts +18 -0
  232. package/dist/components/ui/combobox/index.d.ts +11 -0
  233. package/dist/components/ui/command/Command.vue.d.ts +35 -0
  234. package/dist/components/ui/command/CommandDialog.vue.d.ts +18 -0
  235. package/dist/components/ui/command/CommandEmpty.vue.d.ts +18 -0
  236. package/dist/components/ui/command/CommandGroup.vue.d.ts +19 -0
  237. package/dist/components/ui/command/CommandInput.vue.d.ts +8 -0
  238. package/dist/components/ui/command/CommandItem.vue.d.ts +22 -0
  239. package/dist/components/ui/command/CommandList.vue.d.ts +30 -0
  240. package/dist/components/ui/command/CommandSeparator.vue.d.ts +18 -0
  241. package/dist/components/ui/command/CommandShortcut.vue.d.ts +17 -0
  242. package/dist/components/ui/command/index.d.ts +9 -0
  243. package/dist/components/ui/context-menu/ContextMenu.vue.d.ts +18 -0
  244. package/dist/components/ui/context-menu/ContextMenuCheckboxItem.vue.d.ts +24 -0
  245. package/dist/components/ui/context-menu/ContextMenuContent.vue.d.ts +30 -0
  246. package/dist/components/ui/context-menu/ContextMenuItem.vue.d.ts +23 -0
  247. package/dist/components/ui/context-menu/ContextMenuLabel.vue.d.ts +19 -0
  248. package/dist/components/ui/context-menu/ContextMenuRadioGroup.vue.d.ts +18 -0
  249. package/dist/components/ui/context-menu/ContextMenuRadioItem.vue.d.ts +22 -0
  250. package/dist/components/ui/context-menu/ContextMenuSeparator.vue.d.ts +8 -0
  251. package/dist/components/ui/context-menu/ContextMenuShortcut.vue.d.ts +17 -0
  252. package/dist/components/ui/context-menu/ContextMenuSubContent.vue.d.ts +34 -0
  253. package/dist/components/ui/context-menu/ContextMenuSubTrigger.vue.d.ts +19 -0
  254. package/dist/components/ui/context-menu/ContextMenuTrigger.vue.d.ts +14 -0
  255. package/dist/components/ui/context-menu/index.d.ts +12 -0
  256. package/dist/components/ui/data-table/DataTable.vue.d.ts +81 -0
  257. package/dist/components/ui/data-table/DataTablePagination.vue.d.ts +13 -0
  258. package/dist/components/ui/data-table/types.d.ts +56 -0
  259. package/dist/components/ui/dialog/Dialog.vue.d.ts +18 -0
  260. package/dist/components/ui/dialog/DialogClose.vue.d.ts +14 -0
  261. package/dist/components/ui/dialog/DialogContent.vue.d.ts +71 -0
  262. package/dist/components/ui/dialog/DialogDescription.vue.d.ts +18 -0
  263. package/dist/components/ui/dialog/DialogFooter.vue.d.ts +17 -0
  264. package/dist/components/ui/dialog/DialogHeader.vue.d.ts +17 -0
  265. package/dist/components/ui/dialog/DialogScrollContent.vue.d.ts +33 -0
  266. package/dist/components/ui/dialog/DialogTitle.vue.d.ts +18 -0
  267. package/dist/components/ui/dialog/DialogTrigger.vue.d.ts +14 -0
  268. package/dist/components/ui/dialog/index.d.ts +9 -0
  269. package/dist/components/ui/drawer/Drawer.vue.d.ts +30 -0
  270. package/dist/components/ui/drawer/DrawerContent.vue.d.ts +32 -0
  271. package/dist/components/ui/drawer/DrawerDescription.vue.d.ts +18 -0
  272. package/dist/components/ui/drawer/DrawerFooter.vue.d.ts +17 -0
  273. package/dist/components/ui/drawer/DrawerHeader.vue.d.ts +17 -0
  274. package/dist/components/ui/drawer/DrawerOverlay.vue.d.ts +8 -0
  275. package/dist/components/ui/drawer/DrawerTitle.vue.d.ts +18 -0
  276. package/dist/components/ui/drawer/index.d.ts +8 -0
  277. package/dist/components/ui/dropdown-menu/DropdownMenu.vue.d.ts +18 -0
  278. package/dist/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue.d.ts +24 -0
  279. package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +32 -0
  280. package/dist/components/ui/dropdown-menu/DropdownMenuGroup.vue.d.ts +14 -0
  281. package/dist/components/ui/dropdown-menu/DropdownMenuItem.vue.d.ts +19 -0
  282. package/dist/components/ui/dropdown-menu/DropdownMenuLabel.vue.d.ts +19 -0
  283. package/dist/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue.d.ts +18 -0
  284. package/dist/components/ui/dropdown-menu/DropdownMenuRadioItem.vue.d.ts +22 -0
  285. package/dist/components/ui/dropdown-menu/DropdownMenuSeparator.vue.d.ts +8 -0
  286. package/dist/components/ui/dropdown-menu/DropdownMenuShortcut.vue.d.ts +17 -0
  287. package/dist/components/ui/dropdown-menu/DropdownMenuSub.vue.d.ts +18 -0
  288. package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +34 -0
  289. package/dist/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue.d.ts +18 -0
  290. package/dist/components/ui/dropdown-menu/DropdownMenuTrigger.vue.d.ts +14 -0
  291. package/dist/components/ui/dropdown-menu/index.d.ts +15 -0
  292. package/dist/components/ui/hover-card/HoverCard.vue.d.ts +18 -0
  293. package/dist/components/ui/hover-card/HoverCardContent.vue.d.ts +20 -0
  294. package/dist/components/ui/hover-card/HoverCardTrigger.vue.d.ts +14 -0
  295. package/dist/components/ui/hover-card/index.d.ts +3 -0
  296. package/dist/components/ui/index.d.ts +41 -0
  297. package/dist/components/ui/input/Input.vue.d.ts +13 -0
  298. package/dist/components/ui/input/index.d.ts +1 -0
  299. package/dist/components/ui/label/Label.vue.d.ts +18 -0
  300. package/dist/components/ui/label/index.d.ts +1 -0
  301. package/dist/components/ui/metric-pill/MetricPill.vue.d.ts +43 -0
  302. package/dist/components/ui/metric-pill/index.d.ts +1 -0
  303. package/dist/components/ui/multi-select/MultiSelect.vue.d.ts +24 -0
  304. package/dist/components/ui/multi-select/index.d.ts +7 -0
  305. package/dist/components/ui/notification/Notification.vue.d.ts +16 -0
  306. package/dist/components/ui/notification/index.d.ts +1 -0
  307. package/dist/components/ui/number-field/NumberField.vue.d.ts +22 -0
  308. package/dist/components/ui/number-field/NumberFieldContent.vue.d.ts +17 -0
  309. package/dist/components/ui/number-field/NumberFieldDecrement.vue.d.ts +18 -0
  310. package/dist/components/ui/number-field/NumberFieldIncrement.vue.d.ts +18 -0
  311. package/dist/components/ui/number-field/NumberFieldInput.vue.d.ts +3 -0
  312. package/dist/components/ui/number-field/index.d.ts +5 -0
  313. package/dist/components/ui/popover/Popover.vue.d.ts +18 -0
  314. package/dist/components/ui/popover/PopoverContent.vue.d.ts +39 -0
  315. package/dist/components/ui/popover/PopoverTrigger.vue.d.ts +14 -0
  316. package/dist/components/ui/popover/index.d.ts +3 -0
  317. package/dist/components/ui/progress/Progress.vue.d.ts +111 -0
  318. package/dist/components/ui/progress/index.d.ts +2 -0
  319. package/dist/components/ui/radio-group/RadioGroup.vue.d.ts +22 -0
  320. package/dist/components/ui/radio-group/RadioGroupItem.vue.d.ts +8 -0
  321. package/dist/components/ui/radio-group/index.d.ts +2 -0
  322. package/dist/components/ui/section/Section.vue.d.ts +73 -0
  323. package/dist/components/ui/section/index.d.ts +1 -0
  324. package/dist/components/ui/select/Select.vue.d.ts +21 -0
  325. package/dist/components/ui/select/SelectContent.vue.d.ts +30 -0
  326. package/dist/components/ui/select/SelectGroup.vue.d.ts +18 -0
  327. package/dist/components/ui/select/SelectItem.vue.d.ts +21 -0
  328. package/dist/components/ui/select/SelectLabel.vue.d.ts +18 -0
  329. package/dist/components/ui/select/SelectScrollDownButton.vue.d.ts +18 -0
  330. package/dist/components/ui/select/SelectScrollUpButton.vue.d.ts +18 -0
  331. package/dist/components/ui/select/SelectSeparator.vue.d.ts +8 -0
  332. package/dist/components/ui/select/SelectTrigger.vue.d.ts +22 -0
  333. package/dist/components/ui/select/SelectValue.vue.d.ts +14 -0
  334. package/dist/components/ui/select/index.d.ts +10 -0
  335. package/dist/components/ui/separator/Separator.vue.d.ts +9 -0
  336. package/dist/components/ui/separator/index.d.ts +1 -0
  337. package/dist/components/ui/sheet/Sheet.vue.d.ts +18 -0
  338. package/dist/components/ui/sheet/SheetClose.vue.d.ts +14 -0
  339. package/dist/components/ui/sheet/SheetContent.vue.d.ts +53 -0
  340. package/dist/components/ui/sheet/SheetDescription.vue.d.ts +18 -0
  341. package/dist/components/ui/sheet/SheetFooter.vue.d.ts +17 -0
  342. package/dist/components/ui/sheet/SheetHeader.vue.d.ts +17 -0
  343. package/dist/components/ui/sheet/SheetTitle.vue.d.ts +18 -0
  344. package/dist/components/ui/sheet/SheetTrigger.vue.d.ts +14 -0
  345. package/dist/components/ui/sheet/index.d.ts +13 -0
  346. package/dist/components/ui/skeleton/Skeleton.vue.d.ts +32 -0
  347. package/dist/components/ui/skeleton/index.d.ts +1 -0
  348. package/dist/components/ui/slider/Slider.vue.d.ts +26 -0
  349. package/dist/components/ui/slider/index.d.ts +31 -0
  350. package/dist/components/ui/switch/Switch.vue.d.ts +12 -0
  351. package/dist/components/ui/switch/index.d.ts +1 -0
  352. package/dist/components/ui/table/Table.vue.d.ts +17 -0
  353. package/dist/components/ui/table/TableBody.vue.d.ts +17 -0
  354. package/dist/components/ui/table/TableCaption.vue.d.ts +17 -0
  355. package/dist/components/ui/table/TableCell.vue.d.ts +17 -0
  356. package/dist/components/ui/table/TableEmpty.vue.d.ts +20 -0
  357. package/dist/components/ui/table/TableHead.vue.d.ts +17 -0
  358. package/dist/components/ui/table/TableHeader.vue.d.ts +17 -0
  359. package/dist/components/ui/table/TableRow.vue.d.ts +17 -0
  360. package/dist/components/ui/table/index.d.ts +8 -0
  361. package/dist/components/ui/tabs/Tabs.vue.d.ts +19 -0
  362. package/dist/components/ui/tabs/TabsContent.vue.d.ts +18 -0
  363. package/dist/components/ui/tabs/TabsIndicator.vue.d.ts +8 -0
  364. package/dist/components/ui/tabs/TabsList.vue.d.ts +18 -0
  365. package/dist/components/ui/tabs/TabsTrigger.vue.d.ts +18 -0
  366. package/dist/components/ui/tabs/index.d.ts +5 -0
  367. package/dist/components/ui/tags-input/TagsInput.vue.d.ts +28 -0
  368. package/dist/components/ui/tags-input/TagsInputInput.vue.d.ts +8 -0
  369. package/dist/components/ui/tags-input/TagsInputItem.vue.d.ts +18 -0
  370. package/dist/components/ui/tags-input/TagsInputItemDelete.vue.d.ts +18 -0
  371. package/dist/components/ui/tags-input/TagsInputItemText.vue.d.ts +8 -0
  372. package/dist/components/ui/tags-input/index.d.ts +5 -0
  373. package/dist/components/ui/textarea/Textarea.vue.d.ts +13 -0
  374. package/dist/components/ui/textarea/index.d.ts +1 -0
  375. package/dist/components/ui/toast/Toast.vue.d.ts +104 -0
  376. package/dist/components/ui/toast/ToastAction.vue.d.ts +18 -0
  377. package/dist/components/ui/toast/ToastClose.vue.d.ts +8 -0
  378. package/dist/components/ui/toast/ToastDescription.vue.d.ts +18 -0
  379. package/dist/components/ui/toast/ToastTitle.vue.d.ts +18 -0
  380. package/dist/components/ui/toast/Toaster.vue.d.ts +3 -0
  381. package/dist/components/ui/toast/index.d.ts +8 -0
  382. package/dist/components/ui/toast/use-toast.d.ts +155 -0
  383. package/dist/components/ui/toggle/Toggle.vue.d.ts +29 -0
  384. package/dist/components/ui/toggle/index.d.ts +26 -0
  385. package/dist/components/ui/toggle-group/ToggleGroup.vue.d.ts +25 -0
  386. package/dist/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +21 -0
  387. package/dist/components/ui/toggle-group/index.d.ts +2 -0
  388. package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +21 -0
  389. package/dist/components/ui/tooltip/Tooltip.vue.d.ts +18 -0
  390. package/dist/components/ui/tooltip/TooltipContent.vue.d.ts +26 -0
  391. package/dist/components/ui/tooltip/TooltipProvider.vue.d.ts +14 -0
  392. package/dist/components/ui/tooltip/TooltipTrigger.vue.d.ts +14 -0
  393. package/dist/components/ui/tooltip/index.d.ts +4 -0
  394. package/dist/composables/dark/index.d.ts +1 -0
  395. package/dist/composables/dark/useGlobalDark.d.ts +7 -0
  396. package/dist/composables/dom/index.d.ts +6 -0
  397. package/dist/composables/dom/useBreakpoint.d.ts +38 -0
  398. package/dist/composables/dom/useClipboard.d.ts +45 -0
  399. package/dist/composables/dom/useResizeObserver.d.ts +50 -0
  400. package/dist/composables/dom/useTokenColor.d.ts +27 -0
  401. package/dist/composables/dom/useTouchGate.d.ts +18 -0
  402. package/dist/composables/dom/useViewportReady.d.ts +87 -0
  403. package/dist/composables/glass/index.d.ts +1 -0
  404. package/dist/composables/glass/useGlassRenderer.d.ts +37 -0
  405. package/dist/composables/glass/webgl/frostShader.d.ts +27 -0
  406. package/dist/composables/index.d.ts +9 -0
  407. package/dist/composables/keyboard/index.d.ts +1 -0
  408. package/dist/composables/keyboard/useKeyboardShortcuts.d.ts +33 -0
  409. package/dist/composables/motion/constants.d.ts +19 -0
  410. package/dist/composables/motion/index.d.ts +14 -0
  411. package/dist/composables/motion/installDarkModeSync.d.ts +1 -0
  412. package/dist/composables/motion/useAnimatedNumber.d.ts +40 -0
  413. package/dist/composables/motion/useAnimatedNumberMap.d.ts +29 -0
  414. package/dist/composables/motion/useIntersectionPause.d.ts +33 -0
  415. package/dist/composables/motion/useNumericTransition.d.ts +32 -0
  416. package/dist/composables/motion/useRAFLoop.d.ts +43 -0
  417. package/dist/composables/motion/useScrollProgress.d.ts +23 -0
  418. package/dist/composables/motion/useSpring.d.ts +66 -0
  419. package/dist/composables/motion/useSpringMount.d.ts +52 -0
  420. package/dist/composables/motion/useSpringOrchestrator.d.ts +15 -0
  421. package/dist/composables/motion/useSpringPress.d.ts +46 -0
  422. package/dist/composables/motion/useStagger.d.ts +50 -0
  423. package/dist/composables/motion/useStaggerReveal.d.ts +22 -0
  424. package/dist/composables/reactive/index.d.ts +2 -0
  425. package/dist/composables/reactive/useInterval.d.ts +24 -0
  426. package/dist/composables/reactive/useTimer.d.ts +24 -0
  427. package/dist/composables/sidebar/index.d.ts +7 -0
  428. package/dist/composables/sidebar/types.d.ts +44 -0
  429. package/dist/composables/sidebar/useScrollTracker.d.ts +12 -0
  430. package/dist/composables/sidebar/useSidebarFollow.d.ts +16 -0
  431. package/dist/composables/sidebar/useSidebarState.d.ts +39 -0
  432. package/dist/composables/sidebar/useTreeIndex.d.ts +37 -0
  433. package/dist/composables/sortable/index.d.ts +1 -0
  434. package/dist/composables/sortable/useSortable.d.ts +149 -0
  435. package/dist/configurator.d.ts +1 -0
  436. package/dist/configurator.js +2 -0
  437. package/dist/confirm-dialog.d.ts +1 -0
  438. package/dist/confirm-dialog.js +69 -0
  439. package/dist/context-menu.d.ts +1 -0
  440. package/dist/context-menu.js +3 -0
  441. package/dist/controls.d.ts +1 -0
  442. package/dist/controls.js +51 -0
  443. package/dist/createLucideIcon-Bn9a1b70.js +43 -0
  444. package/dist/dark.d.ts +1 -0
  445. package/dist/dark.js +2 -0
  446. package/dist/data-table.d.ts +1 -0
  447. package/dist/data-table.js +2 -0
  448. package/dist/dialog.d.ts +1 -0
  449. package/dist/dialog.js +3 -0
  450. package/dist/disco-glyph.d.ts +1 -0
  451. package/dist/disco-glyph.js +2 -0
  452. package/dist/dock.d.ts +1 -0
  453. package/dist/dock.js +548 -0
  454. package/dist/dockContext-BDGSrwsV.js +16 -0
  455. package/dist/dom.d.ts +1 -0
  456. package/dist/dom.js +4 -0
  457. package/dist/dropdown-menu-2K-SGkZU.js +363 -0
  458. package/dist/dropdown-menu.d.ts +1 -0
  459. package/dist/dropdown-menu.js +2 -0
  460. package/dist/expandable-container.d.ts +1 -0
  461. package/dist/expandable-container.js +64 -0
  462. package/dist/fonts/README.md +95 -0
  463. package/dist/fonts/fira-code/OFL.txt +93 -0
  464. package/dist/fonts/fira-code/fira-code-latin-ext.woff2 +0 -0
  465. package/dist/fonts/fira-code/fira-code-latin.woff2 +0 -0
  466. package/dist/fonts/plus-jakarta-sans/OFL.txt +93 -0
  467. package/dist/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-ext.woff2 +0 -0
  468. package/dist/fonts/plus-jakarta-sans/plus-jakarta-sans-latin.woff2 +0 -0
  469. package/dist/forms.d.ts +3 -0
  470. package/dist/forms.js +311 -0
  471. package/dist/glass-carousel.d.ts +1 -0
  472. package/dist/glass-carousel.js +207 -0
  473. package/dist/glass-panel.d.ts +1 -0
  474. package/dist/glass-panel.js +44 -0
  475. package/dist/glass-ui.css +2 -1
  476. package/dist/glass-ui.js +1150 -10021
  477. package/dist/glyph-face.d.ts +1 -0
  478. package/dist/glyph-face.js +3 -0
  479. package/dist/header-ribbon.d.ts +1 -0
  480. package/dist/header-ribbon.js +63 -0
  481. package/dist/hover-card.d.ts +1 -0
  482. package/dist/hover-card.js +2 -0
  483. package/dist/hover-popover.d.ts +1 -0
  484. package/dist/hover-popover.js +2 -0
  485. package/dist/icon-tooltip.d.ts +1 -0
  486. package/dist/icon-tooltip.js +2 -0
  487. package/dist/index.d.ts +49 -6619
  488. package/dist/infinite-scroll.d.ts +2 -0
  489. package/dist/infinite-scroll.js +73 -0
  490. package/dist/instrument-chassis.d.ts +1 -0
  491. package/dist/instrument-chassis.js +2 -0
  492. package/dist/instrument-rail.d.ts +1 -0
  493. package/dist/instrument-rail.js +2 -0
  494. package/dist/keyboard.d.ts +1 -0
  495. package/dist/keyboard.js +2 -0
  496. package/dist/keys-DVkcUktU.js +11 -0
  497. package/dist/label.d.ts +1 -0
  498. package/dist/label.js +2 -0
  499. package/dist/labeled-field.d.ts +1 -0
  500. package/dist/labeled-field.js +194 -0
  501. package/dist/menuItemVariants-B2nDL7zH.js +30 -0
  502. package/dist/metric-badge.d.ts +1 -0
  503. package/dist/metric-badge.js +2 -0
  504. package/dist/metric-cell.d.ts +1 -0
  505. package/dist/metric-cell.js +54 -0
  506. package/dist/metric-stack.d.ts +1 -0
  507. package/dist/metric-stack.js +107 -0
  508. package/dist/minimize-2-LsCJ_eNt.js +38 -0
  509. package/dist/motion.d.ts +1 -0
  510. package/dist/motion.js +286 -0
  511. package/dist/notification.d.ts +1 -0
  512. package/dist/notification.js +2 -0
  513. package/dist/paper-backdrop.d.ts +1 -0
  514. package/dist/paper-backdrop.js +2 -0
  515. package/dist/popover.d.ts +1 -0
  516. package/dist/popover.js +2 -0
  517. package/dist/presets-BMzCDrmR.js +71 -0
  518. package/dist/progress.d.ts +1 -0
  519. package/dist/progress.js +2 -0
  520. package/dist/pulse.d.ts +1 -0
  521. package/dist/pulse.js +54 -0
  522. package/dist/reactive.d.ts +1 -0
  523. package/dist/reactive.js +3 -0
  524. package/dist/responsive-tabs.d.ts +1 -0
  525. package/dist/responsive-tabs.js +89 -0
  526. package/dist/scrolling-text.d.ts +1 -0
  527. package/dist/scrolling-text.js +2 -0
  528. package/dist/search-ocd8tmL9.js +12 -0
  529. package/dist/search.d.ts +1 -0
  530. package/dist/search.js +425 -0
  531. package/dist/select.d.ts +1 -0
  532. package/dist/select.js +4 -0
  533. package/dist/separator.d.ts +1 -0
  534. package/dist/separator.js +2 -0
  535. package/dist/sheet-CLVkb3AO.js +214 -0
  536. package/dist/sheet.d.ts +1 -0
  537. package/dist/sheet.js +2 -0
  538. package/dist/sidebar.d.ts +1 -0
  539. package/dist/sidebar.js +304 -0
  540. package/dist/slider-BQaLYFLh.js +133 -0
  541. package/dist/slider.d.ts +1 -0
  542. package/dist/slider.js +2 -0
  543. package/dist/sortable-list.d.ts +1 -0
  544. package/dist/sortable-list.js +82 -0
  545. package/dist/stacked-icons.d.ts +1 -0
  546. package/dist/stacked-icons.js +83 -0
  547. package/dist/status-dot.d.ts +1 -0
  548. package/dist/status-dot.js +55 -0
  549. package/dist/styles/animations.css +298 -0
  550. package/dist/styles/cards.css +44 -0
  551. package/dist/styles/disco-glyph.css +26 -0
  552. package/dist/styles/dock.css +1085 -0
  553. package/dist/styles/floating-panel.css +34 -0
  554. package/dist/styles/fonts.css +143 -0
  555. package/dist/styles/glass.css +277 -0
  556. package/dist/styles/glyph-face.css +92 -0
  557. package/dist/styles/hover-popover.css +44 -0
  558. package/dist/styles/index.css +96 -0
  559. package/dist/styles/instrument-chassis.css +313 -0
  560. package/dist/styles/instrument-rail.css +128 -0
  561. package/dist/styles/paper.css +68 -0
  562. package/dist/styles/theme.css +358 -0
  563. package/dist/styles/tokens.css +1495 -0
  564. package/dist/styles/transitions.css +245 -0
  565. package/dist/styles/typography.css +553 -0
  566. package/dist/styles/utilities.css +893 -0
  567. package/dist/tabs.d.ts +1 -0
  568. package/dist/tabs.js +206 -0
  569. package/dist/timeline.d.ts +1 -0
  570. package/dist/timeline.js +466 -0
  571. package/dist/toast.d.ts +1 -0
  572. package/dist/toast.js +2 -0
  573. package/dist/toggle-chip.d.ts +1 -0
  574. package/dist/toggle-chip.js +71 -0
  575. package/dist/toggle-group.d.ts +1 -0
  576. package/dist/toggle-group.js +2 -0
  577. package/dist/tokens.d.ts +53 -0
  578. package/dist/tokens.js +16 -0
  579. package/dist/tooltip.d.ts +1 -0
  580. package/dist/tooltip.js +2 -0
  581. package/dist/typewriter.d.ts +1 -0
  582. package/dist/typewriter.js +860 -0
  583. package/dist/useAnimatedNumber-DcvTR9B4.js +51 -0
  584. package/dist/useBreakpoint-BHlX-MhR.js +134 -0
  585. package/dist/useConfiguratorState-BlaevW0S.js +266 -0
  586. package/dist/useGlassRenderer-DMDdMH55.js +69 -0
  587. package/dist/useGlobalDark-PMiP5Jku.js +24 -0
  588. package/dist/useIntersectionPause-CXYfYg_C.js +39 -0
  589. package/dist/useInterval-COlTCeVa.js +18 -0
  590. package/dist/useKeyboardShortcuts-B1ev1YEC.js +99 -0
  591. package/dist/useResizeObserver-F4aRR4Cj.js +44 -0
  592. package/dist/useSortable-Ck0rBJ4g.js +175 -0
  593. package/dist/useSpringMount-BTRBNzXP.js +113 -0
  594. package/dist/useTimer-lp5NlH4w.js +20 -0
  595. package/dist/useTouchGate-BhhEMlwJ.js +84 -0
  596. package/dist/utils/cn.d.ts +27 -0
  597. package/dist/x-cdWAmO-q.js +10 -0
  598. package/package.json +514 -26
  599. package/src/fonts/README.md +95 -0
  600. package/src/fonts/fira-code/OFL.txt +93 -0
  601. package/src/fonts/fira-code/fira-code-latin-ext.woff2 +0 -0
  602. package/src/fonts/fira-code/fira-code-latin.woff2 +0 -0
  603. package/src/fonts/plus-jakarta-sans/OFL.txt +93 -0
  604. package/src/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-ext.woff2 +0 -0
  605. package/src/fonts/plus-jakarta-sans/plus-jakarta-sans-latin.woff2 +0 -0
  606. package/src/styles/animations.css +172 -107
  607. package/src/styles/cards.css +30 -52
  608. package/src/styles/disco-glyph.css +26 -0
  609. package/src/styles/dock.css +991 -127
  610. package/src/styles/floating-panel.css +22 -37
  611. package/src/styles/fonts.css +143 -0
  612. package/src/styles/glass.css +129 -126
  613. package/src/styles/glyph-face.css +92 -0
  614. package/src/styles/hover-popover.css +44 -0
  615. package/src/styles/index.css +73 -3
  616. package/src/styles/instrument-chassis.css +313 -0
  617. package/src/styles/instrument-rail.css +128 -0
  618. package/src/styles/paper.css +68 -0
  619. package/src/styles/theme.css +292 -72
  620. package/src/styles/tokens.css +1345 -183
  621. package/src/styles/transitions.css +227 -208
  622. package/src/styles/typography.css +498 -222
  623. package/src/styles/utilities.css +612 -437
  624. package/src/components/custom/aurora/Aurora.vue +0 -34
  625. package/src/components/custom/aurora/composables/color.ts +0 -122
  626. package/src/components/custom/aurora/composables/useAurora.ts +0 -352
  627. package/src/components/custom/aurora/index.ts +0 -8
  628. package/src/components/custom/confirm-dialog/ConfirmDialog.vue +0 -88
  629. package/src/components/custom/controls/DarkModeToggle.vue +0 -96
  630. package/src/components/custom/dock/DockLayerGroup.vue +0 -21
  631. package/src/components/custom/dock/DockPopover.vue +0 -263
  632. package/src/components/custom/dock/GlassDock.vue +0 -276
  633. package/src/components/custom/dock/composables/index.ts +0 -16
  634. package/src/components/custom/dock/composables/isTeleportedTarget.ts +0 -19
  635. package/src/components/custom/dock/composables/useDockActionBar.ts +0 -33
  636. package/src/components/custom/dock/composables/useDockState.ts +0 -314
  637. package/src/components/custom/dock/composables/useDockTransition.ts +0 -146
  638. package/src/components/custom/dock/composables/useLayerTransition.ts +0 -135
  639. package/src/components/custom/dock/composables/usePopupMutex.ts +0 -83
  640. package/src/components/custom/dock/index.ts +0 -9
  641. package/src/components/custom/expandable-container/ExpandableContainer.vue +0 -64
  642. package/src/components/custom/glass-panel/GlassPanel.vue +0 -98
  643. package/src/components/custom/glass-panel/index.ts +0 -2
  644. package/src/components/custom/icon-tooltip/IconTooltip.vue +0 -20
  645. package/src/components/custom/index.ts +0 -15
  646. package/src/components/custom/infinite-scroll/InfiniteScroll.vue +0 -55
  647. package/src/components/custom/infinite-scroll/composables/types.ts +0 -23
  648. package/src/components/custom/infinite-scroll/composables/useInfiniteScroll.ts +0 -73
  649. package/src/components/custom/labeled-field/LabeledInput.vue +0 -29
  650. package/src/components/custom/labeled-field/LabeledSelect.vue +0 -59
  651. package/src/components/custom/labeled-field/LabeledSlider.vue +0 -32
  652. package/src/components/custom/labeled-field/LabeledSwitch.vue +0 -27
  653. package/src/components/custom/labeled-field/index.ts +0 -4
  654. package/src/components/custom/metaballs/MetaballCanvas.vue +0 -23
  655. package/src/components/custom/metaballs/index.ts +0 -4
  656. package/src/components/custom/metaballs/shaders.ts +0 -63
  657. package/src/components/custom/metaballs/types.ts +0 -29
  658. package/src/components/custom/metaballs/useMetaballs.ts +0 -252
  659. package/src/components/custom/search/FuzzySearch.vue +0 -589
  660. package/src/components/custom/search/SearchBar.vue +0 -44
  661. package/src/components/custom/search/composables/fuzzySearchIndex.ts +0 -224
  662. package/src/components/custom/search/composables/types.ts +0 -34
  663. package/src/components/custom/search/composables/useFuzzySearch.ts +0 -115
  664. package/src/components/custom/sidebar/ProgressiveSidebar.vue +0 -256
  665. package/src/components/custom/sidebar/composables/index.ts +0 -6
  666. package/src/components/custom/sidebar/composables/useScrollTracker.ts +0 -242
  667. package/src/components/custom/sidebar/composables/useSidebarFollow.ts +0 -247
  668. package/src/components/custom/sidebar/composables/useSidebarState.ts +0 -72
  669. package/src/components/custom/sidebar/composables/useTreeIndex.ts +0 -152
  670. package/src/components/custom/sidebar/index.ts +0 -15
  671. package/src/components/custom/sidebar/types.ts +0 -50
  672. package/src/components/custom/tabs/BouncyTabs.vue +0 -39
  673. package/src/components/custom/tabs/BouncyToggle.vue +0 -352
  674. package/src/components/custom/tabs/UnderlineTabs.vue +0 -115
  675. package/src/components/custom/timeline/GlassTimeline.vue +0 -174
  676. package/src/components/custom/timeline/index.ts +0 -1
  677. package/src/components/custom/typewriter/TypewriterText.vue +0 -239
  678. package/src/components/custom/typewriter/composables/useTypewriter.ts +0 -413
  679. package/src/components/custom/typewriter/types.ts +0 -159
  680. package/src/components/custom/typewriter/utils/keyboard.ts +0 -213
  681. package/src/components/custom/typewriter/utils/pausePatterns.ts +0 -55
  682. package/src/components/custom/typewriter/utils/timing.ts +0 -104
  683. package/src/components/custom/typewriter/utils/typoStateMachine.ts +0 -197
  684. package/src/components/index.ts +0 -2
  685. package/src/components/ui/accordion/Accordion.vue +0 -19
  686. package/src/components/ui/accordion/AccordionContent.vue +0 -24
  687. package/src/components/ui/accordion/AccordionItem.vue +0 -24
  688. package/src/components/ui/accordion/AccordionTrigger.vue +0 -39
  689. package/src/components/ui/accordion/index.ts +0 -4
  690. package/src/components/ui/alert/Alert.vue +0 -20
  691. package/src/components/ui/alert/AlertDescription.vue +0 -17
  692. package/src/components/ui/alert/AlertTitle.vue +0 -17
  693. package/src/components/ui/alert/index.ts +0 -23
  694. package/src/components/ui/avatar/Avatar.vue +0 -21
  695. package/src/components/ui/avatar/AvatarFallback.vue +0 -11
  696. package/src/components/ui/avatar/AvatarImage.vue +0 -9
  697. package/src/components/ui/avatar/index.ts +0 -24
  698. package/src/components/ui/badge/Badge.vue +0 -16
  699. package/src/components/ui/badge/index.ts +0 -25
  700. package/src/components/ui/button/Button.vue +0 -26
  701. package/src/components/ui/button/index.ts +0 -43
  702. package/src/components/ui/card/Card.vue +0 -28
  703. package/src/components/ui/card/CardContent.vue +0 -14
  704. package/src/components/ui/card/CardDescription.vue +0 -14
  705. package/src/components/ui/card/CardFooter.vue +0 -14
  706. package/src/components/ui/card/CardHeader.vue +0 -14
  707. package/src/components/ui/card/CardTitle.vue +0 -21
  708. package/src/components/ui/card/index.ts +0 -6
  709. package/src/components/ui/carousel/Carousel.vue +0 -53
  710. package/src/components/ui/carousel/CarouselContent.vue +0 -35
  711. package/src/components/ui/carousel/CarouselItem.vue +0 -24
  712. package/src/components/ui/carousel/CarouselNext.vue +0 -40
  713. package/src/components/ui/carousel/CarouselPrevious.vue +0 -40
  714. package/src/components/ui/carousel/index.ts +0 -10
  715. package/src/components/ui/carousel/interface.ts +0 -26
  716. package/src/components/ui/carousel/useCarousel.ts +0 -56
  717. package/src/components/ui/checkbox/Checkbox.vue +0 -33
  718. package/src/components/ui/checkbox/index.ts +0 -1
  719. package/src/components/ui/collapsible/Collapsible.vue +0 -15
  720. package/src/components/ui/collapsible/CollapsibleContent.vue +0 -11
  721. package/src/components/ui/collapsible/CollapsibleTrigger.vue +0 -11
  722. package/src/components/ui/collapsible/index.ts +0 -3
  723. package/src/components/ui/combobox/Combobox.vue +0 -17
  724. package/src/components/ui/combobox/ComboboxAnchor.vue +0 -23
  725. package/src/components/ui/combobox/ComboboxEmpty.vue +0 -21
  726. package/src/components/ui/combobox/ComboboxGroup.vue +0 -27
  727. package/src/components/ui/combobox/ComboboxInput.vue +0 -41
  728. package/src/components/ui/combobox/ComboboxItem.vue +0 -24
  729. package/src/components/ui/combobox/ComboboxItemIndicator.vue +0 -23
  730. package/src/components/ui/combobox/ComboboxList.vue +0 -29
  731. package/src/components/ui/combobox/ComboboxSeparator.vue +0 -21
  732. package/src/components/ui/combobox/ComboboxViewport.vue +0 -23
  733. package/src/components/ui/combobox/index.ts +0 -12
  734. package/src/components/ui/command/Command.vue +0 -30
  735. package/src/components/ui/command/CommandDialog.vue +0 -21
  736. package/src/components/ui/command/CommandEmpty.vue +0 -20
  737. package/src/components/ui/command/CommandGroup.vue +0 -29
  738. package/src/components/ui/command/CommandInput.vue +0 -33
  739. package/src/components/ui/command/CommandItem.vue +0 -26
  740. package/src/components/ui/command/CommandList.vue +0 -27
  741. package/src/components/ui/command/CommandSeparator.vue +0 -23
  742. package/src/components/ui/command/CommandShortcut.vue +0 -14
  743. package/src/components/ui/command/index.ts +0 -9
  744. package/src/components/ui/context-menu/ContextMenu.vue +0 -15
  745. package/src/components/ui/context-menu/ContextMenuCheckboxItem.vue +0 -40
  746. package/src/components/ui/context-menu/ContextMenuContent.vue +0 -36
  747. package/src/components/ui/context-menu/ContextMenuGroup.vue +0 -11
  748. package/src/components/ui/context-menu/ContextMenuItem.vue +0 -34
  749. package/src/components/ui/context-menu/ContextMenuLabel.vue +0 -25
  750. package/src/components/ui/context-menu/ContextMenuPortal.vue +0 -11
  751. package/src/components/ui/context-menu/ContextMenuRadioGroup.vue +0 -19
  752. package/src/components/ui/context-menu/ContextMenuRadioItem.vue +0 -40
  753. package/src/components/ui/context-menu/ContextMenuSeparator.vue +0 -20
  754. package/src/components/ui/context-menu/ContextMenuShortcut.vue +0 -14
  755. package/src/components/ui/context-menu/ContextMenuSub.vue +0 -19
  756. package/src/components/ui/context-menu/ContextMenuSubContent.vue +0 -35
  757. package/src/components/ui/context-menu/ContextMenuSubTrigger.vue +0 -34
  758. package/src/components/ui/context-menu/ContextMenuTrigger.vue +0 -13
  759. package/src/components/ui/context-menu/index.ts +0 -14
  760. package/src/components/ui/data-table/DataTable.vue +0 -167
  761. package/src/components/ui/data-table/DataTablePagination.vue +0 -112
  762. package/src/components/ui/data-table/types.ts +0 -48
  763. package/src/components/ui/dialog/Dialog.vue +0 -14
  764. package/src/components/ui/dialog/DialogClose.vue +0 -11
  765. package/src/components/ui/dialog/DialogContent.vue +0 -61
  766. package/src/components/ui/dialog/DialogDescription.vue +0 -24
  767. package/src/components/ui/dialog/DialogFooter.vue +0 -19
  768. package/src/components/ui/dialog/DialogHeader.vue +0 -16
  769. package/src/components/ui/dialog/DialogScrollContent.vue +0 -65
  770. package/src/components/ui/dialog/DialogTitle.vue +0 -29
  771. package/src/components/ui/dialog/DialogTrigger.vue +0 -11
  772. package/src/components/ui/dialog/index.ts +0 -9
  773. package/src/components/ui/drawer/Drawer.vue +0 -19
  774. package/src/components/ui/drawer/DrawerContent.vue +0 -28
  775. package/src/components/ui/drawer/DrawerDescription.vue +0 -20
  776. package/src/components/ui/drawer/DrawerFooter.vue +0 -14
  777. package/src/components/ui/drawer/DrawerHeader.vue +0 -14
  778. package/src/components/ui/drawer/DrawerOverlay.vue +0 -18
  779. package/src/components/ui/drawer/DrawerTitle.vue +0 -20
  780. package/src/components/ui/drawer/index.ts +0 -8
  781. package/src/components/ui/dropdown-menu/DropdownMenu.vue +0 -14
  782. package/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +0 -40
  783. package/src/components/ui/dropdown-menu/DropdownMenuContent.vue +0 -44
  784. package/src/components/ui/dropdown-menu/DropdownMenuGroup.vue +0 -11
  785. package/src/components/ui/dropdown-menu/DropdownMenuItem.vue +0 -28
  786. package/src/components/ui/dropdown-menu/DropdownMenuLabel.vue +0 -24
  787. package/src/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +0 -19
  788. package/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +0 -40
  789. package/src/components/ui/dropdown-menu/DropdownMenuSeparator.vue +0 -22
  790. package/src/components/ui/dropdown-menu/DropdownMenuShortcut.vue +0 -14
  791. package/src/components/ui/dropdown-menu/DropdownMenuSub.vue +0 -19
  792. package/src/components/ui/dropdown-menu/DropdownMenuSubContent.vue +0 -36
  793. package/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +0 -33
  794. package/src/components/ui/dropdown-menu/DropdownMenuTrigger.vue +0 -13
  795. package/src/components/ui/dropdown-menu/index.ts +0 -16
  796. package/src/components/ui/hover-card/HoverCard.vue +0 -14
  797. package/src/components/ui/hover-card/HoverCardContent.vue +0 -41
  798. package/src/components/ui/hover-card/HoverCardTrigger.vue +0 -11
  799. package/src/components/ui/hover-card/index.ts +0 -3
  800. package/src/components/ui/index.ts +0 -41
  801. package/src/components/ui/input/Input.vue +0 -24
  802. package/src/components/ui/input/index.ts +0 -1
  803. package/src/components/ui/label/Label.vue +0 -27
  804. package/src/components/ui/label/index.ts +0 -1
  805. package/src/components/ui/multi-select/MultiSelect.vue +0 -141
  806. package/src/components/ui/multi-select/index.ts +0 -7
  807. package/src/components/ui/notification/Notification.vue +0 -85
  808. package/src/components/ui/notification/index.ts +0 -1
  809. package/src/components/ui/number-field/NumberField.vue +0 -23
  810. package/src/components/ui/number-field/NumberFieldContent.vue +0 -14
  811. package/src/components/ui/number-field/NumberFieldDecrement.vue +0 -25
  812. package/src/components/ui/number-field/NumberFieldIncrement.vue +0 -25
  813. package/src/components/ui/number-field/NumberFieldInput.vue +0 -8
  814. package/src/components/ui/number-field/index.ts +0 -5
  815. package/src/components/ui/popover/Popover.vue +0 -15
  816. package/src/components/ui/popover/PopoverContent.vue +0 -61
  817. package/src/components/ui/popover/PopoverTrigger.vue +0 -11
  818. package/src/components/ui/popover/index.ts +0 -3
  819. package/src/components/ui/progress/Progress.vue +0 -39
  820. package/src/components/ui/progress/index.ts +0 -1
  821. package/src/components/ui/radio-group/RadioGroup.vue +0 -25
  822. package/src/components/ui/radio-group/RadioGroupItem.vue +0 -39
  823. package/src/components/ui/radio-group/index.ts +0 -2
  824. package/src/components/ui/scroll-area/ScrollArea.vue +0 -29
  825. package/src/components/ui/scroll-area/ScrollBar.vue +0 -30
  826. package/src/components/ui/scroll-area/index.ts +0 -2
  827. package/src/components/ui/scroll-pane/ScrollPane.vue +0 -25
  828. package/src/components/ui/scroll-pane/ScrollPaneHeader.vue +0 -75
  829. package/src/components/ui/scroll-pane/index.ts +0 -2
  830. package/src/components/ui/select/Select.vue +0 -15
  831. package/src/components/ui/select/SelectContent.vue +0 -57
  832. package/src/components/ui/select/SelectGroup.vue +0 -19
  833. package/src/components/ui/select/SelectItem.vue +0 -47
  834. package/src/components/ui/select/SelectItemText.vue +0 -11
  835. package/src/components/ui/select/SelectLabel.vue +0 -13
  836. package/src/components/ui/select/SelectScrollDownButton.vue +0 -24
  837. package/src/components/ui/select/SelectScrollUpButton.vue +0 -24
  838. package/src/components/ui/select/SelectSeparator.vue +0 -17
  839. package/src/components/ui/select/SelectTrigger.vue +0 -45
  840. package/src/components/ui/select/SelectValue.vue +0 -11
  841. package/src/components/ui/select/index.ts +0 -11
  842. package/src/components/ui/separator/Separator.vue +0 -35
  843. package/src/components/ui/separator/index.ts +0 -1
  844. package/src/components/ui/sheet/Sheet.vue +0 -14
  845. package/src/components/ui/sheet/SheetClose.vue +0 -11
  846. package/src/components/ui/sheet/SheetContent.vue +0 -56
  847. package/src/components/ui/sheet/SheetDescription.vue +0 -22
  848. package/src/components/ui/sheet/SheetFooter.vue +0 -19
  849. package/src/components/ui/sheet/SheetHeader.vue +0 -16
  850. package/src/components/ui/sheet/SheetTitle.vue +0 -22
  851. package/src/components/ui/sheet/SheetTrigger.vue +0 -11
  852. package/src/components/ui/sheet/index.ts +0 -31
  853. package/src/components/ui/skeleton/Skeleton.vue +0 -14
  854. package/src/components/ui/skeleton/index.ts +0 -1
  855. package/src/components/ui/slider/Slider.vue +0 -67
  856. package/src/components/ui/slider/index.ts +0 -1
  857. package/src/components/ui/switch/Switch.vue +0 -37
  858. package/src/components/ui/switch/index.ts +0 -1
  859. package/src/components/ui/table/Table.vue +0 -16
  860. package/src/components/ui/table/TableBody.vue +0 -14
  861. package/src/components/ui/table/TableCaption.vue +0 -14
  862. package/src/components/ui/table/TableCell.vue +0 -14
  863. package/src/components/ui/table/TableEmpty.vue +0 -39
  864. package/src/components/ui/table/TableFooter.vue +0 -16
  865. package/src/components/ui/table/TableHead.vue +0 -21
  866. package/src/components/ui/table/TableHeader.vue +0 -14
  867. package/src/components/ui/table/TableRow.vue +0 -21
  868. package/src/components/ui/table/index.ts +0 -9
  869. package/src/components/ui/tabs/Tabs.vue +0 -15
  870. package/src/components/ui/tabs/TabsContent.vue +0 -22
  871. package/src/components/ui/tabs/TabsIndicator.vue +0 -22
  872. package/src/components/ui/tabs/TabsList.vue +0 -25
  873. package/src/components/ui/tabs/TabsTrigger.vue +0 -29
  874. package/src/components/ui/tabs/index.ts +0 -5
  875. package/src/components/ui/tags-input/TagsInput.vue +0 -22
  876. package/src/components/ui/tags-input/TagsInputInput.vue +0 -19
  877. package/src/components/ui/tags-input/TagsInputItem.vue +0 -22
  878. package/src/components/ui/tags-input/TagsInputItemDelete.vue +0 -24
  879. package/src/components/ui/tags-input/TagsInputItemText.vue +0 -19
  880. package/src/components/ui/tags-input/index.ts +0 -5
  881. package/src/components/ui/textarea/Textarea.vue +0 -24
  882. package/src/components/ui/textarea/index.ts +0 -1
  883. package/src/components/ui/toast/Toast.vue +0 -57
  884. package/src/components/ui/toast/ToastAction.vue +0 -30
  885. package/src/components/ui/toast/ToastClose.vue +0 -31
  886. package/src/components/ui/toast/ToastDescription.vue +0 -25
  887. package/src/components/ui/toast/ToastTitle.vue +0 -25
  888. package/src/components/ui/toast/Toaster.vue +0 -31
  889. package/src/components/ui/toast/index.ts +0 -8
  890. package/src/components/ui/toast/use-toast.ts +0 -136
  891. package/src/components/ui/toggle/Toggle.vue +0 -35
  892. package/src/components/ui/toggle/index.ts +0 -27
  893. package/src/components/ui/toggle-group/ToggleGroup.vue +0 -34
  894. package/src/components/ui/toggle-group/ToggleGroupItem.vue +0 -35
  895. package/src/components/ui/toggle-group/index.ts +0 -2
  896. package/src/components/ui/tooltip/Tooltip.vue +0 -14
  897. package/src/components/ui/tooltip/TooltipContent.vue +0 -31
  898. package/src/components/ui/tooltip/TooltipProvider.vue +0 -11
  899. package/src/components/ui/tooltip/TooltipTrigger.vue +0 -11
  900. package/src/components/ui/tooltip/index.ts +0 -4
  901. package/src/composables/glass/index.ts +0 -8
  902. package/src/composables/glass/useGlassRenderer.ts +0 -252
  903. package/src/composables/glass/webgl/frostShader.ts +0 -221
  904. package/src/composables/glass/webgpu/glassShader.wgsl +0 -173
  905. package/src/composables/index.ts +0 -32
  906. package/src/composables/infinite-scroll/index.ts +0 -2
  907. package/src/composables/infinite-scroll/types.ts +0 -25
  908. package/src/composables/infinite-scroll/useInfiniteScroll.ts +0 -101
  909. package/src/composables/interaction/index.ts +0 -5
  910. package/src/composables/interaction/useHeightTransition.ts +0 -82
  911. package/src/composables/interaction/useHoverPopover.ts +0 -64
  912. package/src/composables/interaction/useHoverToggle.ts +0 -103
  913. package/src/composables/interaction/useLeaveTimer.ts +0 -17
  914. package/src/composables/interaction/useTouchGate.ts +0 -207
  915. package/src/composables/pagination/index.ts +0 -2
  916. package/src/composables/pagination/useOffsetPagination.ts +0 -70
  917. package/src/composables/prng.ts +0 -32
  918. package/src/composables/useCharSplit.ts +0 -31
  919. package/src/composables/useClipboard.ts +0 -46
  920. package/src/composables/useGlobalDark.ts +0 -61
  921. package/src/composables/useKeyboardShortcuts.ts +0 -205
  922. package/src/composables/useWatercolorBlob.ts +0 -136
  923. package/src/composables/virtual/index.ts +0 -22
  924. package/src/composables/virtual/useVirtualSectionWindow.ts +0 -338
  925. package/src/composables/virtual/useWindowedStore.ts +0 -86
  926. package/src/composables/virtual/virtualSectionLayout.ts +0 -212
  927. package/src/index.ts +0 -9
  928. package/src/styles/scroll-pane.css +0 -10
  929. package/src/utils/cn.ts +0 -6
  930. /package/{src/components/custom/confirm-dialog/index.ts → dist/components/custom/confirm-dialog/index.d.ts} +0 -0
  931. /package/{src/components/custom/controls/index.ts → dist/components/custom/controls/index.d.ts} +0 -0
  932. /package/{src/components/custom/expandable-container/index.ts → dist/components/custom/expandable-container/index.d.ts} +0 -0
  933. /package/{src/components/custom/icon-tooltip/index.ts → dist/components/custom/icon-tooltip/index.d.ts} +0 -0
  934. /package/{src/components/custom/infinite-scroll/composables/index.ts → dist/components/custom/infinite-scroll/composables/index.d.ts} +0 -0
  935. /package/{src/components/custom/infinite-scroll/index.ts → dist/components/custom/infinite-scroll/index.d.ts} +0 -0
  936. /package/{src/components/custom/search/composables/index.ts → dist/components/custom/search/composables/index.d.ts} +0 -0
  937. /package/{src/components/custom/search/index.ts → dist/components/custom/search/index.d.ts} +0 -0
  938. /package/{src/components/custom/tabs/index.ts → dist/components/custom/tabs/index.d.ts} +0 -0
  939. /package/{src/components/custom/typewriter/composables/index.ts → dist/components/custom/typewriter/composables/index.d.ts} +0 -0
  940. /package/{src/components/custom/typewriter/index.ts → dist/components/custom/typewriter/index.d.ts} +0 -0
  941. /package/{src/components/ui/data-table/index.ts → dist/components/ui/data-table/index.d.ts} +0 -0
  942. /package/{src/utils/index.ts → dist/utils/index.d.ts} +0 -0
@@ -5,45 +5,30 @@
5
5
  position: fixed;
6
6
  z-index: var(--z-overlay);
7
7
  border-radius: var(--radius-panel);
8
- border: 1px solid var(--glass-border-medium);
9
- background: var(--glass-bg-medium);
10
- backdrop-filter: var(--glass-blur-medium);
11
- -webkit-backdrop-filter: var(--glass-blur-medium);
8
+ border: 1px solid var(--glass-border-resting);
9
+ background: var(--glass-bg-resting);
10
+ backdrop-filter: var(--glass-blur-resting);
12
11
  color: var(--popover-foreground);
13
- box-shadow: var(--glass-shadow-medium);
12
+ box-shadow: var(--glass-shadow-resting);
14
13
  pointer-events: auto;
15
- animation: floating-panel-in var(--duration-fast) var(--ease-out);
16
- }
17
-
18
- .floating-panel-item {
19
- display: flex;
20
- align-items: center;
21
- justify-content: center;
22
- gap: 0.5rem;
23
- padding: 0.375rem;
24
- border-radius: var(--radius-pill);
25
- color: inherit;
26
- cursor: pointer;
27
- transition:
28
- background-color var(--duration-fast) var(--ease-standard),
29
- transform var(--duration-fast) var(--ease-standard);
30
- }
31
-
32
- .floating-panel-item:hover {
33
- background-color: color-mix(in srgb, var(--foreground) 6%, transparent);
34
- }
35
-
36
- .floating-panel-item:focus-visible {
37
- outline: none;
38
- border-radius: var(--radius-pill);
39
- box-shadow: var(--focus-ring-shadow);
14
+ /* V.W3.T9 — animation grammar routes through the canonical
15
+ Tailwind `animate-floating-panel-in` utility (defined in
16
+ `theme.css` as `--animate-floating-panel-in`), NOT the raw
17
+ `animation:` shorthand that bypassed the cascade. */
18
+ @apply animate-floating-panel-in;
40
19
  }
20
+ }
41
21
 
42
- .floating-panel-item:active:not(:disabled) {
43
- transform: scale(0.95);
44
- }
45
- .floating-panel-item:disabled {
46
- opacity: 0.35;
47
- pointer-events: none;
48
- }
22
+ /* Dropdown-menu font knob (Q.W3 Lane C / Qβ-F3).
23
+ Migrated out of the lone scoped `<style>` blocks on
24
+ `DropdownMenuContent.vue` + `DropdownMenuSubContent.vue` — those were the
25
+ only scoped styles in an otherwise fully-global menu family, so the family
26
+ is now uniformly global-CSS. The `--dropdown-menu-font` token is the
27
+ consumer-facing knob (value.js overrides it to `var(--font-mono)`); the
28
+ `, inherit` fall-through MUST be preserved verbatim per the Qθ binding
29
+ constraint. Unlayered, like the retired scoped block — no other rule sets
30
+ `font-family` on these surfaces, so the cascade effect is identical. */
31
+ .dropdown-menu-content,
32
+ .dropdown-sub-content {
33
+ font-family: var(--dropdown-menu-font, inherit);
49
34
  }
@@ -0,0 +1,143 @@
1
+ /*
2
+ * fonts.css — payload-bearing @font-face declarations (OFL woff2 faces)
3
+ *
4
+ * AM-W1-α (entry-path weight split) — these are the ONLY @font-face rules
5
+ * that carry a font binary. At publish time the build plugin
6
+ * (vite.config.ts → publishStyleAssets) base64-inlines each
7
+ * `url("@mkbabb/glass-ui/fonts/<family>/<face>.woff2")` into a
8
+ * `data:font/woff2;base64,…` URI sourced from `src/fonts/`. That payload
9
+ * is ~99 KB gzipped — over half of the entire `./styles` critical CSS
10
+ * weight.
11
+ *
12
+ * This file is DELIBERATELY NOT `@import`ed by `styles/index.css`. The
13
+ * critical first-paint entry path (`@mkbabb/glass-ui/styles`) therefore no
14
+ * longer carries the font binary. Consumers import the faces once,
15
+ * separately and off the critical path:
16
+ *
17
+ * @import "@mkbabb/glass-ui/styles"; (critical — no font payload)
18
+ * @import "@mkbabb/glass-ui/styles/fonts"; (font corpus, loaded once)
19
+ *
20
+ * The calibrated `local()` fallback faces (San Francisco / Segoe UI /
21
+ * Roboto / Arial for the sans; SF Mono / Menlo / … for the mono) carry NO
22
+ * payload and remain in `typography.css` on the critical path — they are
23
+ * what paints during the `font-display: optional`/`swap` window, so they
24
+ * are genuinely first-paint critical. The metric overrides on those
25
+ * fallback faces (Capsize-calibrated; AC.W6b) reference the exact
26
+ * geometry of the faces declared here, so the split is purely a
27
+ * load-order/weight concern: the cascade is identical once both files load.
28
+ *
29
+ * Contract-v2 (docs/precepts/cross-repo-dev-resolution.md §2.1): this file
30
+ * is published into `dist/styles/fonts.css` and is reachable via the
31
+ * `./styles/fonts` exports key → `./dist/styles/fonts.css`. The build
32
+ * plugin walks EVERY `dist/styles/*.css` (not just index's transitive
33
+ * closure), so the inline rewrite applies here exactly as it did when these
34
+ * faces lived in typography.css. No `url()` resolves out of `dist/`.
35
+ *
36
+ * AM-W7-δ separate-files refinement — DEFERRED (base64 KEPT). The W1-close
37
+ * audit proposed de-base64ing THIS file to dist-relative
38
+ * `url("../fonts/<face>.woff2")` (referencing the already-shipped
39
+ * `dist/fonts/*` woff2 via the `./fonts/*` export), so the browser would
40
+ * fetch only the USED faces — unicode-range-deferring the ~35 KB latin-ext
41
+ * pair + gaining per-face HTTP caching. That refinement is STRUCTURALLY
42
+ * BLOCKED by the consumer's font-delivery idiom, verified at AM-W7-δ:
43
+ *
44
+ * speedtest's W1-α.2 consumer loads this file via a Vite `?url` import
45
+ * (`import fontsHref from "@mkbabb/glass-ui/styles/fonts?url"`), which
46
+ * emits fonts.css VERBATIM as a content-hashed asset into the consumer's
47
+ * OWN `dist/assets/fonts-<hash>.css` and injects it as an async `<link>`.
48
+ * `?url` does NOT parse the CSS or follow its `url()` refs — so the
49
+ * referenced woff2 are NEVER copied across the package boundary into the
50
+ * consumer's dist (confirmed: zero `*.woff2` in speedtest/dist). A
51
+ * dist-relative `url("../fonts/…")` inside the emitted
52
+ * `/assets/fonts-<hash>.css` would resolve at runtime to `/fonts/…` on
53
+ * the CONSUMER's origin, which has no such file → 404 on every face,
54
+ * broken fonts. (This is the same symlink-realpath axis that defeated
55
+ * "Option A" for the publisher in vite.config.ts → publishStyleAssets;
56
+ * the `?url` consumer path inherits it.) The CSP also gates here:
57
+ * `font-src 'self' data:` admits the `data:` URI but the dist-relative
58
+ * file would not be present on `'self'`.
59
+ *
60
+ * Base64 keeps the face request layer entirely self-contained: the woff2
61
+ * travel INSIDE the emitted CSS, so the async `<link>` is the only
62
+ * network fetch and it works regardless of how the consumer re-emits the
63
+ * file. The unicode-range split below is preserved either way — it still
64
+ * defers latin-ext glyph SHAPING — but with base64 the latin-ext bytes
65
+ * ship in the (once-cached, off-critical-path) CSS rather than as a lazy
66
+ * separate request. Working fonts > the marginal lazy-fetch win. Revisit
67
+ * only if a consumer adopts a delivery that DOES bundle/copy `url()`
68
+ * targets across the boundary (e.g. a real `@import` of the dist file).
69
+ */
70
+
71
+ /* ═══════════════════════════════════════════════
72
+ OFL FACE FILES — Plus Jakarta Sans (brand display)
73
+ ═══════════════════════════════════════════════ */
74
+
75
+ /* Plus Jakarta Sans — Latin subset (basic Latin + ASCII punctuation +
76
+ common diacritics). Variable font: a single woff2 covers wght 200..800.
77
+ `font-display: optional` keeps the LCP off the font-load critical path
78
+ — combined with the calibrated fallback face in typography.css, the swap
79
+ is no-shift on geometry and never disrupts paint. */
80
+ @font-face {
81
+ font-family: "Plus Jakarta Sans";
82
+ font-style: normal;
83
+ font-weight: 200 800;
84
+ font-display: optional;
85
+ src: url("@mkbabb/glass-ui/fonts/plus-jakarta-sans/plus-jakarta-sans-latin.woff2") format("woff2");
86
+ unicode-range:
87
+ U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
88
+ U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
89
+ U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
90
+ }
91
+
92
+ /* Plus Jakarta Sans — Latin-ext subset (extended Latin diacritics, IPA,
93
+ wider Latin script). Carried because speedtest's ISP-name register
94
+ may surface non-ASCII Latin (e.g., Spectrum, Frontier, AT&T variants
95
+ transliterated). Lazy: only loads if a glyph in the range renders. */
96
+ @font-face {
97
+ font-family: "Plus Jakarta Sans";
98
+ font-style: normal;
99
+ font-weight: 200 800;
100
+ font-display: optional;
101
+ src: url("@mkbabb/glass-ui/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-ext.woff2") format("woff2");
102
+ unicode-range:
103
+ U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
104
+ U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,
105
+ U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
106
+ }
107
+
108
+ /* ═══════════════════════════════════════════════
109
+ OFL FACE FILES — Fira Code (canonical mono)
110
+ ═══════════════════════════════════════════════ */
111
+
112
+ /* Fira Code — Latin subset (ASCII + ligatures + box-drawing prereqs).
113
+ Variable font: a single woff2 covers wght 300..700. `font-display:
114
+ swap` is acceptable here because Fira Code is post-LCP (mono-register
115
+ admin labels + tabular numerics render below the fold; FOUT is a
116
+ minor visual blip, not a layout shift since the system mono fallback
117
+ matches geometry via the calibrated fallback face in typography.css). */
118
+ @font-face {
119
+ font-family: "Fira Code";
120
+ font-style: normal;
121
+ font-weight: 300 700;
122
+ font-display: swap;
123
+ src: url("@mkbabb/glass-ui/fonts/fira-code/fira-code-latin.woff2") format("woff2");
124
+ unicode-range:
125
+ U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
126
+ U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
127
+ U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
128
+ }
129
+
130
+ /* Fira Code — Latin-ext subset. Carried for parity with the sans
131
+ coverage (admin labels may surface non-ASCII strings on
132
+ internationalized variants). */
133
+ @font-face {
134
+ font-family: "Fira Code";
135
+ font-style: normal;
136
+ font-weight: 300 700;
137
+ font-display: swap;
138
+ src: url("@mkbabb/glass-ui/fonts/fira-code/fira-code-latin-ext.woff2") format("woff2");
139
+ unicode-range:
140
+ U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
141
+ U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,
142
+ U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
143
+ }
@@ -1,49 +1,80 @@
1
1
  /* Glass utilities — glassmorphism surface classes referencing --glass-* tokens */
2
2
 
3
3
  @layer components {
4
- /* ── Four-tier surface classes (visual only, no geometry) ── */
5
-
6
- .glass-subtle {
4
+ /* ── Five-tier surface ladder (v0.8.0; visual only, no geometry) ──
5
+ Tier semantics, alpha-monotonic per R3-spec §A:
6
+ wash ~0.30α + light blur (was `subtle`)
7
+ quiet ~0.50α + medium blur (the missing rung)
8
+ resting ~0.65α + canonical blur (was `default`; the speedtest plate)
9
+ floating ~0.80α + heavier blur (was `elevated`)
10
+ overlay ~0.95α + heaviest blur (NEW; modal-over-modal) */
11
+
12
+ /* The five-rung surface ladder declares the unprefixed
13
+ `backdrop-filter` only. Lightning CSS / autoprefixer in the
14
+ consumer's pipeline emits the `-webkit-` legacy form when
15
+ browserslist targets demand it. Authoring both forms manually
16
+ caused Lightning CSS in Tailwind v4 to dedup-and-keep-prefixed,
17
+ which modern Chromium then dropped from the CSSOM (the prefixed
18
+ alias is parser-rejected post-Chrome 113). Single-source-of-truth
19
+ authorship lets the build pipeline deliver the right matrix. */
20
+ .glass-wash {
21
+ position: relative;
22
+ background: var(--glass-bg-wash);
23
+ backdrop-filter: var(--glass-blur-wash);
24
+ border: 1px solid var(--glass-border-wash);
25
+ box-shadow: var(--glass-shadow-wash);
26
+ }
27
+
28
+ /* AL-W10 SLIM under-shadow wiring (tokens.css §AL-W10 SLIM —
29
+ UNDER-SHADOW recipe rungs). Each tier composes its canonical
30
+ iOS Liquid Glass under-shadow (a 0.5px dark hairline along the
31
+ bottom edge reading as glass thickness) as a NON-INSET layer
32
+ PREPENDED to the existing `--glass-shadow-*` recipe — the under-
33
+ shadow lays the floor; the existing shadow stack lays the lift.
34
+ quiet → `--glass-under-shadow-quiet` (0 2px 8px -1px α0.04)
35
+ resting → `--glass-under-shadow-default` (0 4px 16px -2px α0.08)
36
+ floating→ `--glass-under-shadow-vivid` (0 8px 32px -4px α0.12)
37
+ `.glass-wash` is sub-perceptual; `.glass-overlay` is modal-heavy
38
+ — neither composes an under-shadow rung (Y4/Y6/Y7 SLIM retention).
39
+ Spine tier wires its own rung at instrument-chassis.css. */
40
+ .glass-quiet {
7
41
  position: relative;
8
- background: var(--glass-bg-subtle);
9
- backdrop-filter: var(--glass-blur-subtle);
10
- -webkit-backdrop-filter: var(--glass-blur-subtle);
11
- border: 1px solid var(--glass-border-subtle);
12
- box-shadow: var(--glass-highlight);
42
+ background: var(--glass-bg-quiet);
43
+ backdrop-filter: var(--glass-blur-quiet);
44
+ border: 1px solid var(--glass-border-quiet);
45
+ box-shadow: var(--glass-under-shadow-quiet), var(--glass-shadow-quiet);
13
46
  }
14
47
 
15
- .glass-default {
48
+ .glass-resting {
16
49
  position: relative;
17
- background: var(--glass-bg-default);
18
- backdrop-filter: var(--glass-blur-default);
19
- -webkit-backdrop-filter: var(--glass-blur-default);
20
- border: 1px solid var(--glass-border-default);
21
- box-shadow: var(--glass-highlight);
50
+ background: var(--glass-bg-resting);
51
+ backdrop-filter: var(--glass-blur-resting);
52
+ border: 1px solid var(--glass-border-resting);
53
+ box-shadow: var(--glass-under-shadow-default), var(--glass-shadow-resting);
22
54
  }
23
55
 
24
- .glass-medium {
56
+ .glass-floating {
25
57
  position: relative;
26
- background: var(--glass-bg-medium);
27
- backdrop-filter: var(--glass-blur-medium);
28
- -webkit-backdrop-filter: var(--glass-blur-medium);
29
- border: 1px solid var(--glass-border-medium);
30
- box-shadow: var(--glass-highlight);
58
+ background: var(--glass-bg-floating);
59
+ backdrop-filter: var(--glass-blur-floating);
60
+ border: 1px solid var(--glass-border-floating);
61
+ box-shadow: var(--glass-under-shadow-vivid), var(--glass-shadow-floating);
31
62
  }
32
63
 
33
- .glass-elevated {
64
+ .glass-overlay {
34
65
  position: relative;
35
- background: var(--glass-bg-elevated);
36
- backdrop-filter: var(--glass-blur-elevated);
37
- -webkit-backdrop-filter: var(--glass-blur-elevated);
38
- border: 1px solid var(--glass-border-elevated);
39
- box-shadow: var(--glass-highlight);
66
+ background: var(--glass-bg-overlay);
67
+ backdrop-filter: var(--glass-blur-overlay);
68
+ border: 1px solid var(--glass-border-overlay);
69
+ box-shadow: var(--glass-shadow-overlay);
40
70
  }
41
71
 
42
72
  /* Grain noise overlay — reuses paper texture SVG, no extra assets */
43
- .glass-subtle::after,
44
- .glass-default::after,
45
- .glass-medium::after,
46
- .glass-elevated::after {
73
+ .glass-wash::after,
74
+ .glass-quiet::after,
75
+ .glass-resting::after,
76
+ .glass-floating::after,
77
+ .glass-overlay::after {
47
78
  content: '';
48
79
  position: absolute;
49
80
  inset: 0;
@@ -56,34 +87,26 @@
56
87
  mix-blend-mode: overlay;
57
88
  }
58
89
 
59
- .dark .glass-subtle::after,
60
- .dark .glass-default::after,
61
- .dark .glass-medium::after,
62
- .dark .glass-elevated::after {
90
+ .dark .glass-wash::after,
91
+ .dark .glass-quiet::after,
92
+ .dark .glass-resting::after,
93
+ .dark .glass-floating::after,
94
+ .dark .glass-overlay::after {
63
95
  mix-blend-mode: soft-light;
64
96
  }
65
97
 
66
98
  /* ── Convenience shorthands (tier + shape) ── */
67
99
 
100
+ /* Static surface utility — no hover lift, no transition.
101
+ Interactive cards live in <Card> (which owns its own hover composition)
102
+ or in components that explicitly opt into a hover variant. */
68
103
  .glass-card {
69
104
  position: relative;
70
- background: var(--glass-bg-default);
71
- backdrop-filter: var(--glass-blur-default);
72
- -webkit-backdrop-filter: var(--glass-blur-default);
73
- border: 1px solid var(--glass-border-default);
105
+ background: var(--glass-bg-quiet);
106
+ backdrop-filter: var(--glass-blur-quiet);
107
+ border: 1px solid var(--glass-border-quiet);
74
108
  border-radius: var(--radius-card);
75
- box-shadow: var(--glass-shadow-default);
76
- contain: layout style;
77
- }
78
-
79
- .glass-pill {
80
- position: relative;
81
- background: var(--glass-bg-default);
82
- backdrop-filter: var(--glass-blur-default);
83
- -webkit-backdrop-filter: var(--glass-blur-default);
84
- border: 1px solid var(--glass-border-default);
85
- border-radius: var(--radius-pill);
86
- box-shadow: var(--glass-shadow-subtle);
109
+ box-shadow: var(--shadow-card);
87
110
  contain: layout style;
88
111
  }
89
112
 
@@ -95,20 +118,20 @@
95
118
  width: var(--size-icon-btn);
96
119
  height: var(--size-icon-btn);
97
120
  border-radius: var(--radius-pill);
98
- border: 1.5px solid var(--glass-border-subtle);
99
- background: var(--glass-bg-subtle);
100
- backdrop-filter: var(--glass-blur-subtle);
121
+ border: 1.5px solid var(--glass-border-wash);
122
+ background: var(--glass-bg-wash);
123
+ backdrop-filter: var(--glass-blur-wash);
101
124
  color: var(--muted-foreground);
102
125
  transition:
103
- background var(--duration-fast) ease,
104
- border-color var(--duration-fast) ease,
105
- color var(--duration-fast) ease,
126
+ background var(--duration-fast) var(--ease-standard),
127
+ border-color var(--duration-fast) var(--ease-standard),
128
+ color var(--duration-fast) var(--ease-standard),
106
129
  transform var(--duration-normal) var(--spring-snappy);
107
130
  }
108
131
 
109
132
  .glass-btn:hover:not(:disabled) {
110
133
  background: color-mix(in srgb, var(--background) 85%, transparent);
111
- border-color: color-mix(in srgb, var(--foreground) 20%, transparent);
134
+ border-color: var(--surface-tint-22);
112
135
  color: var(--foreground);
113
136
  transform: scale(var(--scale-hover));
114
137
  }
@@ -118,8 +141,8 @@
118
141
  }
119
142
 
120
143
  .glass-btn:focus-visible {
121
- outline: var(--focus-ring-width) solid var(--ring);
122
- outline-offset: var(--focus-ring-width);
144
+ outline: none;
145
+ box-shadow: var(--focus-ring-shadow);
123
146
  }
124
147
 
125
148
  .glass-btn:disabled {
@@ -130,8 +153,8 @@
130
153
 
131
154
  .glass-btn.is-active,
132
155
  .glass-btn[aria-pressed="true"] {
133
- background: color-mix(in srgb, var(--foreground) 10%, transparent);
134
- border-color: color-mix(in srgb, var(--foreground) 25%, transparent);
156
+ background: var(--surface-tint-10);
157
+ border-color: var(--surface-tint-25);
135
158
  color: var(--foreground);
136
159
  }
137
160
 
@@ -143,7 +166,13 @@
143
166
  border-radius: var(--radius-pill);
144
167
  padding: 0.5rem 1rem;
145
168
  font-size: 1rem;
146
- transition: all var(--duration-fast) var(--ease-standard);
169
+ transition:
170
+ background-color var(--duration-fast) var(--ease-standard),
171
+ border-color var(--duration-fast) var(--ease-standard),
172
+ box-shadow var(--duration-fast) var(--ease-standard),
173
+ color var(--duration-fast) var(--ease-standard),
174
+ opacity var(--duration-fast) var(--ease-standard),
175
+ transform var(--duration-fast) var(--ease-standard);
147
176
  }
148
177
 
149
178
  .btn-pill > * {
@@ -151,48 +180,10 @@
151
180
  }
152
181
 
153
182
 
154
- .btn-pill:active:not(:disabled) {
155
- transform: scale(0.96);
156
- }
157
-
158
183
  .btn-pill:disabled {
159
- opacity: 0.4;
184
+ opacity: var(--opacity-disabled);
160
185
  cursor: not-allowed;
161
- }
162
-
163
- .btn-pill[aria-pressed="true"] {
164
- background: color-mix(in srgb, var(--primary) 15%, transparent);
165
- border: 1px solid color-mix(in srgb, var(--primary) 30%, var(--border));
166
- }
167
-
168
- .btn-pill-accent {
169
- background: var(--th-accent-opaque, var(--primary));
170
- color: var(--foreground);
171
- }
172
-
173
- .btn-pill-accent:hover:not(:disabled) {
174
- opacity: 0.9;
175
- }
176
-
177
- .btn-pill-ghost {
178
- background: transparent;
179
- color: color-mix(in srgb, var(--foreground) 70%, transparent);
180
- }
181
-
182
- .btn-pill-ghost:hover:not(:disabled) {
183
- background: color-mix(in srgb, var(--foreground) 8%, transparent);
184
- color: var(--foreground);
185
- }
186
-
187
- .btn-pill-glass {
188
- background: var(--glass-bg-subtle);
189
- backdrop-filter: var(--glass-blur-subtle);
190
- border: 1px solid var(--glass-border-default);
191
- color: var(--foreground);
192
- }
193
-
194
- .btn-pill-glass:hover:not(:disabled) {
195
- box-shadow: var(--glass-shadow-default);
186
+ pointer-events: none;
196
187
  }
197
188
 
198
189
  /* ── Pill input ───────────────────────────────── */
@@ -201,17 +192,22 @@
201
192
 
202
193
  height: 2.5rem;
203
194
  border-radius: var(--radius-pill);
204
- border: 1.5px solid var(--glass-border-subtle);
205
- background: var(--glass-bg-default);
206
- backdrop-filter: var(--glass-blur-subtle);
195
+ border: 1.5px solid var(--glass-border-wash);
196
+ background: var(--glass-bg-quiet);
197
+ backdrop-filter: var(--glass-blur-wash);
207
198
  padding: 0 1rem;
208
199
  font-size: 1rem;
209
200
  color: var(--foreground);
210
- transition: all var(--duration-fast) var(--ease-standard);
201
+ transition:
202
+ background-color var(--duration-fast) var(--ease-standard),
203
+ border-color var(--duration-fast) var(--ease-standard),
204
+ box-shadow var(--duration-fast) var(--ease-standard),
205
+ color var(--duration-fast) var(--ease-standard),
206
+ opacity var(--duration-fast) var(--ease-standard);
211
207
  }
212
208
 
213
209
  .input-pill::placeholder {
214
- color: color-mix(in srgb, var(--foreground) 35%, transparent);
210
+ color: var(--surface-tint-35);
215
211
  }
216
212
 
217
213
  .input-pill:focus {
@@ -229,42 +225,49 @@
229
225
  /* ── Accessibility: reduced transparency ────────── */
230
226
  @media (prefers-reduced-transparency: reduce) {
231
227
  :root {
232
- --glass-opacity-subtle: 1;
233
- --glass-opacity-default: 1;
234
- --glass-opacity-medium: 1;
235
- --glass-opacity-elevated: 1;
236
- --glass-blur-subtle: none;
237
- --glass-blur-default: none;
238
- --glass-blur-medium: none;
239
- --glass-blur-elevated: none;
228
+ --glass-opacity-wash: 1;
229
+ --glass-opacity-quiet: 1;
230
+ --glass-opacity-resting: 1;
231
+ --glass-opacity-floating: 1;
232
+ --glass-opacity-overlay: 1;
233
+ --glass-blur-wash: none;
234
+ --glass-blur-quiet: none;
235
+ --glass-blur-resting: none;
236
+ --glass-blur-floating: none;
237
+ --glass-blur-overlay: none;
238
+ --glass-blur-dock: none;
240
239
  --glass-grain-opacity: 0;
241
- --glass-highlight: none;
240
+ --glass-highlight: 0 0 0 0 transparent;
242
241
  }
243
242
  }
244
243
 
245
244
  /* ── Accessibility: high contrast ───────────────── */
246
245
  @media (prefers-contrast: more) {
247
246
  :root {
248
- --glass-opacity-subtle: 0.88;
249
- --glass-opacity-default: 0.92;
250
- --glass-opacity-medium: 0.96;
251
- --glass-opacity-elevated: 1;
247
+ --glass-opacity-wash: 0.85;
248
+ --glass-opacity-quiet: 0.90;
249
+ --glass-opacity-resting: 0.94;
250
+ --glass-opacity-floating: 0.98;
251
+ --glass-opacity-overlay: 1;
252
252
  }
253
253
  }
254
254
 
255
255
  /* ── @supports fallbacks for non-backdrop-filter browsers ── */
256
256
  @layer components {
257
257
  @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
258
- .glass-subtle {
258
+ .glass-wash {
259
+ background: color-mix(in srgb, var(--card) 80%, transparent);
260
+ }
261
+ .glass-quiet {
259
262
  background: color-mix(in srgb, var(--card) 88%, transparent);
260
263
  }
261
- .glass-default {
262
- background: color-mix(in srgb, var(--card) 92%, transparent);
264
+ .glass-resting {
265
+ background: color-mix(in srgb, var(--card) 94%, transparent);
263
266
  }
264
- .glass-medium {
265
- background: color-mix(in srgb, var(--card) 96%, transparent);
267
+ .glass-floating {
268
+ background: color-mix(in srgb, var(--card) 98%, transparent);
266
269
  }
267
- .glass-elevated {
270
+ .glass-overlay {
268
271
  background: var(--card);
269
272
  }
270
273
  .glass-btn {
@@ -0,0 +1,92 @@
1
+ /* glyph-face.css — three-layer composition for <GlyphFace>.
2
+ *
3
+ * Per W2.7 §19 and Q.W3 §F2 + §F8. Wraps a slotted glyph (lucide stroke
4
+ * or DiscoGlyph SVG) with a phase-tinted radial backplate (visible only
5
+ * when [data-active="true"]) and a 165° linear-gradient catch-light cap.
6
+ * The slotted silhouette stays `currentColor` — Vignelli-clean — while
7
+ * the disco punch lives in the surrounding layers.
8
+ *
9
+ * Q.W3.A.1 inversion: when no silhouette resolves, the cap renders
10
+ * nothing (rather than a wrapper-rectangle fallback). Consumers passing
11
+ * `silhouette` continue to consume `clip-path: path(var(--gf-silhouette))`;
12
+ * the lucide consumer sites in ActionCluster + SettingsCog publish via
13
+ * the silhouette table from `@src/components/speedtest/icons/lucide-silhouettes.ts`,
14
+ * and DiscoGlyph hands its silhouette upward via provide/inject for
15
+ * disco wrappers. The fail-safe is now "no cap" not "wrong cap".
16
+ *
17
+ * Q.W3.A.2 default raise: --gf-cap-strength 0.35 → 0.55, mix-blend-mode
18
+ * overlay → screen. `screen` composes correctly against the translucent
19
+ * dock substrates (`--card` at 50–60% opacity); `overlay` collapses
20
+ * there because its contrast lift requires an opaque underlay. Consumers
21
+ * needing the metallic-overlay punch declare `mix-blend-mode: overlay`
22
+ * via class or `--gf-cap-blend` override.
23
+ *
24
+ * Self-contained sheet; no token additions beyond what's already in
25
+ * `tokens.css`. Consumers may override the cap blend mode and backplate
26
+ * radius with the documented `--gf-*` custom properties.
27
+ */
28
+
29
+ @layer components {
30
+ .glyph-face {
31
+ position: relative;
32
+ display: inline-flex;
33
+ align-items: center;
34
+ justify-content: center;
35
+ isolation: isolate;
36
+ --gf-tint: transparent;
37
+ --gf-cap-strength: 0.55;
38
+ --gf-cap-blend: screen;
39
+ --gf-cap-radius: 50%;
40
+ }
41
+
42
+ .glyph-face-backplate {
43
+ position: absolute;
44
+ inset: -25%;
45
+ border-radius: 50%;
46
+ background: radial-gradient(
47
+ ellipse at 30% 30%,
48
+ var(--gf-tint) 0%,
49
+ transparent 70%
50
+ );
51
+ opacity: 0;
52
+ transition: opacity var(--duration-fast) var(--spring-snappy);
53
+ z-index: -1;
54
+ pointer-events: none;
55
+ }
56
+
57
+ .glyph-face[data-active="true"] .glyph-face-backplate {
58
+ opacity: 1;
59
+ }
60
+
61
+ /* Cap fail-safe: by default render nothing. The cap only paints
62
+ when --gf-silhouette resolves (via prop or provide/inject from
63
+ a DiscoGlyph descendant). This closes the wrapper-rectangle
64
+ leak the lucide consumers in ActionCluster + SettingsCog hit
65
+ under the prior opt-in path. */
66
+ .glyph-face-cap {
67
+ position: absolute;
68
+ inset: 0;
69
+ background: transparent;
70
+ pointer-events: none;
71
+ mix-blend-mode: var(--gf-cap-blend);
72
+ }
73
+
74
+ .glyph-face[style*="--gf-silhouette"] .glyph-face-cap {
75
+ background: linear-gradient(
76
+ 165deg,
77
+ rgba(255, 255, 255, var(--gf-cap-strength, 0.55)) 0%,
78
+ transparent 40%
79
+ );
80
+ clip-path: var(--gf-silhouette);
81
+ }
82
+
83
+ .dark .glyph-face {
84
+ --gf-cap-strength: 0.32;
85
+ }
86
+
87
+ @media (prefers-reduced-motion: reduce) {
88
+ .glyph-face-backplate {
89
+ transition: none;
90
+ }
91
+ }
92
+ }