@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.
Files changed (306) hide show
  1. package/dist/{CardFooter-3-VGho1J.js → CardFooter-C390imy7.js} +2 -2
  2. package/dist/{CollapsibleContent-wlmlDujU.js → CollapsibleContent-cauTbZEM.js} +1 -1
  3. package/dist/{CommandShortcut-C6lsz3pG.js → CommandShortcut-BiVyqipe.js} +5 -4
  4. package/dist/DataTable-FfkaAg2z.js +465 -0
  5. package/dist/DialogContent-IQ8_BRrC.js +100 -0
  6. package/dist/{DiscoGlyph-B7YooI2-.js → DiscoGlyph-BaZ8OawK.js} +1 -1
  7. package/dist/{GlyphFace-Bvk6OIas.js → GlyphFace-B_7vOmYn.js} +1 -1
  8. package/dist/HoverPopover-DTSYkJtw.js +96 -0
  9. package/dist/{IconTooltip-DXveGjx7.js → IconTooltip-BTyYn4mr.js} +1 -1
  10. package/dist/Input-CU9CNKmo.js +52 -0
  11. package/dist/{MetricBadge-J_GBCb8e.js → MetricBadge-BlrdbOGN.js} +1 -1
  12. package/dist/{NumberFieldContent-B6L6YrQz.js → NumberFieldContent-iOTQ5rGO.js} +8 -4
  13. package/dist/{PopoverContent-CxEEUL7Y.js → PopoverContent-B8WtJECb.js} +1 -1
  14. package/dist/Progress-DjM86vfb.js +254 -0
  15. package/dist/{ScrollingText-1Qjnwz6H.js → ScrollingText-P9o_DuMn.js} +1 -1
  16. package/dist/{SelectScrollDownButton-BvvvAbuh.js → SelectScrollDownButton-BGn3rjs9.js} +9 -8
  17. package/dist/TabsIndicator-DA0x9gPr.js +97 -0
  18. package/dist/{ToggleGroupItem-Cy7xHFEo.js → ToggleGroupItem-gyXj998A.js} +37 -40
  19. package/dist/UnderlineTabs-Cq_AD03t.js +39 -0
  20. package/dist/animated-digit.js +2 -2
  21. package/dist/api/index.d.ts +2 -0
  22. package/dist/api.js +1 -1
  23. package/dist/aurora.js +454 -271
  24. package/dist/{button-DS3ULf5i.js → button-Ckn3eDfB.js} +27 -22
  25. package/dist/button.js +1 -1
  26. package/dist/card.js +1 -1
  27. package/dist/carousel.js +2 -2
  28. package/dist/collapsible.js +1 -1
  29. package/dist/color-rkK4RMx2.js +33 -0
  30. package/dist/color.d.ts +1 -0
  31. package/dist/color.js +2 -0
  32. package/dist/command.js +1 -1
  33. package/dist/compile-DVgAxagk.js +106 -0
  34. package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +7 -7
  35. package/dist/components/custom/aurora/Aurora.vue.d.ts +3 -3
  36. package/dist/components/custom/aurora/composables/color.d.ts +3 -25
  37. package/dist/components/custom/aurora/composables/cursorModel.d.ts +45 -0
  38. package/dist/components/custom/aurora/composables/frameLoop.d.ts +30 -0
  39. package/dist/components/custom/aurora/composables/glSetup.d.ts +29 -0
  40. package/dist/components/custom/aurora/composables/runtime.d.ts +45 -35
  41. package/dist/components/custom/aurora/composables/uniformBridge.d.ts +67 -0
  42. package/dist/components/custom/aurora/composables/useAurora.d.ts +14 -1
  43. package/dist/components/custom/aurora/composables/useCursorInteraction.d.ts +1 -1
  44. package/dist/components/custom/aurora/constants/budget.d.ts +50 -0
  45. package/dist/components/custom/aurora/{presets.d.ts → constants/presets.d.ts} +2 -5
  46. package/dist/components/custom/aurora/constants/shaders/aurora.frag.d.ts +1 -0
  47. package/dist/components/custom/aurora/constants/shaders/brush.glsl.d.ts +1 -0
  48. package/dist/components/custom/aurora/constants/shaders/composition.glsl.d.ts +1 -0
  49. package/dist/components/custom/aurora/constants/shaders/flow.glsl.d.ts +1 -0
  50. package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +2 -0
  51. package/dist/components/custom/aurora/constants/shaders/tonemap.glsl.d.ts +1 -0
  52. package/dist/components/custom/aurora/index.d.ts +2 -2
  53. package/dist/components/custom/configurator/ConfiguratorLayer.vue.d.ts +14 -7
  54. package/dist/components/custom/configurator/density.d.ts +3 -8
  55. package/dist/components/custom/dock/DockBackgroundToggle.vue.d.ts +46 -0
  56. package/dist/components/custom/dock/DockIconButton.vue.d.ts +3 -3
  57. package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +2 -2
  58. package/dist/components/custom/dock/GlassDock.vue.d.ts +22 -18
  59. package/dist/components/custom/dock/composables/dockContext.d.ts +4 -4
  60. package/dist/components/custom/dock/composables/dockLayerContext.d.ts +13 -6
  61. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +32 -8
  62. package/dist/components/custom/dock/index.d.ts +1 -0
  63. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +10 -0
  64. package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +1 -1
  65. package/dist/components/custom/glyph-face/keys.d.ts +3 -29
  66. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +48 -0
  67. package/dist/components/custom/goo-blob/composables/easing.d.ts +6 -0
  68. package/dist/components/custom/goo-blob/composables/useBlobMood.d.ts +14 -0
  69. package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +18 -0
  70. package/dist/components/custom/goo-blob/composables/useBlobSatellites.d.ts +13 -0
  71. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +42 -0
  72. package/dist/components/custom/goo-blob/index.d.ts +7 -0
  73. package/dist/components/custom/goo-blob/shaders/metaball.frag.d.ts +1 -0
  74. package/dist/components/custom/goo-blob/shaders/metaball.vert.d.ts +1 -0
  75. package/dist/components/custom/goo-blob/shaders/oklch-perturb.glsl.d.ts +1 -0
  76. package/dist/components/custom/goo-blob/shaders/sdf-body.glsl.d.ts +1 -0
  77. package/dist/components/custom/goo-blob/shaders/watercolor-edges.glsl.d.ts +2 -0
  78. package/dist/components/custom/goo-blob/types.d.ts +77 -0
  79. package/dist/components/custom/hover-popover/HoverPopover.vue.d.ts +48 -9
  80. package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +2 -0
  81. package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +2 -2
  82. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +2 -2
  83. package/dist/components/custom/responsive-tabs/ResponsiveTabs.vue.d.ts +13 -7
  84. package/dist/components/custom/search/FuzzySearch.vue.d.ts +1 -1
  85. package/dist/components/custom/search/SearchBar.vue.d.ts +1 -1
  86. package/dist/components/custom/sortable-list/SortableHandle.vue.d.ts +7 -1
  87. package/dist/components/custom/sortable-list/context.d.ts +2 -3
  88. package/dist/components/custom/tabs/BouncyTabs.vue.d.ts +6 -3
  89. package/dist/components/custom/tabs/BouncyToggle.vue.d.ts +7 -3
  90. package/dist/components/custom/tabs/UnderlineTabs.vue.d.ts +6 -3
  91. package/dist/components/custom/tabs/composables/useBouncySlider.d.ts +39 -0
  92. package/dist/components/custom/timeline/ContinuousMarkers.vue.d.ts +49 -0
  93. package/dist/components/custom/timeline/ContinuousRail.vue.d.ts +26 -0
  94. package/dist/components/custom/timeline/ContinuousTimeline.vue.d.ts +4 -4
  95. package/dist/components/custom/typewriter/TypewriterText.vue.d.ts +2 -2
  96. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +45 -0
  97. package/dist/components/custom/watercolor-dot/index.d.ts +3 -0
  98. package/dist/components/custom/watercolor-dot/prng.d.ts +5 -0
  99. package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +24 -0
  100. package/dist/components/ui/_shared/menuItemVariants.d.ts +1 -1
  101. package/dist/components/ui/avatar/Avatar.vue.d.ts +1 -1
  102. package/dist/components/ui/avatar/AvatarImage.vue.d.ts +5 -1
  103. package/dist/components/ui/avatar/index.d.ts +1 -1
  104. package/dist/components/ui/badge/index.d.ts +2 -2
  105. package/dist/components/ui/button/Button.vue.d.ts +3 -1
  106. package/dist/components/ui/button/index.d.ts +2 -2
  107. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +2 -2
  108. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +2 -2
  109. package/dist/components/ui/combobox/Combobox.vue.d.ts +2 -2
  110. package/dist/components/ui/combobox/ComboboxInput.vue.d.ts +2 -1
  111. package/dist/components/ui/command/Command.vue.d.ts +3 -3
  112. package/dist/components/ui/command/CommandInput.vue.d.ts +2 -1
  113. package/dist/components/ui/data-table/DataTable.vue.d.ts +5 -4
  114. package/dist/components/ui/dialog/DialogContent.vue.d.ts +8 -0
  115. package/dist/components/ui/drawer/Drawer.vue.d.ts +4 -4
  116. package/dist/components/ui/input/Input.vue.d.ts +19 -1
  117. package/dist/components/ui/multi-select/MultiSelect.vue.d.ts +8 -4
  118. package/dist/components/ui/progress/Progress.vue.d.ts +26 -88
  119. package/dist/components/ui/progress/ProgressDefault.vue.d.ts +14 -0
  120. package/dist/components/ui/progress/ProgressGradient.vue.d.ts +25 -0
  121. package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +36 -0
  122. package/dist/components/ui/progress/index.d.ts +5 -2
  123. package/dist/components/ui/progress/useProgressGeometry.d.ts +60 -0
  124. package/dist/components/ui/select/Select.vue.d.ts +2 -2
  125. package/dist/components/ui/select/SelectContent.vue.d.ts +1 -1
  126. package/dist/components/ui/select/SelectTrigger.vue.d.ts +3 -0
  127. package/dist/components/ui/sheet/index.d.ts +1 -1
  128. package/dist/components/ui/slider/index.d.ts +12 -11
  129. package/dist/components/ui/tags-input/TagsInput.vue.d.ts +2 -2
  130. package/dist/components/ui/textarea/Textarea.vue.d.ts +5 -1
  131. package/dist/components/ui/toast/Toast.vue.d.ts +4 -4
  132. package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
  133. package/dist/components/ui/toggle/index.d.ts +1 -1
  134. package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +2 -3
  135. package/dist/composables/color/index.d.ts +49 -0
  136. package/dist/composables/context/createContext.d.ts +56 -0
  137. package/dist/composables/context/index.d.ts +1 -0
  138. package/dist/composables/dark/darkModeSyncScript.d.ts +23 -0
  139. package/dist/composables/dark/index.d.ts +3 -0
  140. package/dist/composables/dark/useGlobalDark.d.ts +19 -2
  141. package/dist/composables/dom/index.d.ts +0 -3
  142. package/dist/composables/dom/useClipboard.d.ts +35 -12
  143. package/dist/composables/dom/useDocumentVisibility.d.ts +20 -0
  144. package/dist/composables/glass/webgl/compile.d.ts +15 -0
  145. package/dist/composables/glass/webgl/shaders/procedural-color.glsl.d.ts +3 -0
  146. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +55 -0
  147. package/dist/composables/motion/core/index.d.ts +1 -1
  148. package/dist/composables/motion/index.d.ts +1 -1
  149. package/dist/composables/motion/useCountup.d.ts +29 -0
  150. package/dist/composables/motion/useNumericTransition.d.ts +14 -3
  151. package/dist/composables/motion/vReveal.d.ts +2 -0
  152. package/dist/composables/sidebar/useSidebarState.d.ts +2 -2
  153. package/dist/composables/sortable/dragController.d.ts +44 -0
  154. package/dist/composables/sortable/dropResolver.d.ts +34 -0
  155. package/dist/composables/sortable/ghostRenderer.d.ts +44 -0
  156. package/dist/composables/sortable/index.d.ts +1 -1
  157. package/dist/composables/sortable/touchGate.d.ts +26 -0
  158. package/dist/composables/sortable/transitionTiming.d.ts +50 -0
  159. package/dist/composables/sortable/types.d.ts +133 -0
  160. package/dist/composables/sortable/useSortable.d.ts +25 -153
  161. package/dist/configurator.js +1 -1
  162. package/dist/confirm-dialog.js +1 -1
  163. package/dist/controls.js +4 -4
  164. package/dist/createContext-DBMGRlx4.js +25 -0
  165. package/dist/dark.d.ts +2 -1
  166. package/dist/dark.js +9 -2
  167. package/dist/data-table.js +1 -1
  168. package/dist/dialog.js +1 -1
  169. package/dist/disco-glyph.js +1 -1
  170. package/dist/dock.js +400 -261
  171. package/dist/dockContext-spUj_-E5.js +9 -0
  172. package/dist/dom.js +6 -6
  173. package/dist/{dropdown-menu-naE0skDg.js → dropdown-menu-EFjl5iKo.js} +1 -1
  174. package/dist/dropdown-menu.js +1 -1
  175. package/dist/expandable-container.js +26 -20
  176. package/dist/fonts/README.md +21 -0
  177. package/dist/fonts/fraunces/fraunces-latin.woff2 +0 -0
  178. package/dist/forms.js +68 -59
  179. package/dist/glass-panel.js +1 -1
  180. package/dist/glass-ui.css +1 -1
  181. package/dist/glass-ui.js +226 -328
  182. package/dist/glyph-face.js +2 -2
  183. package/dist/goo-blob.d.ts +1 -0
  184. package/dist/goo-blob.js +538 -0
  185. package/dist/header-ribbon.js +2 -2
  186. package/dist/hover-card.js +1 -1
  187. package/dist/hover-popover.js +1 -1
  188. package/dist/icon-tooltip.js +1 -1
  189. package/dist/index.d.ts +1 -0
  190. package/dist/instrument-chassis.js +1 -1
  191. package/dist/instrument-rail.js +1 -1
  192. package/dist/keys-BFoma9vm.js +9 -0
  193. package/dist/label.js +1 -1
  194. package/dist/labeled-field.js +57 -39
  195. package/dist/metric-badge.js +1 -1
  196. package/dist/motion-core.js +82 -123
  197. package/dist/motion.js +62 -14
  198. package/dist/number-field.js +1 -1
  199. package/dist/paper-backdrop.js +1 -1
  200. package/dist/popover.js +1 -1
  201. package/dist/{presets-BpTf63Hp.js → presets-1OhFpaIC.js} +1 -1
  202. package/dist/prng-Bz_1Tydc.js +15 -0
  203. package/dist/progress.js +2 -2
  204. package/dist/reactive.js +2 -2
  205. package/dist/responsive-tabs.js +38 -32
  206. package/dist/scrolling-text.js +1 -1
  207. package/dist/search.js +8 -8
  208. package/dist/select.js +3 -3
  209. package/dist/separator.js +1 -1
  210. package/dist/sheet.js +1 -1
  211. package/dist/{slider-wx8ifVFB.js → slider-BOh8ycfZ.js} +7 -11
  212. package/dist/slider.js +1 -1
  213. package/dist/sortable-list.js +36 -38
  214. package/dist/stacked-icons.js +2 -2
  215. package/dist/styles/animations.css +1 -1
  216. package/dist/styles/cards.css +1 -1
  217. package/dist/styles/components.css +1 -1
  218. package/dist/styles/dock-controls.css +486 -0
  219. package/dist/styles/dock.css +284 -450
  220. package/dist/styles/fonts.css +25 -0
  221. package/dist/styles/glass-specular-track.css +154 -0
  222. package/dist/styles/glass.css +74 -2
  223. package/dist/styles/index.css +21 -2
  224. package/dist/styles/instrument-chassis.css +11 -4
  225. package/dist/styles/theme.css +73 -21
  226. package/dist/styles/tokens.css +271 -140
  227. package/dist/styles/typography.css +14 -8
  228. package/dist/styles/utilities.css +36 -8
  229. package/dist/styles/view-transition.css +10 -4
  230. package/dist/switch.js +1 -1
  231. package/dist/tabs.js +139 -112
  232. package/dist/timeline.js +219 -158
  233. package/dist/toast.js +1 -1
  234. package/dist/toggle-group.js +1 -1
  235. package/dist/tokens.d.ts +1 -1
  236. package/dist/tooltip.js +1 -1
  237. package/dist/{useAnimatedNumber-BOxrS3a6.js → useAnimatedNumber-BF6r64lA.js} +1 -1
  238. package/dist/useClipboard-D8vFyRCa.js +97 -0
  239. package/dist/{useConfiguratorState-Dq2gNv4A.js → useConfiguratorState-DUtC1jxr.js} +82 -86
  240. package/dist/useGlobalDark-CWiaCoEw.js +34 -0
  241. package/dist/useIntersectionPause-DAdVPVp4.js +53 -0
  242. package/dist/useSortable-DnyGXKKY.js +246 -0
  243. package/dist/{useTouchGate-XX8gHfay.js → useTouchGate-CS5Csc2h.js} +1 -1
  244. package/dist/utils/prng.d.ts +4 -0
  245. package/dist/vReveal-u2wSG2El.js +35 -0
  246. package/dist/watercolor-dot.d.ts +1 -0
  247. package/dist/watercolor-dot.js +129 -0
  248. package/package.json +101 -16
  249. package/src/fonts/README.md +21 -0
  250. package/src/fonts/fraunces/fraunces-latin.woff2 +0 -0
  251. package/src/styles/animations.css +1 -1
  252. package/src/styles/cards.css +1 -1
  253. package/src/styles/dock-controls.css +486 -0
  254. package/src/styles/dock.css +284 -450
  255. package/src/styles/fonts.css +25 -0
  256. package/src/styles/glass-specular-track.css +154 -0
  257. package/src/styles/glass.css +74 -2
  258. package/src/styles/index.css +21 -2
  259. package/src/styles/instrument-chassis.css +11 -4
  260. package/src/styles/theme.css +73 -21
  261. package/src/styles/tokens.css +271 -140
  262. package/src/styles/typography.css +14 -8
  263. package/src/styles/utilities.css +36 -8
  264. package/src/styles/view-transition.css +10 -4
  265. package/dist/DataTable-BsrDYdoE.js +0 -460
  266. package/dist/DialogContent-B61rP8lj.js +0 -93
  267. package/dist/HoverPopover-BlEwqG7S.js +0 -96
  268. package/dist/Input-IFsIzId2.js +0 -30
  269. package/dist/Progress-Bs44qWEM.js +0 -126
  270. package/dist/UnderlineTabs-B4FV2zi_.js +0 -37
  271. package/dist/components/custom/aurora/shaders/aurora.frag.d.ts +0 -1
  272. package/dist/composables/dom/useBreakpoint.d.ts +0 -38
  273. package/dist/composables/dom/useIdleReady.d.ts +0 -63
  274. package/dist/composables/dom/useViewportReady.d.ts +0 -87
  275. package/dist/composables/glass/webgl/frostShader.d.ts +0 -27
  276. package/dist/composables/motion/useAnimatedNumberMap.d.ts +0 -29
  277. package/dist/composables/motion/useStagger.d.ts +0 -50
  278. package/dist/dockContext-DM58L1Jt.js +0 -16
  279. package/dist/keys-SIKQYNx1.js +0 -11
  280. package/dist/supportsCssTimeline-IQY3gfKD.js +0 -12
  281. package/dist/useGlobalDark-BUUTZvkU.js +0 -24
  282. package/dist/useIdleReady-sLhGo6CL.js +0 -162
  283. package/dist/useIntersectionPause-CUmANkoc.js +0 -39
  284. package/dist/useSortable-DLK9kwZp.js +0 -189
  285. /package/dist/{HoverCardContent-DGUhpRVt.js → HoverCardContent-ICfIMZX1.js} +0 -0
  286. /package/dist/{InstrumentChassis-CqKPBNqp.js → InstrumentChassis-DaHIZCqy.js} +0 -0
  287. /package/dist/{InstrumentRail-CCjvKkpB.js → InstrumentRail-B0qqLFN0.js} +0 -0
  288. /package/dist/{Label-D53EOwLE.js → Label-CZk-3nTc.js} +0 -0
  289. /package/dist/{PaperBackdrop-Ds-wDsKf.js → PaperBackdrop-D_YZW47j.js} +0 -0
  290. /package/dist/{SelectGroup-DAgcsfFw.js → SelectGroup-CMdoCjRE.js} +0 -0
  291. /package/dist/{SelectSeparator-DN1jzLaI.js → SelectSeparator-CaJnPF3_.js} +0 -0
  292. /package/dist/{Separator-DXxac0j8.js → Separator-C2XtAXRp.js} +0 -0
  293. /package/dist/{Switch-imA0Hdjs.js → Switch-x8n6husW.js} +0 -0
  294. /package/dist/{Toaster-Brs6QjBU.js → Toaster-DdhMKfus.js} +0 -0
  295. /package/dist/{TooltipProvider-MZFRxOvT.js → TooltipProvider-D-JrSqDu.js} +0 -0
  296. /package/dist/components/custom/aurora/{renderMode.d.ts → constants/renderMode.d.ts} +0 -0
  297. /package/dist/components/custom/aurora/{shaders → constants/shaders}/aurora.vert.d.ts +0 -0
  298. /package/dist/{constants-DfWPi8kh.js → constants-DsCdlK9I.js} +0 -0
  299. /package/dist/{sheet-BnvZRXPq.js → sheet-CQYYrkr9.js} +0 -0
  300. /package/dist/{useGlassRenderer-C98tZnJ7.js → useGlassRenderer-Dn3WpfG-.js} +0 -0
  301. /package/dist/{useInterval-B58LmYth.js → useInterval-CHVYFpXV.js} +0 -0
  302. /package/dist/{useResizeObserver-C_7GjpRn.js → useResizeObserver-DX-STszm.js} +0 -0
  303. /package/dist/{useTextHighlight-CLST6an0.js → useTextHighlight-Dmtofpk2.js} +0 -0
  304. /package/dist/{useTimer-6FoosoDY.js → useTimer-DGgoxTXL.js} +0 -0
  305. /package/dist/{useUserInvalidAria-BW5iyqWR.js → useUserInvalidAria-DmvZ_6Dx.js} +0 -0
  306. /package/dist/{useViewTransition-CUJM7fXT.js → useViewTransition-D4ssvnXZ.js} +0 -0
