@x33025/sveltely 0.0.58 → 0.1.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 (188) hide show
  1. package/dist/actions/tooltip.d.ts +10 -0
  2. package/dist/actions/tooltip.js +255 -0
  3. package/dist/components/{AnimatedNumber.demo.svelte → Library/AnimatedNumber/AnimatedNumber.demo.svelte} +6 -10
  4. package/dist/components/{AnimatedNumber.demo.svelte.d.ts → Library/AnimatedNumber/AnimatedNumber.demo.svelte.d.ts} +0 -1
  5. package/dist/components/Library/AnimatedNumber/AnimatedNumber.svelte +29 -0
  6. package/dist/components/Library/AnimatedNumber/AnimatedNumber.svelte.d.ts +9 -0
  7. package/dist/components/Library/AnimatedNumber/index.d.ts +1 -0
  8. package/dist/components/Library/AnimatedNumber/index.js +1 -0
  9. package/dist/components/{AsyncButton.demo.svelte → Library/AsyncButton/AsyncButton.demo.svelte} +0 -1
  10. package/dist/components/Library/AsyncButton/AsyncButton.svelte +178 -0
  11. package/dist/components/{AsyncButton.svelte.d.ts → Library/AsyncButton/AsyncButton.svelte.d.ts} +7 -2
  12. package/dist/components/Library/AsyncButton/index.d.ts +1 -0
  13. package/dist/components/Library/AsyncButton/index.js +1 -0
  14. package/dist/components/Library/Button/Button.demo.svelte +17 -0
  15. package/dist/components/Library/Button/Button.demo.svelte.d.ts +23 -0
  16. package/dist/components/Library/Button/Button.svelte +134 -0
  17. package/dist/components/Library/Button/Button.svelte.d.ts +17 -0
  18. package/dist/components/Library/Button/index.d.ts +1 -0
  19. package/dist/components/Library/Button/index.js +1 -0
  20. package/dist/components/Library/Calendar/Calendar.demo.svelte +30 -0
  21. package/dist/components/Library/Calendar/Calendar.demo.svelte.d.ts +10 -0
  22. package/dist/components/Library/Calendar/Calendar.svelte +310 -0
  23. package/dist/components/Library/Calendar/Calendar.svelte.d.ts +10 -0
  24. package/dist/components/Library/Calendar/index.d.ts +1 -0
  25. package/dist/components/Library/Calendar/index.js +1 -0
  26. package/dist/components/Library/Checkbox/Checkbox.demo.svelte +20 -0
  27. package/dist/components/Library/Checkbox/Checkbox.demo.svelte.d.ts +8 -0
  28. package/dist/components/Library/Checkbox/Checkbox.svelte +134 -0
  29. package/dist/components/Library/Checkbox/Checkbox.svelte.d.ts +11 -0
  30. package/dist/components/Library/Checkbox/index.d.ts +1 -0
  31. package/dist/components/Library/Checkbox/index.js +1 -0
  32. package/dist/components/{ChipInput.demo.svelte → Library/ChipInput/ChipInput.demo.svelte} +1 -2
  33. package/dist/components/{ChipInput.demo.svelte.d.ts → Library/ChipInput/ChipInput.demo.svelte.d.ts} +0 -1
  34. package/dist/components/{ChipInput.svelte → Library/ChipInput/ChipInput.svelte} +77 -3
  35. package/dist/components/{ChipInput.svelte.d.ts → Library/ChipInput/ChipInput.svelte.d.ts} +2 -1
  36. package/dist/components/Library/ChipInput/index.d.ts +1 -0
  37. package/dist/components/Library/ChipInput/index.js +1 -0
  38. package/dist/components/Library/Dropdown/Dropdown.demo.svelte +54 -0
  39. package/dist/components/Library/Dropdown/Dropdown.demo.svelte.d.ts +8 -0
  40. package/dist/components/Library/Dropdown/Dropdown.svelte +346 -0
  41. package/dist/components/Library/Dropdown/Dropdown.svelte.d.ts +40 -0
  42. package/dist/components/Library/Dropdown/index.d.ts +2 -0
  43. package/dist/components/Library/Dropdown/index.js +1 -0
  44. package/dist/components/Library/Dropdown/types.d.ts +27 -0
  45. package/dist/components/Library/Dropdown/types.js +1 -0
  46. package/dist/components/{Popover/Popover.svelte → Library/Floating/Floating.svelte} +155 -101
  47. package/dist/components/Library/Floating/Floating.svelte.d.ts +30 -0
  48. package/dist/components/Library/Floating/registry.svelte.d.ts +6 -0
  49. package/dist/components/{Popover → Library/Floating}/registry.svelte.js +2 -23
  50. package/dist/components/{GlowEffect.svelte → Library/GlowEffect/GlowEffect.svelte} +15 -6
  51. package/dist/components/{GlowEffect.svelte.d.ts → Library/GlowEffect/GlowEffect.svelte.d.ts} +3 -2
  52. package/dist/components/Library/GlowEffect/index.d.ts +1 -0
  53. package/dist/components/Library/GlowEffect/index.js +1 -0
  54. package/dist/components/Library/NavigationStack/NavigationStack.svelte +242 -0
  55. package/dist/components/Library/NavigationStack/NavigationStack.svelte.d.ts +15 -0
  56. package/dist/components/Library/NavigationStack/SidebarToggle.svelte +52 -0
  57. package/dist/components/Library/NavigationStack/SidebarToggle.svelte.d.ts +10 -0
  58. package/dist/components/Library/NavigationStack/Toolbar.svelte +59 -0
  59. package/dist/components/Library/NavigationStack/Toolbar.svelte.d.ts +11 -0
  60. package/dist/components/{Pagination.demo.svelte → Library/Pagination/Pagination.demo.svelte} +0 -1
  61. package/dist/components/{Pagination.demo.svelte.d.ts → Library/Pagination/Pagination.demo.svelte.d.ts} +0 -1
  62. package/dist/components/Library/Pagination/Pagination.svelte +227 -0
  63. package/dist/components/{Pagination.svelte.d.ts → Library/Pagination/Pagination.svelte.d.ts} +3 -3
  64. package/dist/components/Library/Pagination/index.d.ts +1 -0
  65. package/dist/components/Library/Pagination/index.js +1 -0
  66. package/dist/components/Library/Popover/Popover.demo.svelte +21 -0
  67. package/dist/components/Library/Popover/Popover.svelte +92 -0
  68. package/dist/components/Library/Popover/Popover.svelte.d.ts +14 -0
  69. package/dist/components/{Popover → Library/Popover}/PopoverDebugOverlay.svelte +1 -1
  70. package/dist/components/Library/Popover/index.d.ts +1 -0
  71. package/dist/components/Library/Popover/index.js +1 -0
  72. package/dist/components/Library/ScrollView/ScrollView.svelte +89 -0
  73. package/dist/components/Library/ScrollView/ScrollView.svelte.d.ts +12 -0
  74. package/dist/components/Library/ScrollView/index.d.ts +1 -0
  75. package/dist/components/Library/ScrollView/index.js +1 -0
  76. package/dist/components/{SearchInput.demo.svelte → Library/SearchInput/SearchInput.demo.svelte} +2 -3
  77. package/dist/components/{SearchInput.demo.svelte.d.ts → Library/SearchInput/SearchInput.demo.svelte.d.ts} +0 -1
  78. package/dist/components/Library/SearchInput/SearchInput.svelte +88 -0
  79. package/dist/components/{SearchInput.svelte.d.ts → Library/SearchInput/SearchInput.svelte.d.ts} +3 -3
  80. package/dist/components/Library/SearchInput/index.d.ts +1 -0
  81. package/dist/components/Library/SearchInput/index.js +1 -0
  82. package/dist/components/{SegmentedPicker.demo.svelte → Library/SegmentedPicker/SegmentedPicker.demo.svelte} +1 -2
  83. package/dist/components/{SegmentedPicker.demo.svelte.d.ts → Library/SegmentedPicker/SegmentedPicker.demo.svelte.d.ts} +0 -1
  84. package/dist/components/Library/SegmentedPicker/SegmentedPicker.svelte +106 -0
  85. package/dist/components/{SegmentedPicker.svelte.d.ts → Library/SegmentedPicker/SegmentedPicker.svelte.d.ts} +2 -2
  86. package/dist/components/Library/SegmentedPicker/index.d.ts +1 -0
  87. package/dist/components/Library/SegmentedPicker/index.js +1 -0
  88. package/dist/components/{Sheet → Library/Sheet}/Sheet.demo.svelte +4 -17
  89. package/dist/components/Library/Sheet/Sheet.demo.svelte.d.ts +23 -0
  90. package/dist/components/Library/Sheet/Sheet.svelte +113 -0
  91. package/dist/components/{Sheet → Library/Sheet}/Sheet.svelte.d.ts +4 -2
  92. package/dist/components/{Slider.demo.svelte → Library/Slider/Slider.demo.svelte} +2 -3
  93. package/dist/components/{Slider.demo.svelte.d.ts → Library/Slider/Slider.demo.svelte.d.ts} +0 -1
  94. package/dist/components/Library/Slider/Slider.svelte +122 -0
  95. package/dist/components/{Slider.svelte.d.ts → Library/Slider/Slider.svelte.d.ts} +2 -3
  96. package/dist/components/Library/Slider/index.d.ts +1 -0
  97. package/dist/components/Library/Slider/index.js +1 -0
  98. package/dist/components/{Spinner.demo.svelte → Library/Spinner/Spinner.demo.svelte} +3 -1
  99. package/dist/components/Library/Spinner/Spinner.svelte +32 -0
  100. package/dist/components/{Spinner.svelte.d.ts → Library/Spinner/Spinner.svelte.d.ts} +3 -2
  101. package/dist/components/Library/Spinner/index.d.ts +1 -0
  102. package/dist/components/Library/Spinner/index.js +1 -0
  103. package/dist/components/Library/Switch/Switch.demo.svelte +20 -0
  104. package/dist/components/Library/Switch/Switch.demo.svelte.d.ts +8 -0
  105. package/dist/components/Library/Switch/Switch.svelte +168 -0
  106. package/dist/components/Library/Switch/Switch.svelte.d.ts +11 -0
  107. package/dist/components/Library/Switch/index.d.ts +1 -0
  108. package/dist/components/Library/Switch/index.js +1 -0
  109. package/dist/components/Library/TextShimmer/TextShimmer.demo.svelte +14 -0
  110. package/dist/components/Library/TextShimmer/TextShimmer.demo.svelte.d.ts +23 -0
  111. package/dist/components/Library/TextShimmer/TextShimmer.svelte +88 -0
  112. package/dist/components/Library/TextShimmer/TextShimmer.svelte.d.ts +11 -0
  113. package/dist/components/Library/TextShimmer/index.d.ts +1 -0
  114. package/dist/components/Library/TextShimmer/index.js +1 -0
  115. package/dist/components/Library/TimePicker/TimePicker.demo.svelte +18 -0
  116. package/dist/components/Library/TimePicker/TimePicker.demo.svelte.d.ts +10 -0
  117. package/dist/components/Library/TimePicker/TimePicker.svelte +143 -0
  118. package/dist/components/Library/TimePicker/TimePicker.svelte.d.ts +13 -0
  119. package/dist/components/Library/TimePicker/index.d.ts +2 -0
  120. package/dist/components/Library/TimePicker/index.js +1 -0
  121. package/dist/components/{TokenSearchInput.demo.svelte → Library/TokenSearchInput/TokenSearchInput.demo.svelte} +1 -2
  122. package/dist/components/{TokenSearchInput.demo.svelte.d.ts → Library/TokenSearchInput/TokenSearchInput.demo.svelte.d.ts} +0 -1
  123. package/dist/components/Library/TokenSearchInput/TokenSearchInput.svelte +230 -0
  124. package/dist/components/{TokenSearchInput.svelte.d.ts → Library/TokenSearchInput/TokenSearchInput.svelte.d.ts} +2 -3
  125. package/dist/components/Library/TokenSearchInput/index.d.ts +1 -0
  126. package/dist/components/Library/TokenSearchInput/index.js +1 -0
  127. package/dist/components/Library/Tooltip/Tooltip.demo.svelte +14 -0
  128. package/dist/components/{Tooltip.demo.svelte.d.ts → Library/Tooltip/Tooltip.demo.svelte.d.ts} +0 -1
  129. package/dist/components/Library/Tooltip/index.d.ts +2 -0
  130. package/dist/components/Library/Tooltip/index.js +1 -0
  131. package/dist/components/Library/WheelPicker/WheelColumn.svelte +302 -0
  132. package/dist/components/Library/WheelPicker/WheelColumn.svelte.d.ts +29 -0
  133. package/dist/components/Library/WheelPicker/WheelPicker.svelte +114 -0
  134. package/dist/components/Library/WheelPicker/WheelPicker.svelte.d.ts +9 -0
  135. package/dist/components/Library/WheelPicker/index.d.ts +2 -0
  136. package/dist/components/Library/WheelPicker/index.js +1 -0
  137. package/dist/components/Library/WheelPicker/types.d.ts +10 -0
  138. package/dist/components/Library/WheelPicker/types.js +1 -0
  139. package/dist/components/Local/ComponentGrid.svelte +7 -6
  140. package/dist/components/Local/ComponentGrid.svelte.d.ts +1 -1
  141. package/dist/components/Local/HeroCard.svelte +18 -8
  142. package/dist/components/Local/HeroCard.svelte.d.ts +1 -1
  143. package/dist/components/Local/StyleControls.svelte +119 -0
  144. package/dist/components/Local/StyleControls.svelte.d.ts +15 -0
  145. package/dist/index.d.ts +24 -15
  146. package/dist/index.js +23 -15
  147. package/dist/style/index.css +61 -325
  148. package/dist/style/surface.d.ts +17 -0
  149. package/dist/style/surface.js +54 -0
  150. package/dist/style.css +86 -601
  151. package/dist/utils/positioning.d.ts +3 -2
  152. package/dist/utils/positioning.js +9 -5
  153. package/package.json +1 -1
  154. package/dist/components/AnimatedNumber.svelte +0 -18
  155. package/dist/components/AnimatedNumber.svelte.d.ts +0 -8
  156. package/dist/components/AsyncButton.svelte +0 -93
  157. package/dist/components/NavigationStack/NavigationStack.svelte +0 -76
  158. package/dist/components/NavigationStack/NavigationStack.svelte.d.ts +0 -10
  159. package/dist/components/NavigationStack/SidebarToggle.svelte +0 -36
  160. package/dist/components/NavigationStack/SidebarToggle.svelte.d.ts +0 -9
  161. package/dist/components/NavigationStack/Toolbar.svelte +0 -25
  162. package/dist/components/NavigationStack/Toolbar.svelte.d.ts +0 -9
  163. package/dist/components/Pagination.svelte +0 -144
  164. package/dist/components/Popover/Popover.demo.svelte +0 -35
  165. package/dist/components/Popover/Popover.svelte.d.ts +0 -13
  166. package/dist/components/Popover/index.d.ts +0 -2
  167. package/dist/components/Popover/index.js +0 -2
  168. package/dist/components/Popover/registry.svelte.d.ts +0 -18
  169. package/dist/components/SearchInput.svelte +0 -39
  170. package/dist/components/SegmentedPicker.svelte +0 -51
  171. package/dist/components/Sheet/Sheet.demo.svelte.d.ts +0 -8
  172. package/dist/components/Sheet/Sheet.svelte +0 -60
  173. package/dist/components/Slider.svelte +0 -47
  174. package/dist/components/Spinner.svelte +0 -7
  175. package/dist/components/TextShimmer.svelte +0 -60
  176. package/dist/components/TextShimmer.svelte.d.ts +0 -10
  177. package/dist/components/TokenSearchInput.svelte +0 -124
  178. package/dist/components/Tooltip.demo.svelte +0 -16
  179. package/dist/components/Tooltip.svelte +0 -79
  180. package/dist/components/Tooltip.svelte.d.ts +0 -12
  181. /package/dist/components/{AsyncButton.demo.svelte.d.ts → Library/AsyncButton/AsyncButton.demo.svelte.d.ts} +0 -0
  182. /package/dist/components/{NavigationStack → Library/NavigationStack}/index.d.ts +0 -0
  183. /package/dist/components/{NavigationStack → Library/NavigationStack}/index.js +0 -0
  184. /package/dist/components/{Popover → Library/Popover}/Popover.demo.svelte.d.ts +0 -0
  185. /package/dist/components/{Popover → Library/Popover}/PopoverDebugOverlay.svelte.d.ts +0 -0
  186. /package/dist/components/{Sheet → Library/Sheet}/index.d.ts +0 -0
  187. /package/dist/components/{Sheet → Library/Sheet}/index.js +0 -0
  188. /package/dist/components/{Spinner.demo.svelte.d.ts → Library/Spinner/Spinner.demo.svelte.d.ts} +0 -0
