@geoffcox/sterling-svelte 0.0.26 → 0.0.28

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 (92) hide show
  1. package/Button.svelte +81 -25
  2. package/Button.svelte.d.ts +3 -0
  3. package/Checkbox.svelte +56 -26
  4. package/Checkbox.svelte.d.ts +2 -0
  5. package/ColorPicker.constants.d.ts +1 -0
  6. package/ColorPicker.constants.js +1 -0
  7. package/ColorPicker.svelte +257 -0
  8. package/ColorPicker.svelte.d.ts +49 -0
  9. package/ColorPicker.types.d.ts +4 -0
  10. package/Dialog.svelte +10 -10
  11. package/Dropdown.svelte +97 -58
  12. package/Dropdown.svelte.d.ts +4 -0
  13. package/HexColorSliders.svelte +171 -0
  14. package/HexColorSliders.svelte.d.ts +22 -0
  15. package/HslColorSliders.svelte +208 -0
  16. package/HslColorSliders.svelte.d.ts +22 -0
  17. package/Input.svelte +59 -25
  18. package/Input.svelte.d.ts +3 -2
  19. package/Label.constants.d.ts +1 -0
  20. package/Label.constants.js +1 -0
  21. package/Label.svelte +212 -14
  22. package/Label.svelte.d.ts +24 -4
  23. package/Label.types.d.ts +4 -0
  24. package/Label.types.js +1 -0
  25. package/Link.svelte +62 -16
  26. package/Link.svelte.d.ts +1 -0
  27. package/List.svelte +29 -16
  28. package/List.svelte.d.ts +1 -0
  29. package/List.types.d.ts +4 -3
  30. package/ListItem.svelte +30 -10
  31. package/ListItem.svelte.d.ts +1 -1
  32. package/Menu.svelte +7 -7
  33. package/MenuBar.svelte +1 -1
  34. package/MenuButton.svelte +3 -9
  35. package/MenuButton.svelte.d.ts +2 -4
  36. package/MenuItem.svelte +34 -12
  37. package/MenuItem.svelte.d.ts +2 -1
  38. package/MenuItemDisplay.svelte +8 -1
  39. package/MenuSeparator.svelte +3 -3
  40. package/Popover.svelte +66 -51
  41. package/Popover.svelte.d.ts +4 -2
  42. package/Progress.constants.d.ts +1 -1
  43. package/Progress.constants.js +1 -1
  44. package/Progress.svelte +34 -28
  45. package/Progress.svelte.d.ts +1 -1
  46. package/Progress.types.d.ts +3 -3
  47. package/Radio.svelte +54 -23
  48. package/Radio.svelte.d.ts +2 -0
  49. package/RgbColorSliders.svelte +182 -0
  50. package/RgbColorSliders.svelte.d.ts +22 -0
  51. package/Select.svelte +32 -25
  52. package/Select.svelte.d.ts +1 -1
  53. package/Slider.svelte +111 -123
  54. package/Slider.svelte.d.ts +1 -0
  55. package/Switch.svelte +112 -41
  56. package/Switch.svelte.d.ts +3 -2
  57. package/Tab.svelte +53 -29
  58. package/Tab.svelte.d.ts +7 -4
  59. package/TabList.svelte +21 -11
  60. package/TabList.svelte.d.ts +1 -0
  61. package/TabList.types.d.ts +1 -0
  62. package/TextArea.svelte +48 -22
  63. package/TextArea.svelte.d.ts +4 -3
  64. package/Tooltip.svelte +59 -16
  65. package/Tooltip.svelte.d.ts +34 -2
  66. package/Tree.svelte +35 -21
  67. package/Tree.svelte.d.ts +2 -0
  68. package/Tree.types.d.ts +6 -8
  69. package/TreeChevron.svelte +1 -1
  70. package/TreeItem.svelte +40 -9
  71. package/TreeItem.svelte.d.ts +2 -0
  72. package/TreeItem.types.d.ts +4 -4
  73. package/TreeItemDisplay.svelte +28 -9
  74. package/TreeItemDisplay.svelte.d.ts +3 -1
  75. package/actions/clickOutside.js +1 -1
  76. package/actions/trapKeyboardFocus.d.ts +3 -0
  77. package/actions/trapKeyboardFocus.js +52 -0
  78. package/floating-ui.types.d.ts +2 -0
  79. package/index.d.ts +14 -10
  80. package/index.js +11 -7
  81. package/package.json +12 -4
  82. package/theme/applyTheme.js +3 -2
  83. package/theme/colors.d.ts +1 -0
  84. package/theme/colors.js +28 -13
  85. package/theme/darkTheme.js +129 -87
  86. package/theme/lightTheme.js +109 -90
  87. package/Field.constants.d.ts +0 -1
  88. package/Field.constants.js +0 -1
  89. package/Field.svelte +0 -265
  90. package/Field.svelte.d.ts +0 -75
  91. package/Field.types.d.ts +0 -4
  92. /package/{Field.types.js → ColorPicker.types.js} +0 -0
