@streamscloud/kit 0.75.1 → 0.76.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.
@@ -13,7 +13,7 @@ export class FileHelper {
13
13
  return '';
14
14
  }
15
15
  const dotIndex = fileName.lastIndexOf('.');
16
- return dotIndex > 0 ? fileName.slice(0, dotIndex) : fileName;
16
+ return dotIndex > 0 && dotIndex < fileName.length - 1 ? fileName.slice(0, dotIndex) : fileName;
17
17
  }
18
18
  static truncateFileName(fileName, maxNameLength) {
19
19
  if (!maxNameLength) {
@@ -54,8 +54,8 @@ $effect(() => untrack(() => {
54
54
  {/snippet}
55
55
  {#snippet footer()}
56
56
  <div class="image-editor-dialog__footer">
57
- <DialogCancelButton on={{ click: cancel }}>{loc.cancel}</DialogCancelButton>
58
- <DialogButton on={{ click: save }}>{loc.save}</DialogButton>
57
+ <DialogCancelButton size="sm" on={{ click: cancel }}>{loc.cancel}</DialogCancelButton>
58
+ <DialogButton size="sm" on={{ click: save }}>{loc.save}</DialogButton>
59
59
  </div>
60
60
  {/snippet}
61
61
  </Dialog>
@@ -63,6 +63,14 @@ $effect(() => untrack(() => {
63
63
 
64
64
  <style>.image-editor-dialog {
65
65
  --sc-kit--dialog--height: calc(100vh - 2.5rem);
66
+ --sc-kit--dialog--footer--padding-block: var(--sc-kit--space--2);
67
+ --sc-kit--dialog--footer--padding-inline: var(--sc-kit--space--4);
68
+ --sc-kit--dialog--header--padding-block: var(--sc-kit--space--1);
69
+ --sc-kit--dialog--header--padding-inline: var(--sc-kit--space--3);
70
+ --sc-kit--dialog--title--font-size: var(--sc-kit--font-size--sm);
71
+ --sc-kit--dialog--title--line-height: var(--sc-kit--line-height--sm);
72
+ --sc-kit--dialog-close-button--size: 1.5rem;
73
+ --sc-kit--dialog-close-button--icon--size: 1rem;
66
74
  display: contents;
67
75
  }
68
76
  .image-editor-dialog__workspace {
@@ -70,7 +78,9 @@ $effect(() => untrack(() => {
70
78
  min-block-size: 0;
71
79
  }
72
80
  .image-editor-dialog__footer {
81
+ --sc-kit--dialog-cancel-button--min-width: 4.5rem;
82
+ --sc-kit--dialog-button--min-width: 7rem;
73
83
  display: flex;
74
84
  justify-content: flex-end;
75
- gap: 1.5rem;
85
+ gap: var(--sc-kit--space--4);
76
86
  }</style>
@@ -1,9 +1,9 @@
1
1
  <script lang="ts">import { default as Button } from '../button/cmp.button.svelte';
2
- let { type = 'button', disabled = false, loading = false, variant = 'primary', icon, on, children } = $props();
2
+ let { type = 'button', disabled = false, loading = false, variant = 'primary', size = 'md', icon, on, children } = $props();
3
3
  </script>
4
4
 
5
5
  <div class="dialog-button">
6
- <Button type={type} disabled={disabled} loading={loading} variant={variant} icon={icon} on={on}>
6
+ <Button type={type} disabled={disabled} loading={loading} variant={variant} size={size} icon={icon} on={on}>
7
7
  {@render children()}
8
8
  </Button>
9
9
  </div>
@@ -1,4 +1,4 @@
1
- import type { ButtonVariant } from '../button/types';
1
+ import type { ButtonSize, ButtonVariant } from '../button/types';
2
2
  import type { IconProp } from '../icon';
3
3
  import type { Snippet } from 'svelte';
4
4
  type Props = {
@@ -9,6 +9,8 @@ type Props = {
9
9
  loading?: boolean;
10
10
  /** Button color variant @default 'primary' */
11
11
  variant?: ButtonVariant;
12
+ /** @default 'md' */
13
+ size?: ButtonSize;
12
14
  /** Leading icon — passed through to Button. */
13
15
  icon?: IconProp;
14
16
  on?: {
@@ -1,9 +1,9 @@
1
1
  <script lang="ts">import { default as Button } from '../button/cmp.button.svelte';
2
- let { disabled = false, on, children } = $props();
2
+ let { disabled = false, size = 'md', on, children } = $props();
3
3
  </script>
4
4
 
5
5
  <div class="dialog-cancel-button">
6
- <Button type="button" disabled={disabled} variant="secondary" on={on}>
6
+ <Button type="button" disabled={disabled} variant="secondary" size={size} on={on}>
7
7
  {@render children()}
8
8
  </Button>
9
9
  </div>
@@ -1,6 +1,9 @@
1
+ import type { ButtonSize } from '../button/types';
1
2
  import type { Snippet } from 'svelte';
2
3
  type Props = {
3
4
  disabled?: boolean;
5
+ /** @default 'md' */
6
+ size?: ButtonSize;
4
7
  on?: {
5
8
  click?: (e: MouseEvent) => void;
6
9
  };
@@ -58,6 +58,8 @@ A structured dialog panel with header (title + close button), scrollable body, a
58
58
  | `--sc-kit--dialog--body--padding-inline` | Body-specific horizontal padding | inherits `--padding-inline` |
59
59
  | `--sc-kit--dialog--header--padding-block` | Header-specific vertical padding | inherits `--padding-block` |
60
60
  | `--sc-kit--dialog--header--padding-inline` | Header-specific horizontal padding | inherits `--padding-inline` |
61
+ | `--sc-kit--dialog--footer--padding-block` | Footer-specific vertical padding | inherits `--padding-block` |
62
+ | `--sc-kit--dialog--footer--padding-inline` | Footer-specific horizontal padding | inherits `--padding-inline` |
61
63
  | `--sc-kit--dialog--title--font-size` | Title font size | `1.125rem` (18px) |
62
64
  | `--sc-kit--dialog--title--line-height` | Title line height | `1.4` |
63
65
  -->
@@ -78,6 +80,8 @@ A structured dialog panel with header (title + close button), scrollable body, a
78
80
  --_dialog--body--padding-inline: var(--sc-kit--dialog--body--padding-inline, var(--_dialog--padding-inline));
79
81
  --_dialog--header--padding-block: var(--sc-kit--dialog--header--padding-block, var(--_dialog--padding-block));
80
82
  --_dialog--header--padding-inline: var(--sc-kit--dialog--header--padding-inline, var(--_dialog--padding-inline));
83
+ --_dialog--footer--padding-block: var(--sc-kit--dialog--footer--padding-block, var(--_dialog--padding-block));
84
+ --_dialog--footer--padding-inline: var(--sc-kit--dialog--footer--padding-inline, var(--_dialog--padding-inline));
81
85
  --_dialog--title-font-size: var(--sc-kit--dialog--title--font-size, 1.125rem);
82
86
  --_dialog--title-line-height: var(--sc-kit--dialog--title--line-height, 1.4);
83
87
  display: flex;
@@ -155,7 +159,7 @@ A structured dialog panel with header (title + close button), scrollable body, a
155
159
  align-items: center;
156
160
  justify-content: flex-end;
157
161
  gap: var(--sc-kit--space--3);
158
- padding: var(--_dialog--padding-block) var(--_dialog--padding-inline);
162
+ padding: var(--_dialog--footer--padding-block) var(--_dialog--footer--padding-inline);
159
163
  border-top: 1px solid var(--_dialog--border-color);
160
164
  -webkit-user-drag: none;
161
165
  user-select: none;
@@ -59,6 +59,8 @@ interface $$IsomorphicComponent {
59
59
  * | `--sc-kit--dialog--body--padding-inline` | Body-specific horizontal padding | inherits `--padding-inline` |
60
60
  * | `--sc-kit--dialog--header--padding-block` | Header-specific vertical padding | inherits `--padding-block` |
61
61
  * | `--sc-kit--dialog--header--padding-inline` | Header-specific horizontal padding | inherits `--padding-inline` |
62
+ * | `--sc-kit--dialog--footer--padding-block` | Footer-specific vertical padding | inherits `--padding-block` |
63
+ * | `--sc-kit--dialog--footer--padding-inline` | Footer-specific horizontal padding | inherits `--padding-inline` |
62
64
  * | `--sc-kit--dialog--title--font-size` | Title font size | `1.125rem` (18px) |
63
65
  * | `--sc-kit--dialog--title--line-height` | Title line height | `1.4` |
64
66
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@streamscloud/kit",
3
- "version": "0.75.1",
3
+ "version": "0.76.1",
4
4
  "author": "StreamsCloud",
5
5
  "repository": {
6
6
  "type": "git",