@x33025/sveltely 0.1.18 → 0.1.19

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 (137) hide show
  1. package/dist/actions/LoaderOverlay.svelte +33 -8
  2. package/dist/actions/LoaderOverlay.svelte.d.ts +3 -0
  3. package/dist/actions/loader.d.ts +3 -0
  4. package/dist/actions/loader.js +20 -7
  5. package/dist/components/Library/AnimatedNumber/AnimatedNumber.demo.svelte +3 -9
  6. package/dist/components/Library/ArticleEditor/ArticleEditor.svelte +1 -1
  7. package/dist/components/Library/ArticleEditor/ArticleEditorHeader.svelte +20 -30
  8. package/dist/components/Library/ArticleEditor/Blocks/Code.svelte +0 -1
  9. package/dist/components/Library/ArticleEditor/Blocks/FAQ.svelte +1 -1
  10. package/dist/components/Library/ArticleEditor/Blocks/Heading.svelte +7 -7
  11. package/dist/components/Library/ArticleEditor/Blocks/Image.svelte +20 -36
  12. package/dist/components/Library/ArticleEditor/Blocks/Image.svelte.d.ts +1 -0
  13. package/dist/components/Library/ArticleEditor/Blocks/List.svelte +2 -2
  14. package/dist/components/Library/ArticleEditor/Blocks/Paragraph.svelte +1 -1
  15. package/dist/components/Library/ArticleEditor/Blocks/index.d.ts +0 -1
  16. package/dist/components/Library/ArticleEditor/Blocks/index.js +0 -1
  17. package/dist/components/Library/AsyncButton/AsyncButton.demo.svelte +2 -6
  18. package/dist/components/Library/AsyncButton/AsyncButton.svelte +9 -5
  19. package/dist/components/Library/AsyncButton/AsyncButton.svelte.d.ts +2 -1
  20. package/dist/components/Library/Button/Button.demo.svelte +2 -17
  21. package/dist/components/Library/Button/Button.demo.svelte.d.ts +0 -1
  22. package/dist/components/Library/Button/Button.svelte +15 -16
  23. package/dist/components/Library/Button/Button.svelte.d.ts +2 -1
  24. package/dist/components/Library/Calendar/Calendar.svelte +17 -27
  25. package/dist/components/Library/Checkbox/Checkbox.demo.svelte +7 -4
  26. package/dist/components/Library/Checkbox/Checkbox.svelte +24 -61
  27. package/dist/components/Library/Checkbox/Checkbox.svelte.d.ts +2 -4
  28. package/dist/components/Library/ChipInput/ChipInput.demo.svelte +2 -2
  29. package/dist/components/Library/ChipInput/ChipInput.svelte +7 -11
  30. package/dist/components/Library/ChipInput/ChipInput.svelte.d.ts +3 -2
  31. package/dist/components/Library/Dropdown/Action.svelte +1 -1
  32. package/dist/components/Library/Dropdown/Dropdown.demo.svelte +10 -10
  33. package/dist/components/Library/Dropdown/Dropdown.svelte +2 -6
  34. package/dist/components/Library/Dropdown/Item.svelte +2 -2
  35. package/dist/components/Library/Dropdown/Section.svelte +1 -1
  36. package/dist/components/Library/Dropdown/Trigger.svelte +3 -7
  37. package/dist/components/Library/Image/Image.demo.svelte +3 -3
  38. package/dist/components/Library/Image/Image.svelte +57 -12
  39. package/dist/components/Library/Image/Image.svelte.d.ts +1 -2
  40. package/dist/components/Library/Image/ImagePlaceholder.demo.svelte +12 -0
  41. package/dist/components/Library/Image/ImagePlaceholder.demo.svelte.d.ts +23 -0
  42. package/dist/components/Library/Image/ImagePlaceholder.svelte +28 -4
  43. package/dist/components/Library/Image/ImagePlaceholder.svelte.d.ts +1 -1
  44. package/dist/components/Library/Image/index.d.ts +1 -0
  45. package/dist/components/Library/Image/index.js +1 -0
  46. package/dist/components/Library/ImageMask/BrushPreview.svelte +6 -6
  47. package/dist/components/Library/ImageMask/ImageMask.demo.svelte +10 -8
  48. package/dist/components/Library/ImageMask/ImageMask.svelte +14 -6
  49. package/dist/components/Library/ImageMask/ImageMask.svelte.d.ts +1 -2
  50. package/dist/components/Library/ImageMask/MaskLayer.svelte +12 -6
  51. package/dist/components/Library/Label/Label.demo.svelte +9 -3
  52. package/dist/components/Library/Label/Label.svelte +8 -2
  53. package/dist/components/Library/Link/Link.svelte +10 -22
  54. package/dist/components/Library/Link/Link.svelte.d.ts +2 -3
  55. package/dist/components/Library/Loader/Loader.demo.svelte +9 -3
  56. package/dist/components/Library/NavigationStack/Link.svelte +8 -12
  57. package/dist/components/Library/NavigationStack/Link.svelte.d.ts +1 -3
  58. package/dist/components/Library/NavigationStack/SidebarToggle.svelte +8 -2
  59. package/dist/components/Library/NumberField/NumberField.svelte +21 -17
  60. package/dist/components/Library/NumberField/NumberField.svelte.d.ts +4 -2
  61. package/dist/components/Library/Pagination/Pagination.svelte +3 -3
  62. package/dist/components/Library/Popover/Popover.svelte +2 -7
  63. package/dist/components/Library/ScrollView/ScrollView.demo.svelte +50 -0
  64. package/dist/components/Library/ScrollView/ScrollView.demo.svelte.d.ts +10 -0
  65. package/dist/components/Library/ScrollView/ScrollView.svelte +414 -67
  66. package/dist/components/Library/ScrollView/ScrollView.svelte.d.ts +17 -1
  67. package/dist/components/Library/ScrollView/index.d.ts +1 -1
  68. package/dist/components/Library/SearchField/SearchField.demo.svelte +2 -2
  69. package/dist/components/Library/SearchField/SearchField.svelte +9 -4
  70. package/dist/components/Library/SearchField/SearchField.svelte.d.ts +2 -1
  71. package/dist/components/Library/SegmentedPicker/SegmentedPicker.demo.svelte +2 -2
  72. package/dist/components/Library/SegmentedPicker/SegmentedPicker.svelte +7 -7
  73. package/dist/components/Library/Sheet/Sheet.demo.svelte +1 -1
  74. package/dist/components/Library/Sheet/Sheet.svelte +2 -7
  75. package/dist/components/Library/Slider/Slider.demo.svelte +1 -1
  76. package/dist/components/Library/Slider/Slider.svelte +11 -7
  77. package/dist/components/Library/Slider/Slider.svelte.d.ts +2 -1
  78. package/dist/components/Library/Spinner/Spinner.demo.svelte +1 -1
  79. package/dist/components/Library/Switch/Switch.demo.svelte +7 -4
  80. package/dist/components/Library/Switch/Switch.svelte +28 -68
  81. package/dist/components/Library/Switch/Switch.svelte.d.ts +2 -4
  82. package/dist/components/Library/Table/Column.svelte +81 -0
  83. package/dist/components/Library/Table/Column.svelte.d.ts +39 -0
  84. package/dist/components/Library/Table/Table.demo.svelte +148 -0
  85. package/dist/components/Library/Table/Table.demo.svelte.d.ts +10 -0
  86. package/dist/components/Library/Table/Table.svelte +624 -0
  87. package/dist/components/Library/Table/Table.svelte.d.ts +42 -0
  88. package/dist/components/Library/Table/context.d.ts +5 -0
  89. package/dist/components/Library/Table/context.js +2 -0
  90. package/dist/components/Library/Table/index.js +5 -0
  91. package/dist/components/Library/Table/types.d.ts +37 -0
  92. package/dist/components/Library/Table/types.js +1 -0
  93. package/dist/components/Library/Text/Text.demo.svelte +21 -0
  94. package/dist/components/Library/Text/Text.demo.svelte.d.ts +24 -0
  95. package/dist/components/Library/Text/Text.svelte +41 -0
  96. package/dist/components/Library/Text/Text.svelte.d.ts +9 -0
  97. package/dist/components/Library/Text/index.d.ts +1 -0
  98. package/dist/components/Library/Text/index.js +1 -0
  99. package/dist/components/Library/TextEditor/TextEditor.svelte +15 -9
  100. package/dist/components/Library/TextEditor/TextEditor.svelte.d.ts +2 -4
  101. package/dist/components/Library/TextField/TextField.demo.svelte +1 -1
  102. package/dist/components/Library/TextField/TextField.svelte +21 -18
  103. package/dist/components/Library/TextField/TextField.svelte.d.ts +4 -2
  104. package/dist/components/Library/TextShimmer/TextShimmer.demo.svelte +1 -1
  105. package/dist/components/Library/TimePicker/TimePicker.demo.svelte +10 -2
  106. package/dist/components/Library/TimePicker/TimePicker.svelte +10 -5
  107. package/dist/components/Library/TokenSearchField/TokenSearchField.demo.svelte +4 -2
  108. package/dist/components/Library/TokenSearchField/TokenSearchField.svelte +11 -11
  109. package/dist/components/Library/TokenSearchField/TokenSearchField.svelte.d.ts +2 -1
  110. package/dist/components/Library/WheelPicker/WheelColumn.svelte +183 -126
  111. package/dist/components/Library/WheelPicker/WheelPicker.svelte +4 -4
  112. package/dist/components/Library/WheelPicker/WheelPicker.svelte.d.ts +2 -2
  113. package/dist/components/Library/WheelPicker/index.d.ts +1 -1
  114. package/dist/components/Library/WheelPicker/types.d.ts +6 -0
  115. package/dist/components/Local/ColorStyleControls.svelte +201 -0
  116. package/dist/components/Local/ColorStyleControls.svelte.d.ts +13 -0
  117. package/dist/components/Local/HeroCard.svelte +3 -3
  118. package/dist/components/Local/LayoutStyleControls.svelte +67 -0
  119. package/dist/components/Local/LayoutStyleControls.svelte.d.ts +11 -0
  120. package/dist/components/Local/StyleControls.svelte +48 -124
  121. package/dist/components/Local/StyleControls.svelte.d.ts +7 -5
  122. package/dist/index.d.ts +9 -2
  123. package/dist/index.js +5 -1
  124. package/dist/style/index.css +7 -12
  125. package/dist/style/label.d.ts +2 -1
  126. package/dist/style/label.js +2 -1
  127. package/dist/style/surface.js +4 -0
  128. package/dist/style/text-editor.d.ts +2 -13
  129. package/dist/style/text-editor.js +1 -12
  130. package/dist/style/text.d.ts +26 -0
  131. package/dist/style/text.js +69 -0
  132. package/dist/style/tooltip.d.ts +4 -0
  133. package/dist/style/tooltip.js +1 -0
  134. package/dist/style.css +41 -111
  135. package/package.json +1 -1
  136. package/dist/components/Library/ArticleEditor/Blocks/ImagePreview.svelte +0 -71
  137. package/dist/components/Library/ArticleEditor/Blocks/ImagePreview.svelte.d.ts +0 -8