@@ -1,10 +1,10 @@
1
1
  /*
2
- * typography.css — Computer Modern body + Fraunces display + Fira Code mono
3
- * + Plus Jakarta Sans (brand display fallback face, OFL 1.1)
2
+ * typography.css — Fraunces serif/display + Plus Jakarta Sans + Fira Code mono
3
+ * (all three OFL faces self-hosted via fonts.css)
4
4
  *
5
- * Golden-ratio scale (√φ ≈ 1.272). Computer Modern is primary for body,
6
- * headings, prose, and math. Fraunces is reserved for ornamental display
7
- * with WONK=1 / SOFT=0. Fira Code for mono.
5
+ * Golden-ratio scale (√φ ≈ 1.272). Fraunces carries the serif register
6
+ * body, headings, prose, and math and the ornamental display register
7
+ * with WONK=1 / SOFT=0. Plus Jakarta Sans is the brand sans; Fira Code is mono.
8
8
  *
9
9
  * Semantic type classes expose both Tailwind-friendly utility names
10
10
  * (`.text-display-*`, `.text-body`, `.text-admin-label`) and feature
@@ -265,7 +265,7 @@ body {
265
265
  }
266
266
 
267
267
  /* ═══════════════════════════════════════════════
268
- HEADINGS / BODY — Computer Modern
268
+ HEADINGS / BODY — Fraunces serif register
269
269
  ═══════════════════════════════════════════════ */
