@salmexio/ui 0.4.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/README.md +52 -3
  2. package/dist/dialogs/ContextMenu/ContextMenu.svelte +97 -94
  3. package/dist/dialogs/ContextMenu/ContextMenu.svelte.d.ts +3 -2
  4. package/dist/dialogs/ContextMenu/ContextMenu.svelte.d.ts.map +1 -1
  5. package/dist/dialogs/Modal/Modal.svelte +112 -116
  6. package/dist/dialogs/Modal/Modal.svelte.d.ts +1 -1
  7. package/dist/feedback/Alert/Alert.svelte +115 -221
  8. package/dist/feedback/Alert/Alert.svelte.d.ts +1 -1
  9. package/dist/feedback/ProgressBar/ProgressBar.svelte +246 -0
  10. package/dist/feedback/ProgressBar/ProgressBar.svelte.d.ts +40 -0
  11. package/dist/feedback/ProgressBar/ProgressBar.svelte.d.ts.map +1 -0
  12. package/dist/feedback/ProgressBar/index.d.ts +2 -0
  13. package/dist/feedback/ProgressBar/index.d.ts.map +1 -0
  14. package/dist/feedback/ProgressBar/index.js +1 -0
  15. package/dist/feedback/Skeleton/Skeleton.svelte +153 -0
  16. package/dist/feedback/Skeleton/Skeleton.svelte.d.ts +37 -0
  17. package/dist/feedback/Skeleton/Skeleton.svelte.d.ts.map +1 -0
  18. package/dist/feedback/Skeleton/index.d.ts +2 -0
  19. package/dist/feedback/Skeleton/index.d.ts.map +1 -0
  20. package/dist/feedback/Skeleton/index.js +1 -0
  21. package/dist/feedback/Spinner/Spinner.svelte +86 -151
  22. package/dist/feedback/Spinner/Spinner.svelte.d.ts +5 -3
  23. package/dist/feedback/Spinner/Spinner.svelte.d.ts.map +1 -1
  24. package/dist/feedback/Toast/Toaster.svelte +431 -0
  25. package/dist/feedback/Toast/Toaster.svelte.d.ts +22 -0
  26. package/dist/feedback/Toast/Toaster.svelte.d.ts.map +1 -0
  27. package/dist/feedback/Toast/index.d.ts +4 -0
  28. package/dist/feedback/Toast/index.d.ts.map +1 -0
  29. package/dist/feedback/Toast/index.js +2 -0
  30. package/dist/feedback/Toast/toastStore.d.ts +34 -0
  31. package/dist/feedback/Toast/toastStore.d.ts.map +1 -0
  32. package/dist/feedback/Toast/toastStore.js +43 -0
  33. package/dist/feedback/index.d.ts +4 -0
  34. package/dist/feedback/index.d.ts.map +1 -1
  35. package/dist/feedback/index.js +3 -0
  36. package/dist/forms/Checkbox/Checkbox.svelte +82 -104
  37. package/dist/forms/Checkbox/Checkbox.svelte.d.ts +1 -1
  38. package/dist/forms/Select/Select.svelte +137 -179
  39. package/dist/forms/Select/Select.svelte.d.ts +1 -1
  40. package/dist/forms/Slider/Slider.svelte +356 -0
  41. package/dist/forms/Slider/Slider.svelte.d.ts +50 -0
  42. package/dist/forms/Slider/Slider.svelte.d.ts.map +1 -0
  43. package/dist/forms/Slider/index.d.ts +2 -0
  44. package/dist/forms/Slider/index.d.ts.map +1 -0
  45. package/dist/forms/Slider/index.js +1 -0
  46. package/dist/forms/TextInput/TextInput.svelte +151 -167
  47. package/dist/forms/TextInput/TextInput.svelte.d.ts +1 -1
  48. package/dist/forms/Textarea/Textarea.svelte +615 -0
  49. package/dist/forms/Textarea/Textarea.svelte.d.ts +47 -0
  50. package/dist/forms/Textarea/Textarea.svelte.d.ts.map +1 -0
  51. package/dist/forms/Textarea/index.d.ts +2 -0
  52. package/dist/forms/Textarea/index.d.ts.map +1 -0
  53. package/dist/forms/Textarea/index.js +1 -0
  54. package/dist/forms/Toggle/Toggle.svelte +239 -0
  55. package/dist/forms/Toggle/Toggle.svelte.d.ts +39 -0
  56. package/dist/forms/Toggle/Toggle.svelte.d.ts.map +1 -0
  57. package/dist/forms/Toggle/index.d.ts +2 -0
  58. package/dist/forms/Toggle/index.d.ts.map +1 -0
  59. package/dist/forms/Toggle/index.js +1 -0
  60. package/dist/forms/index.d.ts +3 -0
  61. package/dist/forms/index.d.ts.map +1 -1
  62. package/dist/forms/index.js +3 -0
  63. package/dist/index.d.ts +0 -1
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +0 -1
  66. package/dist/layout/Card/Card.svelte +64 -39
  67. package/dist/layout/Card/Card.svelte.d.ts +1 -1
  68. package/dist/layout/Card/Card.svelte.d.ts.map +1 -1
  69. package/dist/layout/Container/Container.svelte +71 -71
  70. package/dist/layout/Container/Container.svelte.d.ts +2 -2
  71. package/dist/navigation/CommandPalette/CommandPalette.svelte +407 -189
  72. package/dist/navigation/CommandPalette/CommandPalette.svelte.d.ts +8 -3
  73. package/dist/navigation/CommandPalette/CommandPalette.svelte.d.ts.map +1 -1
  74. package/dist/navigation/Tabs/Tabs.svelte +95 -181
  75. package/dist/navigation/Tabs/Tabs.svelte.d.ts +2 -2
  76. package/dist/primitives/Badge/Badge.svelte +83 -220
  77. package/dist/primitives/Badge/Badge.svelte.d.ts +2 -2
  78. package/dist/primitives/Badge/Badge.svelte.d.ts.map +1 -1
  79. package/dist/primitives/Button/Button.svelte +144 -195
  80. package/dist/primitives/Button/Button.svelte.d.ts +3 -3
  81. package/dist/primitives/Button/Button.svelte.d.ts.map +1 -1
  82. package/dist/primitives/Tooltip/Tooltip.svelte +260 -0
  83. package/dist/primitives/Tooltip/Tooltip.svelte.d.ts +36 -0
  84. package/dist/primitives/Tooltip/Tooltip.svelte.d.ts.map +1 -0
  85. package/dist/primitives/Tooltip/index.d.ts +2 -0
  86. package/dist/primitives/Tooltip/index.d.ts.map +1 -0
  87. package/dist/primitives/Tooltip/index.js +1 -0
  88. package/dist/primitives/index.d.ts +1 -0
  89. package/dist/primitives/index.d.ts.map +1 -1
  90. package/dist/primitives/index.js +1 -0
  91. package/dist/styles/tokens.css +197 -265
  92. package/package.json +5 -5
  93. package/dist/windowing/Window/Window.svelte +0 -637
  94. package/dist/windowing/Window/Window.svelte.d.ts +0 -65
  95. package/dist/windowing/Window/Window.svelte.d.ts.map +0 -1
  96. package/dist/windowing/Window/index.d.ts +0 -2
  97. package/dist/windowing/Window/index.d.ts.map +0 -1
  98. package/dist/windowing/Window/index.js +0 -1
  99. package/dist/windowing/WindowManager/WindowManager.svelte +0 -425
  100. package/dist/windowing/WindowManager/WindowManager.svelte.d.ts +0 -38
  101. package/dist/windowing/WindowManager/WindowManager.svelte.d.ts.map +0 -1
  102. package/dist/windowing/WindowManager/index.d.ts +0 -2
  103. package/dist/windowing/WindowManager/index.d.ts.map +0 -1
  104. package/dist/windowing/WindowManager/index.js +0 -1
  105. package/dist/windowing/index.d.ts +0 -5
  106. package/dist/windowing/index.d.ts.map +0 -1
  107. package/dist/windowing/index.js +0 -3
  108. package/dist/windowing/windowStore.svelte.d.ts +0 -49
  109. package/dist/windowing/windowStore.svelte.d.ts.map +0 -1
  110. package/dist/windowing/windowStore.svelte.js +0 -170
