@x33025/sveltely 0.1.1 → 0.1.3

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 (156) hide show
  1. package/dist/components/Library/AnimatedNumber/AnimatedNumber.demo.svelte +1 -1
  2. package/dist/components/Library/AsyncButton/AsyncButton.svelte +42 -16
  3. package/dist/components/Library/Button/Button.demo.svelte +5 -3
  4. package/dist/components/Library/Button/Button.demo.svelte.d.ts +1 -0
  5. package/dist/components/Library/Button/Button.svelte +21 -13
  6. package/dist/components/Library/Calendar/Calendar.demo.svelte +2 -14
  7. package/dist/components/Library/Calendar/Calendar.svelte +69 -65
  8. package/dist/components/Library/Checkbox/Checkbox.svelte +13 -14
  9. package/dist/components/Library/ChipInput/ChipInput.demo.svelte +1 -1
  10. package/dist/components/Library/ChipInput/ChipInput.svelte +7 -4
  11. package/dist/components/Library/Divider/Divider.svelte +10 -0
  12. package/dist/components/Library/Divider/Divider.svelte.d.ts +26 -0
  13. package/dist/components/Library/Divider/index.d.ts +1 -0
  14. package/dist/components/Library/Divider/index.js +1 -0
  15. package/dist/components/Library/Dropdown/Action.svelte +60 -0
  16. package/dist/components/Library/Dropdown/Action.svelte.d.ts +11 -0
  17. package/dist/components/Library/Dropdown/Divider.svelte +5 -0
  18. package/dist/components/Library/Dropdown/Divider.svelte.d.ts +19 -0
  19. package/dist/components/Library/Dropdown/Dropdown.demo.svelte +182 -65
  20. package/dist/components/Library/Dropdown/Dropdown.demo.svelte.d.ts +2 -1
  21. package/dist/components/Library/Dropdown/Dropdown.svelte +95 -250
  22. package/dist/components/Library/Dropdown/Dropdown.svelte.d.ts +17 -16
  23. package/dist/components/Library/Dropdown/Item.svelte +68 -0
  24. package/dist/components/Library/Dropdown/Item.svelte.d.ts +31 -0
  25. package/dist/components/Library/Dropdown/Section.svelte +34 -0
  26. package/dist/components/Library/Dropdown/Section.svelte.d.ts +8 -0
  27. package/dist/components/Library/Dropdown/context.d.ts +34 -0
  28. package/dist/components/Library/Dropdown/context.js +6 -0
  29. package/dist/components/Library/Dropdown/index.d.ts +13 -2
  30. package/dist/components/Library/Dropdown/index.js +11 -1
  31. package/dist/components/Library/Floating/Floating.svelte +44 -7
  32. package/dist/components/Library/ForEach/ForEach.svelte +14 -0
  33. package/dist/components/Library/ForEach/ForEach.svelte.d.ts +28 -0
  34. package/dist/components/Library/ForEach/index.d.ts +1 -0
  35. package/dist/components/Library/ForEach/index.js +1 -0
  36. package/dist/components/Library/Grid/Grid.svelte +74 -0
  37. package/dist/components/Library/Grid/Grid.svelte.d.ts +13 -0
  38. package/dist/components/Library/Grid/index.d.ts +1 -0
  39. package/dist/components/Library/Grid/index.js +1 -0
  40. package/dist/components/Library/GridItem/GridItem.svelte +65 -0
  41. package/dist/components/Library/GridItem/GridItem.svelte.d.ts +14 -0
  42. package/dist/components/Library/GridItem/index.d.ts +1 -0
  43. package/dist/components/Library/GridItem/index.js +1 -0
  44. package/dist/components/Library/HStack/HStack.svelte +45 -0
  45. package/dist/components/Library/HStack/HStack.svelte.d.ts +9 -0
  46. package/dist/components/Library/HStack/index.d.ts +1 -0
  47. package/dist/components/Library/HStack/index.js +1 -0
  48. package/dist/components/Library/Image/Image.demo.svelte +18 -0
  49. package/dist/components/Library/Image/Image.demo.svelte.d.ts +23 -0
  50. package/dist/components/Library/Image/Image.svelte +57 -0
  51. package/dist/components/Library/Image/Image.svelte.d.ts +17 -0
  52. package/dist/components/Library/Image/ImagePlaceholder.svelte +202 -0
  53. package/dist/components/Library/Image/ImagePlaceholder.svelte.d.ts +7 -0
  54. package/dist/components/Library/Image/index.d.ts +1 -0
  55. package/dist/components/Library/Image/index.js +1 -0
  56. package/dist/components/Library/ImageMask/BrushPreview.svelte +119 -0
  57. package/dist/components/Library/ImageMask/BrushPreview.svelte.d.ts +11 -0
  58. package/dist/components/Library/ImageMask/ImageMask.demo.svelte +117 -0
  59. package/dist/components/Library/ImageMask/ImageMask.demo.svelte.d.ts +10 -0
  60. package/dist/components/Library/ImageMask/ImageMask.svelte +46 -0
  61. package/dist/components/Library/ImageMask/ImageMask.svelte.d.ts +20 -0
  62. package/dist/components/Library/ImageMask/MaskLayer.svelte +341 -0
  63. package/dist/components/Library/ImageMask/MaskLayer.svelte.d.ts +12 -0
  64. package/dist/components/Library/ImageMask/contour.d.ts +11 -0
  65. package/dist/components/Library/ImageMask/contour.js +152 -0
  66. package/dist/components/Library/ImageMask/index.d.ts +2 -0
  67. package/dist/components/Library/ImageMask/index.js +1 -0
  68. package/dist/components/Library/ImageMask/marchingAnts.d.ts +8 -0
  69. package/dist/components/Library/ImageMask/marchingAnts.js +29 -0
  70. package/dist/components/Library/ImageMask/maskSurface.d.ts +5 -0
  71. package/dist/components/Library/ImageMask/maskSurface.js +94 -0
  72. package/dist/components/Library/ImageMask/types.d.ts +23 -0
  73. package/dist/components/Library/Label/Label.demo.svelte +28 -0
  74. package/dist/components/Library/Label/Label.demo.svelte.d.ts +9 -0
  75. package/dist/components/Library/Label/Label.svelte +175 -0
  76. package/dist/components/Library/Label/Label.svelte.d.ts +18 -0
  77. package/dist/components/Library/Label/index.d.ts +1 -0
  78. package/dist/components/Library/Label/index.js +1 -0
  79. package/dist/components/Library/NavigationStack/NavigationStack.svelte +17 -7
  80. package/dist/components/Library/NavigationStack/Toolbar.svelte +7 -2
  81. package/dist/components/Library/NumberField/NumberField.demo.svelte +21 -0
  82. package/dist/components/Library/NumberField/NumberField.demo.svelte.d.ts +8 -0
  83. package/dist/components/Library/NumberField/NumberField.svelte +199 -0
  84. package/dist/components/Library/NumberField/NumberField.svelte.d.ts +21 -0
  85. package/dist/components/Library/NumberField/index.d.ts +1 -0
  86. package/dist/components/Library/NumberField/index.js +1 -0
  87. package/dist/components/Library/Pagination/Pagination.svelte +16 -20
  88. package/dist/components/Library/Popover/Popover.demo.svelte +2 -2
  89. package/dist/components/Library/Popover/Popover.svelte +7 -4
  90. package/dist/components/Library/ScrollView/ScrollView.svelte +165 -12
  91. package/dist/components/Library/ScrollView/ScrollView.svelte.d.ts +32 -4
  92. package/dist/components/Library/ScrollView/index.d.ts +1 -0
  93. package/dist/components/Library/{SearchInput/SearchInput.demo.svelte → SearchField/SearchField.demo.svelte} +4 -4
  94. package/dist/components/Library/SearchField/SearchField.demo.svelte.d.ts +8 -0
  95. package/dist/components/Library/{SearchInput/SearchInput.svelte → SearchField/SearchField.svelte} +26 -30
  96. package/dist/components/Library/{SearchInput/SearchInput.svelte.d.ts → SearchField/SearchField.svelte.d.ts} +3 -3
  97. package/dist/components/Library/SearchField/index.d.ts +1 -0
  98. package/dist/components/Library/SearchField/index.js +1 -0
  99. package/dist/components/Library/SegmentedPicker/SegmentedPicker.demo.svelte +1 -1
  100. package/dist/components/Library/SegmentedPicker/SegmentedPicker.svelte +9 -9
  101. package/dist/components/Library/Sheet/Sheet.demo.svelte +1 -1
  102. package/dist/components/Library/Sheet/Sheet.svelte +8 -5
  103. package/dist/components/Library/Slider/Slider.demo.svelte +1 -1
  104. package/dist/components/Library/Slider/Slider.svelte +11 -10
  105. package/dist/components/Library/Spacer/Spacer.svelte +7 -0
  106. package/dist/components/Library/Spacer/Spacer.svelte.d.ts +26 -0
  107. package/dist/components/Library/Spacer/index.d.ts +1 -0
  108. package/dist/components/Library/Spacer/index.js +1 -0
  109. package/dist/components/Library/Spinner/Spinner.demo.svelte +1 -1
  110. package/dist/components/Library/Switch/Switch.svelte +6 -11
  111. package/dist/components/Library/TextField/TextField.demo.svelte +14 -0
  112. package/dist/components/Library/TextField/TextField.demo.svelte.d.ts +8 -0
  113. package/dist/components/Library/TextField/TextField.svelte +154 -0
  114. package/dist/components/Library/TextField/TextField.svelte.d.ts +19 -0
  115. package/dist/components/Library/TextField/index.d.ts +1 -0
  116. package/dist/components/Library/TextField/index.js +1 -0
  117. package/dist/components/Library/{TokenSearchInput/TokenSearchInput.demo.svelte → TokenSearchField/TokenSearchField.demo.svelte} +4 -4
  118. package/dist/components/Library/TokenSearchField/TokenSearchField.demo.svelte.d.ts +9 -0
  119. package/dist/components/Library/{TokenSearchInput/TokenSearchInput.svelte → TokenSearchField/TokenSearchField.svelte} +70 -66
  120. package/dist/components/Library/{TokenSearchInput/TokenSearchInput.svelte.d.ts → TokenSearchField/TokenSearchField.svelte.d.ts} +3 -3
  121. package/dist/components/Library/TokenSearchField/index.d.ts +1 -0
  122. package/dist/components/Library/TokenSearchField/index.js +1 -0
  123. package/dist/components/Library/VStack/VStack.svelte +45 -0
  124. package/dist/components/Library/VStack/VStack.svelte.d.ts +9 -0
  125. package/dist/components/Library/VStack/index.d.ts +1 -0
  126. package/dist/components/Library/VStack/index.js +1 -0
  127. package/dist/components/Library/WheelPicker/WheelColumn.svelte +4 -10
  128. package/dist/components/Library/WheelPicker/WheelPicker.svelte +5 -9
  129. package/dist/components/Local/ComponentGrid.svelte +15 -31
  130. package/dist/components/Local/HeroCard.svelte +30 -38
  131. package/dist/components/Local/HeroCard.svelte.d.ts +0 -2
  132. package/dist/components/Local/StyleControls.svelte +58 -27
  133. package/dist/components/Local/StyleControls.svelte.d.ts +3 -1
  134. package/dist/index.d.ts +26 -2
  135. package/dist/index.js +19 -2
  136. package/dist/style/index.css +35 -20
  137. package/dist/style/label.d.ts +6 -0
  138. package/dist/style/label.js +4 -0
  139. package/dist/style/layout.d.ts +57 -0
  140. package/dist/style/layout.js +128 -0
  141. package/dist/style/media.d.ts +12 -0
  142. package/dist/style/media.js +8 -0
  143. package/dist/style/scroll.d.ts +7 -0
  144. package/dist/style/scroll.js +5 -0
  145. package/dist/style/text-editor.d.ts +34 -0
  146. package/dist/style/text-editor.js +29 -0
  147. package/dist/style.css +112 -58
  148. package/package.json +1 -1
  149. package/dist/components/Library/Dropdown/types.d.ts +0 -27
  150. package/dist/components/Library/SearchInput/SearchInput.demo.svelte.d.ts +0 -8
  151. package/dist/components/Library/SearchInput/index.d.ts +0 -1
  152. package/dist/components/Library/SearchInput/index.js +0 -1
  153. package/dist/components/Library/TokenSearchInput/TokenSearchInput.demo.svelte.d.ts +0 -9
  154. package/dist/components/Library/TokenSearchInput/index.d.ts +0 -1
  155. package/dist/components/Library/TokenSearchInput/index.js +0 -1
  156. /package/dist/components/Library/{Dropdown → ImageMask}/types.js +0 -0
