@mkbabb/glass-ui 3.2.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/dist/{CardFooter-3-VGho1J.js → CardFooter-C390imy7.js} +2 -2
  2. package/dist/{CollapsibleContent-wlmlDujU.js → CollapsibleContent-cauTbZEM.js} +1 -1
  3. package/dist/{CommandShortcut-C6lsz3pG.js → CommandShortcut-BiVyqipe.js} +5 -4
  4. package/dist/DataTable-FfkaAg2z.js +465 -0
  5. package/dist/DialogContent-IQ8_BRrC.js +100 -0
  6. package/dist/{DiscoGlyph-B7YooI2-.js → DiscoGlyph-BaZ8OawK.js} +1 -1
  7. package/dist/{GlyphFace-Bvk6OIas.js → GlyphFace-B_7vOmYn.js} +1 -1
  8. package/dist/HoverPopover-DTSYkJtw.js +96 -0
  9. package/dist/{IconTooltip-DXveGjx7.js → IconTooltip-BTyYn4mr.js} +1 -1
  10. package/dist/Input-CU9CNKmo.js +52 -0
  11. package/dist/{MetricBadge-J_GBCb8e.js → MetricBadge-BlrdbOGN.js} +1 -1
  12. package/dist/{NumberFieldContent-B6L6YrQz.js → NumberFieldContent-iOTQ5rGO.js} +8 -4
  13. package/dist/{PopoverContent-CxEEUL7Y.js → PopoverContent-B8WtJECb.js} +1 -1
  14. package/dist/Progress-DjM86vfb.js +254 -0
  15. package/dist/{ScrollingText-1Qjnwz6H.js → ScrollingText-P9o_DuMn.js} +1 -1
  16. package/dist/{SelectScrollDownButton-BvvvAbuh.js → SelectScrollDownButton-BGn3rjs9.js} +9 -8
  17. package/dist/TabsIndicator-DA0x9gPr.js +97 -0
  18. package/dist/{ToggleGroupItem-Cy7xHFEo.js → ToggleGroupItem-gyXj998A.js} +37 -40
  19. package/dist/UnderlineTabs-Cq_AD03t.js +39 -0
  20. package/dist/animated-digit.js +2 -2
  21. package/dist/api/index.d.ts +2 -0
  22. package/dist/api.js +1 -1
  23. package/dist/aurora.js +454 -271
  24. package/dist/{button-DS3ULf5i.js → button-Ckn3eDfB.js} +27 -22
  25. package/dist/button.js +1 -1
  26. package/dist/card.js +1 -1
  27. package/dist/carousel.js +2 -2
  28. package/dist/collapsible.js +1 -1
  29. package/dist/color-rkK4RMx2.js +33 -0
  30. package/dist/color.d.ts +1 -0
  31. package/dist/color.js +2 -0
  32. package/dist/command.js +1 -1
  33. package/dist/compile-DVgAxagk.js +106 -0
  34. package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +7 -7
  35. package/dist/components/custom/aurora/Aurora.vue.d.ts +3 -3
  36. package/dist/components/custom/aurora/composables/color.d.ts +3 -25
  37. package/dist/components/custom/aurora/composables/cursorModel.d.ts +45 -0
  38. package/dist/components/custom/aurora/composables/frameLoop.d.ts +30 -0
  39. package/dist/components/custom/aurora/composables/glSetup.d.ts +29 -0
  40. package/dist/components/custom/aurora/composables/runtime.d.ts +45 -35
  41. package/dist/components/custom/aurora/composables/uniformBridge.d.ts +67 -0
  42. package/dist/components/custom/aurora/composables/useAurora.d.ts +14 -1
  43. package/dist/components/custom/aurora/composables/useCursorInteraction.d.ts +1 -1
  44. package/dist/components/custom/aurora/constants/budget.d.ts +50 -0
  45. package/dist/components/custom/aurora/{presets.d.ts → constants/presets.d.ts} +2 -5
  46. package/dist/components/custom/aurora/constants/shaders/aurora.frag.d.ts +1 -0
  47. package/dist/components/custom/aurora/constants/shaders/brush.glsl.d.ts +1 -0
  48. package/dist/components/custom/aurora/constants/shaders/composition.glsl.d.ts +1 -0
  49. package/dist/components/custom/aurora/constants/shaders/flow.glsl.d.ts +1 -0
  50. package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +2 -0
  51. package/dist/components/custom/aurora/constants/shaders/tonemap.glsl.d.ts +1 -0
  52. package/dist/components/custom/aurora/index.d.ts +2 -2
  53. package/dist/components/custom/configurator/ConfiguratorLayer.vue.d.ts +14 -7
  54. package/dist/components/custom/configurator/density.d.ts +3 -8
  55. package/dist/components/custom/dock/DockBackgroundToggle.vue.d.ts +46 -0
  56. package/dist/components/custom/dock/DockIconButton.vue.d.ts +3 -3
  57. package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +2 -2
  58. package/dist/components/custom/dock/GlassDock.vue.d.ts +22 -18
  59. package/dist/components/custom/dock/composables/dockContext.d.ts +4 -4
  60. package/dist/components/custom/dock/composables/dockLayerContext.d.ts +13 -6
  61. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +32 -8
  62. package/dist/components/custom/dock/index.d.ts +1 -0
  63. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +10 -0
  64. package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +1 -1
  65. package/dist/components/custom/glyph-face/keys.d.ts +3 -29
  66. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +48 -0
  67. package/dist/components/custom/goo-blob/composables/easing.d.ts +6 -0
  68. package/dist/components/custom/goo-blob/composables/useBlobMood.d.ts +14 -0
  69. package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +18 -0
  70. package/dist/components/custom/goo-blob/composables/useBlobSatellites.d.ts +13 -0
  71. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +42 -0
  72. package/dist/components/custom/goo-blob/index.d.ts +7 -0
  73. package/dist/components/custom/goo-blob/shaders/metaball.frag.d.ts +1 -0
  74. package/dist/components/custom/goo-blob/shaders/metaball.vert.d.ts +1 -0
  75. package/dist/components/custom/goo-blob/shaders/oklch-perturb.glsl.d.ts +1 -0
  76. package/dist/components/custom/goo-blob/shaders/sdf-body.glsl.d.ts +1 -0
  77. package/dist/components/custom/goo-blob/shaders/watercolor-edges.glsl.d.ts +2 -0
  78. package/dist/components/custom/goo-blob/types.d.ts +77 -0
  79. package/dist/components/custom/hover-popover/HoverPopover.vue.d.ts +48 -9
  80. package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +2 -0
  81. package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +2 -2
  82. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +2 -2
  83. package/dist/components/custom/responsive-tabs/ResponsiveTabs.vue.d.ts +13 -7
  84. package/dist/components/custom/search/FuzzySearch.vue.d.ts +1 -1
  85. package/dist/components/custom/search/SearchBar.vue.d.ts +1 -1
  86. package/dist/components/custom/sortable-list/SortableHandle.vue.d.ts +7 -1
  87. package/dist/components/custom/sortable-list/context.d.ts +2 -3
  88. package/dist/components/custom/tabs/BouncyTabs.vue.d.ts +6 -3
  89. package/dist/components/custom/tabs/BouncyToggle.vue.d.ts +7 -3
  90. package/dist/components/custom/tabs/UnderlineTabs.vue.d.ts +6 -3
  91. package/dist/components/custom/tabs/composables/useBouncySlider.d.ts +39 -0
  92. package/dist/components/custom/timeline/ContinuousMarkers.vue.d.ts +49 -0
  93. package/dist/components/custom/timeline/ContinuousRail.vue.d.ts +26 -0
  94. package/dist/components/custom/timeline/ContinuousTimeline.vue.d.ts +4 -4
  95. package/dist/components/custom/typewriter/TypewriterText.vue.d.ts +2 -2
  96. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +45 -0
  97. package/dist/components/custom/watercolor-dot/index.d.ts +3 -0
  98. package/dist/components/custom/watercolor-dot/prng.d.ts +5 -0
  99. package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +24 -0
  100. package/dist/components/ui/_shared/menuItemVariants.d.ts +1 -1
  101. package/dist/components/ui/avatar/Avatar.vue.d.ts +1 -1
  102. package/dist/components/ui/avatar/AvatarImage.vue.d.ts +5 -1
  103. package/dist/components/ui/avatar/index.d.ts +1 -1
  104. package/dist/components/ui/badge/index.d.ts +2 -2
  105. package/dist/components/ui/button/Button.vue.d.ts +3 -1
  106. package/dist/components/ui/button/index.d.ts +2 -2
  107. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +2 -2
  108. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +2 -2
  109. package/dist/components/ui/combobox/Combobox.vue.d.ts +2 -2
  110. package/dist/components/ui/combobox/ComboboxInput.vue.d.ts +2 -1
  111. package/dist/components/ui/command/Command.vue.d.ts +3 -3
  112. package/dist/components/ui/command/CommandInput.vue.d.ts +2 -1
  113. package/dist/components/ui/data-table/DataTable.vue.d.ts +5 -4
  114. package/dist/components/ui/dialog/DialogContent.vue.d.ts +8 -0
  115. package/dist/components/ui/drawer/Drawer.vue.d.ts +4 -4
  116. package/dist/components/ui/input/Input.vue.d.ts +19 -1
  117. package/dist/components/ui/multi-select/MultiSelect.vue.d.ts +8 -4
  118. package/dist/components/ui/progress/Progress.vue.d.ts +26 -88
  119. package/dist/components/ui/progress/ProgressDefault.vue.d.ts +14 -0
  120. package/dist/components/ui/progress/ProgressGradient.vue.d.ts +25 -0
  121. package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +36 -0
  122. package/dist/components/ui/progress/index.d.ts +5 -2
  123. package/dist/components/ui/progress/useProgressGeometry.d.ts +60 -0
  124. package/dist/components/ui/select/Select.vue.d.ts +2 -2
  125. package/dist/components/ui/select/SelectContent.vue.d.ts +1 -1
  126. package/dist/components/ui/select/SelectTrigger.vue.d.ts +3 -0
  127. package/dist/components/ui/sheet/index.d.ts +1 -1
  128. package/dist/components/ui/slider/index.d.ts +12 -11
  129. package/dist/components/ui/tags-input/TagsInput.vue.d.ts +2 -2
  130. package/dist/components/ui/textarea/Textarea.vue.d.ts +5 -1
  131. package/dist/components/ui/toast/Toast.vue.d.ts +4 -4
  132. package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
  133. package/dist/components/ui/toggle/index.d.ts +1 -1
  134. package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +2 -3
  135. package/dist/composables/color/index.d.ts +49 -0
  136. package/dist/composables/context/createContext.d.ts +56 -0
  137. package/dist/composables/context/index.d.ts +1 -0
  138. package/dist/composables/dark/darkModeSyncScript.d.ts +23 -0
  139. package/dist/composables/dark/index.d.ts +3 -0
  140. package/dist/composables/dark/useGlobalDark.d.ts +19 -2
  141. package/dist/composables/dom/index.d.ts +0 -3
  142. package/dist/composables/dom/useClipboard.d.ts +35 -12
  143. package/dist/composables/dom/useDocumentVisibility.d.ts +20 -0
  144. package/dist/composables/glass/webgl/compile.d.ts +15 -0
  145. package/dist/composables/glass/webgl/shaders/procedural-color.glsl.d.ts +3 -0
  146. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +55 -0
  147. package/dist/composables/motion/core/index.d.ts +1 -1
  148. package/dist/composables/motion/index.d.ts +1 -1
  149. package/dist/composables/motion/useCountup.d.ts +29 -0
  150. package/dist/composables/motion/useNumericTransition.d.ts +14 -3
  151. package/dist/composables/motion/vReveal.d.ts +2 -0
  152. package/dist/composables/sidebar/useSidebarState.d.ts +2 -2
  153. package/dist/composables/sortable/dragController.d.ts +44 -0
  154. package/dist/composables/sortable/dropResolver.d.ts +34 -0
  155. package/dist/composables/sortable/ghostRenderer.d.ts +44 -0
  156. package/dist/composables/sortable/index.d.ts +1 -1
  157. package/dist/composables/sortable/touchGate.d.ts +26 -0
  158. package/dist/composables/sortable/transitionTiming.d.ts +50 -0
  159. package/dist/composables/sortable/types.d.ts +133 -0
  160. package/dist/composables/sortable/useSortable.d.ts +25 -153
  161. package/dist/configurator.js +1 -1
  162. package/dist/confirm-dialog.js +1 -1
  163. package/dist/controls.js +4 -4
  164. package/dist/createContext-DBMGRlx4.js +25 -0
  165. package/dist/dark.d.ts +2 -1
  166. package/dist/dark.js +9 -2
  167. package/dist/data-table.js +1 -1
  168. package/dist/dialog.js +1 -1
  169. package/dist/disco-glyph.js +1 -1
  170. package/dist/dock.js +400 -261
  171. package/dist/dockContext-spUj_-E5.js +9 -0
  172. package/dist/dom.js +6 -6
  173. package/dist/{dropdown-menu-naE0skDg.js → dropdown-menu-EFjl5iKo.js} +1 -1
  174. package/dist/dropdown-menu.js +1 -1
  175. package/dist/expandable-container.js +26 -20
  176. package/dist/fonts/README.md +21 -0
  177. package/dist/fonts/fraunces/fraunces-latin.woff2 +0 -0
  178. package/dist/forms.js +68 -59
  179. package/dist/glass-panel.js +1 -1
  180. package/dist/glass-ui.css +1 -1
  181. package/dist/glass-ui.js +226 -328
  182. package/dist/glyph-face.js +2 -2
  183. package/dist/goo-blob.d.ts +1 -0
  184. package/dist/goo-blob.js +538 -0
  185. package/dist/header-ribbon.js +2 -2
  186. package/dist/hover-card.js +1 -1
  187. package/dist/hover-popover.js +1 -1
  188. package/dist/icon-tooltip.js +1 -1
  189. package/dist/index.d.ts +1 -0
  190. package/dist/instrument-chassis.js +1 -1
  191. package/dist/instrument-rail.js +1 -1
  192. package/dist/keys-BFoma9vm.js +9 -0
  193. package/dist/label.js +1 -1
  194. package/dist/labeled-field.js +57 -39
  195. package/dist/metric-badge.js +1 -1
  196. package/dist/motion-core.js +82 -123
  197. package/dist/motion.js +62 -14
  198. package/dist/number-field.js +1 -1
  199. package/dist/paper-backdrop.js +1 -1
  200. package/dist/popover.js +1 -1
  201. package/dist/{presets-BpTf63Hp.js → presets-1OhFpaIC.js} +1 -1
  202. package/dist/prng-Bz_1Tydc.js +15 -0
  203. package/dist/progress.js +2 -2
  204. package/dist/reactive.js +2 -2
  205. package/dist/responsive-tabs.js +38 -32
  206. package/dist/scrolling-text.js +1 -1
  207. package/dist/search.js +8 -8
  208. package/dist/select.js +3 -3
  209. package/dist/separator.js +1 -1
  210. package/dist/sheet.js +1 -1
  211. package/dist/{slider-wx8ifVFB.js → slider-BOh8ycfZ.js} +7 -11
  212. package/dist/slider.js +1 -1
  213. package/dist/sortable-list.js +36 -38
  214. package/dist/stacked-icons.js +2 -2
  215. package/dist/styles/animations.css +1 -1
  216. package/dist/styles/cards.css +1 -1
  217. package/dist/styles/components.css +1 -1
  218. package/dist/styles/dock-controls.css +486 -0
  219. package/dist/styles/dock.css +284 -450
  220. package/dist/styles/fonts.css +25 -0
  221. package/dist/styles/glass-specular-track.css +154 -0
  222. package/dist/styles/glass.css +74 -2
  223. package/dist/styles/index.css +21 -2
  224. package/dist/styles/instrument-chassis.css +11 -4
  225. package/dist/styles/theme.css +73 -21
  226. package/dist/styles/tokens.css +271 -140
  227. package/dist/styles/typography.css +14 -8
  228. package/dist/styles/utilities.css +36 -8
  229. package/dist/styles/view-transition.css +10 -4
  230. package/dist/switch.js +1 -1
  231. package/dist/tabs.js +139 -112
  232. package/dist/timeline.js +219 -158
  233. package/dist/toast.js +1 -1
  234. package/dist/toggle-group.js +1 -1
  235. package/dist/tokens.d.ts +1 -1
  236. package/dist/tooltip.js +1 -1
  237. package/dist/{useAnimatedNumber-BOxrS3a6.js → useAnimatedNumber-BF6r64lA.js} +1 -1
  238. package/dist/useClipboard-D8vFyRCa.js +97 -0
  239. package/dist/{useConfiguratorState-Dq2gNv4A.js → useConfiguratorState-DUtC1jxr.js} +82 -86
  240. package/dist/useGlobalDark-CWiaCoEw.js +34 -0
  241. package/dist/useIntersectionPause-DAdVPVp4.js +53 -0
  242. package/dist/useSortable-DnyGXKKY.js +246 -0
  243. package/dist/{useTouchGate-XX8gHfay.js → useTouchGate-CS5Csc2h.js} +1 -1
  244. package/dist/utils/prng.d.ts +4 -0
  245. package/dist/vReveal-u2wSG2El.js +35 -0
  246. package/dist/watercolor-dot.d.ts +1 -0
  247. package/dist/watercolor-dot.js +129 -0
  248. package/package.json +101 -16
  249. package/src/fonts/README.md +21 -0
  250. package/src/fonts/fraunces/fraunces-latin.woff2 +0 -0
  251. package/src/styles/animations.css +1 -1
  252. package/src/styles/cards.css +1 -1
  253. package/src/styles/dock-controls.css +486 -0
  254. package/src/styles/dock.css +284 -450
  255. package/src/styles/fonts.css +25 -0
  256. package/src/styles/glass-specular-track.css +154 -0
  257. package/src/styles/glass.css +74 -2
  258. package/src/styles/index.css +21 -2
  259. package/src/styles/instrument-chassis.css +11 -4
  260. package/src/styles/theme.css +73 -21
  261. package/src/styles/tokens.css +271 -140
  262. package/src/styles/typography.css +14 -8
  263. package/src/styles/utilities.css +36 -8
  264. package/src/styles/view-transition.css +10 -4
  265. package/dist/DataTable-BsrDYdoE.js +0 -460
  266. package/dist/DialogContent-B61rP8lj.js +0 -93
  267. package/dist/HoverPopover-BlEwqG7S.js +0 -96
  268. package/dist/Input-IFsIzId2.js +0 -30
  269. package/dist/Progress-Bs44qWEM.js +0 -126
  270. package/dist/UnderlineTabs-B4FV2zi_.js +0 -37
  271. package/dist/components/custom/aurora/shaders/aurora.frag.d.ts +0 -1
  272. package/dist/composables/dom/useBreakpoint.d.ts +0 -38
  273. package/dist/composables/dom/useIdleReady.d.ts +0 -63
  274. package/dist/composables/dom/useViewportReady.d.ts +0 -87
  275. package/dist/composables/glass/webgl/frostShader.d.ts +0 -27
  276. package/dist/composables/motion/useAnimatedNumberMap.d.ts +0 -29
  277. package/dist/composables/motion/useStagger.d.ts +0 -50
  278. package/dist/dockContext-DM58L1Jt.js +0 -16
  279. package/dist/keys-SIKQYNx1.js +0 -11
  280. package/dist/supportsCssTimeline-IQY3gfKD.js +0 -12
  281. package/dist/useGlobalDark-BUUTZvkU.js +0 -24
  282. package/dist/useIdleReady-sLhGo6CL.js +0 -162
  283. package/dist/useIntersectionPause-CUmANkoc.js +0 -39
  284. package/dist/useSortable-DLK9kwZp.js +0 -189
  285. /package/dist/{HoverCardContent-DGUhpRVt.js → HoverCardContent-ICfIMZX1.js} +0 -0
  286. /package/dist/{InstrumentChassis-CqKPBNqp.js → InstrumentChassis-DaHIZCqy.js} +0 -0
  287. /package/dist/{InstrumentRail-CCjvKkpB.js → InstrumentRail-B0qqLFN0.js} +0 -0
  288. /package/dist/{Label-D53EOwLE.js → Label-CZk-3nTc.js} +0 -0
  289. /package/dist/{PaperBackdrop-Ds-wDsKf.js → PaperBackdrop-D_YZW47j.js} +0 -0
  290. /package/dist/{SelectGroup-DAgcsfFw.js → SelectGroup-CMdoCjRE.js} +0 -0
  291. /package/dist/{SelectSeparator-DN1jzLaI.js → SelectSeparator-CaJnPF3_.js} +0 -0
  292. /package/dist/{Separator-DXxac0j8.js → Separator-C2XtAXRp.js} +0 -0
  293. /package/dist/{Switch-imA0Hdjs.js → Switch-x8n6husW.js} +0 -0
  294. /package/dist/{Toaster-Brs6QjBU.js → Toaster-DdhMKfus.js} +0 -0
  295. /package/dist/{TooltipProvider-MZFRxOvT.js → TooltipProvider-D-JrSqDu.js} +0 -0
  296. /package/dist/components/custom/aurora/{renderMode.d.ts → constants/renderMode.d.ts} +0 -0
  297. /package/dist/components/custom/aurora/{shaders → constants/shaders}/aurora.vert.d.ts +0 -0
  298. /package/dist/{constants-DfWPi8kh.js → constants-DsCdlK9I.js} +0 -0
  299. /package/dist/{sheet-BnvZRXPq.js → sheet-CQYYrkr9.js} +0 -0
  300. /package/dist/{useGlassRenderer-C98tZnJ7.js → useGlassRenderer-Dn3WpfG-.js} +0 -0
  301. /package/dist/{useInterval-B58LmYth.js → useInterval-CHVYFpXV.js} +0 -0
  302. /package/dist/{useResizeObserver-C_7GjpRn.js → useResizeObserver-DX-STszm.js} +0 -0
  303. /package/dist/{useTextHighlight-CLST6an0.js → useTextHighlight-Dmtofpk2.js} +0 -0
  304. /package/dist/{useTimer-6FoosoDY.js → useTimer-DGgoxTXL.js} +0 -0
  305. /package/dist/{useUserInvalidAria-BW5iyqWR.js → useUserInvalidAria-DmvZ_6Dx.js} +0 -0
  306. /package/dist/{useViewTransition-CUJM7fXT.js → useViewTransition-D4ssvnXZ.js} +0 -0
