rimecms 0.26.6 → 0.26.8

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 (282) hide show
  1. package/dist/adapter-sqlite/where.js +7 -1
  2. package/dist/core/areas/api/get.server.js +6 -2
  3. package/dist/core/collections/nested/hooks/index.server.js +3 -1
  4. package/dist/core/collections/upload/upload.d.ts +8 -8
  5. package/dist/core/collections/upload/util/path.js +2 -1
  6. package/dist/core/config/types.d.ts +1 -1
  7. package/dist/core/dev/generate/sanitize/index.js +707 -707
  8. package/dist/core/errors/handler.server.js +3 -3
  9. package/dist/core/fields/util.js +2 -1
  10. package/dist/core/i18n/en/common.js +60 -60
  11. package/dist/core/i18n/en/errors.js +13 -12
  12. package/dist/core/i18n/en/fields.js +11 -11
  13. package/dist/core/i18n/en/mail.js +2 -2
  14. package/dist/core/i18n/fr/common.js +64 -64
  15. package/dist/core/i18n/fr/errors.js +11 -11
  16. package/dist/core/i18n/fr/fields.js +11 -11
  17. package/dist/core/i18n/fr/mail.js +2 -2
  18. package/dist/core/logger/index.server.js +136 -136
  19. package/dist/core/operations/hooks/before-upsert/validate-fields.server.js +5 -5
  20. package/dist/core/plugins/cache/HeaderButton.svelte +11 -11
  21. package/dist/fields/blocks/component/AddBlockButton.svelte +161 -161
  22. package/dist/fields/blocks/component/Block.svelte +157 -157
  23. package/dist/fields/blocks/component/BlockActions.svelte +36 -36
  24. package/dist/fields/blocks/component/Blocks.svelte +154 -154
  25. package/dist/fields/blocks/component/Cell.svelte +12 -12
  26. package/dist/fields/blocks/component/ToggleBlockButton.svelte +11 -11
  27. package/dist/fields/checkbox/component/Checkbox.svelte +51 -51
  28. package/dist/fields/combobox/component/ComboBox.svelte +88 -88
  29. package/dist/fields/combobox/component/combobox.css +24 -24
  30. package/dist/fields/date/component/Cell.svelte +5 -5
  31. package/dist/fields/date/component/Date.svelte +92 -92
  32. package/dist/fields/email/component/Email.svelte +58 -58
  33. package/dist/fields/group/component/Group.svelte +131 -131
  34. package/dist/fields/link/component/Cell.svelte +9 -9
  35. package/dist/fields/link/component/Link.svelte +269 -269
  36. package/dist/fields/link/component/RessourceInput.svelte +183 -183
  37. package/dist/fields/number/component/Number.svelte +118 -118
  38. package/dist/fields/number/component/number.css +52 -52
  39. package/dist/fields/radio/component/Radio.svelte +56 -53
  40. package/dist/fields/relation/component/Cell.svelte +51 -51
  41. package/dist/fields/relation/component/Relation.svelte +226 -227
  42. package/dist/fields/relation/component/default/Default.svelte +218 -218
  43. package/dist/fields/relation/component/upload/Browse.svelte +227 -227
  44. package/dist/fields/relation/component/upload/Upload.svelte +112 -112
  45. package/dist/fields/relation/component/upload/upload.css +72 -72
  46. package/dist/fields/rich-text/component/Cell.svelte +5 -5
  47. package/dist/fields/rich-text/component/RichText.svelte +95 -95
  48. package/dist/fields/rich-text/component/bubble-menu/bubble-menu.css +15 -15
  49. package/dist/fields/rich-text/component/bubble-menu/bubble-menu.svelte +148 -148
  50. package/dist/fields/rich-text/component/bubble-menu/icon-button/icon-button.css +10 -10
  51. package/dist/fields/rich-text/component/bubble-menu/icon-button/icon-button.svelte +23 -17
  52. package/dist/fields/rich-text/component/bubble-menu/node-selector/node-selector.css +37 -37
  53. package/dist/fields/rich-text/component/bubble-menu/node-selector/node-selector.svelte +93 -89
  54. package/dist/fields/rich-text/component/drag-handle/drag-handle.css +12 -12
  55. package/dist/fields/rich-text/component/drag-handle/drag-handle.svelte +27 -27
  56. package/dist/fields/rich-text/component/styles/rich-text.css +142 -142
  57. package/dist/fields/rich-text/component/suggestion/suggestion.svelte +79 -79
  58. package/dist/fields/rich-text/core/extensions/current-node/current-node.css +3 -3
  59. package/dist/fields/rich-text/core/extensions/drag-handle/drag-handle.js +10 -7
  60. package/dist/fields/rich-text/core/extensions/drag-handle/helpers/cloneElement.js +4 -1
  61. package/dist/fields/rich-text/core/extensions/drag-handle/helpers/dragHandler.js +4 -4
  62. package/dist/fields/rich-text/core/extensions/drag-handle/helpers/findNextElementFromCursor.js +4 -4
  63. package/dist/fields/rich-text/core/extensions/drag-handle/helpers/getInnerCoords.js +1 -1
  64. package/dist/fields/rich-text/core/features/fields/fields.css +16 -16
  65. package/dist/fields/rich-text/core/features/fields/fields.svelte +50 -50
  66. package/dist/fields/rich-text/core/features/hr/hr.css +15 -15
  67. package/dist/fields/rich-text/core/features/link/component/link-selector.css +2 -2
  68. package/dist/fields/rich-text/core/features/link/component/link-selector.svelte +266 -266
  69. package/dist/fields/rich-text/core/features/resource/resource.svelte +135 -138
  70. package/dist/fields/rich-text/core/features/upload/upload.svelte +231 -235
  71. package/dist/fields/rich-text/core/render-rich-text.svelte +162 -162
  72. package/dist/fields/rich-text/core/svelte/node-view-wrapper.svelte +25 -18
  73. package/dist/fields/rich-text/util.js +2 -1
  74. package/dist/fields/select/component/Select.svelte +194 -194
  75. package/dist/fields/separator/component/Separator.svelte +5 -5
  76. package/dist/fields/slug/component/Cell.svelte +4 -4
  77. package/dist/fields/slug/component/Slug.svelte +99 -99
  78. package/dist/fields/tabs/component/Tabs.svelte +96 -96
  79. package/dist/fields/text/component/Text.svelte +54 -54
  80. package/dist/fields/textarea/component/TextArea.svelte +51 -51
  81. package/dist/fields/time/component/Time.svelte +44 -44
  82. package/dist/fields/toggle/component/Cell.svelte +10 -10
  83. package/dist/fields/toggle/component/Toggle.svelte +36 -36
  84. package/dist/fields/tree/component/AddItemButton.svelte +35 -29
  85. package/dist/fields/tree/component/Cell.svelte +12 -12
  86. package/dist/fields/tree/component/ToggleBlockButton.svelte +11 -11
  87. package/dist/fields/tree/component/Tree.svelte +150 -150
  88. package/dist/fields/tree/component/TreeBlock.svelte +174 -174
  89. package/dist/fields/tree/component/TreeBlockActions.svelte +13 -13
  90. package/dist/fields/tree/index.js +3 -2
  91. package/dist/live.d.ts +2 -2
  92. package/dist/live.js +2 -2
  93. package/dist/panel/components/Root.svelte +70 -70
  94. package/dist/panel/components/fields/Error.svelte +35 -35
  95. package/dist/panel/components/fields/FieldsPreview.svelte +71 -71
  96. package/dist/panel/components/fields/FieldsPreviewTrigger.svelte +11 -11
  97. package/dist/panel/components/fields/Hint.svelte +12 -12
  98. package/dist/panel/components/fields/Label.svelte +31 -26
  99. package/dist/panel/components/fields/LabelFor.svelte +26 -26
  100. package/dist/panel/components/fields/RenderFields.svelte +102 -102
  101. package/dist/panel/components/sections/auth/AuthForm.svelte +102 -102
  102. package/dist/panel/components/sections/collection/Empty.svelte +18 -18
  103. package/dist/panel/components/sections/collection/StatusDot.svelte +13 -13
  104. package/dist/panel/components/sections/collection/bulk-upload/BulkUploadDialog.svelte +30 -28
  105. package/dist/panel/components/sections/collection/bulk-upload/DropZone.svelte +176 -169
  106. package/dist/panel/components/sections/collection/folder/Folder.svelte +38 -38
  107. package/dist/panel/components/sections/collection/folder/FolderEdit.svelte +57 -57
  108. package/dist/panel/components/sections/collection/folder/FolderWithActions.svelte +223 -223
  109. package/dist/panel/components/sections/collection/grid/CollectionGrid.svelte +102 -102
  110. package/dist/panel/components/sections/collection/grid/create-directory-dialog/CreateDirectoryDialog.svelte +50 -50
  111. package/dist/panel/components/sections/collection/grid/grid-item/GridItem.svelte +56 -56
  112. package/dist/panel/components/sections/collection/header/ButtonCreate.svelte +29 -29
  113. package/dist/panel/components/sections/collection/header/DisplayMode.svelte +59 -59
  114. package/dist/panel/components/sections/collection/header/Header.svelte +11 -11
  115. package/dist/panel/components/sections/collection/header/SearchInput.svelte +41 -41
  116. package/dist/panel/components/sections/collection/header/SelectUI.svelte +51 -51
  117. package/dist/panel/components/sections/collection/header/Separator.svelte +4 -4
  118. package/dist/panel/components/sections/collection/list/CollectionList.svelte +46 -46
  119. package/dist/panel/components/sections/collection/list/header/Header.svelte +56 -56
  120. package/dist/panel/components/sections/collection/list/row/Row.svelte +115 -115
  121. package/dist/panel/components/sections/collection/tree/CollectionTree.svelte +139 -139
  122. package/dist/panel/components/sections/collection/tree/CollectionTreeNode.svelte +56 -56
  123. package/dist/panel/components/sections/collection/upload-thumb-cell/UploadThumbCell.svelte +64 -64
  124. package/dist/panel/components/sections/document/AuthAPIKeyDialog.svelte +66 -66
  125. package/dist/panel/components/sections/document/AuthFooter.svelte +81 -81
  126. package/dist/panel/components/sections/document/ButtonSave.svelte +34 -27
  127. package/dist/panel/components/sections/document/ButtonStatus.svelte +79 -79
  128. package/dist/panel/components/sections/document/CurrentlyEdited.svelte +36 -36
  129. package/dist/panel/components/sections/document/Document.svelte +223 -223
  130. package/dist/panel/components/sections/document/FloatingUI.svelte +69 -69
  131. package/dist/panel/components/sections/document/Header.svelte +105 -105
  132. package/dist/panel/components/sections/document/Settings.svelte +167 -167
  133. package/dist/panel/components/sections/document/Versions.svelte +89 -89
  134. package/dist/panel/components/sections/document/upload-header/UploadHeader.svelte +205 -205
  135. package/dist/panel/components/sections/document/upload-header/drop-zone/DropZone.svelte +141 -141
  136. package/dist/panel/components/sections/live/Consumer.svelte +14 -14
  137. package/dist/panel/components/sections/live/Provider.svelte +10 -10
  138. package/dist/panel/components/sections/live/SidePanel.svelte +56 -56
  139. package/dist/panel/components/sections/live/side-panel.css +10 -8
  140. package/dist/panel/components/sections/page-layout/Page.svelte +23 -23
  141. package/dist/panel/components/sections/unauthorized/Unauthorized.svelte +22 -22
  142. package/dist/panel/components/ui/breadcrumb/BreadCrumb.svelte +40 -40
  143. package/dist/panel/components/ui/button/button.svelte +226 -226
  144. package/dist/panel/components/ui/calendar/calendar-cell.svelte +6 -2
  145. package/dist/panel/components/ui/calendar/calendar-day.svelte +6 -2
  146. package/dist/panel/components/ui/calendar/calendar-grid-body.svelte +6 -2
  147. package/dist/panel/components/ui/calendar/calendar-grid-head.svelte +6 -2
  148. package/dist/panel/components/ui/calendar/calendar-grid-row.svelte +6 -2
  149. package/dist/panel/components/ui/calendar/calendar-grid.svelte +6 -2
  150. package/dist/panel/components/ui/calendar/calendar-head-cell.svelte +6 -2
  151. package/dist/panel/components/ui/calendar/calendar-header.svelte +6 -2
  152. package/dist/panel/components/ui/calendar/calendar-heading.svelte +6 -2
  153. package/dist/panel/components/ui/calendar/calendar-months.svelte +21 -16
  154. package/dist/panel/components/ui/calendar/calendar-next-button.svelte +13 -8
  155. package/dist/panel/components/ui/calendar/calendar-prev-button.svelte +13 -8
  156. package/dist/panel/components/ui/calendar/calendar.css +88 -88
  157. package/dist/panel/components/ui/calendar/calendar.svelte +50 -50
  158. package/dist/panel/components/ui/card/card-content.svelte +17 -12
  159. package/dist/panel/components/ui/card/card-description.svelte +14 -9
  160. package/dist/panel/components/ui/card/card-footer.svelte +17 -12
  161. package/dist/panel/components/ui/card/card-header.svelte +15 -10
  162. package/dist/panel/components/ui/card/card-title.svelte +25 -19
  163. package/dist/panel/components/ui/card/card.svelte +19 -14
  164. package/dist/panel/components/ui/card-document/card-document.svelte +73 -73
  165. package/dist/panel/components/ui/card-resource/card-resource.svelte +108 -108
  166. package/dist/panel/components/ui/checkbox/checkbox.css +28 -28
  167. package/dist/panel/components/ui/checkbox/checkbox.svelte +13 -13
  168. package/dist/panel/components/ui/command/command-dialog.css +24 -24
  169. package/dist/panel/components/ui/command/command-dialog.svelte +28 -18
  170. package/dist/panel/components/ui/command/command-empty.css +2 -2
  171. package/dist/panel/components/ui/command/command-empty.svelte +7 -3
  172. package/dist/panel/components/ui/command/command-group.css +20 -20
  173. package/dist/panel/components/ui/command/command-group.svelte +17 -17
  174. package/dist/panel/components/ui/command/command-input-select.svelte +50 -45
  175. package/dist/panel/components/ui/command/command-input.svelte +57 -57
  176. package/dist/panel/components/ui/command/command-item.css +18 -18
  177. package/dist/panel/components/ui/command/command-item.svelte +7 -3
  178. package/dist/panel/components/ui/command/command-list.css +4 -4
  179. package/dist/panel/components/ui/command/command-list.svelte +7 -3
  180. package/dist/panel/components/ui/command/command-separator.css +4 -4
  181. package/dist/panel/components/ui/command/command-separator.svelte +7 -3
  182. package/dist/panel/components/ui/command/command.css +5 -5
  183. package/dist/panel/components/ui/command/command.svelte +8 -8
  184. package/dist/panel/components/ui/context-menu/ContextMenu.svelte +10 -5
  185. package/dist/panel/components/ui/context-menu/ContextMenu.svelte.d.ts +2 -2
  186. package/dist/panel/components/ui/context-menu/ContextMenuItem.svelte +8 -8
  187. package/dist/panel/components/ui/context-menu/context-menu-item.css +20 -20
  188. package/dist/panel/components/ui/context-menu/context-menu.css +12 -12
  189. package/dist/panel/components/ui/dialog/dialog-content.css +45 -45
  190. package/dist/panel/components/ui/dialog/dialog-content.svelte +33 -33
  191. package/dist/panel/components/ui/dialog/dialog-description.css +2 -2
  192. package/dist/panel/components/ui/dialog/dialog-description.svelte +7 -3
  193. package/dist/panel/components/ui/dialog/dialog-footer.svelte +20 -20
  194. package/dist/panel/components/ui/dialog/dialog-header.svelte +22 -22
  195. package/dist/panel/components/ui/dialog/dialog-overlay.css +6 -6
  196. package/dist/panel/components/ui/dialog/dialog-overlay.svelte +7 -3
  197. package/dist/panel/components/ui/dialog/dialog-title.css +3 -3
  198. package/dist/panel/components/ui/dialog/dialog-title.svelte +7 -3
  199. package/dist/panel/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +55 -55
  200. package/dist/panel/components/ui/dropdown-menu/dropdown-menu-content.css +8 -8
  201. package/dist/panel/components/ui/dropdown-menu/dropdown-menu-content.svelte +14 -9
  202. package/dist/panel/components/ui/dropdown-menu/dropdown-menu-group-heading.css +5 -5
  203. package/dist/panel/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +10 -10
  204. package/dist/panel/components/ui/dropdown-menu/dropdown-menu-item.css +19 -19
  205. package/dist/panel/components/ui/dropdown-menu/dropdown-menu-item.svelte +9 -9
  206. package/dist/panel/components/ui/dropdown-menu/dropdown-menu-radio-item.css +17 -17
  207. package/dist/panel/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +17 -17
  208. package/dist/panel/components/ui/dropdown-menu/dropdown-menu-separator.css +3 -3
  209. package/dist/panel/components/ui/dropdown-menu/dropdown-menu-separator.svelte +12 -4
  210. package/dist/panel/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +6 -2
  211. package/dist/panel/components/ui/input/input.svelte +93 -93
  212. package/dist/panel/components/ui/label/label.css +7 -7
  213. package/dist/panel/components/ui/label/label.svelte +8 -8
  214. package/dist/panel/components/ui/language-switcher/LanguageSwitcher.svelte +48 -48
  215. package/dist/panel/components/ui/nav/Nav.svelte +151 -151
  216. package/dist/panel/components/ui/nav/NavGroup.svelte +85 -85
  217. package/dist/panel/components/ui/nav/NavItem.svelte +42 -42
  218. package/dist/panel/components/ui/nav/NavItemButton.svelte +39 -38
  219. package/dist/panel/components/ui/nav/NavItemButtonCaret.svelte +8 -8
  220. package/dist/panel/components/ui/nav/UserButton.svelte +90 -90
  221. package/dist/panel/components/ui/page-header/PageHeader.svelte +80 -80
  222. package/dist/panel/components/ui/pane/pane-resizer.svelte +12 -12
  223. package/dist/panel/components/ui/popover/popover-content.css +7 -7
  224. package/dist/panel/components/ui/popover/popover-content.svelte +16 -10
  225. package/dist/panel/components/ui/radio-group/radio-group-item.svelte +8 -7
  226. package/dist/panel/components/ui/radio-group/radio-group.css +23 -23
  227. package/dist/panel/components/ui/radio-group/radio-group.svelte +8 -8
  228. package/dist/panel/components/ui/radio-row-group/radio-row-group-item.svelte +9 -9
  229. package/dist/panel/components/ui/radio-row-group/radio-row-group.css +27 -27
  230. package/dist/panel/components/ui/radio-row-group/radio-row-group.svelte +14 -9
  231. package/dist/panel/components/ui/scroll-area/scroll-area-scrollbar.svelte +14 -14
  232. package/dist/panel/components/ui/scroll-area/scroll-area.css +21 -21
  233. package/dist/panel/components/ui/scroll-area/scroll-area.svelte +26 -26
  234. package/dist/panel/components/ui/separator/separator.svelte +25 -25
  235. package/dist/panel/components/ui/sheet/sheet-content.svelte +33 -33
  236. package/dist/panel/components/ui/sheet/sheet-description.svelte +6 -2
  237. package/dist/panel/components/ui/sheet/sheet-footer.svelte +10 -5
  238. package/dist/panel/components/ui/sheet/sheet-header.svelte +10 -5
  239. package/dist/panel/components/ui/sheet/sheet-overlay.svelte +7 -3
  240. package/dist/panel/components/ui/sheet/sheet-title.svelte +6 -2
  241. package/dist/panel/components/ui/sheet/sheet.css +81 -81
  242. package/dist/panel/components/ui/sheet/sheet.svelte +5 -5
  243. package/dist/panel/components/ui/sonner/sonner.css +12 -12
  244. package/dist/panel/components/ui/sonner/sonner.svelte +15 -15
  245. package/dist/panel/components/ui/spin-loader/SpinLoader.svelte +2 -2
  246. package/dist/panel/components/ui/spin-loader/spin-loader.css +10 -10
  247. package/dist/panel/components/ui/switch/switch.css +36 -36
  248. package/dist/panel/components/ui/switch/switch.svelte +9 -9
  249. package/dist/panel/components/ui/tabs/tabs-content.svelte +6 -2
  250. package/dist/panel/components/ui/tabs/tabs-list.svelte +2 -2
  251. package/dist/panel/components/ui/tabs/tabs-trigger.svelte +6 -2
  252. package/dist/panel/components/ui/tabs/tabs.css +47 -49
  253. package/dist/panel/components/ui/tabs/tabs.svelte +5 -5
  254. package/dist/panel/components/ui/tag/tag.svelte +49 -45
  255. package/dist/panel/components/ui/tooltip/tooltip-content.svelte +31 -31
  256. package/dist/panel/context/api-proxy.svelte.d.ts +12 -11
  257. package/dist/panel/context/api-proxy.svelte.js +6 -5
  258. package/dist/panel/pages/area/Area.svelte +17 -17
  259. package/dist/panel/pages/area/AreaVersionsDoc.svelte +19 -19
  260. package/dist/panel/pages/area/load.server.js +10 -2
  261. package/dist/panel/pages/auth/forgot-password/ForgotPassword.svelte +58 -54
  262. package/dist/panel/pages/auth/reset-password/ResetPassword.svelte +54 -54
  263. package/dist/panel/pages/auth/sign-in/SignIn.svelte +41 -41
  264. package/dist/panel/pages/collection/Collection.svelte +121 -121
  265. package/dist/panel/pages/collection/load.server.js +8 -2
  266. package/dist/panel/pages/collection-document/CollectionDocVersions.svelte +26 -26
  267. package/dist/panel/pages/collection-document/CollectionDocument.svelte +20 -20
  268. package/dist/panel/pages/collection-document/actions.server.js +3 -1
  269. package/dist/panel/pages/collection-document/load.server.js +4 -1
  270. package/dist/panel/pages/dashboard/Dashboard.svelte +109 -109
  271. package/dist/panel/pages/index.actions.server.js +1 -1
  272. package/dist/panel/pages/index.load.server.js +1 -1
  273. package/dist/panel/pages/live/Live.svelte +199 -192
  274. package/dist/panel/style/font.css +32 -32
  275. package/dist/panel/style/index.css +81 -81
  276. package/dist/panel/style/palette.css +27 -28
  277. package/dist/panel/style/radius.css +8 -8
  278. package/dist/panel/style/shadow.css +8 -8
  279. package/dist/panel/style/size.css +41 -41
  280. package/dist/panel/style/util.css +1 -1
  281. package/dist/util/cases.d.ts +1 -1
  282. package/package.json +5 -5
