contain-css-svelte 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/Card.svelte +141 -39
  2. package/dist/Card.svelte.d.ts +2 -0
  3. package/dist/controls/Button.svelte +65 -17
  4. package/dist/controls/Button.svelte.d.ts +2 -0
  5. package/dist/controls/Checkbox.svelte +101 -42
  6. package/dist/controls/Checkbox.svelte.d.ts +10 -0
  7. package/dist/controls/Input.svelte +19 -10
  8. package/dist/controls/Input.svelte.d.ts +2 -0
  9. package/dist/controls/MiniButton.svelte +45 -23
  10. package/dist/controls/MiniButton.svelte.d.ts +2 -0
  11. package/dist/controls/RadioButton.svelte +75 -32
  12. package/dist/controls/RadioButton.svelte.d.ts +2 -0
  13. package/dist/controls/Select.svelte +89 -41
  14. package/dist/controls/Select.svelte.d.ts +2 -0
  15. package/dist/controls/Slider.svelte.d.ts +2 -0
  16. package/dist/controls/TabItem.svelte +20 -12
  17. package/dist/controls/TabItem.svelte.d.ts +2 -0
  18. package/dist/dropdowns/DropdownMenu.svelte +156 -108
  19. package/dist/dropdowns/DropdownMenu.svelte.d.ts +2 -0
  20. package/dist/index.d.ts +2 -0
  21. package/dist/index.js +2 -0
  22. package/dist/layout/Bar.svelte +17 -11
  23. package/dist/layout/Bar.svelte.d.ts +2 -0
  24. package/dist/layout/Column.svelte +3 -0
  25. package/dist/layout/Column.svelte.d.ts +2 -0
  26. package/dist/layout/Columns.svelte.d.ts +2 -0
  27. package/dist/layout/Container.svelte +98 -25
  28. package/dist/layout/Container.svelte.d.ts +2 -0
  29. package/dist/layout/FormItem.svelte +45 -17
  30. package/dist/layout/FormItem.svelte.d.ts +4 -0
  31. package/dist/layout/GridLayout.svelte.d.ts +2 -0
  32. package/dist/layout/Hero.svelte +95 -29
  33. package/dist/layout/Hero.svelte.d.ts +2 -0
  34. package/dist/layout/MenuList.svelte +50 -29
  35. package/dist/layout/MenuList.svelte.d.ts +2 -0
  36. package/dist/layout/Page.svelte +59 -40
  37. package/dist/layout/Page.svelte.d.ts +2 -0
  38. package/dist/layout/ResponsiveText.svelte +12 -12
  39. package/dist/layout/ResponsiveText.svelte.d.ts +2 -0
  40. package/dist/layout/Row.svelte +3 -0
  41. package/dist/layout/Row.svelte.d.ts +2 -0
  42. package/dist/layout/Sidebar.svelte +29 -11
  43. package/dist/layout/Sidebar.svelte.d.ts +2 -0
  44. package/dist/layout/SplitPane.svelte +57 -47
  45. package/dist/layout/SplitPane.svelte.d.ts +2 -0
  46. package/dist/layout/TabBar.svelte +16 -6
  47. package/dist/layout/TabBar.svelte.d.ts +2 -0
  48. package/dist/layout/Tile.svelte +152 -34
  49. package/dist/layout/Tile.svelte.d.ts +2 -0
  50. package/dist/misc/Code.svelte +218 -19
  51. package/dist/misc/Code.svelte.d.ts +4 -1
  52. package/dist/overlays/Dialog.svelte +86 -0
  53. package/dist/overlays/Dialog.svelte.d.ts +23 -0
  54. package/dist/overlays/Tooltip.svelte +265 -0
  55. package/dist/overlays/Tooltip.svelte.d.ts +23 -0
  56. package/dist/sass/_mixins.scss +146 -24
  57. package/dist/typography/TextLayout.svelte +139 -41
  58. package/dist/typography/TextLayout.svelte.d.ts +2 -0
  59. package/dist/util.d.ts +1 -0
  60. package/dist/util.js +12 -0
  61. package/dist/vars/boxy.css +3 -0
  62. package/dist/vars/code.css +7 -0
  63. package/dist/vars/colors.css +11 -2
  64. package/dist/vars/defaults.css +1 -0
  65. package/dist/vars/fancy-paragraphs.css +5 -0
  66. package/dist/vars/layout.css +2 -1
  67. package/dist/vars/responsive-typography.css +25 -0
  68. package/dist/vars/themes/bootstrap.css +74 -0
  69. package/dist/vars/themes/dark.css +36 -0
  70. package/dist/vars/themes/light.css +38 -0
  71. package/dist/vars/themes/lightordark.css +47 -3
  72. package/dist/vars/themes/purple.css +42 -8
  73. package/dist/vars/typography.css +9 -4
  74. package/package.json +29 -20
package/dist/Card.svelte CHANGED
@@ -7,16 +7,15 @@ export let padding = null;
7
7
  export let width = null;
8
8
  export let height = null;
9
9
  let cssVars = injectVars($$props, "card", [
10
- "bg",
11
- "fg",
12
- "padding",
13
- "width",
14
- "height"
10
+ "bg",
11
+ "fg",
12
+ "padding",
13
+ "width",
14
+ "height",
15
15
  ]);
16
- $:
17
- if (height) {
16
+ $: if (height) {
18
17
  fixedHeight = true;
19
- }
18
+ }
20
19
  let hasHeader = $$slots.header;
21
20
  let hasFooter = $$slots.footer;
22
21
  </script>
@@ -44,46 +43,119 @@ let hasFooter = $$slots.footer;
44
43
  --w: var(--card-width);
45
44
  --h: var(--card-height);
