@mkbabb/glass-ui 3.12.0 → 3.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (360) hide show
  1. package/dist/{CardAction-DuArVky-.js → CardAction-Cj2eycQ2.js} +2 -2
  2. package/dist/{CommandShortcut-CefCj5mt.js → CommandShortcut-RowNEO6i.js} +4 -4
  3. package/dist/{ContextMenuSubContent-Bhg4f5jX.js → ContextMenuSubContent-BQmxTAdw.js} +4 -4
  4. package/dist/{DataTable-CUHMukiQ.js → DataTable-BCddn3T3.js} +3 -3
  5. package/dist/{DialogContent-BRkT1cjP.js → DialogContent-Dl9WkAoS.js} +3 -3
  6. package/dist/{DialogFooter-Gprw8H_A.js → DialogFooter-Blu4t7tJ.js} +2 -2
  7. package/dist/{HoverPopover-2LOIW34a.js → HoverPopover-CISOJQuZ.js} +1 -1
  8. package/dist/{IconTooltip-Cus0fvK0.js → IconTooltip-DPzE09X9.js} +1 -1
  9. package/dist/MetricBadge-C9QMz1KT.js +79 -0
  10. package/dist/{Notification-DLMhblXR.js → Notification-DdwNxIrI.js} +2 -2
  11. package/dist/{NumberFieldContent-BbLOh8RU.js → NumberFieldContent-CqaN-SvN.js} +3 -3
  12. package/dist/{PopoverContent-BId6ggf_.js → PopoverContent-BYwt2-4x.js} +1 -1
  13. package/dist/{ScrollingText-BPP84wKo.js → ScrollingText-DfFrwSph.js} +1 -1
  14. package/dist/{SelectScrollDownButton-T32cVFeM.js → SelectScrollDownButton-CiDUxfEj.js} +6 -6
  15. package/dist/{Switch-Ch-k3Rv-.js → Switch-CsIuYP_e.js} +1 -1
  16. package/dist/{TabsList-B8CVOQPC.js → TabsList-Dttss653.js} +9 -5
  17. package/dist/{Toaster-1rYWrmAm.js → Toaster-D6q4HtXu.js} +50 -47
  18. package/dist/{ToggleGroupItem-COu_4IW4.js → ToggleGroupItem-D_AHlRw9.js} +18 -22
  19. package/dist/animated-digit.js +2 -2
  20. package/dist/api/index.d.ts +5 -2
  21. package/dist/api.js +2 -2
  22. package/dist/aurora.js +69 -69
  23. package/dist/{badge-CaoFJzRb.js → badge-UILT_3pZ.js} +1 -1
  24. package/dist/badge.js +1 -1
  25. package/dist/{button-DN39cGqL.js → button-ChXMfsud.js} +12 -12
  26. package/dist/button.js +1 -1
  27. package/dist/card.js +1 -1
  28. package/dist/carousel.js +8 -8
  29. package/dist/{check-BBKKKSTf.js → check-njhk-vfu.js} +1 -1
  30. package/dist/{chevron-down-BSkTP2aL.js → chevron-down-DKkxb4VV.js} +1 -1
  31. package/dist/{chevron-right-sDM0Yvrf.js → chevron-right-CPXbqQQz.js} +1 -1
  32. package/dist/{chevron-up-CCOD_FTz.js → chevron-up-n_24SqI-.js} +1 -1
  33. package/dist/coalesceMetric-5qIeZnTx.js +13 -0
  34. package/dist/{color-C5ls_QF7.js → color-CUYeFbgd.js} +9 -7
  35. package/dist/color.js +1 -1
  36. package/dist/command.js +1 -1
  37. package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +8 -0
  38. package/dist/components/custom/aurora/constants/presets.d.ts +5 -62
  39. package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +1 -1
  40. package/dist/components/custom/aurora/constants/shaders/vangogh-medium.glsl.d.ts +1 -0
  41. package/dist/components/custom/aurora/index.d.ts +1 -1
  42. package/dist/components/custom/configurator/ConfiguratorRow.vue.d.ts +16 -0
  43. package/dist/components/custom/constellation/Constellation.vue.d.ts +74 -6
  44. package/dist/components/custom/constellation/composables/createConstellationField.d.ts +41 -0
  45. package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +35 -0
  46. package/dist/components/custom/constellation/constants.d.ts +61 -0
  47. package/dist/components/custom/constellation/constellationDraw.d.ts +30 -0
  48. package/dist/components/custom/constellation/constellationField.d.ts +116 -149
  49. package/dist/components/custom/constellation/constellationInteraction.d.ts +132 -0
  50. package/dist/components/custom/constellation/index.d.ts +5 -2
  51. package/dist/components/custom/controls/DarkModeToggle.vue.d.ts +11 -0
  52. package/dist/components/custom/dock/DockRail.vue.d.ts +88 -0
  53. package/dist/components/custom/dock/DockTabButton.vue.d.ts +3 -4
  54. package/dist/components/custom/dock/GlassDock.vue.d.ts +5 -118
  55. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +36 -0
  56. package/dist/components/custom/dock/composables/index.d.ts +1 -0
  57. package/dist/components/custom/dock/composables/useDockClickIntegrity.d.ts +23 -0
  58. package/dist/components/custom/dock/composables/useDockMorphWindow.d.ts +15 -0
  59. package/dist/components/custom/dock/composables/useDockOrientationMorph.d.ts +44 -0
  60. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +165 -0
  61. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +44 -0
  62. package/dist/components/custom/dock/constants.d.ts +48 -0
  63. package/dist/components/custom/dock/index.d.ts +3 -0
  64. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +5 -37
  65. package/dist/components/custom/fourier-field/index.d.ts +1 -1
  66. package/dist/components/custom/fourier-field/math.d.ts +17 -0
  67. package/dist/components/custom/fourier-field/presets.d.ts +54 -0
  68. package/dist/components/custom/goo-blob/composables/buildMetaballProgram.d.ts +18 -0
  69. package/dist/components/custom/goo-blob/composables/uploadBlobUniforms.d.ts +41 -0
  70. package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +4 -3
  71. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +11 -8
  72. package/dist/components/custom/goo-blob/constants.d.ts +52 -0
  73. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -0
  74. package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +2 -2
  75. package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +37 -0
  76. package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +6 -0
  77. package/dist/components/custom/labeled-field/LabeledSlider.vue.d.ts +6 -0
  78. package/dist/components/custom/labeled-field/LabeledSwitch.vue.d.ts +6 -0
  79. package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +11 -18
  80. package/dist/components/custom/metric-badge/index.d.ts +1 -0
  81. package/dist/components/custom/metric-cell/MetricCell.vue.d.ts +15 -4
  82. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +6 -4
  83. package/dist/components/custom/tabs/constants.d.ts +12 -0
  84. package/dist/components/custom/underline/GlassUnderline.vue.d.ts +84 -0
  85. package/dist/components/custom/underline/index.d.ts +2 -0
  86. package/dist/components/custom/underline/types.d.ts +56 -0
  87. package/dist/components/ui/card/Card.vue.d.ts +15 -3
  88. package/dist/components/ui/drawer/Drawer.vue.d.ts +1 -0
  89. package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +2 -2
  90. package/dist/components/ui/metric-pill/MetricPill.vue.d.ts +6 -3
  91. package/dist/components/ui/slider/index.d.ts +22 -19
  92. package/dist/components/ui/tabs/TabsIndicator.vue.d.ts +4 -1
  93. package/dist/components/ui/toast/use-toast.d.ts +2 -2
  94. package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
  95. package/dist/components/ui/toggle/index.d.ts +1 -1
  96. package/dist/components/ui/toggle-group/ToggleGroup.vue.d.ts +1 -7
  97. package/dist/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +1 -3
  98. package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +0 -13
  99. package/dist/composables/color/index.d.ts +12 -0
  100. package/dist/composables/dark/index.d.ts +1 -1
  101. package/dist/composables/dark/useGlobalDark.d.ts +1 -21
  102. package/dist/composables/glass/index.d.ts +0 -1
  103. package/dist/composables/glass/useGlassBackdropLuminance.d.ts +59 -0
  104. package/dist/composables/glass/useSpecularTracking.d.ts +12 -3
  105. package/dist/composables/motion/core/index.d.ts +1 -1
  106. package/dist/composables/motion/curves.d.ts +48 -0
  107. package/dist/composables/motion/index.d.ts +2 -0
  108. package/dist/composables/motion/springPresets.d.ts +33 -0
  109. package/dist/composables/motion/suite.d.ts +2 -0
  110. package/dist/composables/motion/useLiquidFlex.d.ts +85 -0
  111. package/dist/composables/motion/useSpringMount.d.ts +1 -1
  112. package/dist/configurator.js +1 -1
  113. package/dist/confirm-dialog.js +2 -2
  114. package/dist/constellation.js +336 -222
  115. package/dist/context-menu.js +2 -2
  116. package/dist/controls.js +48 -20
  117. package/dist/dark.d.ts +1 -1
  118. package/dist/dark.js +1 -1
  119. package/dist/data-table.js +1 -1
  120. package/dist/dialog.js +2 -2
  121. package/dist/dock.js +705 -365
  122. package/dist/dockContext-BegmJVmx.js +17 -0
  123. package/dist/dom.js +5 -5
  124. package/dist/{dropdown-menu-D77jX6Df.js → dropdown-menu-DzkkyBwX.js} +11 -8
  125. package/dist/dropdown-menu.js +1 -1
  126. package/dist/expandable-container.js +39 -80
  127. package/dist/forms.js +5 -5
  128. package/dist/fourier-field.js +134 -99
  129. package/dist/fourier-math.js +2 -2
  130. package/dist/glass-panel.js +86 -20
  131. package/dist/glass-ui.css +1 -1
  132. package/dist/glass-ui.js +222 -212
  133. package/dist/goo-blob.js +243 -212
  134. package/dist/hover-card.js +1 -1
  135. package/dist/hover-popover.js +1 -1
  136. package/dist/icon-tooltip.js +1 -1
  137. package/dist/index.d.ts +1 -3
  138. package/dist/instrument-chassis.js +1 -1
  139. package/dist/keyboard.js +1 -1
  140. package/dist/label.js +1 -1
  141. package/dist/labeled-field.js +28 -18
  142. package/dist/{math-DTpRVC0e.js → math-U6-RrLmV.js} +18 -2
  143. package/dist/metric-badge.js +1 -1
  144. package/dist/metric-cell.js +25 -21
  145. package/dist/metric-stack.js +35 -34
  146. package/dist/{minimize-2-lcXOuc6V.js → minimize-2-BV31Ob_h.js} +1 -1
  147. package/dist/motion-core.js +32 -137
  148. package/dist/motion-curves.d.ts +1 -0
  149. package/dist/motion-curves.js +130 -0
  150. package/dist/motion.js +38 -37
  151. package/dist/notification.js +1 -1
  152. package/dist/number-field.js +1 -1
  153. package/dist/paper-backdrop.js +1 -1
  154. package/dist/popover.js +1 -1
  155. package/dist/{presets-BP_ALM0m.js → presets-BKVyQfbt.js} +1 -14
  156. package/dist/progress.js +1 -1
  157. package/dist/reactive.js +2 -2
  158. package/dist/scrolling-text.js +1 -1
  159. package/dist/{search-nbkvr2dC.js → search-BSGrf2Sk.js} +1 -1
  160. package/dist/search.js +9 -9
  161. package/dist/select.js +3 -3
  162. package/dist/separator.js +1 -1
  163. package/dist/{sheet-VZEtNFvO.js → sheet-1fChZjtw.js} +3 -3
  164. package/dist/sheet.js +1 -1
  165. package/dist/{slider-ClgpP7EB.js → slider-B-JP2JlI.js} +4 -4
  166. package/dist/slider.js +1 -1
  167. package/dist/sortable-list.js +2 -2
  168. package/dist/springPresets--YdWTHtm.js +40 -0
  169. package/dist/stacked-icons.js +6 -6
  170. package/dist/styles/animations.css +29 -114
  171. package/dist/styles/cards.css +55 -0
  172. package/dist/styles/components.css +4 -1
  173. package/dist/styles/configurator.css +42 -0
  174. package/dist/styles/dock/layer-group.css +83 -25
  175. package/dist/styles/dock/layers.css +23 -1
  176. package/dist/styles/dock/morph-bridge.css +123 -0
  177. package/dist/styles/dock/morph.css +175 -45
  178. package/dist/styles/dock/overflow.css +51 -1
  179. package/dist/styles/dock/rail-extend.css +300 -0
  180. package/dist/styles/dock/shell.css +63 -105
  181. package/dist/styles/dock-controls/dark-mode-toggle.css +109 -0
  182. package/dist/styles/dock-controls/icon-button.css +133 -0
  183. package/dist/styles/dock-controls/tab-button.css +202 -0
  184. package/dist/styles/dock-controls/touch-floor.css +94 -0
  185. package/dist/styles/dock-controls/triggers.css +128 -0
  186. package/dist/styles/dock-controls.css +30 -595
  187. package/dist/styles/dock.css +2 -0
  188. package/dist/styles/drawer.css +2 -0
  189. package/dist/styles/floating-panel.css +17 -0
  190. package/dist/styles/glass/a11y-fallback.css +245 -0
  191. package/dist/styles/glass/ladder.css +337 -0
  192. package/dist/styles/glass/material.css +238 -0
  193. package/dist/styles/glass/progress-rail.css +78 -0
  194. package/dist/styles/glass/squircle.css +66 -0
  195. package/dist/styles/glass/surfaces.css +306 -0
  196. package/dist/styles/glass-refract.css +2 -0
  197. package/dist/styles/glass.css +31 -1188
  198. package/dist/styles/hover-popover.css +2 -0
  199. package/dist/styles/index.css +28 -14
  200. package/dist/styles/instrument-chassis.css +4 -0
  201. package/dist/styles/paper.css +2 -68
  202. package/dist/styles/segmented-tabs.css +275 -0
  203. package/dist/styles/theme/bridges.css +337 -0
  204. package/dist/styles/theme/dark.css +7 -0
  205. package/dist/styles/theme/literals.css +94 -0
  206. package/dist/styles/theme/radius.css +95 -0
  207. package/dist/styles/theme.css +26 -529
  208. package/dist/styles/tokens/color-radius.css +260 -0
  209. package/dist/styles/tokens/dark-arm.css +200 -0
  210. package/dist/styles/tokens/glass.css +440 -0
  211. package/dist/styles/tokens/light-dark.css +158 -0
  212. package/dist/styles/tokens/offsets-sizing.css +500 -0
  213. package/dist/styles/tokens/property-regs.css +169 -0
  214. package/dist/styles/tokens/scale-paper.css +366 -0
  215. package/dist/styles/tokens/scheme-motion.css +334 -0
  216. package/dist/styles/tokens/shadow.css +166 -0
  217. package/dist/styles/tokens.css +22 -2360
  218. package/dist/styles/typography.css +75 -21
  219. package/dist/styles/utilities/a11y-overrides.css +140 -0
  220. package/dist/styles/utilities/animate.css +26 -0
  221. package/dist/styles/utilities/base.css +365 -0
  222. package/dist/styles/utilities/btn.css +401 -0
  223. package/dist/styles/utilities/components.css +317 -0
  224. package/dist/styles/utilities.css +19 -1318
  225. package/dist/styles/view-transition.css +0 -51
  226. package/dist/switch.js +1 -1
  227. package/dist/tabs.js +91 -82
  228. package/dist/timeline.js +1 -1
  229. package/dist/toast.js +1 -1
  230. package/dist/toggle-group.js +1 -1
  231. package/dist/tooltip.js +1 -1
  232. package/dist/underline.d.ts +1 -0
  233. package/dist/underline.js +85 -0
  234. package/dist/{useAnimatedNumber-Bcpy5Etf.js → useAnimatedNumber-C5I3wWd8.js} +1 -1
  235. package/dist/{useConfiguratorState-DxAqksK6.js → useConfiguratorState-DAoeHVue.js} +8 -8
  236. package/dist/{useGlobalDark-CAhOXNLO.js → useGlobalDark-yhL4Wp-s.js} +3 -22
  237. package/dist/useLiquidFlex-BL0lLLN2.js +30 -0
  238. package/dist/useRAFLoop-Bxv0o6L5.js +109 -0
  239. package/dist/{useScrollProgress-CffFGLa5.js → useScrollProgress-Dlvx-L3v.js} +1 -1
  240. package/dist/useSpecularTracking-Bo5su68i.js +32 -0
  241. package/dist/useSpringMount-CI2jOstM.js +108 -0
  242. package/dist/{useTouchGate-WFyJYsth.js → useTouchGate-Dg7MQI1G.js} +1 -1
  243. package/dist/utils/coalesceMetric.d.ts +29 -0
  244. package/dist/utils/index.d.ts +1 -0
  245. package/dist/vReveal-CqaCz_mC.js +44 -0
  246. package/dist/watercolor-dot.js +11 -9
  247. package/dist/{x-Dfsegz9Y.js → x-BUwTKe50.js} +1 -1
  248. package/package.json +78 -58
  249. package/src/styles/animations.css +29 -114
  250. package/src/styles/cards.css +53 -0
  251. package/src/styles/configurator.css +42 -0
  252. package/src/styles/dock/layer-group.css +83 -25
  253. package/src/styles/dock/layers.css +23 -1
  254. package/src/styles/dock/morph-bridge.css +123 -0
  255. package/src/styles/dock/morph.css +175 -45
  256. package/src/styles/dock/overflow.css +51 -1
  257. package/src/styles/dock/rail-extend.css +300 -0
  258. package/src/styles/dock/shell.css +63 -105
  259. package/src/styles/dock-controls/dark-mode-toggle.css +109 -0
  260. package/src/styles/dock-controls/icon-button.css +133 -0
  261. package/src/styles/dock-controls/tab-button.css +202 -0
  262. package/src/styles/dock-controls/touch-floor.css +94 -0
  263. package/src/styles/dock-controls/triggers.css +128 -0
  264. package/src/styles/dock-controls.css +30 -595
  265. package/src/styles/dock.css +2 -0
  266. package/src/styles/floating-panel.css +15 -0
  267. package/src/styles/glass/a11y-fallback.css +245 -0
  268. package/src/styles/glass/ladder.css +337 -0
  269. package/src/styles/glass/material.css +238 -0
  270. package/src/styles/glass/progress-rail.css +78 -0
  271. package/src/styles/glass/squircle.css +66 -0
  272. package/src/styles/glass/surfaces.css +306 -0
  273. package/src/styles/glass.css +31 -1188
  274. package/src/styles/index.css +28 -14
  275. package/src/styles/paper.css +2 -68
  276. package/src/styles/segmented-tabs.css +271 -0
  277. package/src/styles/theme/bridges.css +337 -0
  278. package/src/styles/theme/dark.css +7 -0
  279. package/src/styles/theme/literals.css +94 -0
  280. package/src/styles/theme/radius.css +95 -0
  281. package/src/styles/theme.css +26 -529
  282. package/src/styles/tokens/color-radius.css +260 -0
  283. package/src/styles/tokens/dark-arm.css +200 -0
  284. package/src/styles/tokens/glass.css +440 -0
  285. package/src/styles/tokens/light-dark.css +158 -0
  286. package/src/styles/tokens/offsets-sizing.css +500 -0
  287. package/src/styles/tokens/property-regs.css +169 -0
  288. package/src/styles/tokens/scale-paper.css +366 -0
  289. package/src/styles/tokens/scheme-motion.css +334 -0
  290. package/src/styles/tokens/shadow.css +166 -0
  291. package/src/styles/tokens.css +22 -2360
  292. package/src/styles/typography.css +75 -21
  293. package/src/styles/utilities/a11y-overrides.css +140 -0
  294. package/src/styles/utilities/animate.css +26 -0
  295. package/src/styles/utilities/base.css +365 -0
  296. package/src/styles/utilities/btn.css +401 -0
  297. package/src/styles/utilities/components.css +317 -0
  298. package/src/styles/utilities.css +19 -1318
  299. package/src/styles/view-transition.css +0 -51
  300. package/dist/DeckProgress-Dmk4_AKN.js +0 -23
  301. package/dist/InstrumentRail-CUJ05YVG.js +0 -44
  302. package/dist/MetricBadge-BZVWIxNy.js +0 -80
  303. package/dist/components/custom/deck-progress/DeckProgress.vue.d.ts +0 -27
  304. package/dist/components/custom/deck-progress/index.d.ts +0 -2
  305. package/dist/components/custom/dialog-native/GlassDialogNative.vue.d.ts +0 -57
  306. package/dist/components/custom/dialog-native/index.d.ts +0 -1
  307. package/dist/components/custom/handmark/HandMark.vue.d.ts +0 -29
  308. package/dist/components/custom/handmark/brush.d.ts +0 -242
  309. package/dist/components/custom/handmark/freehand.d.ts +0 -69
  310. package/dist/components/custom/handmark/geometry.d.ts +0 -50
  311. package/dist/components/custom/handmark/index.d.ts +0 -21
  312. package/dist/components/custom/handmark/ink.d.ts +0 -11
  313. package/dist/components/custom/handmark/texture.d.ts +0 -39
  314. package/dist/components/custom/handmark/types.d.ts +0 -53
  315. package/dist/components/custom/handmark/useHandMark.d.ts +0 -87
  316. package/dist/components/custom/instrument-rail/InstrumentRail.vue.d.ts +0 -91
  317. package/dist/components/custom/instrument-rail/index.d.ts +0 -2
  318. package/dist/composables/motion/useRouteTransition.d.ts +0 -42
  319. package/dist/deck-progress.d.ts +0 -1
  320. package/dist/deck-progress.js +0 -2
  321. package/dist/dockContext-BKeIMmNk.js +0 -9
  322. package/dist/handmark.d.ts +0 -1
  323. package/dist/handmark.js +0 -663
  324. package/dist/instrument-rail.d.ts +0 -1
  325. package/dist/instrument-rail.js +0 -2
  326. package/dist/styles/instrument-rail.css +0 -127
  327. package/dist/useGlassRenderer-D7YGOYiM.js +0 -69
  328. package/dist/useSpecularTracking-BVRZsRHA.js +0 -26
  329. package/dist/useSpringMount-BJSHcLl3.js +0 -113
  330. package/dist/useViewTransition-DaN5Zrox.js +0 -21
  331. package/dist/vReveal-zUIQk-rJ.js +0 -53
  332. package/src/styles/instrument-rail.css +0 -127
  333. /package/dist/{ContextMenuContent-DDa0v27s.js → ContextMenuContent-CT3AS1WX.js} +0 -0
  334. /package/dist/{HoverCardContent-B6CcQ8He.js → HoverCardContent-Csywg3YF.js} +0 -0
  335. /package/dist/{Input-xuDwALQR.js → Input-DWQQIOC4.js} +0 -0
  336. /package/dist/{InstrumentChassis-C2f6cBaQ.js → InstrumentChassis-UUJX0-mW.js} +0 -0
  337. /package/dist/{Label-zRfbQdCn.js → Label-r3WzWrsj.js} +0 -0
  338. /package/dist/{ModalOverlay-B1GkAjNb.js → ModalOverlay-DVLI2VRr.js} +0 -0
  339. /package/dist/{PaperBackdrop-CqwjnfLv.js → PaperBackdrop-DIXTtVq6.js} +0 -0
  340. /package/dist/{Progress-iEuD9pxG.js → Progress-DwlUKGbr.js} +0 -0
  341. /package/dist/{SelectGroup-BFiod7X2.js → SelectGroup-aumMgWLs.js} +0 -0
  342. /package/dist/{SelectSeparator-C4Ql0gzV.js → SelectSeparator-BQ_1Fcbp.js} +0 -0
  343. /package/dist/{Separator-D7sD7RKj.js → Separator-0JE6LtNu.js} +0 -0
  344. /package/dist/{TooltipProvider-CmZzCuaG.js → TooltipProvider-B3MkB_8P.js} +0 -0
  345. /package/dist/{compile-BOXjLUxu.js → compile-B7NGOBcP.js} +0 -0
  346. /package/dist/{constants-yKeKnE84.js → constants-CS75AWHG.js} +0 -0
  347. /package/dist/{createContext-B44Sah_H.js → createContext-BM46COQ-.js} +0 -0
  348. /package/dist/{createLucideIcon-B6uNAU9G.js → createLucideIcon-DydS2qgk.js} +0 -0
  349. /package/dist/{menuItemVariants-CCoBNkU5.js → menuItemVariants-DPiEarb0.js} +0 -0
  350. /package/dist/{supportsCssTimeline-C5oe0lnD.js → supportsCssTimeline-BWenxvHU.js} +0 -0
  351. /package/dist/{useIntersectionPause-Cck5Uxk8.js → useIntersectionPause-Cc-H9ees.js} +0 -0
  352. /package/dist/{useInterval-Dsmqwi03.js → useInterval-iHludrxk.js} +0 -0
  353. /package/dist/{useKeyboardShortcuts-CyIYrndH.js → useKeyboardShortcuts-Be3w_Rwk.js} +0 -0
  354. /package/dist/{useResizeObserver-CWCbk5Px.js → useResizeObserver-BhgdhOIj.js} +0 -0
  355. /package/dist/{useResolveTokenColor-r9pnNjqK.js → useResolveTokenColor-Dvn2RZJW.js} +0 -0
  356. /package/dist/{useSortable-C8ReQ50P.js → useSortable-muI29agz.js} +0 -0
  357. /package/dist/{useTextHighlight-CWEi25hf.js → useTextHighlight-DmRYkOBx.js} +0 -0
  358. /package/dist/{useTimer-3xqf_54b.js → useTimer-Dzarvzuk.js} +0 -0
  359. /package/dist/{useUserInvalidAria-DoJKMZ3s.js → useUserInvalidAria-B2h6jAM_.js} +0 -0
  360. /package/dist/{useViewportReady-RIr5Wgkh.js → useViewportReady-B40FK4Pa.js} +0 -0
