@geoffcox/sterling-svelte 0.0.26 → 0.0.27

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 (74) hide show
  1. package/Button.svelte +79 -24
  2. package/Button.svelte.d.ts +1 -0
  3. package/Checkbox.svelte +44 -19
  4. package/Checkbox.svelte.d.ts +1 -0
  5. package/ColorPicker.constants.d.ts +1 -0
  6. package/ColorPicker.constants.js +1 -0
  7. package/ColorPicker.svelte +226 -0
  8. package/ColorPicker.svelte.d.ts +22 -0
  9. package/ColorPicker.types.d.ts +4 -0
  10. package/ColorPicker.types.js +1 -0
  11. package/Dialog.svelte +10 -10
  12. package/Dropdown.svelte +87 -55
  13. package/Dropdown.svelte.d.ts +4 -0
  14. package/Field.svelte +31 -31
  15. package/HexColorSliders.svelte +150 -0
  16. package/HexColorSliders.svelte.d.ts +22 -0
  17. package/HslColorSliders.svelte +187 -0
  18. package/HslColorSliders.svelte.d.ts +22 -0
  19. package/Input.svelte +49 -21
  20. package/Input.svelte.d.ts +2 -1
  21. package/Label.svelte +3 -3
  22. package/Link.svelte +63 -17
  23. package/Link.svelte.d.ts +1 -0
  24. package/List.svelte +28 -16
  25. package/List.svelte.d.ts +1 -0
  26. package/List.types.d.ts +4 -3
  27. package/ListItem.svelte +29 -10
  28. package/ListItem.svelte.d.ts +1 -1
  29. package/Menu.svelte +7 -7
  30. package/MenuBar.svelte +1 -1
  31. package/MenuButton.svelte +3 -5
  32. package/MenuItem.svelte +33 -11
  33. package/MenuItem.svelte.d.ts +1 -0
  34. package/MenuItemDisplay.svelte +7 -1
  35. package/MenuSeparator.svelte +3 -3
  36. package/Popover.svelte +66 -51
  37. package/Popover.svelte.d.ts +4 -2
  38. package/Progress.svelte +14 -14
  39. package/Radio.svelte +42 -16
  40. package/Radio.svelte.d.ts +1 -0
  41. package/RgbColorSliders.svelte +161 -0
  42. package/RgbColorSliders.svelte.d.ts +22 -0
  43. package/Select.svelte +30 -24
  44. package/Slider.svelte +108 -118
  45. package/Slider.svelte.d.ts +1 -0
  46. package/Switch.svelte +97 -34
  47. package/Switch.svelte.d.ts +1 -0
  48. package/Tab.svelte +52 -29
  49. package/TabList.svelte +21 -10
  50. package/TabList.svelte.d.ts +1 -0
  51. package/TabList.types.d.ts +1 -0
  52. package/TextArea.svelte +45 -20
  53. package/TextArea.svelte.d.ts +3 -2
  54. package/Tooltip.svelte +12 -11
  55. package/Tree.svelte +34 -21
  56. package/Tree.svelte.d.ts +2 -0
  57. package/Tree.types.d.ts +1 -0
  58. package/TreeChevron.svelte +1 -1
  59. package/TreeItem.svelte +40 -9
  60. package/TreeItem.svelte.d.ts +2 -0
  61. package/TreeItemDisplay.svelte +26 -8
  62. package/TreeItemDisplay.svelte.d.ts +2 -0
  63. package/actions/clickOutside.js +1 -1
  64. package/actions/trapKeyboardFocus.d.ts +3 -0
  65. package/actions/trapKeyboardFocus.js +52 -0
  66. package/floating-ui.types.d.ts +2 -0
  67. package/index.d.ts +8 -3
  68. package/index.js +7 -2
  69. package/package.json +10 -1
  70. package/theme/applyTheme.js +3 -2
  71. package/theme/colors.d.ts +1 -0
  72. package/theme/colors.js +28 -13
  73. package/theme/darkTheme.js +130 -87
  74. package/theme/lightTheme.js +107 -87