46
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))));
47
- background: var(--card-bg, var(--container-bg, var(--bg, white)));
48
- color: var(--card-fg, var(--container-fg, var(--fg, black)));
49
- font-family: var(--card-font-family, var(--container-font-family, var(--font-family, sans-serif)));
50
- text-transform: var(--card-text-transform, var(--container-text-transform, var(--text-transform, none)));
51
- text-decoration: var(--card-text-decoration, var(--container-text-decoration, var(--text-decoration, none)));
52
- font-size: var(--card-font-size, var(--container-font-size, var(--font-size, 16px)));
53
- font-weight: var(--card-font-weight, var(--container-font-weight, var(--font-weight, 400)));
54
- line-height: var(--card-line-height, var(--container-line-height, var(--line-height, 1.5)));
55
- letter-spacing: var(--card-letter-spacing, var(--container-letter-spacing, var(--letter-spacing, 0.05em)));
46
+ background: var(--card-bg, var(--container-bg, var(--container-bg, inherit)));
47
+ color: var(--card-fg, var(--container-fg, var(--container-fg, inherit)));
48
+ --link-bg: var(--card-link-bg, var(--container-link-bg, var(--container-link-bg, inherit)));
49
+ --link-fg: var(--card-link-fg, var(--container-link-fg, var(--container-link-fg, inherit)));
56
50
  border-radius: var(--card-border-radius, var(--container-border-radius, var(--border-radius, 0)));
57
51
  border: var(--card-border, var(--container-border, var(--border, var(--border-width) var(--border-style) var(--border-color))));
58
52
  display: flex;
59
53
  flex-direction: column;
60
54
  margin: var(--card-margin, var(--margin, 16px));
61
55
  }