@@ -30,7 +30,13 @@
30
30
  }
31
31
  </script>
32
32
 
33
- <button onclick={handleClick} class="sidebar-toggle" style={rootStyle} title="Toggle {side} sidebar" {...props}>
33
+ <button
34
+ onclick={handleClick}
35
+ class="sidebar-toggle"
36
+ style={rootStyle}
37
+ title="Toggle {side} sidebar"
38
+ {...props}
39
+ >
34
40
  {#if children}
35
41
  {@render children()}
36
42
  {:else if side === 'left'}
@@ -47,6 +53,6 @@
47
53
  }
48
54
 
49
55
  .sidebar-toggle:hover {
50
- background: var(--sveltely-hover-color);
56
+ background: color-mix(in oklab, var(--sveltely-control-active-color) 5%, transparent);
51
57
  }
52
58
  </style>
@@ -1,12 +1,10 @@
1
1
  <script lang="ts">
2
2
  import type { HTMLInputAttributes } from 'svelte/elements';
3
- import { tooltip } from '../../../actions/tooltip';
3
+ import { tooltip as tooltipAction } from '../../../actions/tooltip';
4
4
  import { surfaceStyle, type StyleProps } from '../../../style/surface';
5
- import {
6
- textEditorStyle,
7
- type TextEditorProps,
8
- type TextInputMode
9
- } from '../../../style/text-editor';
5
+ import { textStyle, type TextProps } from '../../../style/text';
6
+ import { type TextInputMode } from '../../../style/text-editor';
7
+ import type { TooltipProps } from '../../../style/tooltip';
10
8
 