@@ -0,0 +1,119 @@
1
+ <script lang="ts">
2
+ import Slider from '../Library/Slider';
3
+
4
+ type Props = {
5
+ fontSize?: number;
6
+ borderRadius?: number;
7
+ paddingX?: number;
8
+ paddingY?: number;
9
+ gap?: number;
10
+ inset?: number;
11
+ borderColor?: string;
12
+ primaryColor?: string;
13
+ activeColor?: string;
14
+ inactiveColor?: string;
15
+ };
16
+
17
+ let {
18
+ fontSize = $bindable(1),
19
+ borderRadius = $bindable(0.75),
20
+ paddingX = $bindable(0.75),
21
+ paddingY = $bindable(0.75),
22
+ gap = $bindable(0.5),
23
+ inset = $bindable(0.25),
24
+ borderColor = $bindable('#e4e4e7'),
25
+ primaryColor = $bindable('#18181b'),
26
+ activeColor = $bindable('#18181b'),
27
+ inactiveColor = $bindable('#f4f4f5')
28
+ }: Props = $props();
29
+ </script>
30
+
31
+ <div class="vstack gap-3 text-sm text-zinc-700" style="--sveltely-border-radius: 0.75rem;">
32
+ <div class="font-semibold tracking-wide text-zinc-500 uppercase">Controls</div>
33
+ <div class="vstack gap-2">
34
+ <div class="hstack items-center justify-between gap-3 text-zinc-700">
35
+ <span class="font-medium">Font size</span>
36
+ <span class="text-zinc-500">{fontSize.toFixed(2)}rem</span>
37
+ </div>
38
+ <Slider bind:value={fontSize} min={0.5} max={2} step={0.05} />
39
+ </div>
40
+ <div class="vstack gap-2">
41
+ <div class="hstack items-center justify-between gap-3 text-zinc-700">
42
+ <span class="font-medium">Border radius</span>
43
+ <span class="text-zinc-500">{borderRadius.toFixed(2)}rem</span>
44
+ </div>
45
+ <Slider bind:value={borderRadius} min={0} max={3} step={0.05} />
46
+ </div>
47
+ <div class="vstack gap-2">
48
+ <div class="hstack items-center justify-between gap-3 text-zinc-700">
49
+ <span class="font-medium">Padding X</span>
50
+ <span class="text-zinc-500">{paddingX.toFixed(2)}rem</span>
51
+ </div>
52
+ <Slider bind:value={paddingX} min={0} max={2} step="any" />
53
+ </div>
54
+ <div class="vstack gap-2">
55
+ <div class="hstack items-center justify-between gap-3 text-zinc-700">
56
+ <span class="font-medium">Padding Y</span>
57
+ <span class="text-zinc-500">{paddingY.toFixed(2)}rem</span>
58
+ </div>
59
+ <Slider bind:value={paddingY} min={0} max={2} step="any" />
60
+ </div>
61
+ <div class="vstack gap-2">
62
+ <div class="hstack items-center justify-between gap-3 text-zinc-700">
63
+ <span class="font-medium">Gap</span>
64
+ <span class="text-zinc-500">{gap.toFixed(2)}rem</span>
65
+ </div>
66
+ <Slider bind:value={gap} min={0} max={2} step="any" />
67
+ </div>
68
+ <div class="vstack gap-2">
69
+ <div class="hstack items-center justify-between gap-3 text-zinc-700">
70
+ <span class="font-medium">Inset</span>
71
+ <span class="text-zinc-500">{inset.toFixed(2)}rem</span>
72
+ </div>
73
+ <Slider bind:value={inset} min={0} max={1} step="any" />
74
+ </div>
75
+ <div class="vstack gap-2">
76
+ <div class="hstack items-center justify-between gap-3 text-zinc-700">
77
+ <span class="font-medium">Border color</span>
78
+ <span class="text-zinc-500">{borderColor}</span>
79
+ </div>
80
+ <input
81
+ bind:value={borderColor}
82
+ type="color"
83
+ class="h-10 w-full cursor-pointer rounded-md border border-zinc-200 bg-white p-1"
84
+ />
85
+ </div>
86
+ <div class="vstack gap-2">
87
+ <div class="hstack items-center justify-between gap-3 text-zinc-700">
88
+ <span class="font-medium">Primary color</span>
89
+ <span class="text-zinc-500">{primaryColor}</span>
90
+ </div>
91
+ <input
92
+ bind:value={primaryColor}
93
+ type="color"
94
+ class="h-10 w-full cursor-pointer rounded-md border border-zinc-200 bg-white p-1"
95
+ />
96
+ </div>
97
+ <div class="vstack gap-2">
98
+ <div class="hstack items-center justify-between gap-3 text-zinc-700">
99
+ <span class="font-medium">Active color</span>
100
+ <span class="text-zinc-500">{activeColor}</span>
101
+ </div>
102
+ <input
103
+ bind:value={activeColor}
104
+ type="color"
105
+ class="h-10 w-full cursor-pointer rounded-md border border-zinc-200 bg-white p-1"
106
+ />
107
+ </div>
108
+ <div class="vstack gap-2">
109
+ <div class="hstack items-center justify-between gap-3 text-zinc-700">
110
+ <span class="font-medium">Inactive color</span>
111
+ <span class="text-zinc-500">{inactiveColor}</span>
112
+ </div>
113
+ <input
114
+ bind:value={inactiveColor}
115
+ type="color"
116
+ class="h-10 w-full cursor-pointer rounded-md border border-zinc-200 bg-white p-1"
117
+ />
118
+ </div>
119
+ </div>
@@ -0,0 +1,15 @@
1
+ type Props = {
2
+ fontSize?: number;
3
+ borderRadius?: number;
4
+ paddingX?: number;
5
+ paddingY?: number;
6
+ gap?: number;
7
+ inset?: number;
8
+ borderColor?: string;
9
+ primaryColor?: string;
10
+ activeColor?: string;
11
+ inactiveColor?: string;
12
+ };
13
+ declare const StyleControls: import("svelte").Component<Props, {}, "borderColor" | "borderRadius" | "fontSize" | "gap" | "inset" | "paddingX" | "paddingY" | "primaryColor" | "activeColor" | "inactiveColor">;
14
+ type StyleControls = ReturnType<typeof StyleControls>;
15
+ export default StyleControls;
package/dist/index.d.ts CHANGED
@@ -1,17 +1,26 @@
1
1
  export { motion, hover } from './actions/motion';
