@streamscloud/kit 0.46.0 → 0.48.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 (49) hide show
  1. package/dist/styles/_semantic.scss +9 -3
  2. package/dist/ui/button/cmp.button.svelte +7 -2
  3. package/dist/ui/chip-group/cmp.chip-group.svelte +5 -2
  4. package/dist/ui/date-picker/cmp.date-picker.svelte +5 -1
  5. package/dist/ui/document-tabs/cmp.document-tabs.svelte +245 -0
  6. package/dist/ui/document-tabs/cmp.document-tabs.svelte.d.ts +80 -0
  7. package/dist/ui/document-tabs/document-tab.svelte +212 -0
  8. package/dist/ui/document-tabs/document-tab.svelte.d.ts +34 -0
  9. package/dist/ui/document-tabs/document-tabs-localization.d.ts +6 -0
  10. package/dist/ui/document-tabs/document-tabs-localization.js +33 -0
  11. package/dist/ui/document-tabs/index.d.ts +3 -0
  12. package/dist/ui/document-tabs/index.js +2 -0
  13. package/dist/ui/document-tabs/types.d.ts +20 -0
  14. package/dist/ui/document-tabs/types.js +1 -0
  15. package/dist/ui/emoji-picker/cmp.emoji-panel.svelte +1 -1
  16. package/dist/ui/grid-card/fields/cmp.grid-card-select-field.svelte +1 -0
  17. package/dist/ui/handle-input/cmp.handle-input.svelte +0 -1
  18. package/dist/ui/icon/cmp.icon.svelte +2 -2
  19. package/dist/ui/icon/cmp.icon.svelte.d.ts +3 -3
  20. package/dist/ui/icon-picker/cmp.icon-picker.svelte +1 -1
  21. package/dist/ui/icon-text/cmp.icon-text.svelte +4 -0
  22. package/dist/ui/icon-text/cmp.icon-text.svelte.d.ts +2 -2
  23. package/dist/ui/input/cmp.input.svelte +5 -1
  24. package/dist/ui/numeral-input/cmp.numeral-input.svelte +5 -1
  25. package/dist/ui/option-pill/cmp.option-pill.svelte +1 -1
  26. package/dist/ui/page-layout/cmp.page-panel-sidebars.svelte +29 -3
  27. package/dist/ui/page-layout/cmp.page-panel-sidebars.svelte.d.ts +8 -0
  28. package/dist/ui/page-layout/cmp.page-panel.svelte +66 -42
  29. package/dist/ui/page-toolbar/cmp.toolbar-icon-button.svelte +1 -1
  30. package/dist/ui/page-toolbar/cmp.toolbar-option.svelte +4 -1
  31. package/dist/ui/page-toolbar/cmp.toolbar-sort-select.svelte.d.ts +1 -1
  32. package/dist/ui/page-toolbar/cmp.toolbar-value-stepper.svelte +4 -0
  33. package/dist/ui/page-toolbar/cmp.toolbar-view-controls.svelte.d.ts +1 -1
  34. package/dist/ui/segmented-control/cmp.segmented-control.svelte +5 -2
  35. package/dist/ui/select/_select-trigger.scss +5 -1
  36. package/dist/ui/select/cmp.input-suggest.svelte +5 -1
  37. package/dist/ui/select/cmp.singleselect-async.svelte +5 -1
  38. package/dist/ui/select/multiselect-base.svelte +5 -1
  39. package/dist/ui/slider/cmp.slider.svelte +1 -0
  40. package/dist/ui/tabs/cmp.tabs.svelte +6 -14
  41. package/dist/ui/tabs/cmp.tabs.svelte.d.ts +5 -11
  42. package/dist/ui/tabs/tab.svelte +18 -76
  43. package/dist/ui/tabs/tab.svelte.d.ts +0 -1
  44. package/dist/ui/tabs/types.d.ts +1 -1
  45. package/dist/ui/url-input/cmp.url-input.svelte +0 -1
  46. package/dist/ui/website-input/cmp.website-input.svelte +0 -1
  47. package/package.json +5 -1
  48. package/dist/ui/tabs/tabs-localization.d.ts +0 -3
  49. package/dist/ui/tabs/tabs-localization.js +0 -12