@@ -1,100 +1,119 @@
1
- import { lightStatusColors, neutralColors } from './colors';
1
+ import { blueColors, lightStatusColors, neutralColors } from './colors';
2
2
  export const lightTheme = {
3
- // ----- Common (18) ---- //
4
- '--stsv-Common__background-color': neutralColors.neutral100,
5
- '--stsv-Common__border-color': neutralColors.neutral60,
6
- '--stsv-Common__border-radius': '0',
7
- '--stsv-Common__border-style': 'solid',
8
- '--stsv-Common__border-width': '2px',
9
- '--stsv-Common__color': neutralColors.neutral15,
10
- // hover
11
- '--stsv-Common__background-color--hover': neutralColors.neutral100,
12
- '--stsv-Common__border-color--hover': neutralColors.neutral45,
13
- '--stsv-Common__color--hover': neutralColors.neutral15,
14
- // focus
15
- '--stsv-Common__background-color--focus': neutralColors.neutral96,
16
- '--stsv-Common__border-color--focus': neutralColors.neutral0,
17
- '--stsv-Common__color--focus': neutralColors.neutral15,
3
+ // ----- Common ---- //
4
+ 'stsv-common__background-color': neutralColors.color12,
5
+ 'stsv-common__border-color': neutralColors.color5,
6
+ 'stsv-common__border-radius': '0',
7
+ 'stsv-common__border-style': 'solid',
8
+ 'stsv-common__border-width': '2px',
9
+ 'stsv-common__color': neutralColors.color2,
10
+ 'stsv-common__background-color--secondary': neutralColors.color9,
11
+ 'stsv-common__color--secondary': neutralColors.color5,
12
+ 'stsv-common__background-color--subtle': neutralColors.color10,
13
+ 'stsv-common__color--subtle': neutralColors.color7,
14
+ 'stsv-common__background-color--faint': neutralColors.color11,
15
+ 'stsv-common__color--faint': neutralColors.color9,
18
16
  // outline
19
- '--stsv-Common__outline-color': neutralColors.neutral15,
20
- '--stsv-Common__outline-offset': '0',
21
- '--stsv-Common__outline-style': 'solid',
22
- '--stsv-Common__outline-width': '2px',
17
+ 'stsv-common__outline-color': neutralColors.color2,
18
+ 'stsv-common__outline-offset': '0',
19
+ 'stsv-common__outline-style': 'solid',
20
+ 'stsv-common__outline-width': '2px',
23
21
  // disabled
24
- '--stsv-Common__background-color1--disabled': 'hsla(0, 0%, 0%, 20%)',
25
- '--stsv-Common__background-color2--disabled': `hsla(0, 0%, 100%, 20%)`,
26
- '--stsv-Disabled__background': 'repeating-linear-gradient(' +
27
- '45deg,' +
28
- 'var(--stsv-Common__background-color1--disabled),' +
29
- 'var(--stsv-Common__background-color1--disabled) 3px,' +
30
- 'var(--stsv-Common__background-color2--disabled) 3px,' +
31
- 'var(--stsv-Common__background-color2--disabled) 6px' +
32
- ')',
33
- '--stsv-Common__background-color--disabled': neutralColors.neutral96,
34
- '--stsv-Common__border-color--disabled': neutralColors.neutral75,
35
- '--stsv-Common__color--disabled': neutralColors.neutral75,
36
- // ----- Layer ---- //
37
- '--stsv-Layer__background-color--1': neutralColors.neutral98,
38
- '--stsv-Layer__color--1': neutralColors.neutral15,
39
- '--stsv-Layer__background-color--2': neutralColors.neutral96,
40
- '--stsv-Layer__color--2': neutralColors.neutral15,
41
- '--stsv-Layer__background-color--3': neutralColors.neutral92,
42
- '--stsv-Layer__color--3': neutralColors.neutral15,
43
- // ----- Button (15) ----- //
44
- '--stsv-Button__background-color': neutralColors.neutral96,
45
- '--stsv-Button__border-color': neutralColors.neutral60,
46
- '--stsv-Button__border-radius': '8px',
47
- '--stsv-Button__border-style': 'solid',
48
- '--stsv-Button__border-width': '2px',
49
- '--stsv-Button__color': neutralColors.neutral15,
22
+ 'stsv-common--disabled__stripe-color': 'hsla(0, 0%, 0%, 0.2)',
23
+ 'stsv-common--disabled__stripe-color--alt': `hsla(0, 0%, 100%, 0.2)`,
24
+ 'stsv-common--disabled__stripe-angle': '135deg',
25
+ 'stsv-common--disabled__stripe-width': '3px',
26
+ // ----- Common--colorful ---- //
27
+ 'stsv-common--colorful__background-color': blueColors.color12,
28
+ 'stsv-common--colorful__border-color': blueColors.color4,
29
+ 'stsv-common--colorful__color': blueColors.color3,
30
+ 'stsv-common--colorful__background-color--secondary': blueColors.color9,
31
+ 'stsv-common--colorful__color--secondary': blueColors.color5,
32
+ 'stsv-common--colorful__background-color--subtle': blueColors.color10,
33
+ 'stsv-common--colorful__color--subtle': blueColors.color7,
34
+ 'stsv-common--colorful__background-color--faint': blueColors.color11,
35
+ 'stsv-common--colorful__color--faint': blueColors.color9,
36
+ // ----- Button ----- //
37
+ 'stsv-button__background-color': neutralColors.color10,
38
+ 'stsv-button__border-color': neutralColors.color5,
39
+ 'stsv-button__border-radius': '8px',
40
+ 'stsv-button__border-style': 'solid',
41
+ 'stsv-button__border-width': '2px',
42
+ 'stsv-button__color': neutralColors.color2,
43
+ // hover
44
+ 'stsv-button__background-color--hover': neutralColors.color9,
45
+ 'stsv-button__border-color--hover': neutralColors.color4,
46
+ 'stsv-button__color--hover': neutralColors.color2,
47
+ // focus
48
+ 'stsv-button__background-color--focus': neutralColors.color9,
49
+ 'stsv-button__border-color--focus': neutralColors.color4,
50
+ 'stsv-button__color--focus': neutralColors.color2,
51
+ // active
52
+ 'stsv-button__background-color--active': neutralColors.color8,
53
+ 'stsv-button__border-color--active': neutralColors.color3,
54
+ 'stsv-button__color--active': neutralColors.color1,
55
+ // ----- Button--colorful ---- //
56
+ 'stsv-button--colorful__background-color': blueColors.color6,
57
+ 'stsv-button--colorful__border-color': blueColors.color4,
58
+ 'stsv-button--colorful__color': blueColors.color11,
50
59
  // hover
51
- '--stsv-Button__background-color--hover': neutralColors.neutral96,
52
- '--stsv-Button__border-color--hover': neutralColors.neutral45,
53
- '--stsv-Button__color--hover': neutralColors.neutral15,
60
+ 'stsv-button--colorful__background-color--hover': blueColors.color7,
61
+ 'stsv-button--colorful__border-color--hover': blueColors.color5,
62
+ 'stsv-button--colorful__color--hover': blueColors.color11,
63
+ // focus
64
+ 'stsv-button--colorful__background-color--focus': blueColors.color7,
65
+ 'stsv-button--colorful__border-color--focus': blueColors.color5,
66
+ 'stsv-button--colorful__color--focus': blueColors.color11,
54
67
  // active
55
- '--stsv-Button__background-color--active': neutralColors.neutral92,
56
- '--stsv-Button__border-color--active': neutralColors.neutral30,
57
- '--stsv-Button__color--active': neutralColors.neutral30,
68
+ 'stsv-button--colorful__background-color--active': blueColors.color5,
69
+ 'stsv-button--colorful__border-color--active': blueColors.color3,
70
+ 'stsv-button--colorful__color--active': blueColors.color12,
71
+ // ----- Input ----- //
72
+ 'stsv-input__background-color': neutralColors.color11,
73
+ 'stsv-input__border-color': neutralColors.color5,
74
+ 'stsv-input__border-radius': '3px',
75
+ 'stsv-input__border-style': 'solid',
76
+ 'stsv-input__border-width': '2px',
77
+ 'stsv-input__color': neutralColors.color2,
78
+ // hover
79
+ 'stsv-input__background-color--hover': neutralColors.color12,
80
+ 'stsv-input__border-color--hover': neutralColors.color4,
81
+ 'stsv-input__color--hover': neutralColors.color2,
58
82
  // focus
59
- '--stsv-Button__background-color--focus': neutralColors.neutral96,
60
- '--stsv-Button__border-color--focus': neutralColors.neutral0,
61
- '--stsv-Button__color--focus': neutralColors.neutral15,
62
- // ----- Input (15) ----- //
63
- '--stsv-Input__background-color': neutralColors.neutral98,
64
- '--stsv-Input__border-color': neutralColors.neutral60,
65
- '--stsv-Input__border-radius': '3px',
66
- '--stsv-Input__border-style': 'solid',
67
- '--stsv-Input__border-width': '2px',
68
- '--stsv-Input__color': neutralColors.neutral15,
83
+ 'stsv-input__background-color--focus': neutralColors.color12,
84
+ 'stsv-input__border-color--focus': neutralColors.color4,
85
+ 'stsv-input__color--focus': neutralColors.color2,
86
+ // selected
87
+ 'stsv-input__background-color--selected': neutralColors.color9,
88
+ 'stsv-input__border-color--selected': neutralColors.color3,
89
+ 'stsv-input__color--selected': neutralColors.color2,
90
+ // ----- Input--colorful ---- //
91
+ 'stsv-input--colorful__background-color': blueColors.color11,
92
+ 'stsv-input--colorful__border-color': blueColors.color4,
93
+ 'stsv-input--colorful__color': blueColors.color2,
69
94
  // hover
70
- '--stsv-Input__background-color--hover': neutralColors.neutral100,
71
- '--stsv-Input__border-color--hover': neutralColors.neutral45,
72
- '--stsv-Input__color--hover': neutralColors.neutral15,
95
+ 'stsv-input--colorful__background-color--hover': blueColors.color12,
96
+ 'stsv-input--colorful__border-color--hover': blueColors.color5,
97
+ 'stsv-input--colorful__color--hover': blueColors.color2,
73
98
  // focus
74
- '--stsv-Input__background-color--focus': neutralColors.neutral100,
75
- '--stsv-Input__border-color--focus': neutralColors.neutral15,
76
- '--stsv-Input__color--focus': neutralColors.neutral15,
99
+ 'stsv-input--colorful__background-color--focus': blueColors.color12,
100
+ 'stsv-input--colorful__border-color--focus': blueColors.color5,
101
+ 'stsv-input--colorful__color--focus': blueColors.color2,
77
102
  // selected
78
- '--stsv-Input__background-color--selected': neutralColors.neutral92,
79
- '--stsv-Input__border-color--selected': neutralColors.neutral30,
80
- '--stsv-Input__color--selected': neutralColors.neutral15,
81
- // ----- Display ----- //
82
- '--stsv-Display__background-color': neutralColors.neutral92,
83
- '--stsv-Display__border-color': neutralColors.neutral30,
84
- '--stsv-Display__color': neutralColors.neutral15,
85
- '--stsv-Display__color--subtle': neutralColors.neutral45,
86
- '--stsv-Display__color--faint': neutralColors.neutral85,
87
- '--stsv-Display__color--disabled': neutralColors.neutral85,
88
- '--stsv-Info__background-color': lightStatusColors.info.backgroundColor,
89
- '--stsv-Info__border-color': lightStatusColors.info.borderColor,
90
- '--stsv-Info__color': lightStatusColors.info.color,
91
- '--stsv-Success__background-color': lightStatusColors.success.backgroundColor,
92
- '--stsv-Success__border-color': lightStatusColors.success.borderColor,
93
- '--stsv-Success__color': lightStatusColors.success.color,
94
- '--stsv-Warning__background-color': lightStatusColors.warning.backgroundColor,
95
- '--stsv-Warning__border-color': lightStatusColors.warning.borderColor,
96
- '--stsv-Warning__color': lightStatusColors.warning.color,
97
- '--stsv-Error__background-color': lightStatusColors.error.backgroundColor,
98
- '--stsv-Error__border-color': lightStatusColors.error.borderColor,
99
- '--stsv-Error__color': lightStatusColors.error.color
103
+ 'stsv-input--colorful__background-color--selected': blueColors.color9,
104
+ 'stsv-input--colorful__border-color--selected': blueColors.color3,
105
+ 'stsv-input--colorful__color--selected': blueColors.color2,
106
+ // ----- Status ----- //
107
+ 'stsv-status--info__background-color': lightStatusColors.info.backgroundColor,
108
+ 'stsv-status--info__border-color': lightStatusColors.info.borderColor,
109
+ 'stsv-status--info__color': lightStatusColors.info.color,
110
+ 'stsv-status--success__background-color': lightStatusColors.success.backgroundColor,
111
+ 'stsv-status--success__border-color': lightStatusColors.success.borderColor,
112
+ 'stsv-status--success__color': lightStatusColors.success.color,
113
+ 'stsv-status--warning__background-color': lightStatusColors.warning.backgroundColor,
114
+ 'stsv-status--warning__border-color': lightStatusColors.warning.borderColor,
115
+ 'stsv-status--warning__color': lightStatusColors.warning.color,
116
+ 'stsv-status--danger__background-color': lightStatusColors.error.backgroundColor,
117
+ 'stsv-status--danger__border-color': lightStatusColors.error.borderColor,
118
+ 'stsv-status--danger__color': lightStatusColors.error.color
100
119
  };