@@ -1,10 +1,10 @@
1
1
  /*
2
- * typography.css — Computer Modern body + Fraunces display + Fira Code mono
3
- * + Plus Jakarta Sans (brand display fallback face, OFL 1.1)
2
+ * typography.css — Fraunces serif/display + Plus Jakarta Sans + Fira Code mono
3
+ * (all three OFL faces self-hosted via fonts.css)
4
4
  *
5
- * Golden-ratio scale (√φ ≈ 1.272). Computer Modern is primary for body,
6
- * headings, prose, and math. Fraunces is reserved for ornamental display
7
- * with WONK=1 / SOFT=0. Fira Code for mono.
5
+ * Golden-ratio scale (√φ ≈ 1.272). Fraunces carries the serif register
6
+ * body, headings, prose, and math and the ornamental display register
7
+ * with WONK=1 / SOFT=0. Plus Jakarta Sans is the brand sans; Fira Code is mono.
8
8
  *
9
9
  * Semantic type classes expose both Tailwind-friendly utility names
10
10
  * (`.text-display-*`, `.text-body`, `.text-admin-label`) and feature
@@ -265,7 +265,7 @@ body {
265
265
  }
266
266
 
267
267
  /* ═══════════════════════════════════════════════
268
- HEADINGS / BODY — Computer Modern
268
+ HEADINGS / BODY — Fraunces serif register
269
269
  ═══════════════════════════════════════════════ */