@@ -1,53 +1,53 @@
1
1
  <script lang="ts">
2
- import { page } from '$app/state';
3
- import * as Tooltip from '../tooltip';
4
- import { getConfigContext } from '../../../context/config.svelte.js';
5
- import type { Route } from '../../../types';
6
- import { File } from '@lucide/svelte';
7
- import NavItemButton from './NavItemButton.svelte';
2
+ import { page } from '$app/state';
3
+ import * as Tooltip from '../tooltip';
4
+ import { getConfigContext } from '../../../context/config.svelte.js';
5
+ import type { Route } from '../../../types';
6
+ import { File } from '@lucide/svelte';
7
+ import NavItemButton from './NavItemButton.svelte';
8
8
 
9
- type Props = {
10
- isCollapsed: boolean;
11
- route: Route;
12
- [x: string]: any;
13
- };
14
- const { isCollapsed, route, ...rest }: Props = $props();
9
+ type Props = {
10
+ isCollapsed: boolean;
11
+ route: Route;
12
+ [x: string]: any;
13
+ };
14
+ const { isCollapsed, route, ...rest }: Props = $props();
15
15
 
16
- const config = getConfigContext();
16
+ const config = getConfigContext();
17
17
 
18
- const RouteIcon = $derived(
19
- typeof route.icon === 'function' ? route.icon : config.raw.icons[route.icon] || File
20
- );
18
+ const RouteIcon = $derived(
19
+ typeof route.icon === 'function' ? route.icon : config.raw.icons[route.icon] || File
20
+ );
21
21
 