62
- .card :global(p), .card :global(blockquote), .card :global(dl), .card :global(ul), .card :global(ol) {
56
+
57
+ .card section {
58
+ flex-grow: 1;
59
+ max-width: var(--card-line-width, var(--container-line-width, var(--line-width, unset)));
60
+ margin-left: auto;
61
+ margin-right: auto;
62
+ font-family: var(--card-body-font-family, var(--container-body-font-family, var(--body-font-family, var(--font-family))));
63
+ font-family: var(--card-font-family, var(--container-font-family, var(--font-family, inherit)));
64
+ text-transform: var(--card-text-transform, var(--container-text-transform, var(--text-transform, inherit)));
65
+ text-decoration: var(--card-text-decoration, var(--container-text-decoration, var(--text-decoration, inherit)));
66
+ font-size: var(--card-font-size, var(--container-font-size, var(--font-size, inherit)));
67
+ font-weight: var(--card-font-weight, var(--container-font-weight, var(--font-weight, inherit)));
68
+ line-height: var(--card-line-height, var(--container-line-height, var(--line-height, inherit)));
69
+ letter-spacing: var(--card-letter-spacing, var(--container-letter-spacing, var(--letter-spacing, inherit)));
70
+ margin-top: var(--card-margin, var(--container-margin, var(--margin, inherit)));
71
+ margin-top: var(--card-margin-top, var(--container-margin-top, var(--margin-top, inherit)));
72
+ margin-bottom: var(--card-margin, var(--container-margin, var(--margin, inherit)));
73
+ margin-bottom: var(--card-margin-bottom, var(--container-margin-bottom, var(--margin-bottom, inherit)));
74
+ text-indent: var(--card-indent, var(--container-indent, var(--indent, inherit)));
75
+ font-variant: var(--card-font-variant, var(--container-font-variant, var(--font-variant, inherit)));
76
+ text-align: var(--card-text-align, var(--container-text-align, var(--text-align, inherit)));
77
+ }
78
+ .card section :global(p), .card section :global(blockquote), .card section :global(dl), .card section :global(ul), .card section :global(ol) {
63
79
  max-width: var(--card-line-width, var(--container-line-width, var(--line-width, 40em)));
64
80
  font-family: var(--card-body-font-family, var(--container-body-font-family, var(--body-font-family, var(--font-family))));
65
81
  line-height: var(--card-line-height, var(--container-line-height, var(--line-height, 1.5)));
66
82
  margin-left: auto;
67
83
  margin-right: auto;
68
- font-weight: var(--card-body-font-weight, var(--container-body-font-weight, var(--body-font-weight, var(--normal))));
69
- }
70
- .card :global(h1),
71
- .card :global(h2),
72
- .card :global(h3),
73
- .card :global(h4),
74
- .card :global(h5),
75
- .card :global(h6) {
76
- max-width: var(--card-line-width, var(--container-line-width, var(--line-width, 40em)));
77
- font-family: var(--card-heading-font-family, var(--container-heading-font-family, var(--heading-font-family, var(--font-family))));
78
- line-height: var(--card-heading-line-height, var(--container-heading-line-height, var(--heading-line-height, var(--line-height))));
84
+ font-weight: var(--card-body-font-weight, var(--container-body-font-weight, var(--body-font-weight, inherit)));
85
+ }
86
+ .card section :global(h1),
87
+ .card section :global(h2),
88
+ .card section :global(h3),
89
+ .card section :global(h4),
90
+ .card section :global(h5),
91
+ .card section :global(h6) {
92
+ background: var(--heading-bg, var(--heading-bg, inherit));
93
+ color: var(--heading-fg, var(--heading-fg, inherit));
94
+ --link-bg: var(--heading-link-bg, var(--heading-link-bg, inherit));
95
+ --link-fg: var(--heading-link-fg, var(--heading-link-fg, inherit));
96
+ max-width: var(--card-line-width, var(--container-line-width, var(--line-width, unset)));
79
97
  margin-left: auto;
80
98
  margin-right: auto;
81
- color: var(--heading-color, card, container, var(--fg));
82
- font-weight: var(--heading-font-weight, card, container, var(--bold));
83
99
  }
84
- .card section {
85
- flex-grow: 1;
100
+ .card section :global(p) {
101
+ font-family: var(--card-paragraph-font-family, var(--container-paragraph-font-family, var(--paragraph-font-family, var(--paragraph-font-family, inherit))));
102
+ text-transform: var(--card-paragraph-text-transform, var(--container-paragraph-text-transform, var(--paragraph-text-transform, var(--paragraph-text-transform, inherit))));
103
+ text-decoration: var(--card-paragraph-text-decoration, var(--container-paragraph-text-decoration, var(--paragraph-text-decoration, var(--paragraph-text-decoration, inherit))));
104
+ font-size: var(--card-paragraph-font-size, var(--container-paragraph-font-size, var(--paragraph-font-size, var(--paragraph-font-size, inherit))));
105
+ font-weight: var(--card-paragraph-font-weight, var(--container-paragraph-font-weight, var(--paragraph-font-weight, var(--paragraph-font-weight, inherit))));
106
+ line-height: var(--card-paragraph-line-height, var(--container-paragraph-line-height, var(--paragraph-line-height, var(--paragraph-line-height, inherit))));
107
+ letter-spacing: var(--card-paragraph-letter-spacing, var(--container-paragraph-letter-spacing, var(--paragraph-letter-spacing, var(--paragraph-letter-spacing, inherit))));
108
+ text-indent: var(--card-paragraph-indent, var(--container-paragraph-indent, var(--paragraph-indent, var(--paragraph-indent, inherit))));
109
+ font-variant: var(--card-paragraph-font-variant, var(--container-paragraph-font-variant, var(--paragraph-font-variant, var(--paragraph-font-variant, inherit))));
110
+ text-align: var(--card-paragraph-text-align, var(--container-paragraph-text-align, var(--paragraph-text-align, var(--paragraph-text-align, inherit))));
86
111
  }
112
+ .card section :global(p:first-of-type),
113
+ .card section :global(h1 + p),
114
+ .card section :global(h2 + p),
115
+ .card section :global(h3 + p),
116
+ .card section :global(h4 + p),
117
+ .card section :global(h5 + p),
118
+ .card section :global(h6 + p) {
119
+ font-family: var(--card-first-paragraph-font-family, var(--container-first-paragraph-font-family, var(--first-paragraph-font-family, var(--first-paragraph-font-family, inherit))));
120
+ text-transform: var(--card-first-paragraph-text-transform, var(--container-first-paragraph-text-transform, var(--first-paragraph-text-transform, var(--first-paragraph-text-transform, inherit))));
121
+ text-decoration: var(--card-first-paragraph-text-decoration, var(--container-first-paragraph-text-decoration, var(--first-paragraph-text-decoration, var(--first-paragraph-text-decoration, inherit))));
122
+ font-size: var(--card-first-paragraph-font-size, var(--container-first-paragraph-font-size, var(--first-paragraph-font-size, var(--first-paragraph-font-size, inherit))));
123
+ font-weight: var(--card-first-paragraph-font-weight, var(--container-first-paragraph-font-weight, var(--first-paragraph-font-weight, var(--first-paragraph-font-weight, inherit))));
124
+ line-height: var(--card-first-paragraph-line-height, var(--container-first-paragraph-line-height, var(--first-paragraph-line-height, var(--first-paragraph-line-height, inherit))));
125
+ letter-spacing: var(--card-first-paragraph-letter-spacing, var(--container-first-paragraph-letter-spacing, var(--first-paragraph-letter-spacing, var(--first-paragraph-letter-spacing, inherit))));
126
+ text-indent: var(--card-first-paragraph-indent, var(--container-first-paragraph-indent, var(--first-paragraph-indent, var(--first-paragraph-indent, inherit))));
127
+ font-variant: var(--card-first-paragraph-font-variant, var(--container-first-paragraph-font-variant, var(--first-paragraph-font-variant, var(--first-paragraph-font-variant, inherit))));
128
+ text-align: var(--card-first-paragraph-text-align, var(--container-first-paragraph-text-align, var(--first-paragraph-text-align, var(--first-paragraph-text-align, inherit))));
129
+ }
130
+ .card section :global(p:first-of-type::first-line) {
131
+ font-family: var(--card-first-line-font-family, var(--container-first-line-font-family, var(--first-line-font-family, var(--first-line-font-family, inherit))));
132
+ text-transform: var(--card-first-line-text-transform, var(--container-first-line-text-transform, var(--first-line-text-transform, var(--first-line-text-transform, inherit))));
133
+ text-decoration: var(--card-first-line-text-decoration, var(--container-first-line-text-decoration, var(--first-line-text-decoration, var(--first-line-text-decoration, inherit))));
134
+ font-size: var(--card-first-line-font-size, var(--container-first-line-font-size, var(--first-line-font-size, var(--first-line-font-size, inherit))));
135
+ font-weight: var(--card-first-line-font-weight, var(--container-first-line-font-weight, var(--first-line-font-weight, var(--first-line-font-weight, inherit))));
136
+ line-height: var(--card-first-line-line-height, var(--container-first-line-line-height, var(--first-line-line-height, var(--first-line-line-height, inherit))));
137
+ letter-spacing: var(--card-first-line-letter-spacing, var(--container-first-line-letter-spacing, var(--first-line-letter-spacing, var(--first-line-letter-spacing, inherit))));
138
+ text-indent: var(--card-first-line-indent, var(--container-first-line-indent, var(--first-line-indent, var(--first-line-indent, inherit))));
139
+ font-variant: var(--card-first-line-font-variant, var(--container-first-line-font-variant, var(--first-line-font-variant, var(--first-line-font-variant, inherit))));
140
+ text-align: var(--card-first-line-text-align, var(--container-first-line-text-align, var(--first-line-text-align, var(--first-line-text-align, inherit))));
141
+ }
142
+ .card section :global(p:first-of-type::first-letter) {
143
+ font-family: var(--card-first-letter-font-family, var(--container-first-letter-font-family, var(--container-first-letter-font-family, inherit)));
144
+ text-transform: var(--card-first-letter-text-transform, var(--container-first-letter-text-transform, var(--container-first-letter-text-transform, inherit)));
145
+ text-decoration: var(--card-first-letter-text-decoration, var(--container-first-letter-text-decoration, var(--container-first-letter-text-decoration, inherit)));
146
+ font-size: var(--card-first-letter-font-size, var(--container-first-letter-font-size, var(--container-first-letter-font-size, inherit)));
147
+ font-weight: var(--card-first-letter-font-weight, var(--container-first-letter-font-weight, var(--container-first-letter-font-weight, inherit)));
148
+ line-height: var(--card-first-letter-line-height, var(--container-first-letter-line-height, var(--container-first-letter-line-height, inherit)));
149
+ letter-spacing: var(--card-first-letter-letter-spacing, var(--container-first-letter-letter-spacing, var(--container-first-letter-letter-spacing, inherit)));
150
+ text-indent: var(--card-first-letter-indent, var(--container-first-letter-indent, var(--container-first-letter-indent, inherit)));
151
+ font-variant: var(--card-first-letter-font-variant, var(--container-first-letter-font-variant, var(--container-first-letter-font-variant, inherit)));
152
+ text-align: var(--card-first-letter-text-align, var(--container-first-letter-text-align, var(--container-first-letter-text-align, inherit)));
153
+ background: var(--first-letter-bg, var(--first-line-bg, var(--first-line-bg, inherit)));
154
+ color: var(--first-letter-fg, var(--first-line-fg, var(--first-line-fg, inherit)));
155
+ --link-bg: var(--first-letter-link-bg, var(--first-line-link-bg, var(--first-line-link-bg, inherit)));
156
+ --link-fg: var(--first-letter-link-fg, var(--first-line-link-fg, var(--first-line-link-fg, inherit)));
157
+ }
158
+
87
159
  @container (max-width: 600px) {
88
160
  .card {
89
161
  --w: var(--card-width-small);
@@ -101,15 +173,18 @@ let hasFooter = $$slots.footer;
101
173
  display: grid;
102
174
  place-content: center;
103
175
  }
176
+
104
177
  .card {
105
178
  overflow-x: hidden;
106
179
  container-type: inline-size;
107
180
  width: var(--w);
108
181
  }
182
+
109
183
  .card section {
110
184
  line-height: var(--line-height);
111
185
  max-width: var(--line-width);
112
186
  }
187
+
113
188
  .card.fixedHeight {
114
189
  height: var(--h);
115
190
  container-type: size;
@@ -131,6 +206,7 @@ let hasFooter = $$slots.footer;
131
206
  .card.fixedHeight::-webkit-scrollbar-thumb:hover {
132
207
  background: var(--card-scrollbar-thumb-hover-bg, var(--container-scrollbar-thumb-hover-bg, var(--scrollbar-thumb-hover-bg, var(--secondary-bg))));
133
208
  }
209
+
134
210
  header,
135
211
  section {
136
212
  padding: var(--padding);
@@ -138,12 +214,15 @@ section {
138
214
  border-top-left-radius: var(--border-radius);
139
215
  border-bottom: var(--card-header-border);
140
216
  }
217
+
141
218
  header {
142
- background: var(--card-header-bg, var(--secondary-bg, var(--bg, white)));
143
- color: var(--card-header-fg, var(--secondary-fg, var(--fg, black)));
219
+ background: var(--card-header-bg, var(--secondary-bg, var(--secondary-bg, inherit)));
220
+ color: var(--card-header-fg, var(--secondary-fg, var(--secondary-fg, inherit)));
221
+ --link-bg: var(--card-header-link-bg, var(--secondary-link-bg, var(--secondary-link-bg, inherit)));
222
+ --link-fg: var(--card-header-link-fg, var(--secondary-link-fg, var(--secondary-link-fg, inherit)));
144
223
  box-sizing: border-box;
145
224
  padding: var(--card-header-padding, var(--bar-padding, var(--padding, 4px)));
146
- border: var(--card-header-border, var(--bar-border, var(--border, none)));
225
+ border: var(--card-header-border, var(--bar-border, var(--border, inherit)));
147
226
  border-top: var(--card-header-border-top, var(--bar-border-top, var(--border-top, var(--card-header-border, var(--bar-border, var(--border, none))))));
148
227
  border-right: var(--card-header-border-right, var(--bar-border-right, var(--border-right, var(--card-header-border, var(--bar-border, var(--border, none))))));
149
228
  border-bottom: var(--card-header-border-bottom, var(--bar-border-bottom, var(--border-bottom, var(--card-header-border, var(--bar-border, var(--border, none))))));
@@ -154,12 +233,34 @@ header {
154
233
  align-items: center;
155
234
  height: var(--card-header-height, var(--bar-height, var(--height, 2em)));
156
235
  }
236
+
237
+ header :global(h1),
238
+ header :global(h2),
239
+ header :global(h3),
240
+ header :global(h4),
241
+ header :global(h5),
242
+ header :global(h6),
243
+ footer :global(h1),
244
+ footer :global(h2),
245
+ footer :global(h3),
246
+ footer :global(h4),
247
+ footer :global(h5),
248
+ footer :global(h6) {
249
+ margin: 0;
250
+ background: var(--card-header-bg, var(--secondary-bg, var(--secondary-bg, inherit)));
251
+ color: var(--card-header-fg, var(--secondary-fg, var(--secondary-fg, inherit)));
252
+ --link-bg: var(--card-header-link-bg, var(--secondary-link-bg, var(--secondary-link-bg, inherit)));
253
+ --link-fg: var(--card-header-link-fg, var(--secondary-link-fg, var(--secondary-link-fg, inherit)));
254
+ }
255
+
157
256
  footer {
158
- background: var(--card-footer-bg, var(--secondary-bg, var(--bg, white)));
159
- color: var(--card-footer-fg, var(--secondary-fg, var(--fg, black)));
257
+ background: var(--card-footer-bg, var(--secondary-bg, var(--secondary-bg, inherit)));
258
+ color: var(--card-footer-fg, var(--secondary-fg, var(--secondary-fg, inherit)));
259
+ --link-bg: var(--card-footer-link-bg, var(--secondary-link-bg, var(--secondary-link-bg, inherit)));
260
+ --link-fg: var(--card-footer-link-fg, var(--secondary-link-fg, var(--secondary-link-fg, inherit)));
160
261
  box-sizing: border-box;
161
262
  padding: var(--card-footer-padding, var(--bar-padding, var(--padding, 4px)));
162
- border: var(--card-footer-border, var(--bar-border, var(--border, none)));
263
+ border: var(--card-footer-border, var(--bar-border, var(--border, inherit)));
163
264
  border-top: var(--card-footer-border-top, var(--bar-border-top, var(--border-top, var(--card-footer-border, var(--bar-border, var(--border, none))))));
164
265
  border-right: var(--card-footer-border-right, var(--bar-border-right, var(--border-right, var(--card-footer-border, var(--bar-border, var(--border, none))))));
165
266
  border-bottom: var(--card-footer-border-bottom, var(--bar-border-bottom, var(--border-bottom, var(--card-footer-border, var(--bar-border, var(--border, none))))));
@@ -168,6 +269,7 @@ footer {
168
269
  border-bottom-left-radius: var(--card-footer-border-radius, var(--border-radius, bar));
169
270
  height: var(--card-header-height, var(--bar-height, var(--height, 2em)));
170
271
  }
272
+
171
273
  .hide {
172
274
  display: none;
173
275
  }</style>
@@ -18,6 +18,8 @@ declare const __propDef: {
18
18
  default: {};
19
19
  footer: {};
20
20
  };
21
+ exports?: undefined;
22
+ bindings?: undefined;
21
23
  };
22
24
  export type CardProps = typeof __propDef.props;
23
25
  export type CardEvents = typeof __propDef.events;
@@ -8,11 +8,11 @@ export let padding = null;
8
8
  export let width = null;
9
9
  export let height = null;
10
10
  let cssVars = injectVars($$props, "button", [
11
- "bg",
12
- "fg",
13
- "padding",
14
- "width",
15
- "height"
11
+ "bg",
12
+ "fg",
13
+ "padding",
14
+ "width",
15
+ "height",
16
16
  ]);
17
17
  </script>
18
18
 
@@ -36,39 +36,87 @@ let cssVars = injectVars($$props, "button", [
36
36
  */
37
37
  button.has-icon {
38
38
  display: flex;
39
- gap: var(--space);
39
+ gap: var(--button-icon-gap, var(--space));
40
40
  }
41
+
41
42
  button {
42
43
  width: var(--button-width);
43
44
  height: var(--button-height);
44
45
  box-sizing: border-box;
45
46
  padding: var(--button-padding, var(--control-padding, var(--secondary-padding, var(--padding, 4px))));
46
- border: var(--button-border, var(--control-border, var(--secondary-border, var(--border, none))));
47
+ border: var(--button-border, var(--control-border, var(--secondary-border, var(--border, inherit))));
47
48
  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))))))));
48
49
  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))))))));