2
2
  export { portalHost, portalContent } from './actions/portal';
3
- export { default as AnimatedNumber } from './components/AnimatedNumber.svelte';
4
- export { default as GlowEffect } from './components/GlowEffect.svelte';
5
- export { default as NavigationStack } from './components/NavigationStack';
6
- export { default as SegmentedPicker } from './components/SegmentedPicker.svelte';
7
- export { default as Pagination } from './components/Pagination.svelte';
8
- export { default as Slider } from './components/Slider.svelte';
9
- export { default as Sheet } from './components/Sheet';
10
- export { default as Spinner } from './components/Spinner.svelte';
11
- export { default as TextShimmer } from './components/TextShimmer.svelte';
12
- export { default as Tooltip } from './components/Tooltip.svelte';
13
- export { default as Popover } from './components/Popover';
14
- export { default as ChipInput } from './components/ChipInput.svelte';
15
- export { default as AsyncButton } from './components/AsyncButton.svelte';
16
- export { default as SearchInput } from './components/SearchInput.svelte';
17
- export { default as TokenSearchInput } from './components/TokenSearchInput.svelte';
3
+ export { tooltip } from './actions/tooltip';
4
+ export type { TooltipOptions } from './actions/tooltip';
5
+ export { default as AnimatedNumber } from './components/Library/AnimatedNumber';
6
+ export { default as Button } from './components/Library/Button';
7
+ export { default as Checkbox } from './components/Library/Checkbox';
8
+ export { default as GlowEffect } from './components/Library/GlowEffect';
9
+ export { default as NavigationStack } from './components/Library/NavigationStack';
10
+ export { default as SegmentedPicker } from './components/Library/SegmentedPicker';
11
+ export { default as Pagination } from './components/Library/Pagination';
12
+ export { default as Dropdown } from './components/Library/Dropdown';
13
+ export { default as TimePicker } from './components/Library/TimePicker';
14
+ export { default as WheelPicker } from './components/Library/WheelPicker';
15
+ export { default as Slider } from './components/Library/Slider';
16
+ export { default as Switch } from './components/Library/Switch';
17
+ export { default as Sheet } from './components/Library/Sheet';
18
+ export { default as Spinner } from './components/Library/Spinner';
19
+ export { default as TextShimmer } from './components/Library/TextShimmer';
20
+ export { default as Popover } from './components/Library/Popover';
21
+ export { default as ChipInput } from './components/Library/ChipInput';
22
+ export { default as Calendar } from './components/Library/Calendar';
23
+ export { default as AsyncButton } from './components/Library/AsyncButton';
24
+ export { default as SearchInput } from './components/Library/SearchInput';
25
+ export { default as ScrollView } from './components/Library/ScrollView';
26
+ export { default as TokenSearchInput } from './components/Library/TokenSearchInput';
package/dist/index.js CHANGED
@@ -1,17 +1,25 @@
1
1
  export { motion, hover } from './actions/motion';