11
9
  type Props = {
12
10
  value?: number | null;
@@ -23,7 +21,8 @@
23
21
  max?: number;
24
22
  step?: number | 'any';
25
23
  } & StyleProps &
26
- TextEditorProps;
24
+ TextProps &
25
+ TooltipProps;
27
26
 
28
27
  let {
29
28
  value = $bindable(null),
@@ -39,6 +38,8 @@
39
38
  min,
40
39
  max,
41
40
  step,
41
+ tooltip,
42
+ as,
42
43
  textAlign = 'right',
43
44
  fontSize,
44
45
  paddingX,
@@ -62,13 +63,14 @@
62
63
  borderColor,
63
64
  color
64
65
  });
65
- const textEditorProps = $derived({ textAlign });
66
+ const textProps = $derived({ as, textAlign });
66
67
  const rootStyle = $derived.by(() =>
67
- [surfaceStyle(styleProps, 'text-field'), textEditorStyle(textEditorProps)]
68
+ [textStyle(textProps, 'text-field'), surfaceStyle(styleProps, 'text-field')]
68
69
  .filter(Boolean)
69
70
  .join(' ')
70
71
  );
71
72
  const describedBy = $derived(help ? 'text-field-message' : undefined);
73
+ const resolvedTooltip = $derived(error ? { label: error } : tooltip);
72
74
 