@@ -0,0 +1,128 @@
1
+ export const LayoutSize = {
2
+ full: 'full',
3
+ fit: 'fit'
4
+ };
5
+ export const LayoutOverflow = {
6
+ visible: 'visible',
7
+ hidden: 'hidden',
8
+ clip: 'clip',
9
+ auto: 'auto',
10
+ scroll: 'scroll'
11
+ };
12
+ export const LayoutAlignment = {
13
+ start: 'start',
14
+ center: 'center',
15
+ end: 'end',
16
+ stretch: 'stretch',
17
+ baseline: 'baseline'
18
+ };
19
+ export const LayoutJustification = {
20
+ start: 'start',
21
+ center: 'center',
22
+ end: 'end',
23
+ between: 'between',
24
+ around: 'around',
25
+ evenly: 'evenly'
26
+ };
27
+ const LAYOUT_PROP_KEYS = new Set([
28
+ 'size',
29
+ 'width',
30
+ 'height',
31
+ 'minWidth',
32
+ 'minHeight',
33
+ 'maxWidth',
34
+ 'maxHeight',
35
+ 'grow',
36
+ 'shrink',
37
+ 'basis',
38
+ 'border',
39
+ 'overflow',
40
+ 'align',
41
+ 'justify'
42
+ ]);
43
+ const toRem = (value) => value === undefined ? undefined : typeof value === 'number' ? `${value}rem` : value;
44
+ const toSize = (value) => {
45
+ if (value === 'full')
46
+ return '100%';
47
+ if (value === 'fit')
48
+ return 'fit-content';
49
+ return toRem(value);
50
+ };
51
+ const pushDeclaration = (declarations, name, value) => {
52
+ const resolved = toRem(value);
53
+ if (resolved === undefined)
54
+ return;
55
+ declarations.push(`${name}: ${resolved};`);
56
+ };
57
+ const pushFlexValue = (declarations, name, value) => {
58
+ if (value === undefined)
59
+ return;
60
+ declarations.push(`${name}: ${value === true ? 1 : value === false ? 0 : value};`);
61
+ };
62
+ const alignValues = {
63
+ start: 'flex-start',
64
+ center: 'center',
65
+ end: 'flex-end',
66
+ stretch: 'stretch',
67
+ baseline: 'baseline'
68
+ };
69
+ const justifyValues = {
70
+ start: 'flex-start',
71
+ center: 'center',
72
+ end: 'flex-end',
73
+ between: 'space-between',
74
+ around: 'space-around',
75
+ evenly: 'space-evenly'
76
+ };
77
+ export const extractLayoutProps = (props) => {
78
+ const layoutProps = {};
79
+ const restProps = {};
80
+ for (const [key, value] of Object.entries(props)) {
81
+ if (LAYOUT_PROP_KEYS.has(key)) {
82
+ layoutProps[key] = value;
83
+ continue;
84
+ }
85
+ restProps[key] = value;
86
+ }
87
+ return {
88
+ layoutProps,
89
+ restProps
90
+ };
91
+ };
92
+ export const layoutStyle = (styles) => {
93
+ if (!styles)
94
+ return '';
95
+ const declarations = [];
96
+ const resolvedSize = toSize(styles.size);
97
+ if (resolvedSize !== undefined) {
98
+ declarations.push(`width: ${resolvedSize};`, `height: ${resolvedSize};`);
99
+ }
100
+ pushDeclaration(declarations, 'width', styles.width);
101
+ pushDeclaration(declarations, 'height', styles.height);
102
+ pushDeclaration(declarations, 'min-width', styles.minWidth);
103
+ pushDeclaration(declarations, 'min-height', styles.minHeight);
104
+ pushDeclaration(declarations, 'max-width', styles.maxWidth);
105
+ pushDeclaration(declarations, 'max-height', styles.maxHeight);
106
+ pushFlexValue(declarations, 'flex-grow', styles.grow);
107
+ pushFlexValue(declarations, 'flex-shrink', styles.shrink);
108
+ pushDeclaration(declarations, 'flex-basis', styles.basis);
109
+ if (styles.border === true) {
110
+ declarations.push('border: 1px solid var(--sveltely-border-color);');
111
+ }
112
+ else if (typeof styles.border === 'string') {
113
+ const borderValue = /\b(solid|dashed|dotted|double|none|hidden)\b|\d/.test(styles.border)
114
+ ? styles.border
115
+ : `1px solid ${styles.border}`;
116
+ declarations.push(`border: ${borderValue};`);
117
+ }
118
+ if (styles.overflow !== undefined) {
119
+ declarations.push(`overflow: ${styles.overflow};`);
120
+ }
121
+ if (styles.align !== undefined) {
122
+ declarations.push(`align-items: ${alignValues[styles.align]};`);
123
+ }
124
+ if (styles.justify !== undefined) {
125
+ declarations.push(`justify-content: ${justifyValues[styles.justify]};`);
126
+ }
127
+ return declarations.join(' ');
128
+ };
@@ -0,0 +1,12 @@
1
+ export declare const ImageFit: {
2
+ readonly contain: "contain";
3
+ readonly cover: "cover";
4
+ };
5
+ export declare const ImageLoading: {
6
+ readonly eager: "eager";
7
+ readonly lazy: "lazy";
8
+ };
9
+ export type ImageFitValue = (typeof ImageFit)[keyof typeof ImageFit];
10
+ export type ImageLoadingValue = (typeof ImageLoading)[keyof typeof ImageLoading];
11
+ export type ImageFit = ImageFitValue;
12
+ export type ImageLoading = ImageLoadingValue;
@@ -0,0 +1,8 @@
1
+ export const ImageFit = {
2
+ contain: 'contain',
3
+ cover: 'cover'
4
+ };
5
+ export const ImageLoading = {
6
+ eager: 'eager',
7
+ lazy: 'lazy'
8
+ };
@@ -0,0 +1,7 @@
1
+ export declare const ScrollAxis: {
2
+ readonly vertical: "vertical";
3
+ readonly horizontal: "horizontal";
4
+ readonly both: "both";
5
+ };
6
+ export type ScrollAxisValue = (typeof ScrollAxis)[keyof typeof ScrollAxis];
7
+ export type ScrollAxis = ScrollAxisValue;
@@ -0,0 +1,5 @@
1
+ export const ScrollAxis = {
2
+ vertical: 'vertical',
3
+ horizontal: 'horizontal',
4
+ both: 'both'
5
+ };
@@ -0,0 +1,34 @@
1
+ export declare const TextAlignment: {
2
+ readonly left: "left";
3
+ readonly center: "center";
4
+ readonly right: "right";
5
+ readonly start: "start";
6
+ readonly end: "end";
7
+ };
8
+ export type TextAlignmentValue = (typeof TextAlignment)[keyof typeof TextAlignment];
9
+ export type TextAlignment = TextAlignmentValue;
10
+ export declare const TextInputMode: {
11
+ readonly none: "none";
12
+ readonly text: "text";
13
+ readonly tel: "tel";
14
+ readonly url: "url";
15
+ readonly email: "email";
16
+ readonly numeric: "numeric";
17
+ readonly decimal: "decimal";
18
+ readonly search: "search";
19
+ };
20
+ export declare const TextFieldType: {
21
+ readonly text: "text";
22
+ readonly email: "email";
23
+ readonly password: "password";
24
+ readonly url: "url";
25
+ readonly tel: "tel";
26
+ };
27
+ export type TextInputModeValue = (typeof TextInputMode)[keyof typeof TextInputMode];
28
+ export type TextFieldTypeValue = (typeof TextFieldType)[keyof typeof TextFieldType];
29
+ export type TextInputMode = TextInputModeValue;
30
+ export type TextFieldType = TextFieldTypeValue;
31
+ export type TextEditorProps = {
32
+ textAlign?: TextAlignment;
33
+ };
34
+ export declare const textEditorStyle: (props?: TextEditorProps, prefix?: string) => string;
@@ -0,0 +1,29 @@
1
+ export const TextAlignment = {
2
+ left: 'left',
3
+ center: 'center',
4
+ right: 'right',
5
+ start: 'start',
6
+ end: 'end'
7
+ };
8
+ export const TextInputMode = {
9
+ none: 'none',
10
+ text: 'text',
11
+ tel: 'tel',
12
+ url: 'url',
13
+ email: 'email',
14
+ numeric: 'numeric',
15
+ decimal: 'decimal',
16
+ search: 'search'
17
+ };
18
+ export const TextFieldType = {
19
+ text: 'text',
20
+ email: 'email',
21
+ password: 'password',
22
+ url: 'url',
23
+ tel: 'tel'
24
+ };
25
+ export const textEditorStyle = (props, prefix = 'text-field') => {
26
+ if (!props?.textAlign)
27
+ return '';
28
+ return `--${prefix}-text-align: ${props.textAlign};`;
29
+ };
package/dist/style.css CHANGED
@@ -7,20 +7,17 @@
7
7
  "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