22
- let pathname = page.url.pathname;
22
+ let pathname = page.url.pathname;
23
23
 
24
- let active = $derived.by(() => {
25
- const routePathname = new URL(route.url).pathname;
26
- if (routePathname === '/panel') {
27
- return pathname === '/panel';
28
- }
29
- const reg = new RegExp(`^${routePathname}(/.*)?$`);
30
- return reg.test(pathname);
31
- });
24
+ let active = $derived.by(() => {
25
+ const routePathname = new URL(route.url).pathname;
26
+ if (routePathname === '/panel') {
27
+ return pathname === '/panel';
28
+ }
29
+ const reg = new RegExp(`^${routePathname}(/.*)?$`);
30
+ return reg.test(pathname);
31
+ });
32
32
  </script>
33
33
 
34
34
  {#if isCollapsed}
35
- <Tooltip.Provider>
36
- <Tooltip.Root delayDuration={100}>
37
- <Tooltip.Trigger>
38
- {#snippet child({ props })}
39
- <NavItemButton icon={RouteIcon} {active} {...rest} {...props} />
40
- {/snippet}
41
- </Tooltip.Trigger>
42
- <Tooltip.Portal>
43
- <Tooltip.Content side="right">
44
- {route.title}
45
- </Tooltip.Content>
46
- </Tooltip.Portal>
47
- </Tooltip.Root>
48
- </Tooltip.Provider>
35
+ <Tooltip.Provider>
36
+ <Tooltip.Root delayDuration={100}>
37
+ <Tooltip.Trigger>
38
+ {#snippet child({ props })}
39
+ <NavItemButton icon={RouteIcon} {active} {...rest} {...props} />
40
+ {/snippet}
41
+ </Tooltip.Trigger>
42
+ <Tooltip.Portal>
43
+ <Tooltip.Content side="right">
44
+ {route.title}
45
+ </Tooltip.Content>
46
+ </Tooltip.Portal>
47
+ </Tooltip.Root>
48
+ </Tooltip.Provider>
49
49
  {:else}
50
- <NavItemButton icon={RouteIcon} {active} {...rest}>
51
- {route.title}
52
- </NavItemButton>
50
+ <NavItemButton icon={RouteIcon} {active} {...rest}>
51
+ {route.title}
52
+ </NavItemButton>
53
53
  {/if}
@@ -1,52 +1,53 @@
1
1
  <script lang="ts">
2
- import type { HTMLAnchorAttributes } from 'svelte/elements';
2
+ import type { HTMLAnchorAttributes } from 'svelte/elements';
3
3
 
4
- type Props = HTMLAnchorAttributes & {
5
- icon?: any;
6
- active?: boolean;
7
- };
4
+ type Props = HTMLAnchorAttributes & {
5
+ icon?: any;
6
+ active?: boolean;
7
+ };
8
8
 
9
- let { class: className, active = false, icon, children, ...restProps }: Props = $props();
9
+ let { class: className, active = false, icon, children, ...restProps }: Props = $props();
10
10
 
11
- const activeModifier = $derived(active ? 'rz-button-nav--active' : '');
11
+ const activeModifier = $derived(active ? 'rz-button-nav--active' : '');
12
12
  </script>
13
13
 
14
14
  {#snippet iconProp()}
15
- {#if icon}
16
- {@const IconProp = icon}
17
- <div class="rz-button-nav__icon">
18
- <IconProp size="14" />
19
- </div>
20
- {/if}
15
+ {#if icon}
16
+ {@const IconProp = icon}
17
+ <div class="rz-button-nav__icon">
18
+ <IconProp size="14" />
19
+ </div>
20
+ {/if}
21
21
  {/snippet}
22
22
 
23
23
  <a class="rz-button-nav {activeModifier} {className}" {...restProps}>
24
- {@render iconProp()}
25
- {@render children?.()}
24
+ {@render iconProp()}
25
+ {@render children?.()}
26
26
  </a>
27
27
 
28
28
  <style>
29
- .rz-button-nav {
30
- position: relative;
31
- display: inline-flex;
32
- align-items: center;
33
- height: calc(var(--rz-input-height) - 1px);
34
- padding: var(--rz-size-2) 0px;
35
- white-space: nowrap;
36
- font-variation-settings: 'wght' 400;
37
- font-weight: 400;
38
- justify-content: start;
39
- transition-property: box-shadow, color, background-color, border-color, text-decoration-color, fill, stroke;
40
- transition-duration: 0.25s;
41
-
42
- gap: var(--rz-size-3);
43
- &:not(:last-child) {
44
- border-bottom: 1px solid var(--rz-nav-group-border-color);
45
- }
46
- }
47
-
48
- .rz-button-nav--active {
49
- text-decoration: underline;
50
- position: relative;
51
- }
29
+ .rz-button-nav {
30
+ position: relative;
31
+ display: inline-flex;
32
+ align-items: center;
33
+ height: calc(var(--rz-input-height) - 1px);
34
+ padding: var(--rz-size-2) 0px;
35
+ white-space: nowrap;
36
+ font-variation-settings: 'wght' 400;
37
+ font-weight: 400;
38
+ justify-content: start;
39
+ transition-property:
40
+ box-shadow, color, background-color, border-color, text-decoration-color, fill, stroke;
41
+ transition-duration: 0.25s;
42
+
43
+ gap: var(--rz-size-3);
44
+ &:not(:last-child) {
45
+ border-bottom: 1px solid var(--rz-nav-group-border-color);
46
+ }
47
+ }
48
+
49
+ .rz-button-nav--active {
50
+ text-decoration: underline;
51
+ position: relative;
52
+ }
52
53
  </style>
@@ -1,12 +1,12 @@
1
1
  <span aria-hidden="true" class="button-nav__caret"></span>
2
2
 
3
3
  <style>
4
- .button-nav__caret {
5
- background-color: hsl(var(--rz-color-spot));
6
- position: absolute;
7
- left: calc(-1 * var(--rz-size-4));
8
- bottom: 0;
9
- top: 0;
10
- width: var(--rz-size-1);
11
- }
4
+ .button-nav__caret {
5
+ background-color: hsl(var(--rz-color-spot));
6
+ position: absolute;
7
+ left: calc(-1 * var(--rz-size-4));
8
+ bottom: 0;
9
+ top: 0;
10
+ width: var(--rz-size-1);
11
+ }
12
12
  </style>
@@ -1,105 +1,105 @@
1
1
  <script lang="ts">
2
- import { env } from '$env/dynamic/public';
3
- import * as Tooltip from '../tooltip';
4
- import { getUserContext } from '../../../context/user.svelte.js';
5
- import { authClient } from '../../../util/auth.js';
6
- import { LogOut } from '@lucide/svelte';
7
- import { toast } from 'svelte-sonner';
8
- import Button from '../button/button.svelte';
2
+ import { env } from '$env/dynamic/public';
3
+ import * as Tooltip from '../tooltip';
4
+ import { getUserContext } from '../../../context/user.svelte.js';
5
+ import { authClient } from '../../../util/auth.js';
6
+ import { LogOut } from '@lucide/svelte';
7
+ import { toast } from 'svelte-sonner';
8
+ import Button from '../button/button.svelte';
9
9
 
10
- type Props = { navCollapsed: boolean };
11
- const { navCollapsed }: Props = $props();
10
+ type Props = { navCollapsed: boolean };
11
+ const { navCollapsed }: Props = $props();
12
12
 
13
- const user = getUserContext();
13
+ const user = getUserContext();
14
14
 
15
- async function signout() {
16
- const result = await authClient.signOut();
17
- if (result.data?.success) {
18
- window.location.href = `${env.PUBLIC_RIME_URL}/panel/sign-in`;
19
- } else {
20
- toast.error(`Can't sign-out, please try again`);
21
- }
22
- }
15
+ async function signout() {
16
+ const result = await authClient.signOut();
17
+ if (result.data?.success) {
18
+ window.location.href = `${env.PUBLIC_RIME_URL}/panel/sign-in`;
19
+ } else {
20
+ toast.error(`Can't sign-out, please try again`);
21
+ }
22
+ }
23
23
  </script>
24
24
 
25
25
  <div class="rz-signout" class:rz-signout--nav-collapsed={navCollapsed}>
26
- {#if !navCollapsed}
27
- <div class="rz-user-button">
28
- <div class="rz-user-button__left">
29
- <a href="/panel/staff/{user.attributes.id}">
30
- {user.attributes.name?.charAt(0) || ''}
31
- </a>
32
- <div class="rz-user-button__name">{user.attributes.name}</div>
33
- </div>
26
+ {#if !navCollapsed}
27
+ <div class="rz-user-button">
28
+ <div class="rz-user-button__left">
29
+ <a href="/panel/staff/{user.attributes.id}">
30
+ {user.attributes.name?.charAt(0) || ''}
31
+ </a>
32
+ <div class="rz-user-button__name">{user.attributes.name}</div>
33
+ </div>
34
34
 
35
- <Button onclick={signout} variant="ghost" size="icon-sm">
36
- <LogOut size="12" />
37
- </Button>
38
- </div>
39
- {:else}
40
- <Tooltip.Provider>
41
- <Tooltip.Root>
42
- <Tooltip.Trigger>
43
- {#snippet child({ props })}
44
- <Button {...props} onclick={signout} variant="ghost" size="icon-sm">
45
- <LogOut size="12" />
46
- </Button>
47
- {/snippet}
48
- </Tooltip.Trigger>
35
+ <Button onclick={signout} variant="ghost" size="icon-sm">
36
+ <LogOut size="12" />
37
+ </Button>
38
+ </div>
39
+ {:else}
40
+ <Tooltip.Provider>
41
+ <Tooltip.Root>
42
+ <Tooltip.Trigger>
43
+ {#snippet child({ props })}
44
+ <Button {...props} onclick={signout} variant="ghost" size="icon-sm">
45
+ <LogOut size="12" />
46
+ </Button>
47
+ {/snippet}
48
+ </Tooltip.Trigger>
49
49
 
50
- <Tooltip.Content side="right">Logout</Tooltip.Content>
51
- </Tooltip.Root>
52
- </Tooltip.Provider>
53
- {/if}
50
+ <Tooltip.Content side="right">Logout</Tooltip.Content>
51
+ </Tooltip.Root>
52
+ </Tooltip.Provider>
53
+ {/if}
54
54
  </div>
55
55
 
56
56
  <style>
57
- .rz-signout {
58
- :global(.rz-button[type='submit']) {
59
- width: var(--rz-size-10);
60
- height: var(--rz-size-10);
61
- padding: var(--rz-size-2);
62
- border-radius: var(--rz-radius-md);
63
- }
64
- }
65
- .rz-signout--nav-collapsed {
66
- display: flex;
67
- justify-content: center;
68
- }
57
+ .rz-signout {
58
+ :global(.rz-button[type='submit']) {
59
+ width: var(--rz-size-10);
60
+ height: var(--rz-size-10);
61
+ padding: var(--rz-size-2);
62
+ border-radius: var(--rz-radius-md);
63
+ }
64
+ }
65
+ .rz-signout--nav-collapsed {
66
+ display: flex;
67
+ justify-content: center;
68
+ }
69
69
 
70
- .rz-user-button {
71
- background-color: var(--rz-nav-button-bg);
72
- display: flex;
73
- align-items: center;
74
- justify-content: space-between;
75
- gap: var(--rz-size-2);
76
- border-radius: var(--rz-radius-md);
77
- padding: var(--rz-size-2);
78
- height: var(--rz-input-height);
79
- }
70
+ .rz-user-button {
71
+ background-color: var(--rz-nav-button-bg);
72
+ display: flex;
73
+ align-items: center;
74
+ justify-content: space-between;
75
+ gap: var(--rz-size-2);
76
+ border-radius: var(--rz-radius-md);
77
+ padding: var(--rz-size-2);
78
+ height: var(--rz-input-height);
79
+ }
80
80
 
81
- .rz-user-button__left {
82
- display: flex;
83
- flex: 1;
84
- align-items: center;
85
- gap: var(--rz-size-2);
86
- }
87
- .rz-user-button__left a {
88
- background-color: light-dark(hsl(var(--rz-gray-15)), hsl(var(--rz-gray-0)));
89
- height: var(--rz-size-8);
90
- width: var(--rz-size-8);
91
- display: flex;
92
- flex-shrink: 0;
93
- align-items: center;
94
- justify-content: center;
95
- border-radius: var(--rz-radius-md);
96
- font-size: var(--rz-text-xs);
97
- text-transform: uppercase;
98
- }
99
- .rz-user-button__name {
100
- overflow: hidden;
101
- display: -webkit-box;
102
- -webkit-box-orient: vertical;
103
- -webkit-line-clamp: 1;
104
- }
81
+ .rz-user-button__left {
82
+ display: flex;
83
+ flex: 1;
84
+ align-items: center;
85
+ gap: var(--rz-size-2);
86
+ }
87
+ .rz-user-button__left a {
88
+ background-color: light-dark(hsl(var(--rz-gray-15)), hsl(var(--rz-gray-0)));
89
+ height: var(--rz-size-8);
90
+ width: var(--rz-size-8);
91
+ display: flex;
92
+ flex-shrink: 0;
93
+ align-items: center;
94
+ justify-content: center;
95
+ border-radius: var(--rz-radius-md);
96
+ font-size: var(--rz-text-xs);
97
+ text-transform: uppercase;
98
+ }
99
+ .rz-user-button__name {
100
+ overflow: hidden;
101
+ display: -webkit-box;
102
+ -webkit-box-orient: vertical;
103
+ -webkit-line-clamp: 1;
104
+ }
105
105
  </style>
@@ -1,58 +1,58 @@
1
1
  <script lang="ts">
2
- import { type Snippet } from 'svelte';
3
- import BreadCrumb from '../breadcrumb/BreadCrumb.svelte';
2
+ import { type Snippet } from 'svelte';
3
+ import BreadCrumb from '../breadcrumb/BreadCrumb.svelte';
4
4
 
5
- // Props
6
- type Props = {
7
- children?: Snippet;
8
- title?: Snippet;
9
- bottomRight?: Snippet;
10
- bottomLeft?: Snippet;
11
- topLeft?: Snippet;
12
- topRight?: Snippet;
13
- };
14
- const { children, bottomRight, bottomLeft, topRight, topLeft, title }: Props = $props();
5
+ // Props
6
+ type Props = {
7
+ children?: Snippet;
8
+ title?: Snippet;
9
+ bottomRight?: Snippet;
10
+ bottomLeft?: Snippet;
11
+ topLeft?: Snippet;
12
+ topRight?: Snippet;
13
+ };
14
+ const { children, bottomRight, bottomLeft, topRight, topLeft, title }: Props = $props();
15
15
 
16
- //
16
+ //
17
17
  </script>
18
18
 
19
19
  {#if children}
20
- {@render children()}
20
+ {@render children()}
21
21
  {:else}
22
- <div class="rz-page-header__row rz-page-header__row-top">
23
- <div>
24
- {#if topLeft}
25
- {@render topLeft()}
26
- {:else}
27
- <BreadCrumb />
28
- {/if}
29
- </div>
22
+ <div class="rz-page-header__row rz-page-header__row-top">
23
+ <div>
24
+ {#if topLeft}
25
+ {@render topLeft()}
26
+ {:else}
27
+ <BreadCrumb />
28
+ {/if}
29
+ </div>
30
30
 
31
- <div>
32
- {#if topRight}
33
- {@render topRight()}
34
- {/if}
35
- </div>
36
- </div>
31
+ <div>
32
+ {#if topRight}
33
+ {@render topRight()}
34
+ {/if}
35
+ </div>
36
+ </div>
37
37
 
38
- {#if title || bottomRight || bottomLeft}
39
- <div class="rz-page-header__row rz-page-header__row-bottom">
40
- <div class="rz-page-header__bottom-left">
41
- <h1>
42
- {@render title?.()}
43
- </h1>
44
- <div>
45
- {@render bottomLeft?.()}
46
- </div>
47
- </div>
38
+ {#if title || bottomRight || bottomLeft}
39
+ <div class="rz-page-header__row rz-page-header__row-bottom">
40
+ <div class="rz-page-header__bottom-left">
41
+ <h1>
42
+ {@render title?.()}
43
+ </h1>
44
+ <div>
45
+ {@render bottomLeft?.()}
46
+ </div>
47
+ </div>
48
48
 
49
- <div class="rz-page-header__bottom-right">
50
- {#if bottomRight}
51
- {@render bottomRight()}
52
- {/if}
53
- </div>
54
- </div>
55
- {/if}
49
+ <div class="rz-page-header__bottom-right">
50
+ {#if bottomRight}
51
+ {@render bottomRight()}
52
+ {/if}
53
+ </div>
54
+ </div>
55
+ {/if}
56
56
  {/if}
57
57
 
58
58
  <style>/**************************************/
@@ -62,49 +62,49 @@
62
62
  /**************************************/
63
63
 
64
64
  .rz-page-header__row {
65
- display: flex;
66
- justify-content: space-between;
67
- gap: var(--rz-size-4);
68
- align-items: center;
69
- padding-inline: var(--rz-page-gutter, var(--rz-size-6));
70
- }
65
+ display: flex;
66
+ justify-content: space-between;
67
+ gap: var(--rz-size-4);
68
+ align-items: center;
69
+ padding-inline: var(--rz-page-gutter, var(--rz-size-6));
70
+ }
71
71
 
72
72
  .rz-page-header__row:first-child {
73
- height: var(--rz-size-16);
74
- }
73
+ height: var(--rz-size-16);
74
+ }
75
75
 
76
76
  h1 {
77
- overflow: hidden;
78
- display: -webkit-box;
79
- -webkit-box-orient: vertical;
80
- -webkit-line-clamp: 1;
81
- font-size: var(--rz-text-3xl);
82
- font-variation-settings: 'wght' 600;
83
- font-weight: 600;
84
- }
77
+ overflow: hidden;
78
+ display: -webkit-box;
79
+ -webkit-box-orient: vertical;
80
+ -webkit-line-clamp: 1;
81
+ font-size: var(--rz-text-3xl);
82
+ font-variation-settings: 'wght' 600;
83
+ font-weight: 600;
84
+ }
85
85
 
86
86
  .rz-page-header__bottom-left,
87
- .rz-page-header__bottom-left > div,
88
- .rz-page-header__bottom-right {
89
- display: flex;
90
- align-items: center;
91
- gap: var(--rz-size-2);
92
- }
87
+ .rz-page-header__bottom-left > div,
88
+ .rz-page-header__bottom-right {
89
+ display: flex;
90
+ align-items: center;
91
+ gap: var(--rz-size-2);
92
+ }
93
93
 
94
94
  .rz-page-header__row-bottom {
95
- position: sticky;
96
- top: 0;
97
- z-index: 100;
98
- height: var(--rz-size-14);
99
- background: hsl(var(--rz-color-bg));
100
- align-items: flex-end;
101
- border-bottom: var(--rz-border);
102
- padding-bottom: var(--rz-size-2);
103
- }
95
+ position: sticky;
96
+ top: 0;
97
+ z-index: 100;
98
+ height: var(--rz-size-14);
99
+ background: hsl(var(--rz-color-bg));
100
+ align-items: flex-end;
101
+ border-bottom: var(--rz-border);
102
+ padding-bottom: var(--rz-size-2);
103
+ }
104
104
 
105
105
  .rz-page-header__row-top {
106
- height: var(--rz-size-14);
107
- background: hsl(var(--rz-color-bg));
108
- margin-bottom: var(--rz-size-16);
109
- }
106
+ height: var(--rz-size-14);
107
+ background: hsl(var(--rz-color-bg));
108
+ margin-bottom: var(--rz-size-16);
109
+ }
110
110
  </style>
@@ -1,21 +1,21 @@
1
1
  <script lang="ts">
2
- import type { PaneResizerProps } from 'paneforge';
3
- import { PaneResizer } from 'paneforge';
2
+ import type { PaneResizerProps } from 'paneforge';
3
+ import { PaneResizer } from 'paneforge';
4
4
 
5
- const props: PaneResizerProps = $props();
5
+ const props: PaneResizerProps = $props();
6
6
  </script>
7
7
 
8
8
  <PaneResizer {...props}>
9
- <div class="rz-pane-resizer"></div>
9
+ <div class="rz-pane-resizer"></div>
10
10
  </PaneResizer>
11
11
 
12
12
  <style>
13
- .rz-pane-resizer {
14
- position: absolute;
15
- z-index: 40;
16
- top: 0;
17
- width: var(--rz-size-2);
18
- translate: calc(-1 * var(--rz-size-1)) 0;
19
- height: 100vh;
20
- }
13
+ .rz-pane-resizer {
14
+ position: absolute;
15
+ z-index: 40;
16
+ top: 0;
17
+ width: var(--rz-size-2);
18
+ translate: calc(-1 * var(--rz-size-1)) 0;
19
+ height: 100vh;
20
+ }
21
21
  </style>
@@ -1,9 +1,9 @@
1
1
  .rz-popover {
2
- z-index: 500000;
3
- position: relative;
4
- border-radius: var(--rz-radius-lg);
5
- border: var(--rz-border);
6
- box-shadow: var(--rz-shadow-md);
7
- outline: none;
8
- background-color: hsl(var(--rz-color-bg));
2
+ z-index: 500000;
3
+ position: relative;
4
+ border-radius: var(--rz-radius-lg);
5
+ border: var(--rz-border);
6
+ box-shadow: var(--rz-shadow-md);
7
+ outline: none;
8
+ background-color: hsl(var(--rz-color-bg));
9
9
  }