contain-css-svelte 1.1.12 → 1.1.13

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.
@@ -0,0 +1,231 @@
1
+ <script lang="ts">import { injectVars } from "../util";
2
+ let { primary = false, warning = false, danger = false, success = false, info = false, type = "button", children, ...restProps } = $props();
3
+ const style = $derived(injectVars(restProps, "mini-button", [
4
+ "bg",
5
+ "fg",
6
+ "padding",
7
+ "width",
8
+ "height",
9
+ ]));
10
+ </script>
11
+
12
+ <button
13
+ {style}
14
+ {type}
15
+ class:primary
16
+ class:warning
17
+ class:danger
18
+ class:success
19
+ class:info
20
+ {...restProps}
21
+ >
22
+ {@render children?.()}
23
+ </button>
24
+
25
+ <style>/* Warning: because we define a fallback
26
+ media query, the media query can override the container
27
+ if we stack a bunch of these in a row and aren't thoughtful about the order.
28
+ Put min-width queries *after* max-width queries so that smaller
29
+ container queries don't get their styles overridden by large media queries.
30
+ */
31
+ /* Convenience groupings */
32
+ button.primary {
33
+ --link-bg: var(--primary-link-bg, var(--button-link-bg, var(--control-link-bg, inherit)));
34
+ --link-fg: var(--primary-link-fg, var(--button-link-fg, var(--control-link-fg, inherit)));
35
+ --_bg-mix-color: var(--primary-bg-mix-color, var(--button-bg-mix-color, var(--control-bg-mix-color, var(--bg-mix-color, transparent))));
36
+ --_bg-mix-amount: var(--primary-bg-mix-amount, var(--button-bg-mix-amount, var(--control-bg-mix-amount, var(--bg-mix-amount, 0%))));
37
+ --_fg-mix-color: var(--primary-fg-mix-color, var(--button-fg-mix-color, var(--control-fg-mix-color, var(--fg-mix-color, transparent))));
38
+ --_fg-mix-amount: var(--primary-fg-mix-amount, var(--button-fg-mix-amount, var(--control-fg-mix-amount, var(--fg-mix-amount, 0%))));
39
+ --_bg-base: var(--primary-bg, var(--button-bg, var(--control-bg, var(--bg, unset))));
40
+ --_fg-base: var(--primary-fg, var(--button-fg, var(--control-fg, var(--fg, unset))));
41
+ --_background-color: color-mix(
42
+ in srgb,
43
+ var(--_bg-base),
44
+ var(--_bg-mix-color) var(--_bg-mix-amount)
45
+ );
46
+ --_color: color-mix(in srgb, var(--_fg-base), var(--_fg-mix-color) var(--_fg-mix-amount));
47
+ background-color: var(--_background-color);
48
+ color: var(--_color);
49
+ }
50
+
51
+ button {
52
+ font-family: var(--mini-button-font-family, var(--button-font-family, var(--ui-font-family, var(--control-font-family, var(--font-family, unset)))));
53
+ text-transform: var(--mini-button-text-transform, var(--button-text-transform, var(--ui-text-transform, var(--control-text-transform, var(--text-transform, unset)))));
54
+ text-decoration: var(--mini-button-text-decoration, var(--button-text-decoration, var(--ui-text-decoration, var(--control-text-decoration, var(--text-decoration, unset)))));
55
+ --_font-size: var(--mini-button-font-size, var(--button-font-size, var(--ui-font-size, var(--control-font-size, var(--font-size, unset)))));
56
+ font-size: var(--_font-size);
57
+ font-weight: var(--mini-button-font-weight, var(--button-font-weight, var(--ui-font-weight, var(--control-font-weight, var(--font-weight, unset)))));
58
+ line-height: var(--mini-button-line-height, var(--button-line-height, var(--ui-line-height, var(--control-line-height, var(--line-height, unset)))));
59
+ letter-spacing: var(--mini-button-letter-spacing, var(--button-letter-spacing, var(--ui-letter-spacing, var(--control-letter-spacing, var(--letter-spacing, unset)))));
60
+ --_margin-top: var(--mini-button-margin, var(--button-margin, var(--ui-margin, var(--control-margin, var(--margin, unset)))));
61
+ --_margin-top: var(--mini-button-margin-top, var(--button-margin-top, var(--ui-margin-top, var(--control-margin-top, var(--margin-top, unset)))));
62
+ margin-top: var(--_margin-top);
63
+ --_margin-bottom: var(--mini-button-margin, var(--button-margin, var(--ui-margin, var(--control-margin, var(--margin, unset)))));
64
+ --_margin-bottom: var(--mini-button-margin-bottom, var(--button-margin-bottom, var(--ui-margin-bottom, var(--control-margin-bottom, var(--margin-bottom, unset)))));
65
+ margin-bottom: var(--_margin-bottom);
66
+ text-indent: var(--mini-button-indent, var(--button-indent, var(--ui-indent, var(--control-indent, var(--indent, unset)))));
67
+ font-variant: var(--mini-button-font-variant, var(--button-font-variant, var(--ui-font-variant, var(--control-font-variant, var(--font-variant, unset)))));
68
+ text-align: var(--mini-button-text-align, var(--button-text-align, var(--ui-text-align, var(--control-text-align, var(--text-align, unset)))));
69
+ --link-bg: var(--mini-button-link-bg, var(--button-link-bg, var(--control-link-bg, var(--secondary-link-bg, inherit))));
70
+ --link-fg: var(--mini-button-link-fg, var(--button-link-fg, var(--control-link-fg, var(--secondary-link-fg, inherit))));
71
+ --_bg-mix-color: var(--mini-button-bg-mix-color, var(--button-bg-mix-color, var(--control-bg-mix-color, var(--secondary-bg-mix-color, var(--bg-mix-color, transparent)))));
72
+ --_bg-mix-amount: var(--mini-button-bg-mix-amount, var(--button-bg-mix-amount, var(--control-bg-mix-amount, var(--secondary-bg-mix-amount, var(--bg-mix-amount, 0%)))));
73
+ --_fg-mix-color: var(--mini-button-fg-mix-color, var(--button-fg-mix-color, var(--control-fg-mix-color, var(--secondary-fg-mix-color, var(--fg-mix-color, transparent)))));
74
+ --_fg-mix-amount: var(--mini-button-fg-mix-amount, var(--button-fg-mix-amount, var(--control-fg-mix-amount, var(--secondary-fg-mix-amount, var(--fg-mix-amount, 0%)))));
75
+ --_bg-base: var(--mini-button-bg, var(--button-bg, var(--control-bg, var(--secondary-bg, var(--bg, unset)))));
76
+ --_fg-base: var(--mini-button-fg, var(--button-fg, var(--control-fg, var(--secondary-fg, var(--fg, unset)))));
77
+ --_background-color: color-mix(
78
+ in srgb,
79
+ var(--_bg-base),
80
+ var(--_bg-mix-color) var(--_bg-mix-amount)
81
+ );
82
+ --_color: color-mix(in srgb, var(--_fg-base), var(--_fg-mix-color) var(--_fg-mix-amount));
83
+ background-color: var(--_background-color);
84
+ color: var(--_color);
85
+ cursor: var(--mini-button-cursor, var(--button-cursor, var(--clickable-cursor, var(--cursor, pointer))));
86
+ transition: filter var(--mini-button-transition, var(--button-transition, var(--clickable-transition, var(--transition, 300ms)))), background-color var(--mini-button-transition, var(--button-transition, var(--clickable-transition, var(--transition, 300ms)))), border-color var(--mini-button-transition, var(--button-transition, var(--clickable-transition, var(--transition, 300ms)))), box-shadow var(--mini-button-transition, var(--button-transition, var(--clickable-transition, var(--transition, 300ms)))), transform var(--mini-button-transition, var(--button-transition, var(--clickable-transition, var(--transition, 300ms))));
87
+ }
88
+
89
+ button:hover {
90
+ filter: var(--mini-button-hover-filter, var(--button-hover-filter, var(--clickable-hover-filter, var(--hover-filter, brightness(1.05)))));
91
+ transform: var(--mini-button-hover-transform, var(--button-hover-transform, var(--clickable-hover-transform, var(--hover-transform, none))));
92
+ background-color: color-mix(in oklch, var(--_background-color) var(--hover-base-color-percentage, 90%), var(--hover-color-mix, white) calc(100% - var(--hover-base-color-percentage, 90%)));
93
+ box-shadow: var(--mini-button-hover-box-shadow, var(--button-hover-box-shadow, var(--clickable-hover-box-shadow, var(--hover-box-shadow, var(--_box-shadow, none)))));
94
+ }
95
+
96
+ button:active {
97
+ filter: var(--mini-button-active-filter, var(--button-active-filter, var(--clickable-active-filter, var(--active-filter, brightness(0.9)))));
98
+ transform: var(--mini-button-active-transform, var(--button-active-transform, var(--clickable-active-transform, var(--active-transform, none))));
99
+ background-color: color-mix(in oklch, var(--_background-color) var(--active-base-color-percentage, 90%), var(--active-color-mix, black) calc(100% - var(--active-base-color-percentage, 90%)));
100
+ box-shadow: var(--mini-button-active-box-shadow, var(--button-active-box-shadow, var(--clickable-active-box-shadow, var(--active-box-shadow, var(--_box-shadow, none)))));
101
+ }
102
+
103
+ button:disabled {
104
+ cursor: var(--mini-button-disabled-cursor, var(--button-disabled-cursor, var(--clickable-disabled-cursor, var(--disabled-cursor, not-allowed))));
105
+ transform: var(--mini-button-disabled-transform, var(--button-disabled-transform, var(--clickable-disabled-transform, var(--disabled-transform, none))));
106
+ filter: var(--mini-button-disabled-filter, var(--button-disabled-filter, var(--clickable-disabled-filter, var(--disabled-filter, grayscale(0.5)))));
107
+ background-color: color-mix(in oklch, var(--_background-color) var(--disabled-base-color-percentage, 50%), var(--disabled-color-mix, gray) calc(100% - var(--disabled-base-color-percentage, 50%)));
108
+ box-shadow: var(--mini-button-disabled-box-shadow, var(--button-disabled-box-shadow, var(--clickable-disabled-box-shadow, var(--disabled-box-shadow, var(--_box-shadow, none)))));
109
+ }
110
+
111
+ button {
112
+ --_box-shadow:
113
+ var(--mini-button-shadow-distance, var(--button-shadow-distance, var(--control-shadow-distance, var(--shadow-distance, var(--space))))) var(--mini-button-shadow-distance, var(--button-shadow-distance, var(--control-shadow-distance, var(--shadow-distance, var(--space))))) var(--mini-button-shadow-blur, var(--button-shadow-blur, var(--control-shadow-blur, var(--shadow-blur, var(--space))))) var(--mini-button-shadow-color, var(--button-shadow-color, var(--control-shadow-color, var(--shadow-color, rgba(127, 127, 127, 0.4)))));
114
+ box-shadow: var(--_box-shadow);
115
+ }
116
+
117
+ button:focus-visible {
118
+ outline: var(--focus-color, -webkit-focus-ring-color) auto 1px;
119
+ outline-offset: var(--focus-outline-offset, 2px);
120
+ box-shadow: var(--focus-ring-box-shadow, 0 0 0 3px var(--focus-shadow-color, rgba(100, 150, 250, 0.5)));
121
+ }
122
+
123
+ button {
124
+ margin: var(--button-margin, var(--control-margin, var(--margin, var(--space))));
125
+ width: var(--mini-button-size, var(--icon-size, 1em));
126
+ height: var(--mini-button-size, var(--icon-size, 1em));
127
+ /* Make sure we don't shrink in a flex container */
128
+ min-width: var(--mini-button-size, var(--icon-size, 1em));
129
+ min-height: var(--mini-button-size, var(--icon-size, 1em));
130
+ border-radius: var(--mini-button-radius, 50%);
131
+ border: var(--mini-button-border, button-border, none);
132
+ display: inline-grid;
133
+ place-content: center;
134
+ line-height: 1;
135
+ flex-shrink: 0; /* Don't shrink any more */
136
+ }
137
+
138
+ button.primary {
139
+ --link-bg: var(--primary-link-bg, var(--button-link-bg, var(--control-link-bg, inherit)));
140
+ --link-fg: var(--primary-link-fg, var(--button-link-fg, var(--control-link-fg, inherit)));
141
+ --_bg-mix-color: var(--primary-bg-mix-color, var(--button-bg-mix-color, var(--control-bg-mix-color, var(--bg-mix-color, transparent))));
142
+ --_bg-mix-amount: var(--primary-bg-mix-amount, var(--button-bg-mix-amount, var(--control-bg-mix-amount, var(--bg-mix-amount, 0%))));
143
+ --_fg-mix-color: var(--primary-fg-mix-color, var(--button-fg-mix-color, var(--control-fg-mix-color, var(--fg-mix-color, transparent))));
144
+ --_fg-mix-amount: var(--primary-fg-mix-amount, var(--button-fg-mix-amount, var(--control-fg-mix-amount, var(--fg-mix-amount, 0%))));
145
+ --_bg-base: var(--primary-bg, var(--button-bg, var(--control-bg, var(--bg, unset))));
146
+ --_fg-base: var(--primary-fg, var(--button-fg, var(--control-fg, var(--fg, unset))));
147
+ --_background-color: color-mix(
148
+ in srgb,
149
+ var(--_bg-base),
150
+ var(--_bg-mix-color) var(--_bg-mix-amount)
151
+ );
152
+ --_color: color-mix(in srgb, var(--_fg-base), var(--_fg-mix-color) var(--_fg-mix-amount));
153
+ background-color: var(--_background-color);
154
+ color: var(--_color);
155
+ }
156
+
157
+ button.warning {
158
+ --link-bg: var(--warning-link-bg, var(--button-link-bg, var(--control-link-bg, inherit)));
159
+ --link-fg: var(--warning-link-fg, var(--button-link-fg, var(--control-link-fg, inherit)));
160
+ --_bg-mix-color: var(--warning-bg-mix-color, var(--button-bg-mix-color, var(--control-bg-mix-color, var(--bg-mix-color, transparent))));
161
+ --_bg-mix-amount: var(--warning-bg-mix-amount, var(--button-bg-mix-amount, var(--control-bg-mix-amount, var(--bg-mix-amount, 0%))));
162
+ --_fg-mix-color: var(--warning-fg-mix-color, var(--button-fg-mix-color, var(--control-fg-mix-color, var(--fg-mix-color, transparent))));
163
+ --_fg-mix-amount: var(--warning-fg-mix-amount, var(--button-fg-mix-amount, var(--control-fg-mix-amount, var(--fg-mix-amount, 0%))));
164
+ --_bg-base: var(--warning-bg, var(--button-bg, var(--control-bg, var(--bg, unset))));
165
+ --_fg-base: var(--warning-fg, var(--button-fg, var(--control-fg, var(--fg, unset))));
166
+ --_background-color: color-mix(
167
+ in srgb,
168
+ var(--_bg-base),
169
+ var(--_bg-mix-color) var(--_bg-mix-amount)
170
+ );
171
+ --_color: color-mix(in srgb, var(--_fg-base), var(--_fg-mix-color) var(--_fg-mix-amount));
172
+ background-color: var(--_background-color);
173
+ color: var(--_color);
174
+ }
175
+
176
+ button.danger {
177
+ --link-bg: var(--danger-link-bg, var(--button-link-bg, var(--control-link-bg, inherit)));
178
+ --link-fg: var(--danger-link-fg, var(--button-link-fg, var(--control-link-fg, inherit)));
179
+ --_bg-mix-color: var(--danger-bg-mix-color, var(--button-bg-mix-color, var(--control-bg-mix-color, var(--bg-mix-color, transparent))));
180
+ --_bg-mix-amount: var(--danger-bg-mix-amount, var(--button-bg-mix-amount, var(--control-bg-mix-amount, var(--bg-mix-amount, 0%))));
181
+ --_fg-mix-color: var(--danger-fg-mix-color, var(--button-fg-mix-color, var(--control-fg-mix-color, var(--fg-mix-color, transparent))));
182
+ --_fg-mix-amount: var(--danger-fg-mix-amount, var(--button-fg-mix-amount, var(--control-fg-mix-amount, var(--fg-mix-amount, 0%))));
183
+ --_bg-base: var(--danger-bg, var(--button-bg, var(--control-bg, var(--bg, unset))));
184
+ --_fg-base: var(--danger-fg, var(--button-fg, var(--control-fg, var(--fg, unset))));
185
+ --_background-color: color-mix(
186
+ in srgb,
187
+ var(--_bg-base),
188
+ var(--_bg-mix-color) var(--_bg-mix-amount)
189
+ );
190
+ --_color: color-mix(in srgb, var(--_fg-base), var(--_fg-mix-color) var(--_fg-mix-amount));
191
+ background-color: var(--_background-color);
192
+ color: var(--_color);
193
+ }
194
+
195
+ button.success {
196
+ --link-bg: var(--success-link-bg, var(--button-link-bg, var(--control-link-bg, inherit)));
197
+ --link-fg: var(--success-link-fg, var(--button-link-fg, var(--control-link-fg, inherit)));
198
+ --_bg-mix-color: var(--success-bg-mix-color, var(--button-bg-mix-color, var(--control-bg-mix-color, var(--bg-mix-color, transparent))));
199
+ --_bg-mix-amount: var(--success-bg-mix-amount, var(--button-bg-mix-amount, var(--control-bg-mix-amount, var(--bg-mix-amount, 0%))));
200
+ --_fg-mix-color: var(--success-fg-mix-color, var(--button-fg-mix-color, var(--control-fg-mix-color, var(--fg-mix-color, transparent))));
201
+ --_fg-mix-amount: var(--success-fg-mix-amount, var(--button-fg-mix-amount, var(--control-fg-mix-amount, var(--fg-mix-amount, 0%))));
202
+ --_bg-base: var(--success-bg, var(--button-bg, var(--control-bg, var(--bg, unset))));
203
+ --_fg-base: var(--success-fg, var(--button-fg, var(--control-fg, var(--fg, unset))));
204
+ --_background-color: color-mix(
205
+ in srgb,
206
+ var(--_bg-base),
207
+ var(--_bg-mix-color) var(--_bg-mix-amount)
208
+ );
209
+ --_color: color-mix(in srgb, var(--_fg-base), var(--_fg-mix-color) var(--_fg-mix-amount));
210
+ background-color: var(--_background-color);
211
+ color: var(--_color);
212
+ }
213
+
214
+ button.info {
215
+ --link-bg: var(--info-link-bg, var(--button-link-bg, var(--control-link-bg, inherit)));
216
+ --link-fg: var(--info-link-fg, var(--button-link-fg, var(--control-link-fg, inherit)));
217
+ --_bg-mix-color: var(--info-bg-mix-color, var(--button-bg-mix-color, var(--control-bg-mix-color, var(--bg-mix-color, transparent))));
218
+ --_bg-mix-amount: var(--info-bg-mix-amount, var(--button-bg-mix-amount, var(--control-bg-mix-amount, var(--bg-mix-amount, 0%))));
219
+ --_fg-mix-color: var(--info-fg-mix-color, var(--button-fg-mix-color, var(--control-fg-mix-color, var(--fg-mix-color, transparent))));
220
+ --_fg-mix-amount: var(--info-fg-mix-amount, var(--button-fg-mix-amount, var(--control-fg-mix-amount, var(--fg-mix-amount, 0%))));
221
+ --_bg-base: var(--info-bg, var(--button-bg, var(--control-bg, var(--bg, unset))));
222
+ --_fg-base: var(--info-fg, var(--button-fg, var(--control-fg, var(--fg, unset))));
223
+ --_background-color: color-mix(
224
+ in srgb,
225
+ var(--_bg-base),
226
+ var(--_bg-mix-color) var(--_bg-mix-amount)
227
+ );
228
+ --_color: color-mix(in srgb, var(--_fg-base), var(--_fg-mix-color) var(--_fg-mix-amount));
229
+ background-color: var(--_background-color);
230
+ color: var(--_color);
231
+ }</style>
@@ -0,0 +1,14 @@
1
+ import type { HTMLButtonAttributes } from "svelte/elements";
2
+ import type { BaseStyleProps } from "../types";
3
+ type Props = {
4
+ primary?: boolean;
5
+ warning?: boolean;
6
+ danger?: boolean;
7
+ success?: boolean;
8
+ info?: boolean;
9
+ type?: "button" | "submit" | "reset";
10
+ children?: import("svelte").Snippet;
11
+ } & BaseStyleProps & HTMLButtonAttributes;
12
+ declare const CircleButton: import("svelte").Component<Props, {}, "">;
13
+ type CircleButton = ReturnType<typeof CircleButton>;
14
+ export default CircleButton;
@@ -1,231 +1,5 @@
1
- <script lang="ts">import { injectVars } from "../util";
2
- let { primary = false, warning = false, danger = false, success = false, info = false, type = "button", children, ...restProps } = $props();
3
- const style = $derived(injectVars(restProps, "mini-button", [
4
- "bg",
5
- "fg",
6
- "padding",
7
- "width",
8
- "height",
9
- ]));
1
+ <script lang="ts">import CircleButton from "./CircleButton.svelte";
2
+ let props = $props();
10
3
  </script>
