@selvajs/ui 6.6.0-beta.9 → 7.0.1-beta.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 (345) hide show
  1. package/README.md +0 -3
  2. package/dist/components/ErrorScreen.svelte +1 -1
  3. package/dist/components/compute/AppLayout.svelte +230 -85
  4. package/dist/components/compute/AppLayout.svelte.d.ts +14 -2
  5. package/dist/components/compute/CollapsedPanelStrip.svelte +4 -2
  6. package/dist/components/compute/ComputeApp.svelte +6 -2
  7. package/dist/components/compute/ComputeApp.svelte.d.ts +1 -1
  8. package/dist/components/compute/ComputeMessagesDialog.svelte +3 -3
  9. package/dist/components/compute/ParameterPresetManager.svelte +1 -1
  10. package/dist/components/compute/SolveMessages.svelte +79 -88
  11. package/dist/components/compute/SolveMessages.svelte.d.ts +5 -0
  12. package/dist/components/layout/AppShell.svelte +2 -2
  13. package/dist/components/layout/FooterItemRenderer.svelte +2 -2
  14. package/dist/components/layout/FooterItemRenderer.svelte.d.ts +1 -1
  15. package/dist/components/layout/PageContent.svelte +3 -2
  16. package/dist/components/layout/PageFooter.svelte +9 -6
  17. package/dist/components/layout/PageHeader.svelte +3 -3
  18. package/dist/components/layout/SideNav.svelte +3 -3
  19. package/dist/components/layout/SubNav.svelte +2 -2
  20. package/dist/components/preview/ChartOutput.svelte +141 -50
  21. package/dist/components/preview/Group.svelte +9 -9
  22. package/dist/components/preview/HelpButton.svelte +1 -1
  23. package/dist/components/preview/ImageOutput.svelte +13 -10
  24. package/dist/components/preview/InputControl.svelte +13 -12
  25. package/dist/components/preview/OutputDisplay.svelte +26 -17
  26. package/dist/components/preview/TabBar.svelte +8 -6
  27. package/dist/components/preview/TabBar.svelte.d.ts +2 -0
  28. package/dist/components/preview/TabContent.svelte +8 -8
  29. package/dist/components/preview/TabLayout.svelte +6 -7
  30. package/dist/components/preview/inputs/CheckboxInput.svelte +1 -1
  31. package/dist/components/preview/inputs/ChecklistInput.svelte +5 -5
  32. package/dist/components/preview/inputs/ColorInput.svelte +356 -14
  33. package/dist/components/preview/inputs/ColorInput.svelte.d.ts +1 -0
  34. package/dist/components/preview/inputs/DropdownInput.svelte +3 -3
  35. package/dist/components/preview/inputs/FileInput.svelte +17 -12
  36. package/dist/components/preview/inputs/GeometryInput.svelte +4 -4
  37. package/dist/components/preview/inputs/GeometryInput.svelte.d.ts +1 -1
  38. package/dist/components/preview/inputs/NumberInput.svelte +8 -8
  39. package/dist/components/preview/inputs/OptionGlyph.svelte +1 -1
  40. package/dist/components/preview/inputs/OptionGlyph.svelte.d.ts +1 -1
  41. package/dist/components/preview/inputs/SegmentedInput.svelte +3 -2
  42. package/dist/components/preview/inputs/TextInput.svelte +5 -5
  43. package/dist/components/preview/inputs/TileInput.svelte +8 -5
  44. package/dist/components/primitives/CalculateButton.svelte +10 -4
  45. package/dist/components/primitives/Callout.svelte +8 -6
  46. package/dist/components/primitives/Callout.svelte.d.ts +4 -4
  47. package/dist/components/primitives/DataTable.svelte +1 -1
  48. package/dist/components/primitives/FilterableDropdown.svelte +13 -1
  49. package/dist/components/primitives/FilterableDropdown.svelte.d.ts +5 -0
  50. package/dist/components/primitives/ImageUploadField.svelte +1 -1
  51. package/dist/components/primitives/SolvingIndicator.svelte +242 -41
  52. package/dist/components/primitives/SolvingIndicator.svelte.d.ts +13 -5
  53. package/dist/components/primitives/alert-dialog/alert-dialog-content.svelte +1 -1
  54. package/dist/components/primitives/badge/badge.svelte +2 -2
  55. package/dist/components/primitives/badge/badge.svelte.d.ts +6 -6
  56. package/dist/components/primitives/button/button.svelte +7 -8
  57. package/dist/components/primitives/button/button.svelte.d.ts +19 -19
  58. package/dist/components/primitives/card/card.svelte +1 -1
  59. package/dist/components/primitives/card/card.svelte.d.ts +1 -1
  60. package/dist/components/primitives/checkbox/checkbox.svelte +1 -1
  61. package/dist/components/primitives/command/command-input.svelte +1 -1
  62. package/dist/components/primitives/command/command-item.svelte +1 -1
  63. package/dist/components/primitives/command/command-link-item.svelte +1 -1
  64. package/dist/components/primitives/command/command.svelte +1 -1
  65. package/dist/components/primitives/context-menu/context-menu-checkbox-item.svelte +1 -1
  66. package/dist/components/primitives/context-menu/context-menu-content.svelte +1 -1
  67. package/dist/components/primitives/context-menu/context-menu-item.svelte +1 -1
  68. package/dist/components/primitives/context-menu/context-menu-radio-item.svelte +1 -1
  69. package/dist/components/primitives/context-menu/context-menu-sub-content.svelte +1 -1
  70. package/dist/components/primitives/context-menu/context-menu-sub-trigger.svelte +1 -1
  71. package/dist/components/primitives/dialog/dialog-content.svelte +3 -3
  72. package/dist/components/primitives/drawer/Drawer.svelte +1 -1
  73. package/dist/components/primitives/dropdown-menu/dropdown-menu-checkbox-item.svelte +31 -11
  74. package/dist/components/primitives/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +2 -0
  75. package/dist/components/primitives/dropdown-menu/dropdown-menu-content.svelte +5 -1
  76. package/dist/components/primitives/dropdown-menu/dropdown-menu-content.svelte.d.ts +2 -0
  77. package/dist/components/primitives/dropdown-menu/dropdown-menu-item.svelte +4 -2
  78. package/dist/components/primitives/dropdown-menu/dropdown-menu-item.svelte.d.ts +2 -1
  79. package/dist/components/primitives/dropdown-menu/dropdown-menu-radio-item.svelte +1 -1
  80. package/dist/components/primitives/dropdown-menu/dropdown-menu-shortcut.svelte +1 -1
  81. package/dist/components/primitives/dropdown-menu/dropdown-menu-sub-content.svelte +1 -1
  82. package/dist/components/primitives/dropdown-menu/dropdown-menu-sub-trigger.svelte +1 -1
  83. package/dist/components/primitives/index.d.ts +1 -1
  84. package/dist/components/primitives/index.js +1 -1
  85. package/dist/components/primitives/input/input.svelte +2 -2
  86. package/dist/components/primitives/input-group/input-group-input.svelte.d.ts +1 -1
  87. package/dist/components/primitives/input-group/input-group.svelte +1 -1
  88. package/dist/components/primitives/mode-toggle/mode-toggle.svelte +2 -2
  89. package/dist/components/primitives/popover/popover-content.svelte +1 -1
  90. package/dist/components/primitives/resizable/resizable-handle.svelte +2 -2
  91. package/dist/components/primitives/search/search.svelte +1 -1
  92. package/dist/components/primitives/select/select-content.svelte +1 -1
  93. package/dist/components/primitives/select/select-item.svelte +1 -1
  94. package/dist/components/primitives/select/select-trigger.svelte +1 -1
  95. package/dist/components/primitives/slider/slider.svelte +1 -1
  96. package/dist/components/primitives/switch/switch.svelte +1 -1
  97. package/dist/components/primitives/tabs/tabs-list.svelte +2 -2
  98. package/dist/components/primitives/tabs/tabs-list.svelte.d.ts +6 -6
  99. package/dist/components/primitives/tabs/tabs-trigger.svelte +2 -2
  100. package/dist/components/primitives/tabs/tabs-trigger.svelte.d.ts +6 -6
  101. package/dist/components/primitives/textarea/textarea.svelte +1 -1
  102. package/dist/components/primitives/toggle/toggle.svelte +8 -2
  103. package/dist/components/primitives/toggle/toggle.svelte.d.ts +10 -4
  104. package/dist/components/primitives/toggle-group/toggle-group-item.svelte +1 -1
  105. package/dist/components/primitives/toggle-group/toggle-group.svelte +1 -1
  106. package/dist/components/primitives/tooltip/index.d.ts +6 -0
  107. package/dist/components/primitives/tooltip/index.js +8 -0
  108. package/dist/components/primitives/tooltip/tooltip-content.svelte +34 -0
  109. package/dist/components/primitives/tooltip/tooltip-content.svelte.d.ts +10 -0
  110. package/dist/components/primitives/tooltip/tooltip-portal.svelte +7 -0
  111. package/dist/components/primitives/tooltip/tooltip-portal.svelte.d.ts +4 -0
  112. package/dist/components/primitives/tooltip/tooltip-provider.svelte +7 -0
  113. package/dist/components/primitives/tooltip/tooltip-provider.svelte.d.ts +4 -0
  114. package/dist/components/primitives/tooltip/tooltip-trigger.svelte +7 -0
  115. package/dist/components/primitives/tooltip/tooltip-trigger.svelte.d.ts +4 -0
  116. package/dist/components/primitives/tooltip/tooltip.svelte +7 -0
  117. package/dist/components/primitives/tooltip/tooltip.svelte.d.ts +4 -0
  118. package/dist/components/viewer/MeshMetadataPanel.svelte +2 -2
  119. package/dist/components/viewer/SceneManager.svelte +32 -21
  120. package/dist/components/viewer/SceneManager.svelte.d.ts +3 -1
  121. package/dist/components/viewer/Viewer.svelte +128 -178
  122. package/dist/components/viewer/Viewer.svelte.d.ts +7 -2
  123. package/dist/components/viewer/ViewerDock.svelte +452 -0
  124. package/dist/components/viewer/ViewerDock.svelte.d.ts +42 -0
  125. package/dist/composables/useFooterItem.svelte.d.ts +1 -1
  126. package/dist/composables/useFooterItem.svelte.js +1 -1
  127. package/dist/compute/liveProgress.svelte.d.ts +16 -0
  128. package/dist/compute/liveProgress.svelte.js +90 -0
  129. package/dist/compute/solving.svelte.d.ts +7 -9
  130. package/dist/compute/solving.svelte.js +56 -48
  131. package/dist/constants.d.ts +6 -8
  132. package/dist/constants.js +8 -11
  133. package/dist/contexts/hostContext.svelte.d.ts +1 -1
  134. package/dist/features/chart/plotly-compat.d.ts +15 -0
  135. package/dist/features/chart/plotly-compat.js +124 -0
  136. package/dist/i18n/messages.d.ts +17 -0
  137. package/dist/i18n/messages.js +26 -0
  138. package/dist/index.d.ts +2 -0
  139. package/dist/index.js +2 -0
  140. package/dist/public.d.ts +1 -0
  141. package/dist/public.js +1 -0
  142. package/dist/schema/visibility-rules.d.ts +7 -1
  143. package/dist/schema/visibility-rules.js +17 -0
  144. package/dist/styles/base.css +100 -86
  145. package/dist/utils/color-space.d.ts +21 -0
  146. package/dist/utils/color-space.js +90 -0
  147. package/package.json +31 -23
  148. package/src/lib/components/ErrorScreen.svelte +1 -1
  149. package/src/lib/components/compute/AppLayout.svelte +231 -86
  150. package/src/lib/components/compute/CollapsedPanelStrip.svelte +4 -2
  151. package/src/lib/components/compute/ComputeApp.svelte +6 -2
  152. package/src/lib/components/compute/ComputeMessagesDialog.svelte +4 -4
  153. package/src/lib/components/compute/ParameterPresetManager.svelte +1 -1
  154. package/src/lib/components/compute/SolveMessages.svelte +81 -90
  155. package/src/lib/components/layout/AppShell.svelte +2 -2
  156. package/src/lib/components/layout/FooterItemRenderer.svelte +2 -2
  157. package/src/lib/components/layout/PageContent.svelte +3 -2
  158. package/src/lib/components/layout/PageFooter.svelte +9 -6
  159. package/src/lib/components/layout/PageHeader.svelte +3 -3
  160. package/src/lib/components/layout/SideNav.svelte +4 -4
  161. package/src/lib/components/layout/SubNav.svelte +2 -2
  162. package/src/lib/components/preview/ChartOutput.svelte +141 -50
  163. package/src/lib/components/preview/Group.svelte +9 -9
  164. package/src/lib/components/preview/HelpButton.svelte +1 -1
  165. package/src/lib/components/preview/ImageOutput.svelte +13 -10
  166. package/src/lib/components/preview/InputControl.svelte +13 -12
  167. package/src/lib/components/preview/OutputDisplay.svelte +26 -17
  168. package/src/lib/components/preview/TabBar.svelte +8 -6
  169. package/src/lib/components/preview/TabContent.svelte +8 -8
  170. package/src/lib/components/preview/TabLayout.svelte +6 -7
  171. package/src/lib/components/preview/inputs/CheckboxInput.svelte +1 -1
  172. package/src/lib/components/preview/inputs/ChecklistInput.svelte +5 -5
  173. package/src/lib/components/preview/inputs/ColorInput.svelte +356 -14
  174. package/src/lib/components/preview/inputs/DropdownInput.svelte +3 -3
  175. package/src/lib/components/preview/inputs/FileInput.svelte +17 -12
  176. package/src/lib/components/preview/inputs/GeometryInput.svelte +4 -4
  177. package/src/lib/components/preview/inputs/NumberInput.svelte +8 -8
  178. package/src/lib/components/preview/inputs/OptionGlyph.svelte +2 -2
  179. package/src/lib/components/preview/inputs/SegmentedInput.svelte +3 -2
  180. package/src/lib/components/preview/inputs/TextInput.svelte +5 -5
  181. package/src/lib/components/preview/inputs/TileInput.svelte +8 -5
  182. package/src/lib/components/primitives/CalculateButton.svelte +10 -4
  183. package/src/lib/components/primitives/Callout.svelte +9 -7
  184. package/src/lib/components/primitives/DataTable.svelte +1 -1
  185. package/src/lib/components/primitives/FilterableDropdown.svelte +14 -2
  186. package/src/lib/components/primitives/ImageUploadField.svelte +1 -1
  187. package/src/lib/components/primitives/IssueList.svelte +1 -1
  188. package/src/lib/components/primitives/SeverityIcon.svelte +1 -1
  189. package/src/lib/components/primitives/SolvingIndicator.svelte +242 -41
  190. package/src/lib/components/primitives/StateDisplay.svelte +1 -1
  191. package/src/lib/components/primitives/alert-dialog/alert-dialog-action.svelte +2 -2
  192. package/src/lib/components/primitives/alert-dialog/alert-dialog-cancel.svelte +2 -2
  193. package/src/lib/components/primitives/alert-dialog/alert-dialog-content.svelte +2 -2
  194. package/src/lib/components/primitives/alert-dialog/alert-dialog-description.svelte +1 -1
  195. package/src/lib/components/primitives/alert-dialog/alert-dialog-footer.svelte +1 -1
  196. package/src/lib/components/primitives/alert-dialog/alert-dialog-header.svelte +1 -1
  197. package/src/lib/components/primitives/alert-dialog/alert-dialog-overlay.svelte +1 -1
  198. package/src/lib/components/primitives/alert-dialog/alert-dialog-title.svelte +1 -1
  199. package/src/lib/components/primitives/badge/badge.svelte +3 -3
  200. package/src/lib/components/primitives/button/button.svelte +7 -8
  201. package/src/lib/components/primitives/button-group/button-group-separator.svelte +2 -2
  202. package/src/lib/components/primitives/button-group/button-group-text.svelte +1 -1
  203. package/src/lib/components/primitives/button-group/button-group.svelte +1 -1
  204. package/src/lib/components/primitives/card/card-content.svelte +1 -1
  205. package/src/lib/components/primitives/card/card-description.svelte +1 -1
  206. package/src/lib/components/primitives/card/card-footer.svelte +1 -1
  207. package/src/lib/components/primitives/card/card-header.svelte +1 -1
  208. package/src/lib/components/primitives/card/card-title.svelte +1 -1
  209. package/src/lib/components/primitives/card/card.svelte +2 -2
  210. package/src/lib/components/primitives/checkbox/checkbox.svelte +2 -2
  211. package/src/lib/components/primitives/command/command-dialog.svelte +2 -2
  212. package/src/lib/components/primitives/command/command-empty.svelte +1 -1
  213. package/src/lib/components/primitives/command/command-group.svelte +1 -1
  214. package/src/lib/components/primitives/command/command-input.svelte +3 -3
  215. package/src/lib/components/primitives/command/command-item.svelte +2 -2
  216. package/src/lib/components/primitives/command/command-link-item.svelte +2 -2
  217. package/src/lib/components/primitives/command/command-list.svelte +1 -1
  218. package/src/lib/components/primitives/command/command-separator.svelte +1 -1
  219. package/src/lib/components/primitives/command/command-shortcut.svelte +1 -1
  220. package/src/lib/components/primitives/command/command.svelte +2 -2
  221. package/src/lib/components/primitives/context-menu/context-menu-checkbox-item.svelte +2 -2
  222. package/src/lib/components/primitives/context-menu/context-menu-content.svelte +2 -2
  223. package/src/lib/components/primitives/context-menu/context-menu-group-heading.svelte +1 -1
  224. package/src/lib/components/primitives/context-menu/context-menu-item.svelte +2 -2
  225. package/src/lib/components/primitives/context-menu/context-menu-label.svelte +1 -1
  226. package/src/lib/components/primitives/context-menu/context-menu-radio-item.svelte +2 -2
  227. package/src/lib/components/primitives/context-menu/context-menu-separator.svelte +1 -1
  228. package/src/lib/components/primitives/context-menu/context-menu-shortcut.svelte +1 -1
  229. package/src/lib/components/primitives/context-menu/context-menu-sub-content.svelte +2 -2
  230. package/src/lib/components/primitives/context-menu/context-menu-sub-trigger.svelte +2 -2
  231. package/src/lib/components/primitives/dialog/dialog-content.svelte +4 -4
  232. package/src/lib/components/primitives/dialog/dialog-description.svelte +1 -1
  233. package/src/lib/components/primitives/dialog/dialog-footer.svelte +1 -1
  234. package/src/lib/components/primitives/dialog/dialog-header.svelte +1 -1
  235. package/src/lib/components/primitives/dialog/dialog-overlay.svelte +1 -1
  236. package/src/lib/components/primitives/dialog/dialog-title.svelte +1 -1
  237. package/src/lib/components/primitives/drawer/Drawer.svelte +1 -1
  238. package/src/lib/components/primitives/dropdown-menu/dropdown-menu-checkbox-item.svelte +32 -12
  239. package/src/lib/components/primitives/dropdown-menu/dropdown-menu-content.svelte +6 -2
  240. package/src/lib/components/primitives/dropdown-menu/dropdown-menu-group-heading.svelte +1 -1
  241. package/src/lib/components/primitives/dropdown-menu/dropdown-menu-item.svelte +5 -3
  242. package/src/lib/components/primitives/dropdown-menu/dropdown-menu-label.svelte +1 -1
  243. package/src/lib/components/primitives/dropdown-menu/dropdown-menu-radio-item.svelte +2 -2
  244. package/src/lib/components/primitives/dropdown-menu/dropdown-menu-separator.svelte +1 -1
  245. package/src/lib/components/primitives/dropdown-menu/dropdown-menu-shortcut.svelte +2 -2
  246. package/src/lib/components/primitives/dropdown-menu/dropdown-menu-sub-content.svelte +2 -2
  247. package/src/lib/components/primitives/dropdown-menu/dropdown-menu-sub-trigger.svelte +2 -2
  248. package/src/lib/components/primitives/empty/empty-content.svelte +1 -1
  249. package/src/lib/components/primitives/empty/empty-description.svelte +1 -1
  250. package/src/lib/components/primitives/empty/empty-header.svelte +1 -1
  251. package/src/lib/components/primitives/empty/empty-media.svelte +1 -1
  252. package/src/lib/components/primitives/empty/empty-title.svelte +1 -1
  253. package/src/lib/components/primitives/empty/empty.svelte +1 -1
  254. package/src/lib/components/primitives/field/field-content.svelte +1 -1
  255. package/src/lib/components/primitives/field/field-description.svelte +1 -1
  256. package/src/lib/components/primitives/field/field-error.svelte +1 -1
  257. package/src/lib/components/primitives/field/field-group.svelte +1 -1
  258. package/src/lib/components/primitives/field/field-label.svelte +2 -2
  259. package/src/lib/components/primitives/field/field-legend.svelte +1 -1
  260. package/src/lib/components/primitives/field/field-separator.svelte +2 -2
  261. package/src/lib/components/primitives/field/field-set.svelte +1 -1
  262. package/src/lib/components/primitives/field/field-title.svelte +1 -1
  263. package/src/lib/components/primitives/field/field.svelte +1 -1
  264. package/src/lib/components/primitives/index.ts +1 -1
  265. package/src/lib/components/primitives/input/input.svelte +3 -3
  266. package/src/lib/components/primitives/input-group/input-group-addon.svelte +1 -1
  267. package/src/lib/components/primitives/input-group/input-group-button.svelte +2 -2
  268. package/src/lib/components/primitives/input-group/input-group-input.svelte +2 -2
  269. package/src/lib/components/primitives/input-group/input-group-text.svelte +1 -1
  270. package/src/lib/components/primitives/input-group/input-group-textarea.svelte +2 -2
  271. package/src/lib/components/primitives/input-group/input-group.svelte +2 -2
  272. package/src/lib/components/primitives/label/label.svelte +1 -1
  273. package/src/lib/components/primitives/mode-toggle/mode-toggle.svelte +2 -2
  274. package/src/lib/components/primitives/popover/popover-content.svelte +2 -2
  275. package/src/lib/components/primitives/popover/popover-description.svelte +1 -1
  276. package/src/lib/components/primitives/popover/popover-header.svelte +1 -1
  277. package/src/lib/components/primitives/popover/popover-title.svelte +1 -1
  278. package/src/lib/components/primitives/popover/popover-trigger.svelte +1 -1
  279. package/src/lib/components/primitives/resizable/resizable-handle.svelte +3 -3
  280. package/src/lib/components/primitives/resizable/resizable-pane-group.svelte +1 -1
  281. package/src/lib/components/primitives/scroll-area/scroll-area-scrollbar.svelte +1 -1
  282. package/src/lib/components/primitives/scroll-area/scroll-area.svelte +1 -1
  283. package/src/lib/components/primitives/search/search.svelte +2 -2
  284. package/src/lib/components/primitives/select/select-content.svelte +2 -2
  285. package/src/lib/components/primitives/select/select-group-heading.svelte +1 -1
  286. package/src/lib/components/primitives/select/select-item.svelte +2 -2
  287. package/src/lib/components/primitives/select/select-label.svelte +1 -1
  288. package/src/lib/components/primitives/select/select-scroll-down-button.svelte +1 -1
  289. package/src/lib/components/primitives/select/select-scroll-up-button.svelte +1 -1
  290. package/src/lib/components/primitives/select/select-separator.svelte +2 -2
  291. package/src/lib/components/primitives/select/select-trigger.svelte +2 -2
  292. package/src/lib/components/primitives/separator/separator.svelte +1 -1
  293. package/src/lib/components/primitives/slider/slider.svelte +2 -2
  294. package/src/lib/components/primitives/spinner/spinner.svelte +1 -1
  295. package/src/lib/components/primitives/switch/switch.svelte +2 -2
  296. package/src/lib/components/primitives/tabs/tabs-content.svelte +1 -1
  297. package/src/lib/components/primitives/tabs/tabs-list.svelte +3 -3
  298. package/src/lib/components/primitives/tabs/tabs-trigger.svelte +3 -3
  299. package/src/lib/components/primitives/tabs/tabs.svelte +1 -1
  300. package/src/lib/components/primitives/textarea/textarea.svelte +2 -2
  301. package/src/lib/components/primitives/toggle/toggle.svelte +9 -3
  302. package/src/lib/components/primitives/toggle-group/toggle-group-item.svelte +3 -3
  303. package/src/lib/components/primitives/toggle-group/toggle-group.svelte +3 -3
  304. package/src/lib/components/primitives/tooltip/index.ts +19 -0
  305. package/src/lib/components/primitives/tooltip/tooltip-content.svelte +34 -0
  306. package/src/lib/components/primitives/tooltip/tooltip-portal.svelte +7 -0
  307. package/src/lib/components/primitives/tooltip/tooltip-provider.svelte +7 -0
  308. package/src/lib/components/primitives/tooltip/tooltip-trigger.svelte +7 -0
  309. package/src/lib/components/primitives/tooltip/tooltip.svelte +7 -0
  310. package/src/lib/components/viewer/MeshMetadataPanel.svelte +2 -2
  311. package/src/lib/components/viewer/SceneManager.svelte +32 -21
  312. package/src/lib/components/viewer/Viewer.svelte +129 -179
  313. package/src/lib/components/viewer/ViewerDock.svelte +452 -0
  314. package/src/lib/composables/useFooterItem.svelte.ts +1 -1
  315. package/src/lib/compute/liveProgress.svelte.ts +103 -0
  316. package/src/lib/compute/solving.svelte.ts +56 -55
  317. package/src/lib/constants.ts +8 -11
  318. package/src/lib/contexts/hostContext.svelte.ts +1 -1
  319. package/src/lib/features/chart/plotly-compat.ts +141 -0
  320. package/src/lib/i18n/messages.ts +43 -0
  321. package/src/lib/index.ts +2 -0
  322. package/src/lib/public.ts +1 -0
  323. package/src/lib/schema/visibility-rules.ts +27 -1
  324. package/src/lib/styles/base.css +100 -86
  325. package/src/lib/utils/color-space.ts +107 -0
  326. package/dist/components/primitives/theme-switcher/ThemeSwitcher.svelte +0 -39
  327. package/dist/components/primitives/theme-switcher/ThemeSwitcher.svelte.d.ts +0 -3
  328. package/dist/components/primitives/theme-switcher/index.d.ts +0 -1
  329. package/dist/components/primitives/theme-switcher/index.js +0 -1
  330. package/dist/styles/themes/cyberpunk.css +0 -98
  331. package/dist/styles/themes/neutral.css +0 -72
  332. package/dist/styles/themes/ocean.css +0 -75
  333. package/dist/styles/themes/selva.css +0 -105
  334. package/dist/theme/themeStore.svelte.d.ts +0 -12
  335. package/dist/theme/themeStore.svelte.js +0 -40
  336. package/dist/theme/themes.d.ts +0 -5
  337. package/dist/theme/themes.js +0 -13
  338. package/src/lib/components/primitives/theme-switcher/ThemeSwitcher.svelte +0 -39
  339. package/src/lib/components/primitives/theme-switcher/index.ts +0 -1
  340. package/src/lib/styles/themes/cyberpunk.css +0 -98
  341. package/src/lib/styles/themes/neutral.css +0 -72
  342. package/src/lib/styles/themes/ocean.css +0 -75
  343. package/src/lib/styles/themes/selva.css +0 -105
  344. package/src/lib/theme/themeStore.svelte.ts +0 -50
  345. package/src/lib/theme/themes.ts +0 -18
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { DropdownMenu as DropdownMenuPrimitive } from 'bits-ui';
3
- import { cn, type WithoutChildrenOrChild } from '$lib/utils.js';
3
+ import { cn, type WithoutChildrenOrChild } from '#lib/utils.js';
4
4
  import DropdownMenuPortal from './dropdown-menu-portal.svelte';
