contain-css-svelte 0.0.16 → 0.0.18

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 (77) hide show
  1. package/dist/Card.svelte +29 -20
  2. package/dist/Card.svelte.d.ts +2 -4
  3. package/dist/controls/Button.svelte +61 -2
  4. package/dist/controls/Button.svelte.d.ts +6 -4
  5. package/dist/controls/ButtonLink.svelte +217 -0
  6. package/dist/controls/ButtonLink.svelte.d.ts +34 -0
  7. package/dist/controls/Checkbox.svelte +46 -18
  8. package/dist/controls/Checkbox.svelte.d.ts +5 -6
  9. package/dist/controls/Input.svelte.d.ts +2 -4
  10. package/dist/controls/MiniButton.svelte +1 -1
  11. package/dist/controls/MiniButton.svelte.d.ts +2 -4
  12. package/dist/controls/RadioButton.svelte +8 -2
  13. package/dist/controls/RadioButton.svelte.d.ts +3 -5
  14. package/dist/controls/Select.svelte +12 -12
  15. package/dist/controls/Select.svelte.d.ts +2 -4
  16. package/dist/controls/Slider.svelte.d.ts +2 -4
  17. package/dist/controls/TabItem.svelte.d.ts +2 -4
  18. package/dist/dropdowns/DropdownMenu.svelte +35 -22
  19. package/dist/dropdowns/DropdownMenu.svelte.d.ts +2 -4
  20. package/dist/index.d.ts +6 -2
  21. package/dist/index.js +6 -2
  22. package/dist/layout/Accordion.svelte +26 -24
  23. package/dist/layout/Accordion.svelte.d.ts +2 -4
  24. package/dist/layout/Bar.svelte.d.ts +2 -4
  25. package/dist/layout/Column.svelte.d.ts +2 -4
  26. package/dist/layout/Columns.svelte.d.ts +2 -4
  27. package/dist/layout/Container.svelte +28 -19
  28. package/dist/layout/Container.svelte.d.ts +2 -4
  29. package/dist/layout/FormItem.svelte.d.ts +2 -4
  30. package/dist/layout/GridLayout.svelte +12 -4
  31. package/dist/layout/GridLayout.svelte.d.ts +2 -4
  32. package/dist/layout/Hero.svelte +12 -10
  33. package/dist/layout/Hero.svelte.d.ts +2 -4
  34. package/dist/layout/MenuList.svelte +19 -29
  35. package/dist/layout/MenuList.svelte.d.ts +3 -4
  36. package/dist/layout/Page.svelte +26 -9
  37. package/dist/layout/Page.svelte.d.ts +3 -4
  38. package/dist/layout/ResponsiveText.svelte.d.ts +2 -4
  39. package/dist/layout/Row.svelte.d.ts +2 -4
  40. package/dist/layout/Sidebar.svelte +20 -12
  41. package/dist/layout/Sidebar.svelte.d.ts +2 -4
  42. package/dist/layout/SplitPane.svelte +7 -2
  43. package/dist/layout/SplitPane.svelte.d.ts +2 -4
  44. package/dist/layout/TabBar.svelte.d.ts +2 -4
  45. package/dist/layout/Table.svelte +235 -44
  46. package/dist/layout/Table.svelte.d.ts +10 -18
  47. package/dist/layout/Tile.svelte +46 -75
  48. package/dist/layout/Tile.svelte.d.ts +2 -4
  49. package/dist/misc/Code.svelte.d.ts +2 -4
  50. package/dist/misc/CodeInner.svelte +1 -1
  51. package/dist/misc/CodeInner.svelte.d.ts +2 -4
  52. package/dist/misc/Progress.svelte +12 -10
  53. package/dist/misc/Progress.svelte.d.ts +2 -4
  54. package/dist/misc/Tag.svelte +147 -0
  55. package/dist/misc/Tag.svelte.d.ts +24 -0
  56. package/dist/overlays/Dialog.svelte +52 -13
  57. package/dist/overlays/Dialog.svelte.d.ts +3 -4
  58. package/dist/overlays/Tooltip.svelte +26 -23
  59. package/dist/overlays/Tooltip.svelte.d.ts +2 -4
  60. package/dist/sass/_affordances.scss +36 -27
  61. package/dist/sass/_box.scss +119 -99
  62. package/dist/sass/_typography.scss +125 -115
  63. package/dist/typography/TextLayout.svelte +15 -10
  64. package/dist/typography/TextLayout.svelte.d.ts +2 -4
  65. package/dist/vars/affordances.css +9 -6
  66. package/dist/vars/colors.css +21 -8
  67. package/dist/vars/defaults.css +34 -15
  68. package/dist/vars/themes/bootstrap.css +0 -1
  69. package/dist/vars/themes/dark.css +13 -1
  70. package/dist/vars/themes/light.css +13 -2
  71. package/dist/vars/themes/lightordark.css +32 -7
  72. package/dist/vars/themes/purple.css +11 -0
  73. package/dist/vars/themes/typography-airy.css +1 -1
  74. package/dist/vars/themes/typography-browser.css +1 -1
  75. package/dist/vars/themes/typography-carbon.css +1 -1
  76. package/dist/vars/typography.css +1 -1
  77. package/package.json +3 -3