2
2
  export { portalHost, portalContent } from './actions/portal';
3
- export { default as AnimatedNumber } from './components/AnimatedNumber.svelte';
4
- export { default as GlowEffect } from './components/GlowEffect.svelte';
5
- export { default as NavigationStack } from './components/NavigationStack';
6
- export { default as SegmentedPicker } from './components/SegmentedPicker.svelte';
7
- export { default as Pagination } from './components/Pagination.svelte';
8
- export { default as Slider } from './components/Slider.svelte';
9
- export { default as Sheet } from './components/Sheet';
10
- export { default as Spinner } from './components/Spinner.svelte';
11
- export { default as TextShimmer } from './components/TextShimmer.svelte';
12
- export { default as Tooltip } from './components/Tooltip.svelte';
13
- export { default as Popover } from './components/Popover';
14
- export { default as ChipInput } from './components/ChipInput.svelte';
15
- export { default as AsyncButton } from './components/AsyncButton.svelte';
16
- export { default as SearchInput } from './components/SearchInput.svelte';
17
- export { default as TokenSearchInput } from './components/TokenSearchInput.svelte';
3
+ export { tooltip } from './actions/tooltip';
4
+ export { default as AnimatedNumber } from './components/Library/AnimatedNumber';
5
+ export { default as Button } from './components/Library/Button';
6
+ export { default as Checkbox } from './components/Library/Checkbox';
7
+ export { default as GlowEffect } from './components/Library/GlowEffect';
8
+ export { default as NavigationStack } from './components/Library/NavigationStack';
9
+ export { default as SegmentedPicker } from './components/Library/SegmentedPicker';
10
+ export { default as Pagination } from './components/Library/Pagination';
11
+ export { default as Dropdown } from './components/Library/Dropdown';
12
+ export { default as TimePicker } from './components/Library/TimePicker';
13
+ export { default as WheelPicker } from './components/Library/WheelPicker';
14
+ export { default as Slider } from './components/Library/Slider';
15
+ export { default as Switch } from './components/Library/Switch';
16
+ export { default as Sheet } from './components/Library/Sheet';
17
+ export { default as Spinner } from './components/Library/Spinner';
18
+ export { default as TextShimmer } from './components/Library/TextShimmer';
19
+ export { default as Popover } from './components/Library/Popover';
20
+ export { default as ChipInput } from './components/Library/ChipInput';
21
+ export { default as Calendar } from './components/Library/Calendar';
22
+ export { default as AsyncButton } from './components/Library/AsyncButton';
23
+ export { default as SearchInput } from './components/Library/SearchInput';
24
+ export { default as ScrollView } from './components/Library/ScrollView';
25
+ export { default as TokenSearchInput } from './components/Library/TokenSearchInput';
@@ -4,9 +4,70 @@
4
4
  @custom-variant error-text (&[data-error='true'] .async-button-text);