49
50
  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))))))));
50
51
  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))))))));
51
52
  border-radius: var(--button-border-radius, var(--control-border-radius, var(--secondary-border-radius, var(--border-radius, none))));
52
- background: var(--button-bg, var(--control-bg, var(--secondary-bg, var(--bg, white))));
53
- color: var(--button-fg, var(--control-fg, var(--secondary-fg, var(--fg, black))));
54
- font-family: var(--button-font);
55
- cursor: pointer;
56
- transition: filter, transform var(--button-transition, var(--control-transition, var(--transition, 300ms)));
53
+ border: var(--button-border, var(--border, inherit));
54
+ border-top: var(--button-border-top, var(--border-top, var(--button-border, var(--border, none))));
55
+ border-right: var(--button-border-right, var(--border-right, var(--button-border, var(--border, none))));
56
+ border-bottom: var(--button-border-bottom, var(--border-bottom, var(--button-border, var(--border, none))));
57
+ border-left: var(--button-border-left, var(--border-left, var(--button-border, var(--border, none))));
58
+ background: var(--button-bg, var(--control-bg, var(--secondary-bg, var(--secondary-bg, inherit))));
59
+ color: var(--button-fg, var(--control-fg, var(--secondary-fg, var(--secondary-fg, inherit))));
60
+ --link-bg: var(--button-link-bg, var(--control-link-bg, var(--secondary-link-bg, var(--secondary-link-bg, inherit))));
61
+ --link-fg: var(--button-link-fg, var(--control-link-fg, var(--secondary-link-fg, var(--secondary-link-fg, inherit))));
62
+ 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))));
63
+ font-family: var(--button-font-family, var(--control-font-family, var(--control-font-family, inherit)));
64
+ text-transform: var(--button-text-transform, var(--control-text-transform, var(--control-text-transform, inherit)));
65
+ text-decoration: var(--button-text-decoration, var(--control-text-decoration, var(--control-text-decoration, inherit)));
66
+ font-size: var(--button-font-size, var(--control-font-size, var(--control-font-size, inherit)));
67
+ font-weight: var(--button-font-weight, var(--control-font-weight, var(--control-font-weight, inherit)));
68
+ line-height: var(--button-line-height, var(--control-line-height, var(--control-line-height, inherit)));
69
+ letter-spacing: var(--button-letter-spacing, var(--control-letter-spacing, var(--control-letter-spacing, inherit)));
70
+ text-indent: var(--button-indent, var(--control-indent, var(--control-indent, inherit)));
71
+ font-variant: var(--button-font-variant, var(--control-font-variant, var(--control-font-variant, inherit)));
72
+ text-align: var(--button-text-align, var(--control-text-align, var(--control-text-align, inherit)));
73
+ cursor: var(--button-cursor, var(--clickable-cursor, var(--cursor, pointer)));
74
+ transition: filter, transform var(--button-transition, var(--clickable-transition, var(--transition, 300ms)));
57
75
  margin: var(--button-margin, var(--control-margin, var(--margin, var(--space))));