11
4
 
12
- <button
13
- {style}
14
- {type}
15
- class:primary
16
- class:warning
17
- class:danger
18
- class:success
19
- class:info
20
- {...restProps}
21
- >
22
- {@render children?.()}
23
- </button>
24
-
25
- <style>/* Warning: because we define a fallback
26
- media query, the media query can override the container
27
- if we stack a bunch of these in a row and aren't thoughtful about the order.
28
- Put min-width queries *after* max-width queries so that smaller
29
- container queries don't get their styles overridden by large media queries.
30
- */
31
- /* Convenience groupings */
32
- button.primary {
33
- --link-bg: var(--primary-link-bg, var(--button-link-bg, var(--control-link-bg, inherit)));
34
- --link-fg: var(--primary-link-fg, var(--button-link-fg, var(--control-link-fg, inherit)));
35
- --_bg-mix-color: var(--primary-bg-mix-color, var(--button-bg-mix-color, var(--control-bg-mix-color, var(--bg-mix-color, transparent))));
36
- --_bg-mix-amount: var(--primary-bg-mix-amount, var(--button-bg-mix-amount, var(--control-bg-mix-amount, var(--bg-mix-amount, 0%))));
37
- --_fg-mix-color: var(--primary-fg-mix-color, var(--button-fg-mix-color, var(--control-fg-mix-color, var(--fg-mix-color, transparent))));
38
- --_fg-mix-amount: var(--primary-fg-mix-amount, var(--button-fg-mix-amount, var(--control-fg-mix-amount, var(--fg-mix-amount, 0%))));
39
- --_bg-base: var(--primary-bg, var(--button-bg, var(--control-bg, var(--bg, unset))));
40
- --_fg-base: var(--primary-fg, var(--button-fg, var(--control-fg, var(--fg, unset))));
41
- --_background-color: color-mix(
42
- in srgb,
43
- var(--_bg-base),
44
- var(--_bg-mix-color) var(--_bg-mix-amount)
45
- );
46
- --_color: color-mix(in srgb, var(--_fg-base), var(--_fg-mix-color) var(--_fg-mix-amount));
47
- background-color: var(--_background-color);
48
- color: var(--_color);
49
- }
50
-
51
- button {
52
- font-family: var(--mini-button-font-family, var(--button-font-family, var(--ui-font-family, var(--control-font-family, var(--font-family, unset)))));
53
- text-transform: var(--mini-button-text-transform, var(--button-text-transform, var(--ui-text-transform, var(--control-text-transform, var(--text-transform, unset)))));
54
- text-decoration: var(--mini-button-text-decoration, var(--button-text-decoration, var(--ui-text-decoration, var(--control-text-decoration, var(--text-decoration, unset)))));
55
- --_font-size: var(--mini-button-font-size, var(--button-font-size, var(--ui-font-size, var(--control-font-size, var(--font-size, unset)))));
56
- font-size: var(--_font-size);
57
- font-weight: var(--mini-button-font-weight, var(--button-font-weight, var(--ui-font-weight, var(--control-font-weight, var(--font-weight, unset)))));
58
- line-height: var(--mini-button-line-height, var(--button-line-height, var(--ui-line-height, var(--control-line-height, var(--line-height, unset)))));
59
- letter-spacing: var(--mini-button-letter-spacing, var(--button-letter-spacing, var(--ui-letter-spacing, var(--control-letter-spacing, var(--letter-spacing, unset)))));
60
- --_margin-top: var(--mini-button-margin, var(--button-margin, var(--ui-margin, var(--control-margin, var(--margin, unset)))));
61
- --_margin-top: var(--mini-button-margin-top, var(--button-margin-top, var(--ui-margin-top, var(--control-margin-top, var(--margin-top, unset)))));
62
- margin-top: var(--_margin-top);
63
- --_margin-bottom: var(--mini-button-margin, var(--button-margin, var(--ui-margin, var(--control-margin, var(--margin, unset)))));
64
- --_margin-bottom: var(--mini-button-margin-bottom, var(--button-margin-bottom, var(--ui-margin-bottom, var(--control-margin-bottom, var(--margin-bottom, unset)))));
65
- margin-bottom: var(--_margin-bottom);
66
- text-indent: var(--mini-button-indent, var(--button-indent, var(--ui-indent, var(--control-indent, var(--indent, unset)))));
67
- font-variant: var(--mini-button-font-variant, var(--button-font-variant, var(--ui-font-variant, var(--control-font-variant, var(--font-variant, unset)))));
68
- text-align: var(--mini-button-text-align, var(--button-text-align, var(--ui-text-align, var(--control-text-align, var(--text-align, unset)))));
69
- --link-bg: var(--mini-button-link-bg, var(--button-link-bg, var(--control-link-bg, var(--secondary-link-bg, inherit))));
70
- --link-fg: var(--mini-button-link-fg, var(--button-link-fg, var(--control-link-fg, var(--secondary-link-fg, inherit))));
71
- --_bg-mix-color: var(--mini-button-bg-mix-color, var(--button-bg-mix-color, var(--control-bg-mix-color, var(--secondary-bg-mix-color, var(--bg-mix-color, transparent)))));
72
- --_bg-mix-amount: var(--mini-button-bg-mix-amount, var(--button-bg-mix-amount, var(--control-bg-mix-amount, var(--secondary-bg-mix-amount, var(--bg-mix-amount, 0%)))));
73
- --_fg-mix-color: var(--mini-button-fg-mix-color, var(--button-fg-mix-color, var(--control-fg-mix-color, var(--secondary-fg-mix-color, var(--fg-mix-color, transparent)))));
74
- --_fg-mix-amount: var(--mini-button-fg-mix-amount, var(--button-fg-mix-amount, var(--control-fg-mix-amount, var(--secondary-fg-mix-amount, var(--fg-mix-amount, 0%)))));
75
- --_bg-base: var(--mini-button-bg, var(--button-bg, var(--control-bg, var(--secondary-bg, var(--bg, unset)))));
76
- --_fg-base: var(--mini-button-fg, var(--button-fg, var(--control-fg, var(--secondary-fg, var(--fg, unset)))));
77
- --_background-color: color-mix(
78
- in srgb,
79
- var(--_bg-base),
80
- var(--_bg-mix-color) var(--_bg-mix-amount)
81
- );
82
- --_color: color-mix(in srgb, var(--_fg-base), var(--_fg-mix-color) var(--_fg-mix-amount));
83
- background-color: var(--_background-color);
84
- color: var(--_color);
85
- cursor: var(--mini-button-cursor, var(--button-cursor, var(--clickable-cursor, var(--cursor, pointer))));
86
- transition: filter var(--mini-button-transition, var(--button-transition, var(--clickable-transition, var(--transition, 300ms)))), background-color var(--mini-button-transition, var(--button-transition, var(--clickable-transition, var(--transition, 300ms)))), border-color var(--mini-button-transition, var(--button-transition, var(--clickable-transition, var(--transition, 300ms)))), box-shadow var(--mini-button-transition, var(--button-transition, var(--clickable-transition, var(--transition, 300ms)))), transform var(--mini-button-transition, var(--button-transition, var(--clickable-transition, var(--transition, 300ms))));
87
- }
88
-
89
- button:hover {
90
- filter: var(--mini-button-hover-filter, var(--button-hover-filter, var(--clickable-hover-filter, var(--hover-filter, brightness(1.05)))));
91
- transform: var(--mini-button-hover-transform, var(--button-hover-transform, var(--clickable-hover-transform, var(--hover-transform, none))));
92
- background-color: color-mix(in oklch, var(--_background-color) var(--hover-base-color-percentage, 90%), var(--hover-color-mix, white) calc(100% - var(--hover-base-color-percentage, 90%)));
93
- box-shadow: var(--mini-button-hover-box-shadow, var(--button-hover-box-shadow, var(--clickable-hover-box-shadow, var(--hover-box-shadow, var(--_box-shadow, none)))));
94
- }
95
-
96
- button:active {
97
- filter: var(--mini-button-active-filter, var(--button-active-filter, var(--clickable-active-filter, var(--active-filter, brightness(0.9)))));
98
- transform: var(--mini-button-active-transform, var(--button-active-transform, var(--clickable-active-transform, var(--active-transform, none))));
99
- background-color: color-mix(in oklch, var(--_background-color) var(--active-base-color-percentage, 90%), var(--active-color-mix, black) calc(100% - var(--active-base-color-percentage, 90%)));
100
- box-shadow: var(--mini-button-active-box-shadow, var(--button-active-box-shadow, var(--clickable-active-box-shadow, var(--active-box-shadow, var(--_box-shadow, none)))));
101
- }
102
-
103
- button:disabled {
104
- cursor: var(--mini-button-disabled-cursor, var(--button-disabled-cursor, var(--clickable-disabled-cursor, var(--disabled-cursor, not-allowed))));
105
- transform: var(--mini-button-disabled-transform, var(--button-disabled-transform, var(--clickable-disabled-transform, var(--disabled-transform, none))));
106
- filter: var(--mini-button-disabled-filter, var(--button-disabled-filter, var(--clickable-disabled-filter, var(--disabled-filter, grayscale(0.5)))));
107
- background-color: color-mix(in oklch, var(--_background-color) var(--disabled-base-color-percentage, 50%), var(--disabled-color-mix, gray) calc(100% - var(--disabled-base-color-percentage, 50%)));
108
- box-shadow: var(--mini-button-disabled-box-shadow, var(--button-disabled-box-shadow, var(--clickable-disabled-box-shadow, var(--disabled-box-shadow, var(--_box-shadow, none)))));
109
- }
110
-
111
- button {
112
- --_box-shadow:
113
- var(--mini-button-shadow-distance, var(--button-shadow-distance, var(--control-shadow-distance, var(--shadow-distance, var(--space))))) var(--mini-button-shadow-distance, var(--button-shadow-distance, var(--control-shadow-distance, var(--shadow-distance, var(--space))))) var(--mini-button-shadow-blur, var(--button-shadow-blur, var(--control-shadow-blur, var(--shadow-blur, var(--space))))) var(--mini-button-shadow-color, var(--button-shadow-color, var(--control-shadow-color, var(--shadow-color, rgba(127, 127, 127, 0.4)))));
114
- box-shadow: var(--_box-shadow);
115
- }
116
-
117
- button:focus-visible {
118
- outline: var(--focus-color, -webkit-focus-ring-color) auto 1px;
119
- outline-offset: var(--focus-outline-offset, 2px);
120
- box-shadow: var(--focus-ring-box-shadow, 0 0 0 3px var(--focus-shadow-color, rgba(100, 150, 250, 0.5)));
121
- }
122
-
123
- button {
124
- margin: var(--button-margin, var(--control-margin, var(--margin, var(--space))));
125
- width: var(--mini-button-size, var(--icon-size, 1em));
126
- height: var(--mini-button-size, var(--icon-size, 1em));
127
- /* Make sure we don't shrink in a flex container */
128
- min-width: var(--mini-button-size, var(--icon-size, 1em));
129
- min-height: var(--mini-button-size, var(--icon-size, 1em));
130
- border-radius: var(--mini-button-radius, 50%);
131
- border: var(--mini-button-border, button-border, none);
132
- display: inline-grid;
133
- place-content: center;
134
- line-height: 1;
135
- flex-shrink: 0; /* Don't shrink any more */
136
- }
137
-
138
- button.primary {
139
- --link-bg: var(--primary-link-bg, var(--button-link-bg, var(--control-link-bg, inherit)));
140
- --link-fg: var(--primary-link-fg, var(--button-link-fg, var(--control-link-fg, inherit)));
141
- --_bg-mix-color: var(--primary-bg-mix-color, var(--button-bg-mix-color, var(--control-bg-mix-color, var(--bg-mix-color, transparent))));
142
- --_bg-mix-amount: var(--primary-bg-mix-amount, var(--button-bg-mix-amount, var(--control-bg-mix-amount, var(--bg-mix-amount, 0%))));
143
- --_fg-mix-color: var(--primary-fg-mix-color, var(--button-fg-mix-color, var(--control-fg-mix-color, var(--fg-mix-color, transparent))));
144
- --_fg-mix-amount: var(--primary-fg-mix-amount, var(--button-fg-mix-amount, var(--control-fg-mix-amount, var(--fg-mix-amount, 0%))));
145
- --_bg-base: var(--primary-bg, var(--button-bg, var(--control-bg, var(--bg, unset))));
146
- --_fg-base: var(--primary-fg, var(--button-fg, var(--control-fg, var(--fg, unset))));
147
- --_background-color: color-mix(
148
- in srgb,
149
- var(--_bg-base),
150
- var(--_bg-mix-color) var(--_bg-mix-amount)
151
- );
152
- --_color: color-mix(in srgb, var(--_fg-base), var(--_fg-mix-color) var(--_fg-mix-amount));
153
- background-color: var(--_background-color);
154
- color: var(--_color);
155
- }
156
-
157
- button.warning {
158
- --link-bg: var(--warning-link-bg, var(--button-link-bg, var(--control-link-bg, inherit)));
159
- --link-fg: var(--warning-link-fg, var(--button-link-fg, var(--control-link-fg, inherit)));
160
- --_bg-mix-color: var(--warning-bg-mix-color, var(--button-bg-mix-color, var(--control-bg-mix-color, var(--bg-mix-color, transparent))));
161
- --_bg-mix-amount: var(--warning-bg-mix-amount, var(--button-bg-mix-amount, var(--control-bg-mix-amount, var(--bg-mix-amount, 0%))));
162
- --_fg-mix-color: var(--warning-fg-mix-color, var(--button-fg-mix-color, var(--control-fg-mix-color, var(--fg-mix-color, transparent))));
163
- --_fg-mix-amount: var(--warning-fg-mix-amount, var(--button-fg-mix-amount, var(--control-fg-mix-amount, var(--fg-mix-amount, 0%))));
164
- --_bg-base: var(--warning-bg, var(--button-bg, var(--control-bg, var(--bg, unset))));
165
- --_fg-base: var(--warning-fg, var(--button-fg, var(--control-fg, var(--fg, unset))));
166
- --_background-color: color-mix(
167
- in srgb,
168
- var(--_bg-base),
169
- var(--_bg-mix-color) var(--_bg-mix-amount)
170
- );
171
- --_color: color-mix(in srgb, var(--_fg-base), var(--_fg-mix-color) var(--_fg-mix-amount));
172
- background-color: var(--_background-color);
173
- color: var(--_color);
174
- }
175
-
176
- button.danger {
177
- --link-bg: var(--danger-link-bg, var(--button-link-bg, var(--control-link-bg, inherit)));
178
- --link-fg: var(--danger-link-fg, var(--button-link-fg, var(--control-link-fg, inherit)));
179
- --_bg-mix-color: var(--danger-bg-mix-color, var(--button-bg-mix-color, var(--control-bg-mix-color, var(--bg-mix-color, transparent))));
180
- --_bg-mix-amount: var(--danger-bg-mix-amount, var(--button-bg-mix-amount, var(--control-bg-mix-amount, var(--bg-mix-amount, 0%))));
181
- --_fg-mix-color: var(--danger-fg-mix-color, var(--button-fg-mix-color, var(--control-fg-mix-color, var(--fg-mix-color, transparent))));
182
- --_fg-mix-amount: var(--danger-fg-mix-amount, var(--button-fg-mix-amount, var(--control-fg-mix-amount, var(--fg-mix-amount, 0%))));
183
- --_bg-base: var(--danger-bg, var(--button-bg, var(--control-bg, var(--bg, unset))));
184
- --_fg-base: var(--danger-fg, var(--button-fg, var(--control-fg, var(--fg, unset))));
185
- --_background-color: color-mix(
186
- in srgb,
187
- var(--_bg-base),
188
- var(--_bg-mix-color) var(--_bg-mix-amount)
189
- );
190
- --_color: color-mix(in srgb, var(--_fg-base), var(--_fg-mix-color) var(--_fg-mix-amount));
191
- background-color: var(--_background-color);
192
- color: var(--_color);
193
- }
194
-
195
- button.success {
196
- --link-bg: var(--success-link-bg, var(--button-link-bg, var(--control-link-bg, inherit)));
197
- --link-fg: var(--success-link-fg, var(--button-link-fg, var(--control-link-fg, inherit)));
198
- --_bg-mix-color: var(--success-bg-mix-color, var(--button-bg-mix-color, var(--control-bg-mix-color, var(--bg-mix-color, transparent))));
199
- --_bg-mix-amount: var(--success-bg-mix-amount, var(--button-bg-mix-amount, var(--control-bg-mix-amount, var(--bg-mix-amount, 0%))));
200
- --_fg-mix-color: var(--success-fg-mix-color, var(--button-fg-mix-color, var(--control-fg-mix-color, var(--fg-mix-color, transparent))));
201
- --_fg-mix-amount: var(--success-fg-mix-amount, var(--button-fg-mix-amount, var(--control-fg-mix-amount, var(--fg-mix-amount, 0%))));
202
- --_bg-base: var(--success-bg, var(--button-bg, var(--control-bg, var(--bg, unset))));
203
- --_fg-base: var(--success-fg, var(--button-fg, var(--control-fg, var(--fg, unset))));
204
- --_background-color: color-mix(
205
- in srgb,
206
- var(--_bg-base),
207
- var(--_bg-mix-color) var(--_bg-mix-amount)
208
- );
209
- --_color: color-mix(in srgb, var(--_fg-base), var(--_fg-mix-color) var(--_fg-mix-amount));
210
- background-color: var(--_background-color);
211
- color: var(--_color);
212
- }
213
-
214
- button.info {
215
- --link-bg: var(--info-link-bg, var(--button-link-bg, var(--control-link-bg, inherit)));
216
- --link-fg: var(--info-link-fg, var(--button-link-fg, var(--control-link-fg, inherit)));
217
- --_bg-mix-color: var(--info-bg-mix-color, var(--button-bg-mix-color, var(--control-bg-mix-color, var(--bg-mix-color, transparent))));
218
- --_bg-mix-amount: var(--info-bg-mix-amount, var(--button-bg-mix-amount, var(--control-bg-mix-amount, var(--bg-mix-amount, 0%))));
219
- --_fg-mix-color: var(--info-fg-mix-color, var(--button-fg-mix-color, var(--control-fg-mix-color, var(--fg-mix-color, transparent))));
220
- --_fg-mix-amount: var(--info-fg-mix-amount, var(--button-fg-mix-amount, var(--control-fg-mix-amount, var(--fg-mix-amount, 0%))));
221
- --_bg-base: var(--info-bg, var(--button-bg, var(--control-bg, var(--bg, unset))));
222
- --_fg-base: var(--info-fg, var(--button-fg, var(--control-fg, var(--fg, unset))));
223
- --_background-color: color-mix(
224
- in srgb,
225
- var(--_bg-base),
226
- var(--_bg-mix-color) var(--_bg-mix-amount)
227
- );
228
- --_color: color-mix(in srgb, var(--_fg-base), var(--_fg-mix-color) var(--_fg-mix-amount));
229
- background-color: var(--_background-color);
230
- color: var(--_color);
231
- }</style>
5
+ <CircleButton {...props} />
@@ -1,14 +1,3 @@
1
- import type { HTMLButtonAttributes } from "svelte/elements";
2
- import type { BaseStyleProps } from "../types";
3
- type Props = {
4
- primary?: boolean;
5
- warning?: boolean;
6
- danger?: boolean;
7
- success?: boolean;
8
- info?: boolean;
9
- type?: "button" | "submit" | "reset";
10
- children?: import("svelte").Snippet;
11
- } & BaseStyleProps & HTMLButtonAttributes;
12
- declare const MiniButton: import("svelte").Component<Props, {}, "">;
1
+ declare const MiniButton: import("svelte").Component<$$ComponentProps, {}, "">;
13
2
  type MiniButton = ReturnType<typeof MiniButton>;