@@ -1 +0,0 @@
1
- export declare const FIELD_STATUSES: string[];
@@ -1 +0,0 @@
1
- export const FIELD_STATUSES = ['none', 'info', 'success', 'warning', 'error'];
package/Field.svelte DELETED
@@ -1,265 +0,0 @@
1
- <script>import Tooltip from "./Tooltip.svelte";
2
- import { usingKeyboard } from "./stores/usingKeyboard";
3
- export let forwardClick = false;
4
- let htmlFor = void 0;
5
- export { htmlFor as for };
6
- export let label = void 0;
7
- export let message = void 0;
8
- export let required = false;
9
- export let requiredReason = "This field is required";
10
- export let status = "none";
11
- let fieldRef;
12
- let targetDisabled = false;
13
- let targetRef = null;
14
- const findTarget = () => {
15
- let candidate = null;
16
- if (htmlFor) {
17
- candidate = fieldRef?.querySelector(`[id="${htmlFor}"]`);
18
- }
19
- if (!candidate) {
20
- candidate = fieldRef?.querySelector(
21
- 'a[href], audio[controls], button, details, div[contenteditable], form, input, select, textarea, video[controls], [tabindex]:not([tabindex="-1"])'
22
- );
23
- }
24
- targetRef = candidate;
25
- };
26
- const isElementDisabled = (element) => {
27
- if (element) {
28
- return element.getAttribute("aria-disabled") === "true" || element?.matches(":disabled") || element?.disabled === true || element?.classList.contains("disabled");
29
- }
30
- return false;
31
- };
32
- $:
33
- $$slots.default, fieldRef, htmlFor, findTarget();
34
- $: {
35
- targetDisabled = isElementDisabled(targetRef);
36
- }
37
- const mutationCallback = (mutations) => {
38
- let disabled = void 0;
39
- for (let i = 0; i < mutations.length; i++) {
40
- const mutation = mutations[i];
41
- if (mutation.type === "attributes") {
42
- if (mutation.attributeName === "aria-disabled" || mutation.attributeName === "disabled" || mutation.attributeName === "class") {
43
- if (isElementDisabled(targetRef)) {
44
- disabled = true;
45
- break;
46
- }
47
- disabled = false;
48
- }
49
- }
50
- }
51
- if (disabled !== void 0) {
52
- targetDisabled = disabled;
53
- }
54
- };
55
- let mutationObserver = new MutationObserver(mutationCallback);
56
- $: {
57
- mutationObserver.disconnect();
58
- if (targetRef) {
59
- mutationObserver.observe(targetRef, {
60
- attributes: true
61
- });
62
- }
63
- }
64
- export const click = () => {
65
- fieldRef?.click();
66
- };
67
- export const blur = () => {
68
- fieldRef?.blur();
69
- };
70
- export const focus = (options) => {
71
- fieldRef?.focus(options);
72
- };
73
- const onClick = () => {
74
- if (forwardClick) {
75
- targetRef?.click();
76
- }
77
- };
78
- </script>
79
-
80
- <label
81
- bind:this={fieldRef}
82
- aria-disabled={targetDisabled}
83
- class="sterling-field"
84
- class:disabled={targetDisabled}
85
- class:using-keyboard={$usingKeyboard}
86
- for={htmlFor}
87
- on:blur
88
- on:click
89
- on:click={onClick}
90
- on:copy
91
- on:cut
92
- on:dblclick
93
- on:dragend
94
- on:dragenter
95
- on:dragleave
96
- on:dragover
97
- on:dragstart
98
- on:drop
99
- on:focus
100
- on:focusin
101
- on:focusout
102
- on:keydown
103
- on:keypress
104
- on:keyup
105
- on:mousedown
106
- on:mouseenter
107
- on:mouseleave
108
- on:mousemove
109
- on:mouseover
110
- on:mouseout
111
- on:mouseup
112
- on:scroll
113
- on:wheel
114
- on:paste
115
- {...$$restProps}
116
- >
117
- {#if label || $$slots.label}
118
- <slot name="label" disabled={targetDisabled} for={htmlFor} {forwardClick} {label} {required}>
119
- <div class="label-text">
120
- {label}
121
- </div>
122
- </slot>
123
- {/if}
124
- {#if $$slots.default}
125
- <div class="content">
126
- <slot />
127
- </div>
128
- {/if}
129
- {#if message}
130
- <slot name="message" disabled={targetDisabled} {message} {required} {status}>
131
- <div
132
- class="message"
133
- class:info={status === 'info'}
134
- class:success={status === 'success'}
135
- class:warning={status === 'warning'}
136
- class:error={status === 'error'}
137
- >
138
- {message}
139
- </div>
140
- </slot>
141
- {/if}
142
- {#if required}
143
- <slot name="required" requiredTip={requiredReason}>
144
- <Tooltip showOn="hover">
145
- <span class="required-tip" slot="tip">{requiredReason}</span>
146
- <div class="required">*</div>
147
- </Tooltip>
148
- </slot>
149
- {/if}
150
- </label>
151
-
152
- <style>
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);
159
- box-sizing: border-box;
160
- color: var(--stsv-Input__color);
161
- display: flex;
162
- flex-direction: column;
163
- font: inherit;
164
- margin: 0;
165
- overflow: visible;
166
- padding: 0;
167
- position: relative;
168
- transition: background-color 250ms, color 250ms, border-color 250ms;
169
- }
170
-
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);
175
- }
176
-
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);
184
- }
185
-
186
- .sterling-field.disabled {
187
- cursor: not-allowed;
188
- }
189
-
190
- .sterling-field.disabled * {
191
- cursor: not-allowed;
192
- }
193
-
194
- .label-text {
195
- color: var(--stsv-Display__color);
196
- font-size: 0.8em;
197
- margin: 0.5em 0.7em 0.2em 0.2em;
198
- }
199
-
200
- .label-text:empty {
201
- margin: 0;
202
- }
203
-
204
- .content {
205
- display: grid;
206
- }
207
-
208
- .message {
209
- box-sizing: border-box;
210
- font-size: 0.8em;
211
- background-color: var(--stsv-Display__background-color);
212
- color: var(--stsv-Display__color);
213
- padding: 0.5em;
214
- width: 100%;
215
- transition: background-color 250ms, color 250ms, border-color 250ms;
216
- }
217
-
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);
222
- }
223
-
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);
228
- }
229
-
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);
234
- }
235
-
236
- .message.error {
237
- background-color: var(--stsv-Error__background-color);
238
- border-color: var(--stsv__Error-color);
239
- color: var(--stsv-Error__color);
240
- }
241
-
242
- .required {
243
- text-align: center;
244
- font-weight: bold;
245
- box-sizing: border-box;
246
- width: 1em;
247
- height: 1em;
248
- position: absolute;
249
- top: 0;
250
- right: 0;
251
- }
252
-
253
- .required-tip {
254
- display: block;
255
- padding: 4px;
256
- }
257
-
258
- @media (prefers-reduced-motion) {
259
- .sterling-field,
260
- .sterling-field::after,
261
- .message {
262
- transition: none;
263
- }
264
- }
265
- </style>
package/Field.svelte.d.ts DELETED
@@ -1,75 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- [x: string]: any;
5
- forwardClick?: boolean | undefined;
6
- for?: string | undefined;
7
- label?: string | undefined;
8
- message?: string | undefined;
9
- required?: boolean | undefined;
10
- requiredReason?: string | undefined;
11
- status?: string | undefined;
12
- click?: (() => void) | undefined;
13
- blur?: (() => void) | undefined;
14
- focus?: ((options?: FocusOptions) => void) | undefined;
15
- };
16
- events: {
17
- blur: FocusEvent;
18
- click: MouseEvent;
19
- copy: ClipboardEvent;
20
- cut: ClipboardEvent;
21
- dblclick: MouseEvent;
22
- dragend: DragEvent;
23
- dragenter: DragEvent;
24
- dragleave: DragEvent;
25
- dragover: DragEvent;
26
- dragstart: DragEvent;
27
- drop: DragEvent;
28
- focus: FocusEvent;
29
- focusin: FocusEvent;
30
- focusout: FocusEvent;
31
- keydown: KeyboardEvent;
32
- keypress: KeyboardEvent;
33
- keyup: KeyboardEvent;
34
- mousedown: MouseEvent;
35
- mouseenter: MouseEvent;
36
- mouseleave: MouseEvent;
37
- mousemove: MouseEvent;
38
- mouseover: MouseEvent;
39
- mouseout: MouseEvent;
40
- mouseup: MouseEvent;
41
- scroll: Event;
42
- wheel: WheelEvent;
43
- paste: ClipboardEvent;
44
- } & {
45
- [evt: string]: CustomEvent<any>;
46
- };
47
- slots: {
48
- label: {
49
- disabled: boolean;
50
- for: string | undefined;
51
- forwardClick: boolean;
52
- label: string | undefined;
53
- required: boolean;
54
- };
55
- default: {};
56
- message: {
57
- disabled: boolean;
58
- message: string | undefined;
59
- required: boolean;
60
- status: string;
61
- };
62
- required: {
63
- requiredTip: string;
64
- };
65
- };
66
- };
67
- export type FieldProps = typeof __propDef.props;
68
- export type FieldEvents = typeof __propDef.events;
69
- export type FieldSlots = typeof __propDef.slots;
70
- export default class Field extends SvelteComponentTyped<FieldProps, FieldEvents, FieldSlots> {
71
- get click(): () => void;
72
- get blur(): () => void;
73
- get focus(): (options?: FocusOptions | undefined) => void;
74
- }
75
- export {};
package/Field.types.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import type { FIELD_STATUSES } from './Field.constants';
2
- type FieldStatusTuple = typeof FIELD_STATUSES;
3
- export type FieldStatus = FieldStatusTuple[number];
4
- export {};
File without changes