@mkbabb/glass-ui 3.12.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (436) hide show
  1. package/dist/CardAction-XH4YBVEK.js +158 -0
  2. package/dist/{CommandShortcut-CefCj5mt.js → CommandShortcut-DdtWXxOK.js} +58 -53
  3. package/dist/{ContextMenuSubContent-Bhg4f5jX.js → ContextMenuSubContent-B0Vs6atR.js} +4 -4
  4. package/dist/{DataTable-CUHMukiQ.js → DataTable-C464Zbqd.js} +99 -97
  5. package/dist/DialogContent-DDE6pQBU.js +103 -0
  6. package/dist/{DialogFooter-Gprw8H_A.js → DialogFooter-8eZbdmPc.js} +2 -2
  7. package/dist/FadingScroll-DwNnvKMs.js +76 -0
  8. package/dist/{HoverPopover-2LOIW34a.js → HoverPopover-Dpzwvc4t.js} +1 -1
  9. package/dist/IconChip-BDw1j5mu.js +54 -0
  10. package/dist/{IconTooltip-Cus0fvK0.js → IconTooltip-DSjasZIt.js} +1 -1
  11. package/dist/MetricBadge-BpC0R_Ec.js +79 -0
  12. package/dist/{Notification-DLMhblXR.js → Notification-DKjKsQq8.js} +10 -10
  13. package/dist/{NumberFieldContent-BbLOh8RU.js → NumberFieldContent-1VtwDSgf.js} +3 -3
  14. package/dist/PopoverContent-BTorlp--.js +127 -0
  15. package/dist/{Progress-iEuD9pxG.js → Progress-hAT4gqGH.js} +97 -77
  16. package/dist/{ScrollingText-BPP84wKo.js → ScrollingText-CUVFTWk2.js} +2 -2
  17. package/dist/{SelectScrollDownButton-T32cVFeM.js → SelectScrollDownButton-C1jb3b3K.js} +24 -8
  18. package/dist/{Switch-Ch-k3Rv-.js → Switch-Dr--uLGH.js} +2 -2
  19. package/dist/{Toaster-1rYWrmAm.js → Toaster-Bm_HQSpc.js} +55 -52
  20. package/dist/{ToggleGroupItem-COu_4IW4.js → ToggleGroupItem-Dzk9hWsF.js} +18 -22
  21. package/dist/animated-digit.js +3 -3
  22. package/dist/api/index.d.ts +10 -4
  23. package/dist/api.js +1 -1
  24. package/dist/aurora.js +113 -98
  25. package/dist/{badge-CaoFJzRb.js → badge-UILT_3pZ.js} +1 -1
  26. package/dist/badge.js +1 -1
  27. package/dist/{button-DN39cGqL.js → button-BNDWhAZb.js} +12 -12
  28. package/dist/button.js +1 -1
  29. package/dist/card.js +1 -1
  30. package/dist/carousel.d.ts +1 -1
  31. package/dist/carousel.js +101 -145
  32. package/dist/{check-BBKKKSTf.js → check-njhk-vfu.js} +1 -1
  33. package/dist/{chevron-down-BSkTP2aL.js → chevron-down-DKkxb4VV.js} +1 -1
  34. package/dist/{chevron-right-sDM0Yvrf.js → chevron-right-CPXbqQQz.js} +1 -1
  35. package/dist/{chevron-up-CCOD_FTz.js → chevron-up-n_24SqI-.js} +1 -1
  36. package/dist/coalesceMetric-5qIeZnTx.js +13 -0
  37. package/dist/collapsible.js +1 -1
  38. package/dist/{color-C5ls_QF7.js → color-DweYl7pE.js} +9 -7
  39. package/dist/color-swatch.d.ts +1 -0
  40. package/dist/color-swatch.js +47 -0
  41. package/dist/color.js +1 -1
  42. package/dist/command.js +1 -1
  43. package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +8 -0
  44. package/dist/components/custom/aurora/constants/presets.d.ts +16 -45
  45. package/dist/components/custom/aurora/constants/renderMode.d.ts +2 -0
  46. package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +1 -1
  47. package/dist/components/custom/aurora/constants/shaders/vangogh-medium.glsl.d.ts +1 -0
  48. package/dist/components/custom/color-swatch/ColorSwatch.vue.d.ts +22 -0
  49. package/dist/components/custom/color-swatch/index.d.ts +1 -0
  50. package/dist/components/custom/configurator/Configurator.vue.d.ts +19 -8
  51. package/dist/components/custom/configurator/ConfiguratorRow.vue.d.ts +16 -0
  52. package/dist/components/custom/constellation/Constellation.vue.d.ts +23 -143
  53. package/dist/components/custom/constellation/composables/createConstellationField.d.ts +41 -0
  54. package/dist/components/custom/constellation/composables/useConstellation.d.ts +26 -0
  55. package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +35 -0
  56. package/dist/components/custom/constellation/constants.d.ts +61 -0
  57. package/dist/components/custom/constellation/constellationDraw.d.ts +30 -0
  58. package/dist/components/custom/constellation/constellationField.d.ts +3 -403
  59. package/dist/components/custom/constellation/constellationInteraction.d.ts +132 -0
  60. package/dist/components/custom/constellation/constellationTypes.d.ts +369 -0
  61. package/dist/components/custom/constellation/index.d.ts +5 -2
  62. package/dist/components/custom/controls/DarkModeToggle.vue.d.ts +11 -0
  63. package/dist/components/custom/dock/DockRail.vue.d.ts +89 -0
  64. package/dist/components/custom/dock/DockSection.vue.d.ts +69 -0
  65. package/dist/components/custom/dock/DockSeparator.vue.d.ts +49 -1
  66. package/dist/components/custom/dock/DockTabButton.vue.d.ts +5 -6
  67. package/dist/components/custom/dock/GlassDock.vue.d.ts +5 -118
  68. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +36 -0
  69. package/dist/components/custom/dock/composables/index.d.ts +1 -0
  70. package/dist/components/custom/dock/composables/useDockClickIntegrity.d.ts +23 -0
  71. package/dist/components/custom/dock/composables/useDockMorphWindow.d.ts +15 -0
  72. package/dist/components/custom/dock/composables/useDockOrientationMorph.d.ts +44 -0
  73. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +165 -0
  74. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +44 -0
  75. package/dist/components/custom/dock/constants.d.ts +83 -0
  76. package/dist/components/custom/dock/index.d.ts +5 -0
  77. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +15 -37
  78. package/dist/components/custom/fading-scroll/FadingScroll.vue.d.ts +25 -0
  79. package/dist/components/custom/fading-scroll/composables/useFadingScroll.d.ts +31 -0
  80. package/dist/components/custom/fading-scroll/constants.d.ts +19 -0
  81. package/dist/components/custom/fading-scroll/index.d.ts +2 -0
  82. package/dist/components/custom/fourier-field/FourierField.vue.d.ts +7 -0
  83. package/dist/components/custom/fourier-field/index.d.ts +1 -1
  84. package/dist/components/custom/fourier-field/math.d.ts +34 -0
  85. package/dist/components/custom/fourier-field/presets.d.ts +54 -0
  86. package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +8 -0
  87. package/dist/components/custom/goo-blob/composables/buildMetaballProgram.d.ts +18 -0
  88. package/dist/components/custom/goo-blob/composables/uploadBlobUniforms.d.ts +41 -0
  89. package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +4 -3
  90. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +21 -8
  91. package/dist/components/custom/goo-blob/constants.d.ts +57 -0
  92. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -0
  93. package/dist/components/custom/handmark/brush.d.ts +33 -6
  94. package/dist/components/custom/handmark/{useHandMark.d.ts → composables/useHandMark.d.ts} +6 -4
  95. package/dist/components/custom/handmark/constants.d.ts +39 -0
  96. package/dist/components/custom/handmark/geometry.d.ts +14 -12
  97. package/dist/components/custom/handmark/index.d.ts +8 -2
  98. package/dist/components/custom/handmark/types.d.ts +9 -0
  99. package/dist/components/custom/icon-chip/IconChip.vue.d.ts +4 -0
  100. package/dist/components/custom/icon-chip/index.d.ts +2 -0
  101. package/dist/components/custom/icon-chip/types.d.ts +72 -0
  102. package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +17 -4
  103. package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +37 -0
  104. package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +6 -0
  105. package/dist/components/custom/labeled-field/LabeledSlider.vue.d.ts +6 -0
  106. package/dist/components/custom/labeled-field/LabeledSwitch.vue.d.ts +6 -0
  107. package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +11 -18
  108. package/dist/components/custom/metric-badge/index.d.ts +1 -0
  109. package/dist/components/custom/metric-cell/MetricCell.vue.d.ts +15 -4
  110. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +6 -4
  111. package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +39 -0
  112. package/dist/components/custom/pager-dots/index.d.ts +2 -0
  113. package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +20 -25
  114. package/dist/components/custom/tabs/composables/useTabIndicator.d.ts +30 -21
  115. package/dist/components/custom/tabs/constants.d.ts +18 -0
  116. package/dist/components/custom/tabs/index.d.ts +1 -1
  117. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +14 -0
  118. package/dist/components/ui/_shared/index.d.ts +2 -0
  119. package/dist/components/ui/_shared/menuItemVariants.d.ts +19 -0
  120. package/dist/components/ui/_shared/useSurfaceAxis.d.ts +41 -0
  121. package/dist/components/ui/card/Card.vue.d.ts +16 -4
  122. package/dist/components/ui/carousel/index.d.ts +0 -1
  123. package/dist/components/ui/command/Command.vue.d.ts +3 -0
  124. package/dist/components/ui/dialog/DialogContent.vue.d.ts +8 -3
  125. package/dist/components/ui/drawer/Drawer.vue.d.ts +1 -0
  126. package/dist/components/ui/drawer/DrawerContent.vue.d.ts +5 -0
  127. package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +2 -2
  128. package/dist/components/ui/index.d.ts +0 -1
  129. package/dist/components/ui/metric-pill/MetricPill.vue.d.ts +6 -3
  130. package/dist/components/ui/popover/PopoverContent.vue.d.ts +3 -0
  131. package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +14 -3
  132. package/dist/components/ui/select/SelectTrigger.vue.d.ts +27 -4
  133. package/dist/components/ui/sheet/SheetContent.vue.d.ts +6 -0
  134. package/dist/components/ui/skeleton/Skeleton.vue.d.ts +3 -0
  135. package/dist/components/ui/slider/index.d.ts +22 -19
  136. package/dist/components/ui/tabs/TabsIndicator.vue.d.ts +4 -1
  137. package/dist/components/ui/toast/use-toast.d.ts +2 -2
  138. package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
  139. package/dist/components/ui/toggle/index.d.ts +1 -1
  140. package/dist/components/ui/toggle-group/ToggleGroup.vue.d.ts +1 -7
  141. package/dist/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +1 -3
  142. package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +0 -13
  143. package/dist/composables/color/index.d.ts +12 -0
  144. package/dist/composables/dark/useGlobalDark.d.ts +14 -12
  145. package/dist/composables/glass/index.d.ts +0 -1
  146. package/dist/composables/glass/useGlassBackdropLuminance.d.ts +59 -0
  147. package/dist/composables/glass/useSpecularTracking.d.ts +12 -3
  148. package/dist/composables/motion/core/index.d.ts +1 -1
  149. package/dist/composables/motion/curves.d.ts +48 -0
  150. package/dist/composables/motion/index.d.ts +2 -0
  151. package/dist/composables/motion/springPresets.d.ts +33 -0
  152. package/dist/composables/motion/suite.d.ts +2 -0
  153. package/dist/composables/motion/useLiquidFlex.d.ts +85 -0
  154. package/dist/composables/motion/useSpringMount.d.ts +1 -1
  155. package/dist/composables/motion/useViewTransition.d.ts +36 -1
  156. package/dist/configurator.js +1 -1
  157. package/dist/confirm-dialog.js +3 -3
  158. package/dist/constellation.js +373 -261
  159. package/dist/context-menu.js +2 -2
  160. package/dist/controls.js +48 -14
  161. package/dist/dark.js +1 -1
  162. package/dist/data-table.js +1 -1
  163. package/dist/dialog.js +2 -2
  164. package/dist/dock.js +901 -372
  165. package/dist/dockContext-Bu1Avy-a.js +17 -0
  166. package/dist/dom.js +5 -5
  167. package/dist/{dropdown-menu-D77jX6Df.js → dropdown-menu-BJ7E9js_.js} +11 -8
  168. package/dist/dropdown-menu.js +1 -1
  169. package/dist/expandable-container.js +44 -81
  170. package/dist/fading-scroll.d.ts +1 -0
  171. package/dist/fading-scroll.js +2 -0
  172. package/dist/forms.js +5 -5
  173. package/dist/fourier-field.js +140 -104
  174. package/dist/fourier-math.js +2 -2
  175. package/dist/glass-panel.js +90 -21
  176. package/dist/glass-ui.css +1 -1
  177. package/dist/glass-ui.js +230 -236
  178. package/dist/goo-blob.js +264 -228
  179. package/dist/handmark.js +203 -159
  180. package/dist/header-ribbon.js +1 -1
  181. package/dist/hover-card.js +1 -1
  182. package/dist/hover-popover.js +1 -1
  183. package/dist/icon-chip.d.ts +1 -0
  184. package/dist/icon-chip.js +2 -0
  185. package/dist/icon-tooltip.js +1 -1
  186. package/dist/index.d.ts +3 -5
  187. package/dist/instrument-chassis.js +1 -1
  188. package/dist/keyboard.js +1 -1
  189. package/dist/label.js +1 -1
  190. package/dist/labeled-field.js +28 -18
  191. package/dist/{math-DTpRVC0e.js → math-DeuJwLFx.js} +26 -2
  192. package/dist/{menuItemVariants-CCoBNkU5.js → menuItemVariants-DWRQXBxJ.js} +10 -4
  193. package/dist/metric-badge.js +1 -1
  194. package/dist/metric-cell.js +29 -22
  195. package/dist/metric-stack.js +35 -34
  196. package/dist/{minimize-2-lcXOuc6V.js → minimize-2-BV31Ob_h.js} +1 -1
  197. package/dist/motion-core.js +32 -136
  198. package/dist/motion-curves.d.ts +1 -0
  199. package/dist/motion-curves.js +130 -0
  200. package/dist/motion.js +38 -37
  201. package/dist/notification.js +1 -1
  202. package/dist/number-field.js +1 -1
  203. package/dist/pager-dots.d.ts +1 -0
  204. package/dist/pager-dots.js +91 -0
  205. package/dist/paper-backdrop.js +1 -1
  206. package/dist/popover.js +1 -1
  207. package/dist/progress.js +1 -1
  208. package/dist/pulse.js +1 -1
  209. package/dist/reactive.js +2 -2
  210. package/dist/scrolling-text.js +1 -1
  211. package/dist/{search-nbkvr2dC.js → search-BSGrf2Sk.js} +1 -1
  212. package/dist/search.js +10 -10
  213. package/dist/select.js +3 -3
  214. package/dist/separator.js +1 -1
  215. package/dist/sheet-CquRYOAw.js +218 -0
  216. package/dist/sheet.js +1 -1
  217. package/dist/{slider-ClgpP7EB.js → slider-DQ95MET2.js} +8 -8
  218. package/dist/slider.js +1 -1
  219. package/dist/sortable-list.js +3 -3
  220. package/dist/springPresets-WXaLbu8u.js +40 -0
  221. package/dist/stacked-icons.js +6 -6
  222. package/dist/styles/animations.css +25 -125
  223. package/dist/styles/cards.css +55 -0
  224. package/dist/styles/components.css +4 -1
  225. package/dist/styles/configurator.css +77 -0
  226. package/dist/styles/dock/density.css +19 -0
  227. package/dist/styles/dock/layer-group.css +83 -25
  228. package/dist/styles/dock/layers.css +23 -1
  229. package/dist/styles/dock/morph-bridge.css +123 -0
  230. package/dist/styles/dock/morph.css +175 -45
  231. package/dist/styles/dock/overflow.css +66 -1
  232. package/dist/styles/dock/rail-extend.css +397 -0
  233. package/dist/styles/dock/section.css +59 -0
  234. package/dist/styles/dock/shell.css +97 -110
  235. package/dist/styles/dock-controls/dark-mode-toggle.css +109 -0
  236. package/dist/styles/dock-controls/icon-button.css +143 -0
  237. package/dist/styles/dock-controls/tab-button.css +143 -0
  238. package/dist/styles/dock-controls/touch-floor.css +94 -0
  239. package/dist/styles/dock-controls/triggers.css +135 -0
  240. package/dist/styles/dock-controls.css +30 -595
  241. package/dist/styles/dock.css +8 -3
  242. package/dist/styles/drawer.css +48 -0
  243. package/dist/styles/feedback-tone.css +104 -0
  244. package/dist/styles/floating-panel.css +17 -0
  245. package/dist/styles/glass/a11y-fallback.css +245 -0
  246. package/dist/styles/glass/ladder.css +383 -0
  247. package/dist/styles/glass/material.css +238 -0
  248. package/dist/styles/glass/progress-rail.css +78 -0
  249. package/dist/styles/glass/squircle.css +66 -0
  250. package/dist/styles/glass/surface-axis.css +113 -0
  251. package/dist/styles/glass/surfaces.css +382 -0
  252. package/dist/styles/glass-refract.css +2 -0
  253. package/dist/styles/glass.css +34 -1188
  254. package/dist/styles/hover-popover.css +2 -0
  255. package/dist/styles/icon-chip.css +149 -0
  256. package/dist/styles/index.css +94 -18
  257. package/dist/styles/instrument-chassis.css +46 -0
  258. package/dist/styles/menu.css +127 -0
  259. package/dist/styles/paper.css +2 -68
  260. package/dist/styles/segmented-tabs.css +346 -0
  261. package/dist/styles/select.css +50 -0
  262. package/dist/styles/theme/bridges.css +347 -0
  263. package/dist/styles/theme/dark.css +7 -0
  264. package/dist/styles/theme/literals.css +94 -0
  265. package/dist/styles/theme/radius.css +95 -0
  266. package/dist/styles/theme.css +26 -529
  267. package/dist/styles/tokens/color-radius.css +287 -0
  268. package/dist/styles/tokens/dark-arm.css +308 -0
  269. package/dist/styles/tokens/glass.css +500 -0
  270. package/dist/styles/tokens/light-dark.css +187 -0
  271. package/dist/styles/tokens/offsets-sizing.css +562 -0
  272. package/dist/styles/tokens/property-regs.css +162 -0
  273. package/dist/styles/tokens/scale-paper.css +409 -0
  274. package/dist/styles/tokens/scheme-motion.css +352 -0
  275. package/dist/styles/tokens/shadow.css +166 -0
  276. package/dist/styles/tokens.css +22 -2360
  277. package/dist/styles/transitions.css +7 -7
  278. package/dist/styles/typography/scale.css +153 -0
  279. package/dist/styles/typography/semantic.css +220 -0
  280. package/dist/styles/typography/utilities.css +159 -0
  281. package/dist/styles/typography.css +23 -453
  282. package/dist/styles/utilities/a11y-overrides.css +169 -0
  283. package/dist/styles/utilities/animate.css +26 -0
  284. package/dist/styles/utilities/base.css +541 -0
  285. package/dist/styles/utilities/btn.css +218 -0
  286. package/dist/styles/utilities/components.css +317 -0
  287. package/dist/styles/utilities.css +19 -1318
  288. package/dist/styles/view-transition.css +4 -52
  289. package/dist/switch.js +1 -1
  290. package/dist/tabs.js +161 -181
  291. package/dist/timeline.js +2 -2
  292. package/dist/toast.js +1 -1
  293. package/dist/toggle-chip.js +3 -1
  294. package/dist/toggle-group.js +1 -1
  295. package/dist/tooltip.js +1 -1
  296. package/dist/typewriter.js +1 -1
  297. package/dist/{useAnimatedNumber-Bcpy5Etf.js → useAnimatedNumber-C_3wZLx4.js} +1 -1
  298. package/dist/useConfiguratorState-kiIlun8I.js +303 -0
  299. package/dist/useLiquidFlex-C12hXwOZ.js +30 -0
  300. package/dist/useRAFLoop-CdwJ7284.js +109 -0
  301. package/dist/{useScrollProgress-CffFGLa5.js → useScrollProgress-D7bYU2RK.js} +1 -1
  302. package/dist/useSpecularTracking-Bo5su68i.js +32 -0
  303. package/dist/useSpringMount-CvopqiFr.js +108 -0
  304. package/dist/useSurfaceAxis-CMnF2zHb.js +7 -0
  305. package/dist/{useTouchGate-WFyJYsth.js → useTouchGate-28Tk2-t2.js} +1 -1
  306. package/dist/useViewTransition-COsPjQVZ.js +47 -0
  307. package/dist/utils/coalesceMetric.d.ts +29 -0
  308. package/dist/utils/index.d.ts +1 -0
  309. package/dist/vReveal-D9k0jADx.js +10 -0
  310. package/dist/watercolor-dot.js +22 -13
  311. package/dist/{x-Dfsegz9Y.js → x-BUwTKe50.js} +1 -1
  312. package/package.json +134 -50
  313. package/src/styles/animations.css +25 -125
  314. package/src/styles/cards.css +53 -0
  315. package/src/styles/configurator.css +77 -0
  316. package/src/styles/dock/density.css +19 -0
  317. package/src/styles/dock/layer-group.css +83 -25
  318. package/src/styles/dock/layers.css +23 -1
  319. package/src/styles/dock/morph-bridge.css +123 -0
  320. package/src/styles/dock/morph.css +175 -45
  321. package/src/styles/dock/overflow.css +66 -1
  322. package/src/styles/dock/rail-extend.css +397 -0
  323. package/src/styles/dock/section.css +59 -0
  324. package/src/styles/dock/shell.css +97 -110
  325. package/src/styles/dock-controls/dark-mode-toggle.css +109 -0
  326. package/src/styles/dock-controls/icon-button.css +143 -0
  327. package/src/styles/dock-controls/tab-button.css +143 -0
  328. package/src/styles/dock-controls/touch-floor.css +94 -0
  329. package/src/styles/dock-controls/triggers.css +135 -0
  330. package/src/styles/dock-controls.css +30 -595
  331. package/src/styles/dock.css +8 -3
  332. package/src/styles/drawer.css +42 -0
  333. package/src/styles/feedback-tone.css +104 -0
  334. package/src/styles/floating-panel.css +15 -0
  335. package/src/styles/glass/a11y-fallback.css +245 -0
  336. package/src/styles/glass/ladder.css +383 -0
  337. package/src/styles/glass/material.css +238 -0
  338. package/src/styles/glass/progress-rail.css +78 -0
  339. package/src/styles/glass/squircle.css +66 -0
  340. package/src/styles/glass/surface-axis.css +113 -0
  341. package/src/styles/glass/surfaces.css +382 -0
  342. package/src/styles/glass.css +34 -1188
  343. package/src/styles/icon-chip.css +149 -0
  344. package/src/styles/index.css +93 -17
  345. package/src/styles/instrument-chassis.css +42 -0
  346. package/src/styles/menu.css +127 -0
  347. package/src/styles/paper.css +2 -68
  348. package/src/styles/segmented-tabs.css +340 -0
  349. package/src/styles/select.css +50 -0
  350. package/src/styles/theme/bridges.css +347 -0
  351. package/src/styles/theme/dark.css +7 -0
  352. package/src/styles/theme/literals.css +94 -0
  353. package/src/styles/theme/radius.css +95 -0
  354. package/src/styles/theme.css +26 -529
  355. package/src/styles/tokens/color-radius.css +287 -0
  356. package/src/styles/tokens/dark-arm.css +308 -0
  357. package/src/styles/tokens/glass.css +500 -0
  358. package/src/styles/tokens/light-dark.css +187 -0
  359. package/src/styles/tokens/offsets-sizing.css +562 -0
  360. package/src/styles/tokens/property-regs.css +162 -0
  361. package/src/styles/tokens/scale-paper.css +409 -0
  362. package/src/styles/tokens/scheme-motion.css +352 -0
  363. package/src/styles/tokens/shadow.css +166 -0
  364. package/src/styles/tokens.css +22 -2360
  365. package/src/styles/transitions.css +7 -7
  366. package/src/styles/typography/scale.css +153 -0
  367. package/src/styles/typography/semantic.css +220 -0
  368. package/src/styles/typography/utilities.css +159 -0
  369. package/src/styles/typography.css +23 -453
  370. package/src/styles/utilities/a11y-overrides.css +169 -0
  371. package/src/styles/utilities/animate.css +26 -0
  372. package/src/styles/utilities/base.css +541 -0
  373. package/src/styles/utilities/btn.css +218 -0
  374. package/src/styles/utilities/components.css +317 -0
  375. package/src/styles/utilities.css +19 -1318
  376. package/src/styles/view-transition.css +4 -52
  377. package/dist/CardAction-DuArVky-.js +0 -157
  378. package/dist/DeckProgress-Dmk4_AKN.js +0 -23
  379. package/dist/DialogContent-BRkT1cjP.js +0 -100
  380. package/dist/InstrumentRail-CUJ05YVG.js +0 -44
  381. package/dist/MetricBadge-BZVWIxNy.js +0 -80
  382. package/dist/PopoverContent-BId6ggf_.js +0 -121
  383. package/dist/TabsList-B8CVOQPC.js +0 -101
  384. package/dist/components/custom/deck-progress/DeckProgress.vue.d.ts +0 -27
  385. package/dist/components/custom/deck-progress/index.d.ts +0 -2
  386. package/dist/components/custom/dialog-native/GlassDialogNative.vue.d.ts +0 -57
  387. package/dist/components/custom/dialog-native/index.d.ts +0 -1
  388. package/dist/components/custom/instrument-rail/InstrumentRail.vue.d.ts +0 -91
  389. package/dist/components/custom/instrument-rail/index.d.ts +0 -2
  390. package/dist/components/ui/carousel/CarouselDots.vue.d.ts +0 -4
  391. package/dist/composables/motion/useRouteTransition.d.ts +0 -42
  392. package/dist/deck-progress.d.ts +0 -1
  393. package/dist/deck-progress.js +0 -2
  394. package/dist/dockContext-BKeIMmNk.js +0 -9
  395. package/dist/instrument-rail.d.ts +0 -1
  396. package/dist/instrument-rail.js +0 -2
  397. package/dist/sheet-VZEtNFvO.js +0 -214
  398. package/dist/styles/instrument-rail.css +0 -127
  399. package/dist/useConfiguratorState-DxAqksK6.js +0 -287
  400. package/dist/useGlassRenderer-D7YGOYiM.js +0 -69
  401. package/dist/useSpecularTracking-BVRZsRHA.js +0 -26
  402. package/dist/useSpringMount-BJSHcLl3.js +0 -113
  403. package/dist/useViewTransition-DaN5Zrox.js +0 -21
  404. package/dist/vReveal-zUIQk-rJ.js +0 -53
  405. package/src/styles/instrument-rail.css +0 -127
  406. /package/dist/{CollapsibleContent-CP9qF1v4.js → CollapsibleContent-C_s6fG7r.js} +0 -0
  407. /package/dist/{ContextMenuContent-DDa0v27s.js → ContextMenuContent-ON3x7cuk.js} +0 -0
  408. /package/dist/{HoverCardContent-B6CcQ8He.js → HoverCardContent-DkMaQzH5.js} +0 -0
  409. /package/dist/{Input-xuDwALQR.js → Input-DVG_J0ne.js} +0 -0
  410. /package/dist/{InstrumentChassis-C2f6cBaQ.js → InstrumentChassis-UUJX0-mW.js} +0 -0
  411. /package/dist/{Label-zRfbQdCn.js → Label-Ck9SWEKM.js} +0 -0
  412. /package/dist/{ModalOverlay-B1GkAjNb.js → ModalOverlay-CkPRRgl_.js} +0 -0
  413. /package/dist/{PaperBackdrop-CqwjnfLv.js → PaperBackdrop-nBKe0vkB.js} +0 -0
  414. /package/dist/{SelectGroup-BFiod7X2.js → SelectGroup-Dcczq44n.js} +0 -0
  415. /package/dist/{SelectSeparator-C4Ql0gzV.js → SelectSeparator-DK2y1Bun.js} +0 -0
  416. /package/dist/{Separator-D7sD7RKj.js → Separator-BArl4OaB.js} +0 -0
  417. /package/dist/{TooltipProvider-CmZzCuaG.js → TooltipProvider-B3MkB_8P.js} +0 -0
  418. /package/dist/{_plugin-vue_export-helper-ok8pgSl5.js → _plugin-vue_export-helper-CBt_VvXa.js} +0 -0
  419. /package/dist/{compile-BOXjLUxu.js → compile-EXXzEr1q.js} +0 -0
  420. /package/dist/{constants-yKeKnE84.js → constants-BPOqYJAm.js} +0 -0
  421. /package/dist/{createContext-B44Sah_H.js → createContext-B2RaZ-b8.js} +0 -0
  422. /package/dist/{createLucideIcon-B6uNAU9G.js → createLucideIcon-DydS2qgk.js} +0 -0
  423. /package/dist/{presets-BP_ALM0m.js → presets-BW2b-fr1.js} +0 -0
  424. /package/dist/{prng-D27-B3tK.js → prng-Cg22zv8g.js} +0 -0
  425. /package/dist/{supportsCssTimeline-C5oe0lnD.js → supportsCssTimeline-BWenxvHU.js} +0 -0
  426. /package/dist/{useGlobalDark-CAhOXNLO.js → useGlobalDark-C28t0VWJ.js} +0 -0
  427. /package/dist/{useIntersectionPause-Cck5Uxk8.js → useIntersectionPause-Bj4sPkMh.js} +0 -0
  428. /package/dist/{useInterval-Dsmqwi03.js → useInterval-CNdua40W.js} +0 -0
  429. /package/dist/{useKeyboardShortcuts-CyIYrndH.js → useKeyboardShortcuts-BXWXOZ-9.js} +0 -0
  430. /package/dist/{useResizeObserver-CWCbk5Px.js → useResizeObserver-V6nq5gJb.js} +0 -0
  431. /package/dist/{useResolveTokenColor-r9pnNjqK.js → useResolveTokenColor-NUG2zYAW.js} +0 -0
  432. /package/dist/{useSortable-C8ReQ50P.js → useSortable-BVqlJRBR.js} +0 -0
  433. /package/dist/{useTextHighlight-CWEi25hf.js → useTextHighlight-NmBM5V_4.js} +0 -0
  434. /package/dist/{useTimer-3xqf_54b.js → useTimer-B_PAasDL.js} +0 -0
  435. /package/dist/{useUserInvalidAria-DoJKMZ3s.js → useUserInvalidAria-CDfJuakL.js} +0 -0
  436. /package/dist/{useViewportReady-RIr5Wgkh.js → useViewportReady-CvBcCYDf.js} +0 -0
