@warkypublic/svelix 0.1.46 → 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.
Files changed (97) hide show
  1. package/README.md +93 -33
  2. package/dist/components/BetterMenu/BetterMenu.svelte +21 -37
  3. package/dist/components/BetterMenu/BetterMenuAsyncButton.svelte +21 -31
  4. package/dist/components/BetterMenu/BetterMenuPreview.svelte +27 -29
  5. package/dist/components/BetterMenu/MenuRenderer.svelte +40 -51
  6. package/dist/components/Boxer/Boxer.svelte +488 -602
  7. package/dist/components/Boxer/BoxerTarget.svelte +6 -46
  8. package/dist/components/Boxer/BoxerTarget.svelte.d.ts +1 -0
  9. package/dist/components/Boxer/types.d.ts +0 -1
  10. package/dist/components/Button.svelte +19 -43
  11. package/dist/components/ButtonPreview.svelte +2 -11
  12. package/dist/components/CardGrid/CardGrid.svelte +443 -614
  13. package/dist/components/CardGrid/CardGridFilterPanel.svelte +111 -90
  14. package/dist/components/CardGrid/DefaultCard.svelte +80 -96
  15. package/dist/components/CardGrid/ImageCardStory.svelte +87 -36
  16. package/dist/components/ContentEditor/CollaboraInsertTextDemo.svelte +5 -10
  17. package/dist/components/ContentEditor/ContentEditor.svelte +24 -50
  18. package/dist/components/ContentEditor/subcomponents/AudioPlayer.svelte +17 -17
  19. package/dist/components/ContentEditor/subcomponents/CollaboraEditor.svelte +244 -309
  20. package/dist/components/ContentEditor/subcomponents/EmailViewer.svelte +2 -3
  21. package/dist/components/ContentEditor/subcomponents/ImageViewer.svelte +14 -15
  22. package/dist/components/ContentEditor/subcomponents/MarkdownViewer.svelte +74 -90
  23. package/dist/components/ContentEditor/subcomponents/MonacoEditor.svelte +75 -103
  24. package/dist/components/ContentEditor/subcomponents/Office365Editor.svelte +234 -297
  25. package/dist/components/ContentEditor/subcomponents/PdfViewer.svelte +14 -20
  26. package/dist/components/ContentEditor/subcomponents/TextEditor.svelte +122 -150
  27. package/dist/components/ContentEditor/subcomponents/UnknownFile.svelte +105 -126
  28. package/dist/components/ContentEditor/subcomponents/VideoPlayer.svelte +17 -17
  29. package/dist/components/ContentEditor/subcomponents/ZipViewer.svelte +2 -3
  30. package/dist/components/ErrorBoundary/ErrorBoundary.svelte +41 -58
  31. package/dist/components/ErrorBoundary/ErrorBoundaryPreview.svelte +8 -16
  32. package/dist/components/Former/Former.svelte +306 -424
  33. package/dist/components/Former/FormerButtonArea.svelte +17 -68
  34. package/dist/components/Former/FormerDrawer.svelte +26 -78
  35. package/dist/components/Former/FormerDrawerPreview.svelte +99 -89
  36. package/dist/components/Former/FormerModal.svelte +24 -70
  37. package/dist/components/Former/FormerModalPreview.svelte +99 -89
  38. package/dist/components/Former/FormerPreview.svelte +76 -78
  39. package/dist/components/Former/FormerRestApiPreview.svelte +55 -48
  40. package/dist/components/FormerControllers/ButtonCtrl.svelte +13 -44
  41. package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrl.svelte +280 -445
  42. package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrlCalendar.svelte +95 -136
  43. package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrlPickerPanel.svelte +3 -62
  44. package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrlTimeFields.svelte +143 -217
  45. package/dist/components/FormerControllers/IconButtonCtrl.svelte +13 -42
  46. package/dist/components/FormerControllers/InlineWrapper.svelte +12 -41
  47. package/dist/components/FormerControllers/InlineWrapperPreview.svelte +4 -26
  48. package/dist/components/FormerControllers/NativeSelectCtrl.svelte +3 -29
  49. package/dist/components/FormerControllers/NumberInputCtrl.svelte +9 -35
  50. package/dist/components/FormerControllers/PasswordInputCtrl.svelte +4 -23
  51. package/dist/components/FormerControllers/SwitchCtrl.svelte +3 -20
  52. package/dist/components/FormerControllers/TextAreaCtrl.svelte +3 -24
  53. package/dist/components/FormerControllers/TextInputCtrl.svelte +3 -24
  54. package/dist/components/GlobalStateStore/GlobalStateStoreProvider.svelte +73 -120
  55. package/dist/components/Gridler/components/Gridler.svelte +338 -442
  56. package/dist/components/Gridler/components/GridlerCanvas.svelte +720 -1115
  57. package/dist/components/Gridler/components/GridlerEditor.svelte +2 -15
  58. package/dist/components/Gridler/components/GridlerFull.svelte +520 -841
  59. package/dist/components/Gridler/components/GridlerFull.svelte.d.ts +1 -1
  60. package/dist/components/Gridler/components/GridlerFullWithFormerPreview.svelte +194 -147
  61. package/dist/components/Gridler/components/GridlerSearch.svelte +7 -16
  62. package/dist/components/Gridler/components/GridlerSearchToggle.svelte +7 -19
  63. package/dist/components/Gridler/types.d.ts +1 -1
  64. package/dist/components/Icons/IconAdd.svelte +1 -3
  65. package/dist/components/Icons/IconAlertCircle.svelte +1 -3
  66. package/dist/components/Icons/IconAlertTriangle.svelte +1 -3
  67. package/dist/components/Icons/IconCamera.svelte +1 -3
  68. package/dist/components/Icons/IconClose.svelte +1 -3
  69. package/dist/components/Icons/IconEdit.svelte +1 -3
  70. package/dist/components/Icons/IconFilter.svelte +1 -3
  71. package/dist/components/Icons/IconSearch.svelte +1 -3
  72. package/dist/components/Icons/IconSort.svelte +1 -3
  73. package/dist/components/Icons/IconTrash.svelte +1 -3
  74. package/dist/components/Portal/Portal.svelte +14 -38
  75. package/dist/components/Screenshot/Screenshot.svelte +7 -13
  76. package/dist/components/Svark/Svark.svelte +680 -852
  77. package/dist/components/Svark/SvarkContextMenu.svelte +44 -63
  78. package/dist/components/Svark/SvarkInfiniteLoader.svelte +2 -6
  79. package/dist/components/Svark/SvarkPager.svelte +2 -28
  80. package/dist/components/Svark/SvarkSelectionDemo.svelte +4 -8
  81. package/dist/components/Svark/SvarkTopBar.svelte +9 -74
  82. package/dist/components/SvarkGrid/SvarkGrid.svelte +877 -1123
  83. package/dist/components/SvarkGrid/components/SvarkColumnFilterForm.svelte +45 -58
  84. package/dist/components/SvarkGrid/components/SvarkContextMenu.svelte +44 -63
  85. package/dist/components/SvarkGrid/components/SvarkHeaderFilterCell.svelte +41 -75
  86. package/dist/components/SvarkGrid/components/SvarkInfiniteLoader.svelte +2 -6
  87. package/dist/components/SvarkGrid/components/SvarkPager.svelte +2 -28
  88. package/dist/components/SvarkGrid/components/SvarkSearchPopover.svelte +8 -16
  89. package/dist/components/SvarkGrid/components/SvarkTopBar.svelte +6 -62
  90. package/dist/components/SvarkGrid/internal/SvarkGridView.svelte +345 -507
  91. package/dist/components/VTree/VTree.svelte +349 -431
  92. package/dist/components/VTree/VTreeContextMenu.svelte +21 -33
  93. package/dist/components/VTree/VTreeEventsDemo.svelte +48 -58
  94. package/dist/components/VTree/VTreeRow.svelte +13 -65
  95. package/dist/components/VTree/VTreeSearch.svelte +6 -13
  96. package/dist/components/VTree/VTreeVirtualViewport.svelte +37 -106
  97. package/package.json +30 -29
