@warkypublic/svelix 0.1.44 → 0.1.47
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/README.md +93 -33
- package/dist/components/BetterMenu/BetterMenu.svelte +21 -37
- package/dist/components/BetterMenu/BetterMenuAsyncButton.svelte +21 -31
- package/dist/components/BetterMenu/BetterMenuPreview.svelte +27 -29
- package/dist/components/BetterMenu/MenuRenderer.svelte +40 -51
- package/dist/components/Boxer/Boxer.svelte +488 -602
- package/dist/components/Boxer/BoxerTarget.svelte +6 -46
- package/dist/components/Boxer/BoxerTarget.svelte.d.ts +1 -0
- package/dist/components/Boxer/types.d.ts +0 -1
- package/dist/components/Button.svelte +19 -43
- package/dist/components/ButtonPreview.svelte +2 -11
- package/dist/components/CardGrid/CardGrid.svelte +1141 -0
- package/dist/components/CardGrid/CardGrid.svelte.d.ts +61 -0
- package/dist/components/CardGrid/CardGridFilterPanel.svelte +320 -0
- package/dist/components/CardGrid/CardGridFilterPanel.svelte.d.ts +11 -0
- package/dist/components/CardGrid/DefaultCard.svelte +287 -0
- package/dist/components/CardGrid/DefaultCard.svelte.d.ts +10 -0
- package/dist/components/CardGrid/ImageCardStory.svelte +308 -0
- package/dist/components/CardGrid/ImageCardStory.svelte.d.ts +18 -0
- package/dist/components/CardGrid/cardGrid.d.ts +33 -0
- package/dist/components/CardGrid/cardGrid.js +21 -0
- package/dist/components/CardGrid/index.d.ts +4 -0
- package/dist/components/CardGrid/index.js +4 -0
- package/dist/components/ContentEditor/CollaboraInsertTextDemo.svelte +5 -10
- package/dist/components/ContentEditor/ContentEditor.svelte +24 -50
- package/dist/components/ContentEditor/subcomponents/AudioPlayer.svelte +17 -17
- package/dist/components/ContentEditor/subcomponents/CollaboraEditor.svelte +244 -309
- package/dist/components/ContentEditor/subcomponents/EmailViewer.svelte +2 -3
- package/dist/components/ContentEditor/subcomponents/ImageViewer.svelte +14 -15
- package/dist/components/ContentEditor/subcomponents/MarkdownViewer.svelte +74 -90
- package/dist/components/ContentEditor/subcomponents/MonacoEditor.svelte +75 -103
- package/dist/components/ContentEditor/subcomponents/Office365Editor.svelte +234 -297
- package/dist/components/ContentEditor/subcomponents/PdfViewer.svelte +14 -20
- package/dist/components/ContentEditor/subcomponents/TextEditor.svelte +122 -150
- package/dist/components/ContentEditor/subcomponents/UnknownFile.svelte +105 -126
- package/dist/components/ContentEditor/subcomponents/VideoPlayer.svelte +17 -17
- package/dist/components/ContentEditor/subcomponents/ZipViewer.svelte +2 -3
- package/dist/components/ErrorBoundary/ErrorBoundary.svelte +41 -58
- package/dist/components/ErrorBoundary/ErrorBoundaryPreview.svelte +8 -16
- package/dist/components/Former/Former.svelte +306 -424
- package/dist/components/Former/FormerButtonArea.svelte +17 -68
- package/dist/components/Former/FormerDrawer.svelte +26 -78
- package/dist/components/Former/FormerDrawerPreview.svelte +99 -89
- package/dist/components/Former/FormerModal.svelte +24 -70
- package/dist/components/Former/FormerModalPreview.svelte +99 -89
- package/dist/components/Former/FormerPreview.svelte +76 -78
- package/dist/components/Former/FormerRestApiPreview.svelte +55 -48
- package/dist/components/FormerControllers/ButtonCtrl.svelte +13 -44
- package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrl.svelte +280 -445
- package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrlCalendar.svelte +95 -136
- package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrlPickerPanel.svelte +3 -62
- package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrlTimeFields.svelte +143 -217
- package/dist/components/FormerControllers/IconButtonCtrl.svelte +13 -42
- package/dist/components/FormerControllers/InlineWrapper.svelte +12 -41
- package/dist/components/FormerControllers/InlineWrapperPreview.svelte +4 -26
- package/dist/components/FormerControllers/NativeSelectCtrl.svelte +3 -29
- package/dist/components/FormerControllers/NumberInputCtrl.svelte +9 -35
- package/dist/components/FormerControllers/PasswordInputCtrl.svelte +4 -23
- package/dist/components/FormerControllers/SwitchCtrl.svelte +3 -20
- package/dist/components/FormerControllers/TextAreaCtrl.svelte +3 -24
- package/dist/components/FormerControllers/TextInputCtrl.svelte +3 -24
- package/dist/components/GlobalStateStore/GlobalStateStoreProvider.svelte +73 -120
- package/dist/components/Gridler/components/Gridler.svelte +338 -442
- package/dist/components/Gridler/components/GridlerCanvas.svelte +720 -1115
- package/dist/components/Gridler/components/GridlerEditor.svelte +2 -15
- package/dist/components/Gridler/components/GridlerFull.svelte +520 -841
- package/dist/components/Gridler/components/GridlerFull.svelte.d.ts +1 -1
- package/dist/components/Gridler/components/GridlerFullWithFormerPreview.svelte +194 -147
- package/dist/components/Gridler/components/GridlerSearch.svelte +7 -16
- package/dist/components/Gridler/components/GridlerSearchToggle.svelte +7 -19
- package/dist/components/Gridler/types.d.ts +1 -1
- package/dist/components/Icons/IconAdd.svelte +1 -3
- package/dist/components/Icons/IconAlertCircle.svelte +1 -3
- package/dist/components/Icons/IconAlertTriangle.svelte +1 -3
- package/dist/components/Icons/IconCamera.svelte +1 -3
- package/dist/components/Icons/IconClose.svelte +1 -3
- package/dist/components/Icons/IconEdit.svelte +1 -3
- package/dist/components/Icons/IconFilter.svelte +1 -3
- package/dist/components/Icons/IconSearch.svelte +1 -3
- package/dist/components/Icons/IconSort.svelte +1 -3
- package/dist/components/Icons/IconTrash.svelte +1 -3
- package/dist/components/Portal/Portal.svelte +14 -38
- package/dist/components/Screenshot/Screenshot.svelte +7 -13
- package/dist/components/Svark/Svark.svelte +680 -852
- package/dist/components/Svark/SvarkContextMenu.svelte +44 -63
- package/dist/components/Svark/SvarkInfiniteLoader.svelte +2 -6
- package/dist/components/Svark/SvarkPager.svelte +2 -28
- package/dist/components/Svark/SvarkSelectionDemo.svelte +4 -8
- package/dist/components/Svark/SvarkTopBar.svelte +9 -74
- package/dist/components/SvarkGrid/SvarkGrid.svelte +877 -1123
- package/dist/components/SvarkGrid/components/SvarkColumnFilterForm.svelte +45 -58
- package/dist/components/SvarkGrid/components/SvarkContextMenu.svelte +44 -63
- package/dist/components/SvarkGrid/components/SvarkHeaderFilterCell.svelte +41 -75
- package/dist/components/SvarkGrid/components/SvarkInfiniteLoader.svelte +2 -6
- package/dist/components/SvarkGrid/components/SvarkPager.svelte +2 -28
- package/dist/components/SvarkGrid/components/SvarkSearchPopover.svelte +8 -16
- package/dist/components/SvarkGrid/components/SvarkTopBar.svelte +6 -62
- package/dist/components/SvarkGrid/internal/SvarkGridView.svelte +345 -507
- package/dist/components/VTree/VTree.svelte +349 -431
- package/dist/components/VTree/VTreeContextMenu.svelte +21 -33
- package/dist/components/VTree/VTreeEventsDemo.svelte +48 -58
- package/dist/components/VTree/VTreeRow.svelte +13 -65
- package/dist/components/VTree/VTreeSearch.svelte +6 -13
- package/dist/components/VTree/VTreeVirtualViewport.svelte +37 -106
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +1 -0
- package/llm/COMPONENT_GUIDE.md +240 -0
- package/llm/plans/card_grid.plan.md +305 -0
- package/package.json +48 -46
|
@@ -1,67 +1,48 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
if (!node) return;
|
|
27
|
-
|
|
28
|
-
const rect = node.getBoundingClientRect();
|
|
29
|
-
const vw = window.innerWidth;
|
|
30
|
-
const vh = window.innerHeight;
|
|
31
|
-
|
|
32
|
-
// Keep the menu inside the viewport with a small gutter.
|
|
33
|
-
const gutter = 8;
|
|
34
|
-
clampedX = Math.max(gutter, Math.min(clampedX, vw - rect.width - gutter));
|
|
35
|
-
clampedY = Math.max(gutter, Math.min(clampedY, vh - rect.height - gutter));
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
$effect(() => {
|
|
39
|
-
if (!open) return;
|
|
40
|
-
|
|
41
|
-
const overlay = registerOverlay({ kind: 'contextmenu', mount: 'portal' });
|
|
42
|
-
backdropZ = overlay.layer.backdrop;
|
|
43
|
-
menuZ = overlay.layer.content;
|
|
44
|
-
|
|
45
|
-
clampedX = x;
|
|
46
|
-
clampedY = y;
|
|
47
|
-
|
|
48
|
-
// Wait for the menu to render before measuring and clamping.
|
|
49
|
-
void tick().then(clampToViewport);
|
|
50
|
-
|
|
51
|
-
return () => {
|
|
52
|
-
overlay.unregister();
|
|
53
|
-
backdropZ = 1090;
|
|
54
|
-
menuZ = 1100;
|
|
55
|
-
menuRef = null;
|
|
56
|
-
};
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
$effect(() => {
|
|
60
|
-
if (!open) return;
|
|
61
|
-
clampedX = x;
|
|
62
|
-
clampedY = y;
|
|
63
|
-
void tick().then(clampToViewport);
|
|
1
|
+
<script lang="ts">import Portal from "../Portal/Portal.svelte";
|
|
2
|
+
import { registerOverlay } from "../OverlayStack";
|
|
3
|
+
import { tick } from "svelte";
|
|
4
|
+
const { open, x, y, items, onselectitem } = $props();
|
|
5
|
+
let backdropZ = $state(1090);
|
|
6
|
+
let menuZ = $state(1100);
|
|
7
|
+
let menuRef = $state(null);
|
|
8
|
+
let clampedX = $state(0);
|
|
9
|
+
let clampedY = $state(0);
|
|
10
|
+
function clampToViewport() {
|
|
11
|
+
const node = menuRef;
|
|
12
|
+
if (!node) return;
|
|
13
|
+
const rect = node.getBoundingClientRect();
|
|
14
|
+
const vw = window.innerWidth;
|
|
15
|
+
const vh = window.innerHeight;
|
|
16
|
+
// Keep the menu inside the viewport with a small gutter.
|
|
17
|
+
const gutter = 8;
|
|
18
|
+
clampedX = Math.max(gutter, Math.min(clampedX, vw - rect.width - gutter));
|
|
19
|
+
clampedY = Math.max(gutter, Math.min(clampedY, vh - rect.height - gutter));
|
|
20
|
+
}
|
|
21
|
+
$effect(() => {
|
|
22
|
+
if (!open) return;
|
|
23
|
+
const overlay = registerOverlay({
|
|
24
|
+
kind: "contextmenu",
|
|
25
|
+
mount: "portal"
|
|
64
26
|
});
|
|
27
|
+
backdropZ = overlay.layer.backdrop;
|
|
28
|
+
menuZ = overlay.layer.content;
|
|
29
|
+
clampedX = x;
|
|
30
|
+
clampedY = y;
|
|
31
|
+
// Wait for the menu to render before measuring and clamping.
|
|
32
|
+
void tick().then(clampToViewport);
|
|
33
|
+
return () => {
|
|
34
|
+
overlay.unregister();
|
|
35
|
+
backdropZ = 1090;
|
|
36
|
+
menuZ = 1100;
|
|
37
|
+
menuRef = null;
|
|
38
|
+
};
|
|
39
|
+
});
|
|
40
|
+
$effect(() => {
|
|
41
|
+
if (!open) return;
|
|
42
|
+
clampedX = x;
|
|
43
|
+
clampedY = y;
|
|
44
|
+
void tick().then(clampToViewport);
|
|
45
|
+
});
|
|
65
46
|
</script>
|
|
66
47
|
|
|
67
48
|
<Portal>
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
|
|
3
|
-
dark?: boolean;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
let { dark = false }: Props = $props();
|
|
1
|
+
<script lang="ts">let { dark = false } = $props();
|
|
2
|
+
export {};
|
|
7
3
|
</script>
|
|
8
4
|
|
|
9
5
|
<div class="svark-inf-loader" class:svark-inf-loader-dark={dark} aria-label="Loading more rows...">
|
|
@@ -1,31 +1,5 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
|
|
3
|
-
dark?: boolean;
|
|
4
|
-
page: number;
|
|
5
|
-
total: number;
|
|
6
|
-
totalPages: number;
|
|
7
|
-
pageStart: number;
|
|
8
|
-
pageEnd: number;
|
|
9
|
-
loading: boolean;
|
|
10
|
-
onFirst: () => void;
|
|
11
|
-
onPrev: () => void;
|
|
12
|
-
onNext: () => void;
|
|
13
|
-
onLast: () => void;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
let {
|
|
17
|
-
dark = false,
|
|
18
|
-
page,
|
|
19
|
-
total,
|
|
20
|
-
totalPages,
|
|
21
|
-
pageStart,
|
|
22
|
-
pageEnd,
|
|
23
|
-
loading,
|
|
24
|
-
onFirst,
|
|
25
|
-
onPrev,
|
|
26
|
-
onNext,
|
|
27
|
-
onLast
|
|
28
|
-
}: Props = $props();
|
|
1
|
+
<script lang="ts">let { dark = false, page, total, totalPages, pageStart, pageEnd, loading, onFirst, onPrev, onNext, onLast } = $props();
|
|
2
|
+
export {};
|
|
29
3
|
</script>
|
|
30
4
|
|
|
31
5
|
<div class="svark-pager" class:svark-pager-dark={dark} aria-label="Pagination">
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
// Accept all Svark props but own the onselect handler
|
|
6
|
-
let { onselect: _ignored, ...rest }: SvarkProps = $props();
|
|
7
|
-
|
|
8
|
-
let selectedIds = $state<(string | number)[]>([]);
|
|
1
|
+
<script lang="ts">import Svark from "./Svark.svelte";
|
|
2
|
+
// Accept all Svark props but own the onselect handler
|
|
3
|
+
let { onselect: _ignored, ...rest } = $props();
|
|
4
|
+
let selectedIds = $state([]);
|
|
9
5
|
</script>
|
|
10
6
|
|
|
11
7
|
<Svark
|
|
@@ -1,78 +1,13 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export interface Props {
|
|
10
|
-
dark?: boolean;
|
|
11
|
-
topBarLeft?: Snippet;
|
|
12
|
-
topBarRight?: Snippet;
|
|
13
|
-
searchOpen: boolean;
|
|
14
|
-
canFilter: boolean;
|
|
15
|
-
filterMenuOpen: boolean;
|
|
16
|
-
searchValue: string;
|
|
17
|
-
popupAppliedFilters: SvarkPopupFilterDraft[];
|
|
18
|
-
popupDraftFilters: SvarkPopupFilterDraft[];
|
|
19
|
-
filterableColumns: SvarkFilterableColumn[];
|
|
20
|
-
filterOperatorLabels: Record<string, string>;
|
|
21
|
-
normalizeOperatorToken: (value: string | undefined) => string;
|
|
22
|
-
getSupportedOperators: (columnId: string) => string[];
|
|
23
|
-
getColumnOptions: (columnId: string) => SvarkFilterOptionItem[];
|
|
24
|
-
onToggleSearch: () => void;
|
|
25
|
-
onSearchChange: (value: string) => void;
|
|
26
|
-
onToggleFilterMenu: () => void;
|
|
27
|
-
onClearPopupFilters: () => void;
|
|
28
|
-
onRemoveAppliedPopupFilter: (id: number) => void;
|
|
29
|
-
onUpdatePopupDraft: (
|
|
30
|
-
id: number,
|
|
31
|
-
updates: Partial<SvarkPopupFilterDraft>,
|
|
32
|
-
resetValue?: boolean
|
|
33
|
-
) => void;
|
|
34
|
-
onRemovePopupDraft: (id: number) => void;
|
|
35
|
-
onAddPopupDraft: () => void;
|
|
36
|
-
onCloseFilterMenu: () => void;
|
|
37
|
-
onApplyPopupDrafts: () => void;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
let {
|
|
41
|
-
dark = false,
|
|
42
|
-
topBarLeft,
|
|
43
|
-
topBarRight,
|
|
44
|
-
searchOpen,
|
|
45
|
-
canFilter,
|
|
46
|
-
filterMenuOpen,
|
|
47
|
-
searchValue,
|
|
48
|
-
popupAppliedFilters,
|
|
49
|
-
popupDraftFilters,
|
|
50
|
-
filterableColumns,
|
|
51
|
-
filterOperatorLabels,
|
|
52
|
-
normalizeOperatorToken,
|
|
53
|
-
getSupportedOperators,
|
|
54
|
-
getColumnOptions,
|
|
55
|
-
onToggleSearch,
|
|
56
|
-
onSearchChange,
|
|
57
|
-
onToggleFilterMenu,
|
|
58
|
-
onClearPopupFilters,
|
|
59
|
-
onRemoveAppliedPopupFilter,
|
|
60
|
-
onUpdatePopupDraft,
|
|
61
|
-
onRemovePopupDraft,
|
|
62
|
-
onAddPopupDraft,
|
|
63
|
-
onCloseFilterMenu,
|
|
64
|
-
onApplyPopupDrafts
|
|
65
|
-
}: Props = $props();
|
|
66
|
-
|
|
67
|
-
let searchInputEl = $state<HTMLInputElement | null>(null);
|
|
68
|
-
|
|
69
|
-
$effect(() => {
|
|
70
|
-
if (!searchOpen) return;
|
|
71
|
-
queueMicrotask(() => {
|
|
72
|
-
searchInputEl?.focus();
|
|
73
|
-
searchInputEl?.select();
|
|
74
|
-
});
|
|
1
|
+
<script lang="ts">let { dark = false, topBarLeft, topBarRight, searchOpen, canFilter, filterMenuOpen, searchValue, popupAppliedFilters, popupDraftFilters, filterableColumns, filterOperatorLabels, normalizeOperatorToken, getSupportedOperators, getColumnOptions, onToggleSearch, onSearchChange, onToggleFilterMenu, onClearPopupFilters, onRemoveAppliedPopupFilter, onUpdatePopupDraft, onRemovePopupDraft, onAddPopupDraft, onCloseFilterMenu, onApplyPopupDrafts } = $props();
|
|
2
|
+
let searchInputEl = $state(null);
|
|
3
|
+
$effect(() => {
|
|
4
|
+
if (!searchOpen) return;
|
|
5
|
+
queueMicrotask(() => {
|
|
6
|
+
searchInputEl?.focus();
|
|
7
|
+
searchInputEl?.select();
|
|
75
8
|
});
|
|
9
|
+
});
|
|
10
|
+
export {};
|
|
76
11
|
</script>
|
|
77
12
|
|
|
78
13
|
<div class="svark-toolbar" class:svark-toolbar-dark={dark} aria-label="Grid tools">
|