5
5
 
6
6
  @layer base {
7
+ :root {
8
+ --sveltely-font-size: 1rem;
9
+ --sveltely-border-radius: 0.75rem;
10
+ --sveltely-inset: 0px;
11
+ --sveltely-nested-inset: var(--sveltely-inset);
12
+ --sveltely-padding-x: 0.75rem;
13
+ --sveltely-padding-y: 0.75rem;
14
+ --sveltely-gap: 0.5rem;
15
+ --sveltely-primary-color: var(--color-zinc-900);
16
+ --sveltely-active-color: var(--sveltely-primary-color);
17
+ --sveltely-inactive-color: var(--color-zinc-100);
18
+ --sveltely-hover-color: color-mix(in oklab, var(--sveltely-primary-color) 5%, transparent);
19
+ --sveltely-inactive-hover-color: color-mix(in oklab, var(--sveltely-inactive-color) 88%, white);
20
+ --sveltely-active-hover-color: color-mix(in oklab, var(--sveltely-active-color) 88%, white);
21
+ --sveltely-border-radius-nested: clamp(
22
+ 0px,
23
+ calc(var(--sveltely-border-radius) - var(--sveltely-nested-inset)),
24
+ var(--sveltely-border-radius)
25
+ );
26
+ --sveltely-border-color: var(--color-zinc-200);
27
+ }
28
+
7
29
  html,
8
30
  body {
9
31
  @apply size-full overflow-hidden;
32
+ -webkit-user-select: none;
33
+ user-select: none;
34
+ }
35
+
36
+ *,
37
+ *::before,
38
+ *::after {
39
+ -webkit-tap-highlight-color: transparent;
40
+ }
41
+
42
+ input,
43
+ textarea,
44
+ select,
45
+ button {
46
+ -webkit-appearance: none;
47
+ appearance: none;
48
+ background-clip: padding-box;
49
+ }
50
+
51
+ input::-webkit-search-decoration,
52
+ input::-webkit-search-cancel-button,
53
+ input::-webkit-search-results-button,
54
+ input::-webkit-search-results-decoration {
55
+ -webkit-appearance: none;
56
+ appearance: none;
57
+ }
58
+
59
+ input:-webkit-autofill,
60
+ input:-webkit-autofill:hover,
61
+ input:-webkit-autofill:focus,
62
+ textarea:-webkit-autofill,
63
+ textarea:-webkit-autofill:hover,
64
+ textarea:-webkit-autofill:focus,
65
+ select:-webkit-autofill,
66
+ select:-webkit-autofill:hover,
67
+ select:-webkit-autofill:focus {
68
+ -webkit-text-fill-color: inherit;
69
+ box-shadow: 0 0 0 1000px transparent inset;
70
+ transition: background-color 99999s ease-out 0s;
10
71
  }
11
72
  }