14
3
  export default MiniButton;
package/dist/index.d.ts CHANGED
@@ -3,6 +3,7 @@ import Card from "./Card.svelte";
3
3
  import Button from "./controls/Button.svelte";
4
4
  import ButtonLink from "./controls/ButtonLink.svelte";
5
5
  import Checkbox from "./controls/Checkbox.svelte";
6
+ import CircleButton from "./controls/CircleButton.svelte";
6
7
  import Input from "./controls/Input.svelte";
7
8
  import MiniButton from "./controls/MiniButton.svelte";
8
9
  import RadioButton from "./controls/RadioButton.svelte";
@@ -48,7 +49,7 @@ export type { BaseStyleProps, ContainerStyleProps, BarStyleProps, MenuStyleProps
48
49
  export { Tag };
49
50
  export { Hero };
50
51
  export { TabItem };
51
- export { Button, ButtonLink, Checkbox, Input, Slider, Toggle, RadioButton, MiniButton, Select, Option, };
52
+ export { Button, ButtonLink, CircleButton, Checkbox, Input, Slider, Toggle, RadioButton, MiniButton, Select, Option, };
52
53
  export { Bar, ColumnContainer, Container, GridLayout, GridRow, Inline, MenuList, Page, ResponsiveText, RowContainer, Stack, TabBar, };
53
54
  export { TextLayout, Code, Accordion };
54
55
  export { Card, Tile, Form, FormItem, FormProvider, Fieldset };
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@ import Card from "./Card.svelte";
4
4
  import Button from "./controls/Button.svelte";
5
5
  import ButtonLink from "./controls/ButtonLink.svelte";
6
6
  import Checkbox from "./controls/Checkbox.svelte";
7
+ import CircleButton from "./controls/CircleButton.svelte";
7
8
  import Input from "./controls/Input.svelte";
8
9
  import MiniButton from "./controls/MiniButton.svelte";
9
10
  import RadioButton from "./controls/RadioButton.svelte";
@@ -48,7 +49,7 @@ import Tag from "./misc/Tag.svelte";
48
49
  export { Tag };
49
50
  export { Hero };
50
51
  export { TabItem };
51
- export { Button, ButtonLink, Checkbox, Input, Slider, Toggle, RadioButton, MiniButton, Select, Option, };
52
+ export { Button, ButtonLink, CircleButton, Checkbox, Input, Slider, Toggle, RadioButton, MiniButton, Select, Option, };
52
53
  export { Bar, ColumnContainer, Container, GridLayout, GridRow, Inline, MenuList, Page, ResponsiveText, RowContainer, Stack, TabBar, };
53
54
  export { TextLayout, Code, Accordion };
54
55
  export { Card, Tile, Form, FormItem, FormProvider, Fieldset };
@@ -336,6 +336,17 @@ a {
336
336
  --material-color-grey-700: #616161;
337
337
  --material-color-grey-800: #424242;
338
338
  --material-color-grey-900: #212121;
339
+ --material-color-gray: var(--material-color-grey);
340
+ --material-color-gray-50: var(--material-color-grey-50);
341
+ --material-color-gray-100: var(--material-color-grey-100);
342
+ --material-color-gray-200: var(--material-color-grey-200);
343
+ --material-color-gray-300: var(--material-color-grey-300);
344
+ --material-color-gray-400: var(--material-color-grey-400);
345
+ --material-color-gray-500: var(--material-color-grey-500);
346
+ --material-color-gray-600: var(--material-color-grey-600);
347
+ --material-color-gray-700: var(--material-color-grey-700);
348
+ --material-color-gray-800: var(--material-color-grey-800);
349
+ --material-color-gray-900: var(--material-color-grey-900);
339
350
 
340
351
  --material-color-blue-grey: #607d8b;
341
352
  --material-color-blue-grey-50: #eceff1;
@@ -348,6 +359,17 @@ a {
348
359
  --material-color-blue-grey-700: #455a64;
349
360
  --material-color-blue-grey-800: #37474f;
350
361
  --material-color-blue-grey-900: #263238;
362
+ --material-color-blue-gray: var(--material-color-blue-grey);
363
+ --material-color-blue-gray-50: var(--material-color-blue-grey-50);
364
+ --material-color-blue-gray-100: var(--material-color-blue-grey-100);
365
+ --material-color-blue-gray-200: var(--material-color-blue-grey-200);
366
+ --material-color-blue-gray-300: var(--material-color-blue-grey-300);
367
+ --material-color-blue-gray-400: var(--material-color-blue-grey-400);
368
+ --material-color-blue-gray-500: var(--material-color-blue-grey-500);
369
+ --material-color-blue-gray-600: var(--material-color-blue-grey-600);
370
+ --material-color-blue-gray-700: var(--material-color-blue-grey-700);
371
+ --material-color-blue-gray-800: var(--material-color-blue-grey-800);
372
+ --material-color-blue-gray-900: var(--material-color-blue-grey-900);
351
373
  }
352
374
 
353
375
  :root {
@@ -359,6 +359,17 @@ a {
359
359
  --material-color-grey-700: #616161;
360
360
  --material-color-grey-800: #424242;
361
361
  --material-color-grey-900: #212121;
362
+ --material-color-gray: var(--material-color-grey);
363
+ --material-color-gray-50: var(--material-color-grey-50);
364
+ --material-color-gray-100: var(--material-color-grey-100);
365
+ --material-color-gray-200: var(--material-color-grey-200);
366
+ --material-color-gray-300: var(--material-color-grey-300);
367
+ --material-color-gray-400: var(--material-color-grey-400);
368
+ --material-color-gray-500: var(--material-color-grey-500);
369
+ --material-color-gray-600: var(--material-color-grey-600);
370
+ --material-color-gray-700: var(--material-color-grey-700);
371
+ --material-color-gray-800: var(--material-color-grey-800);
372
+ --material-color-gray-900: var(--material-color-grey-900);
362
373
 
363
374
  --material-color-blue-grey: #607d8b;
364
375
  --material-color-blue-grey-50: #eceff1;
@@ -371,6 +382,17 @@ a {
371
382
  --material-color-blue-grey-700: #455a64;
372
383
  --material-color-blue-grey-800: #37474f;
373
384
  --material-color-blue-grey-900: #263238;
385
+ --material-color-blue-gray: var(--material-color-blue-grey);
386
+ --material-color-blue-gray-50: var(--material-color-blue-grey-50);
387
+ --material-color-blue-gray-100: var(--material-color-blue-grey-100);
388
+ --material-color-blue-gray-200: var(--material-color-blue-grey-200);
389
+ --material-color-blue-gray-300: var(--material-color-blue-grey-300);
390
+ --material-color-blue-gray-400: var(--material-color-blue-grey-400);
391
+ --material-color-blue-gray-500: var(--material-color-blue-grey-500);
392
+ --material-color-blue-gray-600: var(--material-color-blue-grey-600);
393
+ --material-color-blue-gray-700: var(--material-color-blue-grey-700);
394
+ --material-color-blue-gray-800: var(--material-color-blue-grey-800);
395
+ --material-color-blue-gray-900: var(--material-color-blue-grey-900);
374
396
  }
375
397
  :root {
376
398
  --material-color-red-light: var(--material-color-red-100);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "contain-css-svelte",
3
- "version": "1.1.12",
3
+ "version": "1.1.13",
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "capture:review": "node scripts/capture-review.mjs",