@mkbabb/glass-ui 0.2.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.
- package/README.md +170 -70
- package/dist/CardFooter-Yi0xtLLd.js +129 -0
- package/dist/CollapsibleContent-DHRuXE3P.js +52 -0
- package/dist/CommandShortcut-_INFUMu6.js +285 -0
- package/dist/ContextMenuContent-CvXfU5qz.js +85 -0
- package/dist/ContextMenuSubContent-DCkweFW9.js +250 -0
- package/dist/DataTable-Ce00dbHD.js +460 -0
- package/dist/DialogContent-CmCijgX9.js +93 -0
- package/dist/DialogFooter-DRdaCok0.js +165 -0
- package/dist/DiscoGlyph-wRA02zAJ.js +132 -0
- package/dist/GlyphFace-BnPMUZ16.js +51 -0
- package/dist/HoverCardContent-4nN5-5bz.js +83 -0
- package/dist/HoverPopover-Btv4RQfv.js +80 -0
- package/dist/IconTooltip-ge_mBSWR.js +25 -0
- package/dist/Input-CbakTe3B.js +32 -0
- package/dist/InstrumentChassis-DOaVYyWq.js +65 -0
- package/dist/InstrumentRail-jHDqXj70.js +44 -0
- package/dist/Label-C8QMJSsf.js +32 -0
- package/dist/MetricBadge-DRBB18Xq.js +78 -0
- package/dist/ModalOverlay-DKLVY-cj.js +53 -0
- package/dist/Notification-DrI1DT2v.js +99 -0
- package/dist/PaperBackdrop-Bc2drCqJ.js +31 -0
- package/dist/PopoverContent-BCH4eYs8.js +121 -0
- package/dist/Progress-CCH-2UBR.js +126 -0
- package/dist/ScrollingText-7P8skg5W.js +40 -0
- package/dist/SelectGroup-O69GTQ77.js +31 -0
- package/dist/SelectScrollDownButton-yu8EYUnu.js +235 -0
- package/dist/SelectSeparator-GTHxKO0a.js +49 -0
- package/dist/Separator-_NCypg_C.js +37 -0
- package/dist/Switch-CL0uxu8F.js +41 -0
- package/dist/Toaster-DY8_jtHv.js +255 -0
- package/dist/ToggleGroupItem-BYG_8M9M.js +152 -0
- package/dist/TooltipProvider-C5QLSPto.js +104 -0
- package/dist/UnderlineTabs-BtrUcXn-.js +64 -0
- package/dist/_plugin-vue_export-helper-n-_DRHWS.js +8 -0
- package/dist/animated-digit.d.ts +1 -0
- package/dist/animated-digit.js +44 -0
- package/dist/api/index.d.ts +30 -0
- package/dist/api.js +2 -0
- package/dist/aurora.d.ts +1 -0
- package/dist/aurora.js +541 -0
- package/dist/badge-BbxVKZfw.js +49 -0
- package/dist/badge.d.ts +1 -0
- package/dist/badge.js +2 -0
- package/dist/button-BlOW34DT.js +70 -0
- package/dist/button.d.ts +1 -0
- package/dist/button.js +2 -0
- package/dist/card.d.ts +1 -0
- package/dist/card.js +2 -0
- package/dist/carousel.d.ts +2 -0
- package/dist/carousel.js +394 -0
- package/dist/check-dwgetki8.js +7 -0
- package/dist/chevron-down-DILQA1t6.js +7 -0
- package/dist/chevron-right-fS7fal2t.js +7 -0
- package/dist/chevron-up-BtYjYQOS.js +7 -0
- package/dist/cn-DJXf4yaB.js +97 -0
- package/dist/collapsible.d.ts +1 -0
- package/dist/collapsible.js +2 -0
- package/dist/command.d.ts +1 -0
- package/dist/command.js +2 -0
- package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +48 -0
- package/dist/components/custom/animated-digit/index.d.ts +2 -0
- package/dist/components/custom/aurora/Aurora.vue.d.ts +95 -0
- package/dist/components/custom/aurora/composables/color.d.ts +39 -0
- package/dist/components/custom/aurora/composables/configSource.d.ts +10 -0
- package/dist/components/custom/aurora/composables/runtime.d.ts +54 -0
- package/dist/components/custom/aurora/composables/useAurora.d.ts +67 -0
- package/dist/components/custom/aurora/composables/useCursorInteraction.d.ts +25 -0
- package/dist/components/custom/aurora/index.d.ts +9 -0
- package/dist/components/custom/aurora/presets.d.ts +121 -0
- package/dist/components/custom/aurora/renderMode.d.ts +30 -0
- package/dist/components/custom/aurora/shaders/aurora.frag.d.ts +1 -0
- package/dist/components/custom/aurora/shaders/aurora.vert.d.ts +1 -0
- package/dist/components/custom/configurator/Configurator.vue.d.ts +102 -0
- package/dist/components/custom/configurator/ConfiguratorLayer.vue.d.ts +68 -0
- package/dist/components/custom/configurator/ConfiguratorRow.vue.d.ts +63 -0
- package/dist/components/custom/configurator/density.d.ts +30 -0
- package/dist/components/custom/configurator/index.d.ts +6 -0
- package/dist/components/custom/configurator/useConfiguratorState.d.ts +45 -0
- package/dist/components/custom/confirm-dialog/ConfirmDialog.vue.d.ts +32 -0
- package/dist/components/custom/controls/DarkModeToggle.vue.d.ts +23 -0
- package/dist/components/custom/disco-glyph/DiscoGlyph.vue.d.ts +58 -0
- package/dist/components/custom/disco-glyph/index.d.ts +1 -0
- package/dist/components/custom/dock/DockDropdownTrigger.vue.d.ts +29 -0
- package/dist/components/custom/dock/DockIconButton.vue.d.ts +30 -0
- package/dist/components/custom/dock/DockLayer.vue.d.ts +34 -0
- package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +43 -0
- package/dist/components/custom/dock/DockSelectTrigger.vue.d.ts +29 -0
- package/dist/components/custom/dock/DockTabButton.vue.d.ts +39 -0
- package/dist/components/custom/dock/GlassDock.vue.d.ts +96 -0
- package/dist/components/custom/dock/composables/dockContext.d.ts +40 -0
- package/dist/components/custom/dock/composables/dockLayerContext.d.ts +29 -0
- package/dist/components/custom/dock/composables/index.d.ts +7 -0
- package/dist/components/custom/dock/composables/isTeleportedTarget.d.ts +9 -0
- package/dist/components/custom/dock/composables/useDockState.d.ts +70 -0
- package/dist/components/custom/dock/composables/useLayerTransition.d.ts +34 -0
- package/dist/components/custom/dock/index.d.ts +9 -0
- package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +40 -0
- package/dist/components/custom/glass-carousel/GlassCarousel.vue.d.ts +36 -0
- package/dist/components/custom/glass-carousel/GlassCarouselItem.vue.d.ts +28 -0
- package/dist/components/custom/glass-carousel/index.d.ts +4 -0
- package/dist/components/custom/glass-carousel/useGlassCarousel.d.ts +30 -0
- package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +41 -0
- package/dist/components/custom/glass-panel/index.d.ts +2 -0
- package/dist/components/custom/glyph-face/GlyphFace.vue.d.ts +64 -0
- package/dist/components/custom/glyph-face/index.d.ts +2 -0
- package/dist/components/custom/glyph-face/keys.d.ts +35 -0
- package/dist/components/custom/header-ribbon/HeaderRibbon.vue.d.ts +31 -0
- package/dist/components/custom/header-ribbon/index.d.ts +2 -0
- package/dist/components/custom/header-ribbon/types.d.ts +7 -0
- package/dist/components/custom/hover-popover/HoverPopover.vue.d.ts +71 -0
- package/dist/components/custom/hover-popover/index.d.ts +1 -0
- package/dist/components/custom/icon-tooltip/IconTooltip.vue.d.ts +16 -0
- package/dist/components/custom/infinite-scroll/InfiniteScroll.vue.d.ts +33 -0
- package/dist/components/custom/infinite-scroll/composables/types.d.ts +21 -0
- package/dist/components/custom/infinite-scroll/composables/useInfiniteScroll.d.ts +9 -0
- package/dist/components/custom/instrument-chassis/ChassisDivider.vue.d.ts +30 -0
- package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +82 -0
- package/dist/components/custom/instrument-chassis/index.d.ts +3 -0
- package/dist/components/custom/instrument-rail/InstrumentRail.vue.d.ts +91 -0
- package/dist/components/custom/instrument-rail/index.d.ts +2 -0
- package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +36 -0
- package/dist/components/custom/labeled-field/LabeledInput.vue.d.ts +15 -0
- package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +18 -0
- package/dist/components/custom/labeled-field/LabeledSlider.vue.d.ts +16 -0
- package/dist/components/custom/labeled-field/LabeledSwitch.vue.d.ts +13 -0
- package/dist/components/custom/labeled-field/index.d.ts +5 -0
- package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +39 -0
- package/dist/components/custom/metric-badge/index.d.ts +1 -0
- package/dist/components/custom/metric-cell/MetricCell.vue.d.ts +97 -0
- package/dist/components/custom/metric-cell/index.d.ts +2 -0
- package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +103 -0
- package/dist/components/custom/metric-stack/MetricStack.vue.d.ts +92 -0
- package/dist/components/custom/metric-stack/index.d.ts +4 -0
- package/dist/components/custom/paper-backdrop/PaperBackdrop.vue.d.ts +21 -0
- package/dist/components/custom/paper-backdrop/index.d.ts +2 -0
- package/dist/components/custom/pulse/Pulse.vue.d.ts +53 -0
- package/dist/components/custom/pulse/index.d.ts +1 -0
- package/dist/components/custom/responsive-tabs/ResponsiveTabs.vue.d.ts +67 -0
- package/dist/components/custom/responsive-tabs/index.d.ts +2 -0
- package/dist/components/custom/scrolling-text/ScrollingText.vue.d.ts +20 -0
- package/dist/components/custom/scrolling-text/index.d.ts +1 -0
- package/dist/components/custom/search/FuzzySearch.vue.d.ts +16 -0
- package/dist/components/custom/search/SearchBar.vue.d.ts +30 -0
- package/dist/components/custom/search/composables/fuzzySearchIndex.d.ts +42 -0
- package/dist/components/custom/search/composables/types.d.ts +31 -0
- package/dist/components/custom/search/composables/useFuzzySearch.d.ts +12 -0
- package/dist/components/custom/sortable-list/SortableHandle.vue.d.ts +32 -0
- package/dist/components/custom/sortable-list/SortableItem.vue.d.ts +38 -0
- package/dist/components/custom/sortable-list/SortableList.vue.d.ts +76 -0
- package/dist/components/custom/sortable-list/context.d.ts +26 -0
- package/dist/components/custom/sortable-list/index.d.ts +4 -0
- package/dist/components/custom/stacked-icons/StackedIconGroup.vue.d.ts +30 -0
- package/dist/components/custom/stacked-icons/index.d.ts +2 -0
- package/dist/components/custom/stacked-icons/types.d.ts +18 -0
- package/dist/components/custom/status-dot/StatusDot.vue.d.ts +18 -0
- package/dist/components/custom/status-dot/index.d.ts +1 -0
- package/dist/components/custom/tabs/BouncyTabs.vue.d.ts +24 -0
- package/dist/components/custom/tabs/BouncyToggle.vue.d.ts +56 -0
- package/dist/components/custom/tabs/UnderlineTabs.vue.d.ts +17 -0
- package/dist/components/custom/timeline/ContinuousTimeline.vue.d.ts +118 -0
- package/dist/components/custom/timeline/GlassTimeline.vue.d.ts +114 -0
- package/dist/components/custom/timeline/ScrubberTimeline.vue.d.ts +29 -0
- package/dist/components/custom/timeline/SegmentedTimeline.vue.d.ts +46 -0
- package/dist/components/custom/timeline/geometry.d.ts +100 -0
- package/dist/components/custom/timeline/index.d.ts +2 -0
- package/dist/components/custom/timeline/types.d.ts +57 -0
- package/dist/components/custom/toggle-chip/ToggleChip.vue.d.ts +39 -0
- package/dist/components/custom/toggle-chip/index.d.ts +17 -0
- package/dist/components/custom/typewriter/TypewriterText.vue.d.ts +85 -0
- package/dist/components/custom/typewriter/composables/useTypewriter.d.ts +22 -0
- package/dist/components/custom/typewriter/types.d.ts +137 -0
- package/dist/components/custom/typewriter/utils/keyboard.d.ts +15 -0
- package/dist/components/custom/typewriter/utils/pausePatterns.d.ts +28 -0
- package/dist/components/custom/typewriter/utils/timing.d.ts +17 -0
- package/dist/components/custom/typewriter/utils/typoStateMachine.d.ts +24 -0
- package/dist/components/ui/_shared/ModalOverlay.vue.d.ts +90 -0
- package/dist/components/ui/_shared/index.d.ts +2 -0
- package/dist/components/ui/_shared/menuItemVariants.d.ts +32 -0
- package/dist/components/ui/_shared/useStalePropWarning.d.ts +27 -0
- package/dist/components/ui/accordion/Accordion.vue.d.ts +19 -0
- package/dist/components/ui/accordion/AccordionContent.vue.d.ts +18 -0
- package/dist/components/ui/accordion/AccordionItem.vue.d.ts +18 -0
- package/dist/components/ui/accordion/AccordionTrigger.vue.d.ts +20 -0
- package/dist/components/ui/accordion/index.d.ts +4 -0
- package/dist/components/ui/alert/Alert.vue.d.ts +19 -0
- package/dist/components/ui/alert/AlertDescription.vue.d.ts +17 -0
- package/dist/components/ui/alert/AlertTitle.vue.d.ts +17 -0
- package/dist/components/ui/alert/index.d.ts +8 -0
- package/dist/components/ui/avatar/Avatar.vue.d.ts +23 -0
- package/dist/components/ui/avatar/AvatarFallback.vue.d.ts +14 -0
- package/dist/components/ui/avatar/AvatarImage.vue.d.ts +4 -0
- package/dist/components/ui/avatar/index.d.ts +9 -0
- package/dist/components/ui/badge/Badge.vue.d.ts +20 -0
- package/dist/components/ui/badge/index.d.ts +7 -0
- package/dist/components/ui/button/Button.vue.d.ts +23 -0
- package/dist/components/ui/button/index.d.ts +7 -0
- package/dist/components/ui/card/Card.vue.d.ts +56 -0
- package/dist/components/ui/card/CardContent.vue.d.ts +17 -0
- package/dist/components/ui/card/CardDescription.vue.d.ts +17 -0
- package/dist/components/ui/card/CardFooter.vue.d.ts +17 -0
- package/dist/components/ui/card/CardHeader.vue.d.ts +55 -0
- package/dist/components/ui/card/CardTitle.vue.d.ts +17 -0
- package/dist/components/ui/card/index.d.ts +6 -0
- package/dist/components/ui/carousel/Carousel.vue.d.ts +37 -0
- package/dist/components/ui/carousel/CarouselContent.vue.d.ts +16 -0
- package/dist/components/ui/carousel/CarouselDots.vue.d.ts +4 -0
- package/dist/components/ui/carousel/CarouselItem.vue.d.ts +14 -0
- package/dist/components/ui/carousel/CarouselNext.vue.d.ts +22 -0
- package/dist/components/ui/carousel/CarouselPager.vue.d.ts +10 -0
- package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +22 -0
- package/dist/components/ui/carousel/GlassCarouselPager.vue.d.ts +51 -0
- package/dist/components/ui/carousel/index.d.ts +10 -0
- package/dist/components/ui/carousel/interface.d.ts +20 -0
- package/dist/components/ui/carousel/useCarousel.d.ts +20 -0
- package/dist/components/ui/checkbox/Checkbox.vue.d.ts +22 -0
- package/dist/components/ui/checkbox/index.d.ts +1 -0
- package/dist/components/ui/collapsible/Collapsible.vue.d.ts +20 -0
- package/dist/components/ui/collapsible/CollapsibleContent.vue.d.ts +14 -0
- package/dist/components/ui/collapsible/CollapsibleTrigger.vue.d.ts +14 -0
- package/dist/components/ui/collapsible/index.d.ts +3 -0
- package/dist/components/ui/combobox/Combobox.vue.d.ts +29 -0
- package/dist/components/ui/combobox/ComboboxAnchor.vue.d.ts +18 -0
- package/dist/components/ui/combobox/ComboboxEmpty.vue.d.ts +18 -0
- package/dist/components/ui/combobox/ComboboxGroup.vue.d.ts +19 -0
- package/dist/components/ui/combobox/ComboboxInput.vue.d.ts +22 -0
- package/dist/components/ui/combobox/ComboboxItem.vue.d.ts +22 -0
- package/dist/components/ui/combobox/ComboboxItemIndicator.vue.d.ts +18 -0
- package/dist/components/ui/combobox/ComboboxList.vue.d.ts +32 -0
- package/dist/components/ui/combobox/ComboboxSeparator.vue.d.ts +18 -0
- package/dist/components/ui/combobox/ComboboxViewport.vue.d.ts +18 -0
- package/dist/components/ui/combobox/index.d.ts +11 -0
- package/dist/components/ui/command/Command.vue.d.ts +35 -0
- package/dist/components/ui/command/CommandDialog.vue.d.ts +18 -0
- package/dist/components/ui/command/CommandEmpty.vue.d.ts +18 -0
- package/dist/components/ui/command/CommandGroup.vue.d.ts +19 -0
- package/dist/components/ui/command/CommandInput.vue.d.ts +8 -0
- package/dist/components/ui/command/CommandItem.vue.d.ts +22 -0
- package/dist/components/ui/command/CommandList.vue.d.ts +30 -0
- package/dist/components/ui/command/CommandSeparator.vue.d.ts +18 -0
- package/dist/components/ui/command/CommandShortcut.vue.d.ts +17 -0
- package/dist/components/ui/command/index.d.ts +9 -0
- package/dist/components/ui/context-menu/ContextMenu.vue.d.ts +18 -0
- package/dist/components/ui/context-menu/ContextMenuCheckboxItem.vue.d.ts +24 -0
- package/dist/components/ui/context-menu/ContextMenuContent.vue.d.ts +30 -0
- package/dist/components/ui/context-menu/ContextMenuItem.vue.d.ts +23 -0
- package/dist/components/ui/context-menu/ContextMenuLabel.vue.d.ts +19 -0
- package/dist/components/ui/context-menu/ContextMenuRadioGroup.vue.d.ts +18 -0
- package/dist/components/ui/context-menu/ContextMenuRadioItem.vue.d.ts +22 -0
- package/dist/components/ui/context-menu/ContextMenuSeparator.vue.d.ts +8 -0
- package/dist/components/ui/context-menu/ContextMenuShortcut.vue.d.ts +17 -0
- package/dist/components/ui/context-menu/ContextMenuSubContent.vue.d.ts +34 -0
- package/dist/components/ui/context-menu/ContextMenuSubTrigger.vue.d.ts +19 -0
- package/dist/components/ui/context-menu/ContextMenuTrigger.vue.d.ts +14 -0
- package/dist/components/ui/context-menu/index.d.ts +12 -0
- package/dist/components/ui/data-table/DataTable.vue.d.ts +81 -0
- package/dist/components/ui/data-table/DataTablePagination.vue.d.ts +13 -0
- package/dist/components/ui/data-table/types.d.ts +56 -0
- package/dist/components/ui/dialog/Dialog.vue.d.ts +18 -0
- package/dist/components/ui/dialog/DialogClose.vue.d.ts +14 -0
- package/dist/components/ui/dialog/DialogContent.vue.d.ts +71 -0
- package/dist/components/ui/dialog/DialogDescription.vue.d.ts +18 -0
- package/dist/components/ui/dialog/DialogFooter.vue.d.ts +17 -0
- package/dist/components/ui/dialog/DialogHeader.vue.d.ts +17 -0
- package/dist/components/ui/dialog/DialogScrollContent.vue.d.ts +33 -0
- package/dist/components/ui/dialog/DialogTitle.vue.d.ts +18 -0
- package/dist/components/ui/dialog/DialogTrigger.vue.d.ts +14 -0
- package/dist/components/ui/dialog/index.d.ts +9 -0
- package/dist/components/ui/drawer/Drawer.vue.d.ts +30 -0
- package/dist/components/ui/drawer/DrawerContent.vue.d.ts +32 -0
- package/dist/components/ui/drawer/DrawerDescription.vue.d.ts +18 -0
- package/dist/components/ui/drawer/DrawerFooter.vue.d.ts +17 -0
- package/dist/components/ui/drawer/DrawerHeader.vue.d.ts +17 -0
- package/dist/components/ui/drawer/DrawerOverlay.vue.d.ts +8 -0
- package/dist/components/ui/drawer/DrawerTitle.vue.d.ts +18 -0
- package/dist/components/ui/drawer/index.d.ts +8 -0
- package/dist/components/ui/dropdown-menu/DropdownMenu.vue.d.ts +18 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue.d.ts +24 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +32 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuGroup.vue.d.ts +14 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuItem.vue.d.ts +19 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuLabel.vue.d.ts +19 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue.d.ts +18 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuRadioItem.vue.d.ts +22 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuSeparator.vue.d.ts +8 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuShortcut.vue.d.ts +17 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuSub.vue.d.ts +18 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +34 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue.d.ts +18 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuTrigger.vue.d.ts +14 -0
- package/dist/components/ui/dropdown-menu/index.d.ts +15 -0
- package/dist/components/ui/hover-card/HoverCard.vue.d.ts +18 -0
- package/dist/components/ui/hover-card/HoverCardContent.vue.d.ts +20 -0
- package/dist/components/ui/hover-card/HoverCardTrigger.vue.d.ts +14 -0
- package/dist/components/ui/hover-card/index.d.ts +3 -0
- package/dist/components/ui/index.d.ts +41 -0
- package/dist/components/ui/input/Input.vue.d.ts +13 -0
- package/dist/components/ui/input/index.d.ts +1 -0
- package/dist/components/ui/label/Label.vue.d.ts +18 -0
- package/dist/components/ui/label/index.d.ts +1 -0
- package/dist/components/ui/metric-pill/MetricPill.vue.d.ts +43 -0
- package/dist/components/ui/metric-pill/index.d.ts +1 -0
- package/dist/components/ui/multi-select/MultiSelect.vue.d.ts +24 -0
- package/dist/components/ui/multi-select/index.d.ts +7 -0
- package/dist/components/ui/notification/Notification.vue.d.ts +16 -0
- package/dist/components/ui/notification/index.d.ts +1 -0
- package/dist/components/ui/number-field/NumberField.vue.d.ts +22 -0
- package/dist/components/ui/number-field/NumberFieldContent.vue.d.ts +17 -0
- package/dist/components/ui/number-field/NumberFieldDecrement.vue.d.ts +18 -0
- package/dist/components/ui/number-field/NumberFieldIncrement.vue.d.ts +18 -0
- package/dist/components/ui/number-field/NumberFieldInput.vue.d.ts +3 -0
- package/dist/components/ui/number-field/index.d.ts +5 -0
- package/dist/components/ui/popover/Popover.vue.d.ts +18 -0
- package/dist/components/ui/popover/PopoverContent.vue.d.ts +39 -0
- package/dist/components/ui/popover/PopoverTrigger.vue.d.ts +14 -0
- package/dist/components/ui/popover/index.d.ts +3 -0
- package/dist/components/ui/progress/Progress.vue.d.ts +111 -0
- package/dist/components/ui/progress/index.d.ts +2 -0
- package/dist/components/ui/radio-group/RadioGroup.vue.d.ts +22 -0
- package/dist/components/ui/radio-group/RadioGroupItem.vue.d.ts +8 -0
- package/dist/components/ui/radio-group/index.d.ts +2 -0
- package/dist/components/ui/section/Section.vue.d.ts +73 -0
- package/dist/components/ui/section/index.d.ts +1 -0
- package/dist/components/ui/select/Select.vue.d.ts +21 -0
- package/dist/components/ui/select/SelectContent.vue.d.ts +30 -0
- package/dist/components/ui/select/SelectGroup.vue.d.ts +18 -0
- package/dist/components/ui/select/SelectItem.vue.d.ts +21 -0
- package/dist/components/ui/select/SelectLabel.vue.d.ts +18 -0
- package/dist/components/ui/select/SelectScrollDownButton.vue.d.ts +18 -0
- package/dist/components/ui/select/SelectScrollUpButton.vue.d.ts +18 -0
- package/dist/components/ui/select/SelectSeparator.vue.d.ts +8 -0
- package/dist/components/ui/select/SelectTrigger.vue.d.ts +22 -0
- package/dist/components/ui/select/SelectValue.vue.d.ts +14 -0
- package/dist/components/ui/select/index.d.ts +10 -0
- package/dist/components/ui/separator/Separator.vue.d.ts +9 -0
- package/dist/components/ui/separator/index.d.ts +1 -0
- package/dist/components/ui/sheet/Sheet.vue.d.ts +18 -0
- package/dist/components/ui/sheet/SheetClose.vue.d.ts +14 -0
- package/dist/components/ui/sheet/SheetContent.vue.d.ts +53 -0
- package/dist/components/ui/sheet/SheetDescription.vue.d.ts +18 -0
- package/dist/components/ui/sheet/SheetFooter.vue.d.ts +17 -0
- package/dist/components/ui/sheet/SheetHeader.vue.d.ts +17 -0
- package/dist/components/ui/sheet/SheetTitle.vue.d.ts +18 -0
- package/dist/components/ui/sheet/SheetTrigger.vue.d.ts +14 -0
- package/dist/components/ui/sheet/index.d.ts +13 -0
- package/dist/components/ui/skeleton/Skeleton.vue.d.ts +32 -0
- package/dist/components/ui/skeleton/index.d.ts +1 -0
- package/dist/components/ui/slider/Slider.vue.d.ts +26 -0
- package/dist/components/ui/slider/index.d.ts +31 -0
- package/dist/components/ui/switch/Switch.vue.d.ts +12 -0
- package/dist/components/ui/switch/index.d.ts +1 -0
- package/dist/components/ui/table/Table.vue.d.ts +17 -0
- package/dist/components/ui/table/TableBody.vue.d.ts +17 -0
- package/dist/components/ui/table/TableCaption.vue.d.ts +17 -0
- package/dist/components/ui/table/TableCell.vue.d.ts +17 -0
- package/dist/components/ui/table/TableEmpty.vue.d.ts +20 -0
- package/dist/components/ui/table/TableHead.vue.d.ts +17 -0
- package/dist/components/ui/table/TableHeader.vue.d.ts +17 -0
- package/dist/components/ui/table/TableRow.vue.d.ts +17 -0
- package/dist/components/ui/table/index.d.ts +8 -0
- package/dist/components/ui/tabs/Tabs.vue.d.ts +19 -0
- package/dist/components/ui/tabs/TabsContent.vue.d.ts +18 -0
- package/dist/components/ui/tabs/TabsIndicator.vue.d.ts +8 -0
- package/dist/components/ui/tabs/TabsList.vue.d.ts +18 -0
- package/dist/components/ui/tabs/TabsTrigger.vue.d.ts +18 -0
- package/dist/components/ui/tabs/index.d.ts +5 -0
- package/dist/components/ui/tags-input/TagsInput.vue.d.ts +28 -0
- package/dist/components/ui/tags-input/TagsInputInput.vue.d.ts +8 -0
- package/dist/components/ui/tags-input/TagsInputItem.vue.d.ts +18 -0
- package/dist/components/ui/tags-input/TagsInputItemDelete.vue.d.ts +18 -0
- package/dist/components/ui/tags-input/TagsInputItemText.vue.d.ts +8 -0
- package/dist/components/ui/tags-input/index.d.ts +5 -0
- package/dist/components/ui/textarea/Textarea.vue.d.ts +13 -0
- package/dist/components/ui/textarea/index.d.ts +1 -0
- package/dist/components/ui/toast/Toast.vue.d.ts +104 -0
- package/dist/components/ui/toast/ToastAction.vue.d.ts +18 -0
- package/dist/components/ui/toast/ToastClose.vue.d.ts +8 -0
- package/dist/components/ui/toast/ToastDescription.vue.d.ts +18 -0
- package/dist/components/ui/toast/ToastTitle.vue.d.ts +18 -0
- package/dist/components/ui/toast/Toaster.vue.d.ts +3 -0
- package/dist/components/ui/toast/index.d.ts +8 -0
- package/dist/components/ui/toast/use-toast.d.ts +155 -0
- package/dist/components/ui/toggle/Toggle.vue.d.ts +29 -0
- package/dist/components/ui/toggle/index.d.ts +26 -0
- package/dist/components/ui/toggle-group/ToggleGroup.vue.d.ts +25 -0
- package/dist/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +21 -0
- package/dist/components/ui/toggle-group/index.d.ts +2 -0
- package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +21 -0
- package/dist/components/ui/tooltip/Tooltip.vue.d.ts +18 -0
- package/dist/components/ui/tooltip/TooltipContent.vue.d.ts +26 -0
- package/dist/components/ui/tooltip/TooltipProvider.vue.d.ts +14 -0
- package/dist/components/ui/tooltip/TooltipTrigger.vue.d.ts +14 -0
- package/dist/components/ui/tooltip/index.d.ts +4 -0
- package/dist/composables/dark/index.d.ts +1 -0
- package/dist/composables/dark/useGlobalDark.d.ts +7 -0
- package/dist/composables/dom/index.d.ts +6 -0
- package/dist/composables/dom/useBreakpoint.d.ts +38 -0
- package/dist/composables/dom/useClipboard.d.ts +45 -0
- package/dist/composables/dom/useResizeObserver.d.ts +50 -0
- package/dist/composables/dom/useTokenColor.d.ts +27 -0
- package/dist/composables/dom/useTouchGate.d.ts +18 -0
- package/dist/composables/dom/useViewportReady.d.ts +87 -0
- package/dist/composables/glass/index.d.ts +1 -0
- package/dist/composables/glass/useGlassRenderer.d.ts +37 -0
- package/dist/composables/glass/webgl/frostShader.d.ts +27 -0
- package/dist/composables/index.d.ts +9 -0
- package/dist/composables/keyboard/index.d.ts +1 -0
- package/dist/composables/keyboard/useKeyboardShortcuts.d.ts +33 -0
- package/dist/composables/motion/constants.d.ts +19 -0
- package/dist/composables/motion/index.d.ts +14 -0
- package/dist/composables/motion/installDarkModeSync.d.ts +1 -0
- package/dist/composables/motion/useAnimatedNumber.d.ts +40 -0
- package/dist/composables/motion/useAnimatedNumberMap.d.ts +29 -0
- package/dist/composables/motion/useIntersectionPause.d.ts +33 -0
- package/dist/composables/motion/useNumericTransition.d.ts +32 -0
- package/dist/composables/motion/useRAFLoop.d.ts +43 -0
- package/dist/composables/motion/useScrollProgress.d.ts +23 -0
- package/dist/composables/motion/useSpring.d.ts +66 -0
- package/dist/composables/motion/useSpringMount.d.ts +52 -0
- package/dist/composables/motion/useSpringOrchestrator.d.ts +15 -0
- package/dist/composables/motion/useSpringPress.d.ts +46 -0
- package/dist/composables/motion/useStagger.d.ts +50 -0
- package/dist/composables/motion/useStaggerReveal.d.ts +22 -0
- package/dist/composables/reactive/index.d.ts +2 -0
- package/dist/composables/reactive/useInterval.d.ts +24 -0
- package/dist/composables/reactive/useTimer.d.ts +24 -0
- package/dist/composables/sidebar/index.d.ts +7 -0
- package/dist/composables/sidebar/types.d.ts +44 -0
- package/dist/composables/sidebar/useScrollTracker.d.ts +12 -0
- package/dist/composables/sidebar/useSidebarFollow.d.ts +16 -0
- package/dist/composables/sidebar/useSidebarState.d.ts +39 -0
- package/dist/composables/sidebar/useTreeIndex.d.ts +37 -0
- package/dist/composables/sortable/index.d.ts +1 -0
- package/dist/composables/sortable/useSortable.d.ts +149 -0
- package/dist/configurator.d.ts +1 -0
- package/dist/configurator.js +2 -0
- package/dist/confirm-dialog.d.ts +1 -0
- package/dist/confirm-dialog.js +69 -0
- package/dist/context-menu.d.ts +1 -0
- package/dist/context-menu.js +3 -0
- package/dist/controls.d.ts +1 -0
- package/dist/controls.js +51 -0
- package/dist/createLucideIcon-Bn9a1b70.js +43 -0
- package/dist/dark.d.ts +1 -0
- package/dist/dark.js +2 -0
- package/dist/data-table.d.ts +1 -0
- package/dist/data-table.js +2 -0
- package/dist/dialog.d.ts +1 -0
- package/dist/dialog.js +3 -0
- package/dist/disco-glyph.d.ts +1 -0
- package/dist/disco-glyph.js +2 -0
- package/dist/dock.d.ts +1 -0
- package/dist/dock.js +548 -0
- package/dist/dockContext-BDGSrwsV.js +16 -0
- package/dist/dom.d.ts +1 -0
- package/dist/dom.js +4 -0
- package/dist/dropdown-menu-2K-SGkZU.js +363 -0
- package/dist/dropdown-menu.d.ts +1 -0
- package/dist/dropdown-menu.js +2 -0
- package/dist/expandable-container.d.ts +1 -0
- package/dist/expandable-container.js +64 -0
- package/dist/fonts/README.md +95 -0
- package/dist/fonts/fira-code/OFL.txt +93 -0
- package/dist/fonts/fira-code/fira-code-latin-ext.woff2 +0 -0
- package/dist/fonts/fira-code/fira-code-latin.woff2 +0 -0
- package/dist/fonts/plus-jakarta-sans/OFL.txt +93 -0
- package/dist/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-ext.woff2 +0 -0
- package/dist/fonts/plus-jakarta-sans/plus-jakarta-sans-latin.woff2 +0 -0
- package/dist/forms.d.ts +3 -0
- package/dist/forms.js +311 -0
- package/dist/glass-carousel.d.ts +1 -0
- package/dist/glass-carousel.js +207 -0
- package/dist/glass-panel.d.ts +1 -0
- package/dist/glass-panel.js +44 -0
- package/dist/glass-ui.css +2 -1
- package/dist/glass-ui.js +1150 -10018
- package/dist/glyph-face.d.ts +1 -0
- package/dist/glyph-face.js +3 -0
- package/dist/header-ribbon.d.ts +1 -0
- package/dist/header-ribbon.js +63 -0
- package/dist/hover-card.d.ts +1 -0
- package/dist/hover-card.js +2 -0
- package/dist/hover-popover.d.ts +1 -0
- package/dist/hover-popover.js +2 -0
- package/dist/icon-tooltip.d.ts +1 -0
- package/dist/icon-tooltip.js +2 -0
- package/dist/index.d.ts +49 -6619
- package/dist/infinite-scroll.d.ts +2 -0
- package/dist/infinite-scroll.js +73 -0
- package/dist/instrument-chassis.d.ts +1 -0
- package/dist/instrument-chassis.js +2 -0
- package/dist/instrument-rail.d.ts +1 -0
- package/dist/instrument-rail.js +2 -0
- package/dist/keyboard.d.ts +1 -0
- package/dist/keyboard.js +2 -0
- package/dist/keys-DVkcUktU.js +11 -0
- package/dist/label.d.ts +1 -0
- package/dist/label.js +2 -0
- package/dist/labeled-field.d.ts +1 -0
- package/dist/labeled-field.js +194 -0
- package/dist/menuItemVariants-B2nDL7zH.js +30 -0
- package/dist/metric-badge.d.ts +1 -0
- package/dist/metric-badge.js +2 -0
- package/dist/metric-cell.d.ts +1 -0
- package/dist/metric-cell.js +54 -0
- package/dist/metric-stack.d.ts +1 -0
- package/dist/metric-stack.js +107 -0
- package/dist/minimize-2-LsCJ_eNt.js +38 -0
- package/dist/motion.d.ts +1 -0
- package/dist/motion.js +286 -0
- package/dist/notification.d.ts +1 -0
- package/dist/notification.js +2 -0
- package/dist/paper-backdrop.d.ts +1 -0
- package/dist/paper-backdrop.js +2 -0
- package/dist/popover.d.ts +1 -0
- package/dist/popover.js +2 -0
- package/dist/presets-BMzCDrmR.js +71 -0
- package/dist/progress.d.ts +1 -0
- package/dist/progress.js +2 -0
- package/dist/pulse.d.ts +1 -0
- package/dist/pulse.js +54 -0
- package/dist/reactive.d.ts +1 -0
- package/dist/reactive.js +3 -0
- package/dist/responsive-tabs.d.ts +1 -0
- package/dist/responsive-tabs.js +89 -0
- package/dist/scrolling-text.d.ts +1 -0
- package/dist/scrolling-text.js +2 -0
- package/dist/search-ocd8tmL9.js +12 -0
- package/dist/search.d.ts +1 -0
- package/dist/search.js +425 -0
- package/dist/select.d.ts +1 -0
- package/dist/select.js +4 -0
- package/dist/separator.d.ts +1 -0
- package/dist/separator.js +2 -0
- package/dist/sheet-CLVkb3AO.js +214 -0
- package/dist/sheet.d.ts +1 -0
- package/dist/sheet.js +2 -0
- package/dist/sidebar.d.ts +1 -0
- package/dist/sidebar.js +304 -0
- package/dist/slider-BQaLYFLh.js +133 -0
- package/dist/slider.d.ts +1 -0
- package/dist/slider.js +2 -0
- package/dist/sortable-list.d.ts +1 -0
- package/dist/sortable-list.js +82 -0
- package/dist/stacked-icons.d.ts +1 -0
- package/dist/stacked-icons.js +83 -0
- package/dist/status-dot.d.ts +1 -0
- package/dist/status-dot.js +55 -0
- package/dist/styles/animations.css +298 -0
- package/dist/styles/cards.css +44 -0
- package/dist/styles/disco-glyph.css +26 -0
- package/dist/styles/dock.css +1085 -0
- package/dist/styles/floating-panel.css +34 -0
- package/dist/styles/fonts.css +143 -0
- package/dist/styles/glass.css +277 -0
- package/dist/styles/glyph-face.css +92 -0
- package/dist/styles/hover-popover.css +44 -0
- package/dist/styles/index.css +96 -0
- package/dist/styles/instrument-chassis.css +313 -0
- package/dist/styles/instrument-rail.css +128 -0
- package/dist/styles/paper.css +68 -0
- package/dist/styles/theme.css +358 -0
- package/dist/styles/tokens.css +1495 -0
- package/dist/styles/transitions.css +245 -0
- package/dist/styles/typography.css +553 -0
- package/dist/styles/utilities.css +893 -0
- package/dist/tabs.d.ts +1 -0
- package/dist/tabs.js +206 -0
- package/dist/timeline.d.ts +1 -0
- package/dist/timeline.js +466 -0
- package/dist/toast.d.ts +1 -0
- package/dist/toast.js +2 -0
- package/dist/toggle-chip.d.ts +1 -0
- package/dist/toggle-chip.js +71 -0
- package/dist/toggle-group.d.ts +1 -0
- package/dist/toggle-group.js +2 -0
- package/dist/tokens.d.ts +53 -0
- package/dist/tokens.js +16 -0
- package/dist/tooltip.d.ts +1 -0
- package/dist/tooltip.js +2 -0
- package/dist/typewriter.d.ts +1 -0
- package/dist/typewriter.js +860 -0
- package/dist/useAnimatedNumber-DcvTR9B4.js +51 -0
- package/dist/useBreakpoint-BHlX-MhR.js +134 -0
- package/dist/useConfiguratorState-BlaevW0S.js +266 -0
- package/dist/useGlassRenderer-DMDdMH55.js +69 -0
- package/dist/useGlobalDark-PMiP5Jku.js +24 -0
- package/dist/useIntersectionPause-CXYfYg_C.js +39 -0
- package/dist/useInterval-COlTCeVa.js +18 -0
- package/dist/useKeyboardShortcuts-B1ev1YEC.js +99 -0
- package/dist/useResizeObserver-F4aRR4Cj.js +44 -0
- package/dist/useSortable-Ck0rBJ4g.js +175 -0
- package/dist/useSpringMount-BTRBNzXP.js +113 -0
- package/dist/useTimer-lp5NlH4w.js +20 -0
- package/dist/useTouchGate-BhhEMlwJ.js +84 -0
- package/dist/utils/cn.d.ts +27 -0
- package/dist/x-cdWAmO-q.js +10 -0
- package/package.json +514 -26
- package/src/fonts/README.md +95 -0
- package/src/fonts/fira-code/OFL.txt +93 -0
- package/src/fonts/fira-code/fira-code-latin-ext.woff2 +0 -0
- package/src/fonts/fira-code/fira-code-latin.woff2 +0 -0
- package/src/fonts/plus-jakarta-sans/OFL.txt +93 -0
- package/src/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-ext.woff2 +0 -0
- package/src/fonts/plus-jakarta-sans/plus-jakarta-sans-latin.woff2 +0 -0
- package/src/styles/animations.css +172 -107
- package/src/styles/cards.css +30 -52
- package/src/styles/disco-glyph.css +26 -0
- package/src/styles/dock.css +991 -127
- package/src/styles/floating-panel.css +22 -37
- package/src/styles/fonts.css +143 -0
- package/src/styles/glass.css +131 -120
- package/src/styles/glyph-face.css +92 -0
- package/src/styles/hover-popover.css +44 -0
- package/src/styles/index.css +73 -3
- package/src/styles/instrument-chassis.css +313 -0
- package/src/styles/instrument-rail.css +128 -0
- package/src/styles/paper.css +68 -0
- package/src/styles/theme.css +292 -72
- package/src/styles/tokens.css +1345 -183
- package/src/styles/transitions.css +227 -208
- package/src/styles/typography.css +498 -222
- package/src/styles/utilities.css +629 -433
- package/src/components/custom/aurora/Aurora.vue +0 -34
- package/src/components/custom/aurora/composables/color.ts +0 -122
- package/src/components/custom/aurora/composables/useAurora.ts +0 -355
- package/src/components/custom/aurora/index.ts +0 -8
- package/src/components/custom/confirm-dialog/ConfirmDialog.vue +0 -88
- package/src/components/custom/controls/DarkModeToggle.vue +0 -96
- package/src/components/custom/dock/DockLayerGroup.vue +0 -21
- package/src/components/custom/dock/DockPopover.vue +0 -263
- package/src/components/custom/dock/GlassDock.vue +0 -276
- package/src/components/custom/dock/composables/index.ts +0 -16
- package/src/components/custom/dock/composables/isTeleportedTarget.ts +0 -19
- package/src/components/custom/dock/composables/useDockActionBar.ts +0 -33
- package/src/components/custom/dock/composables/useDockState.ts +0 -301
- package/src/components/custom/dock/composables/useDockTransition.ts +0 -146
- package/src/components/custom/dock/composables/useLayerTransition.ts +0 -135
- package/src/components/custom/dock/composables/usePopupMutex.ts +0 -83
- package/src/components/custom/dock/index.ts +0 -9
- package/src/components/custom/expandable-container/ExpandableContainer.vue +0 -64
- package/src/components/custom/glass-panel/GlassPanel.vue +0 -98
- package/src/components/custom/glass-panel/index.ts +0 -2
- package/src/components/custom/icon-tooltip/IconTooltip.vue +0 -20
- package/src/components/custom/index.ts +0 -15
- package/src/components/custom/infinite-scroll/InfiniteScroll.vue +0 -55
- package/src/components/custom/infinite-scroll/composables/types.ts +0 -23
- package/src/components/custom/infinite-scroll/composables/useInfiniteScroll.ts +0 -73
- package/src/components/custom/labeled-field/LabeledInput.vue +0 -29
- package/src/components/custom/labeled-field/LabeledSelect.vue +0 -59
- package/src/components/custom/labeled-field/LabeledSlider.vue +0 -32
- package/src/components/custom/labeled-field/LabeledSwitch.vue +0 -27
- package/src/components/custom/labeled-field/index.ts +0 -4
- package/src/components/custom/metaballs/MetaballCanvas.vue +0 -23
- package/src/components/custom/metaballs/index.ts +0 -4
- package/src/components/custom/metaballs/shaders.ts +0 -63
- package/src/components/custom/metaballs/types.ts +0 -29
- package/src/components/custom/metaballs/useMetaballs.ts +0 -252
- package/src/components/custom/search/FuzzySearch.vue +0 -589
- package/src/components/custom/search/SearchBar.vue +0 -44
- package/src/components/custom/search/composables/fuzzySearchIndex.ts +0 -224
- package/src/components/custom/search/composables/types.ts +0 -34
- package/src/components/custom/search/composables/useFuzzySearch.ts +0 -115
- package/src/components/custom/sidebar/ProgressiveSidebar.vue +0 -256
- package/src/components/custom/sidebar/composables/index.ts +0 -6
- package/src/components/custom/sidebar/composables/useScrollTracker.ts +0 -242
- package/src/components/custom/sidebar/composables/useSidebarFollow.ts +0 -247
- package/src/components/custom/sidebar/composables/useSidebarState.ts +0 -72
- package/src/components/custom/sidebar/composables/useTreeIndex.ts +0 -152
- package/src/components/custom/sidebar/index.ts +0 -15
- package/src/components/custom/sidebar/types.ts +0 -50
- package/src/components/custom/tabs/BouncyTabs.vue +0 -39
- package/src/components/custom/tabs/BouncyToggle.vue +0 -352
- package/src/components/custom/tabs/UnderlineTabs.vue +0 -115
- package/src/components/custom/timeline/GlassTimeline.vue +0 -174
- package/src/components/custom/timeline/index.ts +0 -1
- package/src/components/custom/typewriter/TypewriterText.vue +0 -239
- package/src/components/custom/typewriter/composables/useTypewriter.ts +0 -413
- package/src/components/custom/typewriter/types.ts +0 -159
- package/src/components/custom/typewriter/utils/keyboard.ts +0 -213
- package/src/components/custom/typewriter/utils/pausePatterns.ts +0 -55
- package/src/components/custom/typewriter/utils/timing.ts +0 -104
- package/src/components/custom/typewriter/utils/typoStateMachine.ts +0 -197
- package/src/components/index.ts +0 -2
- package/src/components/ui/accordion/Accordion.vue +0 -19
- package/src/components/ui/accordion/AccordionContent.vue +0 -24
- package/src/components/ui/accordion/AccordionItem.vue +0 -24
- package/src/components/ui/accordion/AccordionTrigger.vue +0 -39
- package/src/components/ui/accordion/index.ts +0 -4
- package/src/components/ui/alert/Alert.vue +0 -20
- package/src/components/ui/alert/AlertDescription.vue +0 -17
- package/src/components/ui/alert/AlertTitle.vue +0 -17
- package/src/components/ui/alert/index.ts +0 -23
- package/src/components/ui/avatar/Avatar.vue +0 -21
- package/src/components/ui/avatar/AvatarFallback.vue +0 -11
- package/src/components/ui/avatar/AvatarImage.vue +0 -9
- package/src/components/ui/avatar/index.ts +0 -24
- package/src/components/ui/badge/Badge.vue +0 -16
- package/src/components/ui/badge/index.ts +0 -25
- package/src/components/ui/button/Button.vue +0 -26
- package/src/components/ui/button/index.ts +0 -43
- package/src/components/ui/card/Card.vue +0 -28
- package/src/components/ui/card/CardContent.vue +0 -14
- package/src/components/ui/card/CardDescription.vue +0 -14
- package/src/components/ui/card/CardFooter.vue +0 -14
- package/src/components/ui/card/CardHeader.vue +0 -14
- package/src/components/ui/card/CardTitle.vue +0 -21
- package/src/components/ui/card/index.ts +0 -6
- package/src/components/ui/carousel/Carousel.vue +0 -53
- package/src/components/ui/carousel/CarouselContent.vue +0 -35
- package/src/components/ui/carousel/CarouselItem.vue +0 -24
- package/src/components/ui/carousel/CarouselNext.vue +0 -40
- package/src/components/ui/carousel/CarouselPrevious.vue +0 -40
- package/src/components/ui/carousel/index.ts +0 -10
- package/src/components/ui/carousel/interface.ts +0 -26
- package/src/components/ui/carousel/useCarousel.ts +0 -56
- package/src/components/ui/checkbox/Checkbox.vue +0 -33
- package/src/components/ui/checkbox/index.ts +0 -1
- package/src/components/ui/collapsible/Collapsible.vue +0 -15
- package/src/components/ui/collapsible/CollapsibleContent.vue +0 -11
- package/src/components/ui/collapsible/CollapsibleTrigger.vue +0 -11
- package/src/components/ui/collapsible/index.ts +0 -3
- package/src/components/ui/combobox/Combobox.vue +0 -17
- package/src/components/ui/combobox/ComboboxAnchor.vue +0 -23
- package/src/components/ui/combobox/ComboboxEmpty.vue +0 -21
- package/src/components/ui/combobox/ComboboxGroup.vue +0 -27
- package/src/components/ui/combobox/ComboboxInput.vue +0 -41
- package/src/components/ui/combobox/ComboboxItem.vue +0 -24
- package/src/components/ui/combobox/ComboboxItemIndicator.vue +0 -23
- package/src/components/ui/combobox/ComboboxList.vue +0 -29
- package/src/components/ui/combobox/ComboboxSeparator.vue +0 -21
- package/src/components/ui/combobox/ComboboxViewport.vue +0 -23
- package/src/components/ui/combobox/index.ts +0 -12
- package/src/components/ui/command/Command.vue +0 -30
- package/src/components/ui/command/CommandDialog.vue +0 -21
- package/src/components/ui/command/CommandEmpty.vue +0 -20
- package/src/components/ui/command/CommandGroup.vue +0 -29
- package/src/components/ui/command/CommandInput.vue +0 -33
- package/src/components/ui/command/CommandItem.vue +0 -26
- package/src/components/ui/command/CommandList.vue +0 -27
- package/src/components/ui/command/CommandSeparator.vue +0 -23
- package/src/components/ui/command/CommandShortcut.vue +0 -14
- package/src/components/ui/command/index.ts +0 -9
- package/src/components/ui/context-menu/ContextMenu.vue +0 -15
- package/src/components/ui/context-menu/ContextMenuCheckboxItem.vue +0 -40
- package/src/components/ui/context-menu/ContextMenuContent.vue +0 -36
- package/src/components/ui/context-menu/ContextMenuGroup.vue +0 -11
- package/src/components/ui/context-menu/ContextMenuItem.vue +0 -34
- package/src/components/ui/context-menu/ContextMenuLabel.vue +0 -25
- package/src/components/ui/context-menu/ContextMenuPortal.vue +0 -11
- package/src/components/ui/context-menu/ContextMenuRadioGroup.vue +0 -19
- package/src/components/ui/context-menu/ContextMenuRadioItem.vue +0 -40
- package/src/components/ui/context-menu/ContextMenuSeparator.vue +0 -20
- package/src/components/ui/context-menu/ContextMenuShortcut.vue +0 -14
- package/src/components/ui/context-menu/ContextMenuSub.vue +0 -19
- package/src/components/ui/context-menu/ContextMenuSubContent.vue +0 -35
- package/src/components/ui/context-menu/ContextMenuSubTrigger.vue +0 -34
- package/src/components/ui/context-menu/ContextMenuTrigger.vue +0 -13
- package/src/components/ui/context-menu/index.ts +0 -14
- package/src/components/ui/data-table/DataTable.vue +0 -167
- package/src/components/ui/data-table/DataTablePagination.vue +0 -112
- package/src/components/ui/data-table/types.ts +0 -48
- package/src/components/ui/dialog/Dialog.vue +0 -14
- package/src/components/ui/dialog/DialogClose.vue +0 -11
- package/src/components/ui/dialog/DialogContent.vue +0 -61
- package/src/components/ui/dialog/DialogDescription.vue +0 -24
- package/src/components/ui/dialog/DialogFooter.vue +0 -19
- package/src/components/ui/dialog/DialogHeader.vue +0 -16
- package/src/components/ui/dialog/DialogScrollContent.vue +0 -65
- package/src/components/ui/dialog/DialogTitle.vue +0 -29
- package/src/components/ui/dialog/DialogTrigger.vue +0 -11
- package/src/components/ui/dialog/index.ts +0 -9
- package/src/components/ui/drawer/Drawer.vue +0 -19
- package/src/components/ui/drawer/DrawerContent.vue +0 -28
- package/src/components/ui/drawer/DrawerDescription.vue +0 -20
- package/src/components/ui/drawer/DrawerFooter.vue +0 -14
- package/src/components/ui/drawer/DrawerHeader.vue +0 -14
- package/src/components/ui/drawer/DrawerOverlay.vue +0 -18
- package/src/components/ui/drawer/DrawerTitle.vue +0 -20
- package/src/components/ui/drawer/index.ts +0 -8
- package/src/components/ui/dropdown-menu/DropdownMenu.vue +0 -14
- package/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +0 -40
- package/src/components/ui/dropdown-menu/DropdownMenuContent.vue +0 -44
- package/src/components/ui/dropdown-menu/DropdownMenuGroup.vue +0 -11
- package/src/components/ui/dropdown-menu/DropdownMenuItem.vue +0 -28
- package/src/components/ui/dropdown-menu/DropdownMenuLabel.vue +0 -24
- package/src/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +0 -19
- package/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +0 -40
- package/src/components/ui/dropdown-menu/DropdownMenuSeparator.vue +0 -22
- package/src/components/ui/dropdown-menu/DropdownMenuShortcut.vue +0 -14
- package/src/components/ui/dropdown-menu/DropdownMenuSub.vue +0 -19
- package/src/components/ui/dropdown-menu/DropdownMenuSubContent.vue +0 -36
- package/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +0 -33
- package/src/components/ui/dropdown-menu/DropdownMenuTrigger.vue +0 -13
- package/src/components/ui/dropdown-menu/index.ts +0 -16
- package/src/components/ui/hover-card/HoverCard.vue +0 -14
- package/src/components/ui/hover-card/HoverCardContent.vue +0 -41
- package/src/components/ui/hover-card/HoverCardTrigger.vue +0 -11
- package/src/components/ui/hover-card/index.ts +0 -3
- package/src/components/ui/index.ts +0 -41
- package/src/components/ui/input/Input.vue +0 -24
- package/src/components/ui/input/index.ts +0 -1
- package/src/components/ui/label/Label.vue +0 -27
- package/src/components/ui/label/index.ts +0 -1
- package/src/components/ui/multi-select/MultiSelect.vue +0 -141
- package/src/components/ui/multi-select/index.ts +0 -7
- package/src/components/ui/notification/Notification.vue +0 -85
- package/src/components/ui/notification/index.ts +0 -1
- package/src/components/ui/number-field/NumberField.vue +0 -23
- package/src/components/ui/number-field/NumberFieldContent.vue +0 -14
- package/src/components/ui/number-field/NumberFieldDecrement.vue +0 -25
- package/src/components/ui/number-field/NumberFieldIncrement.vue +0 -25
- package/src/components/ui/number-field/NumberFieldInput.vue +0 -8
- package/src/components/ui/number-field/index.ts +0 -5
- package/src/components/ui/popover/Popover.vue +0 -15
- package/src/components/ui/popover/PopoverContent.vue +0 -61
- package/src/components/ui/popover/PopoverTrigger.vue +0 -11
- package/src/components/ui/popover/index.ts +0 -3
- package/src/components/ui/progress/Progress.vue +0 -39
- package/src/components/ui/progress/index.ts +0 -1
- package/src/components/ui/radio-group/RadioGroup.vue +0 -25
- package/src/components/ui/radio-group/RadioGroupItem.vue +0 -39
- package/src/components/ui/radio-group/index.ts +0 -2
- package/src/components/ui/scroll-area/ScrollArea.vue +0 -29
- package/src/components/ui/scroll-area/ScrollBar.vue +0 -30
- package/src/components/ui/scroll-area/index.ts +0 -2
- package/src/components/ui/scroll-pane/ScrollPane.vue +0 -25
- package/src/components/ui/scroll-pane/ScrollPaneHeader.vue +0 -75
- package/src/components/ui/scroll-pane/index.ts +0 -2
- package/src/components/ui/select/Select.vue +0 -15
- package/src/components/ui/select/SelectContent.vue +0 -57
- package/src/components/ui/select/SelectGroup.vue +0 -19
- package/src/components/ui/select/SelectItem.vue +0 -47
- package/src/components/ui/select/SelectItemText.vue +0 -11
- package/src/components/ui/select/SelectLabel.vue +0 -13
- package/src/components/ui/select/SelectScrollDownButton.vue +0 -24
- package/src/components/ui/select/SelectScrollUpButton.vue +0 -24
- package/src/components/ui/select/SelectSeparator.vue +0 -17
- package/src/components/ui/select/SelectTrigger.vue +0 -45
- package/src/components/ui/select/SelectValue.vue +0 -11
- package/src/components/ui/select/index.ts +0 -11
- package/src/components/ui/separator/Separator.vue +0 -35
- package/src/components/ui/separator/index.ts +0 -1
- package/src/components/ui/sheet/Sheet.vue +0 -14
- package/src/components/ui/sheet/SheetClose.vue +0 -11
- package/src/components/ui/sheet/SheetContent.vue +0 -56
- package/src/components/ui/sheet/SheetDescription.vue +0 -22
- package/src/components/ui/sheet/SheetFooter.vue +0 -19
- package/src/components/ui/sheet/SheetHeader.vue +0 -16
- package/src/components/ui/sheet/SheetTitle.vue +0 -22
- package/src/components/ui/sheet/SheetTrigger.vue +0 -11
- package/src/components/ui/sheet/index.ts +0 -31
- package/src/components/ui/skeleton/Skeleton.vue +0 -14
- package/src/components/ui/skeleton/index.ts +0 -1
- package/src/components/ui/slider/Slider.vue +0 -66
- package/src/components/ui/slider/index.ts +0 -1
- package/src/components/ui/switch/Switch.vue +0 -37
- package/src/components/ui/switch/index.ts +0 -1
- package/src/components/ui/table/Table.vue +0 -16
- package/src/components/ui/table/TableBody.vue +0 -14
- package/src/components/ui/table/TableCaption.vue +0 -14
- package/src/components/ui/table/TableCell.vue +0 -14
- package/src/components/ui/table/TableEmpty.vue +0 -39
- package/src/components/ui/table/TableFooter.vue +0 -16
- package/src/components/ui/table/TableHead.vue +0 -21
- package/src/components/ui/table/TableHeader.vue +0 -14
- package/src/components/ui/table/TableRow.vue +0 -21
- package/src/components/ui/table/index.ts +0 -9
- package/src/components/ui/tabs/Tabs.vue +0 -15
- package/src/components/ui/tabs/TabsContent.vue +0 -22
- package/src/components/ui/tabs/TabsIndicator.vue +0 -22
- package/src/components/ui/tabs/TabsList.vue +0 -25
- package/src/components/ui/tabs/TabsTrigger.vue +0 -29
- package/src/components/ui/tabs/index.ts +0 -5
- package/src/components/ui/tags-input/TagsInput.vue +0 -22
- package/src/components/ui/tags-input/TagsInputInput.vue +0 -19
- package/src/components/ui/tags-input/TagsInputItem.vue +0 -22
- package/src/components/ui/tags-input/TagsInputItemDelete.vue +0 -24
- package/src/components/ui/tags-input/TagsInputItemText.vue +0 -19
- package/src/components/ui/tags-input/index.ts +0 -5
- package/src/components/ui/textarea/Textarea.vue +0 -24
- package/src/components/ui/textarea/index.ts +0 -1
- package/src/components/ui/toast/Toast.vue +0 -57
- package/src/components/ui/toast/ToastAction.vue +0 -30
- package/src/components/ui/toast/ToastClose.vue +0 -31
- package/src/components/ui/toast/ToastDescription.vue +0 -25
- package/src/components/ui/toast/ToastTitle.vue +0 -25
- package/src/components/ui/toast/Toaster.vue +0 -31
- package/src/components/ui/toast/index.ts +0 -8
- package/src/components/ui/toast/use-toast.ts +0 -136
- package/src/components/ui/toggle/Toggle.vue +0 -35
- package/src/components/ui/toggle/index.ts +0 -27
- package/src/components/ui/toggle-group/ToggleGroup.vue +0 -34
- package/src/components/ui/toggle-group/ToggleGroupItem.vue +0 -35
- package/src/components/ui/toggle-group/index.ts +0 -2
- package/src/components/ui/tooltip/Tooltip.vue +0 -14
- package/src/components/ui/tooltip/TooltipContent.vue +0 -31
- package/src/components/ui/tooltip/TooltipProvider.vue +0 -11
- package/src/components/ui/tooltip/TooltipTrigger.vue +0 -11
- package/src/components/ui/tooltip/index.ts +0 -4
- package/src/composables/glass/index.ts +0 -8
- package/src/composables/glass/useGlassRenderer.ts +0 -252
- package/src/composables/glass/webgl/frostShader.ts +0 -221
- package/src/composables/glass/webgpu/glassShader.wgsl +0 -173
- package/src/composables/index.ts +0 -32
- package/src/composables/infinite-scroll/index.ts +0 -2
- package/src/composables/infinite-scroll/types.ts +0 -25
- package/src/composables/infinite-scroll/useInfiniteScroll.ts +0 -101
- package/src/composables/interaction/index.ts +0 -5
- package/src/composables/interaction/useHeightTransition.ts +0 -82
- package/src/composables/interaction/useHoverPopover.ts +0 -64
- package/src/composables/interaction/useHoverToggle.ts +0 -103
- package/src/composables/interaction/useLeaveTimer.ts +0 -17
- package/src/composables/interaction/useTouchGate.ts +0 -207
- package/src/composables/pagination/index.ts +0 -2
- package/src/composables/pagination/useOffsetPagination.ts +0 -70
- package/src/composables/prng.ts +0 -32
- package/src/composables/useCharSplit.ts +0 -31
- package/src/composables/useClipboard.ts +0 -46
- package/src/composables/useGlobalDark.ts +0 -61
- package/src/composables/useKeyboardShortcuts.ts +0 -205
- package/src/composables/useWatercolorBlob.ts +0 -136
- package/src/composables/virtual/index.ts +0 -22
- package/src/composables/virtual/useVirtualSectionWindow.ts +0 -338
- package/src/composables/virtual/useWindowedStore.ts +0 -86
- package/src/composables/virtual/virtualSectionLayout.ts +0 -212
- package/src/index.ts +0 -9
- package/src/styles/scroll-pane.css +0 -10
- package/src/utils/cn.ts +0 -6
- /package/{src/components/custom/confirm-dialog/index.ts → dist/components/custom/confirm-dialog/index.d.ts} +0 -0
- /package/{src/components/custom/controls/index.ts → dist/components/custom/controls/index.d.ts} +0 -0
- /package/{src/components/custom/expandable-container/index.ts → dist/components/custom/expandable-container/index.d.ts} +0 -0
- /package/{src/components/custom/icon-tooltip/index.ts → dist/components/custom/icon-tooltip/index.d.ts} +0 -0
- /package/{src/components/custom/infinite-scroll/composables/index.ts → dist/components/custom/infinite-scroll/composables/index.d.ts} +0 -0
- /package/{src/components/custom/infinite-scroll/index.ts → dist/components/custom/infinite-scroll/index.d.ts} +0 -0
- /package/{src/components/custom/search/composables/index.ts → dist/components/custom/search/composables/index.d.ts} +0 -0
- /package/{src/components/custom/search/index.ts → dist/components/custom/search/index.d.ts} +0 -0
- /package/{src/components/custom/tabs/index.ts → dist/components/custom/tabs/index.d.ts} +0 -0
- /package/{src/components/custom/typewriter/composables/index.ts → dist/components/custom/typewriter/composables/index.d.ts} +0 -0
- /package/{src/components/custom/typewriter/index.ts → dist/components/custom/typewriter/index.d.ts} +0 -0
- /package/{src/components/ui/data-table/index.ts → dist/components/ui/data-table/index.d.ts} +0 -0
- /package/{src/utils/index.ts → dist/utils/index.d.ts} +0 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/* hover-popover.css — substrate sheet for <HoverPopover>.
|
|
2
|
+
*
|
|
3
|
+
* Lands as the A5 §10 row 4 carry-forward: IconTooltip's tooltip register
|
|
4
|
+
* was too quiet for the chassis-tier dock consumers (SettingsCog,
|
|
5
|
+
* ActionCluster). This sheet ships a popover-tier substrate (glass +
|
|
6
|
+
* border + radius) sized for label-shaped content; richer slot content
|
|
7
|
+
* inherits the substrate without extra props.
|
|
8
|
+
*
|
|
9
|
+
* The collision-avoidance + side-flip cascade rests on reka-ui's
|
|
10
|
+
* HoverCard primitives; this sheet is purely visual.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
@layer components {
|
|
14
|
+
.hover-popover-panel {
|
|
15
|
+
display: inline-flex;
|
|
16
|
+
align-items: center;
|
|
17
|
+
gap: 0.375rem;
|
|
18
|
+
padding-block: 0.375rem;
|
|
19
|
+
padding-inline: 0.625rem;
|
|
20
|
+
border-radius: var(--radius-lg, 0.5rem);
|
|
21
|
+
background: var(--glass-bg-floating, var(--popover, white));
|
|
22
|
+
backdrop-filter: var(--glass-blur-floating);
|
|
23
|
+
border: 1px solid var(--glass-border-floating, var(--border, transparent));
|
|
24
|
+
color: var(--popover-foreground, var(--foreground));
|
|
25
|
+
box-shadow: var(--glass-shadow-floating, var(--shadow-md));
|
|
26
|
+
font-size: var(--type-small, 0.8125rem);
|
|
27
|
+
line-height: 1.2;
|
|
28
|
+
max-width: 16rem;
|
|
29
|
+
white-space: normal;
|
|
30
|
+
outline: none;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.hover-popover-label {
|
|
34
|
+
display: inline-block;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/* The data-state animation grammar canonicalises onto `.popover-animate`
|
|
39
|
+
(V.W3.T9 / A5 §5.8). Authors compose `class="hover-popover-panel popover-animate"`
|
|
40
|
+
on the panel root so the canonical fade + zoom-95 entry/exit grammar
|
|
41
|
+
replaces the bespoke `hover-popover-in/out` keyframes that lived here.
|
|
42
|
+
The `prefers-reduced-motion` carve is handled at the canonical site
|
|
43
|
+
(`utilities.css`'s reduced-motion block) so it cascades to all four
|
|
44
|
+
popover-animation consumers automatically. */
|
package/src/styles/index.css
CHANGED
|
@@ -4,22 +4,92 @@
|
|
|
4
4
|
* Import this in your project's main CSS file:
|
|
5
5
|
* @import "tailwindcss";
|
|
6
6
|
* @import "tw-animate-css";
|
|
7
|
-
* @import "@mkbabb/glass-ui/styles";
|
|
7
|
+
* @import "@mkbabb/glass-ui/styles"; (critical — no font payload)
|
|
8
|
+
* @import "@mkbabb/glass-ui/styles/fonts"; (OFL woff2 corpus, loaded once)
|
|
8
9
|
* (then add your project-specific token overrides locally)
|
|
9
10
|
*/
|
|
10
11
|
|
|
11
|
-
/*
|
|
12
|
+
/*
|
|
13
|
+
* FONT PAYLOAD SPLIT (AM-W1-α). The payload-bearing @font-face faces
|
|
14
|
+
* (Plus Jakarta Sans + Fira Code woff2, base64-inlined at publish into
|
|
15
|
+
* ~99 KB gzipped) are NOT imported here — they live in `fonts.css`,
|
|
16
|
+
* reachable via the `@mkbabb/glass-ui/styles/fonts` export. This keeps the
|
|
17
|
+
* critical first-paint `./styles` entry free of the font binary. The
|
|
18
|
+
* calibrated `local()` fallback faces (with Capsize metric overrides) DO
|
|
19
|
+
* stay on this critical path inside typography.css — they paint during the
|
|
20
|
+
* `font-display: optional`/`swap` window with zero CLS, so the deferred
|
|
21
|
+
* real-face import never causes a layout shift.
|
|
22
|
+
*
|
|
23
|
+
* NOTE: Font @import url(...) lines are NOT issued from here (and never
|
|
24
|
+
* were) — doing so would put them after @import "tailwindcss" in the
|
|
25
|
+
* consumer's output, which violates the CSS spec (and some bundlers then
|
|
26
|
+
* drop them). The split above is by separate export subpath, not @import.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
/*
|
|
30
|
+
* Cascade order — load order is load-bearing. Each layer references the one
|
|
31
|
+
* above it via CSS custom properties or selector cascade; reordering breaks
|
|
32
|
+
* fallbacks. Documented at L.W2 Lane B per Rε §B.5.1.
|
|
33
|
+
*
|
|
34
|
+
* 1. tokens.css — CSS custom properties (color, easing, glass,
|
|
35
|
+
* paper, shadow, surface-tint rungs). Source-of-
|
|
36
|
+
* record for every visual axis.
|
|
37
|
+
* 2. typography.css — golden-ratio scale (√φ); semantic type classes.
|
|
38
|
+
* Pure values, no token consumption.
|
|
39
|
+
* 3. theme.css — @theme block (Tailwind aliases). Reads tokens
|
|
40
|
+
* from (1) so MUST come after them; defines the
|
|
41
|
+
* `dark` variant selector consumed by the cascade.
|
|
42
|
+
* 4. glass.css — .glass-{wash,quiet,resting,floating,overlay}
|
|
43
|
+
* 5-rung ladder + .glass-card / -pill / -btn.
|
|
44
|
+
* Consumes tokens (1) + theme aliases (3).
|
|
45
|
+
* 5. paper.css — paper underpaint + grain overlay utilities.
|
|
46
|
+
* Pairs with (4) for paper-on-glass compositions.
|
|
47
|
+
* 6. dock.css — .dock-icon-btn, .dock-select-trigger, etc.
|
|
48
|
+
* Component utility layer; consumes (1) + (3).
|
|
49
|
+
* 7. cards.css — .cartoon-surface, .paper-texture.
|
|
50
|
+
* Component utility layer.
|
|
51
|
+
* 8. floating-panel.css — .floating-panel + .floating-panel-item.
|
|
52
|
+
* Component utility layer.
|
|
53
|
+
* 9. transitions.css — Vue <Transition> classes (fade, fade-slide,
|
|
54
|
+
* pop, dialog-scale, dropdown, tab-fade).
|
|
55
|
+
* 10. animations.css — @keyframes for components consumed via
|
|
56
|
+
* `animation:` properties in (9) and component
|
|
57
|
+
* <style> blocks.
|
|
58
|
+
* 11. utilities.css — focus-ring, btn-audacious + btn-interactive
|
|
59
|
+
* (press cluster; K W6 + Q.W3 Lane E),
|
|
60
|
+
* rainbow-vivid + rainbow-pastel. Consumes earlier
|
|
61
|
+
* animations + tokens.
|
|
62
|
+
* 12. instrument-chassis.css — P-tranche component CSS (chassis bezel +
|
|
63
|
+
* groove dividers). Loaded after utilities so
|
|
64
|
+
* component-local recipes can override.
|
|
65
|
+
* 13. instrument-rail.css — AK-W2-α cockpit-ratio rail (flex-basis 1/φ²
|
|
66
|
+
* binding + bezel hairlines + sibling divider
|
|
67
|
+
* rule). Composes alongside instrument-chassis;
|
|
68
|
+
* shares the bezel-line twin-pixel idiom.
|
|
69
|
+
* 14. glyph-face.css — P-tranche component CSS (cap + backplate).
|
|
70
|
+
* 15. disco-glyph.css — P-tranche component CSS (layered fills).
|
|
71
|
+
* 16. hover-popover.css — V.W3 popover-animation grammar.
|
|
72
|
+
*
|
|
73
|
+
* Per-package component CSS lives at (12)-(16) (loaded after utilities so
|
|
74
|
+
* component-local recipes can override). New per-package CSS files append
|
|
75
|
+
* to that tail.
|
|
76
|
+
*/
|
|
12
77
|
@import "./tokens.css";
|
|
13
78
|
@import "./typography.css";
|
|
14
79
|
@import "./theme.css";
|
|
15
80
|
@import "./glass.css";
|
|
81
|
+
@import "./paper.css";
|
|
16
82
|
@import "./dock.css";
|
|
17
83
|
@import "./cards.css";
|
|
18
|
-
@import "./scroll-pane.css";
|
|
19
84
|
@import "./floating-panel.css";
|
|
20
85
|
@import "./transitions.css";
|
|
21
86
|
@import "./animations.css";
|
|
22
87
|
@import "./utilities.css";
|
|
88
|
+
@import "./instrument-chassis.css";
|
|
89
|
+
@import "./instrument-rail.css";
|
|
90
|
+
@import "./glyph-face.css";
|
|
91
|
+
@import "./disco-glyph.css";
|
|
92
|
+
@import "./hover-popover.css";
|
|
23
93
|
|
|
24
94
|
/* Ensure consumer's Tailwind scans glass-ui components for utility classes
|
|
25
95
|
(e.g. CVA button variants like text-destructive-foreground) */
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
/* instrument-chassis.css — chassis surface + region dividers + phase cascade.
|
|
2
|
+
*
|
|
3
|
+
* Composes the three-region <InstrumentChassis> per W2.7 §1, §2, §3, §11, §16.
|
|
4
|
+
* The chassis is one glass surface with an engraved-bezel ::before stroke and
|
|
5
|
+
* a radial-gradient curvature overlay; both persist at all phases (chassis
|
|
6
|
+
* character, not interactive accent).
|
|
7
|
+
*
|
|
8
|
+
* Region dividers compose two 1px lines — top catch-light, bottom under-
|
|
9
|
+
* shadow — into a hairline groove. This twin-line idiom is the chassis
|
|
10
|
+
* signature; every divider in the system uses it.
|
|
11
|
+
*
|
|
12
|
+
* `--phase-color` cascades from the chassis root via `data-phase`. Phase
|
|
13
|
+
* label, hero number, and phase progress fill all read it; one mutation at
|
|
14
|
+
* the chassis level retints every consumer with a single 450ms transition.
|
|
15
|
+
*
|
|
16
|
+
* Disco accents (specular swap, sparkle, phase-glow, disco-grain) live on
|
|
17
|
+
* `.dock-tab-button[data-tier="primary"]` in `dock.css` and on
|
|
18
|
+
* `.metric-badge[data-just-resolved="true"]` in `utilities.css`. They fire
|
|
19
|
+
* on hover / phase-finish only. Idle is purely Vignelli.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
@layer components {
|
|
23
|
+
.instrument-chassis {
|
|
24
|
+
position: relative;
|
|
25
|
+
display: flex;
|
|
26
|
+
flex-direction: column;
|
|
27
|
+
/* AI.W4-M.1 — chassis tint companion. The backdrop composes the
|
|
28
|
+
resting glass plate with a `color-mix` toward `--phase-color`
|
|
29
|
+
by `--phase-tint-amount`. At idle the typed amount sits at 0%
|
|
30
|
+
(initial-value from tokens.css §18) so the surface reads the
|
|
31
|
+
pure resting plate; the [data-phase] selectors below ramp the
|
|
32
|
+
amount toward `--phase-tint-peak` (6% default), and the
|
|
33
|
+
transition interpolates the typed percentage over the speed-
|
|
34
|
+
test-owned phase-handoff clock. Fallback 600ms keeps a non-
|
|
35
|
+
speedtest consumer's chassis cross-fading smoothly even
|
|
36
|
+
without the consumer-side token declared. */
|
|
37
|
+
background:
|
|
38
|
+
var(--glass-curvature-overlay, none),
|
|
39
|
+
color-mix(
|
|
40
|
+
in oklab,
|
|
41
|
+
var(--glass-bg-chassis),
|
|
42
|
+
var(--phase-color, var(--muted-foreground)) var(--phase-tint-amount, 0%)
|
|
43
|
+
);
|
|
44
|
+
transition: --phase-tint-amount
|
|
45
|
+
var(--motion-duration-phase-handoff, 600ms)
|
|
46
|
+
var(--motion-ease-standard);
|
|
47
|
+
backdrop-filter: var(--glass-blur-quiet);
|
|
48
|
+
/* AK-FD1 §2.4 — glass-variant outer border softened one rung down the
|
|
49
|
+
foreground-tinted border ladder (quiet 10% → wash 8%) so it reads at
|
|
50
|
+
the intended resting-glass register. The spine variant carries its
|
|
51
|
+
own `--glass-spine-border` (re-declared below) and is unaffected. */
|
|
52
|
+
border: 1px solid var(--glass-border-wash);
|
|
53
|
+
border-radius: var(--radius-card);
|
|
54
|
+
box-shadow:
|
|
55
|
+
var(--glass-shadow-quiet),
|
|
56
|
+
inset 0 -0.5px 0 0 rgb(0 0 0 / 0.06);
|
|
57
|
+
overflow: hidden;
|
|
58
|
+
|
|
59
|
+
/* `--phase-color` defaults to muted-foreground at idle. data-phase
|
|
60
|
+
selectors below retint to the chart hue. Consumers register
|
|
61
|
+
--chart-* aliases in their preset; tokens.css ships safe defaults.
|
|
62
|
+
|
|
63
|
+
`--phase-color-label` is the WCAG companion (AC.W6c F1.V-04). It
|
|
64
|
+
pairs with `--phase-color` 1:1 — same `data-phase` cascade, but
|
|
65
|
+
routes through `--chart-{phase}-label` (L≈0.40 in OKLCH) so
|
|
66
|
+
text-on-background callsites clear the 4.5:1 contrast floor.
|
|
67
|
+
Canvas / fill / gradient consumers continue to read `--phase-color`
|
|
68
|
+
(saturated brand register, correct against the meter dial).
|
|
69
|
+
Label / text consumers read `--phase-color-label` with the
|
|
70
|
+
untinted token as a fallback so an unhydrated subtree still
|
|
71
|
+
paints something readable. */
|
|
72
|
+
--phase-color: var(--muted-foreground);
|
|
73
|
+
--phase-color-label: var(--muted-foreground);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.dark .instrument-chassis {
|
|
77
|
+
background:
|
|
78
|
+
var(--glass-curvature-overlay-dark, var(--glass-curvature-overlay, none)),
|
|
79
|
+
color-mix(
|
|
80
|
+
in oklab,
|
|
81
|
+
var(--glass-bg-chassis),
|
|
82
|
+
var(--phase-color, var(--muted-foreground)) var(--phase-tint-amount, 0%)
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/* Engraved-bezel inner stroke. Reads as the polished sleeve of an
|
|
87
|
+
instrument-panel module. Subtle but load-bearing for the disco-skeu
|
|
88
|
+
reading. */
|
|
89
|
+
.instrument-chassis::before {
|
|
90
|
+
content: "";
|
|
91
|
+
position: absolute;
|
|
92
|
+
inset: 0.5px;
|
|
93
|
+
border-radius: calc(var(--radius-card) - 0.5px);
|
|
94
|
+
border: 1px solid var(--surface-tint-4);
|
|
95
|
+
pointer-events: none;
|
|
96
|
+
z-index: 1;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.dark .instrument-chassis::before {
|
|
100
|
+
border-color: var(--surface-tint-6);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/* ─────────────────────────────────────────────────────────────
|
|
104
|
+
AL-W1-α augmented — spine variant (HOUSING register)
|
|
105
|
+
|
|
106
|
+
Per AL-X5 §4.1 + Y7. The `variant="spine"` chassis is the
|
|
107
|
+
polished SLEEVE that frames an inner card on quiet-content
|
|
108
|
+
App-level mounts. NOT glass:
|
|
109
|
+
- opacity 0 (no plate; `--glass-spine-opacity` is the canon)
|
|
110
|
+
- NO backdrop-filter (housing is not refracting)
|
|
111
|
+
- hairline outer stroke at `--glass-spine-border`
|
|
112
|
+
- interior radial vignette (`--glass-spine-vignette`) that
|
|
113
|
+
reads the phase-color cascade through `color-mix()` at
|
|
114
|
+
~8% opacity — the housing breathes with the active phase
|
|
115
|
+
without competing with the inner card's saturated register
|
|
116
|
+
- tight under-shadow rim via `--glass-under-shadow-spine`
|
|
117
|
+
- inset from viewport by `clamp(0.5rem, 2vw, 1.25rem)` so
|
|
118
|
+
the chassis edge sits BEYOND the inner card's outer edge
|
|
119
|
+
- retires the engraved-bezel `::before` (the spine carries
|
|
120
|
+
its own stroke at the outer edge; the inner bezel would
|
|
121
|
+
collide with the inner card's hairline ring)
|
|
122
|
+
|
|
123
|
+
The phase cascade above (`[data-phase="…"]`) is orthogonal —
|
|
124
|
+
the `--phase-color` retint reaches the spine vignette via the
|
|
125
|
+
`color-mix(in oklab, var(--phase-color) 8%, transparent)` recipe
|
|
126
|
+
at `--glass-spine-vignette`. One mutation at the chassis level
|
|
127
|
+
still retints every consumer.
|
|
128
|
+
───────────────────────────────────────────────────────────── */
|
|
129
|
+
.instrument-chassis[data-variant="spine"] {
|
|
130
|
+
background: var(--glass-spine-vignette);
|
|
131
|
+
backdrop-filter: none;
|
|
132
|
+
border: 1px solid var(--glass-spine-border);
|
|
133
|
+
box-shadow: var(--glass-under-shadow-spine);
|
|
134
|
+
margin: clamp(0.5rem, 2vw, 1.25rem);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/* The engraved-bezel inner stroke is a `"glass"`-variant feature —
|
|
138
|
+
retire it at the spine variant so the hairline outer stroke reads
|
|
139
|
+
alone (the inner card paints its own inner ring). */
|
|
140
|
+
.instrument-chassis[data-variant="spine"]::before {
|
|
141
|
+
display: none;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/* Phase-color cascade — single property, full chassis-wide retint.
|
|
145
|
+
`--phase-color-label` mirrors the cascade through the WCAG companion
|
|
146
|
+
tokens (AC.W6c F1.V-04). The label register falls back to the canvas
|
|
147
|
+
hue so a consumer that hasn't migrated its labels still paints.
|
|
148
|
+
|
|
149
|
+
AI.W4-M.1 — `--phase-tint-amount` lifts to `--phase-tint-peak`
|
|
150
|
+
(6% default) on every active phase, including `complete`. The chassis
|
|
151
|
+
backdrop reads the typed amount in its `color-mix` recipe above; the
|
|
152
|
+
transition interpolates over the phase-handoff clock so the warmth
|
|
153
|
+
cross-fades alongside the hue. Idle returns to 0% by inheritance
|
|
154
|
+
(the typed @property initial-value). */
|
|
155
|
+
.instrument-chassis[data-phase="ping"] {
|
|
156
|
+
--phase-color: var(--chart-ping, var(--viz-chebyshev));
|
|
157
|
+
--phase-color-label: var(--chart-ping-label, var(--chart-ping, var(--viz-chebyshev)));
|
|
158
|
+
--phase-tint-amount: var(--phase-tint-peak);
|
|
159
|
+
}
|
|
160
|
+
.instrument-chassis[data-phase="download"] {
|
|
161
|
+
--phase-color: var(--chart-download, var(--viz-fourier));
|
|
162
|
+
--phase-color-label: var(--chart-download-label, var(--chart-download, var(--viz-fourier)));
|
|
163
|
+
--phase-tint-amount: var(--phase-tint-peak);
|
|
164
|
+
}
|
|
165
|
+
.instrument-chassis[data-phase="upload"] {
|
|
166
|
+
--phase-color: var(--chart-upload, var(--viz-amber));
|
|
167
|
+
--phase-color-label: var(--chart-upload-label, var(--chart-upload, var(--viz-amber)));
|
|
168
|
+
--phase-tint-amount: var(--phase-tint-peak);
|
|
169
|
+
}
|
|
170
|
+
.instrument-chassis[data-phase="jitter"] {
|
|
171
|
+
--phase-color: var(--chart-jitter, var(--viz-legendre));
|
|
172
|
+
--phase-color-label: var(--chart-jitter-label, var(--chart-jitter, var(--viz-legendre)));
|
|
173
|
+
--phase-tint-amount: var(--phase-tint-peak);
|
|
174
|
+
}
|
|
175
|
+
.instrument-chassis[data-phase="complete"] {
|
|
176
|
+
--phase-color: var(--color-gold);
|
|
177
|
+
--phase-color-label: var(--color-gold-dark, var(--color-gold));
|
|
178
|
+
--phase-tint-amount: var(--phase-tint-peak);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/* PRM bracket — the typed-property transition retires; the chassis
|
|
182
|
+
still cross-fades hue + amount instantaneously on phase change
|
|
183
|
+
(the discrete state IS the affirmation). */
|
|
184
|
+
@media (prefers-reduced-motion: reduce) {
|
|
185
|
+
.instrument-chassis {
|
|
186
|
+
transition: none;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/* Region wrappers ─────────────────────────────────────────── */
|
|
191
|
+
|
|
192
|
+
.instrument-strip {
|
|
193
|
+
position: relative;
|
|
194
|
+
display: flex;
|
|
195
|
+
align-items: center;
|
|
196
|
+
gap: var(--instrument-strip-gap, 0.75rem);
|
|
197
|
+
padding:
|
|
198
|
+
var(--instrument-strip-padding-block, 0.875rem)
|
|
199
|
+
var(--instrument-strip-padding-inline, 1.25rem);
|
|
200
|
+
z-index: 2;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
.instrument-dial {
|
|
204
|
+
position: relative;
|
|
205
|
+
display: grid;
|
|
206
|
+
grid-template-columns: var(--instrument-dial-columns, minmax(0, 1.2fr) 1px minmax(0, 1fr));
|
|
207
|
+
align-items: center;
|
|
208
|
+
gap: var(--instrument-dial-gap, 1.5rem);
|
|
209
|
+
padding:
|
|
210
|
+
var(--instrument-dial-padding-block, 1.5rem)
|
|
211
|
+
var(--instrument-dial-padding-inline, 1.5rem);
|
|
212
|
+
z-index: 2;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.instrument-control {
|
|
216
|
+
position: relative;
|
|
217
|
+
display: flex;
|
|
218
|
+
align-items: center;
|
|
219
|
+
gap: var(--instrument-control-gap, 0.5rem);
|
|
220
|
+
padding:
|
|
221
|
+
var(--instrument-control-padding-block, 0.875rem)
|
|
222
|
+
var(--instrument-control-padding-inline, 1.25rem);
|
|
223
|
+
z-index: 2;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/* Chassis dividers — twin-line hairline grooves ─────────────── */
|
|
227
|
+
|
|
228
|
+
.chassis-divider {
|
|
229
|
+
flex-shrink: 0;
|
|
230
|
+
position: relative;
|
|
231
|
+
background: transparent;
|
|
232
|
+
z-index: 2;
|
|
233
|
+
pointer-events: none;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
.chassis-divider--horizontal {
|
|
237
|
+
display: flex;
|
|
238
|
+
flex-direction: column;
|
|
239
|
+
height: 2px;
|
|
240
|
+
width: 100%;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
.chassis-divider--vertical {
|
|
244
|
+
display: flex;
|
|
245
|
+
flex-direction: row;
|
|
246
|
+
width: 2px;
|
|
247
|
+
height: var(--chassis-divider-vertical-height, 70%);
|
|
248
|
+
align-self: center;
|
|
249
|
+
justify-self: center;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
.bezel-line {
|
|
253
|
+
display: block;
|
|
254
|
+
flex-shrink: 0;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
.chassis-divider--horizontal .bezel-line {
|
|
258
|
+
height: 1px;
|
|
259
|
+
width: 100%;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
.chassis-divider--vertical .bezel-line {
|
|
263
|
+
width: 1px;
|
|
264
|
+
height: 100%;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
/* Q.W4.A — bezel-line α lift in light mode per audit-A4 §1 row 2-3 +
|
|
268
|
+
§11 #2-#3 + §12 Action 2. The 0.04 / 0.06 light-mode pair was
|
|
269
|
+
calibrated against a flat bg; under the saturated-aurora chassis
|
|
270
|
+
composition the catch-light + under-shadow read as one slightly
|
|
271
|
+
darker pixel, and the twin-line groove fails its job. Bumping to
|
|
272
|
+
0.10 / 0.12 holds the divider against the bleed without committing
|
|
273
|
+
to the dark-mode pair's contrast (the dark mode already runs at
|
|
274
|
+
0.06 / 0.18 against a low-light bg). */
|
|
275
|
+
.bezel-line.top { background: rgb(255 255 255 / 0.10); }
|
|
276
|
+
.bezel-line.bottom { background: rgb(0 0 0 / 0.12); }
|
|
277
|
+
|
|
278
|
+
.dark .bezel-line.top { background: rgb(255 255 255 / 0.06); }
|
|
279
|
+
.dark .bezel-line.bottom { background: rgb(0 0 0 / 0.18); }
|
|
280
|
+
|
|
281
|
+
/* Inner dial divider — same primitive, vertical on desktop. Speedtest
|
|
282
|
+
slots its <ChassisDivider orientation="vertical" class="dial-divider" />
|
|
283
|
+
between the meter canvas and the readout column; consumers may also
|
|
284
|
+
compose their own vertical dividers via the same primitive. */
|
|
285
|
+
.instrument-chassis .dial-divider {
|
|
286
|
+
align-self: stretch;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/* Mobile reflow — dial stacks vertically; the inner divider rotates from
|
|
290
|
+
a vertical groove (desktop) to a horizontal groove (mobile). Same
|
|
291
|
+
twin-line idiom, different orientation. */
|
|
292
|
+
@media (max-width: 720px) {
|
|
293
|
+
.instrument-chassis .instrument-dial {
|
|
294
|
+
grid-template-columns: 1fr;
|
|
295
|
+
grid-template-rows: auto auto auto;
|
|
296
|
+
gap: var(--instrument-dial-gap-mobile, 1.5rem);
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
.instrument-chassis .instrument-dial .dial-divider,
|
|
300
|
+
.instrument-chassis .instrument-dial .chassis-divider--vertical {
|
|
301
|
+
flex-direction: column;
|
|
302
|
+
width: 70%;
|
|
303
|
+
height: 2px;
|
|
304
|
+
margin-inline: auto;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
.instrument-chassis .instrument-dial .dial-divider .bezel-line,
|
|
308
|
+
.instrument-chassis .instrument-dial .chassis-divider--vertical .bezel-line {
|
|
309
|
+
width: 100%;
|
|
310
|
+
height: 1px;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/* instrument-rail.css — cockpit-ratio rail with bezel hairlines + sibling
|
|
2
|
+
* divider rule.
|
|
3
|
+
*
|
|
4
|
+
* AK-W2-α — see A3 §8.T-1 + FD1 TRANSPOSITION 6 + G-AK-D9. Resolves D-4
|
|
5
|
+
* (desktop survey cockpit ratio 0.222 → 0.382). The rail carries the
|
|
6
|
+
* golden-gestalt 1/φ² flex-basis as a typed term with min/max clamp
|
|
7
|
+
* safety, the engraved-bezel ::before stroke that <InstrumentChassis>
|
|
8
|
+
* established as chassis grammar, and a twin-line groove between sibling
|
|
9
|
+
* children via the same `bezel-line` α pair the chassis-divider primitive
|
|
10
|
+
* uses (light 0.10 / 0.12; dark 0.06 / 0.18 — Q.W4.A canon).
|
|
11
|
+
*
|
|
12
|
+
* The rail is a layout primitive: no animation, no phase cascade, no
|
|
13
|
+
* disco accent. PRM cascades through children (each owns its own
|
|
14
|
+
* animation contract). Phase color inherits from a parent
|
|
15
|
+
* <InstrumentChassis> if present — the rail itself reads no phase token.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
@layer components {
|
|
19
|
+
.instrument-rail {
|
|
20
|
+
position: relative;
|
|
21
|
+
display: flex;
|
|
22
|
+
flex-direction: column;
|
|
23
|
+
/* The cockpit-ratio binding. Default 0.382 = 1/φ² (golden gestalt).
|
|
24
|
+
Min/max clamp pins the realised width to a readable register so
|
|
25
|
+
a degenerate ratio or a very narrow / very wide parent still
|
|
26
|
+
lands inside the bezel-instrument vocabulary. */
|
|
27
|
+
flex: 0 0 calc(var(--instrument-rail-ratio, 0.382) * 100%);
|
|
28
|
+
min-width: 15rem;
|
|
29
|
+
max-width: 28rem;
|
|
30
|
+
box-sizing: border-box;
|
|
31
|
+
gap: var(--instrument-rail-gap, 1rem);
|
|
32
|
+
padding:
|
|
33
|
+
var(--instrument-rail-padding-block, 1.25rem)
|
|
34
|
+
var(--instrument-rail-padding-inline, 1.25rem);
|
|
35
|
+
container-type: inline-size;
|
|
36
|
+
container-name: instrument-rail;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.instrument-rail[data-variant="horizontal"] {
|
|
40
|
+
flex-direction: row;
|
|
41
|
+
flex: 0 0 auto;
|
|
42
|
+
min-width: 0;
|
|
43
|
+
max-width: none;
|
|
44
|
+
min-height: 15rem;
|
|
45
|
+
max-height: 28rem;
|
|
46
|
+
block-size: calc(var(--instrument-rail-ratio, 0.382) * 100%);
|
|
47
|
+
container-type: size;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/* Engraved-bezel inner stroke — the chassis signature detail, applied
|
|
51
|
+
to the rail so it reads as a chassis-internal module rather than an
|
|
52
|
+
unbordered slot. Subtle but load-bearing for the disco-skeu reading
|
|
53
|
+
(FD1 TRANSPOSITION 3). */
|
|
54
|
+
.instrument-rail[data-bezel-hairlines]::before {
|
|
55
|
+
content: "";
|
|
56
|
+
position: absolute;
|
|
57
|
+
inset: 0.5px;
|
|
58
|
+
border-radius: calc(var(--radius-card, 1rem) - 0.5px);
|
|
59
|
+
border: 1px solid var(--surface-tint-4);
|
|
60
|
+
pointer-events: none;
|
|
61
|
+
z-index: 1;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.dark .instrument-rail[data-bezel-hairlines]::before {
|
|
65
|
+
border-color: var(--surface-tint-6);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/* Sibling divider rule — twin-line hairline groove between every
|
|
69
|
+
child after the first. The twin-line idiom (catch-light over
|
|
70
|
+
under-shadow) is the chassis-divider signature; rendering it via
|
|
71
|
+
a sibling ::before/::after stack keeps consumers free of manual
|
|
72
|
+
<ChassisDivider> slotting. Status header is excluded — the
|
|
73
|
+
opening-edge status light reads as a region, not a sibling. */
|
|
74
|
+
.instrument-rail[data-divider-rule][data-variant="vertical"]
|
|
75
|
+
> :not(:first-child):not(.instrument-rail-status)::before {
|
|
76
|
+
content: "";
|
|
77
|
+
display: block;
|
|
78
|
+
height: 1px;
|
|
79
|
+
margin-block-end: 1px;
|
|
80
|
+
background: rgb(255 255 255 / 0.10);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.instrument-rail[data-divider-rule][data-variant="vertical"]
|
|
84
|
+
> :not(:first-child):not(.instrument-rail-status)::after {
|
|
85
|
+
content: "";
|
|
86
|
+
display: block;
|
|
87
|
+
height: 1px;
|
|
88
|
+
margin-block-start: -1px;
|
|
89
|
+
background: rgb(0 0 0 / 0.12);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.instrument-rail[data-divider-rule][data-variant="horizontal"]
|
|
93
|
+
> :not(:first-child):not(.instrument-rail-status)::before {
|
|
94
|
+
content: "";
|
|
95
|
+
display: block;
|
|
96
|
+
width: 1px;
|
|
97
|
+
margin-inline-end: 1px;
|
|
98
|
+
background: rgb(255 255 255 / 0.10);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.instrument-rail[data-divider-rule][data-variant="horizontal"]
|
|
102
|
+
> :not(:first-child):not(.instrument-rail-status)::after {
|
|
103
|
+
content: "";
|
|
104
|
+
display: block;
|
|
105
|
+
width: 1px;
|
|
106
|
+
margin-inline-start: -1px;
|
|
107
|
+
background: rgb(0 0 0 / 0.12);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.dark .instrument-rail[data-divider-rule] > :not(:first-child):not(.instrument-rail-status)::before {
|
|
111
|
+
background: rgb(255 255 255 / 0.06);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.dark .instrument-rail[data-divider-rule] > :not(:first-child):not(.instrument-rail-status)::after {
|
|
115
|
+
background: rgb(0 0 0 / 0.18);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/* Status header — pinned to the opening edge, flush against the
|
|
119
|
+
bezel. The rail's bezel ::before draws over the surface-edge so the
|
|
120
|
+
status region sits inside the bezel sleeve. */
|
|
121
|
+
.instrument-rail-status {
|
|
122
|
+
position: relative;
|
|
123
|
+
display: flex;
|
|
124
|
+
align-items: center;
|
|
125
|
+
gap: 0.5rem;
|
|
126
|
+
z-index: 2;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* paper.css — Paper-texture primitives
|
|
3
|
+
*
|
|
4
|
+
* Two composable Tailwind `@utility` declarations:
|
|
5
|
+
* - paper-underpaint: fixed, app-root, fullscreen SVG turbulence at z-index -1
|
|
6
|
+
* - paper-grain-overlay: ::after overlay for individual surfaces
|
|
7
|
+
*
|
|
8
|
+
* Texture: feTurbulence baseFrequency 0.65, 4 octaves, desaturated via
|
|
9
|
+
* feColorMatrix, blended multiply (light) / soft-light (dark). Tiles ~60px.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
@utility paper-underpaint {
|
|
13
|
+
position: fixed;
|
|
14
|
+
inset: 0;
|
|
15
|
+
z-index: -1;
|
|
16
|
+
pointer-events: none;
|
|
17
|
+
background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeBlend mode='multiply' in2='SourceGraphic'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
|
|
18
|
+
background-repeat: repeat;
|
|
19
|
+
background-size: 60px 60px;
|
|
20
|
+
opacity: var(--glass-grain-opacity);
|
|
21
|
+
mix-blend-mode: multiply;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
:where(.dark) .paper-underpaint,
|
|
25
|
+
.dark .paper-underpaint {
|
|
26
|
+
mix-blend-mode: soft-light;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@utility paper-grain-overlay {
|
|
30
|
+
position: relative;
|
|
31
|
+
isolation: isolate;
|
|
32
|
+
|
|
33
|
+
&::after {
|
|
34
|
+
content: "";
|
|
35
|
+
position: absolute;
|
|
36
|
+
inset: 0;
|
|
37
|
+
border-radius: inherit;
|
|
38
|
+
pointer-events: none;
|
|
39
|
+
background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeBlend mode='multiply' in2='SourceGraphic'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
|
|
40
|
+
background-repeat: repeat;
|
|
41
|
+
background-size: 60px 60px;
|
|
42
|
+
opacity: var(--glass-grain-opacity);
|
|
43
|
+
mix-blend-mode: overlay;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
:where(.dark) .paper-grain-overlay::after,
|
|
48
|
+
.dark .paper-grain-overlay::after {
|
|
49
|
+
mix-blend-mode: soft-light;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/* ═══════════════════════════════════════════════
|
|
53
|
+
A11y — respect user motion + transparency preferences
|
|
54
|
+
═══════════════════════════════════════════════ */
|
|
55
|
+
@media (prefers-reduced-transparency: reduce) {
|
|
56
|
+
.paper-underpaint,
|
|
57
|
+
.paper-grain-overlay::after {
|
|
58
|
+
opacity: 0;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
@media (prefers-reduced-motion: reduce) {
|
|
63
|
+
.paper-underpaint {
|
|
64
|
+
/* Static noise is fine at rest; only kill animated grain shimmer if any.
|
|
65
|
+
The underpaint is currently a still texture, but guard future motion. */
|
|
66
|
+
animation: none !important;
|
|
67
|
+
}
|
|
68
|
+
}
|