package/dist/Card.svelte CHANGED
@@ -42,7 +42,7 @@ let hasFooter = $$slots.footer;
42
42
  .card {
43
43
  --w: var(--card-width);
44
44
  --h: var(--card-height);
45
- box-shadow: var(--card-shadow-distance, var(--container-shadow-distance, var(--shadow-distance, var(--space-md)))) var(--card-shadow-distance, var(--container-shadow-distance, var(--shadow-distance, var(--space-md)))) var(--card-shadow-blur, var(--container-shadow-blur, var(--shadow-blur, var(--space)))) var(--card-shadow-color, var(--container-shadow-color, var(--shadow-color, rgba(127, 127, 127, 0.4))));
45
+ box-shadow: var(--card-shadow-distance, var(--container-shadow-distance, var(--shadow-distance, var(--space)))) var(--card-shadow-distance, var(--container-shadow-distance, var(--shadow-distance, var(--space)))) var(--card-shadow-blur, var(--container-shadow-blur, var(--shadow-blur, var(--space)))) var(--card-shadow-color, var(--container-shadow-color, var(--shadow-color, rgba(127, 127, 127, 0.4))));
46
46
  background: var(--card-bg, var(--container-bg, var(--bg, unset)));
47
47
  color: var(--card-fg, var(--container-fg, var(--fg, unset)));
48
48
  --link-bg: var(--card-link-bg, var(--container-link-bg, var(--container-link-bg, inherit)));
@@ -57,8 +57,6 @@ let hasFooter = $$slots.footer;
57
57
  .card section {
58
58
  flex-grow: 1;
59
59
  max-width: var(--card-line-width, var(--container-line-width, var(--line-width, unset)));
60
- margin-left: auto;
61
- margin-right: auto;
62
60
  font-family: var(--card-body-font-family, var(--container-body-font-family, var(--body-font-family, var(--font-family))));
63
61
  font-family: var(--card-font-family, var(--container-font-family, var(--font-family, unset)));
64
62
  text-transform: var(--card-text-transform, var(--container-text-transform, var(--text-transform, unset)));
@@ -75,7 +73,11 @@ let hasFooter = $$slots.footer;
75
73
  font-variant: var(--card-font-variant, var(--container-font-variant, var(--font-variant, unset)));
76
74
  text-align: var(--card-text-align, var(--container-text-align, var(--text-align, unset)));
77
75
  }
78
- .card section :global(p), .card section :global(blockquote), .card section :global(dl), .card section :global(ul), .card section :global(ol) {
76
+ .card section :global(p),
77
+ .card section :global(blockquote),
78
+ .card section :global(dl),
79
+ .card section :global(ul),
80
+ .card section :global(ol) {
79
81
  max-width: var(--card-line-width, var(--container-line-width, var(--line-width, 40em)));
80
82
  font-family: var(--card-body-font-family, var(--container-body-font-family, var(--body-font-family, var(--font-family))));
81
83
  line-height: var(--card-line-height, var(--container-line-height, var(--line-height, 1.5)));
@@ -110,13 +112,13 @@ let hasFooter = $$slots.footer;
110
112
  font-variant: var(--card-heading-font-variant, var(--container-heading-font-variant, var(--heading-font-variant, var(--heading-font-variant, inherit))));
111
113
  text-align: var(--card-heading-text-align, var(--container-heading-text-align, var(--heading-text-align, var(--heading-text-align, inherit))));
112
114
  /* font-family: fn.var(--heading-font-family, var(--body-font-family, var(--font-family, inherit)));
113
- font-size: fn.var(--heading-font-size, inherit);
114
- font-weight: fn.var(--heading-font-weight, var(--body-font-weight, var(--font-weight, inherit)));
115
- line-height: fn.var(--heading-line-height, var(--body-line-height, var(--line-height, inherit)));
116
- letter-spacing: fn.var(--heading-letter-spacing, var(--body-letter-spacing, var(--letter-spacing, inherit)));
117
- text-indent: fn.var(--heading-indent, var(--body-indent, var(--indent, inherit)));
118
- font-variant: fn.var(--heading-font-variant, var(--body-font-variant, var(--font-variant, inherit)));
119
- text-align: fn.var(--heading-text-align, var(--body-text-align, var(--text-align, inherit))); */
115
+ font-size: fn.var(--heading-font-size, inherit);
116
+ font-weight: fn.var(--heading-font-weight, var(--body-font-weight, var(--font-weight, inherit)));
117
+ line-height: fn.var(--heading-line-height, var(--body-line-height, var(--line-height, inherit)));
118
+ letter-spacing: fn.var(--heading-letter-spacing, var(--body-letter-spacing, var(--letter-spacing, inherit)));
119
+ text-indent: fn.var(--heading-indent, var(--body-indent, var(--indent, inherit)));
120
+ font-variant: fn.var(--heading-font-variant, var(--body-font-variant, var(--font-variant, inherit)));
121
+ text-align: fn.var(--heading-text-align, var(--body-text-align, var(--text-align, inherit))); */
120
122
  }
121
123
  .card section :global(p) {
122
124
  font-family: var(--card-paragraph-font-family, var(--container-paragraph-font-family, var(--paragraph-font-family, var(--paragraph-font-family, inherit))));
@@ -212,22 +214,29 @@ let hasFooter = $$slots.footer;
212
214
  height: var(--h);
213
215
  container-type: size;
214
216
  overflow-y: auto;
215
- scrollbar-width: var(--card-scrollbar-width, var(--container-scrollbar-width, var(--scrollbar-width, thin)));
216
- scrollbar-color: var(--card-scrollbar-thumb-bg, var(--container-scrollbar-thumb-bg, var(--scrollbar-thumb-bg, #888))) var(--card-scrollbar-track-bg, var(--container-scrollbar-track-bg, var(--scrollbar-track-bg, var(--border-color))));
217
+ scrollbar-width: thin;
218
+ scrollbar-color: transparent transparent;
217
219
  }
218
220
  .card.fixedHeight::-webkit-scrollbar {
219
- width: var(--card-scrollbar-width, var(--container-scrollbar-width, var(--scrollbar-width, var(--space-md))));
220
- height: var(--card-scrollbar-height, var(--container-scrollbar-height, var(--scrollbar-height, var(--gap))));
221
+ width: var(--card-scrollbar-width, var(--container-scrollbar-width, var(--scrollbar-width, 6px)));
222
+ height: var(--card-scrollbar-height, var(--container-scrollbar-height, var(--scrollbar-height, 6px)));
221
223
  }
222
224
  .card.fixedHeight::-webkit-scrollbar-track {
223
- background: var(--card-scrollbar-track-bg, var(--container-scrollbar-track-bg, var(--scrollbar-track-bg, var(--bg))));
225
+ background: var(--card-scrollbar-track-bg, var(--container-scrollbar-track-bg, var(--scrollbar-track-bg, transparent)));
224
226
  }
225
227
  .card.fixedHeight::-webkit-scrollbar-thumb {
226
- background: var(--card-scrollbar-thumb-bg, var(--container-scrollbar-thumb-bg, var(--scrollbar-thumb-bg, var(--stripe-bg))));
227
- border-radius: var(--card-scrollbar-thumb-radius, var(--container-scrollbar-thumb-radius, var(--scrollbar-thumb-radius, var(--border-radius))));
228
+ background: transparent;
229
+ border-radius: var(--card-scrollbar-thumb-radius, var(--container-scrollbar-thumb-radius, var(--scrollbar-thumb-radius, 3px)));
230
+ transition: background var(--card-transition, var(--container-transition, var(--transition, 300ms)));
231
+ }
232
+ .card.fixedHeight:hover {
233
+ scrollbar-color: var(--card-scrollbar-thumb-bg, var(--container-scrollbar-thumb-bg, var(--scrollbar-thumb-bg, rgba(0, 0, 0, 0.3)))) var(--card-scrollbar-track-bg, var(--container-scrollbar-track-bg, var(--scrollbar-track-bg, transparent)));
234
+ }
235
+ .card.fixedHeight:hover::-webkit-scrollbar-thumb {
236
+ background: var(--card-scrollbar-thumb-bg, var(--container-scrollbar-thumb-bg, var(--scrollbar-thumb-bg, rgba(0, 0, 0, 0.3))));
228
237
  }
229
- .card.fixedHeight::-webkit-scrollbar-thumb:hover {
230
- background: var(--card-scrollbar-thumb-hover-bg, var(--container-scrollbar-thumb-hover-bg, var(--scrollbar-thumb-hover-bg, var(--secondary-bg))));
238
+ .card.fixedHeight:hover::-webkit-scrollbar-thumb:hover {
239
+ background: var(--card-scrollbar-thumb-hover-bg, var(--container-scrollbar-thumb-hover-bg, var(--scrollbar-thumb-hover-bg, rgba(0, 0, 0, 0.5))));
231
240
  }
232
241
 
233
242
  header,
@@ -1,4 +1,4 @@
1
- import { SvelteComponent } from "svelte";
1
+ import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
4
  [x: string]: any;
@@ -18,12 +18,10 @@ declare const __propDef: {
18
18
  default: {};
19
19
  footer: {};
20
20
  };
21
- exports?: undefined;
22
- bindings?: undefined;
23
21
  };
24
22
  export type CardProps = typeof __propDef.props;
25
23
  export type CardEvents = typeof __propDef.events;
26
24
  export type CardSlots = typeof __propDef.slots;
27
- export default class Card extends SvelteComponent<CardProps, CardEvents, CardSlots> {
25
+ export default class Card extends SvelteComponentTyped<CardProps, CardEvents, CardSlots> {
28
26
  }
29
27
  export {};
@@ -1,6 +1,10 @@
1
1
  <script>import { injectVars } from "../util";
2
2
  export let primary = false;
3
+ export let secondary = false;
3
4
  export let warning = false;
5
+ export let danger = false;
6
+ export let success = false;
7
+ export let info = false;
4
8
  let iconSlotted = $$slots.icon;
5
9
  export let bg = null;
6
10
  export let fg = null;
@@ -20,7 +24,11 @@ let cssVars = injectVars($$props, "button", [
20
24
  style={cssVars}
21
25
  on:click
22
26
  class:primary
27
+ class:secondary
23
28
  class:warning
29
+ class:danger
30
+ class:success
31
+ class:info
24
32
  class:has-icon={iconSlotted}
25
33
  {...$$restProps}
26
34
  >
@@ -36,7 +44,7 @@ let cssVars = injectVars($$props, "button", [
36
44
  */
37
45
  /* Convenience groupings */
38
46
  button.has-icon {
39
- display: flex;
47
+ display: inline-flex;
40
48
  align-items: center;
41
49
  gap: var(--button-icon-gap, var(--space));
42
50
  }
@@ -61,7 +69,7 @@ button {
61
69
  color: var(--button-fg, var(--control-fg, var(--secondary-fg, var(--fg, unset))));
62
70
  --link-bg: var(--button-link-bg, var(--control-link-bg, var(--secondary-link-bg, var(--secondary-link-bg, inherit))));
63
71
  --link-fg: var(--button-link-fg, var(--control-link-fg, var(--secondary-link-fg, var(--secondary-link-fg, inherit))));
64
- box-shadow: var(--button-shadow-distance, var(--control-shadow-distance, var(--shadow-distance, var(--space-md)))) var(--button-shadow-distance, var(--control-shadow-distance, var(--shadow-distance, var(--space-md)))) var(--button-shadow-blur, var(--control-shadow-blur, var(--shadow-blur, var(--space)))) var(--button-shadow-color, var(--control-shadow-color, var(--shadow-color, rgba(127, 127, 127, 0.4))));
72
+ box-shadow: var(--button-shadow-distance, var(--control-shadow-distance, var(--shadow-distance, var(--space)))) var(--button-shadow-distance, var(--control-shadow-distance, var(--shadow-distance, var(--space)))) var(--button-shadow-blur, var(--control-shadow-blur, var(--shadow-blur, var(--space)))) var(--button-shadow-color, var(--control-shadow-color, var(--shadow-color, rgba(127, 127, 127, 0.4))));
65
73
  font-family: var(--button-font-family, var(--control-font-family, var(--control-font-family, inherit)));
66
74
  text-transform: var(--button-text-transform, var(--control-text-transform, var(--control-text-transform, inherit)));
67
75
  text-decoration: var(--button-text-decoration, var(--control-text-decoration, var(--control-text-decoration, inherit)));
@@ -127,4 +135,55 @@ button.warning {
127
135
  text-indent: var(--warning-indent, var(--button-indent, var(--button-indent, inherit)));
128
136
  font-variant: var(--warning-font-variant, var(--button-font-variant, var(--button-font-variant, inherit)));
129
137
  text-align: var(--warning-text-align, var(--button-text-align, var(--button-text-align, inherit)));
138
+ }
139
+
140
+ button.danger {
141
+ background: var(--danger-bg, var(--button-bg, var(--control-bg, var(--bg, unset))));
142
+ color: var(--danger-fg, var(--button-fg, var(--control-fg, var(--fg, unset))));
143
+ --link-bg: var(--danger-link-bg, var(--button-link-bg, var(--control-link-bg, var(--control-link-bg, inherit))));
144
+ --link-fg: var(--danger-link-fg, var(--button-link-fg, var(--control-link-fg, var(--control-link-fg, inherit))));
145
+ font-family: var(--danger-font-family, var(--button-font-family, var(--button-font-family, inherit)));
146
+ text-transform: var(--danger-text-transform, var(--button-text-transform, var(--button-text-transform, inherit)));
147
+ text-decoration: var(--danger-text-decoration, var(--button-text-decoration, var(--button-text-decoration, inherit)));
148
+ font-size: var(--danger-font-size, var(--button-font-size, var(--button-font-size, inherit)));
149
+ font-weight: var(--danger-font-weight, var(--button-font-weight, var(--button-font-weight, inherit)));
150
+ line-height: var(--danger-line-height, var(--button-line-height, var(--button-line-height, inherit)));
151
+ letter-spacing: var(--danger-letter-spacing, var(--button-letter-spacing, var(--button-letter-spacing, inherit)));
152
+ text-indent: var(--danger-indent, var(--button-indent, var(--button-indent, inherit)));
153
+ font-variant: var(--danger-font-variant, var(--button-font-variant, var(--button-font-variant, inherit)));
154
+ text-align: var(--danger-text-align, var(--button-text-align, var(--button-text-align, inherit)));
155
+ }
156
+
157
+ button.success {
158
+ background: var(--success-bg, var(--button-bg, var(--control-bg, var(--bg, unset))));
159
+ color: var(--success-fg, var(--button-fg, var(--control-fg, var(--fg, unset))));
160
+ --link-bg: var(--success-link-bg, var(--button-link-bg, var(--control-link-bg, var(--control-link-bg, inherit))));
161
+ --link-fg: var(--success-link-fg, var(--button-link-fg, var(--control-link-fg, var(--control-link-fg, inherit))));
162
+ font-family: var(--success-font-family, var(--button-font-family, var(--button-font-family, inherit)));
163
+ text-transform: var(--success-text-transform, var(--button-text-transform, var(--button-text-transform, inherit)));
164
+ text-decoration: var(--success-text-decoration, var(--button-text-decoration, var(--button-text-decoration, inherit)));
165
+ font-size: var(--success-font-size, var(--button-font-size, var(--button-font-size, inherit)));
166
+ font-weight: var(--success-font-weight, var(--button-font-weight, var(--button-font-weight, inherit)));
167
+ line-height: var(--success-line-height, var(--button-line-height, var(--button-line-height, inherit)));
168
+ letter-spacing: var(--success-letter-spacing, var(--button-letter-spacing, var(--button-letter-spacing, inherit)));
169
+ text-indent: var(--success-indent, var(--button-indent, var(--button-indent, inherit)));
170
+ font-variant: var(--success-font-variant, var(--button-font-variant, var(--button-font-variant, inherit)));
171
+ text-align: var(--success-text-align, var(--button-text-align, var(--button-text-align, inherit)));
172
+ }
173
+
174
+ button.info {
175
+ background: var(--info-bg, var(--button-bg, var(--control-bg, var(--bg, unset))));
176
+ color: var(--info-fg, var(--button-fg, var(--control-fg, var(--fg, unset))));
177
+ --link-bg: var(--info-link-bg, var(--button-link-bg, var(--control-link-bg, var(--control-link-bg, inherit))));
178
+ --link-fg: var(--info-link-fg, var(--button-link-fg, var(--control-link-fg, var(--control-link-fg, inherit))));
179
+ font-family: var(--info-font-family, var(--button-font-family, var(--button-font-family, inherit)));
180
+ text-transform: var(--info-text-transform, var(--button-text-transform, var(--button-text-transform, inherit)));
181
+ text-decoration: var(--info-text-decoration, var(--button-text-decoration, var(--button-text-decoration, inherit)));
182
+ font-size: var(--info-font-size, var(--button-font-size, var(--button-font-size, inherit)));
183
+ font-weight: var(--info-font-weight, var(--button-font-weight, var(--button-font-weight, inherit)));
184
+ line-height: var(--info-line-height, var(--button-line-height, var(--button-line-height, inherit)));
185
+ letter-spacing: var(--info-letter-spacing, var(--button-letter-spacing, var(--button-letter-spacing, inherit)));
186
+ text-indent: var(--info-indent, var(--button-indent, var(--button-indent, inherit)));
187
+ font-variant: var(--info-font-variant, var(--button-font-variant, var(--button-font-variant, inherit)));
188
+ text-align: var(--info-text-align, var(--button-text-align, var(--button-text-align, inherit)));
130
189
  }</style>
@@ -1,9 +1,13 @@
1
- import { SvelteComponent } from "svelte";
1
+ import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
4
  [x: string]: any;
5
5
  primary?: boolean | undefined;
6
+ secondary?: boolean | undefined;
6
7
  warning?: boolean | undefined;
8
+ danger?: boolean | undefined;
9
+ success?: boolean | undefined;
10
+ info?: boolean | undefined;
7
11
  bg?: string | null | undefined;
8
12
  fg?: string | null | undefined;
9
13
  padding?: string | null | undefined;
@@ -19,12 +23,10 @@ declare const __propDef: {
19
23
  default: {};
20
24
  icon: {};
21
25
  };
22
- exports?: undefined;
23
- bindings?: undefined;
24
26
  };
25
27
  export type ButtonProps = typeof __propDef.props;
26
28
  export type ButtonEvents = typeof __propDef.events;
27
29
  export type ButtonSlots = typeof __propDef.slots;
28
- export default class Button extends SvelteComponent<ButtonProps, ButtonEvents, ButtonSlots> {
30
+ export default class Button extends SvelteComponentTyped<ButtonProps, ButtonEvents, ButtonSlots> {
29
31
  }
30
32
  export {};
@@ -0,0 +1,217 @@
1
+ <script>import { injectVars } from "../util";
2
+ export let primary = false;
3
+ export let secondary = false;
4
+ export let warning = false;
5
+ export let danger = false;
6
+ export let success = false;
7
+ export let info = false;
8
+ let iconSlotted = $$slots.icon;
9
+ /* svelte-ignore unused-export-let */
10
+ export let bg = null;
11
+ /* svelte-ignore unused-export-let */
12
+ export let fg = null;
13
+ /* svelte-ignore unused-export-let */
14
+ export let padding = null;
15
+ /* svelte-ignore unused-export-let */
16
+ export let width = null;
17
+ /* svelte-ignore unused-export-let */
18
+ export let height = null;
19
+ let cssVars = injectVars($$props, "button", [
20
+ "bg",
21
+ "fg",
22
+ "padding",
23
+ "width",
24
+ "height",
25
+ ]);
26
+ export let href = "#";
27
+ export let id = null;
28
+ </script>
29
+
30
+ <a
31
+ role="button"
32
+ style={cssVars}
33
+ on:click
34
+ {href}
35
+ {id}
36
+ class:primary
37
+ class:secondary
38
+ class:warning
39
+ class:danger
40
+ class:success
41
+ class:info
42
+ class:has-icon={iconSlotted}
43
+ {...$$restProps}
44
+ >
45
+ <span class="content"><slot /></span>
46
+ <span class:hidden={!iconSlotted} class="icon"><slot name="icon" /></span>
47
+ </a>
48
+
49
+ <style>/* Warning: because we define a fallback
50
+ media query, the media query can override the container
51
+ if we stack a bunch of these in a row and aren't thoughtful about the order.
52
+ Put min-width queries *after* max-width queries so that smaller
53
+ container queries don't get their styles overridden by large media queries.
54
+ */
55
+ /* Convenience groupings */
56
+ a.has-icon {
57
+ display: inline-flex;
58
+ align-items: center;
59
+ gap: var(--a-icon-gap, var(--space));
60
+ }
61
+
62
+ a[role=button] {
63
+ display: inline-block;
64
+ width: var(--button-width);
65
+ height: var(--button-height);
66
+ box-sizing: border-box;
67
+ padding: var(--button-padding, var(--control-padding, var(--secondary-padding, var(--padding, 4px))));
68
+ border: var(--button-border, var(--control-border, var(--secondary-border, var(--border, inherit))));
69
+ border-top: var(--button-border-top, var(--control-border-top, var(--secondary-border-top, var(--border-top, var(--button-border, var(--control-border, var(--secondary-border, var(--border, none))))))));
70
+ border-right: var(--button-border-right, var(--control-border-right, var(--secondary-border-right, var(--border-right, var(--button-border, var(--control-border, var(--secondary-border, var(--border, none))))))));
71
+ border-bottom: var(--button-border-bottom, var(--control-border-bottom, var(--secondary-border-bottom, var(--border-bottom, var(--button-border, var(--control-border, var(--secondary-border, var(--border, none))))))));
72
+ border-left: var(--button-border-left, var(--control-border-left, var(--secondary-border-left, var(--border-left, var(--button-border, var(--control-border, var(--secondary-border, var(--border, none))))))));
73
+ border-radius: var(--button-border-radius, var(--control-border-radius, var(--secondary-border-radius, var(--border-radius, none))));
74
+ border: var(--button-border, var(--border, inherit));
75
+ border-top: var(--button-border-top, var(--border-top, var(--button-border, var(--border, none))));
76
+ border-right: var(--button-border-right, var(--border-right, var(--button-border, var(--border, none))));
77
+ border-bottom: var(--button-border-bottom, var(--border-bottom, var(--button-border, var(--border, none))));
78
+ border-left: var(--button-border-left, var(--border-left, var(--button-border, var(--border, none))));
79
+ background: var(--button-bg, var(--control-bg, var(--secondary-bg, var(--bg, unset))));
80
+ color: var(--button-fg, var(--control-fg, var(--secondary-fg, var(--fg, unset))));
81
+ --link-bg: var(--button-link-bg, var(--control-link-bg, var(--secondary-link-bg, var(--secondary-link-bg, inherit))));
82
+ --link-fg: var(--button-link-fg, var(--control-link-fg, var(--secondary-link-fg, var(--secondary-link-fg, inherit))));
83
+ box-shadow: var(--button-shadow-distance, var(--control-shadow-distance, var(--shadow-distance, var(--space)))) var(--button-shadow-distance, var(--control-shadow-distance, var(--shadow-distance, var(--space)))) var(--button-shadow-blur, var(--control-shadow-blur, var(--shadow-blur, var(--space)))) var(--button-shadow-color, var(--control-shadow-color, var(--shadow-color, rgba(127, 127, 127, 0.4))));
84
+ font-family: var(--button-font-family, var(--control-font-family, var(--control-font-family, inherit)));
85
+ text-transform: var(--button-text-transform, var(--control-text-transform, var(--control-text-transform, inherit)));
86
+ text-decoration: var(--button-text-decoration, var(--control-text-decoration, var(--control-text-decoration, inherit)));
87
+ font-size: var(--button-font-size, var(--control-font-size, var(--control-font-size, inherit)));
88
+ font-weight: var(--button-font-weight, var(--control-font-weight, var(--control-font-weight, inherit)));
89
+ line-height: var(--button-line-height, var(--control-line-height, var(--control-line-height, inherit)));
90
+ letter-spacing: var(--button-letter-spacing, var(--control-letter-spacing, var(--control-letter-spacing, inherit)));
91
+ text-indent: var(--button-indent, var(--control-indent, var(--control-indent, inherit)));
92
+ font-variant: var(--button-font-variant, var(--control-font-variant, var(--control-font-variant, inherit)));
93
+ text-align: var(--button-text-align, var(--control-text-align, var(--control-text-align, inherit)));
94
+ cursor: var(--button-cursor, var(--clickable-cursor, var(--cursor, pointer)));
95
+ transition: filter, transform var(--button-transition, var(--clickable-transition, var(--transition, 300ms)));
96
+ text-decoration: none;
97
+ margin: var(--button-margin, var(--control-margin, var(--margin, var(--space))));
98
+ }
99
+ a[role=button]:hover {
100
+ filter: var(--button-hover-filter, var(--clickable-hover-filter, var(--hover-filter, brightness(1.4))));
101
+ transform: var(--button-hover-transform, var(--clickable-hover-transform, var(--hover-transform, none)));
102
+ }
103
+ a[role=button]:active {
104
+ filter: var(--button-active-filter, var(--clickable-active-filter, var(--active-filter, brightness(0.9))));
105
+ transform: var(--button-active-transform, var(--clickable-active-transform, var(--active-transform, none)));
106
+ }
107
+ a[role=button]:disabled {
108
+ cursor: var(--button-disabled-cursor, var(--clickable-disabled-cursor, var(--disabled-cursor, not-allowed)));
109
+ transform: var(--button-disabled-transform, var(--clickable-disabled-transform, var(--disabled-transform, none)));
110
+ filter: var(--button-disabled-filter, var(--clickable-disabled-filter, var(--disabled-filter, grayscale(0.5))));
111
+ }
112
+ a[role=button]:focus-visible {
113
+ outline: var(--focus-color, -webkit-focus-ring-color) auto 1px;
114
+ outline-offset: var(--focus-outline-offset, 2px);
115
+ box-shadow: var(--focus-ring-box-shadow, 0 0 0 3px var(--focus-shadow-color, rgba(100, 150, 250, 0.5)));
116
+ }
117
+
118
+ a[role=button]:hover {
119
+ text-decoration: none;
120
+ /* Override other link styles that may be outside us */
121
+ background: var(--button-bg, var(--control-bg, var(--secondary-bg, var(--bg, unset))));
122
+ color: var(--button-fg, var(--control-fg, var(--secondary-fg, var(--fg, unset))));
123
+ --link-bg: var(--button-link-bg, var(--control-link-bg, var(--secondary-link-bg, var(--secondary-link-bg, inherit))));
124
+ --link-fg: var(--button-link-fg, var(--control-link-fg, var(--secondary-link-fg, var(--secondary-link-fg, inherit))));
125
+ }
126
+
127
+ a.primary[role=button]:hover {
128
+ background: var(--primary-bg, var(--button-bg, var(--control-bg, var(--secondary-bg, var(--bg, unset)))));
129
+ color: var(--primary-fg, var(--button-fg, var(--control-fg, var(--secondary-fg, var(--fg, unset)))));
130
+ --link-bg: var(--primary-link-bg, var(--button-link-bg, var(--control-link-bg, var(--secondary-link-bg, var(--secondary-link-bg, inherit)))));
131
+ --link-fg: var(--primary-link-fg, var(--button-link-fg, var(--control-link-fg, var(--secondary-link-fg, var(--secondary-link-fg, inherit)))));
132
+ }
133
+
134
+ a.primary {
135
+ background: var(--primary-bg, var(--button-bg, var(--control-bg, var(--secondary-bg, var(--bg, unset)))));
136
+ color: var(--primary-fg, var(--button-fg, var(--control-fg, var(--secondary-fg, var(--fg, unset)))));
137
+ --link-bg: var(--primary-link-bg, var(--button-link-bg, var(--control-link-bg, var(--secondary-link-bg, var(--secondary-link-bg, inherit)))));
138
+ --link-fg: var(--primary-link-fg, var(--button-link-fg, var(--control-link-fg, var(--secondary-link-fg, var(--secondary-link-fg, inherit)))));
139
+ font-family: var(--primary-font-family, var(--a-font-family, var(--a-font-family, inherit)));
140
+ text-transform: var(--primary-text-transform, var(--a-text-transform, var(--a-text-transform, inherit)));
141
+ text-decoration: var(--primary-text-decoration, var(--a-text-decoration, var(--a-text-decoration, inherit)));
142
+ font-size: var(--primary-font-size, var(--a-font-size, var(--a-font-size, inherit)));
143
+ font-weight: var(--primary-font-weight, var(--a-font-weight, var(--a-font-weight, inherit)));
144
+ line-height: var(--primary-line-height, var(--a-line-height, var(--a-line-height, inherit)));
145
+ letter-spacing: var(--primary-letter-spacing, var(--a-letter-spacing, var(--a-letter-spacing, inherit)));
146
+ text-indent: var(--primary-indent, var(--a-indent, var(--a-indent, inherit)));
147
+ font-variant: var(--primary-font-variant, var(--a-font-variant, var(--a-font-variant, inherit)));
148
+ text-align: var(--primary-text-align, var(--a-text-align, var(--a-text-align, inherit)));
149
+ }
150
+
151
+ a.warning {
152
+ background: var(--warning-bg, var(--button-bg, var(--control-bg, var(--secondary-bg, var(--bg, unset)))));
153
+ color: var(--warning-fg, var(--button-fg, var(--control-fg, var(--secondary-fg, var(--fg, unset)))));
154
+ --link-bg: var(--warning-link-bg, var(--button-link-bg, var(--control-link-bg, var(--secondary-link-bg, var(--secondary-link-bg, inherit)))));
155
+ --link-fg: var(--warning-link-fg, var(--button-link-fg, var(--control-link-fg, var(--secondary-link-fg, var(--secondary-link-fg, inherit)))));
156
+ font-family: var(--warning-font-family, var(--a-font-family, var(--a-font-family, inherit)));
157
+ text-transform: var(--warning-text-transform, var(--a-text-transform, var(--a-text-transform, inherit)));
158
+ text-decoration: var(--warning-text-decoration, var(--a-text-decoration, var(--a-text-decoration, inherit)));
159
+ font-size: var(--warning-font-size, var(--a-font-size, var(--a-font-size, inherit)));
160
+ font-weight: var(--warning-font-weight, var(--a-font-weight, var(--a-font-weight, inherit)));
161
+ line-height: var(--warning-line-height, var(--a-line-height, var(--a-line-height, inherit)));
162
+ letter-spacing: var(--warning-letter-spacing, var(--a-letter-spacing, var(--a-letter-spacing, inherit)));
163
+ text-indent: var(--warning-indent, var(--a-indent, var(--a-indent, inherit)));
164
+ font-variant: var(--warning-font-variant, var(--a-font-variant, var(--a-font-variant, inherit)));
165
+ text-align: var(--warning-text-align, var(--a-text-align, var(--a-text-align, inherit)));
166
+ }
167
+
168
+ a.danger {
169
+ background: var(--danger-bg, var(--button-bg, var(--control-bg, var(--bg, unset))));
170
+ color: var(--danger-fg, var(--button-fg, var(--control-fg, var(--fg, unset))));
171
+ --link-bg: var(--danger-link-bg, var(--button-link-bg, var(--control-link-bg, var(--control-link-bg, inherit))));
172
+ --link-fg: var(--danger-link-fg, var(--button-link-fg, var(--control-link-fg, var(--control-link-fg, inherit))));
173
+ font-family: var(--danger-font-family, var(--a-font-family, var(--a-font-family, inherit)));
174
+ text-transform: var(--danger-text-transform, var(--a-text-transform, var(--a-text-transform, inherit)));
175
+ text-decoration: var(--danger-text-decoration, var(--a-text-decoration, var(--a-text-decoration, inherit)));
176
+ font-size: var(--danger-font-size, var(--a-font-size, var(--a-font-size, inherit)));
177
+ font-weight: var(--danger-font-weight, var(--a-font-weight, var(--a-font-weight, inherit)));
178
+ line-height: var(--danger-line-height, var(--a-line-height, var(--a-line-height, inherit)));
179
+ letter-spacing: var(--danger-letter-spacing, var(--a-letter-spacing, var(--a-letter-spacing, inherit)));
180
+ text-indent: var(--danger-indent, var(--a-indent, var(--a-indent, inherit)));
181
+ font-variant: var(--danger-font-variant, var(--a-font-variant, var(--a-font-variant, inherit)));
182
+ text-align: var(--danger-text-align, var(--a-text-align, var(--a-text-align, inherit)));
183
+ }
184
+
185
+ a.success {
186
+ background: var(--success-bg, var(--button-bg, var(--control-bg, var(--bg, unset))));
187
+ color: var(--success-fg, var(--button-fg, var(--control-fg, var(--fg, unset))));
188
+ --link-bg: var(--success-link-bg, var(--button-link-bg, var(--control-link-bg, var(--control-link-bg, inherit))));
189
+ --link-fg: var(--success-link-fg, var(--button-link-fg, var(--control-link-fg, var(--control-link-fg, inherit))));
190
+ font-family: var(--success-font-family, var(--a-font-family, var(--a-font-family, inherit)));
191
+ text-transform: var(--success-text-transform, var(--a-text-transform, var(--a-text-transform, inherit)));
192
+ text-decoration: var(--success-text-decoration, var(--a-text-decoration, var(--a-text-decoration, inherit)));
193
+ font-size: var(--success-font-size, var(--a-font-size, var(--a-font-size, inherit)));
194
+ font-weight: var(--success-font-weight, var(--a-font-weight, var(--a-font-weight, inherit)));
195
+ line-height: var(--success-line-height, var(--a-line-height, var(--a-line-height, inherit)));
196
+ letter-spacing: var(--success-letter-spacing, var(--a-letter-spacing, var(--a-letter-spacing, inherit)));
197
+ text-indent: var(--success-indent, var(--a-indent, var(--a-indent, inherit)));
198
+ font-variant: var(--success-font-variant, var(--a-font-variant, var(--a-font-variant, inherit)));
199
+ text-align: var(--success-text-align, var(--a-text-align, var(--a-text-align, inherit)));
200
+ }
201
+
202
+ a.info {
203
+ background: var(--info-bg, var(--button-bg, var(--control-bg, var(--bg, unset))));
204
+ color: var(--info-fg, var(--button-fg, var(--control-fg, var(--fg, unset))));
205
+ --link-bg: var(--info-link-bg, var(--button-link-bg, var(--control-link-bg, var(--control-link-bg, inherit))));
206
+ --link-fg: var(--info-link-fg, var(--button-link-fg, var(--control-link-fg, var(--control-link-fg, inherit))));
207
+ font-family: var(--info-font-family, var(--a-font-family, var(--a-font-family, inherit)));
208
+ text-transform: var(--info-text-transform, var(--a-text-transform, var(--a-text-transform, inherit)));
209
+ text-decoration: var(--info-text-decoration, var(--a-text-decoration, var(--a-text-decoration, inherit)));
210
+ font-size: var(--info-font-size, var(--a-font-size, var(--a-font-size, inherit)));
211
+ font-weight: var(--info-font-weight, var(--a-font-weight, var(--a-font-weight, inherit)));
212
+ line-height: var(--info-line-height, var(--a-line-height, var(--a-line-height, inherit)));
213
+ letter-spacing: var(--info-letter-spacing, var(--a-letter-spacing, var(--a-letter-spacing, inherit)));
214
+ text-indent: var(--info-indent, var(--a-indent, var(--a-indent, inherit)));
215
+ font-variant: var(--info-font-variant, var(--a-font-variant, var(--a-font-variant, inherit)));
216
+ text-align: var(--info-text-align, var(--a-text-align, var(--a-text-align, inherit)));
217
+ }</style>
@@ -0,0 +1,34 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ [x: string]: any;
5
+ primary?: boolean | undefined;
6
+ secondary?: boolean | undefined;
7
+ warning?: boolean | undefined;
8
+ danger?: boolean | undefined;
9
+ success?: boolean | undefined;
10
+ info?: boolean | undefined;
11
+ bg?: string | null | undefined;
12
+ fg?: string | null | undefined;
13
+ padding?: string | null | undefined;
14
+ width?: string | null | undefined;
15
+ height?: string | null | undefined;
16
+ href?: string | undefined;
17
+ id?: string | null | undefined;
18
+ };
19
+ events: {
20
+ click: MouseEvent;
21
+ } & {
22
+ [evt: string]: CustomEvent<any>;
23
+ };
24
+ slots: {
25
+ default: {};
26
+ icon: {};
27
+ };
28
+ };
29
+ export type ButtonLinkProps = typeof __propDef.props;
30
+ export type ButtonLinkEvents = typeof __propDef.events;
31
+ export type ButtonLinkSlots = typeof __propDef.slots;
32
+ export default class ButtonLink extends SvelteComponentTyped<ButtonLinkProps, ButtonLinkEvents, ButtonLinkSlots> {
33
+ }
34
+ export {};
@@ -1,10 +1,16 @@
1
- <script>export let checked;
1
+ <script>export let checked = undefined;
2
+ export let name = "";
2
3
  /* Styling properties */
3
4
  import { injectVars } from "../util";
5
+ /* svelte-ignore unused-export-let */
4
6
  export let bg = null;
7
+ /* svelte-ignore unused-export-let */
5
8
  export let fg = null;
9
+ /* svelte-ignore unused-export-let */
6
10
  export let padding = null;
11
+ /* svelte-ignore unused-export-let */
7
12
  export let width = null;
13
+ /* svelte-ignore unused-export-let */
8
14
  export let height = null;
9
15
  let style = injectVars($$props, "checkbox", [
10
16
  "bg",
@@ -14,8 +20,9 @@ let style = injectVars($$props, "checkbox", [
14
20
  "height",
15
21
  ]);
16
22
  export let value = undefined;
17
- // default group to an empty array so code that calls group.indexOf(...) won't throw
18
- export let group = [];
23
+ export let group = undefined;
24
+ // Determine if we're using group binding or checked binding
25
+ $: useGroup = group !== undefined && value !== undefined;
19
26
  let ref;
20
27
  let labelContent = "";
21
28
  $: {
@@ -27,23 +34,44 @@ $: {
27
34
 
28
35
  <div class="label-sizing-box">
29
36
  <label class="checkbox-item">
30
- <input
31
- type="checkbox"
32
- bind:checked
33
- bind:group
34
- {value}
35
- on:change
36
- on:click
37
- on:blur
38
- on:focus
39
- on:focusin
40
- on:focusout
41
- {...$$restProps}
42
- />
37
+ {#if useGroup}
38
+ <input
39
+ name={name || undefined}
40
+ type="checkbox"
41
+ {value}
42
+ checked={Array.isArray(group) && group.includes(value)}
43
+ on:change={(e) => {
44
+ if (e.currentTarget.checked) {
45
+ group = [...(group || []), value];
46
+ } else {
47
+ group = (group || []).filter(v => v !== value);
48
+ }
49
+ }}
50
+ on:click
51
+ on:blur
52
+ on:focus
53
+ on:focusin
54
+ on:focusout
55
+ {...$$restProps}
56
+ />
57
+ {:else}
58
+ <input
59
+ name={name || (ref && ref.textContent) || undefined}
60
+ type="checkbox"
61
+ bind:checked
62
+ on:change
63
+ on:click
64
+ on:blur
65
+ on:focus
66
+ on:focusin
67
+ on:focusout
68
+ {...$$restProps}
69
+ />
70
+ {/if}
43
71
  <span bind:this={ref}><slot /></span>
44
72
  </label>
45
- <label class="invisible">
46
- <input type="checkbox" checked={true} />
73
+ <label class="invisible" aria-hidden="true">
74
+ <input type="checkbox" checked={true} tabindex="-1" />
47
75
  <span>{@html labelContent}</span>
48
76
  </label>
49
77
  </div>
@@ -1,8 +1,9 @@
1
- import { SvelteComponent } from "svelte";
1
+ import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
4
  [x: string]: any;
5
- checked: boolean;
5
+ checked?: boolean | undefined;
6
+ name?: string | undefined;
6
7
  bg?: string | null | undefined;
7
8
  fg?: string | null | undefined;
8
9
  padding?: string | null | undefined;
@@ -12,24 +13,22 @@ declare const __propDef: {
12
13
  group?: any;
13
14
  };
14
15
  events: {
15
- change: Event;
16
16
  click: MouseEvent;
17
17
  blur: FocusEvent;
18
18
  focus: FocusEvent;
19
19
  focusin: FocusEvent;
20
20
  focusout: FocusEvent;
21
+ change: Event;
21
22
  } & {
22
23
  [evt: string]: CustomEvent<any>;
23
24
  };
24
25
  slots: {
25
26
  default: {};
26
27
  };
27
- exports?: undefined;
28
- bindings?: undefined;
29
28
  };
30
29
  export type CheckboxProps = typeof __propDef.props;
31
30
  export type CheckboxEvents = typeof __propDef.events;
32
31
  export type CheckboxSlots = typeof __propDef.slots;
33
- export default class Checkbox extends SvelteComponent<CheckboxProps, CheckboxEvents, CheckboxSlots> {
32
+ export default class Checkbox extends SvelteComponentTyped<CheckboxProps, CheckboxEvents, CheckboxSlots> {
34
33
  }
35
34
  export {};
@@ -1,4 +1,4 @@
1
- import { SvelteComponent } from "svelte";
1
+ import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
4
  [x: string]: any;
@@ -14,12 +14,10 @@ declare const __propDef: {
14
14
  [evt: string]: CustomEvent<any>;
15
15
  };
16
16
  slots: {};
17
- exports?: undefined;
18
- bindings?: undefined;
19
17
  };
20
18
  export type InputProps = typeof __propDef.props;
21
19
  export type InputEvents = typeof __propDef.events;
22
20
  export type InputSlots = typeof __propDef.slots;
23
- export default class Input extends SvelteComponent<InputProps, InputEvents, InputSlots> {
21
+ export default class Input extends SvelteComponentTyped<InputProps, InputEvents, InputSlots> {
24
22
  }
25
23
  export {};
@@ -64,7 +64,7 @@ button {
64
64
  font-family: var(--button-font);
65
65
  cursor: var(--mini-button-cursor, var(--button-cursor, var(--clickable-cursor, var(--cursor, pointer))));
66
66
  transition: filter, transform var(--mini-button-transition, var(--button-transition, var(--clickable-transition, var(--transition, 300ms))));
67
- box-shadow: var(--mini-button-shadow-distance, var(--button-shadow-distance, var(--control-shadow-distance, var(--shadow-distance, var(--space-md))))) var(--mini-button-shadow-distance, var(--button-shadow-distance, var(--control-shadow-distance, var(--shadow-distance, var(--space-md))))) 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)))));
67
+ box-shadow: 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)))));
68
68
  margin: var(--button-margin, var(--control-margin, var(--margin, var(--space))));
69
69
  width: var(--mini-button-size, var(--icon-size, 1em));
70
70
  height: var(--mini-button-size, var(--icon-size, 1em));