12
73
 
@@ -36,331 +97,6 @@
36
97
  }
37
98
  }
38
99
 
39
- @layer components {
40
- .chip-input {
41
- @apply gap-1;
42
- }
43
-
44
- .chip {
45
- @apply rounded-full border border-transparent bg-zinc-100 px-2 py-1 text-xs whitespace-nowrap text-black;
46
- }
47
-
48
- .chip-selected {
49
- @apply border-zinc-300;
50
- }
51
-
52
- .chip:hover,
53
- .chip-hovered {
54
- @apply bg-zinc-200;
55
- }
56
-
57
- .chip-input-field:hover {
58
- @apply bg-zinc-100;
59
- }
60
-
61
- .chip-input-disabled {
62
- @apply pointer-events-none;
63
- }
64
-
65
- .chip-input-disabled .chip {
66
- @apply cursor-not-allowed opacity-50;
67
- }
68
-
69
- .chip-input-disabled .chip:hover {
70
- @apply bg-zinc-100;
71
- }
72
-
73
- .chip-input-action {
74
- @apply h-7 w-7 p-0;
75
- }
76
-
77
- .pagination-button {
78
- @apply rounded-full bg-zinc-100 p-2;
79
- }
80
-
81
- .pagination-button:disabled {
82
- @apply cursor-not-allowed opacity-50;
83
- }
84
-
85
- .pagination-input {
86
- @apply rounded-full bg-zinc-100 px-3 py-1 outline-none;
87
- }
88
-
89
- .pagination {
90
- @apply inline-flex w-fit gap-4;
91
- }
92
-
93
- .sidebar-toggle {
94
- @apply rounded p-1.5 hover:bg-zinc-100;
95
- }
96
-
97
- .navigation-stack-sidebar-left {
98
- @apply border-r border-zinc-200;
99
- }
100
-
101
- .navigation-stack-sidebar-right {
102
- @apply border-l border-zinc-200;
103
- }
104
-
105
- .navigation-stack-sidebar-inner {
106
- @apply bg-zinc-50;
107
- }
108
-
109
- .navigation-stack-toolbar {
110
- @apply border-b border-zinc-200 bg-white;
111
- }
112
-
113
- .navigation-stack[data-chrome='false'] .navigation-stack-sidebar-left,
114
- .navigation-stack[data-chrome='false'] .navigation-stack-sidebar-right {
115
- @apply border-transparent;
116
- }
117
-
118
- .navigation-stack[data-chrome='false'] .navigation-stack-sidebar-inner {
119
- @apply bg-transparent;
120
- }
121
-
122
- .navigation-stack-toolbar-shell[data-chrome='false'] .navigation-stack-toolbar {
123
- @apply border-transparent bg-transparent;
124
- }
125
-
126
- .navigation-stack-toolbar-shell[data-chrome='false'] .navigation-stack-toolbar-content {
127
- @apply bg-transparent;
128
- }
129
-
130
- .navigation-stack-toolbar-shell[data-chrome='false'] .sidebar-toggle {
131
- @apply hover:bg-transparent;
132
- }
133
-
134
- .popover {
135
- @apply border border-gray-200 bg-white p-1 shadow-md;
136
- }
137
-
138
- .popover-item {
139
- @apply rounded-md px-2 py-1;
140
- }
141
- .popover-item:hover {
142
- @apply bg-zinc-200;
143
- }
144
- .sheet {
145
- @apply rounded-md bg-white p-4 shadow-md;
146
- }
147
-
148
- .sheet-overlay {
149
- @apply bg-black/20 backdrop-blur-sm;
150
- }
151
-
152
- .slider {
153
- appearance: none;
154
- height: 6px;
155
- border-radius: 9999px;
156
- background: transparent;
157
- outline: none;
158
- cursor: pointer;
159
- }
160
-
161
- .slider:focus-visible {
162
- outline: 2px solid color-mix(in oklab, var(--color-gray-900) 35%, white);
163
- outline-offset: 4px;
164
- }
165
-
166
- .slider:disabled {
167
- opacity: 0.5;
168
- cursor: not-allowed;
169
- }
170
-
171
- .slider::-webkit-slider-runnable-track {
172
- height: 6px;
173
- border-radius: 9999px;
174
- background: linear-gradient(
175
- to right,
176
- var(--color-zinc-900) 0%,
177
- var(--color-zinc-900) var(--slider-pct),
178
- var(--color-zinc-300) var(--slider-pct),
179
- var(--color-zinc-300) 100%
180
- );
181
- }
182
-
183
- .slider::-webkit-slider-thumb {
184
- appearance: none;
185
- width: 16px;
186
- height: 16px;
187
- border-radius: 9999px;
188
- border: 2px solid var(--color-white);
189
- background: var(--color-zinc-900);
190
- box-shadow: var(--shadow-md);
191
- margin-top: -5px;
192
- }
193
-
194
- .slider::-moz-range-track {
195
- height: 6px;
196
- border: none;
197
- border-radius: 9999px;
198
- background: var(--color-zinc-300);
199
- }
200
-
201
- .slider::-moz-range-progress {
202
- height: 6px;
203
- border: none;
204
- border-radius: 9999px;
205
- background: var(--color-zinc-900);
206
- }
207
-
208
- .slider::-moz-range-thumb {
209
- width: 16px;
210
- height: 16px;
211
- border-radius: 9999px;
212
- border: 2px solid var(--color-white);
213
- background: var(--color-zinc-900);
214
- box-shadow: var(--shadow-md);
215
- }
216
-
217
- .tooltip {
218
- @apply rounded-sm bg-black px-2 py-1 text-xs whitespace-nowrap text-white;
219
- }
220
-
221
- .tooltip::before {
222
- content: '';
223
- position: absolute;
224
- width: 8px;
225
- height: 8px;
226
- background: #000;
227
- transform: rotate(45deg);
228
- z-index: -1;
229
- }
230
-
231
- /* Arrow points down (tooltip is above trigger) */
232
- .tooltip[data-anchor='top']::before {
233
- bottom: -4px;
234
- left: 50%;
235
- margin-left: -4px;
236
- }
237
-
238
- /* Arrow points up (tooltip is below trigger) */
239
- .tooltip[data-anchor='bottom']::before {
240
- top: -4px;
241
- left: 50%;
242
- margin-left: -4px;
243
- }
244
-
245
- /* Arrow points right (tooltip is to the left of trigger) */
246
- .tooltip[data-anchor='leading']::before {
247
- right: -4px;
248
- top: 50%;
249
- margin-top: -4px;
250
- }
251
-
252
- /* Arrow points left (tooltip is to the right of trigger) */
253
- .tooltip[data-anchor='trailing']::before {
254
- left: -4px;
255
- top: 50%;
256
- margin-top: -4px;
257
- }
258
-
259
- .segmented-picker {
260
- @apply gap-1 rounded-full bg-zinc-100 p-1;
261
- }
262
-
263
- .segmented-picker-disabled {
264
- @apply opacity-50 grayscale;
265
- }
266
-
267
- .segmented-picker-button {
268
- @apply rounded-full px-2.5 py-1;
269
- }
270
-
271
- .segmented-picker-button-active {
272
- @apply bg-white shadow-xs;
273
- }
274
-
275
- .segmented-picker-button-disabled {
276
- @apply cursor-not-allowed text-zinc-400;
277
- pointer-events: none;
278
- }
279
-
280
- .segmented-picker-button-disabled-selected {
281
- @apply bg-zinc-200 text-zinc-400 shadow-none;
282
- }
283
-
284
- .search-input {
285
- @apply inline-flex items-center gap-2 rounded-full border border-zinc-200 bg-white px-3 py-2 text-sm text-zinc-900 shadow-xs transition-colors;
286
- }
287
-
288
- .search-input:focus-within {
289
- @apply border-zinc-400;
290
- }
291
-
292
- .search-input[data-disabled='true'] {
293
- @apply cursor-not-allowed opacity-60;
294
- }
295
-
296
- .search-input-icon {
297
- @apply shrink-0 text-zinc-500;
298
- }
299
-
300
- .search-input-field {
301
- @apply min-w-0 flex-1 bg-transparent outline-none;
302
- }
303
-
304
- .search-input-field::-webkit-search-cancel-button {
305
- appearance: none;
306
- }
307
-
308
- .search-input-confirm {
309
- @apply shrink-0 text-xs font-medium tracking-[0.18em] text-zinc-500 uppercase;
310
- }
311
-
312
- .token-search-input {
313
- @apply min-w-0 rounded-full border border-zinc-200 text-sm text-zinc-900 transition-colors outline-none;
314
- @apply px-3 py-[7px];
315
- }
316
-
317
- .token-search-input:focus-within {
318
- @apply border-zinc-400;
319
- }
320
-
321
- .token-search-input-has-tokens {
322
- @apply p-1;
323
- }
324
-
325
- .token-search-input[data-disabled='true'] {
326
- @apply cursor-not-allowed opacity-60;
327
- }
328
-
329
- .token-search-input-icon {
330
- @apply shrink-0 text-zinc-500;
331
- }
332
-
333
- .token-search-input-field {
334
- @apply field-sizing-content min-w-0 flex-1 bg-transparent outline-none;
335
- }
336
-
337
- .token-search-input-field::-webkit-search-cancel-button {
338
- appearance: none;
339
- }
340
-
341
- .token-search-input-token {
342
- @apply inline-flex shrink-0 items-center gap-1 rounded-full border border-zinc-200 bg-zinc-100 px-2 py-0.5 text-zinc-700 transition-colors;
343
- }
344
-
345
- .token-search-input-token:hover:not(:disabled) {
346
- @apply border-zinc-300 bg-zinc-200;
347
- }
348
-
349
- .token-search-input-token:disabled {
350
- @apply cursor-not-allowed opacity-60;
351
- }
352
-
353
- .token-search-input-confirm {
354
- @apply shrink-0 text-xs font-medium tracking-[0.18em] text-zinc-500 uppercase;
355
- }
356
- }
357
-
358
- @layer theme {
359
- :root {
360
- --navigation-stack-sidebar-width: 16rem;
361
- }
362
- }
363
-
364
100
  .hstack > .divider {
365
101
  width: 1px;
366
102
  align-self: stretch;
@@ -0,0 +1,17 @@
1
+ export type StyleProps = {
2
+ fontSize?: number | string;
3
+ paddingX?: number | string;
4
+ paddingY?: number | string;
5
+ gap?: number | string;
6
+ borderRadius?: number | string;
7
+ inset?: number | string;
8
+ background?: string;
9
+ borderColor?: string;
10
+ color?: string;
11
+ };
12
+ export type SurfaceStyles = StyleProps;
13
+ export declare const extractStyleProps: <T extends Record<string, unknown>>(props: T) => {
14
+ styleProps: Partial<StyleProps>;
15
+ restProps: Record<string, unknown>;
16
+ };
17
+ export declare const surfaceStyle: (styles?: SurfaceStyles, prefix?: string) => string;
@@ -0,0 +1,54 @@
1
+ const STYLE_PROP_KEYS = new Set([
2
+ 'fontSize',
3
+ 'paddingX',
4
+ 'paddingY',
5
+ 'gap',
6
+ 'borderRadius',
7
+ 'inset',
8
+ 'background',
9
+ 'borderColor',
10
+ 'color'
11
+ ]);
12
+ const toRem = (value) => value === undefined ? undefined : typeof value === 'number' ? `${value}rem` : value;
13
+ const pushVar = (declarations, name, value) => {
14
+ const resolved = toRem(value);
15
+ if (resolved === undefined)
16
+ return;
17
+ declarations.push(`${name}: ${resolved};`);
18
+ };
19
+ export const extractStyleProps = (props) => {
20
+ const styleProps = {};
21
+ const restProps = {};
22
+ for (const [key, value] of Object.entries(props)) {
23
+ if (STYLE_PROP_KEYS.has(key)) {
24
+ styleProps[key] = value;
25
+ continue;
26
+ }
27
+ restProps[key] = value;
28
+ }
29
+ return {
30
+ styleProps,
31
+ restProps
32
+ };
33
+ };
34
+ export const surfaceStyle = (styles, prefix = 'surface') => {
35
+ if (!styles)
36
+ return '';
37
+ const declarations = [];
38
+ pushVar(declarations, `--${prefix}-font-size`, styles.fontSize);
39
+ pushVar(declarations, `--${prefix}-padding-x`, styles.paddingX);
40
+ pushVar(declarations, `--${prefix}-padding-y`, styles.paddingY);
41
+ pushVar(declarations, `--${prefix}-gap`, styles.gap);
42
+ pushVar(declarations, `--${prefix}-border-radius`, styles.borderRadius);
43
+ pushVar(declarations, `--${prefix}-inset`, styles.inset);
44
+ if (styles.background !== undefined) {
45
+ declarations.push(`background: ${styles.background};`);
46
+ }
47
+ if (styles.borderColor !== undefined) {
48
+ declarations.push(`border-color: ${styles.borderColor};`);
49
+ }
50
+ if (styles.color !== undefined) {
51
+ declarations.push(`color: ${styles.color};`);
52
+ }
53
+ return declarations.join(' ');
54
+ };