@@ -1,67 +1,48 @@
1
- <script lang="ts">
2
- import Portal from '../Portal/Portal.svelte';
3
- import { registerOverlay } from '../OverlayStack';
4
- import { tick } from 'svelte';
5
- import type { SvarkContextMenuItem } from './types.js';
6
-
7
- export interface Props {
8
- open: boolean;
9
- x: number;
10
- y: number;
11
- items: SvarkContextMenuItem[];
12
- onselectitem?: (item: SvarkContextMenuItem | { id: '__close__' }) => void;
13
- }
14
-
15
- const { open, x, y, items, onselectitem }: Props = $props();
16
-
17
- let backdropZ = $state(1090);
18
- let menuZ = $state(1100);
19
-
20
- let menuRef = $state<HTMLDivElement | null>(null);
21
- let clampedX = $state(0);
22
- let clampedY = $state(0);
23
-
24
- function clampToViewport() {
25
- const node = menuRef;
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
- export interface Props {
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
- export interface Props {
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
- import Svark from './Svark.svelte';
3
- import type { SvarkProps } from './types.js';
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
- import type { Snippet } from 'svelte';
3
- import type {
4
- SvarkFilterOptionItem,
5
- SvarkFilterableColumn,
6
- SvarkPopupFilterDraft
7
- } from './types.js';
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">