@mkbabb/glass-ui 3.2.0 → 3.4.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/dist/{CardFooter-3-VGho1J.js → CardFooter-C390imy7.js} +2 -2
- package/dist/{CollapsibleContent-wlmlDujU.js → CollapsibleContent-cauTbZEM.js} +1 -1
- package/dist/{CommandShortcut-C6lsz3pG.js → CommandShortcut-BiVyqipe.js} +5 -4
- package/dist/DataTable-FfkaAg2z.js +465 -0
- package/dist/DialogContent-IQ8_BRrC.js +100 -0
- package/dist/{DiscoGlyph-B7YooI2-.js → DiscoGlyph-BaZ8OawK.js} +1 -1
- package/dist/{GlyphFace-Bvk6OIas.js → GlyphFace-B_7vOmYn.js} +1 -1
- package/dist/HoverPopover-DTSYkJtw.js +96 -0
- package/dist/{IconTooltip-DXveGjx7.js → IconTooltip-BTyYn4mr.js} +1 -1
- package/dist/Input-CU9CNKmo.js +52 -0
- package/dist/{MetricBadge-J_GBCb8e.js → MetricBadge-BlrdbOGN.js} +1 -1
- package/dist/{NumberFieldContent-B6L6YrQz.js → NumberFieldContent-iOTQ5rGO.js} +8 -4
- package/dist/{PopoverContent-CxEEUL7Y.js → PopoverContent-B8WtJECb.js} +1 -1
- package/dist/Progress-DjM86vfb.js +254 -0
- package/dist/{ScrollingText-1Qjnwz6H.js → ScrollingText-P9o_DuMn.js} +1 -1
- package/dist/{SelectScrollDownButton-BvvvAbuh.js → SelectScrollDownButton-BGn3rjs9.js} +9 -8
- package/dist/TabsIndicator-DA0x9gPr.js +97 -0
- package/dist/{ToggleGroupItem-Cy7xHFEo.js → ToggleGroupItem-gyXj998A.js} +37 -40
- package/dist/UnderlineTabs-Cq_AD03t.js +39 -0
- package/dist/animated-digit.js +2 -2
- package/dist/api/index.d.ts +2 -0
- package/dist/api.js +1 -1
- package/dist/aurora.js +454 -271
- package/dist/{button-DS3ULf5i.js → button-Ckn3eDfB.js} +27 -22
- package/dist/button.js +1 -1
- package/dist/card.js +1 -1
- package/dist/carousel.js +2 -2
- package/dist/collapsible.js +1 -1
- package/dist/color-rkK4RMx2.js +33 -0
- package/dist/color.d.ts +1 -0
- package/dist/color.js +2 -0
- package/dist/command.js +1 -1
- package/dist/compile-DVgAxagk.js +106 -0
- package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +7 -7
- package/dist/components/custom/aurora/Aurora.vue.d.ts +3 -3
- package/dist/components/custom/aurora/composables/color.d.ts +3 -25
- package/dist/components/custom/aurora/composables/cursorModel.d.ts +45 -0
- package/dist/components/custom/aurora/composables/frameLoop.d.ts +30 -0
- package/dist/components/custom/aurora/composables/glSetup.d.ts +29 -0
- package/dist/components/custom/aurora/composables/runtime.d.ts +45 -35
- package/dist/components/custom/aurora/composables/uniformBridge.d.ts +67 -0
- package/dist/components/custom/aurora/composables/useAurora.d.ts +14 -1
- package/dist/components/custom/aurora/composables/useCursorInteraction.d.ts +1 -1
- package/dist/components/custom/aurora/constants/budget.d.ts +50 -0
- package/dist/components/custom/aurora/{presets.d.ts → constants/presets.d.ts} +2 -5
- package/dist/components/custom/aurora/constants/shaders/aurora.frag.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/brush.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/composition.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/flow.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +2 -0
- package/dist/components/custom/aurora/constants/shaders/tonemap.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/index.d.ts +2 -2
- package/dist/components/custom/configurator/ConfiguratorLayer.vue.d.ts +14 -7
- package/dist/components/custom/configurator/density.d.ts +3 -8
- package/dist/components/custom/dock/DockBackgroundToggle.vue.d.ts +46 -0
- package/dist/components/custom/dock/DockIconButton.vue.d.ts +3 -3
- package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +2 -2
- package/dist/components/custom/dock/GlassDock.vue.d.ts +22 -18
- package/dist/components/custom/dock/composables/dockContext.d.ts +4 -4
- package/dist/components/custom/dock/composables/dockLayerContext.d.ts +13 -6
- package/dist/components/custom/dock/composables/useLayerTransition.d.ts +32 -8
- package/dist/components/custom/dock/index.d.ts +1 -0
- package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +10 -0
- package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +1 -1
- package/dist/components/custom/glyph-face/keys.d.ts +3 -29
- package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +48 -0
- package/dist/components/custom/goo-blob/composables/easing.d.ts +6 -0
- package/dist/components/custom/goo-blob/composables/useBlobMood.d.ts +14 -0
- package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +18 -0
- package/dist/components/custom/goo-blob/composables/useBlobSatellites.d.ts +13 -0
- package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +42 -0
- package/dist/components/custom/goo-blob/index.d.ts +7 -0
- package/dist/components/custom/goo-blob/shaders/metaball.frag.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/metaball.vert.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/oklch-perturb.glsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/sdf-body.glsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/watercolor-edges.glsl.d.ts +2 -0
- package/dist/components/custom/goo-blob/types.d.ts +77 -0
- package/dist/components/custom/hover-popover/HoverPopover.vue.d.ts +48 -9
- package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +2 -0
- package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +2 -2
- package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +2 -2
- package/dist/components/custom/responsive-tabs/ResponsiveTabs.vue.d.ts +13 -7
- package/dist/components/custom/search/FuzzySearch.vue.d.ts +1 -1
- package/dist/components/custom/search/SearchBar.vue.d.ts +1 -1
- package/dist/components/custom/sortable-list/SortableHandle.vue.d.ts +7 -1
- package/dist/components/custom/sortable-list/context.d.ts +2 -3
- package/dist/components/custom/tabs/BouncyTabs.vue.d.ts +6 -3
- package/dist/components/custom/tabs/BouncyToggle.vue.d.ts +7 -3
- package/dist/components/custom/tabs/UnderlineTabs.vue.d.ts +6 -3
- package/dist/components/custom/tabs/composables/useBouncySlider.d.ts +39 -0
- package/dist/components/custom/timeline/ContinuousMarkers.vue.d.ts +49 -0
- package/dist/components/custom/timeline/ContinuousRail.vue.d.ts +26 -0
- package/dist/components/custom/timeline/ContinuousTimeline.vue.d.ts +4 -4
- package/dist/components/custom/typewriter/TypewriterText.vue.d.ts +2 -2
- package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +45 -0
- package/dist/components/custom/watercolor-dot/index.d.ts +3 -0
- package/dist/components/custom/watercolor-dot/prng.d.ts +5 -0
- package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +24 -0
- package/dist/components/ui/_shared/menuItemVariants.d.ts +1 -1
- package/dist/components/ui/avatar/Avatar.vue.d.ts +1 -1
- package/dist/components/ui/avatar/AvatarImage.vue.d.ts +5 -1
- package/dist/components/ui/avatar/index.d.ts +1 -1
- package/dist/components/ui/badge/index.d.ts +2 -2
- package/dist/components/ui/button/Button.vue.d.ts +3 -1
- package/dist/components/ui/button/index.d.ts +2 -2
- package/dist/components/ui/carousel/CarouselNext.vue.d.ts +2 -2
- package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +2 -2
- package/dist/components/ui/combobox/Combobox.vue.d.ts +2 -2
- package/dist/components/ui/combobox/ComboboxInput.vue.d.ts +2 -1
- package/dist/components/ui/command/Command.vue.d.ts +3 -3
- package/dist/components/ui/command/CommandInput.vue.d.ts +2 -1
- package/dist/components/ui/data-table/DataTable.vue.d.ts +5 -4
- package/dist/components/ui/dialog/DialogContent.vue.d.ts +8 -0
- package/dist/components/ui/drawer/Drawer.vue.d.ts +4 -4
- package/dist/components/ui/input/Input.vue.d.ts +19 -1
- package/dist/components/ui/multi-select/MultiSelect.vue.d.ts +8 -4
- package/dist/components/ui/progress/Progress.vue.d.ts +26 -88
- package/dist/components/ui/progress/ProgressDefault.vue.d.ts +14 -0
- package/dist/components/ui/progress/ProgressGradient.vue.d.ts +25 -0
- package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +36 -0
- package/dist/components/ui/progress/index.d.ts +5 -2
- package/dist/components/ui/progress/useProgressGeometry.d.ts +60 -0
- package/dist/components/ui/select/Select.vue.d.ts +2 -2
- package/dist/components/ui/select/SelectContent.vue.d.ts +1 -1
- package/dist/components/ui/select/SelectTrigger.vue.d.ts +3 -0
- package/dist/components/ui/sheet/index.d.ts +1 -1
- package/dist/components/ui/slider/index.d.ts +12 -11
- package/dist/components/ui/tags-input/TagsInput.vue.d.ts +2 -2
- package/dist/components/ui/textarea/Textarea.vue.d.ts +5 -1
- package/dist/components/ui/toast/Toast.vue.d.ts +4 -4
- package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
- package/dist/components/ui/toggle/index.d.ts +1 -1
- package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +2 -3
- package/dist/composables/color/index.d.ts +49 -0
- package/dist/composables/context/createContext.d.ts +56 -0
- package/dist/composables/context/index.d.ts +1 -0
- package/dist/composables/dark/darkModeSyncScript.d.ts +23 -0
- package/dist/composables/dark/index.d.ts +3 -0
- package/dist/composables/dark/useGlobalDark.d.ts +19 -2
- package/dist/composables/dom/index.d.ts +0 -3
- package/dist/composables/dom/useClipboard.d.ts +35 -12
- package/dist/composables/dom/useDocumentVisibility.d.ts +20 -0
- package/dist/composables/glass/webgl/compile.d.ts +15 -0
- package/dist/composables/glass/webgl/shaders/procedural-color.glsl.d.ts +3 -0
- package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +55 -0
- package/dist/composables/motion/core/index.d.ts +1 -1
- package/dist/composables/motion/index.d.ts +1 -1
- package/dist/composables/motion/useCountup.d.ts +29 -0
- package/dist/composables/motion/useNumericTransition.d.ts +14 -3
- package/dist/composables/motion/vReveal.d.ts +2 -0
- package/dist/composables/sidebar/useSidebarState.d.ts +2 -2
- package/dist/composables/sortable/dragController.d.ts +44 -0
- package/dist/composables/sortable/dropResolver.d.ts +34 -0
- package/dist/composables/sortable/ghostRenderer.d.ts +44 -0
- package/dist/composables/sortable/index.d.ts +1 -1
- package/dist/composables/sortable/touchGate.d.ts +26 -0
- package/dist/composables/sortable/transitionTiming.d.ts +50 -0
- package/dist/composables/sortable/types.d.ts +133 -0
- package/dist/composables/sortable/useSortable.d.ts +25 -153
- package/dist/configurator.js +1 -1
- package/dist/confirm-dialog.js +1 -1
- package/dist/controls.js +4 -4
- package/dist/createContext-DBMGRlx4.js +25 -0
- package/dist/dark.d.ts +2 -1
- package/dist/dark.js +9 -2
- package/dist/data-table.js +1 -1
- package/dist/dialog.js +1 -1
- package/dist/disco-glyph.js +1 -1
- package/dist/dock.js +400 -261
- package/dist/dockContext-spUj_-E5.js +9 -0
- package/dist/dom.js +6 -6
- package/dist/{dropdown-menu-naE0skDg.js → dropdown-menu-EFjl5iKo.js} +1 -1
- package/dist/dropdown-menu.js +1 -1
- package/dist/expandable-container.js +26 -20
- package/dist/fonts/README.md +21 -0
- package/dist/fonts/fraunces/fraunces-latin.woff2 +0 -0
- package/dist/forms.js +68 -59
- package/dist/glass-panel.js +1 -1
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +226 -328
- package/dist/glyph-face.js +2 -2
- package/dist/goo-blob.d.ts +1 -0
- package/dist/goo-blob.js +538 -0
- package/dist/header-ribbon.js +2 -2
- package/dist/hover-card.js +1 -1
- package/dist/hover-popover.js +1 -1
- package/dist/icon-tooltip.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/instrument-chassis.js +1 -1
- package/dist/instrument-rail.js +1 -1
- package/dist/keys-BFoma9vm.js +9 -0
- package/dist/label.js +1 -1
- package/dist/labeled-field.js +57 -39
- package/dist/metric-badge.js +1 -1
- package/dist/motion-core.js +82 -123
- package/dist/motion.js +62 -14
- package/dist/number-field.js +1 -1
- package/dist/paper-backdrop.js +1 -1
- package/dist/popover.js +1 -1
- package/dist/{presets-BpTf63Hp.js → presets-1OhFpaIC.js} +1 -1
- package/dist/prng-Bz_1Tydc.js +15 -0
- package/dist/progress.js +2 -2
- package/dist/reactive.js +2 -2
- package/dist/responsive-tabs.js +38 -32
- package/dist/scrolling-text.js +1 -1
- package/dist/search.js +8 -8
- package/dist/select.js +3 -3
- package/dist/separator.js +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-wx8ifVFB.js → slider-BOh8ycfZ.js} +7 -11
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +36 -38
- package/dist/stacked-icons.js +2 -2
- package/dist/styles/animations.css +1 -1
- package/dist/styles/cards.css +1 -1
- package/dist/styles/components.css +1 -1
- package/dist/styles/dock-controls.css +486 -0
- package/dist/styles/dock.css +284 -450
- package/dist/styles/fonts.css +25 -0
- package/dist/styles/glass-specular-track.css +154 -0
- package/dist/styles/glass.css +74 -2
- package/dist/styles/index.css +21 -2
- package/dist/styles/instrument-chassis.css +11 -4
- package/dist/styles/theme.css +73 -21
- package/dist/styles/tokens.css +271 -140
- package/dist/styles/typography.css +14 -8
- package/dist/styles/utilities.css +36 -8
- package/dist/styles/view-transition.css +10 -4
- package/dist/switch.js +1 -1
- package/dist/tabs.js +139 -112
- package/dist/timeline.js +219 -158
- package/dist/toast.js +1 -1
- package/dist/toggle-group.js +1 -1
- package/dist/tokens.d.ts +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{useAnimatedNumber-BOxrS3a6.js → useAnimatedNumber-BF6r64lA.js} +1 -1
- package/dist/useClipboard-D8vFyRCa.js +97 -0
- package/dist/{useConfiguratorState-Dq2gNv4A.js → useConfiguratorState-DUtC1jxr.js} +82 -86
- package/dist/useGlobalDark-CWiaCoEw.js +34 -0
- package/dist/useIntersectionPause-DAdVPVp4.js +53 -0
- package/dist/useSortable-DnyGXKKY.js +246 -0
- package/dist/{useTouchGate-XX8gHfay.js → useTouchGate-CS5Csc2h.js} +1 -1
- package/dist/utils/prng.d.ts +4 -0
- package/dist/vReveal-u2wSG2El.js +35 -0
- package/dist/watercolor-dot.d.ts +1 -0
- package/dist/watercolor-dot.js +129 -0
- package/package.json +101 -16
- package/src/fonts/README.md +21 -0
- package/src/fonts/fraunces/fraunces-latin.woff2 +0 -0
- package/src/styles/animations.css +1 -1
- package/src/styles/cards.css +1 -1
- package/src/styles/dock-controls.css +486 -0
- package/src/styles/dock.css +284 -450
- package/src/styles/fonts.css +25 -0
- package/src/styles/glass-specular-track.css +154 -0
- package/src/styles/glass.css +74 -2
- package/src/styles/index.css +21 -2
- package/src/styles/instrument-chassis.css +11 -4
- package/src/styles/theme.css +73 -21
- package/src/styles/tokens.css +271 -140
- package/src/styles/typography.css +14 -8
- package/src/styles/utilities.css +36 -8
- package/src/styles/view-transition.css +10 -4
- package/dist/DataTable-BsrDYdoE.js +0 -460
- package/dist/DialogContent-B61rP8lj.js +0 -93
- package/dist/HoverPopover-BlEwqG7S.js +0 -96
- package/dist/Input-IFsIzId2.js +0 -30
- package/dist/Progress-Bs44qWEM.js +0 -126
- package/dist/UnderlineTabs-B4FV2zi_.js +0 -37
- package/dist/components/custom/aurora/shaders/aurora.frag.d.ts +0 -1
- package/dist/composables/dom/useBreakpoint.d.ts +0 -38
- package/dist/composables/dom/useIdleReady.d.ts +0 -63
- package/dist/composables/dom/useViewportReady.d.ts +0 -87
- package/dist/composables/glass/webgl/frostShader.d.ts +0 -27
- package/dist/composables/motion/useAnimatedNumberMap.d.ts +0 -29
- package/dist/composables/motion/useStagger.d.ts +0 -50
- package/dist/dockContext-DM58L1Jt.js +0 -16
- package/dist/keys-SIKQYNx1.js +0 -11
- package/dist/supportsCssTimeline-IQY3gfKD.js +0 -12
- package/dist/useGlobalDark-BUUTZvkU.js +0 -24
- package/dist/useIdleReady-sLhGo6CL.js +0 -162
- package/dist/useIntersectionPause-CUmANkoc.js +0 -39
- package/dist/useSortable-DLK9kwZp.js +0 -189
- /package/dist/{HoverCardContent-DGUhpRVt.js → HoverCardContent-ICfIMZX1.js} +0 -0
- /package/dist/{InstrumentChassis-CqKPBNqp.js → InstrumentChassis-DaHIZCqy.js} +0 -0
- /package/dist/{InstrumentRail-CCjvKkpB.js → InstrumentRail-B0qqLFN0.js} +0 -0
- /package/dist/{Label-D53EOwLE.js → Label-CZk-3nTc.js} +0 -0
- /package/dist/{PaperBackdrop-Ds-wDsKf.js → PaperBackdrop-D_YZW47j.js} +0 -0
- /package/dist/{SelectGroup-DAgcsfFw.js → SelectGroup-CMdoCjRE.js} +0 -0
- /package/dist/{SelectSeparator-DN1jzLaI.js → SelectSeparator-CaJnPF3_.js} +0 -0
- /package/dist/{Separator-DXxac0j8.js → Separator-C2XtAXRp.js} +0 -0
- /package/dist/{Switch-imA0Hdjs.js → Switch-x8n6husW.js} +0 -0
- /package/dist/{Toaster-Brs6QjBU.js → Toaster-DdhMKfus.js} +0 -0
- /package/dist/{TooltipProvider-MZFRxOvT.js → TooltipProvider-D-JrSqDu.js} +0 -0
- /package/dist/components/custom/aurora/{renderMode.d.ts → constants/renderMode.d.ts} +0 -0
- /package/dist/components/custom/aurora/{shaders → constants/shaders}/aurora.vert.d.ts +0 -0
- /package/dist/{constants-DfWPi8kh.js → constants-DsCdlK9I.js} +0 -0
- /package/dist/{sheet-BnvZRXPq.js → sheet-CQYYrkr9.js} +0 -0
- /package/dist/{useGlassRenderer-C98tZnJ7.js → useGlassRenderer-Dn3WpfG-.js} +0 -0
- /package/dist/{useInterval-B58LmYth.js → useInterval-CHVYFpXV.js} +0 -0
- /package/dist/{useResizeObserver-C_7GjpRn.js → useResizeObserver-DX-STszm.js} +0 -0
- /package/dist/{useTextHighlight-CLST6an0.js → useTextHighlight-Dmtofpk2.js} +0 -0
- /package/dist/{useTimer-6FoosoDY.js → useTimer-DGgoxTXL.js} +0 -0
- /package/dist/{useUserInvalidAria-BW5iyqWR.js → useUserInvalidAria-DmvZ_6Dx.js} +0 -0
- /package/dist/{useViewTransition-CUJM7fXT.js → useViewTransition-D4ssvnXZ.js} +0 -0
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import { computed as e, onScopeDispose as t, shallowRef as n } from "vue";
|
|
2
|
+
//#region src/composables/sortable/dropResolver.ts
|
|
3
|
+
var r = /* @__PURE__ */ new Set();
|
|
4
|
+
function i(e, t, n, r, i) {
|
|
5
|
+
let a = i ? n : r;
|
|
6
|
+
for (let n = 0; n < t.length; n++) {
|
|
7
|
+
let r = e.get(t[n].id);
|
|
8
|
+
if (!r) continue;
|
|
9
|
+
let o = r.getBoundingClientRect();
|
|
10
|
+
if (a < (i ? o.left + o.width / 2 : o.top + o.height / 2)) return n;
|
|
11
|
+
}
|
|
12
|
+
return t.length;
|
|
13
|
+
}
|
|
14
|
+
function a(e, t, n) {
|
|
15
|
+
if (!e.group) return null;
|
|
16
|
+
for (let i of r) {
|
|
17
|
+
if (i === e || i.group !== e.group) continue;
|
|
18
|
+
let r = i.getContainer();
|
|
19
|
+
if (!r) continue;
|
|
20
|
+
let a = r.getBoundingClientRect();
|
|
21
|
+
if (t >= a.left && t <= a.right && n >= a.top && n <= a.bottom) return i;
|
|
22
|
+
}
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
//#region src/composables/sortable/transitionTiming.ts
|
|
27
|
+
var o = "is-sortable-drop-above", s = "is-sortable-drop-below", c = "sortable-drag-ghost", l = "is-sortable-dragging";
|
|
28
|
+
function u(e, t, n) {
|
|
29
|
+
return e < 0 ? {
|
|
30
|
+
above: !1,
|
|
31
|
+
below: !1
|
|
32
|
+
} : t === n ? {
|
|
33
|
+
above: !1,
|
|
34
|
+
below: e === n - 1
|
|
35
|
+
} : {
|
|
36
|
+
above: e === t,
|
|
37
|
+
below: !1
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function d(e) {
|
|
41
|
+
let t = {
|
|
42
|
+
[o]: !1,
|
|
43
|
+
[s]: !1
|
|
44
|
+
};
|
|
45
|
+
if (e.isLocalDragging && e.localDrop !== null) {
|
|
46
|
+
let n = u(e.rowIndex, e.localDrop, e.listLength);
|
|
47
|
+
n.above && (t[o] = !0), n.below && (t[s] = !0);
|
|
48
|
+
}
|
|
49
|
+
if (e.externalDrop !== null && !e.isLocalDragging) {
|
|
50
|
+
let n = u(e.rowIndex, e.externalDrop, e.listLength);
|
|
51
|
+
n.above && (t[o] = !0), n.below && (t[s] = !0);
|
|
52
|
+
}
|
|
53
|
+
return t;
|
|
54
|
+
}
|
|
55
|
+
//#endregion
|
|
56
|
+
//#region src/composables/sortable/ghostRenderer.ts
|
|
57
|
+
function f(e) {
|
|
58
|
+
return e ? e.replace(/\//g, " ").split(/\s+/).filter(Boolean).some((e) => parseFloat(e) !== 0) : !1;
|
|
59
|
+
}
|
|
60
|
+
function p(e) {
|
|
61
|
+
let t = getComputedStyle(e).borderRadius;
|
|
62
|
+
if (f(t)) return t;
|
|
63
|
+
for (let t of e.querySelectorAll("*")) {
|
|
64
|
+
let e = getComputedStyle(t).borderRadius;
|
|
65
|
+
if (f(e)) return e;
|
|
66
|
+
}
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
function m() {
|
|
70
|
+
let e = null, t = 0, n = 0;
|
|
71
|
+
function r(r, i, a) {
|
|
72
|
+
let o = r.getBoundingClientRect();
|
|
73
|
+
t = i - o.left, n = a - o.top;
|
|
74
|
+
let s = r.cloneNode(!0);
|
|
75
|
+
s.classList.add(c);
|
|
76
|
+
let l = p(r);
|
|
77
|
+
l && (s.style.borderRadius = l), s.style.position = "fixed", s.style.left = `${o.left}px`, s.style.top = `${o.top}px`, s.style.width = `${o.width}px`, s.style.height = `${o.height}px`, s.style.margin = "0", s.style.pointerEvents = "none", s.style.zIndex = "9999", s.id && s.removeAttribute("id");
|
|
78
|
+
for (let e of s.querySelectorAll("[id]")) e.removeAttribute("id");
|
|
79
|
+
document.body.appendChild(s), e = s;
|
|
80
|
+
}
|
|
81
|
+
function i(r, i) {
|
|
82
|
+
e && (e.style.left = `${r - t}px`, e.style.top = `${i - n}px`);
|
|
83
|
+
}
|
|
84
|
+
function a() {
|
|
85
|
+
e && e.parentNode && e.parentNode.removeChild(e), e = null;
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
createGhost: r,
|
|
89
|
+
updateGhost: i,
|
|
90
|
+
destroyGhost: a
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
//#endregion
|
|
94
|
+
//#region src/composables/sortable/touchGate.ts
|
|
95
|
+
function h(e, t) {
|
|
96
|
+
return t === null ? !0 : e instanceof Element ? e.closest(t) !== null : !1;
|
|
97
|
+
}
|
|
98
|
+
function g(e, t) {
|
|
99
|
+
if (e && "setPointerCapture" in e) try {
|
|
100
|
+
return e.setPointerCapture(t), !0;
|
|
101
|
+
} catch {
|
|
102
|
+
return !1;
|
|
103
|
+
}
|
|
104
|
+
return !0;
|
|
105
|
+
}
|
|
106
|
+
//#endregion
|
|
107
|
+
//#region src/composables/sortable/dragController.ts
|
|
108
|
+
function _(e) {
|
|
109
|
+
let { getItems: t, getId: r, elements: o, handle: s, onReorder: c, horizontal: u, ghost: d } = e, f = n(null), p = n(null), m = n(null), h = n(!0), _ = null, v = null;
|
|
110
|
+
function y(e) {
|
|
111
|
+
let n = t();
|
|
112
|
+
for (let t = 0; t < n.length; t++) if (r(n[t]) === e) return t;
|
|
113
|
+
return -1;
|
|
114
|
+
}
|
|
115
|
+
function b(e, n) {
|
|
116
|
+
return i(o, t().map((e) => ({ id: r(e) })), e, n, u);
|
|
117
|
+
}
|
|
118
|
+
function x(e, t) {
|
|
119
|
+
let n = o.get(e);
|
|
120
|
+
if (!(n instanceof HTMLElement)) return;
|
|
121
|
+
f.value = e, p.value = {
|
|
122
|
+
x: t.clientX,
|
|
123
|
+
y: t.clientY
|
|
124
|
+
}, m.value = y(e), h.value = !0, _ = null, v = n, n.classList.add(l), d.createGhost(n, t.clientX, t.clientY);
|
|
125
|
+
let r = t.currentTarget;
|
|
126
|
+
h.value = g(r, t.pointerId), document.addEventListener("pointermove", S), document.addEventListener("pointerup", C), document.addEventListener("pointercancel", C);
|
|
127
|
+
}
|
|
128
|
+
function S(e) {
|
|
129
|
+
if (f.value === null) return;
|
|
130
|
+
p.value = {
|
|
131
|
+
x: e.clientX,
|
|
132
|
+
y: e.clientY
|
|
133
|
+
}, d.updateGhost(e.clientX, e.clientY);
|
|
134
|
+
let t = a(s, e.clientX, e.clientY);
|
|
135
|
+
if (t) {
|
|
136
|
+
_ && _ !== t && _.setExternalDropIndex(null), _ = t;
|
|
137
|
+
let n = t.getItems().map((e) => ({ id: t.getId(e) })), r = i(t.getElements(), n, e.clientX, e.clientY, u);
|
|
138
|
+
t.setExternalDropIndex(r), m.value = null;
|
|
139
|
+
} else _ &&= (_.setExternalDropIndex(null), null), m.value = b(e.clientX, e.clientY);
|
|
140
|
+
}
|
|
141
|
+
function C(e) {
|
|
142
|
+
let n = f.value, i = _, a = m.value;
|
|
143
|
+
if (w(), n === null) return;
|
|
144
|
+
let o = t(), s = o.findIndex((e) => r(e) === n);
|
|
145
|
+
if (s < 0) return;
|
|
146
|
+
if (i) {
|
|
147
|
+
let e = o[s], t = o.slice();
|
|
148
|
+
t.splice(s, 1), c(t);
|
|
149
|
+
let n = i.getExternalDropIndex?.() ?? null;
|
|
150
|
+
i.setExternalDropIndex(null), i.acceptExternal(n ?? 0, e);
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
if (a === null) return;
|
|
154
|
+
let l = a;
|
|
155
|
+
if (l > s && --l, l === s) return;
|
|
156
|
+
let u = o.slice(), [d] = u.splice(s, 1);
|
|
157
|
+
u.splice(l, 0, d), c(u);
|
|
158
|
+
}
|
|
159
|
+
function w() {
|
|
160
|
+
d.destroyGhost(), v &&= (v.classList.remove(l), null), _ &&= (_.setExternalDropIndex(null), null), f.value = null, p.value = null, m.value = null, document.removeEventListener("pointermove", S), document.removeEventListener("pointerup", C), document.removeEventListener("pointercancel", C);
|
|
161
|
+
}
|
|
162
|
+
return {
|
|
163
|
+
dragId: f,
|
|
164
|
+
pos: p,
|
|
165
|
+
dropIndex: m,
|
|
166
|
+
pointerCaptureActive: h,
|
|
167
|
+
beginDrag: x,
|
|
168
|
+
endDrag: w
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
//#endregion
|
|
172
|
+
//#region src/composables/sortable/useSortable.ts
|
|
173
|
+
var v = "[data-sortable-handle]";
|
|
174
|
+
function y(i) {
|
|
175
|
+
let { items: a, getId: o, onReorder: s, onInsert: c, group: l, handleSelector: u = v, axis: f = "y" } = i, p = /* @__PURE__ */ new Map(), g = /* @__PURE__ */ new Map(), y = null, b = n(null);
|
|
176
|
+
function x() {
|
|
177
|
+
return a.value;
|
|
178
|
+
}
|
|
179
|
+
function S(e) {
|
|
180
|
+
let t = x();
|
|
181
|
+
for (let n = 0; n < t.length; n++) if (o(t[n]) === e) return n;
|
|
182
|
+
return -1;
|
|
183
|
+
}
|
|
184
|
+
let C = {
|
|
185
|
+
group: l,
|
|
186
|
+
getContainer: () => y,
|
|
187
|
+
getItems: () => a.value,
|
|
188
|
+
getId: (e) => o(e),
|
|
189
|
+
getElements: () => p,
|
|
190
|
+
setExternalDropIndex: (e) => {
|
|
191
|
+
b.value = e;
|
|
192
|
+
},
|
|
193
|
+
acceptExternal: (e, t) => {
|
|
194
|
+
c && c(e, t);
|
|
195
|
+
},
|
|
196
|
+
getExternalDropIndex: () => b.value
|
|
197
|
+
}, w = m(), T = _({
|
|
198
|
+
getItems: () => a.value,
|
|
199
|
+
getId: (e) => o(e),
|
|
200
|
+
elements: p,
|
|
201
|
+
handle: C,
|
|
202
|
+
onReorder: (e) => s(e),
|
|
203
|
+
horizontal: f === "x",
|
|
204
|
+
ghost: w
|
|
205
|
+
});
|
|
206
|
+
function E(t) {
|
|
207
|
+
let n = g.get(t);
|
|
208
|
+
if (n) return n;
|
|
209
|
+
let r = (e) => {
|
|
210
|
+
e === null ? p.delete(t) : p.set(t, e);
|
|
211
|
+
}, i = e(() => d({
|
|
212
|
+
rowIndex: S(t),
|
|
213
|
+
listLength: x().length,
|
|
214
|
+
localDrop: T.dropIndex.value,
|
|
215
|
+
isLocalDragging: T.dragId.value !== null,
|
|
216
|
+
externalDrop: b.value
|
|
217
|
+
})), a = {
|
|
218
|
+
ref: r,
|
|
219
|
+
dataAttrs: { "data-sortable-id": String(t) },
|
|
220
|
+
class: i,
|
|
221
|
+
onPointerdown: (e) => {
|
|
222
|
+
e.button === 0 && h(e.target, u) && (e.preventDefault(), T.beginDrag(t, e));
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
return g.set(t, a), a;
|
|
226
|
+
}
|
|
227
|
+
let D = {
|
|
228
|
+
ref: (e) => {
|
|
229
|
+
y = e;
|
|
230
|
+
},
|
|
231
|
+
dataAttrs: { "data-sortable-container": l ?? "" }
|
|
232
|
+
};
|
|
233
|
+
return r.add(C), t(() => {
|
|
234
|
+
r.delete(C), T.endDrag();
|
|
235
|
+
}), {
|
|
236
|
+
registerItem: E,
|
|
237
|
+
container: D,
|
|
238
|
+
isDragging: e(() => T.dragId.value !== null),
|
|
239
|
+
dragId: e(() => T.dragId.value),
|
|
240
|
+
dragPosition: e(() => T.pos.value),
|
|
241
|
+
dropIndex: e(() => T.dropIndex.value),
|
|
242
|
+
pointerCaptureActive: e(() => T.pointerCaptureActive.value)
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
//#endregion
|
|
246
|
+
export { y as t };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
//#region src/utils/moveBefore.ts
|
|
2
|
+
function e(e, t, n) {
|
|
3
|
+
let r = e;
|
|
4
|
+
typeof r.moveBefore == "function" ? r.moveBefore(t, n) : e.insertBefore(t, n);
|
|
5
|
+
}
|
|
6
|
+
function t() {
|
|
7
|
+
return typeof Element < "u" && "moveBefore" in Element.prototype;
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/composables/motion/supportsCssTimeline.ts
|
|
11
|
+
function n(e, t) {
|
|
12
|
+
return typeof CSS > "u" || typeof CSS.supports != "function" ? !1 : CSS.supports("animation-timeline", e) && !CSS.supports("animation-timeline", t);
|
|
13
|
+
}
|
|
14
|
+
function r() {
|
|
15
|
+
return n("scroll()", "gl-not-a-real-timeline");
|
|
16
|
+
}
|
|
17
|
+
function i() {
|
|
18
|
+
return n("view()", "gl-not-a-real-timeline");
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
//#region src/utils/platformSupport.ts
|
|
22
|
+
function a() {
|
|
23
|
+
return typeof globalThis.scheduler?.postTask == "function";
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
//#region src/composables/motion/vReveal.ts
|
|
27
|
+
function o(e, t) {
|
|
28
|
+
e.setAttribute("data-reveal", t.arg === "fade" ? "fade" : ""), e.style.setProperty("--d", String(t.value ?? 0));
|
|
29
|
+
}
|
|
30
|
+
var s = {
|
|
31
|
+
mounted: o,
|
|
32
|
+
updated: o
|
|
33
|
+
};
|
|
34
|
+
//#endregion
|
|
35
|
+
export { e as a, i, a as n, t as o, r, s as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./components/custom/watercolor-dot";
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { t as e } from "./_plugin-vue_export-helper-C1je1s0u.js";
|
|
2
|
+
import { n as t, t as n } from "./prng-Bz_1Tydc.js";
|
|
3
|
+
import { computed as r, createBlock as i, createElementVNode as a, defineComponent as o, normalizeClass as s, normalizeStyle as c, onUnmounted as l, openBlock as u, ref as d, renderSlot as f, resolveDynamicComponent as p, toRef as m, useId as h, watch as g, withCtx as _ } from "vue";
|
|
4
|
+
//#region src/components/custom/watercolor-dot/prng.ts
|
|
5
|
+
function v(e, t, n) {
|
|
6
|
+
let r = [];
|
|
7
|
+
for (let i = 0; i < 8; i++) r.push(t + e() * (n - t));
|
|
8
|
+
return r;
|
|
9
|
+
}
|
|
10
|
+
function y(e) {
|
|
11
|
+
return `${e[0]}% ${e[1]}% ${e[2]}% ${e[3]}% / ${e[4]}% ${e[5]}% ${e[6]}% ${e[7]}%`;
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/components/custom/watercolor-dot/useWatercolorBlob.ts
|
|
15
|
+
function b(e, r = {}) {
|
|
16
|
+
let { animate: i = !1, cycleDuration: a = 4e3, range: o = [20, 80], seed: s = "" } = r, c = d(""), u = d(""), f = t(n((typeof e == "function" ? e : () => e.value)() + s)), p = v(f, o[0], o[1]);
|
|
17
|
+
c.value = y(p), u.value = y(v(f, o[0], o[1]));
|
|
18
|
+
let m = () => {};
|
|
19
|
+
if (!i) return typeof e != "function" && g(e, (e) => {
|
|
20
|
+
let r = t(n(e + s));
|
|
21
|
+
c.value = y(v(r, o[0], o[1])), u.value = y(v(r, o[0], o[1]));
|
|
22
|
+
}), {
|
|
23
|
+
borderRadius: c,
|
|
24
|
+
hoverBorderRadius: u,
|
|
25
|
+
nudge: m
|
|
26
|
+
};
|
|
27
|
+
let [h, _] = o, b = [...p], x = [];
|
|
28
|
+
for (let e = 0; e < 8; e++) {
|
|
29
|
+
let t = .5 + f() * 1.3, n = f();
|
|
30
|
+
x.push({
|
|
31
|
+
from: p[e] ?? h,
|
|
32
|
+
to: h + f() * (_ - h),
|
|
33
|
+
startTime: -n * a * t,
|
|
34
|
+
duration: a * t
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
let S = null, C = 0;
|
|
38
|
+
function w(e) {
|
|
39
|
+
C = e;
|
|
40
|
+
for (let t = 0; t < 8; t++) {
|
|
41
|
+
let n = x[t];
|
|
42
|
+
if (!n) continue;
|
|
43
|
+
let r = (e - n.startTime) / n.duration;
|
|
44
|
+
r >= 1 && (n.from = n.to, n.to = h + f() * (_ - h), n.duration = a * (.5 + f() * 1.3), n.startTime = e, r = 0);
|
|
45
|
+
let i = .5 - .5 * Math.cos(Math.PI * r);
|
|
46
|
+
b[t] = n.from + i * (n.to - n.from);
|
|
47
|
+
}
|
|
48
|
+
c.value = y(b), S = requestAnimationFrame(w);
|
|
49
|
+
}
|
|
50
|
+
return m = () => {
|
|
51
|
+
let e = C || performance.now();
|
|
52
|
+
for (let t = 0; t < 8; t++) {
|
|
53
|
+
let n = x[t];
|
|
54
|
+
n && (n.from = b[t] ?? n.from, n.to = h + f() * (_ - h), n.duration = a * (.25 + f() * .25), n.startTime = e);
|
|
55
|
+
}
|
|
56
|
+
}, S = requestAnimationFrame(w), l(() => {
|
|
57
|
+
S !== null && (cancelAnimationFrame(S), S = null);
|
|
58
|
+
}), {
|
|
59
|
+
borderRadius: c,
|
|
60
|
+
hoverBorderRadius: u,
|
|
61
|
+
nudge: m
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
//#endregion
|
|
65
|
+
//#region src/components/custom/watercolor-dot/WatercolorDot.vue
|
|
66
|
+
var x = /* @__PURE__ */ e(/* @__PURE__ */ o({
|
|
67
|
+
__name: "WatercolorDot",
|
|
68
|
+
props: {
|
|
69
|
+
color: {},
|
|
70
|
+
animate: {
|
|
71
|
+
type: Boolean,
|
|
72
|
+
default: !1
|
|
73
|
+
},
|
|
74
|
+
tag: { default: "div" },
|
|
75
|
+
cycleDuration: { default: 4e3 },
|
|
76
|
+
range: { default: () => [20, 80] },
|
|
77
|
+
seed: { default: "" }
|
|
78
|
+
},
|
|
79
|
+
setup(e) {
|
|
80
|
+
let t = e, n = `watercolor-filter-${h().replace(/[^a-zA-Z0-9_-]/g, "")}`, o = r(() => `url(#${n})`), l = m(t, "color"), g = d(!1), v = b(l, {
|
|
81
|
+
animate: t.animate,
|
|
82
|
+
cycleDuration: t.cycleDuration,
|
|
83
|
+
range: t.range,
|
|
84
|
+
seed: t.seed
|
|
85
|
+
});
|
|
86
|
+
function y() {
|
|
87
|
+
g.value = !0, t.animate && v.nudge();
|
|
88
|
+
}
|
|
89
|
+
let x = r(() => t.animate ? v.borderRadius.value : g.value ? v.hoverBorderRadius.value : v.borderRadius.value);
|
|
90
|
+
return (t, r) => (u(), i(p(e.tag), {
|
|
91
|
+
class: s(["watercolor-swatch", e.animate && "watercolor-animated"]),
|
|
92
|
+
style: c({
|
|
93
|
+
backgroundColor: e.color,
|
|
94
|
+
borderRadius: x.value,
|
|
95
|
+
"--watercolor-filter": o.value
|
|
96
|
+
}),
|
|
97
|
+
onMouseenter: y,
|
|
98
|
+
onMouseleave: r[0] ||= (e) => g.value = !1
|
|
99
|
+
}, {
|
|
100
|
+
default: _(() => [a("svg", {
|
|
101
|
+
class: "watercolor-filter-host",
|
|
102
|
+
"aria-hidden": "true",
|
|
103
|
+
focusable: "false"
|
|
104
|
+
}, [a("defs", null, [a("filter", {
|
|
105
|
+
id: n,
|
|
106
|
+
x: "-10%",
|
|
107
|
+
y: "-10%",
|
|
108
|
+
width: "120%",
|
|
109
|
+
height: "120%",
|
|
110
|
+
"color-interpolation-filters": "sRGB"
|
|
111
|
+
}, [...r[1] ||= [a("feTurbulence", {
|
|
112
|
+
type: "fractalNoise",
|
|
113
|
+
baseFrequency: "0.04",
|
|
114
|
+
numOctaves: "4",
|
|
115
|
+
seed: "2",
|
|
116
|
+
result: "noise"
|
|
117
|
+
}, null, -1), a("feDisplacementMap", {
|
|
118
|
+
in: "SourceGraphic",
|
|
119
|
+
in2: "noise",
|
|
120
|
+
scale: "1.5",
|
|
121
|
+
xChannelSelector: "R",
|
|
122
|
+
yChannelSelector: "G"
|
|
123
|
+
}, null, -1)]])])]), f(t.$slots, "default", {}, void 0, !0)]),
|
|
124
|
+
_: 3
|
|
125
|
+
}, 40, ["class", "style"]));
|
|
126
|
+
}
|
|
127
|
+
}), [["__scopeId", "data-v-5e8693fa"]]);
|
|
128
|
+
//#endregion
|
|
129
|
+
export { x as WatercolorDot, n as hashString, t as mulberry32, y as radiiToCSS, v as randomRadii, b as useWatercolorBlob };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mkbabb/glass-ui",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.0",
|
|
4
4
|
"description": "Glassmorphic design system — Vue 3.5 components, reka-ui primitives, Tailwind CSS v4 tokens",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -49,9 +49,24 @@
|
|
|
49
49
|
"aurora": [
|
|
50
50
|
"dist/aurora.d.ts"
|
|
51
51
|
],
|
|
52
|
+
"color": [
|
|
53
|
+
"dist/color.d.ts"
|
|
54
|
+
],
|
|
55
|
+
"goo-blob": [
|
|
56
|
+
"dist/goo-blob.d.ts"
|
|
57
|
+
],
|
|
58
|
+
"watercolor-dot": [
|
|
59
|
+
"dist/watercolor-dot.d.ts"
|
|
60
|
+
],
|
|
52
61
|
"metric-badge": [
|
|
53
62
|
"dist/metric-badge.d.ts"
|
|
54
63
|
],
|
|
64
|
+
"metric-cell": [
|
|
65
|
+
"dist/metric-cell.d.ts"
|
|
66
|
+
],
|
|
67
|
+
"metric-stack": [
|
|
68
|
+
"dist/metric-stack.d.ts"
|
|
69
|
+
],
|
|
55
70
|
"status-dot": [
|
|
56
71
|
"dist/status-dot.d.ts"
|
|
57
72
|
],
|
|
@@ -121,15 +136,9 @@
|
|
|
121
136
|
"carousel": [
|
|
122
137
|
"dist/carousel.d.ts"
|
|
123
138
|
],
|
|
124
|
-
"metric-stack": [
|
|
125
|
-
"dist/metric-stack.d.ts"
|
|
126
|
-
],
|
|
127
139
|
"animated-digit": [
|
|
128
140
|
"dist/animated-digit.d.ts"
|
|
129
141
|
],
|
|
130
|
-
"metric-cell": [
|
|
131
|
-
"dist/metric-cell.d.ts"
|
|
132
|
-
],
|
|
133
142
|
"responsive-tabs": [
|
|
134
143
|
"dist/responsive-tabs.d.ts"
|
|
135
144
|
],
|
|
@@ -277,6 +286,18 @@
|
|
|
277
286
|
"types": "./dist/aurora.d.ts",
|
|
278
287
|
"import": "./dist/aurora.js"
|
|
279
288
|
},
|
|
289
|
+
"./color": {
|
|
290
|
+
"types": "./dist/color.d.ts",
|
|
291
|
+
"import": "./dist/color.js"
|
|
292
|
+
},
|
|
293
|
+
"./goo-blob": {
|
|
294
|
+
"types": "./dist/goo-blob.d.ts",
|
|
295
|
+
"import": "./dist/goo-blob.js"
|
|
296
|
+
},
|
|
297
|
+
"./watercolor-dot": {
|
|
298
|
+
"types": "./dist/watercolor-dot.d.ts",
|
|
299
|
+
"import": "./dist/watercolor-dot.js"
|
|
300
|
+
},
|
|
280
301
|
"./configurator": {
|
|
281
302
|
"types": "./dist/configurator.d.ts",
|
|
282
303
|
"import": "./dist/configurator.js"
|
|
@@ -289,6 +310,10 @@
|
|
|
289
310
|
"types": "./dist/metric-badge.d.ts",
|
|
290
311
|
"import": "./dist/metric-badge.js"
|
|
291
312
|
},
|
|
313
|
+
"./metric-cell": {
|
|
314
|
+
"types": "./dist/metric-cell.d.ts",
|
|
315
|
+
"import": "./dist/metric-cell.js"
|
|
316
|
+
},
|
|
292
317
|
"./metric-stack": {
|
|
293
318
|
"types": "./dist/metric-stack.d.ts",
|
|
294
319
|
"import": "./dist/metric-stack.js"
|
|
@@ -297,10 +322,6 @@
|
|
|
297
322
|
"types": "./dist/animated-digit.d.ts",
|
|
298
323
|
"import": "./dist/animated-digit.js"
|
|
299
324
|
},
|
|
300
|
-
"./metric-cell": {
|
|
301
|
-
"types": "./dist/metric-cell.d.ts",
|
|
302
|
-
"import": "./dist/metric-cell.js"
|
|
303
|
-
},
|
|
304
325
|
"./responsive-tabs": {
|
|
305
326
|
"types": "./dist/responsive-tabs.d.ts",
|
|
306
327
|
"import": "./dist/responsive-tabs.js"
|
|
@@ -516,7 +537,7 @@
|
|
|
516
537
|
"iter-build": "vite build --config vite.iter.config.ts",
|
|
517
538
|
"iter-test": "vitest run --reporter=verbose",
|
|
518
539
|
"iter-test-watch": "vitest --watch",
|
|
519
|
-
"emit-types": "vue-tsc --project tsconfig.build.json",
|
|
540
|
+
"emit-types": "vue-tsc --project tsconfig.build.json && node scripts/flatten-subpath-types.mjs",
|
|
520
541
|
"iter": "npm run iter-check && npm run iter-build && npm run iter-test",
|
|
521
542
|
"proof:package": "node scripts/proof-package.mjs",
|
|
522
543
|
"proof:consumers:static": "node scripts/proof-consumers-static.mjs",
|
|
@@ -525,9 +546,59 @@
|
|
|
525
546
|
"proof:theme": "node scripts/proof-theme-style.mjs",
|
|
526
547
|
"proof:components-css": "node scripts/proof-components-css.mjs",
|
|
527
548
|
"proof:resolution": "node scripts/proof-resolution-contract.mjs",
|
|
549
|
+
"proof:peer-conformance": "node scripts/proof-peer-conformance.mjs",
|
|
528
550
|
"proof:phantom-classes": "node scripts/proof-phantom-classes.mjs",
|
|
529
551
|
"proof:vt-names": "node scripts/proof-vt-names.mjs",
|
|
552
|
+
"proof:dock-animation-live": "node scripts/proof-dock-animation-live.mjs",
|
|
553
|
+
"proof:dock-motion-parity": "node scripts/proof-dock-motion-parity.mjs",
|
|
554
|
+
"proof:dock-motion-single-source": "node scripts/proof-dock-motion-single-source.mjs",
|
|
555
|
+
"proof:dock-opacity-lockstep": "node scripts/proof-dock-opacity-lockstep.mjs",
|
|
556
|
+
"proof:dock-a11y-contract": "vitest run tests/components/custom/dock/DockLayerRail.a11y.test.ts",
|
|
557
|
+
"proof:dock-vocabulary": "node scripts/proof-dock-vocabulary.mjs",
|
|
558
|
+
"proof:dock-css-split": "node scripts/proof-dock-controls-split.mjs",
|
|
559
|
+
"proof:design-idiom-localization": "node scripts/proof-design-idiom-localization.mjs",
|
|
560
|
+
"proof:tailwind-v4-idiom": "node scripts/proof-tailwind-v4-idiom.mjs",
|
|
561
|
+
"proof:au-w9-consumers": "node scripts/proof-au-w9-consumers.mjs",
|
|
562
|
+
"proof:shadow-contract": "node scripts/proof-shadow-contract.mjs",
|
|
563
|
+
"proof:card-cartoon-consumers": "node scripts/proof-card-cartoon-consumers.mjs",
|
|
564
|
+
"proof:doc-consistency": "node scripts/proof-doc-consistency.mjs",
|
|
565
|
+
"proof:au-w0-reground": "node scripts/proof-au-w0-reground.mjs",
|
|
566
|
+
"proof:au-w1-design": "node scripts/proof-au-w1-design.mjs",
|
|
567
|
+
"proof:au-final": "node scripts/proof-au-final.mjs",
|
|
568
|
+
"proof:strict-templates": "node scripts/proof-strict-templates.mjs",
|
|
569
|
+
"proof:peer-optional": "node scripts/proof-peer-optional.mjs",
|
|
570
|
+
"proof:vueuse-free-root": "node scripts/proof-vueuse-free-root.mjs",
|
|
571
|
+
"proof:supportsPostTask-wired": "node scripts/proof-supports-post-task-wired.mjs",
|
|
572
|
+
"proof:font-axes": "node scripts/proof-font-axes.mjs",
|
|
573
|
+
"proof:color-acyclic": "node scripts/proof-color-acyclic.mjs",
|
|
574
|
+
"proof:single-color-core": "node scripts/proof-single-color-core.mjs",
|
|
575
|
+
"proof:frostShader-deleted": "node scripts/proof-frostshader-deleted.mjs",
|
|
576
|
+
"proof:slider-two-only": "node scripts/proof-slider-two-only.mjs",
|
|
577
|
+
"proof:storybook-ia": "node scripts/proof-storybook-ia.mjs",
|
|
578
|
+
"proof:no-orphan-demo-route": "node scripts/proof-no-orphan-demo-route.mjs",
|
|
579
|
+
"proof:font-canon": "node scripts/proof-font-canon.mjs",
|
|
580
|
+
"proof:webgl-substrate-single": "node scripts/proof-webgl-substrate-single.mjs",
|
|
581
|
+
"proof:blob-value-free": "node scripts/proof-blob-value-free.mjs",
|
|
582
|
+
"proof:motion-composables-consumer": "node scripts/proof-motion-composables-consumer.mjs",
|
|
583
|
+
"proof:motion-value-free": "node scripts/proof-motion-value-free.mjs",
|
|
584
|
+
"proof:no-value-default": "node scripts/proof-no-value-default.mjs",
|
|
585
|
+
"proof:blob-space-gamma": "node scripts/proof-blob-space-gamma.mjs",
|
|
586
|
+
"proof:aurora-space-gamma": "node scripts/proof-aurora-space-gamma.mjs",
|
|
587
|
+
"proof:shader-shared-source": "node scripts/proof-shader-shared-source.mjs",
|
|
588
|
+
"proof:blob-color-equivalence": "vitest run tests/components/custom/goo-blob/blob-color-equivalence.test.ts",
|
|
589
|
+
"proof:fail-explicit": "node scripts/proof-fail-explicit.mjs",
|
|
590
|
+
"proof:no-god-module": "node scripts/proof-no-god-module.mjs",
|
|
591
|
+
"proof:no-legacy-commentary": "node scripts/proof-no-legacy-commentary.mjs",
|
|
592
|
+
"proof:liquid-glass-tokens": "node scripts/proof-liquid-glass-tokens.mjs",
|
|
530
593
|
"proof:lockfile": "node scripts/proof-lockfile.mjs",
|
|
594
|
+
"proof:di-consistency": "node scripts/proof-di-consistency.mjs",
|
|
595
|
+
"proof:no-nested-import": "node scripts/proof-no-nested-import.mjs",
|
|
596
|
+
"proof:no-test-in-src": "node scripts/proof-no-test-in-src.mjs",
|
|
597
|
+
"proof:spring-tokens-synced": "node scripts/proof-spring-tokens-synced.mjs",
|
|
598
|
+
"proof:offscreen-pause": "node scripts/proof-offscreen-pause.mjs",
|
|
599
|
+
"proof:subpath-enumeration": "node scripts/proof-subpath-enumeration.mjs",
|
|
600
|
+
"proof:no-orphan-composable": "node scripts/proof-no-orphan-composable.mjs",
|
|
601
|
+
"proof:speedtest-boundary": "node scripts/proof-speedtest-boundary.mjs",
|
|
531
602
|
"proof:all": "node scripts/gates.mjs --run local",
|
|
532
603
|
"gates:verify-ci": "node scripts/gates.mjs --verify-ci",
|
|
533
604
|
"profile:bundle": "node scripts/profile-bundle.mjs",
|
|
@@ -542,8 +613,8 @@
|
|
|
542
613
|
},
|
|
543
614
|
"peerDependencies": {
|
|
544
615
|
"@lucide/vue": "^1.16.0",
|
|
545
|
-
"@mkbabb/keyframes.js": "^2.2.0 || ^3.0.0",
|
|
546
|
-
"@mkbabb/value.js": "^0.10.0",
|
|
616
|
+
"@mkbabb/keyframes.js": "^2.2.0 || ^3.0.0 || ^4.0.0",
|
|
617
|
+
"@mkbabb/value.js": "^0.10.0 || ^0.11.0",
|
|
547
618
|
"@vueuse/core": "^14.0",
|
|
548
619
|
"class-variance-authority": "^0.7",
|
|
549
620
|
"clsx": "^2.0",
|
|
@@ -554,8 +625,22 @@
|
|
|
554
625
|
"vaul-vue": "^0.4",
|
|
555
626
|
"vue": "^3.5"
|
|
556
627
|
},
|
|
557
|
-
"
|
|
558
|
-
"
|
|
628
|
+
"peerDependenciesMeta": {
|
|
629
|
+
"@vueuse/core": {
|
|
630
|
+
"optional": true
|
|
631
|
+
},
|
|
632
|
+
"embla-carousel-vue": {
|
|
633
|
+
"optional": true
|
|
634
|
+
},
|
|
635
|
+
"@mkbabb/keyframes.js": {
|
|
636
|
+
"optional": true
|
|
637
|
+
},
|
|
638
|
+
"@mkbabb/value.js": {
|
|
639
|
+
"optional": true
|
|
640
|
+
},
|
|
641
|
+
"tw-animate-css": {
|
|
642
|
+
"optional": true
|
|
643
|
+
}
|
|
559
644
|
},
|
|
560
645
|
"devDependencies": {
|
|
561
646
|
"@lucide/vue": "^1.16.0",
|
package/src/fonts/README.md
CHANGED
|
@@ -21,6 +21,27 @@ woff2 builds live in `distr/woff2/` of that repository's releases — pull
|
|
|
21
21
|
the `Regular`/`Medium`/`SemiBold` weights only (the three glass-ui ships
|
|
22
22
|
as the `--font-mono` stack rungs).
|
|
23
23
|
|
|
24
|
+
## Fraunces (display, AU.W4)
|
|
25
|
+
|
|
26
|
+
The actual on-disk layout is per-family nested
|
|
27
|
+
(`src/fonts/<family>/<face>.woff2`), e.g.
|
|
28
|
+
`src/fonts/plus-jakarta-sans/plus-jakarta-sans-latin.woff2`. AU.W4 ships the
|
|
29
|
+
display register's face — the `--font-stack-display: "Fraunces"` token
|
|
30
|
+
(`tokens.css`) had no face, so the `WONK`/`SOFT` axes `typography.css` drives were
|
|
31
|
+
silently inert. The shipped face is the FULL variable Fraunces (latin subset):
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
src/fonts/fraunces/fraunces-latin.woff2
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
It carries the `wght` · `opsz` · `SOFT` · `WONK` axes (verified by
|
|
38
|
+
`proof:font-axes`, which parses the woff2 `fvar` against the axes
|
|
39
|
+
`typography.css` references). Source canonical:
|
|
40
|
+
<https://github.com/googlefonts/fraunces> (OFL-1.1); the variable woff2 latin
|
|
41
|
+
subset is the Google Fonts / fontsource distribution. `proof:font-axes` fails
|
|
42
|
+
closed if a wght-only instance (one that drops `SOFT`/`WONK`) is ever
|
|
43
|
+
substituted.
|
|
44
|
+
|
|
24
45
|
## Why this directory ships, not the fetch step
|
|
25
46
|
|
|
26
47
|
This worktree has no network access. Sub-task 1 documents the canonical
|
|
Binary file
|
|
@@ -331,7 +331,7 @@
|
|
|
331
331
|
scale: var(--top-layer-enter-scale, 0.96);
|
|
332
332
|
transition-property: opacity, scale, display, overlay;
|
|
333
333
|
transition-duration: var(--duration-normal);
|
|
334
|
-
transition-timing-function: var(--
|
|
334
|
+
transition-timing-function: var(--spring-bouncy);
|
|
335
335
|
transition-behavior: allow-discrete;
|
|
336
336
|
}
|
|
337
337
|
|
package/src/styles/cards.css
CHANGED
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
mints the stacking context once. Longhand maps `translate(x, y)` 1:1. */
|
|
39
39
|
translate: 0;
|
|
40
40
|
transition:
|
|
41
|
-
translate var(--duration-normal) var(--
|
|
41
|
+
translate var(--duration-normal) var(--spring-bouncy),
|
|
42
42
|
box-shadow var(--duration-normal) var(--ease-apple);
|
|
43
43
|
|
|
44
44
|
&:hover:not(:disabled) {
|