package/Dropdown.svelte CHANGED
@@ -1,8 +1,11 @@
1
1
  <script>import { createEventDispatcher } from "svelte";
2
- import Popup from "./Popover.svelte";
2
+ import Popover from "./Popover.svelte";
3
3
  import { clickOutside } from "./actions/clickOutside";
4
4
  import { idGenerator } from "./idGenerator";
5
+ import { prefersReducedMotion } from "./stores/prefersReducedMotion";
6
+ import { slide } from "svelte/transition";
5
7
  const popupId = idGenerator.nextId("Dropdown-popup");
8
+ export let colorful = false;
6
9
  export let composed = false;
7
10
  export let disabled = false;
8
11
  export let open = false;
@@ -35,9 +38,15 @@ const onClick = (event) => {
35
38
  const onKeydown = (event) => {
36
39
  if (!event.altKey && !event.ctrlKey && !event.shiftKey) {
37
40
  switch (event.key) {
41
+ case " ":
42
+ open = !open;
43
+ event.preventDefault();
44
+ event.stopPropagation();
45
+ return false;
38
46
  case "Escape":
39
47
  open = false;
40
48
  event.preventDefault();
49
+ event.stopPropagation();
41
50
  return false;
42
51
  }
43
52
  }
@@ -47,6 +56,11 @@ const onClickOutside = (event) => {
47
56
  open = false;
48
57
  }
49
58
  };
59
+ const slideNoOp = (node, params) => {
60
+ return { delay: 0, duration: 0 };
61
+ };
62
+ $:
63
+ slideMotion = !$prefersReducedMotion ? slide : slideNoOp;
50
64
  </script>
51
65
 
52
66
  <div
@@ -55,6 +69,7 @@ const onClickOutside = (event) => {
55
69
  aria-haspopup={true}
56
70
  aria-expanded={open}
57
71
  class="sterling-dropdown"
72
+ class:colorful
58
73
  class:composed
59
74
  class:disabled
60
75
  role="combobox"
@@ -86,35 +101,40 @@ const onClickOutside = (event) => {
86
101
  on:mouseover
87
102
  on:mouseout
88
103
  on:mouseup
89
- on:wheel
104
+ on:wheel|passive
90
105
  on:paste
91
106
  on:click_outside={onClickOutside}
92
107
  {...$$restProps}
93
108
  >
94
- <slot name="value" {composed} {disabled} {open} />
95
- <slot name="button" {composed} {disabled} {open}>
109
+ <slot name="value" {colorful} {composed} {disabled} {open} />
110
+ <slot name="button" {colorful} {composed} {disabled} {open}>
96
111
  <div class="button">
97
112
  <div class="chevron" />
98
113
  </div>
99
114
  </slot>
100
115
 
101
- <Popup reference={dropdownRef} open={!disabled && open}>
102
- <div class="popup-content" bind:this={popupContentRef}>
103
- <slot {composed} {disabled} {open} />
116
+ <Popover reference={dropdownRef} open={!disabled && open}>
117
+ <div
118
+ class="popup-content"
119
+ transition:slideMotion={{ duration: 200 }}
120
+ class:colorful
121
+ bind:this={popupContentRef}
122
+ >
123
+ <slot {colorful} {composed} {disabled} {open} />
104
124
  </div>
105
- </Popup>
125
+ </Popover>
106
126
  </div>
107
127
 
108
128
  <style>
109
129
  .sterling-dropdown {
110
130
  align-content: stretch;
111
131
  align-items: stretch;
112
- background-color: var(--stsv-Input__background-color);
113
- border-color: var(--stsv-Input__border-color);
114
- border-radius: var(--stsv-Input__border-radius);
115
- border-style: var(--stsv-Input__border-style);
116
- border-width: var(--stsv-Input__border-width);
117
- color: var(--stsv-Input__color);
132
+ background-color: var(--stsv-input__background-color);
133
+ border-color: var(--stsv-input__border-color);
134
+ border-radius: var(--stsv-button__border-radius);
135
+ border-style: var(--stsv-input__border-style);
136
+ border-width: var(--stsv-input__border-width);
137
+ color: var(--stsv-input__color);
118
138
  display: grid;
119
139
  grid-template-columns: 1fr 2em;
120
140
  grid-template-rows: auto;
@@ -125,19 +145,37 @@ const onClickOutside = (event) => {
125
145
  }
126
146
 
127
147
  .sterling-dropdown:hover {
128
- background-color: var(--stsv-Input__background-color--hover);
129
- border-color: var(--stsv-Input__border-color--hover);
130
- color: var(--stsv-Input__color--hover);
148
+ background-color: var(--stsv-input__background-color--hover);
149
+ border-color: var(--stsv-input__border-color--hover);
150
+ color: var(--stsv-input__color--hover);
131
151
  }
132
152
 
133
153
  .sterling-dropdown:focus {
134
- background-color: var(--stsv-Input__background-color--focus);
135
- border-color: var(--stsv-Input__border-color--focus);
136
- color: var(--stsv-Input__color--focus);
137
- outline-color: var(--stsv-Common__outline-color);
138
- outline-offset: var(--stsv-Common__outline-offset);
139
- outline-style: var(--stsv-Common__outline-style);
140
- outline-width: var(--stsv-Common__outline-width);
154
+ background-color: var(--stsv-input__background-color--focus);
155
+ border-color: var(--stsv-input__border-color--focus);
156
+ color: var(--stsv-input__color--focus);
157
+ outline-color: var(--stsv-common__outline-color);
158
+ outline-offset: var(--stsv-common__outline-offset);
159
+ outline-style: var(--stsv-common__outline-style);
160
+ outline-width: var(--stsv-common__outline-width);
161
+ }
162
+
163
+ .sterling-dropdown.colorful {
164
+ background-color: var(--stsv-input--colorful__background-color);
165
+ border-color: var(--stsv-input--colorful__border-color);
166
+ color: var(--stsv-input--colorful__color);
167
+ }
168
+
169
+ .sterling-dropdown.colorful:hover {
170
+ background-color: var(--stsv-input--colorful__background-color--hover);
171
+ border-color: var(--stsv-input--colorful__border-color--hover);
172
+ color: var(--stsv-input--colorful__color--hover);
173
+ }
174
+
175
+ .sterling-dropdown.colorful:focus {
176
+ background-color: var(--stsv-input--colorful__background-color--focus);
177
+ border-color: var(--stsv-input--colorful__border-color--focus);
178
+ color: var(--stsv-input--colorful__color--focus);
141
179
  }
142
180
 
143
181
  .sterling-dropdown.disabled {
@@ -145,8 +183,18 @@ const onClickOutside = (event) => {
145
183
  outline: none;
146
184
  }
147
185
 
186
+ .sterling-dropdown.disabled .button {
187
+ cursor: not-allowed;
188
+ }
189
+
148
190
  .sterling-dropdown::after {
149
- background: var(--stsv-Disabled__background);
191
+ background: repeating-linear-gradient(
192
+ 45deg,
193
+ var(--stsv-common__background-color1--disabled),
194
+ var(--stsv-common__background-color1--disabled) 3px,
195
+ var(--stsv-common__background-color2--disabled) 3px,
196
+ var(--stsv-common__background-color2--disabled) 6px
197
+ );
150
198
  bottom: 0;
151
199
  content: '';
152
200
  left: 0;
@@ -187,7 +235,8 @@ const onClickOutside = (event) => {
187
235
  background: none;
188
236
  margin: 0;
189
237
  height: 100%;
190
- width: 32px;
238
+ min-width: 2em;
239
+ min-height: 2em;
191
240
  }
192
241
 
193
242
  .chevron::after {
@@ -216,36 +265,13 @@ const onClickOutside = (event) => {
216
265
  transform-origin: 50% 50%;
217
266
  }
218
267
 
219
- .popup {
220
- background-color: var(--stsv-Common__background-color);
221
- border-color: var(--stsv-Common__border-color);
222
- border-radius: var(--stsv-Common__border-radius);
223
- border-style: var(--stsv-Common__border-style);
224
- border-width: var(--stsv-Common__border-width);
225
- box-sizing: border-box;
226
- color: var(--stsv-Common__color);
227
- display: none;
228
- overflow: visible;
229
- outline: none;
230
- position: absolute;
231
- box-shadow: rgba(0, 0, 0, 0.4) 2px 2px 4px -1px;
232
- width: fit-content;
233
- height: fit-content;
234
- z-index: 1;
235
- }
236
-
237
- .popup.open {
238
- display: grid;
239
- grid-template-columns: 1fr;
240
- grid-template-rows: 1fr;
241
- }
242
-
243
268
  .popup-content {
244
- background-color: var(--stsv-Common__background-color);
245
- border-color: var(--stsv-Common__border-color);
246
- border-radius: var(--stsv-Common__border-radius);
247
- border-style: var(--stsv-Common__border-style);
248
- border-width: var(--stsv-Common__border-width);
269
+ background-color: var(--stsv-common__background-color);
270
+ border-color: var(--stsv-common__border-color);
271
+ border-radius: var(--stsv-common__border-radius);
272
+ border-style: var(--stsv-common__border-style);
273
+ border-width: var(--stsv-common__border-width);
274
+ color: var(--stsv-common__color);
249
275
  padding: 0.25em;
250
276
  display: grid;
251
277
  grid-template-columns: 1fr;
@@ -253,6 +279,12 @@ const onClickOutside = (event) => {
253
279
  overflow: hidden;
254
280
  }
255
281
 
282
+ .popup-content.colorful {
283
+ background-color: var(--stsv-common--colorful__background-color);
284
+ border-color: var(--stsv-common--colorful__border-color);
285
+ color: var(--stsv-common--colorful__color);
286
+ }
287
+
256
288
  @media (prefers-reduced-motion) {
257
289
  .sterling-dropdown,
258
290
  .sterling-dropdown::after {
@@ -2,6 +2,7 @@ import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
4
  [x: string]: any;
5
+ colorful?: boolean | undefined;
5
6
  composed?: boolean | undefined;
6
7
  disabled?: boolean | undefined;
7
8
  open?: boolean | undefined;
@@ -43,16 +44,19 @@ declare const __propDef: {
43
44
  };
44
45
  slots: {
45
46
  value: {
47
+ colorful: boolean;
46
48
  composed: boolean;
47
49
  disabled: boolean;
48
50
  open: boolean;
49
51
  };
50
52
  button: {
53
+ colorful: boolean;
51
54
  composed: boolean;
52
55
  disabled: boolean;
53
56
  open: boolean;
54
57
  };
55
58
  default: {
59
+ colorful: boolean;
56
60
  composed: boolean;
57
61
  disabled: boolean;
58
62
  open: boolean;
package/Field.svelte CHANGED
@@ -110,7 +110,7 @@ const onClick = () => {
110
110
  on:mouseout
111
111
  on:mouseup
112
112
  on:scroll
113
- on:wheel
113
+ on:wheel|passive
114
114
  on:paste
115
115
  {...$$restProps}
116
116
  >
@@ -151,13 +151,13 @@ const onClick = () => {
151
151
 
152
152
  <style>
153
153
  .sterling-field {
154
- background-color: var(--stsv-Input__background-color);
155
- border-color: var(--stsv-Input__border-color);
156
- border-radius: var(--stsv-Input__border-radius);
157
- border-style: var(--stsv-Input__border-style);
158
- border-width: var(--stsv-Input__border-width);
154
+ background-color: var(--stsv-input__background-color);
155
+ border-color: var(--stsv-input__border-color);
156
+ border-radius: var(--stsv-input__border-radius);
157
+ border-style: var(--stsv-input__border-style);
158
+ border-width: var(--stsv-input__border-width);
159
159
  box-sizing: border-box;
160
- color: var(--stsv-Input__color);
160
+ color: var(--stsv-input__color);
161
161
  display: flex;
162
162
  flex-direction: column;
163
163
  font: inherit;
@@ -169,18 +169,18 @@ const onClick = () => {
169
169
  }
170
170
 
171
171
  .sterling-field:not(.disabled):hover {
172
- background-color: var(--stsv-Input__background-color--hover);
173
- border-color: var(--stsv-Input__border-color--hover);
174
- color: var(--stsv-Input__color--hover);
172
+ background-color: var(--stsv-input__background-color--hover);
173
+ border-color: var(--stsv-input__border-color--hover);
174
+ color: var(--stsv-input__color--hover);
175
175
  }
176
176
 
177
177
  .sterling-field.using-keyboard:focus-within {
178
- border-color: var(--stsv-Common__border-color--focus);
179
- color: var(--stsv-Common__color--focus);
180
- outline-color: var(--stsv-Common__outline-color);
181
- outline-offset: var(--stsv-Common__outline-offset);
182
- outline-style: var(--stsv-Common__outline-style);
183
- outline-width: var(--stsv-Common__outline-width);
178
+ border-color: var(--stsv-input__border-color--focus);
179
+ color: var(--stsv-input__color--focus);
180
+ outline-color: var(--stsv-common__outline-color);
181
+ outline-offset: var(--stsv-common__outline-offset);
182
+ outline-style: var(--stsv-common__outline-style);
183
+ outline-width: var(--stsv-common__outline-width);
184
184
  }
185
185
 
186
186
  .sterling-field.disabled {
@@ -192,7 +192,7 @@ const onClick = () => {
192
192
  }
193
193
 
194
194
  .label-text {
195
- color: var(--stsv-Display__color);
195
+ color: var(--stsv-common__color--secondary);
196
196
  font-size: 0.8em;
197
197
  margin: 0.5em 0.7em 0.2em 0.2em;
198
198
  }
@@ -208,35 +208,35 @@ const onClick = () => {
208
208
  .message {
209
209
  box-sizing: border-box;
210
210
  font-size: 0.8em;
211
- background-color: var(--stsv-Display__background-color);
212
- color: var(--stsv-Display__color);
211
+ background-color: var(--stsv-common__background-color--secondary);
212
+ color: var(--stsv-common__color--secondary);
213
213
  padding: 0.5em;
214
214
  width: 100%;
215
215
  transition: background-color 250ms, color 250ms, border-color 250ms;
216
216
  }
217
217
 
218
218
  .message.info {
219
- background-color: var(--stsv-Info__background-color);
220
- border-color: var(--stsv-Info__border-color);
221
- color: var(--stsv-Info__color);
219
+ background-color: var(--stsv-status--info__background-color);
220
+ border-color: var(--stsv-status--info__border-color);
221
+ color: var(--stsv-status--info__color);
222
222
  }
223
223
 
224
224
  .message.success {
225
- background-color: var(--stsv-Success__background-color);
226
- border-color: var(--stsv-Success__border-color);
227
- color: var(--stsv-Success__color);
225
+ background-color: var(--stsv-status--success__background-color);
226
+ border-color: var(--stsv-status--success__border-color);
227
+ color: var(--stsv-status--success__color);
228
228
  }
229
229
 
230
230
  .message.warning {
231
- background-color: var(--stsv-Warning__background-color);
232
- border-color: var(--stsv-Warning__border-color);
233
- color: var(--stsv-Warning__color);
231
+ background-color: var(--stsv-status--warning__background-color);
232
+ border-color: var(--stsv-status--warning__border-color);
233
+ color: var(--stsv-status--warning__color);
234
234
  }
235
235
 
236
236
  .message.error {
237
- background-color: var(--stsv-Error__background-color);
238
- border-color: var(--stsv__Error-color);
239
- color: var(--stsv-Error__color);
237
+ background-color: var(--stsv-status--error__background-color);
238
+ border-color: var(--stsv_--error-color);
239
+ color: var(--stsv-status--error__color);
240
240
  }
241
241
 
242
242
  .required {
@@ -0,0 +1,150 @@
1
+ <script>import { createEventDispatcher } from "svelte";
2
+ import Input from "./Input.svelte";
3
+ import Slider from "./Slider.svelte";
4
+ export let red = 0;
5
+ export let green = 0;
6
+ export let blue = 0;
7
+ export let alpha = 255;
8
+ export let colorful = false;
9
+ let redText = red.toString(16).padStart(2, "0");
10
+ let greenText = green.toString(16).padStart(2, "0");
11
+ let blueText = blue.toString(16).padStart(2, "0");
12
+ let alphaText = alpha.toString(16).padStart(2, "0");
13
+ $: {
14
+ redText = red.toString(16).padStart(2, "0");
15
+ }
16
+ $: {
17
+ greenText = green.toString(16).padStart(2, "0");
18
+ }
19
+ $: {
20
+ blueText = blue.toString(16).padStart(2, "0");
21
+ }
22
+ $: {
23
+ alphaText = alpha.toString(16).padStart(2, "0");
24
+ }
25
+ const dispatcher = createEventDispatcher();
26
+ const raiseChange = () => {
27
+ dispatcher("change", { red, green, blue, alpha });
28
+ };
29
+ $:
30
+ red, green, blue, alpha, raiseChange();
31
+ const onRedInputChange = (event) => {
32
+ const inputChangeEvent = event;
33
+ const text = inputChangeEvent?.currentTarget?.value;
34
+ red = text ? Number.parseInt(text, 16) : red;
35
+ };
36
+ const onGreenInputChange = (event) => {
37
+ const inputChangeEvent = event;
38
+ const text = inputChangeEvent?.currentTarget?.value;
39
+ green = text ? Number.parseInt(text, 16) : green;
40
+ };
41
+ const onBlueInputChange = (event) => {
42
+ const inputChangeEvent = event;
43
+ const text = inputChangeEvent?.currentTarget?.value;
44
+ blue = text ? Number.parseInt(text, 16) : blue;
45
+ };
46
+ const onAlphaInputchange = (event) => {
47
+ const inputChangeEvent = event;
48
+ const text = inputChangeEvent?.currentTarget?.value;
49
+ alpha = text ? Number.parseInt(text, 16) : alpha;
50
+ };
51
+ </script>
52
+
53
+ <div class="sterling-rgb-color-sliders">
54
+ <div class="slider red-slider">
55
+ <Slider {colorful} min={0} max={255} precision={0} bind:value={red} />
56
+ </div>
57
+ <Input {colorful} bind:value={redText} on:change={(e) => onRedInputChange(e)} />
58
+ <div class="slider green-slider">
59
+ <Slider {colorful} min={0} max={255} precision={0} bind:value={green} />
60
+ </div>
61
+ <Input {colorful} bind:value={greenText} on:change={(e) => onGreenInputChange(e)} />
62
+ <div class="slider blue-slider">
63
+ <Slider {colorful} min={0} max={255} precision={0} bind:value={blue} />
64
+ </div>
65
+ <Input {colorful} bind:value={blueText} on:change={(e) => onBlueInputChange(e)} />
66
+ <div class="alpha" style={`--red:${red};--green:${green};--blue:${blue}`}>
67
+ <div class="alpha-hatch" />
68
+ <div class="alpha-gradient" />
69
+ <div class="slider alpha-slider">
70
+ <Slider {colorful} min={0} max={255} precision={0} bind:value={alpha} />
71
+ </div>
72
+ </div>
73
+ <Input {colorful} bind:value={alphaText} on:change={(e) => onAlphaInputchange(e)} />
74
+ </div>
75
+
76
+ <style>
77
+ .sterling-rgb-color-sliders {
78
+ align-items: center;
79
+ display: grid;
80
+ grid-template-columns: 1fr 4em;
81
+ column-gap: 0.5em;
82
+ row-gap: 0.25em;
83
+ }
84
+
85
+ .slider :global(.fill),
86
+ .slider :global(.sterling-slider.colorful .fill) {
87
+ background-color: transparent;
88
+ }
89
+
90
+ .slider :global(.track),
91
+ .slider :global(.sterling-slider.colorful .track) {
92
+ background-color: transparent;
93
+ background-image: linear-gradient(to right, #ffffff, #ffffff 1px, #000000 1px, #000000);
94
+ background-size: 2px 100%;
95
+ opacity: 0.1;
96
+ }
97
+
98
+ .red-slider {
99
+ background: linear-gradient(to right, black 0%, rgb(255, 0, 0) 100%);
100
+ }
101
+
102
+ .green-slider {
103
+ background: linear-gradient(to right, black 0%, rgb(0, 255, 0) 100%);
104
+ }
105
+
106
+ .blue-slider {
107
+ background: linear-gradient(to right, black 0%, rgb(0, 0, 255) 100%);
108
+ }
109
+
110
+ .alpha {
111
+ display: grid;
112
+ grid-template-columns: 1fr;
113
+ grid-template-rows: 1fr;
114
+ place-content: stretch;
115
+ place-items: stretch;
116
+ }
117
+
118
+ .alpha-gradient,
119
+ .alpha-hatch,
120
+ .alpha-slider {
121
+ grid-row: 1 / span 1;
122
+ grid-column: 1 / span 1;
123
+ }
124
+
125
+ .alpha-hatch {
126
+ background-color: #eee;
127
+ opacity: 0.1;
128
+ background-image: repeating-linear-gradient(
129
+ 45deg,
130
+ #444 25%,
131
+ transparent 25%,
132
+ transparent 75%,
133
+ #444 75%,
134
+ #444
135
+ ),
136
+ repeating-linear-gradient(45deg, #444 25%, #eee 25%, #eee 75%, #444 75%, #444),
137
+ repeating-linear-gradient(-45deg, #444 25%, transparent 25%, transparent 75%, #444 75%, #444),
138
+ repeating-linear-gradient(-45deg, #444 25%, #eee 25%, #eee 75%, #444 75%, #444);
139
+ background-position: 0 0, 4px 4px;
140
+ background-size: 8px 8px;
141
+ }
142
+
143
+ .alpha-gradient {
144
+ background: linear-gradient(
145
+ to right,
146
+ rgba(var(--red), var(--green), var(--blue), 0) 0%,
147
+ rgba(var(--red), var(--green), var(--blue), 100) 100%
148
+ );
149
+ }
150
+ </style>
@@ -0,0 +1,22 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ red?: number | undefined;
5
+ green?: number | undefined;
6
+ blue?: number | undefined;
7
+ alpha?: number | undefined;
8
+ colorful?: boolean | undefined;
9
+ };
10
+ events: {
11
+ change: CustomEvent<any>;
12
+ } & {
13
+ [evt: string]: CustomEvent<any>;
14
+ };
15
+ slots: {};
16
+ };
17
+ export type HexColorSlidersProps = typeof __propDef.props;
18
+ export type HexColorSlidersEvents = typeof __propDef.events;
19
+ export type HexColorSlidersSlots = typeof __propDef.slots;
20
+ export default class HexColorSliders extends SvelteComponentTyped<HexColorSlidersProps, HexColorSlidersEvents, HexColorSlidersSlots> {
21
+ }
22
+ export {};