@@ -27,7 +27,7 @@ var c = ["data-variant", "data-size"], l = /* @__PURE__ */ n({
27
27
  }), s.class))
28
28
  }, [a(l.$slots, "default")], 10, c));
29
29
  }
30
- }), u = s("focus-ring inline-flex items-center gap-1.5 rounded-badge border font-semibold transition-control wrap-anywhere [&_svg:not([class*=size-])]:size-[var(--ui-glyph-sm)] [&_svg]:shrink-0 [&_svg]:pointer-events-none", {
30
+ }), u = s("focus-ring inline-flex items-center gap-1.5 rounded-badge border font-semibold transition-control wrap-anywhere [&_svg:not([class*=size-])]:size-(--ui-glyph-sm) [&_svg]:shrink-0 [&_svg]:pointer-events-none", {
31
31
  variants: {
32
32
  variant: {
33
33
  default: "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
package/dist/badge.js CHANGED
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./badge-CaoFJzRb.js";
1
+ import { n as e, t } from "./badge-UILT_3pZ.js";
2
2
  export { e as Badge, t as badgeVariants };
@@ -46,30 +46,30 @@ var d = /* @__PURE__ */ r({
46
46
  "class"
47
47
  ]));
48
48
  }
49
- }), f = u("btn-pill tap-squish focus-ring whitespace-nowrap text-[length:var(--control-text)] font-medium cursor-pointer active:scale-[var(--scale-press-btn)] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-disabled [&_svg:not([class*=size-])]:size-[var(--ui-glyph)] [&_svg]:shrink-0 [&_svg]:pointer-events-none", {
49
+ }), f = u("btn-pill tap-squish focus-ring whitespace-nowrap text-[length:var(--control-text)] font-medium cursor-pointer active:scale-(--scale-press-btn) disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-disabled [&_svg:not([class*=size-])]:size-(--ui-glyph) [&_svg]:shrink-0 [&_svg]:pointer-events-none", {
50
50
  variants: {
51
51
  variant: {
52
- default: "glass-wash btn-glass text-foreground hover:bg-[var(--glass-bg-resting)] hover:border-[var(--glass-border-resting)] active:bg-[var(--glass-bg-floating)] active:border-[var(--glass-border-floating)] aria-pressed:bg-[color-mix(in_srgb,var(--foreground)_10%,var(--glass-bg-resting))]",
52
+ default: "glass-wash btn-glass text-foreground hover:bg-(--glass-bg-resting) hover:border-(--glass-border-resting) active:bg-(--glass-bg-floating) active:border-(--glass-border-floating) aria-pressed:bg-[color-mix(in_srgb,var(--foreground)_10%,var(--glass-bg-resting))]",
53
53
  solid: "bg-primary text-primary-foreground hover:bg-primary/90 active:bg-primary/80 aria-pressed:bg-primary/85",
54
- "primary-audacious": "btn-audacious bg-primary text-primary-foreground hover:scale-[var(--scale-hover-btn)] aria-pressed:scale-[var(--scale-press-btn)]",
55
- "gold-audacious": "btn-audacious btn-audacious-gold text-foreground hover:text-white active:text-white aria-pressed:text-white hover:scale-[var(--scale-hover-btn)] aria-pressed:scale-[var(--scale-press-btn)]",
54
+ "primary-audacious": "glass-wash btn-glass text-foreground hover:bg-(--glass-bg-resting) hover:border-(--glass-border-resting) active:bg-(--glass-bg-floating) active:border-(--glass-border-floating) aria-pressed:bg-[color-mix(in_srgb,var(--foreground)_10%,var(--glass-bg-resting))] hover:scale-(--scale-hover-btn) aria-pressed:scale-(--scale-press-btn)",
55
+ "gold-audacious": "glass-wash btn-glass text-foreground bg-[linear-gradient(135deg,color-mix(in_srgb,var(--color-gold)_10%,transparent),color-mix(in_srgb,var(--color-gold-light)_6%,transparent)_50%,color-mix(in_srgb,var(--color-gold)_10%,transparent))] hover:bg-[linear-gradient(135deg,color-mix(in_srgb,var(--color-gold)_16%,transparent),color-mix(in_srgb,var(--color-gold-light)_10%,transparent)_50%,color-mix(in_srgb,var(--color-gold)_16%,transparent))] hover:scale-(--scale-hover-btn) aria-pressed:scale-(--scale-press-btn)",
56
56
  destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90 active:bg-destructive/80 aria-pressed:bg-destructive/85",
57
57
  outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground active:bg-accent/80 aria-pressed:bg-accent aria-pressed:text-accent-foreground",
58
58
  secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 active:bg-secondary/70 aria-pressed:bg-secondary/60",
59
59
  accent: "bg-accent text-accent-foreground border border-border/40 hover:bg-accent/80 active:bg-accent/70 aria-pressed:bg-accent/60",
60
60
  ghost: "bg-transparent text-foreground/70 hover:bg-foreground/8 hover:text-foreground active:bg-foreground/12 aria-pressed:bg-foreground/10 aria-pressed:text-foreground",
61
- glass: "glass-wash btn-glass text-foreground hover:bg-[var(--glass-bg-resting)] hover:border-[var(--glass-border-resting)] active:bg-[var(--glass-bg-floating)] active:border-[var(--glass-border-floating)] aria-pressed:bg-[color-mix(in_srgb,var(--foreground)_10%,var(--glass-bg-resting))]",
62
- "glass-wash": "glass-wash btn-glass text-foreground/70 hover:bg-foreground/[0.04] hover:border-[var(--surface-tint-22)] hover:text-foreground active:bg-foreground/[0.08] aria-pressed:bg-foreground/[0.1] aria-pressed:text-foreground",
61
+ glass: "glass-wash btn-glass text-foreground hover:bg-(--glass-bg-resting) hover:border-(--glass-border-resting) active:bg-(--glass-bg-floating) active:border-(--glass-border-floating) aria-pressed:bg-[color-mix(in_srgb,var(--foreground)_10%,var(--glass-bg-resting))]",
62
+ "glass-wash": "glass-wash btn-glass text-foreground/70 hover:bg-foreground/[0.04] hover:border-(--surface-tint-22) hover:text-foreground active:bg-foreground/[0.08] aria-pressed:bg-foreground/[0.1] aria-pressed:text-foreground",
63
63
  ai: "bg-amber-500/15 text-amber-700 hover:bg-amber-500/25 active:bg-amber-500/35 dark:text-amber-400 aria-pressed:bg-amber-500/30",
64
64
  link: "text-primary underline-offset-4 hover:underline active:opacity-80 active:scale-100"
65
65
  },
66
66
  size: {
67
- default: "h-[var(--control-h-md)] px-4 py-2 has-[>svg]:px-3",
68
- xs: "h-[var(--control-h-xs)] rounded-pill px-2 text-[length:var(--control-text-sm)]",
69
- sm: "h-[var(--control-h-sm)] rounded-pill px-3",
70
- lg: "h-[var(--control-h-lg)] rounded-pill px-8 has-[>svg]:px-5",
71
- icon: "h-[var(--control-h-md)] w-[var(--control-h-md)] p-0",
72
- "icon-sm": "h-[var(--control-h-xs)] w-[var(--control-h-xs)] p-0"
67
+ default: "h-(--control-h-md) px-4 py-2 has-[>svg]:px-3",
68
+ xs: "h-(--control-h-xs) rounded-pill px-2 text-[length:var(--control-text-sm)]",
69
+ sm: "h-(--control-h-sm) rounded-pill px-3",
70
+ lg: "h-(--control-h-lg) rounded-pill px-8 has-[>svg]:px-5",
71
+ icon: "h-(--control-h-md) w-(--control-h-md) p-0",
72
+ "icon-sm": "h-(--control-h-xs) w-(--control-h-xs) p-0"
73
73
  }
74
74
  },
75
75
  defaultVariants: {
package/dist/button.js CHANGED
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./button-DN39cGqL.js";
1
+ import { n as e, t } from "./button-BNDWhAZb.js";
2
2
  export { e as Button, t as buttonVariants };
package/dist/card.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./CardAction-DuArVky-.js";
1
+ import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./CardAction-XH4YBVEK.js";
2
2
  export { a as Card, o as CardAction, i as CardContent, t as CardDescription, n as CardFooter, r as CardHeader, e as CardTitle };
@@ -1,2 +1,2 @@
1
- export { Carousel, CarouselContent, CarouselDots, CarouselItem, CarouselNext, CarouselPager, CarouselPrevious, GlassCarouselPager, useCarousel, } from "./components/ui/carousel";
1
+ export { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPager, CarouselPrevious, GlassCarouselPager, useCarousel, } from "./components/ui/carousel";
2
2
  export type { CarouselApi } from "./components/ui/carousel";
package/dist/carousel.js CHANGED
@@ -1,30 +1,29 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { t } from "./createLucideIcon-B6uNAU9G.js";
3
- import { t as n } from "./chevron-down-BSkTP2aL.js";
4
- import { t as r } from "./chevron-right-sDM0Yvrf.js";
5
- import { t as i } from "./chevron-up-CCOD_FTz.js";
6
- import { n as a } from "./button-DN39cGqL.js";
7
- import { t as o } from "./_plugin-vue_export-helper-ok8pgSl5.js";
8
- import { Fragment as s, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createVNode as p, defineComponent as m, mergeProps as h, normalizeClass as g, onMounted as _, openBlock as v, ref as y, renderList as b, renderSlot as x, resolveDynamicComponent as S, toDisplayString as C, unref as w, watch as T, withCtx as E } from "vue";
9
- import { createInjectionState as D } from "@vueuse/core";
10
- import O from "embla-carousel-vue";
11
- var k = t("arrow-left", [["path", {
2
+ import { t } from "./createLucideIcon-DydS2qgk.js";
3
+ import { t as n } from "./chevron-down-DKkxb4VV.js";
4
+ import { t as r } from "./chevron-right-CPXbqQQz.js";
5
+ import { t as i } from "./chevron-up-n_24SqI-.js";
6
+ import { n as a } from "./button-BNDWhAZb.js";
7
+ import { computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createVNode as d, defineComponent as f, mergeProps as p, normalizeClass as m, onMounted as h, openBlock as g, ref as _, renderSlot as v, resolveDynamicComponent as y, toDisplayString as b, unref as x, watch as S, withCtx as C } from "vue";
8
+ import { createInjectionState as w } from "@vueuse/core";
9
+ import T from "embla-carousel-vue";
10
+ var E = t("arrow-left", [["path", {
12
11
  d: "m12 19-7-7 7-7",
13
12
  key: "1l729n"
14
13
  }], ["path", {
15
14
  d: "M19 12H5",
16
15
  key: "x3x0zl"
17
- }]]), A = t("arrow-right", [["path", {
16
+ }]]), D = t("arrow-right", [["path", {
18
17
  d: "M5 12h14",
19
18
  key: "1ays0h"
20
19
  }], ["path", {
21
20
  d: "m12 5 7 7-7 7",
22
21
  key: "xquz4c"
23
- }]]), j = t("chevron-left", [["path", {
22
+ }]]), O = t("chevron-left", [["path", {
24
23
  d: "m15 18-6-6 6-6",
25
24
  key: "1wnfg3"
26
- }]]), [M, N] = D(({ opts: e, orientation: t, plugins: n }, r) => {
27
- let [i, a] = O({
25
+ }]]), [k, A] = w(({ opts: e, orientation: t, plugins: n }, r) => {
26
+ let [i, a] = T({
28
27
  ...e,
29
28
  axis: t === "horizontal" ? "x" : "y"
30
29
  }, n);
@@ -34,11 +33,11 @@ var k = t("arrow-left", [["path", {
34
33
  function s() {
35
34
  a.value?.scrollNext();
36
35
  }
37
- let c = y(!1), l = y(!1);
36
+ let c = _(!1), l = _(!1);
38
37
  function u(e) {
39
38
  c.value = e?.canScrollNext() || !1, l.value = e?.canScrollPrev() || !1;
40
39
  }
41
- return _(() => {
40
+ return h(() => {
42
41
  a.value && (a.value?.on("init", u), a.value?.on("reInit", u), a.value?.on("select", u), r("init-api", a.value));
43
42
  }), {
44
43
  carouselRef: i,
@@ -50,14 +49,14 @@ var k = t("arrow-left", [["path", {
50
49
  orientation: t
51
50
  };
52
51
  });
53
- function P() {
54
- let e = N();
52
+ function j() {
53
+ let e = A();
55
54
  if (!e) throw Error("useCarousel must be used within a <Carousel />");
56
55
  return e;
57
56
  }
58
57
  //#endregion
59
58
  //#region src/components/ui/carousel/Carousel.vue
60
- var F = /* @__PURE__ */ m({
59
+ var M = /* @__PURE__ */ f({
61
60
  __name: "Carousel",
62
61
  props: {
63
62
  opts: {},
@@ -73,14 +72,14 @@ var F = /* @__PURE__ */ m({
73
72
  },
74
73
  emits: ["init-api"],
75
74
  setup(t, { expose: n, emit: r }) {
76
- let i = t, { canScrollNext: a, canScrollPrev: o, carouselApi: s, carouselRef: c, orientation: l, scrollNext: u, scrollPrev: f } = M(i, r);
75
+ let i = t, { canScrollNext: a, canScrollPrev: o, carouselApi: s, carouselRef: c, orientation: u, scrollNext: d, scrollPrev: f } = k(i, r);
77
76
  n({
78
77
  canScrollNext: a,
79
78
  canScrollPrev: o,
80
79
  carouselApi: s,
81
80
  carouselRef: c,
82
- orientation: l,
83
- scrollNext: u,
81
+ orientation: u,
82
+ scrollNext: d,
84
83
  scrollPrev: f
85
84
  });
86
85
  function p(e) {
@@ -89,26 +88,26 @@ var F = /* @__PURE__ */ m({
89
88
  e.preventDefault(), f();
90
89
  return;
91
90
  }
92
- e.key === n && (e.preventDefault(), u());
91
+ e.key === n && (e.preventDefault(), d());
93
92
  }
94
- return (t, n) => (v(), d("div", {
93
+ return (t, n) => (g(), l("div", {
95
94
  "data-slot": "carousel",
96
- class: g(w(e)("relative", i.class)),
95
+ class: m(x(e)("relative", i.class)),
97
96
  role: "region",
98
97
  "aria-roledescription": "carousel",
99
98
  tabindex: "0",
100
99
  onKeydown: p
101
- }, [x(t.$slots, "default", {
102
- canScrollNext: w(a),
103
- canScrollPrev: w(o),
104
- carouselApi: w(s),
105
- carouselRef: w(c),
106
- orientation: w(l),
107
- scrollNext: w(u),
108
- scrollPrev: w(f)
100
+ }, [v(t.$slots, "default", {
101
+ canScrollNext: x(a),
102
+ canScrollPrev: x(o),
103
+ carouselApi: x(s),
104
+ carouselRef: x(c),
105
+ orientation: x(u),
106
+ scrollNext: x(d),
107
+ scrollPrev: x(f)
109
108
  })], 34));
110
109
  }
111
- }), I = /* @__PURE__ */ m({
110
+ }), N = /* @__PURE__ */ f({
112
111
  inheritAttrs: !1,
113
112
  __name: "CarouselContent",
114
113
  props: { class: { type: [
@@ -119,58 +118,15 @@ var F = /* @__PURE__ */ m({
119
118
  Array
120
119
  ] } },
121
120
  setup(t, { expose: n }) {
122
- let r = t, { carouselRef: i, orientation: a } = P();
123
- return n({ carouselRef: i }), (t, n) => (v(), d("div", {
121
+ let r = t, { carouselRef: i, orientation: a } = j();
122
+ return n({ carouselRef: i }), (t, n) => (g(), l("div", {
124
123
  ref_key: "carouselRef",
125
124
  ref: i,
126
125
  "data-slot": "carousel-content",
127
126
  class: "overflow-hidden"
128
- }, [f("div", h({ class: w(e)("flex", w(a) === "horizontal" ? "-ml-4" : "-mt-4 flex-col", r.class) }, t.$attrs), [x(t.$slots, "default")], 16)], 512));
127
+ }, [u("div", p({ class: x(e)("flex", x(a) === "horizontal" ? "-ml-4" : "-mt-4 flex-col", r.class) }, t.$attrs), [v(t.$slots, "default")], 16)], 512));
129
128
  }
130
- }), L = ["aria-orientation"], R = [
131
- "aria-selected",
132
- "aria-label",
133
- "data-active",
134
- "onClick"
135
- ], z = /* @__PURE__ */ o(/* @__PURE__ */ m({
136
- __name: "CarouselDots",
137
- props: { class: { type: [
138
- Boolean,
139
- null,
140
- String,
141
- Object,
142
- Array
143
- ] } },
144
- setup(t) {
145
- let n = t, { carouselApi: r, orientation: i } = P(), a = y(0), o = y(0);
146
- function c() {
147
- let e = r.value;
148
- e && (a.value = e.selectedScrollSnap(), o.value = e.scrollSnapList().length);
149
- }
150
- function l(e) {
151
- r.value?.scrollTo(e);
152
- }
153
- return T(r, (e) => {
154
- e && (c(), e.on("select", c), e.on("reInit", c));
155
- }, { immediate: !0 }), _(c), (t, r) => o.value > 0 ? (v(), d("div", {
156
- key: 0,
157
- "data-slot": "carousel-dots",
158
- role: "tablist",
159
- "aria-orientation": w(i),
160
- class: g(w(e)("carousel-dots inline-flex items-center justify-center gap-1.5", w(i) === "vertical" && "flex-col", n.class))
161
- }, [(v(!0), d(s, null, b(o.value, (e) => (v(), d("button", {
162
- key: e - 1,
163
- type: "button",
164
- role: "tab",
165
- "aria-selected": e - 1 === a.value,
166
- "aria-label": `Go to slide ${e}`,
167
- "data-active": e - 1 === a.value ? "" : void 0,
168
- "data-slot": "carousel-dot",
169
- class: "carousel-dot focus-ring tap-squish",
170
- onClick: (t) => l(e - 1)
171
- }, null, 8, R))), 128))], 10, L)) : u("", !0);
172
- }
173
- }), [["__scopeId", "data-v-18c34cd8"]]), B = /* @__PURE__ */ m({
129
+ }), P = /* @__PURE__ */ f({
174
130
  __name: "CarouselItem",
175
131
  props: { class: { type: [
176
132
  Boolean,
@@ -180,15 +136,15 @@ var F = /* @__PURE__ */ m({
180
136
  Array
181
137
  ] } },
182
138
  setup(t) {
183
- let n = t, { orientation: r } = P();
184
- return (t, i) => (v(), d("div", {
139
+ let n = t, { orientation: r } = j();
140
+ return (t, i) => (g(), l("div", {
185
141
  "data-slot": "carousel-item",
186
142
  role: "group",
187
143
  "aria-roledescription": "slide",
188
- class: g(w(e)("min-w-0 shrink-0 grow-0 basis-full", w(r) === "horizontal" ? "pl-4" : "pt-4", n.class))
189
- }, [x(t.$slots, "default")], 2));
144
+ class: m(x(e)("min-w-0 shrink-0 grow-0 basis-full", x(r) === "horizontal" ? "pl-4" : "pt-4", n.class))
145
+ }, [v(t.$slots, "default")], 2));
190
146
  }
191
- }), V = /* @__PURE__ */ m({
147
+ }), F = /* @__PURE__ */ f({
192
148
  __name: "CarouselNext",
193
149
  props: {
194
150
  variant: { default: "outline" },
@@ -202,16 +158,16 @@ var F = /* @__PURE__ */ m({
202
158
  ] }
203
159
  },
204
160
  setup(t) {
205
- let n = t, { orientation: r, canScrollNext: i, scrollNext: o } = P();
206
- return (s, c) => (v(), l(w(a), {
161
+ let n = t, { orientation: r, canScrollNext: i, scrollNext: o } = j();
162
+ return (c, l) => (g(), s(x(a), {
207
163
  "data-slot": "carousel-next",
208
- disabled: !w(i),
209
- class: g(w(e)("absolute h-[var(--carousel-nav-size)] w-[var(--carousel-nav-size)] rounded-pill", w(r) === "horizontal" ? "top-1/2 -translate-y-1/2 right-[calc(-1*var(--carousel-nav-offset))]" : "left-1/2 -translate-x-1/2 rotate-90 bottom-[calc(-1*var(--carousel-nav-offset))]", n.class)),
164
+ disabled: !x(i),
165
+ class: m(x(e)("absolute h-(--carousel-nav-size) w-(--carousel-nav-size) rounded-pill", x(r) === "horizontal" ? "top-1/2 -translate-y-1/2 right-[calc(-1*var(--carousel-nav-offset))]" : "left-1/2 -translate-x-1/2 rotate-90 bottom-[calc(-1*var(--carousel-nav-offset))]", n.class)),
210
166
  variant: t.variant,
211
167
  size: t.size,
212
- onClick: w(o)
168
+ onClick: x(o)
213
169
  }, {
214
- default: E(() => [x(s.$slots, "default", {}, () => [p(w(A)), c[0] ||= f("span", { class: "sr-only" }, "Next Slide", -1)])]),
170
+ default: C(() => [v(c.$slots, "default", {}, () => [d(x(D)), l[0] ||= u("span", { class: "sr-only" }, "Next Slide", -1)])]),
215
171
  _: 3
216
172
  }, 8, [
217
173
  "disabled",
@@ -221,11 +177,11 @@ var F = /* @__PURE__ */ m({
221
177
  "onClick"
222
178
  ]));
223
179
  }
224
- }), H = {
180
+ }), I = {
225
181
  key: 0,
226
182
  "data-slot": "carousel-pager-counter",
227
- class: "rounded-pill border border-border bg-card px-3 py-1 text-mono-caption tabular-nums"
228
- }, U = /* @__PURE__ */ m({
183
+ class: "glass-pager-ring text-mono-caption tabular-nums"
184
+ }, L = /* @__PURE__ */ f({
229
185
  __name: "CarouselPager",
230
186
  props: {
231
187
  showCounter: {
@@ -241,44 +197,44 @@ var F = /* @__PURE__ */ m({
241
197
  ] }
242
198
  },
243
199
  setup(t) {
244
- let o = t, { carouselApi: s, canScrollNext: f, canScrollPrev: m, orientation: h, scrollNext: b, scrollPrev: x } = P(), D = y(0), O = y(0);
245
- function k() {
246
- let e = s.value;
247
- e && (D.value = e.selectedScrollSnap(), O.value = e.scrollSnapList().length);
200
+ let u = t, { carouselApi: f, canScrollNext: p, canScrollPrev: v, orientation: w, scrollNext: T, scrollPrev: E } = j(), D = _(0), k = _(0);
201
+ function A() {
202
+ let e = f.value;
203
+ e && (D.value = e.selectedScrollSnap(), k.value = e.scrollSnapList().length);
248
204
  }
249
- T(s, (e) => {
250
- e && (k(), e.on("select", k), e.on("reInit", k));
251
- }, { immediate: !0 }), _(k);
252
- let A = c(() => h === "vertical" ? i : j), M = c(() => h === "vertical" ? n : r);
253
- return (n, r) => (v(), d("div", {
205
+ S(f, (e) => {
206
+ e && (A(), e.on("select", A), e.on("reInit", A));
207
+ }, { immediate: !0 }), h(A);
208
+ let M = o(() => w === "vertical" ? i : O), N = o(() => w === "vertical" ? n : r);
209
+ return (n, r) => (g(), l("div", {
254
210
  "data-slot": "carousel-pager",
255
- class: g(w(e)("inline-flex items-center gap-2", w(h) === "vertical" && "flex-col", o.class))
211
+ class: m(x(e)("inline-flex items-center gap-2", x(w) === "vertical" && "flex-col", u.class))
256
212
  }, [
257
- p(w(a), {
213
+ d(x(a), {
258
214
  variant: "ghost",
259
215
  size: "icon",
260
- disabled: !w(m),
261
- "aria-label": w(h) === "vertical" ? "Previous slide (up)" : "Previous slide",
216
+ disabled: !x(v),
217
+ "aria-label": x(w) === "vertical" ? "Previous slide (up)" : "Previous slide",
262
218
  "data-slot": "carousel-pager-prev",
263
- onClick: w(x)
219
+ onClick: x(E)
264
220
  }, {
265
- default: E(() => [(v(), l(S(A.value), { class: "size-4" }))]),
221
+ default: C(() => [(g(), s(y(M.value), { class: "size-4" }))]),
266
222
  _: 1
267
223
  }, 8, [
268
224
  "disabled",
269
225
  "aria-label",
270
226
  "onClick"
271
227
  ]),
272
- t.showCounter && O.value > 0 ? (v(), d("span", H, C(D.value + 1) + " / " + C(O.value), 1)) : u("", !0),
273
- p(w(a), {
228
+ t.showCounter && k.value > 0 ? (g(), l("span", I, b(D.value + 1) + " / " + b(k.value), 1)) : c("", !0),
229
+ d(x(a), {
274
230
  variant: "ghost",
275
231
  size: "icon",
276
- disabled: !w(f),
277
- "aria-label": w(h) === "vertical" ? "Next slide (down)" : "Next slide",
232
+ disabled: !x(p),
233
+ "aria-label": x(w) === "vertical" ? "Next slide (down)" : "Next slide",
278
234
  "data-slot": "carousel-pager-next",
279
- onClick: w(b)
235
+ onClick: x(T)
280
236
  }, {
281
- default: E(() => [(v(), l(S(M.value), { class: "size-4" }))]),
237
+ default: C(() => [(g(), s(y(N.value), { class: "size-4" }))]),
282
238
  _: 1
283
239
  }, 8, [
284
240
  "disabled",
@@ -287,7 +243,7 @@ var F = /* @__PURE__ */ m({
287
243
  ])
288
244
  ], 2));
289
245
  }
290
- }), W = /* @__PURE__ */ m({
246
+ }), R = /* @__PURE__ */ f({
291
247
  __name: "CarouselPrevious",
292
248
  props: {
293
249
  variant: { default: "outline" },
@@ -301,16 +257,16 @@ var F = /* @__PURE__ */ m({
301
257
  ] }
302
258
  },
303
259
  setup(t) {
304
- let n = t, { orientation: r, canScrollPrev: i, scrollPrev: o } = P();
305
- return (s, c) => (v(), l(w(a), {
260
+ let n = t, { orientation: r, canScrollPrev: i, scrollPrev: o } = j();
261
+ return (c, l) => (g(), s(x(a), {
306
262
  "data-slot": "carousel-previous",
307
- disabled: !w(i),
308
- class: g(w(e)("absolute h-[var(--carousel-nav-size)] w-[var(--carousel-nav-size)] rounded-pill", w(r) === "horizontal" ? "top-1/2 -translate-y-1/2 left-[calc(-1*var(--carousel-nav-offset))]" : "left-1/2 -translate-x-1/2 rotate-90 top-[calc(-1*var(--carousel-nav-offset))]", n.class)),
263
+ disabled: !x(i),
264
+ class: m(x(e)("absolute h-(--carousel-nav-size) w-(--carousel-nav-size) rounded-pill", x(r) === "horizontal" ? "top-1/2 -translate-y-1/2 left-[calc(-1*var(--carousel-nav-offset))]" : "left-1/2 -translate-x-1/2 rotate-90 top-[calc(-1*var(--carousel-nav-offset))]", n.class)),
309
265
  variant: t.variant,
310
266
  size: t.size,
311
- onClick: w(o)
267
+ onClick: x(o)
312
268
  }, {
313
- default: E(() => [x(s.$slots, "default", {}, () => [p(w(k)), c[0] ||= f("span", { class: "sr-only" }, "Previous Slide", -1)])]),
269
+ default: C(() => [v(c.$slots, "default", {}, () => [d(x(E)), l[0] ||= u("span", { class: "sr-only" }, "Previous Slide", -1)])]),
314
270
  _: 3
315
271
  }, 8, [
316
272
  "disabled",
@@ -320,11 +276,11 @@ var F = /* @__PURE__ */ m({
320
276
  "onClick"
321
277
  ]));
322
278
  }
323
- }), G = {
279
+ }), z = {
324
280
  key: 0,
325
281
  "data-slot": "glass-carousel-pager-counter",
326
282
  class: "rounded-pill border border-border bg-card px-3 py-1 text-mono-caption tabular-nums shadow-cartoon-sm"
327
- }, K = /* @__PURE__ */ m({
283
+ }, B = /* @__PURE__ */ f({
328
284
  __name: "GlassCarouselPager",
329
285
  props: {
330
286
  index: {},
@@ -351,45 +307,45 @@ var F = /* @__PURE__ */ m({
351
307
  "next",
352
308
  "select"
353
309
  ],
354
- setup(t, { emit: o }) {
355
- let s = t, f = o, m = c(() => s.loop ? s.total > 1 : s.index > 0), h = c(() => s.loop ? s.total > 1 : s.index < s.total - 1);
356
- function _() {
357
- m.value && (s.loop ? f("select", (s.index - 1 + s.total) % s.total) : (f("prev"), f("select", Math.max(0, s.index - 1))));
310
+ setup(t, { emit: u }) {
311
+ let f = t, p = u, h = o(() => f.loop ? f.total > 1 : f.index > 0), _ = o(() => f.loop ? f.total > 1 : f.index < f.total - 1);
312
+ function S() {
313
+ h.value && (f.loop ? p("select", (f.index - 1 + f.total) % f.total) : (p("prev"), p("select", Math.max(0, f.index - 1))));
358
314
  }
359
- function y() {
360
- h.value && (s.loop ? f("select", (s.index + 1) % s.total) : (f("next"), f("select", Math.min(s.total - 1, s.index + 1))));
315
+ function w() {
316
+ _.value && (f.loop ? p("select", (f.index + 1) % f.total) : (p("next"), p("select", Math.min(f.total - 1, f.index + 1))));
361
317
  }
362
- let b = c(() => s.orientation === "vertical" ? i : j), T = c(() => s.orientation === "vertical" ? n : r);
363
- return (n, r) => (v(), d("div", {
318
+ let T = o(() => f.orientation === "vertical" ? i : O), E = o(() => f.orientation === "vertical" ? n : r);
319
+ return (n, r) => (g(), l("div", {
364
320
  "data-slot": "glass-carousel-pager",
365
- class: g(w(e)("inline-flex items-center gap-2", t.orientation === "vertical" && "flex-col", "max-md:flex-wrap max-md:justify-center max-md:gap-2", s.class))
321
+ class: m(x(e)("inline-flex items-center gap-2", t.orientation === "vertical" && "flex-col", "max-md:flex-wrap max-md:justify-center max-md:gap-2", f.class))
366
322
  }, [
367
- p(w(a), {
323
+ d(x(a), {
368
324
  variant: "outline",
369
325
  size: "icon",
370
- disabled: !m.value,
326
+ disabled: !h.value,
371
327
  "aria-label": t.orientation === "vertical" ? "Previous slide (up)" : "Previous slide",
372
328
  "data-slot": "glass-carousel-pager-prev",
373
- onClick: _
329
+ onClick: S
374
330
  }, {
375
- default: E(() => [(v(), l(S(b.value), { class: "size-4" }))]),
331
+ default: C(() => [(g(), s(y(T.value), { class: "size-4" }))]),
376
332
  _: 1
377
333
  }, 8, ["disabled", "aria-label"]),
378
- t.showCounter && t.total > 0 ? (v(), d("span", G, C(t.index + 1) + " / " + C(t.total), 1)) : u("", !0),
379
- p(w(a), {
334
+ t.showCounter && t.total > 0 ? (g(), l("span", z, b(t.index + 1) + " / " + b(t.total), 1)) : c("", !0),
335
+ d(x(a), {
380
336
  variant: "outline",
381
337
  size: "icon",
382
- disabled: !h.value,
338
+ disabled: !_.value,
383
339
  "aria-label": t.orientation === "vertical" ? "Next slide (down)" : "Next slide",
384
340
  "data-slot": "glass-carousel-pager-next",
385
- onClick: y
341
+ onClick: w
386
342
  }, {
387
- default: E(() => [(v(), l(S(T.value), { class: "size-4" }))]),
343
+ default: C(() => [(g(), s(y(E.value), { class: "size-4" }))]),
388
344
  _: 1
389
345
  }, 8, ["disabled", "aria-label"]),
390
- x(n.$slots, "trailing")
346
+ v(n.$slots, "trailing")
391
347
  ], 2));
392
348
  }
393
349
  });
394
350
  //#endregion
395
- export { F as Carousel, I as CarouselContent, z as CarouselDots, B as CarouselItem, V as CarouselNext, U as CarouselPager, W as CarouselPrevious, K as GlassCarouselPager, P as useCarousel };
351
+ export { M as Carousel, N as CarouselContent, P as CarouselItem, F as CarouselNext, L as CarouselPager, R as CarouselPrevious, B as GlassCarouselPager, j as useCarousel };
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-B6uNAU9G.js";
1
+ import { t as e } from "./createLucideIcon-DydS2qgk.js";
2
2
  var t = e("check", [["path", {
3
3
  d: "M20 6 9 17l-5-5",
4
4
  key: "1gmf2c"
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-B6uNAU9G.js";
1
+ import { t as e } from "./createLucideIcon-DydS2qgk.js";
2
2
  var t = e("chevron-down", [["path", {
3
3
  d: "m6 9 6 6 6-6",
4
4
  key: "qrunsl"
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-B6uNAU9G.js";
1
+ import { t as e } from "./createLucideIcon-DydS2qgk.js";
2
2
  var t = e("chevron-right", [["path", {
3
3
  d: "m9 18 6-6-6-6",
4
4
  key: "mthhwq"
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-B6uNAU9G.js";
1
+ import { t as e } from "./createLucideIcon-DydS2qgk.js";
2
2
  var t = e("chevron-up", [["path", {
3
3
  d: "m18 15-6-6-6 6",
4
4
  key: "153udz"
@@ -0,0 +1,13 @@
1
+ //#region src/utils/coalesceMetric.ts
2
+ var e = "—";
3
+ function t(e, t = "—") {
4
+ return e == null || e === "" ? {
5
+ display: t,
6
+ isEmpty: !0
7
+ } : {
8
+ display: String(e),
9
+ isEmpty: !1
10
+ };
11
+ }
12
+ //#endregion
13
+ export { t as n, e as t };
@@ -1,2 +1,2 @@
1
- import { n as e, r as t, t as n } from "./CollapsibleContent-CP9qF1v4.js";
1
+ import { n as e, r as t, t as n } from "./CollapsibleContent-C_s6fG7r.js";
2
2
  export { t as Collapsible, n as CollapsibleContent, e as CollapsibleTrigger };
@@ -69,16 +69,18 @@ function y(e) {
69
69
  };
70
70
  }
71
71
  function b(e, t = {}) {
72
- let n = typeof e == "string" ? p(e) : e, { stopCount: r = 3, harmony: i = "analogous", lightnessSpread: a = .18, hueSpread: o = 24, chromaBump: s = .03 } = t, c = Math.max(2, Math.min(4, Math.round(r))), l = [];
73
- for (let e = 0; e < c; e++) {
74
- let t = c === 1 ? 0 : e / (c - 1), r = n.L - a / 2 + a * t, u = Math.max(0, n.C + s * Math.sin(Math.PI * t)), d = v(n.h, i, o, t);
75
- l.push(y({
72
+ let n = typeof e == "string" ? p(e) : e, { stopCount: r = 3, harmony: i = "analogous", lightnessSpread: a = .18, hueSpread: o = 24, chromaBump: s = .03, chromaCeiling: c } = t, l = Math.max(2, Math.min(4, Math.round(r))), u = [];
73
+ for (let e = 0; e < l; e++) {
74
+ let t = l === 1 ? 0 : e / (l - 1), r = n.L - a / 2 + a * t, d = Math.max(0, n.C + s * Math.sin(Math.PI * t));
75
+ c !== void 0 && (d = Math.min(d, c));
76
+ let f = v(n.h, i, o, t);
77
+ u.push(y({
76
78
  L: Math.min(.98, Math.max(.05, r)),
77
- C: u,
78
- h: d
79
+ C: d,
80
+ h: f
79
81
  }));
80
82
  }
81
- return l;
83
+ return u;
82
84
  }
83
85
  //#endregion
84
86
  export { y as a, u as c, v as i, d as l, h as n, m as o, b as r, f as s, p as t };
@@ -0,0 +1 @@
1
+ export * from "./components/custom/color-swatch";
@@ -0,0 +1,47 @@
1
+ import { t as e } from "./cn-DJXf4yaB.js";
2
+ import { computed as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, defineComponent as a, mergeModels as o, mergeProps as s, normalizeClass as c, normalizeStyle as l, openBlock as u, toDisplayString as d, unref as f, useModel as p } from "vue";
3
+ //#region src/components/custom/color-swatch/ColorSwatch.vue?vue&type=script&setup=true&lang.ts
4
+ var m = ["value"], h = {
5
+ key: 0,
6
+ class: "color-swatch__hex text-mono-caption tabular-nums uppercase text-muted-foreground"
7
+ }, g = /* @__PURE__ */ a({
8
+ name: "ColorSwatch",
9
+ inheritAttrs: !1,
10
+ __name: "ColorSwatch",
11
+ props: /* @__PURE__ */ o({
12
+ size: { default: "md" },
13
+ showHex: {
14
+ type: Boolean,
15
+ default: !1
16
+ },
17
+ class: { type: [
18
+ Boolean,
19
+ null,
20
+ String,
21
+ Object,
22
+ Array
23
+ ] }
24
+ }, {
25
+ modelValue: { default: "#000000" },
26
+ modelModifiers: {}
27
+ }),
28
+ emits: ["update:modelValue"],
29
+ setup(a) {
30
+ let o = a, g = p(a, "modelValue"), _ = t(() => o.size === "sm" ? "h-7 w-7" : "h-8 w-8"), v = t(() => g.value.toUpperCase());
31
+ function y(e) {
32
+ g.value = e.target.value;
33
+ }
34
+ return (t, p) => (u(), r("span", { class: c(f(e)("color-swatch inline-flex items-center gap-2 align-middle", o.class)) }, [i("span", {
35
+ class: c(["color-swatch__chip relative inline-flex shrink-0 cursor-pointer overflow-hidden rounded-control border border-(--configurator-divider-section)", _.value]),
36
+ style: l({ backgroundColor: g.value })
37
+ }, [i("input", s({
38
+ type: "color",
39
+ value: g.value
40
+ }, t.$attrs, {
41
+ class: "color-swatch__input absolute inset-0 h-full w-full cursor-pointer appearance-none border-0 bg-transparent p-0 opacity-0",
42
+ onInput: y
43
+ }), null, 16, m)], 6), a.showHex ? (u(), r("code", h, d(v.value), 1)) : n("", !0)], 2));
44
+ }
45
+ });
46
+ //#endregion
47
+ export { g as ColorSwatch };