@@ -40,7 +40,20 @@
40
40
  * above it via CSS custom properties or selector cascade; reordering breaks
41
41
  * fallbacks. Documented at L.W2 Lane B per Rε §B.5.1.
42
42
  *
43
- * 1. tokens.css — CSS custom properties (color, easing, glass,
43
+ * WHERE each idiom LIVES (the localized design-idiom home, complementing the
44
+ * load-ORDER below): see docs/precepts/design-idioms.md — @theme aliases live
45
+ * in theme.css, @utility recipes in their cohesion-domain file, the
46
+ * cohesion-aware @import-partial carve rule, and the var-in-arbitrary syntax.
47
+ * tokens.css / glass.css / utilities.css are thin @import ROOTS over cohesive
48
+ * tokens/* · glass/* · utilities/* partials (each < 500 lines, in cascade order
49
+ * — the dock.css precedent, AX.W06; generalized AY.W-CSS1). The carve is
50
+ * cascade-isomorphic: the partials @import in the recorded cascade order so this
51
+ * load order is preserved bit-for-bit.
52
+ *
53
+ * 1. tokens.css — thin @import root over tokens/{scheme-motion,
54
+ * color-radius,shadow,glass,offsets-sizing,
55
+ * scale-paper,light-dark,dark-arm,property-regs}.css.
56
+ * CSS custom properties (color, easing, glass,
44
57
  * paper, shadow, surface-tint rungs). Source-of-
45
58
  * record for every visual axis.
46
59
  * 2. typography.css — golden-ratio scale (√φ); semantic type classes.
@@ -48,7 +61,9 @@
48
61
  * 3. theme.css — @theme block (Tailwind aliases). Reads tokens
49
62
  * from (1) so MUST come after them; defines the
50
63
  * `dark` variant selector consumed by the cascade.
51
- * 4. glass.css — .glass-{wash,quiet,resting,floating,overlay}
64
+ * 4. glass.css — thin @import root over glass/{material,ladder,
65
+ * surfaces,progress-rail,squircle,a11y-fallback}.css.
66
+ * .glass-{wash,quiet,resting,floating,overlay}
52
67
  * 5-rung ladder + .glass-card / -pill / -btn.
53
68
  * Consumes tokens (1) + theme aliases (3).
54
69
  * 4a. glass-specular-track.css — the pointer-anchored MOVING specular rung
@@ -93,22 +108,20 @@
93
108
  * 10b. view-transition.css — the `.gl-list-item` View-Transitions group
94
109
  * recipe + `--vt-*` axes (AQ.W5; the
95
110
  * `useViewTransition` substrate's CSS half).
96
- * 11. utilities.css — focus-ring, btn-audacious + btn-interactive
97
- * (press cluster; K W6 + Q.W3 Lane E),
98
- * rainbow-vivid + rainbow-pastel. Consumes earlier
99
- * animations + tokens.
111
+ * 11. utilities.css — thin @import root over utilities/{animate,base,
112
+ * components,btn,a11y-overrides}.css. focus-ring,
113
+ * btn-audacious + btn-interactive (press cluster;
114
+ * K W6 + Q.W3 Lane E), rainbow-vivid +
115
+ * rainbow-pastel. Consumes earlier animations +
116
+ * tokens.
100
117
  * 12. instrument-chassis.css — P-tranche component CSS (chassis bezel +
101
118
  * groove dividers). Loaded after utilities so
102
119
  * component-local recipes can override.
103
- * 13. instrument-rail.css — AK-W2-α cockpit-ratio rail (flex-basis 1/φ²
104
- * binding + bezel hairlines + sibling divider
105
- * rule). Composes alongside instrument-chassis;
106
- * shares the bezel-line twin-pixel idiom.
107
- * 14. hover-popover.css — V.W3 popover-animation grammar.
108
- * 15. drawer.css — AN.W3 detented bottom-sheet grammar (glass
120
+ * 13. hover-popover.css — V.W3 popover-animation grammar.
121
+ * 14. drawer.css — AN.W3 detented bottom-sheet grammar (glass
109
122
  * sheet surface + peek handle + snap-stop rules).
110
123
  *
111
- * Per-package component CSS lives at (12)-(15) (loaded after utilities so
124
+ * Per-package component CSS lives at (12)-(14) (loaded after utilities so
112
125
  * component-local recipes can override). New per-package CSS files append
113
126
  * to that tail.
114
127
  */
@@ -128,10 +141,11 @@
128
141
  @import "./scroll-driven.css";
129
142
  @import "./view-transition.css";
130
143
  @import "./utilities.css";
144
+ @import "./configurator.css";
131
145
  @import "./instrument-chassis.css";
132
- @import "./instrument-rail.css";
133
146
  @import "./hover-popover.css";
134
147
  @import "./drawer.css";
148
+ @import "./segmented-tabs.css";
135
149
 
136
150
  /* Ensure consumer's Tailwind scans glass-ui components for utility classes
137
151
  (e.g. CVA button variants like text-destructive-foreground) */
@@ -7,54 +7,8 @@
7
7
  *
8
8
  * Texture: feTurbulence baseFrequency 0.65, 4 octaves, desaturated via
9
9
  * feColorMatrix, blended multiply (light) / soft-light (dark). Tiles ~60px.
10
- *
11
- * ── THE GRAIN RUNGS (D6.c M5 — the printed-paper tooth, FELT not seen) ─────────
12
- * The warm-paper grain must be FELT at rest — a premium editorial stock has a
13
- * felt depth, and the measured finding (ds2-medium M5 / fd-usf-gallery §F) is
14
- * that the shipped `--glass-grain-opacity: 0.025` floor reads as NOTHING. This
15
- * file lifts the grain off that floor and mints a SECOND rung for chart plates:
16
- *
17
- * --glass-grain-opacity — the PAGE grain. Lifted here to a perceptible-
18
- * but-deft 0.038 default (the local floor below).
19
- * Numeric justification: the kitsch line is
20
- * ~0.05 (above it the grain reads as screen-noise
21
- * / a dirty monitor, ds2-medium M5); 0.025 is
22
- * sub-perceptual ("felt as nothing"). 0.038 is
23
- * the calibrated MIDPOINT — ~1.5× the dead floor,
24
- * ~0.76× the kitsch ceiling — felt at rest, never
25
- * seen AS grain. (The canonical token still lives
26
- * in tokens.css; this utility reads it with the
27
- * lifted fallback so a no-override mount is felt.)
28
- * --glass-grain-opacity-plate — the PLATE grain (NEW rung). A chart plate is
29
- * the FIGURE's "paper", so it wants slightly more
30
- * tooth than the page (M5): 0.045 — still below
31
- * the 0.05 kitsch ceiling, distinctly felt so the
32
- * plate reads as PRINTED on the same stock as the
33
- * page, not pasted onto it.
34
- *
35
- * THE DATA-REGION MASK CONTRACT (M5, non-negotiable). Grain on the FRAME, never
36
- * under the FIGURE — a fleck over a choropleth reads as a data artifact; on the
37
- * plate margin it reads as paper. `paper-grain-overlay` exposes a custom-property
38
- * MASK SLOT (`--paper-grain-mask`) so a consumer can carve the data viewport out
39
- * of the grain ::after: set it to a gradient/`url()` that is transparent over the
40
- * data region and opaque over the frame, and the grain is masked off the figure.
41
- * Default `none` (the whole surface is grained — the page/card case, no data to
42
- * fence). The plate rung is opt-in via `[data-grain="plate"]`.
43
10
  */
44
11
 
45
- /* The grain rung DEFAULTS — lifted off the tokens.css floor (D6.c M5). These are
46
- plain custom-property fallbacks the utilities read; a consumer/tokens.css value
47
- still wins (`var(--glass-grain-opacity, <floor>)`), so this only sets the floor
48
- a no-override mount inherits. The plate rung is minted here (no canonical
49
- tokens.css home is touched in this lane — D6.b owns tokens.css). */
50
- @layer components {
51
- :root {
52
- /* The PLATE grain rung — distinct from the page rung; the figure's paper
53
- wants more tooth. Minted in this lane; a consumer overrides at :root. */
54
- --glass-grain-opacity-plate: 0.045;
55
- }
56
- }
57
-
58
12
  @utility paper-underpaint {
59
13
  position: fixed;
60
14
  inset: 0;
@@ -63,8 +17,7 @@
63
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");
64
18
  background-repeat: repeat;
65
19
  background-size: 60px 60px;
66
- /* Lifted floor — the page grain is FELT at rest (0.038), not the dead 0.025. */
67
- opacity: var(--glass-grain-opacity, 0.038);
20
+ opacity: var(--glass-grain-opacity);
68
21
  mix-blend-mode: multiply;
69
22
  }
70
23
 
@@ -86,27 +39,8 @@
86
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");
87
40
  background-repeat: repeat;
88
41
  background-size: 60px 60px;
89
- /* Lifted floor — felt on the frame at rest (0.038). */
90
- opacity: var(--glass-grain-opacity, 0.038);
42
+ opacity: var(--glass-grain-opacity);
91
43
  mix-blend-mode: overlay;
92
- /* THE DATA-REGION MASK SLOT (M5). Default `none` = the whole surface is
93
- grained (page/card — no data to fence). A consumer that grains a chart
94
- plate sets `--paper-grain-mask` to a gradient/url() transparent over the
95
- data viewport + opaque over the frame, carving the figure out of the
96
- grain so no fleck lands on a tier fill. `mask` is Baseline; a
97
- non-supporting engine ignores it and keeps the full-surface grain (the
98
- page case is unaffected — the mask only matters when a consumer fences
99
- the data region). */
100
- mask: var(--paper-grain-mask, none);
101
- -webkit-mask: var(--paper-grain-mask, none);
102
- }
103
-
104
- /* The PLATE rung — a chart plate opts in via `[data-grain="plate"]` to the
105
- higher-tooth `--glass-grain-opacity-plate` (the figure's paper reads as the
106
- same stock as the page, with a touch more tooth). Pair with the mask slot to
107
- fence the data viewport. */
108
- &[data-grain="plate"]::after {
109
- opacity: var(--glass-grain-opacity-plate, 0.045);
110
44
  }