73
75
  let draftValue = $state(formatValue(value));
74
76
  let committedValue = $state(value);
@@ -112,7 +114,7 @@
112
114
  </script>
113
115
 
114
116
  <div
115
- use:tooltip={{ label: error ?? '', disabled: !error }}
117
+ use:tooltipAction={resolvedTooltip}
116
118
  class="text-field"
117
119
  style={rootStyle}
118
120
  data-disabled={disabled ? 'true' : 'false'}
@@ -150,8 +152,8 @@
150
152
  min-width: 0;
151
153
  flex-direction: column;
152
154
  gap: var(--text-field-gap, calc(var(--sveltely-gap) * 0.75));
153
- color: var(--text-field-color, var(--sveltely-primary-color));
154
- font-size: var(--text-field-font-size, calc(var(--sveltely-font-size) * 0.875));
155
+ color: var(--text-field-color, var(--sveltely-text-primary-color));
156
+ font-size: var(--text-field-font-size, var(--sveltely-font-size));
155
157
  }
156
158
 
157
159
  .text-field-input {
@@ -159,10 +161,12 @@
159
161
  min-width: 0;
160
162
  border: 1px solid var(--text-field-border-color, var(--sveltely-border-color));
161
163
  border-radius: var(--text-field-border-radius, var(--sveltely-border-radius));
162
- background: var(--text-field-background, var(--sveltely-background-color));
164
+ background: var(--text-field-background, var(--sveltely-control-background-color));
163
165
  color: inherit;
166
+ font-size: var(--text-field-font-size);
167
+ font-weight: var(--text-field-font-weight);
164
168
  font-variant-numeric: tabular-nums;
165
- line-height: 1.25rem;
169
+ line-height: var(--text-field-line-height);
166
170
  outline: none;
167
171
  padding: var(--text-field-padding-y, calc(var(--sveltely-padding-y) * 0.67))
168
172
  var(--text-field-padding-x, var(--sveltely-padding-x));
@@ -175,15 +179,15 @@
175
179
  }
176
180
 
177
181
  .text-field-input:focus {
178
- border-color: color-mix(in oklab, var(--sveltely-active-color) 50%, white);
182
+ border-color: color-mix(in oklab, var(--sveltely-control-active-color) 50%, white);
179
183
  }
180
184
 
181
185
  .text-field-input::placeholder {
182
- color: var(--sveltely-secondary-color);
186
+ color: var(--sveltely-text-secondary-color);
183
187
  }
184
188
 
185
189
  .text-field-message {
186
- color: var(--sveltely-secondary-color);
190
+ color: var(--sveltely-text-secondary-color);
187
191
  font-size: calc(var(--text-field-font-size, 0.875rem) * 0.857);
188
192
  line-height: 1.25;
189
193
  }
@@ -1,6 +1,8 @@
1
1
  import type { HTMLInputAttributes } from 'svelte/elements';
2
2
  import { type StyleProps } from '../../../style/surface';
3
- import { type TextEditorProps, type TextInputMode } from '../../../style/text-editor';
3
+ import { type TextProps } from '../../../style/text';
4
+ import { type TextInputMode } from '../../../style/text-editor';
5
+ import type { TooltipProps } from '../../../style/tooltip';
4
6
  type Props = {
5
7
  value?: number | null;
6
8
  help?: string;
@@ -15,7 +17,7 @@ type Props = {
15
17
  min?: number;
16
18
  max?: number;
17
19
  step?: number | 'any';
18
- } & StyleProps & TextEditorProps;
20
+ } & StyleProps & TextProps & TooltipProps;
19
21
  declare const NumberField: import("svelte").Component<Props, {}, "value">;
20
22
  type NumberField = ReturnType<typeof NumberField>;
21
23
  export default NumberField;
@@ -49,7 +49,7 @@
49
49
  const hasNext = () => (typeof data.hasNext === 'boolean' ? data.hasNext : safePage() < maxPage());
50
50
  const hasPrevious = () => safePage() > 1;
51
51
  const buttonClass = () =>