8
8
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
9
9
  "Courier New", monospace;
10
+ --color-red-500: oklch(63.7% 0.237 25.331);
10
11
  --color-red-600: oklch(57.7% 0.245 27.325);
12
+ --color-green-500: oklch(72.3% 0.219 149.579);
13
+ --color-blue-500: oklch(62.3% 0.214 259.815);
11
14
  --color-gray-200: oklch(92.8% 0.006 264.531);
12
15
  --color-gray-700: oklch(37.3% 0.034 259.733);
13
- --color-zinc-50: oklch(98.5% 0 0);
14
16
  --color-zinc-100: oklch(96.7% 0.001 286.375);
15
17
  --color-zinc-200: oklch(92% 0.004 286.32);
16
- --color-zinc-300: oklch(87.1% 0.006 286.286);
17
- --color-zinc-400: oklch(70.5% 0.015 286.067);
18
18
  --color-zinc-500: oklch(55.2% 0.016 285.938);
19
- --color-zinc-600: oklch(44.2% 0.017 285.786);
20
- --color-zinc-700: oklch(37% 0.013 285.805);
21
- --color-zinc-800: oklch(27.4% 0.006 286.033);
22
19
  --color-zinc-900: oklch(21% 0.006 285.885);
23
- --color-zinc-950: oklch(14.1% 0.005 285.823);
20
+ --color-black: #000;
24
21
  --color-white: #fff;