111
45
  }
112
46
 
@@ -0,0 +1,271 @@
1
+ /* ════════════════════════════════════════════════════════════════════════
2
+ The unified SegmentedTabs grammar. ONE indicator body across three variants
3
+ (segmented / pill / underline), gliding on the CONTROL register
4
+ (`--spring-snappy`) with the volume-preserving travel-squish.
5
+
6
+ Carved out of the SFC `<style scoped>` into a styles/ partial (the drawer.css precedent), `@import`-ed into styles/index.css in cascade order.
7
+ Every selector is class/attribute-based (no Vue `data-v-*` scope hash), so the
8
+ rules paint un-scoped — the `.segmented-tabs`-family classes the template emits
9
+ carry them.
10
+
11
+ `--bouncy-track-trim` is the token the track padding, the indicator
12
+ `inset-block`, AND the `anchor()` offset all read so they cannot drift (the W20
13
+ magic-number lock). `--stretch` is the JS-written travel-squish scalar (1 at
14
+ rest); the indicator pairs it reciprocally (stretch X, compress Y →
15
+ volume-preserving).
16
+ ════════════════════════════════════════════════════════════════════════ */
17
+
18
+ .segmented-tabs {
19
+ --bouncy-track-trim: 0.1875rem;
20
+ --bouncy-track-radius: 0.4375rem;
21
+ --bouncy-slider-radius: 0.3125rem;
22
+ /* The travel-squish axis — 1 at rest; useTabIndicator writes it transiently
23
+ on selection, the indicator pairs it volume-preserving. */
24
+ --stretch: 1;
25
+ position: relative;
26
+ display: inline-grid;
27
+ grid-auto-flow: column;
28
+ grid-auto-columns: 1fr;
29
+ padding: var(--bouncy-track-trim);
30
+ border-radius: var(--bouncy-track-radius);
31
+ /* AX.W54 — the track rides the glass wash tier (the flagship surface),
32
+ not an opaque --muted-medium plate. */
33
+ background: var(--glass-bg-wash);
34
+ backdrop-filter: var(--glass-blur-wash);
35
+ }
36
+
37
+ @media (min-width: 640px) {
38
+ .segmented-tabs {
39
+ --bouncy-track-trim: 0.25rem;
40
+ --bouncy-track-radius: 0.5rem;
41
+ --bouncy-slider-radius: 0.375rem;
42
+ }
43
+ }
44
+
45
+ /* ── The shared indicator body ── */
46
+ .segmented-indicator {
47
+ position: absolute;
48
+ /* AX.W54 — the active indicator rides the glass quiet tier so it reads
49
+ FORWARD of the wash track (the keyframes-dock-selected model). */
50
+ background: var(--glass-bg-quiet);
51
+ backdrop-filter: var(--glass-blur-quiet);
52
+ z-index: 0;
53
+ inset-block: var(--bouncy-track-trim);
54
+ border-radius: var(--bouncy-slider-radius);
55
+ box-shadow:
56
+ 0 1px 3px rgba(0, 0, 0, 0.08),
57
+ 0 0 0 1px color-mix(in srgb, var(--border) 30%, transparent);
58
+ /* The volume-preserving travel-squish: stretch along X, compress Y in
59
+ inverse proportion. `transform-origin: center` → a symmetric width-flex
60
+ as it travels (the indicator grows wider mid-travel, settles to fit). */
61
+ transform-origin: center;
62
+ scale: var(--stretch) calc(1 / var(--stretch));
63
+ }
64
+
65
+ @media (prefers-reduced-motion: no-preference) {
66
+ .segmented-indicator {
67
+ /* The squish releases on the same clock as the glide (the snappy
68
+ settle). Under PRM the scale stays 1 (the JS write early-returns). */
69
+ transition: scale var(--duration-normal) var(--spring-snappy);
70
+ }
71
+ }
72
+
73
+ /* Fallback (JS-measured) path — the indicator is moved by inline
74
+ `transform`/`width` writes; animate those alongside the squish scale. */
75
+ .segmented-indicator--js {
76
+ transition:
77
+ transform var(--duration-normal) var(--spring-snappy),
78
+ width var(--duration-normal) var(--spring-snappy),
79
+ scale var(--duration-normal) var(--spring-snappy),
80
+ opacity var(--duration-fast) ease;
81
+ }
82
+
83
+ /* Anchor path — the indicator tethers to the active button's `anchor-name`.
84
+ `inset` reads the anchor's edges; the browser interpolates `inset` between
85
+ buttons on selection (the glide), and the JS `--stretch` write deforms it
86
+ (the squish) on the SAME snappy clock. */
87
+ @supports (position-anchor: --x) {
88
+ .segmented-indicator--anchor {
89
+ position-anchor: --gl-tab-active;
90
+ inset-block-start: calc(anchor(top) + 0.1875rem);
91
+ inset-block-end: calc(anchor(bottom) + 0.1875rem);
92
+ inset-inline-start: anchor(left);
93
+ inset-inline-end: anchor(right);
94
+ inset-block: auto;
95
+ opacity: 1;
96
+ }
97
+ @media (prefers-reduced-motion: no-preference) {
98
+ .segmented-indicator--anchor {
99
+ transition:
100
+ inset var(--duration-normal) var(--spring-snappy),
101
+ scale var(--duration-normal) var(--spring-snappy);
102
+ }
103
+ }
104
+ .segmented-tabs:not(.segmented-tabs--underline) .segmented-tab[aria-pressed="true"] {
105
+ anchor-name: --gl-tab-active;
106
+ }
107
+ }
108
+
109
+ @media (min-width: 640px) {
110
+ .segmented-indicator {
111
+ inset-block: 0.25rem;
112
+ border-radius: 0.375rem;
113
+ }
114
+ @supports (position-anchor: --x) {
115
+ .segmented-indicator--anchor {
116
+ inset-block-start: calc(anchor(top) + 0.25rem);
117
+ inset-block-end: calc(anchor(bottom) + 0.25rem);
118
+ inset-block: auto;
119
+ }
120
+ }
121
+ }
122
+
123
+ /* ── The tab buttons ── */
124
+ .segmented-tab {
125
+ position: relative;
126
+ z-index: 10;
127
+ border: none;
128
+ background: none;
129
+ font-weight: 500;
130
+ cursor: pointer;
131
+ white-space: nowrap;
132
+ padding: 0.25rem 0.625rem;
133
+ border-radius: 0.3125rem;
134
+ font: inherit;
135
+ font-size: 0.8125rem;
136
+ color: var(--muted-foreground);
137
+ transition: color var(--duration-fast) ease;
138
+ /* AQ.W3 identity base — keep `scale:1; translate:0` so a hover/press
139
+ transform never mints a stacking context that severs `anchor()`
140
+ resolution (the WAAPI press writes `transform` transiently — harmless). */
141
+ scale: 1;
142
+ translate: 0;
143
+ }
144
+
145
+ @media (min-width: 640px) {
146
+ .segmented-tab {
147
+ padding: 0.3125rem 0.75rem;
148
+ font-size: 0.875rem;
149
+ }
150
+ }
151
+
152
+ .segmented-tab[aria-pressed="true"],
153
+ .segmented-tab[aria-selected="true"] {
154
+ color: var(--foreground);
155
+ }
156
+
157
+ .segmented-tab.is-disabled {
158
+ opacity: 0.4;
159
+ cursor: not-allowed;
160
+ pointer-events: none;
161
+ filter: blur(0.5px);
162
+ }
163
+
164
+ /* ── Pill variant ── */
165
+ .segmented-tabs--pill {
166
+ border-radius: var(--radius-pill);
167
+ background: var(--surface-tint-6);
168
+ padding: 0.125rem;
169
+ gap: 0.125rem;
170
+ }
171
+
172
+ .segmented-tabs--pill .segmented-indicator {
173
+ border-radius: var(--radius-pill);
174
+ background: var(--foreground);
175
+ box-shadow: none;
176
+ inset-block: 0.125rem;
177
+ }
178
+
179
+ .segmented-tabs--pill .segmented-tab {
180
+ border-radius: var(--radius-pill);
181
+ padding: 0.125rem 0.625rem;
182
+ font-size: 0.75rem;
183
+ font-weight: 500;
184
+ }
185
+
186
+ .segmented-tabs--pill .segmented-tab[aria-pressed="true"] {
187
+ color: var(--background);
188
+ }
189
+
190
+ /* ── Underline variant ── (the panel-nav `role=tablist` strip) */
191
+ .segmented-tabs--underline {
192
+ display: flex;
193
+ grid-auto-flow: unset;
194
+ grid-auto-columns: unset;
195
+ gap: 0.25rem;
196
+ padding: 0;
197
+ background: none;
198
+ border-radius: 0;
199
+ }
200
+
201
+ /* The active tab is the anchor the underline rule tethers to. */
202
+ .segmented-tabs--underline .segmented-tab[aria-selected="true"] {
203
+ anchor-name: --gl-tab-active;
204
+ }
205
+
206
+ /* The underline indicator pseudo, position-anchored to the active tab; the
207
+ browser interpolates `inset` between anchors on selection, and the `scale`
208
+ reads the same `--stretch` squish the slider does (one indicator grammar). */
209
+ .segmented-tabs--underline::before {
210
+ content: "";
211
+ position: absolute;
212
+ position-anchor: --gl-tab-active;
213
+ inset-block-start: calc(anchor(bottom) - 2px);
214
+ inset-inline-start: anchor(left);
215
+ inset-inline-end: anchor(right);
216
+ block-size: 2px;
217
+ background: var(--foreground);
218
+ border-radius: var(--radius-sm);
219
+ transform-origin: center;
220
+ scale: var(--stretch) 1;
221
+ }
222
+
223
+ @media (prefers-reduced-motion: no-preference) {
224
+ .segmented-tabs--underline::before {
225
+ /* control register — the glide + the squish on one snappy clock. */
226
+ transition:
227
+ inset var(--duration-normal) var(--spring-snappy),
228
+ scale var(--duration-normal) var(--spring-snappy);
229
+ }
230
+ }
231
+
232
+ /* Fallback — static underline when anchor positioning is absent. */
233
+ @supports not (position-anchor: --x) {
234
+ .segmented-tabs--underline::before {
235
+ display: none;
236
+ }
237
+ .segmented-tabs--underline .segmented-tab[aria-selected="true"] {
238
+ border-bottom: 2px solid var(--foreground);
239
+ }
240
+ }
241
+
242
+ .segmented-tabs--underline .segmented-tab {
243
+ padding: 0.375rem 0.75rem;
244
+ font-size: inherit;
245
+ border-radius: 0.25rem;
246
+ transition: color var(--duration-normal) var(--ease-standard);
247
+ }
248
+
249
+ .segmented-tabs--underline .segmented-tab:hover {
250
+ color: var(--surface-tint-70);
251
+ }
252
+
253
+ /* ── Overflow variants ──
254
+ * `--scroll`/`--auto` swap the inline-grid for a flex row with intrinsic-width
255
+ * tracks so tab text never clips; the container scrolls horizontally.
256
+ */
257
+ .segmented-tabs--scroll,
258
+ .segmented-tabs--auto {
259
+ display: flex;
260
+ grid-auto-flow: unset;
261
+ grid-auto-columns: unset;
262
+ overflow-x: auto;
263
+ overflow-y: hidden;
264
+ width: 100%;
265
+ }
266
+
267
+ .segmented-tabs--scroll {
268
+ --mask-fade-width: 0.5rem;
269
+ padding-inline-end: calc(0.125rem + var(--mask-fade-width));
270
+ scroll-padding-inline: var(--mask-fade-width);
271
+ }