52
- `pagination-button action disabled:bg-zinc-200 disabled:text-[var(--sveltely-secondary-color)] inline-flex items-center justify-center leading-none ${
52
+ `pagination-button action disabled:bg-zinc-200 disabled:text-[var(--sveltely-text-secondary-color)] inline-flex items-center justify-center leading-none ${
53
53
  variant === 'icon' ? 'pagination-button-icon' : ''
54
54
  }`;
55
55
 
@@ -187,7 +187,7 @@
187
187
 
188
188
  .pagination-button {
189
189
  border-radius: var(--sveltely-border-radius);
190
- background: var(--sveltely-inactive-color);
190
+ background: var(--sveltely-control-inactive-color);
191
191
  padding: calc(var(--sveltely-padding-y) * 0.67 * var(--pagination-scale))
192
192
  calc(var(--sveltely-padding-x) * 0.67 * var(--pagination-scale));
193
193
  }
@@ -211,7 +211,7 @@
211
211
  .pagination-input {
212
212
  width: 10ch;
213
213
  border-radius: var(--sveltely-border-radius);
214
- background: var(--sveltely-inactive-color);
214
+ background: var(--sveltely-control-inactive-color);
215
215
  font-size: inherit;
216
216
  line-height: 1.25;
217
217
  outline: none;
@@ -78,18 +78,13 @@
78
78
  border: 1px solid var(--sveltely-border-color);
79
79
  border-radius: var(--sveltely-border-radius);
80
80
  background: var(--sveltely-background-color);
81
- color: var(--sveltely-primary-color);
81
+ color: var(--sveltely-text-primary-color);
82
82
  gap: var(--sveltely-gap);
83
83
  padding: calc(var(--sveltely-padding-y) * 0.67) var(--sveltely-padding-x);
84
84
  font-size: 0.875rem;
85
85
  line-height: 1.25rem;
86
86
  transition:
87
87
  color 150ms,
88
- border-color 150ms,
89
- background-color 150ms;
90
- }
91
-
92
- :global(.popover-trigger[data-styled='true']:hover) {
93
- background: var(--sveltely-hover-color);
88
+ border-color 150ms;
94
89
  }
95
90
  </style>
@@ -0,0 +1,50 @@
1
+ <script module lang="ts">
2
+ export const demo = {
3
+ name: 'Scroll View',
4
+ description: 'Debug fixture for top and bottom scroll gradients.',
5
+ columnSpan: 2,
6
+ rowSpan: 2
7
+ };
8
+ </script>
9
+
10
+ <script lang="ts">
11
+ import ScrollView, { type ScrollGeometry } from './index';
12
+ import VStack from '../VStack';
13
+
14
+ const rows = Array.from({ length: 24 }, (_, index) => `Debug row ${index + 1}`);
15
+ let geometry = $state<ScrollGeometry | null>(null);
16
+ </script>
17
+
18
+ <VStack height="100%" width="100%" gap={6}>
19
+ <div class="scroll-view-demo-meta">
20
+ <span>offset {Math.round(geometry?.offset.y ?? 0)}</span>
21
+ <span>viewport {Math.round(geometry?.viewport.height ?? 0)}</span>
22
+ <span>content {Math.round(geometry?.content.height ?? 0)}</span>
23
+ <span>bottom {Math.round(geometry?.remaining.bottom ?? 0)}</span>
24
+ </div>
25
+
26
+ <ScrollView height="100%" width="100%" onScroll={(nextGeometry) => (geometry = nextGeometry)}>
27
+ <VStack gap={4}>
28
+ {#each rows as row}
29
+ <div class="scroll-view-demo-row">{row}</div>
30
+ {/each}
31
+ </VStack>
32
+ </ScrollView>
33
+ </VStack>
34
+
35
+ <style>
36
+ .scroll-view-demo-meta {
37
+ display: flex;
38
+ flex-wrap: wrap;
39
+ gap: 0.375rem;
40
+ color: var(--sveltely-text-secondary-color);
41
+ font-size: 0.75rem;
42
+ }
43
+
44
+ .scroll-view-demo-row {
45
+ border-radius: var(--sveltely-border-radius-nested);
46
+ background: var(--sveltely-background-color);
47
+ padding: 0.625rem 0.75rem;
48
+ color: var(--sveltely-text-primary-color);
49
+ }
50
+ </style>
@@ -0,0 +1,10 @@
1
+ export declare const demo: {
2
+ name: string;
3
+ description: string;
4
+ columnSpan: number;
5
+ rowSpan: number;
6
+ };
7
+ import ScrollView from './index';
8
+ declare const ScrollView: import("svelte").Component<Record<string, never>, {}, "">;
9
+ type ScrollView = ReturnType<typeof ScrollView>;
10
+ export default ScrollView;