58
76
  }
59
77
  button:hover {
60
- filter: var(--button-hover-filter, var(--clickable-hover-filter, var(--hover-filter, brightness(1.1))));
78
+ filter: var(--button-hover-filter, var(--clickable-hover-filter, var(--hover-filter, brightness(1.4))));
61
79
  transform: var(--button-hover-transform, var(--clickable-hover-transform, var(--hover-transform, none)));
80
+ background-color: var(--button-hover-bg, var(--clickable-hover-bg, var(--hover-bg, inherit)));
81
+ color: var(--button-hover-fg, var(--clickable-hover-fg, var(--hover-fg, inherit)));
62
82
  }
63
83
  button:active {
64
84
  filter: var(--button-hover-filter, var(--clickable-hover-filter, var(--hover-filter, brightness(0.9))));
65
85
  transform: var(--button-hover-transform, var(--clickable-hover-transform, var(--hover-transform, translate(var(--space), var(--space)))));
86
+ background-color: var(--active-bg, button, clickable, inherit);
87
+ color: var(--active-fg, button, clickable, inherit);
66
88
  }
89
+
67
90
  button.primary {
68
- background: var(--primary-bg, var(--button-bg, var(--control-bg, var(--bg, white))));
69
- color: var(--primary-fg, var(--button-fg, var(--control-fg, var(--fg, black))));
91
+ background: var(--primary-bg, var(--button-bg, var(--control-bg, var(--control-bg, inherit))));
92
+ color: var(--primary-fg, var(--button-fg, var(--control-fg, var(--control-fg, inherit))));
93
+ --link-bg: var(--primary-link-bg, var(--button-link-bg, var(--control-link-bg, var(--control-link-bg, inherit))));
94
+ --link-fg: var(--primary-link-fg, var(--button-link-fg, var(--control-link-fg, var(--control-link-fg, inherit))));
95
+ font-family: var(--primary-font-family, var(--button-font-family, var(--button-font-family, inherit)));
96
+ text-transform: var(--primary-text-transform, var(--button-text-transform, var(--button-text-transform, inherit)));
97
+ text-decoration: var(--primary-text-decoration, var(--button-text-decoration, var(--button-text-decoration, inherit)));
98
+ font-size: var(--primary-font-size, var(--button-font-size, var(--button-font-size, inherit)));
99
+ font-weight: var(--primary-font-weight, var(--button-font-weight, var(--button-font-weight, inherit)));
100
+ line-height: var(--primary-line-height, var(--button-line-height, var(--button-line-height, inherit)));
101
+ letter-spacing: var(--primary-letter-spacing, var(--button-letter-spacing, var(--button-letter-spacing, inherit)));
102
+ text-indent: var(--primary-indent, var(--button-indent, var(--button-indent, inherit)));
103
+ font-variant: var(--primary-font-variant, var(--button-font-variant, var(--button-font-variant, inherit)));
104
+ text-align: var(--primary-text-align, var(--button-text-align, var(--button-text-align, inherit)));
70
105
  }