25
22
  --spacing: 0.25rem;
26
23
  --container-sm: 24rem;
@@ -203,6 +200,9 @@
203
200
  .pointer-events-none {
204
201
  pointer-events: none;
205
202
  }
203
+ .visible {
204
+ visibility: visible;
205
+ }
206
206
  .absolute {
207
207
  position: absolute;
208
208
  }
@@ -257,6 +257,9 @@
257
257
  .inline-grid {
258
258
  display: inline-grid;
259
259
  }
260
+ .aspect-square {
261
+ aspect-ratio: 1 / 1;
262
+ }
260
263
  .size-4 {
261
264
  width: calc(var(--spacing) * 4);
262
265
  height: calc(var(--spacing) * 4);
@@ -271,6 +274,9 @@
271
274
  .h-10 {
272
275
  height: calc(var(--spacing) * 10);
273
276
  }
277
+ .h-36 {
278
+ height: calc(var(--spacing) * 36);
279
+ }
274
280
  .h-full {
275
281
  height: 100%;
276
282
  }
@@ -280,33 +286,48 @@
280
286
  .w-5 {
281
287
  width: calc(var(--spacing) * 5);
282
288
  }
283
- .w-64 {
284
- width: calc(var(--spacing) * 64);
285
- }
286
289
  .w-fit {
287
290
  width: fit-content;
288
291
  }
289
292
  .w-full {
290
293
  width: 100%;
291
294
  }
295
+ .w-px {
296
+ width: 1px;
297
+ }
292
298
  .max-w-3xl {
293
299
  max-width: var(--container-3xl);
294
300
  }
301
+ .max-w-32 {
302
+ max-width: calc(var(--spacing) * 32);
303
+ }
295
304
  .max-w-md {
296
305
  max-width: var(--container-md);
297
306
  }
298
307
  .max-w-sm {
299
308
  max-width: var(--container-sm);
300
309
  }
310
+ .min-w-0 {
311
+ min-width: calc(var(--spacing) * 0);
312
+ }
301
313
  .flex-1 {
302
314
  flex: 1;
303
315
  }
304
316
  .flex-shrink {
305
317
  flex-shrink: 1;
306
318
  }
319
+ .shrink {
320
+ flex-shrink: 1;
321
+ }
307
322
  .shrink-0 {
308
323
  flex-shrink: 0;
309
324
  }
325
+ .flex-grow {
326
+ flex-grow: 1;
327
+ }
328
+ .grow {
329
+ flex-grow: 1;
330
+ }
310
331
  .transform {
311
332
  transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
312
333
  }
@@ -319,6 +340,9 @@
319
340
  .cursor-pointer {
320
341
  cursor: pointer;
321
342
  }
343
+ .touch-none {
344
+ touch-action: none;
345
+ }
322
346
  .resize {
323
347
  resize: both;
324
348
  }
@@ -337,14 +361,20 @@
337
361
  .items-center {
338
362
  align-items: center;
339
363
  }
364
+ .items-start {
365
+ align-items: flex-start;
366
+ }
340
367
  .justify-between {
341
368
  justify-content: space-between;
342
369
  }
343
370
  .justify-center {
344
371
  justify-content: center;
345
372
  }
346
- .justify-end {
347
- justify-content: flex-end;
373
+ .gap-0\.5 {
374
+ gap: calc(var(--spacing) * 0.5);
375
+ }
376
+ .gap-1 {
377
+ gap: calc(var(--spacing) * 1);
348
378
  }
349
379
  .gap-2 {
350
380
  gap: calc(var(--spacing) * 2);
@@ -362,6 +392,11 @@
362
392
  margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
363
393
  }
364
394
  }
395
+ .truncate {
396
+ overflow: hidden;
397
+ text-overflow: ellipsis;
398
+ white-space: nowrap;
399
+ }
365
400
  .overflow-auto {
366
401
  overflow: auto;
367
402
  }
@@ -377,6 +412,9 @@
377
412
  .rounded {
378
413
  border-radius: 0.25rem;
379
414
  }
415
+ .rounded-full {
416
+ border-radius: calc(infinity * 1px);
417
+ }
380
418
  .rounded-md {
381
419
  border-radius: var(--radius-md);
382
420
  }
@@ -393,15 +431,45 @@
393
431
  .border-zinc-200 {
394
432
  border-color: var(--color-zinc-200);
395
433
  }
434
+ .bg-black {
435
+ background-color: var(--color-black);
436
+ }
396
437
  .bg-white {
397
438
  background-color: var(--color-white);
398
439
  }
440
+ .bg-zinc-100 {
441
+ background-color: var(--color-zinc-100);
442
+ }
443
+ .bg-zinc-200 {
444
+ background-color: var(--color-zinc-200);
445
+ }
446
+ .object-contain {
447
+ object-fit: contain;
448
+ }
449
+ .object-cover {
450
+ object-fit: cover;
451
+ }
399
452
  .p-1 {
400
453
  padding: calc(var(--spacing) * 1);
401
454
  }
402
455
  .p-3 {
403
456
  padding: calc(var(--spacing) * 3);
404
457
  }
458
+ .px-2 {
459
+ padding-inline: calc(var(--spacing) * 2);
460
+ }
461
+ .px-3 {
462
+ padding-inline: calc(var(--spacing) * 3);
463
+ }
464
+ .py-1 {
465
+ padding-block: calc(var(--spacing) * 1);
466
+ }
467
+ .py-2 {
468
+ padding-block: calc(var(--spacing) * 2);
469
+ }
470
+ .pr-2 {
471
+ padding-right: calc(var(--spacing) * 2);
472
+ }
405
473
  .text-left {
406
474
  text-align: left;
407
475
  }
@@ -440,27 +508,18 @@
440
508
  .whitespace-nowrap {
441
509
  white-space: nowrap;
442
510
  }
511
+ .text-\[var\(--sveltely-primary-color\)\] {
512
+ color: var(--sveltely-primary-color);
513
+ }
514
+ .text-\[var\(--sveltely-secondary-color\)\] {
515
+ color: var(--sveltely-secondary-color);
516
+ }
443
517
  .text-gray-700 {
444
518
  color: var(--color-gray-700);
445
519
  }
446
520
  .text-red-600 {
447
521
  color: var(--color-red-600);
448
522
  }
449
- .text-zinc-500 {
450
- color: var(--color-zinc-500);
451
- }
452
- .text-zinc-600 {
453
- color: var(--color-zinc-600);
454
- }
455
- .text-zinc-700 {
456
- color: var(--color-zinc-700);
457
- }
458
- .text-zinc-900 {
459
- color: var(--color-zinc-900);
460
- }
461
- .text-zinc-950 {
462
- color: var(--color-zinc-950);
463
- }
464
523
  .uppercase {
465
524
  text-transform: uppercase;
466
525
  }
@@ -504,6 +563,10 @@
504
563
  --tw-blur: blur(var(--blur-xs));
505
564
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
506
565
  }