270
270
  @utility text-title {
271
271
  font-family: var(--font-serif);
@@ -358,7 +358,7 @@ body {
358
358
  }
359
359
 
360
360
  /* ═══════════════════════════════════════════════
361
- MATH — Computer Modern italic
361
+ MATH — Fraunces serif italic
362
362
  ═══════════════════════════════════════════════ */
363
363
  @utility text-math {
364
364
  font-family: var(--font-serif);
@@ -444,7 +444,13 @@ body {
444
444
  font-variation-settings: var(--font-display-variation-settings);
445
445
  }
446
446
 
447
- @media (min-width: 640px) {
447
+ /* AV.W16 TW3 — the pane title scales off its PANE's box, not the viewport.
448
+ An unnamed @container query resolves to the nearest ancestor container,
449
+ so the title grows once its pane clears 40rem (≈ 640px) regardless of the
450
+ viewport. Contract: the consuming pane sets `container-type: inline-size`
451
+ (the dock/chassis pattern); without a container ancestor the compact base
452
+ holds. */
453
+ @container (min-width: 40rem) {
448
454
  .text-pane-title {
449
455
  font-size: var(--type-display-3);
450
456
  }
@@ -189,9 +189,11 @@
189
189
  canonical iOS `.regular` control rung) and the spring carries
190
190
  the return via `--spring-snappy` (the §L3 release-spring
191
191
  contract). I keep this as a single canonical rung — NOT a
192
- 3-rung ladder. The outliers I leave alone are button `0.97` and
193
- dock control `0.92`, which consume their own scale tokens
194
- directly.
192
+ 3-rung ladder. The one outlier I leave alone is the button
193
+ `0.97` (`--scale-press-btn`), which consumes its own slightly-
194
+ softer token directly. The dock control now tracks the canonical
195
+ `--scale-press` (0.96) too (AT.W7-dock-b press canon — the prior
196
+ deeper `0.92` was retired to ONE source).
195
197
 
196
198
  Under PRM I retire the press transform entirely and lean on the
197
199
  consumer's own hover/active bg-tint cascade to acknowledge the
@@ -256,25 +258,28 @@
256
258
  font-size: max(1rem, 1em);
257
259
  }
258
260
 
259
- /* ── Scroll fade masks ── */
261
+ /* ── Scroll fade masks ──
262
+ Single-source `mask-image` (AV.W16 TW7): the `-webkit-` companion is
263
+ dropped — Tailwind v4's Lightning CSS build pipeline auto-prefixes per
264
+ the browserslist targets, mirroring the glass ladder's single-source
265
+ `backdrop-filter` (glass.css). NOTE: this is the consistency cut; it
266
+ does NOT conflict with W15's `@supports`-gated older-Safari mask
267
+ fallback (that fallback is the distinct case where the companion is
268
+ genuinely needed and W15 gates it). */
260
269
  .scroll-fade-mask {
261
270
  mask-image: linear-gradient(to right, transparent, black var(--mask-fade-width), black calc(100% - var(--mask-fade-width)), transparent);
262
- -webkit-mask-image: linear-gradient(to right, transparent, black var(--mask-fade-width), black calc(100% - var(--mask-fade-width)), transparent);
263
271
  }
264
272
 
265
273
  .scroll-fade-top {
266
274
  mask-image: linear-gradient(to bottom, transparent, black var(--mask-fade-width));
267
- -webkit-mask-image: linear-gradient(to bottom, transparent, black var(--mask-fade-width));
268
275
  }
269
276
 
270
277
  .scroll-fade-bottom {
271
278
  mask-image: linear-gradient(to bottom, black calc(100% - var(--mask-fade-width)), transparent);
272
- -webkit-mask-image: linear-gradient(to bottom, black calc(100% - var(--mask-fade-width)), transparent);
273
279
  }
274
280
 
275
281
  .scroll-fade-y {
276
282
  mask-image: linear-gradient(to bottom, transparent, black var(--mask-fade-width), black calc(100% - var(--mask-fade-width)), transparent);
277
- -webkit-mask-image: linear-gradient(to bottom, transparent, black var(--mask-fade-width), black calc(100% - var(--mask-fade-width)), transparent);
278
283
  }
279
284
 
280
285
  /* ── Deferred section — render-skip an offscreen subtree (AQ.W3 §5) ──────
@@ -683,6 +688,29 @@
683
688
  }
684
689
  }
685
690
 
691
+ /* ── Control transition recipe (AU.W8b.4) ───────────────────────────────
692
+ Shared compound transition for interactive controls that animate their
693
+ surface (background-color/color/box-shadow/border-color) on the four-state
694
+ contract. Replaces the per-site
695
+ `transition-[background-color,color,box-shadow,border-color] duration-[var(--duration-fast)] ease-[var(--ease-standard)]`
696
+ arbitrary wraps at ≥2 sites (TabsTrigger, SelectTrigger, Toggle `card`
697
+ variant). Binds the canonical --duration-fast + --ease-standard tokens. */
698
+ @utility transition-control {
699
+ transition-property: background-color, color, box-shadow, border-color;
700
+ transition-duration: var(--duration-fast);
701
+ transition-timing-function: var(--ease-standard);
702
+ }
703
+
704
+ /* ── Collapse transition recipe (AU.W8b.4) ──────────────────────────────
705
+ Shared height+opacity transition for reka-ui collapse surfaces (Accordion
706
+ content, Collapsible content). Replaces the per-site `transition-[height,opacity]`
707
+ wrap at ≥2 sites. The duration/easing rides the data-state
708
+ `animate-accordion-*`/`animate-collapsible-*` keyframes (this only declares
709
+ WHICH properties transition; the keyframes own the timing). */
710
+ @utility transition-collapse {
711
+ transition-property: height, opacity;
712
+ }
713
+
686
714
  /* ── Sheet/drawer slide-out animation grammar ──
687
715
  Mirror of `.popover-animate` for sheet/drawer panels. Pairs with
688
716
  `slide-in-from-{top,right,bottom,left}-N` to compose side-keyed entries.
@@ -36,7 +36,7 @@
36
36
  * each tracked element plus a unique `view-transition-name` per element. */
37
37
  ::view-transition-group(.gl-list-item) {
38
38
  animation-duration: var(--vt-duration, var(--duration-normal));
39
- animation-timing-function: var(--vt-ease, var(--ease-apple-spring));
39
+ animation-timing-function: var(--vt-ease, var(--spring-bouncy));
40
40
  }
41
41
 
42
42
  /* Added / removed members — the `:only-child` trick from the group guide: a
@@ -48,11 +48,17 @@
48
48
  * and `<DockLayerGroup>` (.dock-layer-stack) carry `view-transition-class:
49
49
  * gl-dock-layer` + a page-unique `view-transition-name` on a View-Transitions
50
50
  * engine, so the collapsed↔expanded width + the layer-pane swap morph as a VT
51
- * group instead of the JS FLIP. The `--dock-motion-resize` spring maps here to
52
- * `--vt-ease`; both default to the apple-spring. PRM zeroes the animation above. */
51
+ * group instead of the JS FLIP.
52
+ *
53
+ * AT.W6-dock-c / AU.W8 — VT/FLIP timing PARITY. The timing-function is
54
+ * `--dock-resize-spring` (= the `--spring-dock` linear(), AU.W8) — the SAME
55
+ * source the FLIP fallback consumes via `--dock-motion-resize` (`dock.css`), so
56
+ * the identical curve drives both engines. Retires the AQ.W6 fork (this group
57
+ * ran `--vt-ease`, the apple-spring overshoot). `--vt-ease` still governs the
58
+ * other recipes (`.gl-list-item`). PRM zeroes the animation above. */
53
59
  ::view-transition-group(.gl-dock-layer) {
54
60
  animation-duration: var(--vt-duration, var(--duration-normal));
55
- animation-timing-function: var(--vt-ease, var(--ease-apple-spring));
61
+ animation-timing-function: var(--dock-resize-spring, var(--spring-dock));
56
62
  }
57
63
 
58
64
  @keyframes gl-vt-slide-in { from { opacity: 0; translate: 0 var(--vt-rise, 8px); } }
package/dist/switch.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as e } from "./Switch-imA0Hdjs.js";
1
+ import { t as e } from "./Switch-x8n6husW.js";
2
2
  export { e as Switch };
package/dist/tabs.js CHANGED
@@ -1,22 +1,72 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
2
  import { t } from "./_plugin-vue_export-helper-C1je1s0u.js";
3
- import { i as n, n as r, r as i, t as a } from "./TooltipProvider-MZFRxOvT.js";
4
- import { t as o } from "./UnderlineTabs-B4FV2zi_.js";
5
- import { Fragment as s, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createTextVNode as p, createVNode as m, defineComponent as h, nextTick as g, normalizeClass as _, normalizeStyle as v, onMounted as y, onUnmounted as b, openBlock as x, ref as S, renderList as C, renderSlot as w, toDisplayString as T, unref as E, watch as D, withCtx as O } from "vue";
3
+ import { i as n, n as r, r as i, t as a } from "./TooltipProvider-D-JrSqDu.js";
4
+ import { t as o } from "./UnderlineTabs-Cq_AD03t.js";
5
+ import { Fragment as s, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createTextVNode as p, createVNode as m, defineComponent as h, mergeModels as g, nextTick as _, normalizeClass as v, normalizeStyle as y, onMounted as b, onUnmounted as x, openBlock as S, ref as C, renderList as w, renderSlot as T, toDisplayString as E, unref as D, useModel as O, watch as k, withCtx as A } from "vue";
6
+ //#region src/components/custom/tabs/composables/useBouncySlider.ts
7
+ function j(e) {
8
+ let { containerRef: t, buttonRefs: n, options: r, model: i, multiSelect: a, anchorSupported: o, jsSliderActive: s, activeValues: c } = e, l = C({
9
+ width: "0px",
10
+ transform: "translateX(0px)",
11
+ opacity: "0"
12
+ });
13
+ function u() {
14
+ if (a.value || o) return;
15
+ let e = r.value.findIndex((e) => e.value === i.value);
16
+ if (e < 0 || !n.value[e]) return;
17
+ let t = n.value[e];
18
+ l.value = {
19
+ width: `${t.offsetWidth}px`,
20
+ transform: `translateX(${t.offsetLeft}px)`,
21
+ opacity: "1"
22
+ };
23
+ }
24
+ let d = C({});
25
+ function f() {
26
+ if (!a.value) return;
27
+ let e = {};
28
+ for (let t of c.value) {
29
+ let i = r.value.findIndex((e) => e.value === t), a = n.value[i];
30
+ a && (e[t] = {
31
+ width: `${a.offsetWidth}px`,
32
+ transform: `translateX(${a.offsetLeft}px)`,
33
+ opacity: "1"
34
+ });
35
+ }
36
+ d.value = e;
37
+ }
38
+ function p() {
39
+ a.value ? f() : u();
40
+ }
41
+ k(() => i.value, () => {
42
+ s.value && _(p);
43
+ }, { deep: !0 }), k(() => r.value, () => {
44
+ s.value && _(p);
45
+ }, { deep: !0 });
46
+ let m = null;
47
+ return b(() => {
48
+ s.value && (_(p), t.value && (m = new ResizeObserver(() => p()), m.observe(t.value)));
49
+ }), x(() => {
50
+ m?.disconnect();
51
+ }), {
52
+ singleSliderStyle: l,
53
+ multiSliderStyles: d
54
+ };
55
+ }
56
+ //#endregion
6
57
  //#region src/components/custom/tabs/BouncyToggle.vue?vue&type=script&setup=true&lang.ts
7
- var k = [
58
+ var M = [
8
59
  "aria-pressed",
9
60
  "disabled",
10
61
  "onClick"
11
- ], A = [
62
+ ], N = [
12
63
  "aria-pressed",
13
64
  "disabled",
14
65
  "onClick"
15
- ], j = /* @__PURE__ */ t(/* @__PURE__ */ h({
66
+ ], P = /* @__PURE__ */ t(/* @__PURE__ */ h({
16
67
  __name: "BouncyToggle",
17
- props: {
68
+ props: /* @__PURE__ */ g({
18
69
  options: {},
19
- modelValue: {},
20
70
  multiSelect: {
21
71
  type: Boolean,
22
72
  default: !1
@@ -30,49 +80,32 @@ var k = [
30
80
  Object,
31
81
  Array
32
82
  ] }
33
- },
83
+ }, {
84
+ modelValue: { required: !0 },
85
+ modelModifiers: {}
86
+ }),
34
87
  emits: ["update:modelValue"],
35
- setup(t, { emit: o }) {
36
- function h(e, t) {
88
+ setup(t) {
89
+ function o(e, t) {
37
90
  return typeof document > "u" ? t : getComputedStyle(document.documentElement).getPropertyValue(e).trim() || t;
38
91
  }
39
- let j = t, M = o, N = S(null), P = S([]), F = typeof CSS < "u" && typeof CSS.supports == "function" && CSS.supports("position-anchor", "--x"), I = c(() => j.variant === "pill"), L = c(() => j.overflow === "scroll"), R = c(() => j.overflow === "auto"), z = c(() => j.multiSelect && Array.isArray(j.modelValue) ? j.modelValue : [j.modelValue]), B = (e) => z.value.includes(e), V = c(() => !j.multiSelect && !F), H = c(() => j.multiSelect || !F), U = S({
40
- width: "0px",
41
- transform: "translateX(0px)",
42
- opacity: "0"
92
+ let h = t, g = O(t, "modelValue"), x = C(null), k = C([]), P = typeof CSS < "u" && typeof CSS.supports == "function" && CSS.supports("position-anchor", "--x"), F = c(() => h.variant === "pill"), I = c(() => h.overflow === "scroll"), L = c(() => h.overflow === "auto"), R = c(() => {
93
+ let e = g.value;
94
+ return h.multiSelect && Array.isArray(e) ? e : e == null ? [] : [e];
95
+ }), z = (e) => R.value.includes(e), B = c(() => !h.multiSelect && !P), V = c(() => h.multiSelect || !P), { singleSliderStyle: H, multiSliderStyles: U } = j({
96
+ containerRef: x,
97
+ buttonRefs: k,
98
+ options: c(() => h.options),
99
+ model: g,
100
+ multiSelect: c(() => h.multiSelect),
101
+ anchorSupported: P,
102
+ jsSliderActive: V,
103
+ activeValues: R
43
104
  });
44
- function W() {
45
- if (j.multiSelect || F) return;
46
- let e = j.options.findIndex((e) => e.value === j.modelValue);
47
- if (e < 0 || !P.value[e]) return;
48
- let t = P.value[e];
49
- U.value = {
50
- width: `${t.offsetWidth}px`,
51
- transform: `translateX(${t.offsetLeft}px)`,
52
- opacity: "1"
53
- };
54
- }
55
- let G = S({});
56
- function K() {
57
- if (!j.multiSelect) return;
58
- let e = {};
59
- for (let t of z.value) {
60
- let n = j.options.findIndex((e) => e.value === t), r = P.value[n];
61
- r && (e[t] = {
62
- width: `${r.offsetWidth}px`,
63
- transform: `translateX(${r.offsetLeft}px)`,
64
- opacity: "1"
65
- });
66
- }
67
- G.value = e;
68
- }
69
- function q() {
70
- j.multiSelect ? K() : W();
71
- }
72
- function J(e) {
105
+ function W(e) {
73
106
  if (typeof window < "u" && window.matchMedia("(prefers-reduced-motion: reduce)").matches) return;
74
107
  e.getAnimations().forEach((e) => e.cancel());
75
- let t = h("--ease-apple-spring", "cubic-bezier(0.175, 0.885, 0.32, 1.275)"), n = h("--scale-press", "0.95"), r = h("--scale-hover", "1.08");
108
+ let t = o("--ease-apple-spring", "cubic-bezier(0.175, 0.885, 0.32, 1.275)"), n = o("--scale-press", "0.95"), r = o("--scale-hover", "1.08");
76
109
  e.animate([
77
110
  { transform: "scale(1)" },
78
111
  {
@@ -89,9 +122,9 @@ var k = [
89
122
  easing: t
90
123
  });
91
124
  }
92
- function Y(e) {
93
- if (!L.value && !R.value) return;
94
- let t = P.value[e];
125
+ function G(e) {
126
+ if (!I.value && !L.value) return;
127
+ let t = k.value[e];
95
128
  if (!t) return;
96
129
  let n = typeof window < "u" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
97
130
  t.scrollIntoView({
@@ -100,94 +133,85 @@ var k = [
100
133
  behavior: n ? "auto" : "smooth"
101
134
  });
102
135
  }
103
- function X(e, t) {
104
- if (j.options[t]?.disabled) return;
105
- let n = P.value[t];
106
- if (n && J(n), j.multiSelect) {
107
- let t = [...z.value], n = t.indexOf(e);
108
- n > -1 ? t.length > 1 && t.splice(n, 1) : t.push(e), M("update:modelValue", t);
109
- } else M("update:modelValue", e);
110
- Y(t);
136
+ function K(e, t) {
137
+ if (h.options[t]?.disabled) return;
138
+ let n = k.value[t];
139
+ if (n && W(n), h.multiSelect) {
140
+ let t = [...R.value], n = t.indexOf(e);
141
+ n > -1 ? t.length > 1 && t.splice(n, 1) : t.push(e), g.value = t;
142
+ } else g.value = e;
143
+ G(t);
111
144
  }
112
- D(() => j.modelValue, () => {
113
- H.value && g(q);
114
- }, { deep: !0 }), D(() => j.options, () => {
115
- H.value && g(q);
116
- }, { deep: !0 });
117
- let Z = null;
118
- return y(() => {
119
- g(() => {
120
- let e = j.options.findIndex((e) => B(e.value));
121
- e >= 0 && Y(e);
122
- }), H.value && (g(q), N.value && (Z = new ResizeObserver(() => q()), Z.observe(N.value)));
123
- }), b(() => {
124
- Z?.disconnect();
125
- }), (o, c) => (x(), d("div", {
145
+ return b(() => {
146
+ _(() => {
147
+ let e = h.options.findIndex((e) => z(e.value));
148
+ e >= 0 && G(e);
149
+ });
150
+ }), (o, c) => (S(), d("div", {
126
151
  ref_key: "containerRef",
127
- ref: N,
128
- class: _(E(e)(I.value ? "bouncy-toggle bouncy-toggle--pill" : "bouncy-toggle", L.value && "bouncy-toggle--scroll scroll-fade-mask scrollbar-hidden", R.value && "bouncy-toggle--auto scrollbar-hidden", j.class))
152
+ ref: x,
153
+ class: v(D(e)(F.value ? "bouncy-toggle bouncy-toggle--pill" : "bouncy-toggle", I.value && "bouncy-toggle--scroll scroll-fade-mask scrollbar-hidden", L.value && "bouncy-toggle--auto scrollbar-hidden", h.class))
129
154
  }, [
130
- t.multiSelect ? u("", !0) : (x(), d("div", {
155
+ t.multiSelect ? u("", !0) : (S(), d("div", {
131
156
  key: 0,
132
- class: _([I.value ? "bouncy-slider bouncy-slider--pill" : "bouncy-slider", V.value ? "bouncy-slider--js" : "bouncy-slider--anchor"]),
133
- style: v(V.value ? U.value : void 0)
157
+ class: v([F.value ? "bouncy-slider bouncy-slider--pill" : "bouncy-slider", B.value ? "bouncy-slider--js" : "bouncy-slider--anchor"]),
158
+ style: y(B.value ? D(H) : void 0)
134
159
  }, null, 6)),
135
- t.multiSelect ? (x(!0), d(s, { key: 1 }, C(z.value, (e) => (x(), d("div", {
160
+ t.multiSelect ? (S(!0), d(s, { key: 1 }, w(R.value, (e) => (S(), d("div", {
136
161
  key: "slider-" + e,
137
- class: _([I.value ? "bouncy-slider bouncy-slider--pill" : "bouncy-slider", "bouncy-slider--js"]),
138
- style: v(G.value[e] ?? { opacity: "0" })
162
+ class: v([F.value ? "bouncy-slider bouncy-slider--pill" : "bouncy-slider", "bouncy-slider--js"]),
163
+ style: y(D(U)[e] ?? { opacity: "0" })
139
164
  }, null, 6))), 128)) : u("", !0),
140
- (x(!0), d(s, null, C(t.options, (e, t) => (x(), d(s, { key: e.value }, [e.tooltip ? (x(), l(E(a), {
165
+ (S(!0), d(s, null, w(t.options, (e, t) => (S(), d(s, { key: e.value }, [e.tooltip ? (S(), l(D(a), {
141
166
  key: 0,
142
167
  "delay-duration": 200
143
168
  }, {
144
- default: O(() => [m(E(n), null, {
145
- default: O(() => [m(E(r), { "as-child": "" }, {
146
- default: O(() => [f("button", {
169
+ default: A(() => [m(D(n), null, {
170
+ default: A(() => [m(D(r), { "as-child": "" }, {
171
+ default: A(() => [f("button", {
147
172
  ref_for: !0,
148
173
  ref: (e) => {
149
- e && (P.value[t] = e);
174
+ e && (k.value[t] = e);
150
175
  },
151
- class: _([I.value ? "bouncy-btn bouncy-btn--pill" : "bouncy-btn", e.disabled && "is-disabled"]),
152
- "aria-pressed": B(e.value) ? "true" : "false",
176
+ class: v([F.value ? "bouncy-btn bouncy-btn--pill" : "bouncy-btn", e.disabled && "is-disabled"]),
177
+ "aria-pressed": z(e.value) ? "true" : "false",
153
178
  disabled: e.disabled,
154
- onClick: (n) => X(e.value, t)
155
- }, [w(o.$slots, "option", {
179
+ onClick: (n) => K(e.value, t)
180
+ }, [T(o.$slots, "option", {
156
181
  option: e,
157
- active: B(e.value)
158
- }, () => [p(T(e.label), 1)], !0)], 10, k)]),
182
+ active: z(e.value)
183
+ }, () => [p(E(e.label), 1)], !0)], 10, M)]),
159
184
  _: 2
160
- }, 1024), m(E(i), {
185
+ }, 1024), m(D(i), {
161
186
  side: "bottom",
162
187
  "side-offset": 8
163
188
  }, {
164
- default: O(() => [p(T(e.tooltip), 1)]),
189
+ default: A(() => [p(E(e.tooltip), 1)]),
165
190
  _: 2
166
191
  }, 1024)]),
167
192
  _: 2
168
193
  }, 1024)]),
169
194
  _: 2
170
- }, 1024)) : (x(), d("button", {
195
+ }, 1024)) : (S(), d("button", {
171
196
  key: 1,
172
197
  ref_for: !0,
173
198
  ref: (e) => {
174
- e && (P.value[t] = e);
199
+ e && (k.value[t] = e);
175
200
  },
176
- class: _([I.value ? "bouncy-btn bouncy-btn--pill" : "bouncy-btn", e.disabled && "is-disabled"]),
177
- "aria-pressed": B(e.value) ? "true" : "false",
201
+ class: v([F.value ? "bouncy-btn bouncy-btn--pill" : "bouncy-btn", e.disabled && "is-disabled"]),
202
+ "aria-pressed": z(e.value) ? "true" : "false",
178
203
  disabled: e.disabled,
179
- onClick: (n) => X(e.value, t)
180
- }, [w(o.$slots, "option", {
204
+ onClick: (n) => K(e.value, t)
205
+ }, [T(o.$slots, "option", {
181
206
  option: e,
182
- active: B(e.value)
183
- }, () => [p(T(e.label), 1)], !0)], 10, A))], 64))), 128))
207
+ active: z(e.value)
208
+ }, () => [p(E(e.label), 1)], !0)], 10, N))], 64))), 128))
184
209
  ], 2));
185
210
  }
186
- }), [["__scopeId", "data-v-e911f316"]]), M = /* @__PURE__ */ h({
211
+ }), [["__scopeId", "data-v-9b5076ed"]]), F = /* @__PURE__ */ h({
187
212
  __name: "BouncyTabs",
188
- props: {
213
+ props: /* @__PURE__ */ g({
189
214
  options: {},
190
- modelValue: {},
191
215
  variant: { default: "default" },
192
216
  overflow: { default: "none" },
193
217
  class: { type: [
@@ -197,21 +221,24 @@ var k = [
197
221
  Object,
198
222
  Array
199
223
  ] }
200
- },
224
+ }, {
225
+ modelValue: { required: !0 },
226
+ modelModifiers: {}
227
+ }),
201
228
  emits: ["update:modelValue"],
202
- setup(e, { emit: t }) {
203
- let n = e, r = t;
204
- function i(e) {
205
- r("update:modelValue", e);
229
+ setup(e) {
230
+ let t = e, n = O(e, "modelValue");
231
+ function r(e) {
232
+ n.value = e;
206
233
  }
207
- return (t, r) => (x(), l(j, {
234
+ return (i, a) => (S(), l(P, {
208
235
  options: e.options,
209
- "model-value": e.modelValue,
236
+ "model-value": n.value,
210
237
  variant: e.variant,
211
238
  overflow: e.overflow,
212
- class: _(n.class),
239
+ class: v(t.class),
213
240
  "multi-select": !1,
214
- "onUpdate:modelValue": i
241
+ "onUpdate:modelValue": r
215
242
  }, null, 8, [
216
243
  "options",
217
244
  "model-value",
@@ -222,4 +249,4 @@ var k = [
222
249
  }
223
250
  });
224
251
  //#endregion
225
- export { M as BouncyTabs, j as BouncyToggle, o as UnderlineTabs };
252
+ export { F as BouncyTabs, P as BouncyToggle, o as UnderlineTabs };