rimecms 0.27.6 → 0.28.1
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.
- package/dist/adapter-sqlite/{area.js → area.server.js} +2 -2
- package/dist/adapter-sqlite/{blocks.d.ts → blocks.server.d.ts} +1 -1
- package/dist/adapter-sqlite/{blocks.js → blocks.server.js} +1 -1
- package/dist/adapter-sqlite/{collection.js → collection.server.js} +17 -8
- package/dist/adapter-sqlite/generate-schema/write.server.js +2 -2
- package/dist/adapter-sqlite/index.server.d.ts +8 -8
- package/dist/adapter-sqlite/index.server.js +7 -7
- package/dist/adapter-sqlite/{orderBy.js → orderBy.server.js} +1 -1
- package/dist/adapter-sqlite/{relations.d.ts → relations.server.d.ts} +1 -1
- package/dist/adapter-sqlite/{relations.js → relations.server.js} +1 -1
- package/dist/adapter-sqlite/{transform.js → transform.server.js} +2 -3
- package/dist/adapter-sqlite/{tree.d.ts → tree.server.d.ts} +1 -1
- package/dist/adapter-sqlite/{tree.js → tree.server.js} +1 -1
- package/dist/adapter-sqlite/url.server.d.ts +1 -1
- package/dist/core/areas/local-api.server.d.ts +1 -1
- package/dist/core/areas/local-api.server.js +1 -0
- package/dist/core/collections/api/delete.server.js +1 -1
- package/dist/core/collections/api/get.server.js +1 -1
- package/dist/core/collections/api/getById.server.js +3 -1
- package/dist/core/collections/config/augment-panel.d.ts +13 -0
- package/dist/core/collections/config/augment-panel.js +19 -0
- package/dist/core/collections/config/augment-upload.server.d.ts +1 -0
- package/dist/core/collections/config/augment-upload.server.js +1 -0
- package/dist/core/collections/config/builder.js +3 -1
- package/dist/core/collections/config/builder.server.js +3 -1
- package/dist/core/collections/local-api.server.js +3 -1
- package/dist/core/collections/operations/findById.js +3 -1
- package/dist/core/collections/upload/hooks/convert-base64.server.js +1 -1
- package/dist/core/config/auth/better-auth.server.d.ts +3 -3
- package/dist/core/config/auth/better-auth.server.js +1 -1
- package/dist/core/config/client/augment-panel.d.ts +4 -4
- package/dist/core/config/client/build-config.d.ts +5 -5
- package/dist/core/config/server/augment-directories.server.js +3 -3
- package/dist/core/config/server/augment-staff.server.d.ts +1 -1
- package/dist/core/config/server/augment-staff.server.js +1 -1
- package/dist/core/config/server/build-config.server.d.ts +12 -12
- package/dist/core/config/server/build-config.server.js +1 -1
- package/dist/core/config/server/{validate.js → validate.server.js} +61 -29
- package/dist/core/config/server/{write.js → write.server.js} +1 -1
- package/dist/core/config/shared/augment-icons.d.ts +1 -2
- package/dist/core/config/shared/get-staff-collection.d.ts +1 -1
- package/dist/core/config/shared/upload-directories.js +1 -1
- package/dist/core/config/types.d.ts +20 -8
- package/dist/core/dev/cli/build/templates.d.ts +1 -1
- package/dist/core/dev/cli/build/templates.js +5 -2
- package/dist/core/dev/cli/generate/{index.js → index.server.js} +13 -9
- package/dist/core/dev/cli/index.js +11 -6
- package/dist/core/dev/cli/init/{index.js → index.server.js} +68 -25
- package/dist/core/dev/cli/init/{packageManagerUtil.js → package-manager-util.server.js} +5 -5
- package/dist/core/dev/generate/routes/{area.d.ts → area.server.d.ts} +1 -1
- package/dist/core/dev/generate/routes/{area.js → area.server.js} +1 -1
- package/dist/core/dev/generate/routes/{collection.d.ts → collection.server.d.ts} +1 -1
- package/dist/core/dev/generate/routes/{collection.js → collection.server.js} +1 -1
- package/dist/core/dev/generate/routes/{common.d.ts → common.server.d.ts} +1 -1
- package/dist/core/dev/generate/routes/{common.js → common.server.js} +3 -3
- package/dist/core/dev/generate/routes/{index.js → index.server.js} +5 -5
- package/dist/core/dev/generate/routes/{util.js → util.server.js} +1 -1
- package/dist/core/dev/generate/types/{index.js → index.server.js} +1 -1
- package/dist/core/dev/vite/{index.js → index.server.js} +8 -4
- package/dist/core/fields/util.d.ts +13 -0
- package/dist/core/fields/util.js +77 -4
- package/dist/core/i18n/en/common.d.ts +1 -0
- package/dist/core/i18n/en/common.js +1 -0
- package/dist/core/i18n/fr/common.d.ts +1 -0
- package/dist/core/i18n/fr/common.js +1 -0
- package/dist/core/operations/hooks/before-read/populate-url.server.js +10 -2
- package/dist/core/operations/hooks/before-upsert/handle-new-version.server.js +2 -2
- package/dist/core/operations/relations/diff.server.d.ts +1 -1
- package/dist/core/operations/relations/extract.server.d.ts +1 -1
- package/dist/core/rime.server.d.ts +6 -6
- package/dist/core/rime.server.js +15 -14
- package/dist/fields/blocks/component/Block.svelte +13 -19
- package/dist/fields/blocks/component/Blocks.svelte +6 -13
- package/dist/fields/group/component/Group.svelte +6 -13
- package/dist/fields/number/component/number.css +2 -0
- package/dist/fields/relation/component/default/Default.svelte +1 -7
- package/dist/fields/relation/component/upload/upload.css +1 -10
- package/dist/fields/relation/index.d.ts +21 -6
- package/dist/fields/relation/index.js +41 -11
- package/dist/fields/rich-text/component/RichText.svelte +4 -4
- package/dist/fields/rich-text/component/bubble-menu/bubble-menu.svelte +6 -6
- package/dist/fields/rich-text/component/bubble-menu/bubble-menu.svelte.d.ts +2 -0
- package/dist/fields/rich-text/component/drag-handle/drag-handle.css +1 -0
- package/dist/fields/rich-text/component/styles/rich-text.css +0 -7
- package/dist/fields/rich-text/core/features/resource/resource.svelte +2 -9
- package/dist/fields/rich-text/core/features/upload/upload.svelte +5 -12
- package/dist/fields/rich-text/core/render-rich-text.svelte +5 -3
- package/dist/fields/rich-text/index.d.ts +1 -1
- package/dist/fields/select/component/Select.svelte +5 -11
- package/dist/fields/tabs/index.d.ts +1 -0
- package/dist/fields/tabs/index.js +3 -0
- package/dist/fields/textarea/component/TextArea.svelte +5 -13
- package/dist/fields/tree/component/TreeBlock.svelte +12 -18
- package/dist/fields/types.d.ts +3 -2
- package/dist/live.d.ts +2 -1
- package/dist/live.js +2 -1
- package/dist/panel/components/fields/Error.svelte +1 -7
- package/dist/panel/components/sections/collection/Empty.svelte +1 -0
- package/dist/panel/components/sections/collection/folder/Folder.svelte +7 -16
- package/dist/panel/components/sections/collection/folder/FolderWithActions.svelte +1 -1
- package/dist/panel/components/sections/collection/grid/CollectionGrid.svelte +22 -12
- package/dist/panel/components/sections/collection/grid/create-directory-dialog/CreateDirectoryDialog.svelte +4 -5
- package/dist/panel/components/sections/collection/grid/grid-item/GridItem.svelte +41 -33
- package/dist/panel/components/sections/collection/grid/grid-item/GridItem.svelte.d.ts +4 -0
- package/dist/panel/components/sections/collection/header/ButtonCreate.svelte +14 -16
- package/dist/panel/components/sections/collection/header/ButtonCreate.svelte.d.ts +2 -0
- package/dist/panel/components/sections/collection/header/DisplayMode.svelte +10 -10
- package/dist/panel/components/sections/collection/header/SearchInput.svelte +2 -8
- package/dist/panel/components/sections/collection/list/CollectionList.svelte +32 -3
- package/dist/panel/components/sections/collection/list/header/Header.svelte +3 -9
- package/dist/panel/components/sections/collection/list/row/Row.svelte +34 -24
- package/dist/panel/components/sections/collection/list/row/Row.svelte.d.ts +9 -0
- package/dist/panel/components/sections/collection/upload-thumb-cell/UploadThumbCell.svelte +11 -1
- package/dist/panel/components/sections/document/ButtonStatus.svelte +3 -11
- package/dist/panel/components/sections/document/Document.svelte +22 -41
- package/dist/panel/components/sections/document/Document.svelte.d.ts +0 -1
- package/dist/panel/components/sections/document/upload-header/UploadHeader.svelte +11 -21
- package/dist/panel/components/sections/live/LiveEdit.svelte +114 -0
- package/dist/panel/components/sections/live/LiveEdit.svelte.d.ts +32 -0
- package/dist/panel/components/sections/live/LiveEditPanel.svelte +53 -0
- package/dist/panel/components/sections/live/LiveEditPanel.svelte.d.ts +11 -0
- package/dist/panel/components/sections/live/LiveFloatingUI.svelte +106 -0
- package/dist/panel/components/sections/live/LiveFloatingUI.svelte.d.ts +12 -0
- package/dist/panel/components/sections/live/Provider.svelte +4 -4
- package/dist/panel/components/sections/live/Provider.svelte.d.ts +5 -3
- package/dist/panel/components/sections/live/live-edit-panel.css +12 -0
- package/dist/panel/components/ui/breadcrumb/BreadCrumb.svelte +2 -9
- package/dist/panel/components/ui/button/button.svelte +35 -54
- package/dist/panel/components/ui/calendar/calendar.css +11 -0
- package/dist/panel/components/ui/card-document/card-document.svelte +21 -14
- package/dist/panel/components/ui/card-resource/card-resource.svelte +8 -14
- package/dist/panel/components/ui/checkbox/checkbox.svelte +1 -1
- package/dist/panel/components/ui/command/command-group.css +1 -0
- package/dist/panel/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +1 -7
- package/dist/panel/components/ui/input/input.svelte +13 -23
- package/dist/panel/components/ui/label/label.css +0 -1
- package/dist/panel/components/ui/nav/NavItemButton.svelte +2 -8
- package/dist/panel/components/ui/page-header/PageHeader.svelte +6 -13
- package/dist/panel/components/ui/radio-group/radio-group.css +2 -0
- package/dist/panel/components/ui/scroll-area/scroll-area.css +0 -4
- package/dist/panel/components/ui/sheet/sheet.css +0 -16
- package/dist/panel/components/ui/tabs/tabs.css +7 -0
- package/dist/panel/context/collection.svelte.d.ts +0 -4
- package/dist/panel/context/collection.svelte.js +0 -3
- package/dist/panel/context/documentForm.svelte.js +1 -0
- package/dist/panel/context/live.svelte.d.ts +8 -20
- package/dist/panel/context/live.svelte.js +65 -35
- package/dist/panel/context/livePanel.svelte.d.ts +11 -0
- package/dist/panel/context/livePanel.svelte.js +8 -0
- package/dist/panel/pages/auth/forgot-password/ForgotPassword.svelte +1 -7
- package/dist/panel/pages/collection/Collection.svelte +3 -1
- package/dist/panel/pages/dashboard/Dashboard.svelte +52 -28
- package/dist/panel/pages/dashboard/DashboardCollection.svelte +91 -0
- package/dist/panel/pages/dashboard/DashboardCollection.svelte.d.ts +9 -0
- package/dist/panel/pages/dashboard/load.server.js +30 -14
- package/dist/panel/pages/dashboard/types.d.ts +1 -0
- package/dist/panel/pages/live/Live.svelte +244 -67
- package/dist/panel/pages/live/Live.svelte.d.ts +9 -1
- package/dist/panel/pages/live/load.server.js +14 -1
- package/dist/panel/style/index.css +562 -8
- package/dist/panel/style/mixins/index.css +1 -3
- package/dist/panel/util/upload.d.ts +1 -1
- package/dist/util/object.js +3 -0
- package/package.json +12 -10
- package/dist/panel/components/sections/document/FloatingUI.svelte +0 -81
- package/dist/panel/components/sections/document/FloatingUI.svelte.d.ts +0 -8
- package/dist/panel/components/sections/live/SidePanel.svelte +0 -61
- package/dist/panel/components/sections/live/SidePanel.svelte.d.ts +0 -14
- package/dist/panel/components/sections/live/side-panel.css +0 -15
- /package/dist/adapter-sqlite/{area.d.ts → area.server.d.ts} +0 -0
- /package/dist/adapter-sqlite/{collection.d.ts → collection.server.d.ts} +0 -0
- /package/dist/adapter-sqlite/{orderBy.d.ts → orderBy.server.d.ts} +0 -0
- /package/dist/adapter-sqlite/{transform.d.ts → transform.server.d.ts} +0 -0
- /package/dist/adapter-sqlite/{types.d.ts → types.server.d.ts} +0 -0
- /package/dist/adapter-sqlite/{types.js → types.server.js} +0 -0
- /package/dist/adapter-sqlite/{util.d.ts → util.server.d.ts} +0 -0
- /package/dist/adapter-sqlite/{util.js → util.server.js} +0 -0
- /package/dist/adapter-sqlite/{where.d.ts → where.server.d.ts} +0 -0
- /package/dist/adapter-sqlite/{where.js → where.server.js} +0 -0
- /package/dist/adapter-sqlite/{with.d.ts → with.server.d.ts} +0 -0
- /package/dist/adapter-sqlite/{with.js → with.server.js} +0 -0
- /package/dist/core/collections/upload/util/{converter.d.ts → converter.server.d.ts} +0 -0
- /package/dist/core/collections/upload/util/{converter.js → converter.server.js} +0 -0
- /package/dist/core/config/auth/{better-auth-hooks.d.ts → better-auth-hooks.server.d.ts} +0 -0
- /package/dist/core/config/auth/{better-auth-hooks.js → better-auth-hooks.server.js} +0 -0
- /package/dist/core/config/server/{augment-cors.d.ts → augment-cors.server.d.ts} +0 -0
- /package/dist/core/config/server/{augment-cors.js → augment-cors.server.js} +0 -0
- /package/dist/core/config/server/{validate.d.ts → validate.server.d.ts} +0 -0
- /package/dist/core/config/server/{write.d.ts → write.server.d.ts} +0 -0
- /package/dist/core/dev/cache/{index.d.ts → index.server.d.ts} +0 -0
- /package/dist/core/dev/cache/{index.js → index.server.js} +0 -0
- /package/dist/core/dev/cli/clear/{index.d.ts → index.server.d.ts} +0 -0
- /package/dist/core/dev/cli/clear/{index.js → index.server.js} +0 -0
- /package/dist/core/dev/cli/generate/{index.d.ts → index.server.d.ts} +0 -0
- /package/dist/core/dev/cli/init/{getPackageName.d.ts → get-package-info.server.d.ts} +0 -0
- /package/dist/core/dev/cli/init/{getPackageName.js → get-package-info.server.js} +0 -0
- /package/dist/core/dev/cli/init/{index.d.ts → index.server.d.ts} +0 -0
- /package/dist/core/dev/cli/init/{packageManagerUtil.d.ts → package-manager-util.server.d.ts} +0 -0
- /package/dist/core/dev/generate/routes/{custom-css.d.ts → custom-css.server.d.ts} +0 -0
- /package/dist/core/dev/generate/routes/{custom-css.js → custom-css.server.js} +0 -0
- /package/dist/core/dev/generate/routes/{index.d.ts → index.server.d.ts} +0 -0
- /package/dist/core/dev/generate/routes/{util.d.ts → util.server.d.ts} +0 -0
- /package/dist/core/dev/generate/sanitize/{index.d.ts → index.server.d.ts} +0 -0
- /package/dist/core/dev/generate/sanitize/{index.js → index.server.js} +0 -0
- /package/dist/core/dev/generate/types/{index.d.ts → index.server.d.ts} +0 -0
- /package/dist/core/dev/vite/{index.d.ts → index.server.d.ts} +0 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { t__ } from '../../../../core/i18n/index.js';
|
|
3
|
+
import type { DocumentFormContext } from '../../../context/documentForm.svelte.js';
|
|
4
|
+
import type { ActivePanel } from '../../../context/livePanel.svelte';
|
|
5
|
+
import { ChevronLeft, Form, Laptop, Save, Smartphone, X } from '@lucide/svelte';
|
|
6
|
+
import Button from '../../ui/button/button.svelte';
|
|
7
|
+
import SpinLoader from '../../ui/spin-loader/SpinLoader.svelte';
|
|
8
|
+
|
|
9
|
+
type Props = {
|
|
10
|
+
forms: Record<string, DocumentFormContext>;
|
|
11
|
+
onClose: () => void;
|
|
12
|
+
toggleRootPanel: (() => void) | null;
|
|
13
|
+
activePanel: ActivePanel | null;
|
|
14
|
+
currentDevice: 'desktop' | 'mobile';
|
|
15
|
+
};
|
|
16
|
+
let {
|
|
17
|
+
forms,
|
|
18
|
+
onClose,
|
|
19
|
+
toggleRootPanel,
|
|
20
|
+
activePanel,
|
|
21
|
+
currentDevice = $bindable('desktop')
|
|
22
|
+
}: Props = $props();
|
|
23
|
+
|
|
24
|
+
const formsWithChanges = $derived(Object.values(forms).filter((form) => form.canSubmit));
|
|
25
|
+
const isProcessing = $derived(Object.values(forms).some((form) => form.processing));
|
|
26
|
+
|
|
27
|
+
function saveAll() {
|
|
28
|
+
for (const form of formsWithChanges) {
|
|
29
|
+
try {
|
|
30
|
+
form.element.requestSubmit();
|
|
31
|
+
} catch {
|
|
32
|
+
// form element not yet mounted — skip
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function handleKeyDown(event: KeyboardEvent) {
|
|
38
|
+
if ((event.ctrlKey || event.metaKey) && event.key === 's') {
|
|
39
|
+
event.preventDefault();
|
|
40
|
+
saveAll();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
</script>
|
|
44
|
+
|
|
45
|
+
<div class="rz-live-floating-ui">
|
|
46
|
+
<Button icon={activePanel ? ChevronLeft : X} onclick={onClose} variant="secondary" size="icon" />
|
|
47
|
+
|
|
48
|
+
{#if toggleRootPanel}
|
|
49
|
+
<Button
|
|
50
|
+
onclick={toggleRootPanel}
|
|
51
|
+
variant={activePanel && activePanel.fieldPath === '' ? 'secondary' : 'ghost'}
|
|
52
|
+
size="icon"
|
|
53
|
+
icon={Form}
|
|
54
|
+
/>
|
|
55
|
+
{/if}
|
|
56
|
+
|
|
57
|
+
<Button
|
|
58
|
+
onclick={() => (currentDevice = 'mobile')}
|
|
59
|
+
variant={currentDevice === 'mobile' ? 'secondary' : 'ghost'}
|
|
60
|
+
size="icon"
|
|
61
|
+
icon={Smartphone}
|
|
62
|
+
/>
|
|
63
|
+
<Button
|
|
64
|
+
onclick={() => (currentDevice = 'desktop')}
|
|
65
|
+
variant={currentDevice === 'desktop' ? 'secondary' : 'ghost'}
|
|
66
|
+
size="icon"
|
|
67
|
+
icon={Laptop}
|
|
68
|
+
/>
|
|
69
|
+
|
|
70
|
+
<Button
|
|
71
|
+
onclick={saveAll}
|
|
72
|
+
disabled={formsWithChanges.length === 0}
|
|
73
|
+
class="rz-live-floating-ui__save"
|
|
74
|
+
>
|
|
75
|
+
{#if isProcessing}
|
|
76
|
+
<SpinLoader />
|
|
77
|
+
{:else}
|
|
78
|
+
<Save size="13" />
|
|
79
|
+
{/if}
|
|
80
|
+
{t__('common.save')}
|
|
81
|
+
</Button>
|
|
82
|
+
</div>
|
|
83
|
+
|
|
84
|
+
<svelte:window onkeydown={handleKeyDown} />
|
|
85
|
+
|
|
86
|
+
<style>
|
|
87
|
+
.rz-live-floating-ui {
|
|
88
|
+
position: fixed;
|
|
89
|
+
bottom: var(--rz-size-2);
|
|
90
|
+
left: var(--rz-size-2);
|
|
91
|
+
margin-left: var(--rz-size-2);
|
|
92
|
+
margin-right: var(--rz-size-2);
|
|
93
|
+
height: var(--rz-size-14);
|
|
94
|
+
background-color: hsl(var(--rz-color-bg));
|
|
95
|
+
padding: var(--rz-size-2);
|
|
96
|
+
border-radius: var(--rz-radius-md);
|
|
97
|
+
z-index: 1000;
|
|
98
|
+
display: flex;
|
|
99
|
+
gap: var(--rz-size-2);
|
|
100
|
+
box-shadow: var(--rz-shadow-xl);
|
|
101
|
+
border: var(--rz-border);
|
|
102
|
+
:global(.rz-live-floating-ui__save) {
|
|
103
|
+
flex: 1;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
</style>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { DocumentFormContext } from '../../../context/documentForm.svelte.js';
|
|
2
|
+
import type { ActivePanel } from '../../../context/livePanel.svelte';
|
|
3
|
+
type Props = {
|
|
4
|
+
forms: Record<string, DocumentFormContext>;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
toggleRootPanel: (() => void) | null;
|
|
7
|
+
activePanel: ActivePanel | null;
|
|
8
|
+
currentDevice: 'desktop' | 'mobile';
|
|
9
|
+
};
|
|
10
|
+
declare const LiveFloatingUi: import("svelte").Component<Props, {}, "currentDevice">;
|
|
11
|
+
type LiveFloatingUi = ReturnType<typeof LiveFloatingUi>;
|
|
12
|
+
export default LiveFloatingUi;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
+
import { beforeNavigate } from '$app/navigation';
|
|
2
3
|
import { page } from '$app/state';
|
|
3
4
|
import { setLiveContext } from '../../../context/live.svelte.js';
|
|
4
|
-
import {
|
|
5
|
-
|
|
5
|
+
import { onMount, type Snippet } from 'svelte';
|
|
6
|
+
|
|
7
|
+
const { children }: { children: Snippet } = $props();
|
|
6
8
|
|
|
7
9
|
let live = setLiveContext(page.url.href);
|
|
8
10
|
beforeNavigate(live.beforeNavigate);
|
|
9
11
|
|
|
10
|
-
const { children } = $props();
|
|
11
|
-
|
|
12
12
|
onMount(() => {
|
|
13
13
|
window.addEventListener('message', live.onMessage);
|
|
14
14
|
});
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { type Snippet } from 'svelte';
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
children: Snippet;
|
|
4
|
+
};
|
|
5
|
+
declare const Provider: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
4
6
|
type Provider = ReturnType<typeof Provider>;
|
|
5
7
|
export default Provider;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
.rz-live-edit-panel {
|
|
2
|
+
--rz-page-gutter: var(--rz-size-4);
|
|
3
|
+
--rz-tabs-list-top: 0;
|
|
4
|
+
height: 100vh;
|
|
5
|
+
background-color: hsl(var(--rz-color-bg));
|
|
6
|
+
}
|
|
7
|
+
.rz-live-edit-panel__fields {
|
|
8
|
+
height: 100vh;
|
|
9
|
+
padding: var(--rz-size-4);
|
|
10
|
+
padding-bottom: var(--rz-size-20);
|
|
11
|
+
border-right: var(--rz-border);
|
|
12
|
+
}
|
|
@@ -25,13 +25,7 @@
|
|
|
25
25
|
{/each}
|
|
26
26
|
</div>
|
|
27
27
|
|
|
28
|
-
<style
|
|
29
|
-
|
|
30
|
-
/* Font */
|
|
31
|
-
|
|
32
|
-
/**************************************/
|
|
33
|
-
|
|
34
|
-
.rz-aria {
|
|
28
|
+
<style>.rz-aria {
|
|
35
29
|
display: flex;
|
|
36
30
|
align-items: center;
|
|
37
31
|
gap: var(--rz-size-3);
|
|
@@ -45,8 +39,7 @@
|
|
|
45
39
|
opacity: 1;
|
|
46
40
|
}
|
|
47
41
|
}
|
|
48
|
-
|
|
49
|
-
.rz-aria__last {
|
|
42
|
+
.rz-aria__last {
|
|
50
43
|
overflow: hidden;
|
|
51
44
|
display: -webkit-box;
|
|
52
45
|
-webkit-box-orient: vertical;
|
|
@@ -51,13 +51,7 @@
|
|
|
51
51
|
</button>
|
|
52
52
|
{/if}
|
|
53
53
|
|
|
54
|
-
<style
|
|
55
|
-
|
|
56
|
-
/* Font */
|
|
57
|
-
|
|
58
|
-
/**************************************/
|
|
59
|
-
|
|
60
|
-
:root {
|
|
54
|
+
<style>:root {
|
|
61
55
|
--rz-button-tl-radius: var(--rz-radius-md);
|
|
62
56
|
--rz-button-tr-radius: var(--rz-radius-md);
|
|
63
57
|
--rz-button-br-radius: var(--rz-radius-md);
|
|
@@ -111,7 +105,7 @@
|
|
|
111
105
|
--rz-button-text-fg-disabled: hsl(var(--rz-color-fg) / 0.4);
|
|
112
106
|
}
|
|
113
107
|
|
|
114
|
-
.rz-button {
|
|
108
|
+
.rz-button {
|
|
115
109
|
flex-shrink: var(--rz-flex-shrink, unset);
|
|
116
110
|
display: inline-flex;
|
|
117
111
|
align-items: center;
|
|
@@ -128,7 +122,7 @@
|
|
|
128
122
|
fill: currentColor;
|
|
129
123
|
}
|
|
130
124
|
|
|
131
|
-
.rz-button:focus-visible {
|
|
125
|
+
.rz-button:focus-visible {
|
|
132
126
|
/* --rz-ring-offset: 1px; */
|
|
133
127
|
outline: none;
|
|
134
128
|
box-shadow:
|
|
@@ -136,73 +130,68 @@
|
|
|
136
130
|
0 0 0 calc(var(--rz-ring-offset, 0px) + 1px) hsl(var(--rz-color-ring) / var(--rz-ring-opacity, 1));
|
|
137
131
|
}
|
|
138
132
|
|
|
139
|
-
.rz-button:disabled,
|
|
133
|
+
.rz-button:disabled,
|
|
140
134
|
.rz-button[disabled='true'] {
|
|
141
135
|
opacity: 0.5;
|
|
142
136
|
cursor: no-drop !important;
|
|
143
137
|
}
|
|
144
138
|
|
|
145
|
-
/**************************************/
|
|
146
|
-
|
|
147
|
-
|
|
139
|
+
/**************************************/
|
|
140
|
+
/* Sizes */
|
|
141
|
+
/**************************************/
|
|
148
142
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
.rz-button--size-default {
|
|
143
|
+
.rz-button--size-default {
|
|
152
144
|
font-size: var(--rz-text-md);
|
|
153
145
|
height: var(--rz-size-9);
|
|
154
146
|
padding: var(--rz-size-2) var(--rz-size-4);
|
|
155
147
|
}
|
|
156
148
|
|
|
157
|
-
.rz-button--size-xs {
|
|
149
|
+
.rz-button--size-xs {
|
|
158
150
|
height: var(--rz-size-6);
|
|
159
151
|
padding: var(--rz-size-1) var(--rz-size-2);
|
|
160
152
|
font-size: var(--rz-text-2xs);
|
|
161
153
|
border-radius: var(--rz-radius-md);
|
|
162
154
|
}
|
|
163
155
|
|
|
164
|
-
.rz-button--size-sm {
|
|
156
|
+
.rz-button--size-sm {
|
|
165
157
|
font-size: var(--rz-text-md);
|
|
166
158
|
height: var(--rz-size-8);
|
|
167
159
|
padding: var(--rz-size-2) var(--rz-size-3);
|
|
168
160
|
border-radius: var(--rz-radius-md);
|
|
169
161
|
}
|
|
170
162
|
|
|
171
|
-
.rz-button--size-lg {
|
|
163
|
+
.rz-button--size-lg {
|
|
172
164
|
font-size: var(--rz-text-md);
|
|
173
165
|
height: var(--rz-size-12);
|
|
174
166
|
padding: var(--rz-size-2) var(--rz-size-8);
|
|
175
167
|
border-radius: var(--rz-radius-md);
|
|
176
168
|
}
|
|
177
169
|
|
|
178
|
-
.rz-button--size-xl {
|
|
170
|
+
.rz-button--size-xl {
|
|
179
171
|
height: var(--rz-size-14);
|
|
180
172
|
font-size: var(--rz-text-md);
|
|
181
173
|
padding: var(--rz-size-2) var(--rz-size-8);
|
|
182
174
|
border-radius: var(--rz-radius-md);
|
|
183
175
|
}
|
|
184
176
|
|
|
185
|
-
.rz-button--size-icon {
|
|
177
|
+
.rz-button--size-icon {
|
|
186
178
|
border-radius: var(--rz-radius-lg);
|
|
187
179
|
height: var(--rz-size-9);
|
|
188
180
|
width: var(--rz-size-9);
|
|
189
181
|
padding: var(--rz-size-1);
|
|
190
182
|
}
|
|
191
183
|
|
|
192
|
-
.rz-button--size-icon-sm {
|
|
184
|
+
.rz-button--size-icon-sm {
|
|
193
185
|
height: var(--rz-size-8);
|
|
194
186
|
width: var(--rz-size-8);
|
|
195
187
|
}
|
|
196
188
|
|
|
197
|
-
/**************************************/
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
/**************************************/
|
|
202
|
-
|
|
203
|
-
/** Default */
|
|
189
|
+
/**************************************/
|
|
190
|
+
/* Variants */
|
|
191
|
+
/**************************************/
|
|
204
192
|
|
|
205
|
-
|
|
193
|
+
/** Default */
|
|
194
|
+
.rz-button--default {
|
|
206
195
|
background-color: var(--rz-button-default-bg);
|
|
207
196
|
color: var(--rz-button-default-fg);
|
|
208
197
|
&:hover:not(:disabled) {
|
|
@@ -213,9 +202,8 @@
|
|
|
213
202
|
}
|
|
214
203
|
}
|
|
215
204
|
|
|
216
|
-
/** Success */
|
|
217
|
-
|
|
218
|
-
.rz-button--success {
|
|
205
|
+
/** Success */
|
|
206
|
+
.rz-button--success {
|
|
219
207
|
background-color: var(--rz-button-success-bg);
|
|
220
208
|
color: var(--rz-button-success-fg);
|
|
221
209
|
&:hover {
|
|
@@ -226,9 +214,8 @@
|
|
|
226
214
|
}
|
|
227
215
|
}
|
|
228
216
|
|
|
229
|
-
/** Outline */
|
|
230
|
-
|
|
231
|
-
.rz-button--outline {
|
|
217
|
+
/** Outline */
|
|
218
|
+
.rz-button--outline {
|
|
232
219
|
border-style: solid;
|
|
233
220
|
border-color: var(--rz-button-outline-border);
|
|
234
221
|
|
|
@@ -246,9 +233,8 @@
|
|
|
246
233
|
}
|
|
247
234
|
}
|
|
248
235
|
|
|
249
|
-
/** Ghost */
|
|
250
|
-
|
|
251
|
-
.rz-button--ghost {
|
|
236
|
+
/** Ghost */
|
|
237
|
+
.rz-button--ghost {
|
|
252
238
|
background-color: var(--rz-button-ghost-bg);
|
|
253
239
|
color: var(--rz-button-ghost-fg);
|
|
254
240
|
|
|
@@ -257,9 +243,8 @@
|
|
|
257
243
|
}
|
|
258
244
|
}
|
|
259
245
|
|
|
260
|
-
/** Secondary */
|
|
261
|
-
|
|
262
|
-
.rz-button--secondary {
|
|
246
|
+
/** Secondary */
|
|
247
|
+
.rz-button--secondary {
|
|
263
248
|
background-color: var(--rz-button-secondary-bg);
|
|
264
249
|
color: var(--rz-button-secondary-fg);
|
|
265
250
|
|
|
@@ -268,9 +253,8 @@
|
|
|
268
253
|
}
|
|
269
254
|
}
|
|
270
255
|
|
|
271
|
-
/** Link */
|
|
272
|
-
|
|
273
|
-
.rz-button--link {
|
|
256
|
+
/** Link */
|
|
257
|
+
.rz-button--link {
|
|
274
258
|
background: var(--rz-button-link-bg);
|
|
275
259
|
color: var(--rz-button-link-fg);
|
|
276
260
|
text-underline-offset: 4px;
|
|
@@ -281,9 +265,8 @@
|
|
|
281
265
|
}
|
|
282
266
|
}
|
|
283
267
|
|
|
284
|
-
/** Text */
|
|
285
|
-
|
|
286
|
-
.rz-button--text {
|
|
268
|
+
/** Text */
|
|
269
|
+
.rz-button--text {
|
|
287
270
|
padding-left: 0;
|
|
288
271
|
padding-right: 0;
|
|
289
272
|
background-color: var(--rz-button-text-bg);
|
|
@@ -301,13 +284,11 @@
|
|
|
301
284
|
}
|
|
302
285
|
}
|
|
303
286
|
|
|
304
|
-
/**************************************/
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
/**************************************/
|
|
287
|
+
/**************************************/
|
|
288
|
+
/* With Icon */
|
|
289
|
+
/**************************************/
|
|
309
290
|
|
|
310
|
-
.rz-button__icon,
|
|
291
|
+
.rz-button__icon,
|
|
311
292
|
.rz-button--text__icon {
|
|
312
293
|
display: grid;
|
|
313
294
|
place-content: center;
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
.rz-date__popover-content {
|
|
8
8
|
border-radius: var(--rz-radius-md);
|
|
9
9
|
}
|
|
10
|
+
|
|
10
11
|
/**************************************/
|
|
12
|
+
|
|
11
13
|
/* Cell
|
|
12
14
|
/**************************************/
|
|
13
15
|
|
|
@@ -31,6 +33,7 @@
|
|
|
31
33
|
}
|
|
32
34
|
|
|
33
35
|
/**************************************/
|
|
36
|
+
|
|
34
37
|
/* Day
|
|
35
38
|
/**************************************/
|
|
36
39
|
|
|
@@ -101,6 +104,7 @@
|
|
|
101
104
|
}
|
|
102
105
|
|
|
103
106
|
/**************************************/
|
|
107
|
+
|
|
104
108
|
/* Grid
|
|
105
109
|
/**************************************/
|
|
106
110
|
|
|
@@ -110,6 +114,7 @@
|
|
|
110
114
|
}
|
|
111
115
|
|
|
112
116
|
/**************************************/
|
|
117
|
+
|
|
113
118
|
/* Grid-row
|
|
114
119
|
/**************************************/
|
|
115
120
|
|
|
@@ -121,6 +126,7 @@
|
|
|
121
126
|
}
|
|
122
127
|
|
|
123
128
|
/**************************************/
|
|
129
|
+
|
|
124
130
|
/* Head
|
|
125
131
|
/**************************************/
|
|
126
132
|
|
|
@@ -134,6 +140,7 @@
|
|
|
134
140
|
}
|
|
135
141
|
|
|
136
142
|
/**************************************/
|
|
143
|
+
|
|
137
144
|
/* Head-cell
|
|
138
145
|
/**************************************/
|
|
139
146
|
|
|
@@ -146,6 +153,7 @@
|
|
|
146
153
|
}
|
|
147
154
|
|
|
148
155
|
/**************************************/
|
|
156
|
+
|
|
149
157
|
/* Heading
|
|
150
158
|
/**************************************/
|
|
151
159
|
|
|
@@ -156,10 +164,12 @@
|
|
|
156
164
|
}
|
|
157
165
|
|
|
158
166
|
/**************************************/
|
|
167
|
+
|
|
159
168
|
/* Next / Prev
|
|
160
169
|
/**************************************/
|
|
161
170
|
|
|
162
171
|
/** Next */
|
|
172
|
+
|
|
163
173
|
.rz-calendar-next-button {
|
|
164
174
|
height: var(--rz-size-7);
|
|
165
175
|
width: var(--rz-size-7);
|
|
@@ -174,6 +184,7 @@
|
|
|
174
184
|
}
|
|
175
185
|
|
|
176
186
|
/** Prev */
|
|
187
|
+
|
|
177
188
|
.rz-calendar-prev-button {
|
|
178
189
|
height: var(--rz-size-7);
|
|
179
190
|
width: var(--rz-size-7);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { GenericDoc } from '../../../../types';
|
|
3
|
+
import StatusDot from '../../sections/collection/StatusDot.svelte';
|
|
3
4
|
import UploadThumbCell from '../../sections/collection/upload-thumb-cell/UploadThumbCell.svelte';
|
|
4
5
|
|
|
5
6
|
type Props = { doc: GenericDoc };
|
|
@@ -15,7 +16,7 @@
|
|
|
15
16
|
|
|
16
17
|
<div class="rz-document-card">
|
|
17
18
|
<div class="rz-document-card__preview">
|
|
18
|
-
<UploadThumbCell mimeType={doc.mimeType} url={thumbnailUrl} />
|
|
19
|
+
<UploadThumbCell mimeType={doc.mimeType} url={thumbnailUrl || doc._thumbnail} />
|
|
19
20
|
</div>
|
|
20
21
|
|
|
21
22
|
<div class="rz-document-card__body">
|
|
@@ -23,22 +24,27 @@
|
|
|
23
24
|
{doc.title}
|
|
24
25
|
</p>
|
|
25
26
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
{#if doc.filesize || doc.mimeType}
|
|
28
|
+
<div class="rz-document-card__metadata">
|
|
29
|
+
{#each ['filesize', 'mimeType'] as key, index (index)}
|
|
30
|
+
<p>{doc[key]}</p>
|
|
31
|
+
{/each}
|
|
32
|
+
</div>
|
|
33
|
+
{/if}
|
|
34
|
+
|
|
35
|
+
{#if doc.status}
|
|
36
|
+
<StatusDot status={doc.status} />
|
|
37
|
+
{/if}
|
|
31
38
|
</div>
|
|
32
39
|
</div>
|
|
33
40
|
|
|
34
|
-
<style
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
--rz-card-hover-bg: light-dark(hsl(var(--rz-gray-18)), hsl(var(--rz-gray-4)));
|
|
38
|
-
--rz-card-bg: light-dark(hsl(var(--rz-gray-17)), hsl(var(--rz-gray-3)));
|
|
41
|
+
<style>:root {
|
|
42
|
+
--rz-card-hover-bg: light-dark(hsl(var(--rz-gray-19)), hsl(var(--rz-gray-4)));
|
|
43
|
+
--rz-card-bg: light-dark(hsl(var(--rz-gray-18)), hsl(var(--rz-gray-3)));
|
|
39
44
|
}
|
|
40
45
|
|
|
41
46
|
.rz-document-card {
|
|
47
|
+
--rz-dot-size: var(--rz-size-2);
|
|
42
48
|
border: var(--rz-border);
|
|
43
49
|
background-color: var(--rz-card-bg);
|
|
44
50
|
border-radius: var(--rz-radius-lg);
|
|
@@ -72,9 +78,10 @@
|
|
|
72
78
|
overflow: hidden;
|
|
73
79
|
word-break: break-all;
|
|
74
80
|
text-align: left;
|
|
75
|
-
|
|
76
|
-
font-variation-settings: 'wght'
|
|
77
|
-
|
|
81
|
+
|
|
82
|
+
font-variation-settings: 'wght' 600;
|
|
83
|
+
|
|
84
|
+
font-weight: 600;
|
|
78
85
|
}
|
|
79
86
|
|
|
80
87
|
.rz-document-card__body {
|
|
@@ -53,19 +53,13 @@
|
|
|
53
53
|
</button>
|
|
54
54
|
</div>
|
|
55
55
|
|
|
56
|
-
<style
|
|
57
|
-
|
|
58
|
-
/* Font */
|
|
59
|
-
|
|
60
|
-
/**************************************/
|
|
61
|
-
|
|
62
|
-
:root {
|
|
56
|
+
<style>:root {
|
|
63
57
|
--rz-ressource-card-bg: light-dark(hsl(var(--rz-gray-18)), hsl(var(--rz-gray-4)));
|
|
64
58
|
--rz-ressource-card-thumbnail-bg: light-dark(hsl(var(--rz-gray-15)), hsl(var(--rz-gray-2)));
|
|
65
59
|
--rz-border-radius: var(--rz-radius-md);
|
|
66
60
|
}
|
|
67
61
|
|
|
68
|
-
.rz-card-resource {
|
|
62
|
+
.rz-card-resource {
|
|
69
63
|
--padding: var(--rz-card-padding, var(--rz-size-2));
|
|
70
64
|
--rz-size: var(--rz-thumbnail-size, var(--rz-size-20));
|
|
71
65
|
background-color: var(--rz-ressource-card-bg);
|
|
@@ -78,7 +72,7 @@
|
|
|
78
72
|
max-width: 400px;
|
|
79
73
|
}
|
|
80
74
|
|
|
81
|
-
.rz-card-resource__thumbnail {
|
|
75
|
+
.rz-card-resource__thumbnail {
|
|
82
76
|
width: var(--rz-size);
|
|
83
77
|
height: var(--rz-size);
|
|
84
78
|
flex-shrink: 0;
|
|
@@ -90,19 +84,19 @@
|
|
|
90
84
|
border-radius: var(--rz-radius-md);
|
|
91
85
|
}
|
|
92
86
|
|
|
93
|
-
.rz-card-resource__image {
|
|
87
|
+
.rz-card-resource__image {
|
|
94
88
|
height: 100%;
|
|
95
89
|
width: 100%;
|
|
96
90
|
-o-object-fit: cover;
|
|
97
91
|
object-fit: cover;
|
|
98
92
|
}
|
|
99
93
|
|
|
100
|
-
.rz-card-resource__info {
|
|
94
|
+
.rz-card-resource__info {
|
|
101
95
|
margin-top: var(--rz-size-3);
|
|
102
96
|
padding-right: 2rem;
|
|
103
97
|
}
|
|
104
98
|
|
|
105
|
-
.rz-card-resource__title {
|
|
99
|
+
.rz-card-resource__title {
|
|
106
100
|
font-variation-settings: 'wght' 600;
|
|
107
101
|
font-weight: 600;
|
|
108
102
|
display: flex;
|
|
@@ -116,11 +110,11 @@
|
|
|
116
110
|
}
|
|
117
111
|
}
|
|
118
112
|
|
|
119
|
-
.rz-card-resource__info-text {
|
|
113
|
+
.rz-card-resource__info-text {
|
|
120
114
|
font-size: var(--rz-text-sm);
|
|
121
115
|
}
|
|
122
116
|
|
|
123
|
-
.rz-card-resource__remove {
|
|
117
|
+
.rz-card-resource__remove {
|
|
124
118
|
position: absolute;
|
|
125
119
|
color: hsl(var(--rz-color-fg));
|
|
126
120
|
right: var(--rz-size-2);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import { Checkbox as CheckboxPrimitive, type WithoutChildrenOrChild } from 'bits-ui';
|
|
3
2
|
import { Check } from '@lucide/svelte';
|
|
3
|
+
import { Checkbox as CheckboxPrimitive, type WithoutChildrenOrChild } from 'bits-ui';
|
|
4
4
|
import './checkbox.css';
|
|
5
5
|
|
|
6
6
|
let {
|
|
@@ -35,13 +35,7 @@
|
|
|
35
35
|
{/snippet}
|
|
36
36
|
</DropdownMenuPrimitive.CheckboxItem>
|
|
37
37
|
|
|
38
|
-
<style
|
|
39
|
-
|
|
40
|
-
/* Font */
|
|
41
|
-
|
|
42
|
-
/**************************************/
|
|
43
|
-
|
|
44
|
-
:global {
|
|
38
|
+
<style>:global {
|
|
45
39
|
.rz-dropdown-checkbox {
|
|
46
40
|
position: relative;
|
|
47
41
|
display: flex;
|