566
+ .grayscale {
567
+ --tw-grayscale: grayscale(100%);
568
+ filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
569
+ }
507
570
  .filter {
508
571
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
509
572
  }
@@ -540,9 +603,9 @@
540
603
  background-color: var(--color-zinc-200);
541
604
  }
542
605
  }
543
- .disabled\:text-zinc-500 {
606
+ .disabled\:text-\[var\(--sveltely-secondary-color\)\] {
544
607
  &:disabled {
545
- color: var(--color-zinc-500);
608
+ color: var(--sveltely-secondary-color);
546
609
  }
547
610
  }
548
611
  .disabled\:opacity-50 {
@@ -550,19 +613,14 @@
550
613
  opacity: 50%;
551
614
  }
552
615
  }
553
- .md\:grid-flow-dense {
554
- @media (width >= 48rem) {
555
- grid-auto-flow: dense;
556
- }
557
- }
558
616
  .md\:grid-cols-2 {
559
617
  @media (width >= 48rem) {
560
618
  grid-template-columns: repeat(2, minmax(0, 1fr));
561
619
  }
562
620
  }
563
- .xl\:grid-cols-3 {
564
- @media (width >= 80rem) {
565
- grid-template-columns: repeat(3, minmax(0, 1fr));
621
+ .md\:grid-cols-\[minmax\(0\,18rem\)_minmax\(8rem\,1fr\)\] {
622
+ @media (width >= 48rem) {
623
+ grid-template-columns: minmax(0,18rem) minmax(8rem,1fr);
566
624
  }
567
625
  }
568
626
  }
@@ -570,17 +628,19 @@
570
628
  :root {
571
629
  --sveltely-font-size: 1rem;
572
630
  --sveltely-border-radius: 0.75rem;
573
- --sveltely-inset: 0px;
631
+ --sveltely-inset: 0.25rem;
574
632
  --sveltely-nested-inset: var(--sveltely-inset);
575
633
  --sveltely-padding-x: 0.75rem;
576
634
  --sveltely-padding-y: 0.75rem;
577
635
  --sveltely-gap: 0.5rem;
578
636
  --sveltely-primary-color: var(--color-zinc-900);
579
- --sveltely-active-color: var(--sveltely-primary-color);
580
- --sveltely-inactive-color: var(--color-zinc-100);
581
- --sveltely-hover-color: var(--sveltely-primary-color);
637
+ --sveltely-secondary-color: var(--color-zinc-500);
638
+ --sveltely-active-color: var(--color-zinc-900);
639
+ --sveltely-inactive-color: var(--sveltely-active-color);
640
+ --sveltely-background-color: white;
641
+ --sveltely-hover-color: var(--sveltely-active-color);
582
642
  @supports (color: color-mix(in lab, red, red)) {
583
- --sveltely-hover-color: color-mix(in oklab, var(--sveltely-primary-color) 5%, transparent);
643
+ --sveltely-hover-color: color-mix(in oklab, var(--sveltely-active-color) 5%, transparent);
584
644
  }
585
645
  --sveltely-inactive-hover-color: var(--sveltely-inactive-color);
586
646
  @supports (color: color-mix(in lab, red, red)) {
@@ -601,6 +661,8 @@
601
661
  width: 100%;
602
662
  height: 100%;
603
663
  overflow: hidden;
664
+ background: var(--sveltely-background-color);
665
+ color: var(--sveltely-primary-color);
604
666
  -webkit-user-select: none;
605
667
  user-select: none;
606
668
  }
@@ -612,6 +674,12 @@
612
674
  appearance: none;
613
675
  background-clip: padding-box;
614
676
  }
677
+ button {
678
+ cursor: pointer;
679
+ }
680
+ button:disabled {
681
+ cursor: not-allowed;
682
+ }
615
683
  input::-webkit-search-decoration, input::-webkit-search-cancel-button, input::-webkit-search-results-button, input::-webkit-search-results-decoration {
616
684
  -webkit-appearance: none;
617
685
  appearance: none;
@@ -647,24 +715,10 @@
647
715
  min-width: calc(var(--spacing) * 0);
648
716
  flex-direction: row;
649
717
  }
650
- .spacer {
651
- flex: 1 1 auto;
652
- }
653
- .divider {
654
- background-color: color-mix(in srgb, oklch(92.8% 0.006 264.531) 70%, transparent);
655
- @supports (color: color-mix(in lab, red, red)) {
656
- background-color: color-mix(in oklab, var(--color-gray-200) 70%, transparent);
657
- }
718
+ .button, .async-button, .segmented-picker, .switch, .checkbox, .search-field, .token-search-field, .chip-input, .dropdown, .pagination, .calendar, .wheel-picker, .time-picker, .slider, .spinner, .image, .image-mask, .text-shimmer {
719
+ flex-shrink: 0;
658
720
  }
659
721
  }
660
- .hstack > .divider {
661
- width: 1px;
662
- align-self: stretch;
663
- }
664
- .vstack > .divider {
665
- height: 1px;
666
- width: 100%;
667
- }
668
722
  .overflow-auto > .vstack, .overflow-auto > .hstack, .overflow-auto > .grid {
669
723
  flex-shrink: 0;
670
724
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@x33025/sveltely",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "scripts": {
5
5
  "dev": "vite dev",
6
6
  "build": "vite build && npm run prepack",
@@ -1,27 +0,0 @@
1
- import type { Anchor } from '../../../utils/positioning';
2
- export type DropdownItem<TValue extends string | number = string> = {
3
- type?: 'option';
4
- label: string;
5
- value: TValue;
6
- disabled?: boolean;
7
- };
8
- export type DropdownAction = {
9
- type: 'action';
10
- label: string;
11
- disabled?: boolean;
12
- onSelect: () => void;
13
- };
14
- export type DropdownSubmenu<TValue extends string | number = string> = {
15
- type: 'submenu';
16
- label: string;
17
- disabled?: boolean;
18
- items: DropdownEntry<TValue>[];
19
- placement?: Anchor;
20
- };
21
- export type DropdownGroup<TValue extends string | number = string> = {
22
- type: 'group';
23
- label?: string;
24
- disabled?: boolean;
25
- items: DropdownEntry<TValue>[];
26
- };
27
- export type DropdownEntry<TValue extends string | number = string> = DropdownItem<TValue> | DropdownAction | DropdownGroup<TValue> | DropdownSubmenu<TValue>;
@@ -1,8 +0,0 @@
1
- export declare const demo: {
2
- name: string;
3
- description: string;
4
- };
5
- import SearchInput from './SearchInput.svelte';
6
- declare const SearchInput: import("svelte").Component<Record<string, never>, {}, "">;
7
- type SearchInput = ReturnType<typeof SearchInput>;
8
- export default SearchInput;
@@ -1 +0,0 @@
1
- export { default } from './SearchInput.svelte';
@@ -1 +0,0 @@
1
- export { default } from './SearchInput.svelte';
@@ -1,9 +0,0 @@
1
- export declare const demo: {
2
- name: string;
3
- description: string;
4
- columnSpan: number;
5
- };
6
- import TokenSearchInput from './TokenSearchInput.svelte';
7
- declare const TokenSearchInput: import("svelte").Component<Record<string, never>, {}, "">;
8
- type TokenSearchInput = ReturnType<typeof TokenSearchInput>;
9
- export default TokenSearchInput;
@@ -1 +0,0 @@
1
- export { default } from './TokenSearchInput.svelte';
@@ -1 +0,0 @@
1
- export { default } from './TokenSearchInput.svelte';