106
+
71
107
  button.warning {
72
- background: var(--warning-bg, var(--button-bg, var(--control-bg, var(--bg, white))));
73
- color: var(--warning-fg, var(--button-fg, var(--control-fg, var(--fg, black))));
108
+ background: var(--warning-bg, var(--button-bg, var(--control-bg, var(--control-bg, inherit))));
109
+ color: var(--warning-fg, var(--button-fg, var(--control-fg, var(--control-fg, inherit))));
110
+ --link-bg: var(--warning-link-bg, var(--button-link-bg, var(--control-link-bg, var(--control-link-bg, inherit))));
111
+ --link-fg: var(--warning-link-fg, var(--button-link-fg, var(--control-link-fg, var(--control-link-fg, inherit))));
112
+ font-family: var(--warning-font-family, var(--button-font-family, var(--button-font-family, inherit)));
113
+ text-transform: var(--warning-text-transform, var(--button-text-transform, var(--button-text-transform, inherit)));
114
+ text-decoration: var(--warning-text-decoration, var(--button-text-decoration, var(--button-text-decoration, inherit)));
115
+ font-size: var(--warning-font-size, var(--button-font-size, var(--button-font-size, inherit)));
116
+ font-weight: var(--warning-font-weight, var(--button-font-weight, var(--button-font-weight, inherit)));
117
+ line-height: var(--warning-line-height, var(--button-line-height, var(--button-line-height, inherit)));
118
+ letter-spacing: var(--warning-letter-spacing, var(--button-letter-spacing, var(--button-letter-spacing, inherit)));
119
+ text-indent: var(--warning-indent, var(--button-indent, var(--button-indent, inherit)));
120
+ font-variant: var(--warning-font-variant, var(--button-font-variant, var(--button-font-variant, inherit)));
121
+ text-align: var(--warning-text-align, var(--button-text-align, var(--button-text-align, inherit)));
74
122
  }</style>
@@ -19,6 +19,8 @@ declare const __propDef: {
19
19
  default: {};
20
20
  icon: {};
21
21
  };
22
+ exports?: undefined;
23
+ bindings?: undefined;
22
24
  };
23
25
  export type ButtonProps = typeof __propDef.props;
24
26
  export type ButtonEvents = typeof __propDef.events;
@@ -1,21 +1,39 @@
1
1
  <script>export let checked;
2
+ export let value;
3
+ export let group;
4
+ /* Styling properties */
5
+ import { injectVars } from "../util";
6
+ export let bg = null;
7
+ export let fg = null;
8
+ export let padding = null;
9
+ export let width = null;
10
+ export let height = null;
11
+ let style = injectVars($$props, "checkbox", [
12
+ "bg",
13
+ "fg",
14
+ "padding",
15
+ "width",
16
+ "height",
17
+ ]);
2
18
  let ref;
3
19
  let labelContent;