@@ -1,170 +0,0 @@
1
- /**
2
- * Window Manager state — Svelte 5 runes-based reactive store.
3
- * Manages window lifecycle: open, focus, minimize, maximize, restore, close.
4
- * Counter-based z-index stacking; taskbar-aware focus cycling.
5
- */
6
- export function createWindowManager() {
7
- const windows = $state([]);
8
- let nextZ = $state(100);
9
- function getIdx(id) {
10
- return windows.findIndex((w) => w.id === id);
11
- }
12
- function setAllUnfocused() {
13
- for (const w of windows) {
14
- w.focused = false;
15
- }
16
- }
17
- function focusNextVisible(excludeId) {
18
- const visible = windows.filter((w) => !w.minimized && w.id !== excludeId);
19
- if (visible.length === 0)
20
- return;
21
- const top = visible.reduce((a, b) => (a.zIndex > b.zIndex ? a : b));
22
- setAllUnfocused();
23
- top.focused = true;
24
- }
25
- return {
26
- get windows() {
27
- return windows;
28
- },
29
- register(id, title, opts) {
30
- if (getIdx(id) >= 0)
31
- return;
32
- nextZ++;
33
- setAllUnfocused();
34
- windows.push({
35
- id,
36
- title,
37
- minimized: false,
38
- maximized: false,
39
- focused: true,
40
- zIndex: nextZ,
41
- savedGeometry: null,
42
- x: opts?.x ?? 0,
43
- y: opts?.y ?? 0,
44
- width: opts?.width ?? 400,
45
- height: opts?.height ?? 300
46
- });
47
- },
48
- unregister(id) {
49
- const idx = getIdx(id);
50
- if (idx < 0)
51
- return;
52
- windows.splice(idx, 1);
53
- focusNextVisible();
54
- },
55
- focus(id) {
56
- const win = windows[getIdx(id)];
57
- if (!win || win.focused)
58
- return;
59
- nextZ++;
60
- setAllUnfocused();
61
- win.focused = true;
62
- win.zIndex = nextZ;
63
- },
64
- minimize(id) {
65
- const win = windows[getIdx(id)];
66
- if (!win || win.minimized)
67
- return;
68
- win.minimized = true;
69
- win.focused = false;
70
- focusNextVisible(id);
71
- },
72
- maximize(id, containerWidth, containerHeight) {
73
- const win = windows[getIdx(id)];
74
- if (!win || win.maximized)
75
- return;
76
- win.savedGeometry = { x: win.x, y: win.y, width: win.width, height: win.height };
77
- win.x = 0;
78
- win.y = 0;
79
- win.width = containerWidth;
80
- win.height = containerHeight;
81
- win.maximized = true;
82
- nextZ++;
83
- setAllUnfocused();
84
- win.focused = true;
85
- win.zIndex = nextZ;
86
- },
87
- restore(id) {
88
- const win = windows[getIdx(id)];
89
- if (!win)
90
- return;
91
- if (win.minimized) {
92
- win.minimized = false;
93
- nextZ++;
94
- setAllUnfocused();
95
- win.focused = true;
96
- win.zIndex = nextZ;
97
- return;
98
- }
99
- if (win.maximized && win.savedGeometry) {
100
- win.x = win.savedGeometry.x;
101
- win.y = win.savedGeometry.y;
102
- win.width = win.savedGeometry.width;
103
- win.height = win.savedGeometry.height;
104
- win.savedGeometry = null;
105
- win.maximized = false;
106
- }
107
- },
108
- close(id) {
109
- const idx = getIdx(id);
110
- if (idx < 0)
111
- return;
112
- windows.splice(idx, 1);
113
- focusNextVisible();
114
- },
115
- toggleMinimize(id) {
116
- const win = windows[getIdx(id)];
117
- if (!win)
118
- return;
119
- if (win.minimized) {
120
- this.restore(id);
121
- }
122
- else if (win.focused) {
123
- this.minimize(id);
124
- }
125
- else {
126
- this.focus(id);
127
- }
128
- },
129
- move(id, x, y) {
130
- const win = windows[getIdx(id)];
131
- if (!win || win.maximized)
132
- return;
133
- win.x = x;
134
- win.y = y;
135
- },
136
- resize(id, width, height) {
137
- const win = windows[getIdx(id)];
138
- if (!win || win.maximized)
139
- return;
140
- win.width = width;
141
- win.height = height;
142
- },
143
- focusNext() {
144
- const visible = windows.filter((w) => !w.minimized);
145
- if (visible.length <= 1)
146
- return;
147
- const sorted = [...visible].sort((a, b) => a.zIndex - b.zIndex);
148
- const focusedIdx = sorted.findIndex((w) => w.focused);
149
- const next = sorted[(focusedIdx + 1) % sorted.length];
150
- if (next)
151
- this.focus(next.id);
152
- },
153
- focusPrevious() {
154
- const visible = windows.filter((w) => !w.minimized);
155
- if (visible.length <= 1)
156
- return;
157
- const sorted = [...visible].sort((a, b) => a.zIndex - b.zIndex);
158
- const focusedIdx = sorted.findIndex((w) => w.focused);
159
- const prev = sorted[(focusedIdx - 1 + sorted.length) % sorted.length];
160
- if (prev)
161
- this.focus(prev.id);
162
- },
163
- getWindow(id) {
164
- return windows[getIdx(id)];
165
- },
166
- getFocusedWindow() {
167
- return windows.find((w) => w.focused);
168
- }
169
- };
170
- }