270
270
  @utility text-title {
271
271
  font-family: var(--font-serif);
@@ -358,7 +358,7 @@ body {
358
358
  }
359
359
 
360
360
  /* ═══════════════════════════════════════════════
361
- MATH — Computer Modern italic
361
+ MATH — Fraunces serif italic
362
362
  ═══════════════════════════════════════════════ */
363
363
  @utility text-math {
364
364
  font-family: var(--font-serif);
@@ -444,7 +444,13 @@ body {
444
444
  font-variation-settings: var(--font-display-variation-settings);
445
445
  }
446
446
 
447
- @media (min-width: 640px) {
447
+ /* AV.W16 TW3 — the pane title scales off its PANE's box, not the viewport.
448
+ An unnamed @container query resolves to the nearest ancestor container,
449
+ so the title grows once its pane clears 40rem (≈ 640px) regardless of the
450
+ viewport. Contract: the consuming pane sets `container-type: inline-size`
451
+ (the dock/chassis pattern); without a container ancestor the compact base
452
+ holds. */
453
+ @container (min-width: 40rem) {
448
454
  .text-pane-title {
449
455
  font-size: var(--type-display-3);
450
456
  }
@@ -189,9 +189,11 @@
189
189
  canonical iOS `.regular` control rung) and the spring carries
190
190
  the return via `--spring-snappy` (the §L3 release-spring
191
191
  contract). I keep this as a single canonical rung — NOT a
192
- 3-rung ladder. The outliers I leave alone are button `0.97` and
193
- dock control `0.92`, which consume their own scale tokens
194
- directly.
192
+ 3-rung ladder. The one outlier I leave alone is the button
193
+ `0.97` (`--scale-press-btn`), which consumes its own slightly-
194
+ softer token directly. The dock control now tracks the canonical
195
+ `--scale-press` (0.96) too (AT.W7-dock-b press canon — the prior
196
+ deeper `0.92` was retired to ONE source).
195
197
 
196
198
  Under PRM I retire the press transform entirely and lean on the
197
199
  consumer's own hover/active bg-tint cascade to acknowledge the
@@ -256,25 +258,28 @@
256
258
  font-size: max(1rem, 1em);
257
259
  }
258
260
 
259
- /* ── Scroll fade masks ── */
261
+ /* ── Scroll fade masks ──
262
+ Single-source `mask-image` (AV.W16 TW7): the `-webkit-` companion is
263
+ dropped — Tailwind v4's Lightning CSS build pipeline auto-prefixes per
264
+ the browserslist targets, mirroring the glass ladder's single-source
265
+ `backdrop-filter` (glass.css). NOTE: this is the consistency cut; it
266
+ does NOT conflict with W15's `@supports`-gated older-Safari mask
267
+ fallback (that fallback is the distinct case where the companion is
268
+ genuinely needed and W15 gates it). */
260
269
  .scroll-fade-mask {
261
270
  mask-image: linear-gradient(to right, transparent, black var(--mask-fade-width), black calc(100% - var(--mask-fade-width)), transparent);
262
- -webkit-mask-image: linear-gradient(to right, transparent, black var(--mask-fade-width), black calc(100% - var(--mask-fade-width)), transparent);
263
271
  }
264
272
 
265
273
  .scroll-fade-top {
266
274
  mask-image: linear-gradient(to bottom, transparent, black var(--mask-fade-width));
267
- -webkit-mask-image: linear-gradient(to bottom, transparent, black var(--mask-fade-width));
268
275
  }
269
276
 
270
277
  .scroll-fade-bottom {
271
278
  mask-image: linear-gradient(to bottom, black calc(100% - var(--mask-fade-width)), transparent);
272
- -webkit-mask-image: linear-gradient(to bottom, black calc(100% - var(--mask-fade-width)), transparent);
273
279
  }
274
280
 
275
281
  .scroll-fade-y {
276
282
  mask-image: linear-gradient(to bottom, transparent, black var(--mask-fade-width), black calc(100% - var(--mask-fade-width)), transparent);
277
- -webkit-mask-image: linear-gradient(to bottom, transparent, black var(--mask-fade-width), black calc(100% - var(--mask-fade-width)), transparent);
278
283
  }
279
284
 
280
285
  /* ── Deferred section — render-skip an offscreen subtree (AQ.W3 §5) ──────
@@ -683,6 +688,29 @@
683
688
  }
684
689
  }
685
690
 
691
+ /* ── Control transition recipe (AU.W8b.4) ───────────────────────────────
692
+ Shared compound transition for interactive controls that animate their
693
+ surface (background-color/color/box-shadow/border-color) on the four-state
694
+ contract. Replaces the per-site
695
+ `transition-[background-color,color,box-shadow,border-color] duration-[var(--duration-fast)] ease-[var(--ease-standard)]`
696
+ arbitrary wraps at ≥2 sites (TabsTrigger, SelectTrigger, Toggle `card`
697
+ variant). Binds the canonical --duration-fast + --ease-standard tokens. */
698
+ @utility transition-control {
699
+ transition-property: background-color, color, box-shadow, border-color;
700
+ transition-duration: var(--duration-fast);
701
+ transition-timing-function: var(--ease-standard);
702
+ }
703
+
704
+ /* ── Collapse transition recipe (AU.W8b.4) ──────────────────────────────
705
+ Shared height+opacity transition for reka-ui collapse surfaces (Accordion
706
+ content, Collapsible content). Replaces the per-site `transition-[height,opacity]`
707
+ wrap at ≥2 sites. The duration/easing rides the data-state
708
+ `animate-accordion-*`/`animate-collapsible-*` keyframes (this only declares
709
+ WHICH properties transition; the keyframes own the timing). */
710
+ @utility transition-collapse {
711
+ transition-property: height, opacity;
712
+ }
713
+
686
714
  /* ── Sheet/drawer slide-out animation grammar ──
687
715
  Mirror of `.popover-animate` for sheet/drawer panels. Pairs with
688
716
  `slide-in-from-{top,right,bottom,left}-N` to compose side-keyed entries.
@@ -36,7 +36,7 @@
36
36
  * each tracked element plus a unique `view-transition-name` per element. */
37
37
  ::view-transition-group(.gl-list-item) {
38
38
  animation-duration: var(--vt-duration, var(--duration-normal));
39
- animation-timing-function: var(--vt-ease, var(--ease-apple-spring));
39
+ animation-timing-function: var(--vt-ease, var(--spring-bouncy));
40
40
  }
41
41
 
42
42
  /* Added / removed members — the `:only-child` trick from the group guide: a
@@ -48,11 +48,17 @@
48
48
  * and `<DockLayerGroup>` (.dock-layer-stack) carry `view-transition-class:
49
49
  * gl-dock-layer` + a page-unique `view-transition-name` on a View-Transitions
50
50
  * engine, so the collapsed↔expanded width + the layer-pane swap morph as a VT
51
- * group instead of the JS FLIP. The `--dock-motion-resize` spring maps here to
52
- * `--vt-ease`; both default to the apple-spring. PRM zeroes the animation above. */
51
+ * group instead of the JS FLIP.
52
+ *
53
+ * AT.W6-dock-c / AU.W8 — VT/FLIP timing PARITY. The timing-function is
54
+ * `--dock-resize-spring` (= the `--spring-dock` linear(), AU.W8) — the SAME
55
+ * source the FLIP fallback consumes via `--dock-motion-resize` (`dock.css`), so
56
+ * the identical curve drives both engines. Retires the AQ.W6 fork (this group
57
+ * ran `--vt-ease`, the apple-spring overshoot). `--vt-ease` still governs the
58
+ * other recipes (`.gl-list-item`). PRM zeroes the animation above. */
53
59
  ::view-transition-group(.gl-dock-layer) {
54
60
  animation-duration: var(--vt-duration, var(--duration-normal));
55
- animation-timing-function: var(--vt-ease, var(--ease-apple-spring));
61
+ animation-timing-function: var(--dock-resize-spring, var(--spring-dock));
56
62
  }
57
63
 
58
64
  @keyframes gl-vt-slide-in { from { opacity: 0; translate: 0 var(--vt-rise, 8px); } }
@@ -1,460 +0,0 @@
1
- import { t as e } from "./cn-DJXf4yaB.js";
2
- import { n as t } from "./button-DS3ULf5i.js";
3
- import { t as n } from "./_plugin-vue_export-helper-C1je1s0u.js";
4
- import { n as r, r as i, t as a } from "./ContextMenuContent-De01_83g.js";
5
- import { Fragment as o, computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createTextVNode as f, createVNode as p, defineComponent as m, mergeProps as h, normalizeClass as g, openBlock as _, ref as v, renderList as y, renderSlot as b, resolveDynamicComponent as x, toDisplayString as S, unref as C, useSlots as ee, withCtx as w, withModifiers as T } from "vue";
6
- import { useElementSize as te } from "@vueuse/core";
7
- //#region src/components/ui/table/Table.vue?vue&type=script&setup=true&lang.ts
8
- var E = { class: "relative w-full overflow-auto" }, D = /* @__PURE__ */ m({
9
- __name: "Table",
10
- props: { class: { type: [
11
- Boolean,
12
- null,
13
- String,
14
- Object,
15
- Array
16
- ] } },
17
- setup(t) {
18
- let n = t;
19
- return (t, r) => (_(), u("div", E, [d("table", { class: g(C(e)("w-full caption-bottom text-sm", n.class)) }, [b(t.$slots, "default")], 2)]));
20
- }
21
- }), O = /* @__PURE__ */ m({
22
- __name: "TableBody",
23
- props: { class: { type: [
24
- Boolean,
25
- null,
26
- String,
27
- Object,
28
- Array
29
- ] } },
30
- setup(t) {
31
- let n = t;
32
- return (t, r) => (_(), u("tbody", { class: g(C(e)("[&_tr:last-child]:border-0", n.class)) }, [b(t.$slots, "default")], 2));
33
- }
34
- }), k = /* @__PURE__ */ m({
35
- __name: "TableCell",
36
- props: { class: { type: [
37
- Boolean,
38
- null,
39
- String,
40
- Object,
41
- Array
42
- ] } },
43
- setup(t) {
44
- let n = t;
45
- return (t, r) => (_(), u("td", { class: g(C(e)("table-cell align-middle [&:has([role=checkbox])]:pr-0", n.class)) }, [b(t.$slots, "default")], 2));
46
- }
47
- }), A = /* @__PURE__ */ m({
48
- __name: "TableHead",
49
- props: { class: { type: [
50
- Boolean,
51
- null,
52
- String,
53
- Object,
54
- Array
55
- ] } },
56
- setup(t) {
57
- let n = t;
58
- return (t, r) => (_(), u("th", { class: g(C(e)("table-head text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0", n.class)) }, [b(t.$slots, "default")], 2));
59
- }
60
- }), j = /* @__PURE__ */ m({
61
- __name: "TableHeader",
62
- props: { class: { type: [
63
- Boolean,
64
- null,
65
- String,
66
- Object,
67
- Array
68
- ] } },
69
- setup(t) {
70
- let n = t;
71
- return (t, r) => (_(), u("thead", { class: g(C(e)("[&_tr]:border-b", n.class)) }, [b(t.$slots, "default")], 2));
72
- }
73
- }), M = /* @__PURE__ */ m({
74
- __name: "TableRow",
75
- props: { class: { type: [
76
- Boolean,
77
- null,
78
- String,
79
- Object,
80
- Array
81
- ] } },
82
- setup(t) {
83
- let n = t;
84
- return (t, r) => (_(), u("tr", { class: g(C(e)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted", n.class)) }, [b(t.$slots, "default")], 2));
85
- }
86
- }), N = { class: "flex items-center justify-center py-10" }, P = /* @__PURE__ */ m({
87
- __name: "TableEmpty",
88
- props: {
89
- class: { type: [
90
- Boolean,
91
- null,
92
- String,
93
- Object,
94
- Array
95
- ] },
96
- colspan: { default: 1 }
97
- },
98
- setup(t) {
99
- let n = t, r = s(() => {
100
- let { class: e, ...t } = n;
101
- return t;
102
- });
103
- return (t, i) => (_(), c(M, null, {
104
- default: w(() => [p(k, h({ class: C(e)("p-4 whitespace-nowrap align-middle text-sm text-foreground", n.class) }, r.value), {
105
- default: w(() => [d("div", N, [b(t.$slots, "default")])]),
106
- _: 3
107
- }, 16, ["class"])]),
108
- _: 3
109
- }));
110
- }
111
- }), F = /* @__PURE__ */ n(/* @__PURE__ */ m({
112
- __name: "Skeleton",
113
- props: {
114
- variant: { default: "pulse" },
115
- class: { type: [
116
- Boolean,
117
- null,
118
- String,
119
- Object,
120
- Array
121
- ] }
122
- },
123
- setup(t) {
124
- let n = t;
125
- return (r, i) => (_(), u("div", { class: g(C(e)("rounded-input bg-muted", t.variant === "pulse" && "animate-pulse", t.variant === "shimmer" && "skeleton-shimmer", t.variant === "breath" && "skeleton-breath", n.class)) }, null, 2));
126
- }
127
- }), [["__scopeId", "data-v-bb7e255e"]]), I = { class: "tabular-nums" }, L = { class: "flex items-center gap-1" }, R = {
128
- key: 0,
129
- class: "px-1 select-none"
130
- }, z = /* @__PURE__ */ m({
131
- __name: "DataTablePagination",
132
- props: {
133
- page: {},
134
- pageSize: {},
135
- total: {},
136
- class: {}
137
- },
138
- emits: ["update:page"],
139
- setup(n, { emit: r }) {
140
- let i = n, a = r, l = s(() => Math.max(1, Math.ceil(i.total / i.pageSize))), m = s(() => Math.min(Math.max(1, i.page), l.value)), h = s(() => {
141
- let e = l.value, t = m.value;
142
- if (e <= 7) return Array.from({ length: e }, (e, t) => t + 1);
143
- let n = [1];
144
- t > 3 && n.push(null);
145
- let r = Math.max(2, t - 1), i = Math.min(e - 1, t + 1);
146
- for (let e = r; e <= i; e++) n.push(e);
147
- return t < e - 2 && n.push(null), n.push(e), n;
148
- });
149
- function v(e) {
150
- let t = Math.min(Math.max(1, e), l.value);
151
- t !== i.page && a("update:page", t);
152
- }
153
- return (r, a) => (_(), u("div", { class: g(C(e)("flex items-center justify-between border-t border-border px-4 py-2 text-sm text-muted-foreground", i.class)) }, [d("span", I, S(n.total.toLocaleString()) + " result" + S(n.total === 1 ? "" : "s"), 1), d("div", L, [
154
- p(C(t), {
155
- variant: "ghost",
156
- size: "icon",
157
- disabled: m.value <= 1,
158
- onClick: a[0] ||= (e) => v(1),
159
- "aria-label": "First page"
160
- }, {
161
- default: w(() => [...a[4] ||= [f(" ⟨⟨ ", -1)]]),
162
- _: 1
163
- }, 8, ["disabled"]),
164
- p(C(t), {
165
- variant: "ghost",
166
- size: "icon",
167
- disabled: m.value <= 1,
168
- onClick: a[1] ||= (e) => v(m.value - 1),
169
- "aria-label": "Previous page"
170
- }, {
171
- default: w(() => [...a[5] ||= [f(" ⟨ ", -1)]]),
172
- _: 1
173
- }, 8, ["disabled"]),
174
- (_(!0), u(o, null, y(h.value, (e, n) => (_(), u(o, { key: n }, [e === null ? (_(), u("span", R, "...")) : (_(), c(C(t), {
175
- key: 1,
176
- variant: e === m.value ? "default" : "ghost",
177
- size: "icon",
178
- class: "tabular-nums",
179
- onClick: (t) => v(e)
180
- }, {
181
- default: w(() => [f(S(e), 1)]),
182
- _: 2
183
- }, 1032, ["variant", "onClick"]))], 64))), 128)),
184
- p(C(t), {
185
- variant: "ghost",
186
- size: "icon",
187
- disabled: m.value >= l.value,
188
- onClick: a[2] ||= (e) => v(m.value + 1),
189
- "aria-label": "Next page"
190
- }, {
191
- default: w(() => [...a[6] ||= [f(" ⟩ ", -1)]]),
192
- _: 1
193
- }, 8, ["disabled"]),
194
- p(C(t), {
195
- variant: "ghost",
196
- size: "icon",
197
- disabled: m.value >= l.value,
198
- onClick: a[3] ||= (e) => v(l.value),
199
- "aria-label": "Last page"
200
- }, {
201
- default: w(() => [...a[7] ||= [f(" ⟩⟩ ", -1)]]),
202
- _: 1
203
- }, 8, ["disabled"])
204
- ])], 2));
205
- }
206
- }), B = {
207
- key: 0,
208
- class: "flex flex-col gap-2"
209
- }, V = {
210
- key: 1,
211
- class: "flex flex-col gap-2"
212
- }, H = ["onClick"], U = { class: "flex items-start justify-between gap-2" }, ne = { class: "min-w-0 font-medium" }, re = {
213
- key: 0,
214
- class: "mt-2 grid grid-cols-[auto_1fr] gap-x-3 gap-y-1"
215
- }, ie = { class: "text-muted-foreground" }, ae = {
216
- key: 2,
217
- class: "rounded-lg border border-border p-6 text-center text-muted-foreground"
218
- }, W = /* @__PURE__ */ m({
219
- __name: "DataTable",
220
- props: {
221
- columns: {},
222
- rows: {},
223
- total: {},
224
- page: {},
225
- pageSize: {},
226
- isLoading: {
227
- type: Boolean,
228
- default: !1
229
- },
230
- rowKey: { default: "_id" },
231
- getRowId: {},
232
- sort: {},
233
- infinite: {
234
- type: Boolean,
235
- default: !1
236
- },
237
- hasMore: {
238
- type: Boolean,
239
- default: !1
240
- },
241
- responsive: {
242
- type: Boolean,
243
- default: !1
244
- },
245
- cardBreakpoint: { default: 640 },
246
- class: {}
247
- },
248
- emits: [
249
- "update:page",
250
- "update:sort",
251
- "select",
252
- "load-more"
253
- ],
254
- setup(t, { emit: n }) {
255
- let m = t, h = n, E = ee(), N = s(() => !!E["row-actions"]), I = s(() => !!E["row-context-menu"]), L = v(null), { width: R } = te(L), W = s(() => m.responsive && R.value > 0 && R.value < m.cardBreakpoint), G = s(() => Array.from({ length: Math.min(m.pageSize, 5) }, (e, t) => t)), K = /* @__PURE__ */ new WeakMap(), oe = 0;
256
- function q(e, t) {
257
- return t.split(".").reduce((e, t) => {
258
- if (!(typeof e != "object" || !e)) return e[t];
259
- }, e);
260
- }
261
- function J(e) {
262
- return typeof e == "string" || typeof e == "number" || typeof e == "symbol";
263
- }
264
- function se(e) {
265
- return typeof e == "symbol" ? e.toString() : JSON.stringify(e);
266
- }
267
- function ce(e) {
268
- return m.getRowId ? m.getRowId(e) : q(e, m.rowKey);
269
- }
270
- function le(e) {
271
- let t = e, n = K.get(t);
272
- if (n) return n;
273
- let r = Symbol(`DataTable row ${oe++}`);
274
- return K.set(t, r), r;
275
- }
276
- let Y = s(() => {
277
- let e = m.rows.map((e) => ce(e)), t = /* @__PURE__ */ new Map();
278
- for (let n of e) J(n) && t.set(n, (t.get(n) ?? 0) + 1);
279
- let n = e.filter((e) => !J(e)).length;
280
- n > 0 && `${n}`;
281
- let r = Array.from(t).filter(([, e]) => e > 1).map(([e]) => se(e));
282
- return r.length > 0 && (`${r.join(",")}`, `${r.join(", ")}`), m.rows.map((n, r) => {
283
- let i = e[r];
284
- return {
285
- row: n,
286
- key: J(i) && t.get(i) === 1 ? i : le(n)
287
- };
288
- });
289
- });
290
- function X(e, t) {
291
- let n = q(e, t.key);
292
- return t.formatter ? t.formatter(n, e) : n == null ? "—" : String(n);
293
- }
294
- function Z(e) {
295
- return e === "right" ? "text-right" : e === "center" ? "text-center" : "text-left";
296
- }
297
- function ue(e) {
298
- if (!e.sortable) return;
299
- let t = m.sort;
300
- t?.key === e.key ? h("update:sort", {
301
- key: e.key,
302
- direction: t.direction === "asc" ? "desc" : "asc"
303
- }) : h("update:sort", {
304
- key: e.key,
305
- direction: "asc"
306
- });
307
- }
308
- function de(e) {
309
- return e.sortable ? m.sort?.key === e.key ? m.sort.direction === "asc" ? " ↑" : " ↓" : " ↕" : "";
310
- }
311
- let Q = s(() => m.columns[0]), $ = s(() => m.columns.slice(1));
312
- return (n, s) => (_(), u("div", {
313
- ref_key: "rootRef",
314
- ref: L,
315
- class: g(C(e)("overflow-hidden", m.class))
316
- }, [
317
- W.value ? (_(), u(o, { key: 0 }, [t.isLoading && t.rows.length === 0 ? (_(), u("div", B, [(_(!0), u(o, null, y(G.value, (e) => (_(), u("div", {
318
- key: "skel-card-" + e,
319
- class: "rounded-lg border border-border p-3"
320
- }, [p(C(F), { class: "mb-2 h-4 w-1/2" }), p(C(F), { class: "h-3 w-3/4" })]))), 128))])) : t.rows.length > 0 ? (_(), u("div", V, [(_(!0), u(o, null, y(Y.value, (t) => (_(), c(x(I.value ? C(i) : "div"), { key: t.key }, {
321
- default: w(() => [(_(), c(x(I.value ? C(r) : "div"), { "as-child": I.value ? !0 : void 0 }, {
322
- default: w(() => [d("div", {
323
- class: "cursor-pointer rounded-lg border border-border p-3 transition-colors hover:bg-muted/40",
324
- onClick: (e) => h("select", t.row)
325
- }, [d("div", U, [d("div", ne, [Q.value?.component ? (_(), c(x(Q.value.component), {
326
- key: 0,
327
- value: q(t.row, Q.value.key),
328
- row: t.row
329
- }, null, 8, ["value", "row"])) : Q.value ? (_(), u(o, { key: 1 }, [f(S(X(t.row, Q.value)), 1)], 64)) : l("", !0)]), N.value ? (_(), u("div", {
330
- key: 0,
331
- class: "shrink-0",
332
- onClick: s[0] ||= T(() => {}, ["stop"])
333
- }, [b(n.$slots, "row-actions", { row: t.row })])) : l("", !0)]), $.value.length > 0 ? (_(), u("dl", re, [(_(!0), u(o, null, y($.value, (n) => (_(), u(o, { key: n.key }, [d("dt", ie, S(n.label), 1), d("dd", { class: g(C(e)("min-w-0 break-words", n.align === "right" && "text-right", n.class)) }, [n.component ? (_(), c(x(n.component), {
334
- key: 0,
335
- value: q(t.row, n.key),
336
- row: t.row
337
- }, null, 8, ["value", "row"])) : (_(), u(o, { key: 1 }, [f(S(X(t.row, n)), 1)], 64))], 2)], 64))), 128))])) : l("", !0)], 8, H)]),
338
- _: 2
339
- }, 1032, ["as-child"])), I.value ? (_(), c(C(a), { key: 0 }, {
340
- default: w(() => [b(n.$slots, "row-context-menu", { row: t.row })]),
341
- _: 2
342
- }, 1024)) : l("", !0)]),
343
- _: 2
344
- }, 1024))), 128))])) : (_(), u("div", ae, [b(n.$slots, "empty", {}, () => [s[4] ||= f("No results found", -1)])]))], 64)) : (_(), c(C(D), { key: 1 }, {
345
- default: w(() => [p(C(j), null, {
346
- default: w(() => [p(C(M), { class: "text-muted-foreground" }, {
347
- default: w(() => [(_(!0), u(o, null, y(t.columns, (t) => (_(), c(C(A), {
348
- key: t.key,
349
- class: g(C(e)(Z(t.align), t.sortable && "cursor-pointer select-none", t.headerClass)),
350
- onClick: (e) => ue(t)
351
- }, {
352
- default: w(() => [f(S(t.label) + S(de(t)), 1)]),
353
- _: 2
354
- }, 1032, ["class", "onClick"]))), 128)), N.value ? (_(), c(C(A), {
355
- key: 0,
356
- class: "w-10"
357
- })) : l("", !0)]),
358
- _: 1
359
- })]),
360
- _: 1
361
- }), p(C(O), null, {
362
- default: w(() => [t.isLoading && t.rows.length === 0 ? (_(!0), u(o, { key: 0 }, y(G.value, (e) => (_(), c(C(M), { key: "skel-" + e }, {
363
- default: w(() => [(_(!0), u(o, null, y(t.columns, (e) => (_(), c(C(k), {
364
- key: e.key,
365
- class: g(Z(e.align))
366
- }, {
367
- default: w(() => [p(C(F), { class: "h-4 w-3/4" })]),
368
- _: 1
369
- }, 8, ["class"]))), 128)), N.value ? (_(), c(C(k), {
370
- key: 0,
371
- class: "w-10"
372
- }, {
373
- default: w(() => [p(C(F), { class: "h-4 w-6" })]),
374
- _: 1
375
- })) : l("", !0)]),
376
- _: 1
377
- }))), 128)) : t.rows.length > 0 ? (_(!0), u(o, { key: 1 }, y(Y.value, (d) => (_(), u(o, { key: d.key }, [I.value ? (_(), c(C(i), { key: 0 }, {
378
- default: w(() => [p(C(r), { "as-child": "" }, {
379
- default: w(() => [p(C(M), {
380
- class: "cursor-pointer",
381
- onClick: (e) => h("select", d.row)
382
- }, {
383
- default: w(() => [(_(!0), u(o, null, y(t.columns, (t) => (_(), c(C(k), {
384
- key: t.key,
385
- class: g(C(e)(Z(t.align), t.class))
386
- }, {
387
- default: w(() => [t.component ? (_(), c(x(t.component), {
388
- key: 0,
389
- value: q(d.row, t.key),
390
- row: d.row
391
- }, null, 8, ["value", "row"])) : (_(), u(o, { key: 1 }, [f(S(X(d.row, t)), 1)], 64))]),
392
- _: 2
393
- }, 1032, ["class"]))), 128)), N.value ? (_(), c(C(k), {
394
- key: 0,
395
- class: "w-10",
396
- onClick: s[1] ||= T(() => {}, ["stop"])
397
- }, {
398
- default: w(() => [b(n.$slots, "row-actions", { row: d.row })]),
399
- _: 2
400
- }, 1024)) : l("", !0)]),
401
- _: 2
402
- }, 1032, ["onClick"])]),
403
- _: 2
404
- }, 1024), p(C(a), null, {
405
- default: w(() => [b(n.$slots, "row-context-menu", { row: d.row })]),
406
- _: 2
407
- }, 1024)]),
408
- _: 2
409
- }, 1024)) : (_(), c(C(M), {
410
- key: 1,
411
- class: "cursor-pointer",
412
- onClick: (e) => h("select", d.row)
413
- }, {
414
- default: w(() => [(_(!0), u(o, null, y(t.columns, (t) => (_(), c(C(k), {
415
- key: t.key,
416
- class: g(C(e)(Z(t.align), t.class))
417
- }, {
418
- default: w(() => [t.component ? (_(), c(x(t.component), {
419
- key: 0,
420
- value: q(d.row, t.key),
421
- row: d.row
422
- }, null, 8, ["value", "row"])) : (_(), u(o, { key: 1 }, [f(S(X(d.row, t)), 1)], 64))]),
423
- _: 2
424
- }, 1032, ["class"]))), 128)), N.value ? (_(), c(C(k), {
425
- key: 0,
426
- class: "w-10",
427
- onClick: s[2] ||= T(() => {}, ["stop"])
428
- }, {
429
- default: w(() => [b(n.$slots, "row-actions", { row: d.row })]),
430
- _: 2
431
- }, 1024)) : l("", !0)]),
432
- _: 2
433
- }, 1032, ["onClick"]))], 64))), 128)) : (_(), c(C(P), {
434
- key: 2,
435
- colspan: t.columns.length + +!!N.value
436
- }, {
437
- default: w(() => [b(n.$slots, "empty", {}, () => [s[5] ||= f("No results found", -1)])]),
438
- _: 3
439
- }, 8, ["colspan"]))]),
440
- _: 3
441
- })]),
442
- _: 3
443
- })),
444
- t.infinite ? b(n.$slots, "sentinel", { key: 2 }) : l("", !0),
445
- !t.infinite && t.total > 0 ? (_(), c(z, {
446
- key: 3,
447
- page: t.page,
448
- "page-size": t.pageSize,
449
- total: t.total,
450
- "onUpdate:page": s[3] ||= (e) => h("update:page", e)
451
- }, null, 8, [
452
- "page",
453
- "page-size",
454
- "total"
455
- ])) : l("", !0)
456
- ], 2));
457
- }
458
- });
459
- //#endregion
460
- export { M as a, k as c, P as i, O as l, z as n, j as o, F as r, A as s, W as t, D as u };