4
- let labelWidth;
5
20
  $: {
6
- if (ref) {
7
- labelContent = ref.innerHTML;
8
- }
21
+ if (ref) {
22
+ labelContent = ref.innerHTML;
23
+ }
9
24
  }
10
25
  </script>
11
26
 
12
- <label>
13
- <input type="checkbox" bind:checked />
14
- <span style:--label-width="{labelWidth + 4}px" bind:this={ref}><slot /></span>
15
- </label>
16
- <!-- Off-screen span for measuring -->
17
- <span class="offscreen" bind:clientWidth={labelWidth}>{@html labelContent}</span
18
- >
27
+ <div class="label-sizing-box">
28
+ <label class="checkbox-item">
29
+ <input type="checkbox" bind:checked />
30
+ <span bind:this={ref}><slot /></span>
31
+ </label>
32
+ <label class="invisible">
33
+ <input type="checkbox" checked="true" />
34
+ <span>{@html labelContent}</span>
35
+ </label>
36
+ </div>
19
37
 
20
38
  <style>@charset "UTF-8";
21
39
  /* Convenience groupings */
@@ -25,73 +43,113 @@ $: {
25
43
  Put min-width queries *after* max-width queries so that smaller
26
44
  container queries don't get their styles overridden by large media queries.
27
45
  */
46
+ .label-sizing-box {
47
+ position: relative;
48
+ display: inline-block;
49
+ }
50
+
51
+ .label-sizing-box .checkbox-item {
52
+ position: absolute;
53
+ left: 0;
54
+ }
55
+
56
+ .label-sizing-box .invisible {
57
+ position: static;
58
+ pointer-events: none;
59
+ visibility: hidden;
60
+ }
61
+
28
62
  :root {
29
- /* --checkbox-size: var(--font-size);
30
- --checkbox-bg: var(--inactive-bg);
31
- --checkbox-fg: var(--inactive-fg);
32
- --checkbox-checked-bg: var(--primary-bg);
33
- --checkbox-checked-fg: var(--primary-fg);
34
- --checkbox-border: 1px solid var(--white);
35
- --checkbox-checked-border: 1px solid var(--white);
36
- --checkbox-check: "✓"; */
63
+ /* Customize these variables for checkbox styling */
64
+ --checkbox-check: "✓";
37
65
  }
66
+
38
67
  .offscreen,
39
68
  label {
40
- font-family: var(--checkbox-font-family, var(--ui-font-family, var(--font-family, sans-serif)));
41
- text-transform: var(--checkbox-text-transform, var(--ui-text-transform, var(--text-transform, none)));
42
- text-decoration: var(--checkbox-text-decoration, var(--ui-text-decoration, var(--text-decoration, none)));
43
- font-size: var(--checkbox-font-size, var(--ui-font-size, var(--font-size, 16px)));
44
- font-weight: var(--checkbox-font-weight, var(--ui-font-weight, var(--font-weight, 400)));
45
- line-height: var(--checkbox-line-height, var(--ui-line-height, var(--line-height, 1.5)));
46
- letter-spacing: var(--checkbox-letter-spacing, var(--ui-letter-spacing, var(--letter-spacing, 0.05em)));
69
+ font-family: var(--checkbox-font-family, var(--ui-font-family, var(--font-family, inherit)));
70
+ text-transform: var(--checkbox-text-transform, var(--ui-text-transform, var(--text-transform, inherit)));
71
+ text-decoration: var(--checkbox-text-decoration, var(--ui-text-decoration, var(--text-decoration, inherit)));
72
+ font-size: var(--checkbox-font-size, var(--ui-font-size, var(--font-size, inherit)));
73
+ font-weight: var(--checkbox-font-weight, var(--ui-font-weight, var(--font-weight, inherit)));
74
+ line-height: var(--checkbox-line-height, var(--ui-line-height, var(--line-height, inherit)));
75
+ letter-spacing: var(--checkbox-letter-spacing, var(--ui-letter-spacing, var(--letter-spacing, inherit)));
76
+ margin-top: var(--checkbox-margin, var(--ui-margin, var(--margin, inherit)));
77
+ margin-top: var(--checkbox-margin-top, var(--ui-margin-top, var(--margin-top, inherit)));
78
+ margin-bottom: var(--checkbox-margin, var(--ui-margin, var(--margin, inherit)));
79
+ margin-bottom: var(--checkbox-margin-bottom, var(--ui-margin-bottom, var(--margin-bottom, inherit)));
80
+ text-indent: var(--checkbox-indent, var(--ui-indent, var(--indent, inherit)));
81
+ font-variant: var(--checkbox-font-variant, var(--ui-font-variant, var(--font-variant, inherit)));
82
+ text-align: var(--checkbox-text-align, var(--ui-text-align, var(--text-align, inherit)));
47
83
  }
84
+
85
+ label {
86
+ margin-left: var(--checkbox-padding, var(--padding));
87
+ }
88
+
48
89
  .offscreen {
49
- visibility: hidden;
90
+ visibility: visible;
50
91
  font-weight: var(--checkbox-checked-weight, var(--checked-weight, var(--weight, active)));
51
92
  position: absolute;
52
93
  }
94
+
53
95
  label {
54
96
  display: inline-flex;
55
97
  align-items: center;
56
98
  box-sizing: border-box;
57
- line-height: 1.2;
58
- position: relative;
59
99
  user-select: none;
60
- gap: var(--radio-button-space, var(--toggle-space, var(--space-md)));
100
+ gap: var(--checkbox-space, var(--toggle-space, var(--space-md)));
101
+ cursor: var(--checkbox-cursor, var(--clickable-cursor, var(--cursor, pointer)));
102
+ transition: filter, transform var(--checkbox-transition, var(--clickable-transition, var(--transition, 300ms)));
61
103
  }
62
104
  label:hover {
63
- filter: var(--checkbox-hover-filter);
64
- transform: var(--checkbox-hover-transform);
105
+ filter: var(--checkbox-hover-filter, var(--clickable-hover-filter, var(--hover-filter, brightness(1.4))));
106
+ transform: var(--checkbox-hover-transform, var(--clickable-hover-transform, var(--hover-transform, none)));
107
+ background-color: var(--checkbox-hover-bg, var(--clickable-hover-bg, var(--hover-bg, inherit)));
108
+ color: var(--checkbox-hover-fg, var(--clickable-hover-fg, var(--hover-fg, inherit)));
65
109
  }
66
- label:has(:global(*:active)) {
67
- filter: var(--checkbox-active-filter, var(--active-filter, control));
68
- transform: var(--checkbox-active-transform, var(--active-transform, control));
110
+ label:active {
111
+ filter: var(--checkbox-hover-filter, var(--clickable-hover-filter, var(--hover-filter, brightness(0.9))));
112
+ transform: var(--checkbox-hover-transform, var(--clickable-hover-transform, var(--hover-transform, translate(var(--space), var(--space)))));
113
+ background-color: var(--active-bg, checkbox, clickable, inherit);
114
+ color: var(--active-fg, checkbox, clickable, inherit);
69
115
  }
116
+
70
117
  label span {
71
118
  width: var(--label-width);
72
119
  }
120
+
73
121
  label:has(input:checked) {
74
122
  font-weight: var(--checkbox-checked-weight, var(--checked-weight, var(--weight, active)));
75
123
  }
76
- input {
124
+
125
+ input[type=checkbox] {
77
126
  display: none;
78
127
  }
128
+
79
129
  label::before {
80
130
  transition: all var(--checkbox-transition, var(--transition, control));
81
131
  display: inline-grid;
82
132
  place-content: center;
83
133
  content: " ";
84
- width: var(--checkbox-size, var(--toggle-size, var(--font-size, var(--size, 1em))));
85
- height: var(--checkbox-size, var(--toggle-size, var(--font-size, var(--size, 1em))));
86
- background: var(--checkbox-bg, var(--toggle-bg, var(--inactive-bg, var(--secondary-bg, var(--bg, white)))));
87
- color: var(--checkbox-fg, var(--toggle-fg, var(--inactive-fg, var(--secondary-fg, var(--fg, black)))));
134
+ width: var(--checkbox-size, var(--font-size, var(--size, 1em)));
135
+ height: var(--checkbox-size, var(--font-size, var(--size, 1em)));
136
+ background: var(--checkbox-bg, var(--toggle-bg, var(--inactive-bg, var(--secondary-bg, var(--secondary-bg, inherit)))));
137
+ color: var(--checkbox-fg, var(--toggle-fg, var(--inactive-fg, var(--secondary-fg, var(--secondary-fg, inherit)))));
138
+ --link-bg: var(--checkbox-link-bg, var(--toggle-link-bg, var(--inactive-link-bg, var(--secondary-link-bg, var(--secondary-link-bg, inherit)))));
139
+ --link-fg: var(--checkbox-link-fg, var(--toggle-link-fg, var(--inactive-link-fg, var(--secondary-link-fg, var(--secondary-link-fg, inherit)))));
88
140
  border: var(--checkbox-border, var(--border, 1px solid var(--border-color)));
89
141
  box-sizing: border-box;
90
142
  }
143
+
91
144
  label:has(input:checked)::before {
92
- background: var(--checkbox-checked-bg, var(--toggle-on-bg, var(--primary-bg, var(--checkbox-bg, var(--bg, white)))));
93
- color: var(--checkbox-checked-fg, var(--toggle-on-fg, var(--primary-fg, var(--checkbox-fg, var(--fg, black)))));
145
+ background: var(--checkbox-checked-bg, var(--toggle-on-bg, var(--primary-bg, var(--checkbox-bg, var(--checkbox-bg, inherit)))));
146
+ color: var(--checkbox-checked-fg, var(--toggle-on-fg, var(--primary-fg, var(--checkbox-fg, var(--checkbox-fg, inherit)))));
147
+ --link-bg: var(--checkbox-checked-link-bg, var(--toggle-on-link-bg, var(--primary-link-bg, var(--checkbox-link-bg, var(--checkbox-link-bg, inherit)))));
148
+ --link-fg: var(--checkbox-checked-link-fg, var(--toggle-on-link-fg, var(--primary-link-fg, var(--checkbox-link-fg, var(--checkbox-link-fg, inherit)))));
149
+ border: var(--checkbox-checked-border, var(--toggle-on-border, var(--border, checkbox)));
150
+ box-sizing: border-box;
94
151
  }
152
+
95
153
  label:has(input:checked)::after {
96
154
  content: var(--checkbox-check, "✓");
97
155
  font-size: var(--checkbox-size, var(--toggle-size, var(--font-size, var(--size, 1em))));
@@ -100,6 +158,7 @@ label:has(input:checked)::after {
100
158
  left: 0;
101
159
  animation: checkbox-check var(--checkbox-transition) ease-in-out;
102
160
  }
161
+
103
162
  @keyframes checkbox-check {
104
163
  0% {
105
164
  width: 0;
@@ -1,7 +1,15 @@
1
1
  import { SvelteComponent } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
+ [x: string]: any;
4
5
  checked: boolean;
6
+ value: any;
7
+ group: string;
8
+ bg?: string | null | undefined;
9
+ fg?: string | null | undefined;
10
+ padding?: string | null | undefined;
11
+ width?: string | null | undefined;
12
+ height?: string | null | undefined;
5
13
  };
6
14
  events: {
7
15
  [evt: string]: CustomEvent<any>;
@@ -9,6 +17,8 @@ declare const __propDef: {
9
17
  slots: {
10
18
  default: {};
11
19
  };
20
+ exports?: undefined;
21
+ bindings?: undefined;
12
22
  };
13
23
  export type CheckboxProps = typeof __propDef.props;
14
24
  export type CheckboxEvents = typeof __propDef.events;