@@ -1,26 +1,11 @@
1
- <script lang="ts" generics="T">import { IconSlot } from '../icon';
2
- import { TabsLocalization } from './tabs-localization';
3
- import IconDismiss from '@fluentui/svg-icons/icons/dismiss_20_regular.svg?raw';
4
- const { tab, variant, size, active, on } = $props();
5
- const localization = new TabsLocalization();
6
- const closable = $derived(!!on?.close && !tab.disabled);
1
+ <script lang="ts" generics="T">const { tab, variant, size, active, on } = $props();
7
2
  const handleClick = () => {
8
3
  if (tab.disabled || active) {
9
4
  return;
10
5
  }
11
6
  on?.select?.(tab.value);
12
7
  };
13
- const handleClose = (event) => {
14
- event.stopPropagation();
15
- on?.close?.(tab.value);
16
- };
17
- const handleCloseKeydown = (event) => {
18
- if (event.key === 'Enter' || event.key === ' ') {
19
- event.preventDefault();
20
- event.stopPropagation();
21
- on?.close?.(tab.value);
22
- }
23
- };
8
+ export {};
24
9
  </script>
25
10
 
26
11
  <button
@@ -30,25 +15,19 @@ const handleCloseKeydown = (event) => {
30
15
  class:tab--hoverable={!active && !tab.disabled}
31
16
  class:tab--default-active={variant === 'default' && active}
32
17
  class:tab--pills-active={variant === 'pills' && active}
33
- class:tab--document-active={variant === 'document' && active}
34
- class:tab--document-hoverable={variant === 'document' && !active && !tab.disabled}
35
18
  role="tab"
36
19
  aria-selected={active}
37
20
  disabled={tab.disabled}
38
21
  onclick={handleClick}>
39
22
  <span class="tab__label">{tab.label}</span>
40
- {#if closable}
41
- <span class="tab__close" role="button" tabindex="0" aria-label={localization.close} onclick={handleClose} onkeydown={handleCloseKeydown}>
42
- <IconSlot icon={IconDismiss} fallbacks={{ size: 'sm' }} />
43
- </span>
44
- {/if}
45
23
  </button>
46
24
 
47
25
  <style>.tab {
48
- --_tab--height: var(--sc-kit--tabs--height, 2.25rem);
49
- --_tab--font-size: var(--sc-kit--tabs--font-size, var(--sc-kit--font-size--md));
50
- --_tab--font-weight: var(--sc-kit--tabs--font-weight, var(--sc-kit--font-weight--medium));
51
- --_tab--padding-inline: var(--sc-kit--tabs--padding-inline, 0.875rem);
26
+ --_tab--height: var(--sc-kit--tabs--height, var(--_tab--size-height));
27
+ --_tab--font-size: var(--sc-kit--tabs--font-size, var(--_tab--size-font-size));
28
+ --_tab--line-height: var(--_tab--size-line-height, var(--sc-kit--line-height--control--md));
29
+ --_tab--font-weight: var(--sc-kit--tabs--font-weight, var(--_tab--size-font-weight));
30
+ --_tab--padding-inline: var(--sc-kit--tabs--padding-inline, var(--_tab--size-padding-inline));
52
31
  --_tab--radius: var(--sc-kit--tabs--radius, var(--sc-kit--radius--sm));
53
32
  --_tab--color: var(--sc-kit--tabs--color, var(--sc-kit--color--text--secondary));
54
33
  --_tab--color-hover: var(--sc-kit--tabs--color--hover, var(--sc-kit--color--text--primary));
@@ -57,9 +36,6 @@ const handleCloseKeydown = (event) => {
57
36
  --_tab--accent: var(--sc-kit--tabs--accent, var(--sc-kit--color--accent));
58
37
  --_tab--pills-background-active: var(--sc-kit--tabs--pills--background--active, var(--sc-kit--color--bg--panel));
59
38
  --_tab--pills-shadow-active: var(--sc-kit--tabs--pills--shadow--active, var(--sc-kit--shadow--sm));
60
- --_tab--document-background: var(--sc-kit--tabs--document--background, light-dark(#e5e7eb, #272727));
61
- --_tab--document-background-active: var(--sc-kit--tabs--document--background--active, var(--sc-kit--color--bg--app));
62
- --_tab--document-background-hover: var(--sc-kit--tabs--document--background--hover, var(--sc-kit--color--bg--hover));
63
39
  position: relative;
64
40
  display: inline-flex;
65
41
  align-items: center;
@@ -73,23 +49,25 @@ const handleCloseKeydown = (event) => {
73
49
  font-family: inherit;
74
50
  font-size: var(--_tab--font-size);
75
51
  font-weight: var(--_tab--font-weight);
76
- line-height: var(--sc-kit--leading--tight);
52
+ line-height: var(--_tab--line-height);
77
53
  cursor: pointer;
78
54
  white-space: nowrap;
79
55
  min-width: 0;
80
56
  transition: color var(--sc-kit--duration--base) var(--sc-kit--ease--default), background-color var(--sc-kit--duration--base) var(--sc-kit--ease--default);
81
57
  }
82
58
  .tab--sm {
83
- --sc-kit--tabs--height: 1.75rem;
84
- --sc-kit--tabs--font-size: var(--sc-kit--font-size--sm);
85
- --sc-kit--tabs--font-weight: var(--sc-kit--font-weight--regular);
86
- --sc-kit--tabs--padding-inline: 0.625rem;
59
+ --_tab--size-height: 1.8125rem;
60
+ --_tab--size-font-size: var(--sc-kit--font-size--sm);
61
+ --_tab--size-line-height: var(--sc-kit--line-height--control--sm);
62
+ --_tab--size-font-weight: var(--sc-kit--font-weight--regular);
63
+ --_tab--size-padding-inline: 0.625rem;
87
64
  }
88
65
  .tab--md {
89
- --sc-kit--tabs--height: 2.25rem;
90
- --sc-kit--tabs--font-size: var(--sc-kit--font-size--md);
91
- --sc-kit--tabs--font-weight: var(--sc-kit--font-weight--medium);
92
- --sc-kit--tabs--padding-inline: 0.875rem;
66
+ --_tab--size-height: 2.25rem;
67
+ --_tab--size-font-size: var(--sc-kit--font-size--md);
68
+ --_tab--size-line-height: var(--sc-kit--line-height--control--md);
69
+ --_tab--size-font-weight: var(--sc-kit--font-weight--medium);
70
+ --_tab--size-padding-inline: 0.875rem;
93
71
  }
94
72
  .tab--hoverable:hover {
95
73
  color: var(--_tab--color-hover);
@@ -123,23 +101,6 @@ const handleCloseKeydown = (event) => {
123
101
  background: var(--_tab--pills-background-active);
124
102
  box-shadow: var(--_tab--pills-shadow-active);
125
103
  }
126
- .tab--document {
127
- --_tab--color-active-default: var(--sc-kit--color--text--primary);
128
- --_tab--height: 2rem;
129
- --_tab--padding-inline: 0.75rem;
130
- justify-content: flex-start;
131
- gap: 0.5rem;
132
- min-width: 7rem;
133
- background: var(--_tab--document-background);
134
- border-radius: 0.25rem 0.5rem 0 0;
135
- }
136
- .tab--document-hoverable:hover {
137
- background: var(--_tab--document-background-hover);
138
- }
139
- .tab--document-active {
140
- color: var(--_tab--color-active);
141
- background: var(--_tab--document-background-active);
142
- }
143
104
  .tab:focus-visible {
144
105
  outline: 2px solid var(--sc-kit--color--border--focus);
145
106
  outline-offset: 2px;
@@ -147,23 +108,4 @@ const handleCloseKeydown = (event) => {
147
108
  .tab__label {
148
109
  display: inline-block;
149
110
  max-width: 100%;
150
- }
151
- .tab__close {
152
- display: inline-flex;
153
- align-items: center;
154
- justify-content: center;
155
- flex-shrink: 0;
156
- margin-left: auto;
157
- padding: 0.125rem;
158
- color: var(--sc-kit--color--text--secondary);
159
- border-radius: var(--sc-kit--radius--sm);
160
- cursor: pointer;
161
- transition: color var(--sc-kit--duration--base) var(--sc-kit--ease--default), background-color var(--sc-kit--duration--base) var(--sc-kit--ease--default);
162
- }
163
- .tab__close:hover {
164
- color: var(--sc-kit--color--text--primary);
165
- }
166
- .tab__close:focus-visible {
167
- outline: 2px solid var(--sc-kit--color--border--focus);
168
- outline-offset: 2px;
169
111
  }</style>
@@ -7,7 +7,6 @@ declare function $$render<T>(): {
7
7
  active: boolean;
8
8
  on?: {
9
9
  select?: (value: T) => void;
10
- close?: (value: T) => void;
11
10
  };
12
11
  };
13
12
  exports: {};
@@ -1,4 +1,4 @@
1
- export type TabsVariant = 'default' | 'pills' | 'document';
1
+ export type TabsVariant = 'default' | 'pills';
2
2
  export type TabsSize = 'sm' | 'md';
3
3
  export type Tab<TValue = unknown> = {
4
4
  value: TValue;
@@ -118,7 +118,6 @@ Plus every public CSS variable exposed by `<Input>`.
118
118
  background: var(--_ui--scheme-background);
119
119
  color: var(--_ui--scheme-color);
120
120
  border-inline-end: 1px solid var(--_ui--scheme-border-color);
121
- line-height: var(--sc-kit--leading--tight);
122
121
  user-select: none;
123
122
  white-space: nowrap;
124
123
  transition: background-color var(--sc-kit--duration--base) var(--sc-kit--ease--default);
@@ -64,7 +64,6 @@ Plus every public CSS variable exposed by `<Input>`.
64
64
  background: var(--_wi--prefix-background);
65
65
  color: var(--_wi--prefix-color);
66
66
  border-inline-end: 1px solid var(--_wi--prefix-border-color);
67
- line-height: var(--sc-kit--leading--tight);
68
67
  user-select: none;
69
68
  white-space: nowrap;
70
69
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@streamscloud/kit",
3
- "version": "0.46.0",
3
+ "version": "0.48.0",
4
4
  "author": "StreamsCloud",
5
5
  "repository": {
6
6
  "type": "git",
@@ -163,6 +163,10 @@
163
163
  "types": "./dist/ui/divider/index.d.ts",
164
164
  "svelte": "./dist/ui/divider/index.js"
165
165
  },
166
+ "./ui/document-tabs": {
167
+ "types": "./dist/ui/document-tabs/index.d.ts",
168
+ "svelte": "./dist/ui/document-tabs/index.js"
169
+ },
166
170
  "./ui/drag-and-drop": {
167
171
  "types": "./dist/ui/drag-and-drop/index.d.ts",
168
172
  "svelte": "./dist/ui/drag-and-drop/index.js"
@@ -1,3 +0,0 @@
1
- export declare class TabsLocalization {
2
- get close(): string;
3
- }
@@ -1,12 +0,0 @@
1
- import { AppLocale } from '../../core/locale';
2
- const loc = {
3
- close: {
4
- en: 'Close tab',
5
- no: 'Lukk fane'
6
- }
7
- };
8
- export class TabsLocalization {
9
- get close() {
10
- return loc.close[AppLocale.current];
11
- }
12
- }