5
5
  import type { ComponentProps } from 'svelte';
6
6
 
@@ -9,10 +9,13 @@
9
9
  sideOffset = 4,
10
10
  align = 'start',
11
11
  portalProps,
12
+ variant = 'default',
12
13
  class: className,
13
14
  ...restProps
14
15
  }: DropdownMenuPrimitive.ContentProps & {
15
16
  portalProps?: WithoutChildrenOrChild<ComponentProps<typeof DropdownMenuPortal>>;
17
+ /** `glass` is the translucent blurred surface used over the 3D viewer. */
18
+ variant?: 'default' | 'glass';
16
19
  } = $props();
17
20
  </script>
18
21
 
@@ -23,7 +26,8 @@
23
26
  {sideOffset}
24
27
  {align}
25
28
  class={cn(
26
- 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 min-w-32 p-1 shadow-md z-50 max-h-(--bits-dropdown-menu-content-available-height) w-(--bits-dropdown-menu-anchor-width) origin-(--bits-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground ring-1 ring-foreground/10 duration-100 data-[state=closed]:overflow-hidden',
29
+ 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 min-w-32 p-1 z-50 max-h-(--bits-dropdown-menu-content-available-height) w-(--bits-dropdown-menu-anchor-width) origin-(--bits-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-popover ring-1 ring-border-strong duration-100 data-[state=closed]:overflow-hidden',
30
+ variant === 'glass' && 'backdrop-blur-md bg-popover/70',
27
31
  className
28
32
  )}
29
33
  {...restProps}
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { DropdownMenu as DropdownMenuPrimitive } from 'bits-ui';
3
- import { cn } from '$lib/utils.js';
3
+ import { cn } from '#lib/utils.js';
4
4
  import type { ComponentProps } from 'svelte';
5
5
 
6
6
  let {
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { DropdownMenu as DropdownMenuPrimitive } from 'bits-ui';
3
- import { cn } from '$lib/utils.js';
3
+ import { cn } from '#lib/utils.js';
4
4
 
5
5
  let {
6
6
  ref = $bindable(null),
@@ -10,7 +10,8 @@
10
10
  ...restProps
11
11
  }: DropdownMenuPrimitive.ItemProps & {
12
12
  inset?: boolean;
13
- variant?: 'default' | 'destructive';
13
+ /** `chip` is a centered bordered cell for compact grids. */
14
+ variant?: 'default' | 'destructive' | 'chip';
14
15
  } = $props();
15
16
  </script>
16
17
 
@@ -20,7 +21,8 @@
20
21
  data-inset={inset}
21
22
  data-variant={variant}
22
23
  class={cn(
23
- "gap-1.5 px-1.5 py-1 text-sm data-inset:pl-7 [&_svg:not([class*='size-'])]:size-4 group/dropdown-menu-item relative flex cursor-default items-center rounded-md outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 data-[variant=destructive]:*:[svg]:text-destructive",
24
+ "gap-1.5 px-1.5 py-1 pointer-coarse:py-2.5 text-sm data-inset:pl-7 [&_svg:not([class*='size-'])]:size-4 group/dropdown-menu-item relative flex cursor-default items-center rounded-inner outline-hidden select-none focus:bg-hover focus:text-foreground not-data-[variant=destructive]:focus:**:text-foreground data-disabled:pointer-events-none data-disabled:opacity-50 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 data-[variant=destructive]:*:[svg]:text-destructive",
25
+ variant === 'chip' && 'px-1 py-1.5 pointer-coarse:py-3 text-xs justify-center border',
24
26
  className
25
27
  )}
26
28
  {...restProps}
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { cn, type WithElementRef } from '$lib/utils.js';
2
+ import { cn, type WithElementRef } from '#lib/utils.js';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
4
 
5
5
  let {
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { DropdownMenu as DropdownMenuPrimitive } from 'bits-ui';
3
3
  import CheckIcon from '@lucide/svelte/icons/check';
4
- import { cn, type WithoutChild } from '$lib/utils.js';
4
+ import { cn, type WithoutChild } from '#lib/utils.js';
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -17,7 +17,7 @@
17
17
  {closeOnSelect}
18
18
  data-slot="dropdown-menu-radio-item"
19
19
  class={cn(
20
- "gap-1.5 py-1 pr-8 pl-1.5 text-sm data-inset:pl-7 [&_svg:not([class*='size-'])]:size-4 relative flex cursor-default items-center rounded-md outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
20
+ "gap-1.5 py-1 pointer-coarse:py-2.5 pr-8 pl-1.5 text-sm data-inset:pl-7 [&_svg:not([class*='size-'])]:size-4 relative flex cursor-default items-center rounded-inner outline-hidden select-none focus:bg-hover focus:text-foreground focus:**:text-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
21
21
  className
22
22
  )}
23
23
  {...restProps}
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { DropdownMenu as DropdownMenuPrimitive } from 'bits-ui';
3
- import { cn } from '$lib/utils.js';
3
+ import { cn } from '#lib/utils.js';
4
4
 
5
5
  let {
6
6
  ref = $bindable(null),
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { cn, type WithElementRef } from '$lib/utils.js';
2
+ import { cn, type WithElementRef } from '#lib/utils.js';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
4
 
5
5
  let {
@@ -14,7 +14,7 @@
14
14
  bind:this={ref}
15
15
  data-slot="dropdown-menu-shortcut"
16
16
  class={cn(
17
- 'text-xs tracking-widest ml-auto text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground',
17
+ 'h-5 min-w-5 px-1 font-mono ml-auto inline-flex items-center justify-center rounded-sm border bg-muted text-2xs text-muted-foreground group-focus/dropdown-menu-item:text-foreground',
18
18
  className
19
19
  )}
20
20
  {...restProps}
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { DropdownMenu as DropdownMenuPrimitive } from 'bits-ui';
3
- import { cn, type WithoutChildrenOrChild } from '$lib/utils.js';
3
+ import { cn, type WithoutChildrenOrChild } from '#lib/utils.js';
4
4
  import DropdownMenuPortal from './dropdown-menu-portal.svelte';
5
5
  import type { ComponentProps } from 'svelte';
6
6
 
@@ -23,7 +23,7 @@
23
23
  {align}
24
24
  {alignOffset}
25
25
  class={cn(
26
- 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 min-w-24 p-1 shadow-lg z-50 origin-(--bits-dropdown-menu-content-transform-origin) overflow-hidden rounded-lg bg-popover text-popover-foreground ring-1 ring-foreground/10 duration-100',
26
+ 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 min-w-24 p-1 z-50 origin-(--bits-dropdown-menu-content-transform-origin) overflow-hidden rounded-lg bg-popover text-popover-foreground shadow-popover ring-1 ring-border-strong duration-100',
27
27
  className
28
28
  )}
29
29
  {...restProps}
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { DropdownMenu as DropdownMenuPrimitive } from 'bits-ui';
3
3
  import ChevronRightIcon from '@lucide/svelte/icons/chevron-right';
4
- import { cn } from '$lib/utils.js';
4
+ import { cn } from '#lib/utils.js';
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -19,7 +19,7 @@
19
19
  data-slot="dropdown-menu-sub-trigger"
20
20
  data-inset={inset}
21
21
  class={cn(
22
- "gap-1.5 px-1.5 py-1 text-sm data-inset:pl-7 [&_svg:not([class*='size-'])]:size-4 flex cursor-default items-center rounded-md outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0",
22
+ "gap-1.5 px-1.5 py-1 text-sm data-inset:pl-7 [&_svg:not([class*='size-'])]:size-4 flex cursor-default items-center rounded-inner outline-hidden select-none focus:bg-hover focus:text-foreground not-data-[variant=destructive]:focus:**:text-foreground data-[state=open]:bg-selected data-[state=open]:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0",
23
23
  className
24
24
  )}
25
25
  {...restProps}
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { cn, type WithElementRef } from '$lib/utils.js';
2
+ import { cn, type WithElementRef } from '#lib/utils.js';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
4
 
5
5
  let {
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { cn, type WithElementRef } from '$lib/utils.js';
2
+ import { cn, type WithElementRef } from '#lib/utils.js';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
4
 
5
5
  let {
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { cn, type WithElementRef } from '$lib/utils.js';
2
+ import { cn, type WithElementRef } from '#lib/utils.js';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
4
 
5
5
  let {
@@ -18,7 +18,7 @@
18
18
  </script>
19
19
 
20
20
  <script lang="ts">
21
- import { cn, type WithElementRef } from '$lib/utils.js';
21
+ import { cn, type WithElementRef } from '#lib/utils.js';
22
22
  import type { HTMLAttributes } from 'svelte/elements';
23
23
 
24
24
  let {
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { cn, type WithElementRef } from '$lib/utils.js';
2
+ import { cn, type WithElementRef } from '#lib/utils.js';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
4
 
5
5
  let {
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { cn, type WithElementRef } from '$lib/utils.js';
2
+ import { cn, type WithElementRef } from '#lib/utils.js';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
4
 
5
5
  let {
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { cn, type WithElementRef } from '$lib/utils.js';
2
+ import { cn, type WithElementRef } from '#lib/utils.js';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
4
 
5
5
  let {
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { cn, type WithElementRef } from '$lib/utils.js';
2
+ import { cn, type WithElementRef } from '#lib/utils.js';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
4
 
5
5
  let {
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { cn, type WithElementRef } from '$lib/utils.js';
2
+ import { cn, type WithElementRef } from '#lib/utils.js';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
4
  import type { Snippet } from 'svelte';
5
5
 
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { cn, type WithElementRef } from '$lib/utils.js';
2
+ import { cn, type WithElementRef } from '#lib/utils.js';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
4
 
5
5
  let {
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
- import { Label } from '$lib/components/primitives/label/index.js';
3
- import { cn } from '$lib/utils.js';
2
+ import { Label } from '#lib/components/primitives/label/index.js';
3
+ import { cn } from '#lib/utils.js';
4
4
  import type { ComponentProps } from 'svelte';
5
5
 
6
6
  let {
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { cn, type WithElementRef } from '$lib/utils.js';
2
+ import { cn, type WithElementRef } from '#lib/utils.js';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
4
 
5
5
  let {
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
- import { Separator } from '$lib/components/primitives/separator/index.js';
3
- import { cn, type WithElementRef } from '$lib/utils.js';
2
+ import { Separator } from '#lib/components/primitives/separator/index.js';
3
+ import { cn, type WithElementRef } from '#lib/utils.js';
4
4
  import type { HTMLAttributes } from 'svelte/elements';
5
5
  import type { Snippet } from 'svelte';
6
6
 
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { cn, type WithElementRef } from '$lib/utils.js';
2
+ import { cn, type WithElementRef } from '#lib/utils.js';
3
3
  import type { HTMLFieldsetAttributes } from 'svelte/elements';
4
4
 
5
5
  let {
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { cn, type WithElementRef } from '$lib/utils.js';
2
+ import { cn, type WithElementRef } from '#lib/utils.js';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
4
 
5
5
  let {
@@ -27,7 +27,7 @@
27
27
  </script>
28
28
 
29
29
  <script lang="ts">
30
- import { cn, type WithElementRef } from '$lib/utils.js';
30
+ import { cn, type WithElementRef } from '#lib/utils.js';
31
31
  import type { HTMLAttributes } from 'svelte/elements';
32
32
 
33
33
  let {
@@ -22,6 +22,7 @@ export * as AlertDialog from './alert-dialog';
22
22
  export * as ContextMenu from './context-menu';
23
23
  export * as DropdownMenu from './dropdown-menu';
24
24
  export * as Popover from './popover';
25
+ export * as Tooltip from './tooltip';
25
26
  export * as Command from './command';
26
27
  export * as ToggleGroup from './toggle-group';
27
28
  export * as Empty from './empty';
@@ -34,7 +35,6 @@ export * as Resizable from './resizable';
34
35
  export { Separator } from './separator';
35
36
  export { Switch } from './switch';
36
37
  export { Toaster, toast } from './sonner';
37
- export { ThemeSwitcher } from './theme-switcher';
38
38
 
39
39
  // Custom components (not replaced by shadcn)
40
40
  export { default as StateDisplay } from './StateDisplay.svelte';
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import type { HTMLInputAttributes, HTMLInputTypeAttribute } from 'svelte/elements';
3
- import { cn, type WithElementRef } from '$lib/utils.js';
3
+ import { cn, type WithElementRef } from '#lib/utils.js';
4
4
 
5
5
  type InputType = Exclude<HTMLInputTypeAttribute, 'file'>;
6
6
 
@@ -25,7 +25,7 @@
25
25
  bind:this={ref}
26
26
  data-slot={dataSlot}
27
27
  class={cn(
28
- 'h-9 min-w-0 px-3 pt-1.5 text-sm font-medium shadow-xs flex w-full rounded-md border border-input bg-transparent ring-offset-background transition outline-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 dark:bg-input/30',
28
+ 'h-9 min-w-0 px-3 pt-1.5 text-sm font-medium shadow-xs flex w-full rounded-md border border-input bg-field ring-offset-background transition outline-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50',
29
29
  'focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring',
30
30
  'aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40',
31
31
  className
@@ -40,7 +40,7 @@
40
40
  bind:this={ref}
41
41
  data-slot={dataSlot}
42
42
  class={cn(
43
- 'h-9 min-w-0 px-3 py-1 text-base shadow-xs md:text-sm flex w-full rounded-md border border-input bg-background ring-offset-background transition outline-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 dark:bg-input/30',
43
+ 'h-9 min-w-0 px-3 py-1 text-base shadow-xs md:text-sm flex w-full rounded-md border border-input bg-field ring-offset-background transition outline-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50',
44
44
  'focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring',
45
45
  'aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40',
46
46
  className
@@ -21,7 +21,7 @@
21
21
  </script>
22
22
 
23
23
  <script lang="ts">
24
- import { cn, type WithElementRef } from '$lib/utils.js';
24
+ import { cn, type WithElementRef } from '#lib/utils.js';
25
25
  import type { HTMLAttributes } from 'svelte/elements';
26
26
 
27
27
  let {
@@ -20,8 +20,8 @@
20
20
  </script>
21
21
 
22
22
  <script lang="ts">
23
- import { Button } from '$lib/components/primitives/button/index.js';
24
- import { cn } from '$lib/utils.js';
23
+ import { Button } from '#lib/components/primitives/button/index.js';
24
+ import { cn } from '#lib/utils.js';
25
25
  import type { ComponentProps } from 'svelte';
26
26
 
27
27
  let {
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
- import { Input } from '$lib/components/primitives/input/index.js';
3
- import { cn } from '$lib/utils.js';
2
+ import { Input } from '#lib/components/primitives/input/index.js';
3
+ import { cn } from '#lib/utils.js';
4
4
  import type { ComponentProps } from 'svelte';
5
5
 
6
6
  let {
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { cn, type WithElementRef } from '$lib/utils.js';
2
+ import { cn, type WithElementRef } from '#lib/utils.js';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
4
 
5
5
  let {
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
- import { Textarea } from '$lib/components/primitives/textarea/index.js';
3
- import { cn } from '$lib/utils.js';
2
+ import { Textarea } from '#lib/components/primitives/textarea/index.js';
3
+ import { cn } from '#lib/utils.js';
4
4
  import type { ComponentProps } from 'svelte';
5
5
 
6
6
  let {
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { cn, type WithElementRef } from '$lib/utils.js';
2
+ import { cn, type WithElementRef } from '#lib/utils.js';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
4
 
5
5
  let {
@@ -15,7 +15,7 @@
15
15
  data-slot="input-group"
16
16
  role="group"
17
17
  class={cn(
18
- 'group/input-group h-9 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5 min-w-0 shadow-xs relative flex w-full items-center rounded-md border border-input bg-background transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40',
18
+ 'group/input-group h-9 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5 min-w-0 shadow-xs relative flex w-full items-center rounded-md border border-input bg-field transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-muted has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40',
19
19
  className
20
20
  )}
21
21
  {...props}
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { Label as LabelPrimitive } from 'bits-ui';
3
- import { cn } from '$lib/utils.js';
3
+ import { cn } from '#lib/utils.js';
4
4
 
5
5
  let {
6
6
  ref = $bindable(null),
@@ -2,8 +2,8 @@
2
2
  import Sun from '@lucide/svelte/icons/sun';
3
3
  import Moon from '@lucide/svelte/icons/moon';
4
4
  import { toggleMode } from 'mode-watcher';
5
- import { Button } from '$lib/components/primitives/button';
6
- import { getLocaleContext } from '$lib/i18n/localeContext.svelte';
5
+ import { Button } from '#lib/components/primitives/button/index.js';
6
+ import { getLocaleContext } from '#lib/i18n/localeContext.svelte.js';
7
7
 
8
8
  const locale = getLocaleContext();
9
9
  </script>
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { Popover as PopoverPrimitive } from 'bits-ui';
3
- import { cn, type WithoutChildrenOrChild } from '$lib/utils.js';
3
+ import { cn, type WithoutChildrenOrChild } from '#lib/utils.js';
4
4
  import PopoverPortal from './popover-portal.svelte';
5
5
  import type { ComponentProps } from 'svelte';
6
6
 
@@ -23,7 +23,7 @@
23
23
  {sideOffset}
24
24
  {align}
25
25
  class={cn(
26
- 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 gap-2.5 p-2.5 text-sm shadow-md w-72 z-50 flex origin-(--bits-popover-content-transform-origin) flex-col rounded-lg bg-popover text-popover-foreground ring-1 ring-foreground/10 outline-hidden duration-100',
26
+ 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 gap-2.5 p-2.5 text-sm w-72 z-50 flex origin-(--bits-popover-content-transform-origin) flex-col rounded-lg bg-popover text-popover-foreground shadow-popover ring-1 ring-border-strong outline-hidden duration-100',
27
27
  className
28
28
  )}
29
29
  {...restProps}
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { cn, type WithElementRef } from '$lib/utils.js';
2
+ import { cn, type WithElementRef } from '#lib/utils.js';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
4
 
5
5
  let {
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { cn, type WithElementRef } from '$lib/utils.js';
2
+ import { cn, type WithElementRef } from '#lib/utils.js';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
4
 
5
5
  let {
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { cn, type WithElementRef } from '$lib/utils.js';
2
+ import { cn, type WithElementRef } from '#lib/utils.js';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
4
 
5
5
  let {
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { Popover as PopoverPrimitive } from 'bits-ui';
3
- import { cn } from '$lib/utils.js';
3
+ import { cn } from '#lib/utils.js';
4
4
 
5
5
  let {
6
6
  ref = $bindable(null),
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import * as ResizablePrimitive from 'paneforge';
3
- import { cn, type WithoutChildrenOrChild } from '$lib/utils.js';
3
+ import { cn, type WithoutChildrenOrChild } from '#lib/utils.js';
4
4
 
5
5
  let {
6
6
  ref = $bindable(null),
@@ -20,14 +20,14 @@
20
20
  data-slot="resizable-handle"
21
21
  class={cn(
22
22
  'group/handle after:inset-y-0 after:w-1 data-[direction=vertical]:after:left-0 data-[direction=vertical]:after:h-1 data-[direction=vertical]:after:translate-x-0 relative flex w-px items-center justify-center after:absolute after:left-1/2 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:outline-hidden data-[direction=vertical]:h-px data-[direction=vertical]:w-full data-[direction=vertical]:after:w-full data-[direction=vertical]:after:-translate-y-1/2 [&[data-direction=vertical]>div]:rotate-90',
23
- line ? 'bg-border' : 'bg-transparent',
23
+ line ? 'bg-border' : 'w-3 data-[direction=vertical]:h-3 bg-transparent',
24
24
  className
25
25
  )}
26
26
  {...restProps}
27
27
  >
28
28
  {#if withHandle}
29
29
  <div
30
- class="h-10 w-1 z-10 flex shrink-0 rounded-lg bg-border transition duration-150 group-hover/handle:scale-y-110 group-hover/handle:bg-foreground/40 group-active/handle:bg-foreground/60"
30
+ class="h-8 w-0.75 group-hover/handle:h-12 z-10 flex shrink-0 rounded-full bg-border-strong transition duration-150 group-hover/handle:bg-input group-active/handle:bg-muted-foreground"
31
31
  ></div>
32
32
  {/if}
33
33
  </ResizablePrimitive.PaneResizer>
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import * as ResizablePrimitive from 'paneforge';
3
- import { cn } from '$lib/utils.js';
3
+ import { cn } from '#lib/utils.js';
4
4
 
5
5
  let {
6
6
  ref = $bindable(null),
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { ScrollArea as ScrollAreaPrimitive } from 'bits-ui';
3
- import { cn, type WithoutChild } from '$lib/utils.js';
3
+ import { cn, type WithoutChild } from '#lib/utils.js';
4
4
 
5
5
  let {
6
6
  ref = $bindable(null),
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { ScrollArea as ScrollAreaPrimitive } from 'bits-ui';
3
3
  import { Scrollbar } from './index.js';
4
- import { cn, type WithoutChild } from '$lib/utils.js';
4
+ import { cn, type WithoutChild } from '#lib/utils.js';
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -2,7 +2,7 @@
2
2
  import type { Snippet } from 'svelte';
3
3
  import type { HTMLInputAttributes } from 'svelte/elements';
4
4
  import { Search as SearchIcon, X as XIcon } from '@lucide/svelte';
5
- import { cn, type WithElementRef } from '$lib/utils.js';
5
+ import { cn, type WithElementRef } from '#lib/utils.js';
6
6
 
7
7
  type Props = WithElementRef<
8
8
  Omit<HTMLInputAttributes, 'type'> & {
@@ -45,7 +45,7 @@
45
45
  {placeholder}
46
46
  data-slot="input"
47
47
  class={cn(
48
- 'h-9 min-w-0 px-3 py-1 text-base shadow-xs md:text-sm flex w-full rounded-md border border-input bg-background ring-offset-background transition outline-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 dark:bg-input/30',
48
+ 'h-9 min-w-0 px-3 py-1 text-base shadow-xs md:text-sm flex w-full rounded-md border border-input bg-field ring-offset-background transition outline-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50',
49
49
  'focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring',
50
50
  'aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40',
51
51
  'pl-9 pr-12',
@@ -2,7 +2,7 @@
2
2
  import { Select as SelectPrimitive } from 'bits-ui';
3
3
  import SelectScrollUpButton from './select-scroll-up-button.svelte';
4
4
  import SelectScrollDownButton from './select-scroll-down-button.svelte';
5
- import { cn, type WithoutChild } from '$lib/utils.js';
5
+ import { cn, type WithoutChild } from '#lib/utils.js';
6
6
 
7
7
  let {
8
8
  ref = $bindable(null),
@@ -22,7 +22,7 @@
22
22
  {sideOffset}
23
23
  data-slot="select-content"
24
24
  class={cn(
25
- 'shadow-md data-[side=bottom]:translate-y-1 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:-translate-x-1 data-[side=left]:slide-in-from-right-2 data-[side=right]:translate-x-1 data-[side=right]:slide-in-from-left-2 data-[side=top]:-translate-y-1 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 min-w-32 relative z-50 max-h-(--bits-select-content-available-height) origin-(--bits-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground',
25
+ 'data-[side=bottom]:translate-y-1 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:-translate-x-1 data-[side=left]:slide-in-from-right-2 data-[side=right]:translate-x-1 data-[side=right]:slide-in-from-left-2 data-[side=top]:-translate-y-1 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 min-w-32 max-h-96 relative z-50 origin-(--bits-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg border border-border-strong bg-popover text-popover-foreground shadow-popover',
26
26
  className
27
27
  )}
28
28
  {...restProps}
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { Select as SelectPrimitive } from 'bits-ui';
3
- import { cn } from '$lib/utils.js';
3
+ import { cn } from '#lib/utils.js';
4
4
  import type { ComponentProps } from 'svelte';
5
5
 
6
6
  let {
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import CheckIcon from '@lucide/svelte/icons/check';
3
3
  import { Select as SelectPrimitive } from 'bits-ui';
4
- import { cn, type WithoutChild } from '$lib/utils.js';
4
+ import { cn, type WithoutChild } from '#lib/utils.js';
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -18,7 +18,7 @@
18
18
  {value}
19
19
  data-slot="select-item"
20
20
  class={cn(
21
- "gap-2 py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 *:[span]:last:gap-2 relative flex w-full cursor-default items-center rounded-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center",
21
+ "gap-2 py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 *:[span]:last:gap-2 relative flex w-full cursor-default items-center rounded-inner outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[highlighted]:bg-hover data-[highlighted]:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center",
22
22
  className
23
23
  )}
24
24
  {...restProps}