contain-css-svelte 0.0.13 → 0.0.15

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 (50) hide show
  1. package/dist/Card.svelte +46 -26
  2. package/dist/controls/Button.svelte +7 -2
  3. package/dist/controls/Checkbox.svelte +6 -1
  4. package/dist/controls/Input.svelte +2 -2
  5. package/dist/controls/MiniButton.svelte +11 -2
  6. package/dist/controls/RadioButton.svelte +11 -5
  7. package/dist/controls/Select.svelte +46 -30
  8. package/dist/controls/TabItem.svelte +2 -2
  9. package/dist/cssprops.js +0 -1
  10. package/dist/dropdowns/DropdownMenu.svelte +20 -17
  11. package/dist/index.d.ts +7 -1
  12. package/dist/index.js +7 -1
  13. package/dist/layout/Accordion.svelte +199 -0
  14. package/dist/layout/Accordion.svelte.d.ts +20 -0
  15. package/dist/layout/Bar.svelte +2 -2
  16. package/dist/layout/Column.svelte +3 -3
  17. package/dist/layout/Columns.svelte +2 -2
  18. package/dist/layout/Container.svelte +46 -26
  19. package/dist/layout/FormItem.svelte +2 -2
  20. package/dist/layout/GridLayout.svelte +2 -2
  21. package/dist/layout/Hero.svelte +46 -26
  22. package/dist/layout/MenuList.svelte +8 -2
  23. package/dist/layout/Page.svelte +2 -2
  24. package/dist/layout/Row.svelte +2 -2
  25. package/dist/layout/Sidebar.svelte +6 -1
  26. package/dist/layout/SplitPane.svelte +2 -2
  27. package/dist/layout/TabBar.svelte +2 -2
  28. package/dist/layout/Table.svelte +217 -0
  29. package/dist/layout/Table.svelte.d.ts +29 -0
  30. package/dist/layout/Tile.svelte +59 -33
  31. package/dist/misc/CodeInner.svelte +2 -109
  32. package/dist/misc/Progress.svelte +288 -0
  33. package/dist/misc/Progress.svelte.d.ts +28 -0
  34. package/dist/overlays/Dialog.svelte +2 -2
  35. package/dist/overlays/Tooltip.svelte +54 -34
  36. package/dist/sass/_affordances.scss +51 -0
  37. package/dist/sass/_box.scss +112 -0
  38. package/dist/sass/_color.scss +8 -0
  39. package/dist/sass/_functions.scss +113 -0
  40. package/dist/sass/_mixins.scss +6 -418
  41. package/dist/sass/_responsive.scss +75 -0
  42. package/dist/sass/_typography.scss +129 -0
  43. package/dist/typography/TextLayout.svelte +46 -26
  44. package/dist/vars/affordances.css +6 -1
  45. package/dist/vars/colors.css +1 -0
  46. package/dist/vars/defaults.css +7 -1
  47. package/dist/vars/themes/typography-airy.css +1 -1
  48. package/dist/vars/themes/typography-browser.css +1 -1
  49. package/dist/vars/themes/typography-carbon.css +1 -1
  50. package/package.json +3 -3
@@ -0,0 +1,288 @@
1
+ <script>import { injectVars } from "../util";
2
+ // States for styling variations
3
+ export let state = "inprogress";
4
+ // Accept either a numeric value (0..max) or 'indeterminate'
5
+ export let value = 0;
6
+ export let max = 100;
7
+ // Additional style props -> CSS variables
8
+ export let bg = null;
9
+ export let fg = null;
10
+ export let padding = null;
11
+ export let width = null;
12
+ export let height = null;
13
+ // Turn these props into --progress-bg, --progress-fg, etc.
14
+ let style = injectVars($$props, "progress", ["bg", "fg", "padding", "width", "height"]);
15
+ /**
16
+ * 1) Compute fraction = (value / max) if numeric.
17
+ * If 'indeterminate', use 1.
18
+ * Also clamp to [0..1] so you don't exceed 100%.
19
+ */
20
+ $: fillFraction =
21
+ value === "indeterminate"
22
+ ? 1
23
+ : max <= 0
24
+ ? 0
25
+ : Math.min(Math.max(value, 0), max) / max;
26
+ /**
27
+ * 2) The track animates stripes if we are not complete.
28
+ */
29
+ $: animateTrack = !['uninitiated', 'complete'].includes(state);
30
+ let halfFull = false;
31
+ $: halfFull = fillFraction > 0.5;
32
+ </script>
33
+
34
+ <!--
35
+ 1) Hidden native <progress> for a11y.
36
+ If 'indeterminate', omit the value attribute entirely.
37
+ -->
38
+ <div class="progress-container" data-state={state} style={style}>
39
+ <progress
40
+ aria-label="Progress"
41
+ {max}
42
+ value={Number(value) || 0.5}
43
+ hidden
44
+ />
45
+
46
+ <!-- 2) Custom track with diagonal stripes (scrolling) when animateTrack=true -->
47
+ <div class="progress-track" data-animate={animateTrack} class:half-full={halfFull}>
48
+ <!-- 3) The progress bar expands in width from 0..100%. -->
49
+ <div
50
+ class="progress-bar"
51
+ style={`width: ${fillFraction * 100}%;`}
52
+ data-indeterminate={value === "indeterminate"}
53
+ ></div>
54
+
55
+ <!-- 4) Overlaid text or content -->
56
+ <div class="progress-text">
57
+ <div><slot /></div>
58
+ </div>
59
+ </div>
60
+ </div>
61
+
62
+ <style>/* Warning: because we define a fallback
63
+ media query, the media query can override the container
64
+ if we stack a bunch of these in a row and aren't thoughtful about the order.
65
+ Put min-width queries *after* max-width queries so that smaller
66
+ container queries don't get their styles overridden by large media queries.
67
+ */
68
+ /* Convenience groupings */
69
+ @keyframes track-stripes {
70
+ 0% {
71
+ background-position: 0 0;
72
+ }
73
+ 100% {
74
+ background-position: 57px 0;
75
+ }
76
+ }
77
+ .progress-container {
78
+ background: var(--progress-bg, var(--container-bg, var(--control-bg, var(--secondary-bg, var(--bg, unset)))));
79
+ color: var(--progress-fg, var(--container-fg, var(--control-fg, var(--secondary-fg, var(--fg, unset)))));
80
+ --link-bg: var(--progress-link-bg, var(--container-link-bg, var(--control-link-bg, var(--secondary-link-bg, var(--secondary-link-bg, inherit)))));
81
+ --link-fg: var(--progress-link-fg, var(--container-link-fg, var(--control-link-fg, var(--secondary-link-fg, var(--secondary-link-fg, inherit)))));
82
+ box-sizing: border-box;
83
+ padding: var(--progress-padding, var(--container-padding, var(--control-padding, var(--secondary-padding, var(--padding, 4px)))));
84
+ border: var(--progress-border, var(--container-border, var(--control-border, var(--secondary-border, var(--border, inherit)))));
85
+ border-top: var(--progress-border-top, var(--container-border-top, var(--control-border-top, var(--secondary-border-top, var(--border-top, var(--progress-border, var(--container-border, var(--control-border, var(--secondary-border, var(--border, none))))))))));
86
+ border-right: var(--progress-border-right, var(--container-border-right, var(--control-border-right, var(--secondary-border-right, var(--border-right, var(--progress-border, var(--container-border, var(--control-border, var(--secondary-border, var(--border, none))))))))));
87
+ border-bottom: var(--progress-border-bottom, var(--container-border-bottom, var(--control-border-bottom, var(--secondary-border-bottom, var(--border-bottom, var(--progress-border, var(--container-border, var(--control-border, var(--secondary-border, var(--border, none))))))))));
88
+ border-left: var(--progress-border-left, var(--container-border-left, var(--control-border-left, var(--secondary-border-left, var(--border-left, var(--progress-border, var(--container-border, var(--control-border, var(--secondary-border, var(--border, none))))))))));
89
+ border-radius: var(--progress-border-radius, var(--container-border-radius, var(--control-border-radius, var(--secondary-border-radius, var(--border-radius, none)))));
90
+ max-width: var(--progress-line-width, var(--ui-line-width, var(--line-width, unset)));
91
+ margin-left: auto;
92
+ margin-right: auto;
93
+ font-family: var(--progress-body-font-family, var(--ui-body-font-family, var(--body-font-family, var(--font-family))));
94
+ font-family: var(--progress-font-family, var(--ui-font-family, var(--font-family, unset)));
95
+ text-transform: var(--progress-text-transform, var(--ui-text-transform, var(--text-transform, unset)));
96
+ text-decoration: var(--progress-text-decoration, var(--ui-text-decoration, var(--text-decoration, unset)));
97
+ font-size: var(--progress-font-size, var(--ui-font-size, var(--font-size, unset)));
98
+ font-weight: var(--progress-font-weight, var(--ui-font-weight, var(--font-weight, unset)));
99
+ line-height: var(--progress-line-height, var(--ui-line-height, var(--line-height, unset)));
100
+ letter-spacing: var(--progress-letter-spacing, var(--ui-letter-spacing, var(--letter-spacing, unset)));
101
+ margin-top: var(--progress-margin, var(--ui-margin, var(--margin, unset)));
102
+ margin-top: var(--progress-margin-top, var(--ui-margin-top, var(--margin-top, unset)));
103
+ margin-bottom: var(--progress-margin, var(--ui-margin, var(--margin, unset)));
104
+ margin-bottom: var(--progress-margin-bottom, var(--ui-margin-bottom, var(--margin-bottom, unset)));
105
+ text-indent: var(--progress-indent, var(--ui-indent, var(--indent, unset)));
106
+ font-variant: var(--progress-font-variant, var(--ui-font-variant, var(--font-variant, unset)));
107
+ text-align: var(--progress-text-align, var(--ui-text-align, var(--text-align, unset)));
108
+ width: var(--progress-width, var(--width, 100%));
109
+ display: inline-block;
110
+ position: relative;
111
+ /* Hidden UI, but read by screen readers. */
112
+ }
113
+ .progress-container :global(p), .progress-container :global(blockquote), .progress-container :global(dl), .progress-container :global(ul), .progress-container :global(ol) {
114
+ max-width: var(--progress-line-width, var(--ui-line-width, var(--line-width, 40em)));
115
+ font-family: var(--progress-body-font-family, var(--ui-body-font-family, var(--body-font-family, var(--font-family))));
116
+ line-height: var(--progress-line-height, var(--ui-line-height, var(--line-height, 1.5)));
117
+ margin-left: auto;
118
+ margin-right: auto;
119
+ font-weight: var(--progress-body-font-weight, var(--ui-body-font-weight, var(--body-font-weight, unset)));
120
+ }
121
+ .progress-container :global(h1),
122
+ .progress-container :global(h2),
123
+ .progress-container :global(h3),
124
+ .progress-container :global(h4),
125
+ .progress-container :global(h5),
126
+ .progress-container :global(h6) {
127
+ background: var(--heading-bg, var(--bg, unset));
128
+ color: var(--heading-fg, var(--fg, unset));
129
+ --link-bg: var(--heading-link-bg, var(--heading-link-bg, inherit));
130
+ --link-fg: var(--heading-link-fg, var(--heading-link-fg, inherit));
131
+ max-width: var(--progress-line-width, var(--ui-line-width, var(--line-width, unset)));
132
+ margin-left: auto;
133
+ margin-right: auto;
134
+ margin-bottom: var(--progress-heading-margin-bottom, var(--ui-heading-margin-bottom, var(--heading-margin-bottom, 0)));
135
+ margin-top: var(--progress-heading-margin-top, var(--ui-heading-margin-top, var(--heading-margin-top, 1.5em)));
136
+ /* Typography */
137
+ font-family: var(--progress-heading-font-family, var(--ui-heading-font-family, var(--heading-font-family, var(--heading-font-family, inherit))));
138
+ text-transform: var(--progress-heading-text-transform, var(--ui-heading-text-transform, var(--heading-text-transform, var(--heading-text-transform, inherit))));
139
+ text-decoration: var(--progress-heading-text-decoration, var(--ui-heading-text-decoration, var(--heading-text-decoration, var(--heading-text-decoration, inherit))));
140
+ font-size: var(--progress-heading-font-size, var(--ui-heading-font-size, var(--heading-font-size, var(--heading-font-size, inherit))));
141
+ font-weight: var(--progress-heading-font-weight, var(--ui-heading-font-weight, var(--heading-font-weight, var(--heading-font-weight, inherit))));
142
+ line-height: var(--progress-heading-line-height, var(--ui-heading-line-height, var(--heading-line-height, var(--heading-line-height, inherit))));
143
+ letter-spacing: var(--progress-heading-letter-spacing, var(--ui-heading-letter-spacing, var(--heading-letter-spacing, var(--heading-letter-spacing, inherit))));
144
+ text-indent: var(--progress-heading-indent, var(--ui-heading-indent, var(--heading-indent, var(--heading-indent, inherit))));
145
+ font-variant: var(--progress-heading-font-variant, var(--ui-heading-font-variant, var(--heading-font-variant, var(--heading-font-variant, inherit))));
146
+ text-align: var(--progress-heading-text-align, var(--ui-heading-text-align, var(--heading-text-align, var(--heading-text-align, inherit))));
147
+ /* font-family: fn.var(--heading-font-family, var(--body-font-family, var(--font-family, inherit)));
148
+ font-size: fn.var(--heading-font-size, inherit);
149
+ font-weight: fn.var(--heading-font-weight, var(--body-font-weight, var(--font-weight, inherit)));
150
+ line-height: fn.var(--heading-line-height, var(--body-line-height, var(--line-height, inherit)));
151
+ letter-spacing: fn.var(--heading-letter-spacing, var(--body-letter-spacing, var(--letter-spacing, inherit)));
152
+ text-indent: fn.var(--heading-indent, var(--body-indent, var(--indent, inherit)));
153
+ font-variant: fn.var(--heading-font-variant, var(--body-font-variant, var(--font-variant, inherit)));
154
+ text-align: fn.var(--heading-text-align, var(--body-text-align, var(--text-align, inherit))); */
155
+ }
156
+ .progress-container :global(p) {
157
+ font-family: var(--progress-paragraph-font-family, var(--ui-paragraph-font-family, var(--paragraph-font-family, var(--paragraph-font-family, inherit))));
158
+ text-transform: var(--progress-paragraph-text-transform, var(--ui-paragraph-text-transform, var(--paragraph-text-transform, var(--paragraph-text-transform, inherit))));
159
+ text-decoration: var(--progress-paragraph-text-decoration, var(--ui-paragraph-text-decoration, var(--paragraph-text-decoration, var(--paragraph-text-decoration, inherit))));
160
+ font-size: var(--progress-paragraph-font-size, var(--ui-paragraph-font-size, var(--paragraph-font-size, var(--paragraph-font-size, inherit))));
161
+ font-weight: var(--progress-paragraph-font-weight, var(--ui-paragraph-font-weight, var(--paragraph-font-weight, var(--paragraph-font-weight, inherit))));
162
+ line-height: var(--progress-paragraph-line-height, var(--ui-paragraph-line-height, var(--paragraph-line-height, var(--paragraph-line-height, inherit))));
163
+ letter-spacing: var(--progress-paragraph-letter-spacing, var(--ui-paragraph-letter-spacing, var(--paragraph-letter-spacing, var(--paragraph-letter-spacing, inherit))));
164
+ text-indent: var(--progress-paragraph-indent, var(--ui-paragraph-indent, var(--paragraph-indent, var(--paragraph-indent, inherit))));
165
+ font-variant: var(--progress-paragraph-font-variant, var(--ui-paragraph-font-variant, var(--paragraph-font-variant, var(--paragraph-font-variant, inherit))));
166
+ text-align: var(--progress-paragraph-text-align, var(--ui-paragraph-text-align, var(--paragraph-text-align, var(--paragraph-text-align, inherit))));
167
+ }
168
+ .progress-container :global(p:first-of-type),
169
+ .progress-container :global(h1 + p),
170
+ .progress-container :global(h2 + p),
171
+ .progress-container :global(h3 + p),
172
+ .progress-container :global(h4 + p),
173
+ .progress-container :global(h5 + p),
174
+ .progress-container :global(h6 + p) {
175
+ font-family: var(--progress-first-paragraph-font-family, var(--ui-first-paragraph-font-family, var(--first-paragraph-font-family, var(--first-paragraph-font-family, inherit))));
176
+ text-transform: var(--progress-first-paragraph-text-transform, var(--ui-first-paragraph-text-transform, var(--first-paragraph-text-transform, var(--first-paragraph-text-transform, inherit))));
177
+ text-decoration: var(--progress-first-paragraph-text-decoration, var(--ui-first-paragraph-text-decoration, var(--first-paragraph-text-decoration, var(--first-paragraph-text-decoration, inherit))));
178
+ font-size: var(--progress-first-paragraph-font-size, var(--ui-first-paragraph-font-size, var(--first-paragraph-font-size, var(--first-paragraph-font-size, inherit))));
179
+ font-weight: var(--progress-first-paragraph-font-weight, var(--ui-first-paragraph-font-weight, var(--first-paragraph-font-weight, var(--first-paragraph-font-weight, inherit))));
180
+ line-height: var(--progress-first-paragraph-line-height, var(--ui-first-paragraph-line-height, var(--first-paragraph-line-height, var(--first-paragraph-line-height, inherit))));
181
+ letter-spacing: var(--progress-first-paragraph-letter-spacing, var(--ui-first-paragraph-letter-spacing, var(--first-paragraph-letter-spacing, var(--first-paragraph-letter-spacing, inherit))));
182
+ text-indent: var(--progress-first-paragraph-indent, var(--ui-first-paragraph-indent, var(--first-paragraph-indent, var(--first-paragraph-indent, inherit))));
183
+ font-variant: var(--progress-first-paragraph-font-variant, var(--ui-first-paragraph-font-variant, var(--first-paragraph-font-variant, var(--first-paragraph-font-variant, inherit))));
184
+ text-align: var(--progress-first-paragraph-text-align, var(--ui-first-paragraph-text-align, var(--first-paragraph-text-align, var(--first-paragraph-text-align, inherit))));
185
+ margin-block-start: var(--progress-first-paragraph-margin-top, var(--ui-first-paragraph-margin-top, var(--first-paragraph-margin-top, 0)));
186
+ }
187
+ .progress-container :global(p:first-of-type::first-line) {
188
+ font-family: var(--first-line-font-family, var(--progress-first-line-font-family, var(--ui-first-line-font-family, var(--first-line-font-family, var(--first-line-font-family, inherit)))));
189
+ text-transform: var(--first-line-text-transform, var(--progress-first-line-text-transform, var(--ui-first-line-text-transform, var(--first-line-text-transform, var(--first-line-text-transform, inherit)))));
190
+ text-decoration: var(--first-line-text-decoration, var(--progress-first-line-text-decoration, var(--ui-first-line-text-decoration, var(--first-line-text-decoration, var(--first-line-text-decoration, inherit)))));
191
+ font-size: var(--first-line-font-size, var(--progress-first-line-font-size, var(--ui-first-line-font-size, var(--first-line-font-size, var(--first-line-font-size, inherit)))));
192
+ font-weight: var(--first-line-font-weight, var(--progress-first-line-font-weight, var(--ui-first-line-font-weight, var(--first-line-font-weight, var(--first-line-font-weight, inherit)))));
193
+ line-height: var(--first-line-line-height, var(--progress-first-line-line-height, var(--ui-first-line-line-height, var(--first-line-line-height, var(--first-line-line-height, inherit)))));
194
+ letter-spacing: var(--first-line-letter-spacing, var(--progress-first-line-letter-spacing, var(--ui-first-line-letter-spacing, var(--first-line-letter-spacing, var(--first-line-letter-spacing, inherit)))));
195
+ text-indent: var(--first-line-indent, var(--progress-first-line-indent, var(--ui-first-line-indent, var(--first-line-indent, var(--first-line-indent, inherit)))));
196
+ font-variant: var(--first-line-font-variant, var(--progress-first-line-font-variant, var(--ui-first-line-font-variant, var(--first-line-font-variant, var(--first-line-font-variant, inherit)))));
197
+ text-align: var(--first-line-text-align, var(--progress-first-line-text-align, var(--ui-first-line-text-align, var(--first-line-text-align, var(--first-line-text-align, inherit)))));
198
+ }
199
+ .progress-container :global(p:first-of-type::first-letter) {
200
+ font-family: var(--first-letter-font-family, var(--progress-first-letter-font-family, var(--ui-first-letter-font-family, var(--ui-first-letter-font-family, inherit))));
201
+ text-transform: var(--first-letter-text-transform, var(--progress-first-letter-text-transform, var(--ui-first-letter-text-transform, var(--ui-first-letter-text-transform, inherit))));
202
+ text-decoration: var(--first-letter-text-decoration, var(--progress-first-letter-text-decoration, var(--ui-first-letter-text-decoration, var(--ui-first-letter-text-decoration, inherit))));
203
+ font-size: var(--first-letter-font-size, var(--progress-first-letter-font-size, var(--ui-first-letter-font-size, var(--ui-first-letter-font-size, inherit))));
204
+ font-weight: var(--first-letter-font-weight, var(--progress-first-letter-font-weight, var(--ui-first-letter-font-weight, var(--ui-first-letter-font-weight, inherit))));
205
+ line-height: var(--first-letter-line-height, var(--progress-first-letter-line-height, var(--ui-first-letter-line-height, var(--ui-first-letter-line-height, inherit))));
206
+ letter-spacing: var(--first-letter-letter-spacing, var(--progress-first-letter-letter-spacing, var(--ui-first-letter-letter-spacing, var(--ui-first-letter-letter-spacing, inherit))));
207
+ text-indent: var(--first-letter-indent, var(--progress-first-letter-indent, var(--ui-first-letter-indent, var(--ui-first-letter-indent, inherit))));
208
+ font-variant: var(--first-letter-font-variant, var(--progress-first-letter-font-variant, var(--ui-first-letter-font-variant, var(--ui-first-letter-font-variant, inherit))));
209
+ text-align: var(--first-letter-text-align, var(--progress-first-letter-text-align, var(--ui-first-letter-text-align, var(--ui-first-letter-text-align, inherit))));
210
+ --link-bg: var(--progress-link-bg, var(--ui-link-bg, var(--ui-link-bg, inherit)));
211
+ --link-fg: var(--progress-link-fg, var(--ui-link-fg, var(--ui-link-fg, inherit)));
212
+ background: var(--progress-first-letter-bg, var(--ui-first-letter-bg, var(--first-letter-bg, inherit)));
213
+ color: var(--progress-first-letter-fg, var(--ui-first-letter-fg, var(--first-letter-fg, inherit)));
214
+ }
215
+ .progress-container[data-state=uninitiated] {
216
+ background: var(--progress-uninitiated-bg, var(--container-bg, var(--control-bg, var(--secondary-bg, var(--bg, unset)))));
217
+ color: var(--progress-uninitiated-fg, var(--container-fg, var(--control-fg, var(--secondary-fg, var(--fg, unset)))));
218
+ --link-bg: var(--progress-uninitiated-link-bg, var(--container-link-bg, var(--control-link-bg, var(--secondary-link-bg, var(--secondary-link-bg, inherit)))));
219
+ --link-fg: var(--progress-uninitiated-link-fg, var(--container-link-fg, var(--control-link-fg, var(--secondary-link-fg, var(--secondary-link-fg, inherit)))));
220
+ }
221
+ .progress-container[data-state=inprogress] {
222
+ background: var(--progress-inprogress-bg, var(--container-bg, var(--control-bg, var(--secondary-bg, var(--bg, unset)))));
223
+ color: var(--progress-inprogress-fg, var(--container-fg, var(--control-fg, var(--secondary-fg, var(--fg, unset)))));
224
+ --link-bg: var(--progress-inprogress-link-bg, var(--container-link-bg, var(--control-link-bg, var(--secondary-link-bg, var(--secondary-link-bg, inherit)))));
225
+ --link-fg: var(--progress-inprogress-link-fg, var(--container-link-fg, var(--control-link-fg, var(--secondary-link-fg, var(--secondary-link-fg, inherit)))));
226
+ }
227
+ .progress-container[data-state=complete] {
228
+ background: var(--progress-complete-bg, var(--container-bg, var(--control-bg, var(--secondary-bg, var(--bg, unset)))));
229
+ color: var(--progress-complete-fg, var(--container-fg, var(--control-fg, var(--secondary-fg, var(--fg, unset)))));
230
+ --link-bg: var(--progress-complete-link-bg, var(--container-link-bg, var(--control-link-bg, var(--secondary-link-bg, var(--secondary-link-bg, inherit)))));
231
+ --link-fg: var(--progress-complete-link-fg, var(--container-link-fg, var(--control-link-fg, var(--secondary-link-fg, var(--secondary-link-fg, inherit)))));
232
+ }
233
+ .progress-container progress {
234
+ display: none;
235
+ }
236
+ .progress-container .progress-track {
237
+ position: relative;
238
+ box-sizing: border-box;
239
+ padding: var(--progress-track-padding, var(--progress-padding, var(--control-padding, var(--padding, 4px))));
240
+ border: var(--progress-track-border, var(--progress-border, var(--control-border, var(--border, inherit))));
241
+ border-top: var(--progress-track-border-top, var(--progress-border-top, var(--control-border-top, var(--border-top, var(--progress-track-border, var(--progress-border, var(--control-border, var(--border, none))))))));
242
+ border-right: var(--progress-track-border-right, var(--progress-border-right, var(--control-border-right, var(--border-right, var(--progress-track-border, var(--progress-border, var(--control-border, var(--border, none))))))));
243
+ border-bottom: var(--progress-track-border-bottom, var(--progress-border-bottom, var(--control-border-bottom, var(--border-bottom, var(--progress-track-border, var(--progress-border, var(--control-border, var(--border, none))))))));
244
+ border-left: var(--progress-track-border-left, var(--progress-border-left, var(--control-border-left, var(--border-left, var(--progress-track-border, var(--progress-border, var(--control-border, var(--border, none))))))));
245
+ border-radius: var(--progress-track-border-radius, var(--progress-border-radius, var(--control-border-radius, var(--border-radius, none))));
246
+ height: var(--progress-track-height, var(--progress-height, 2em));
247
+ background: var(--progress-track-bg, var(--secondary-bg, var(--white)));
248
+ overflow: hidden;
249
+ /* If animate => scrolling stripes in offwhite->white */
250
+ }
251
+ .progress-container .progress-track[data-animate=true] {
252
+ background: repeating-linear-gradient(135deg, var(--progress-track-bg, var(--secondary-bg, #dfdfdf)) 0, var(--progress-track-bg, var(--secondary-bg, #dfdfdf)) 20px, var(--progress-track-stripe-bg, var(--white, #fff)) 20px, var(--progress-track-stripe-bg, var(--white, #fff)) 40px);
253
+ background-size: 3000px;
254
+ background-position: center;
255
+ animation: track-stripes 1s linear infinite;
256
+ }
257
+ .progress-container .progress-bar {
258
+ position: absolute;
259
+ top: 0;
260
+ left: 0;
261
+ bottom: 0;
262
+ width: 0%;
263
+ transition: width 0.3s ease;
264
+ /*
265
+ The bar color:
266
+ You can override with --progress-bar-color or
267
+ fallback to var(--primary-bg). We then do opacity 0.8.
268
+ */
269
+ background-color: var(--progress-bar-color, var(--primary-bg));
270
+ mix-blend-mode: multiply;
271
+ }
272
+ .progress-container .progress-text {
273
+ position: absolute;
274
+ top: 0;
275
+ left: 0;
276
+ width: 100%;
277
+ height: 100%;
278
+ pointer-events: none;
279
+ display: flex;
280
+ align-items: center;
281
+ justify-content: center;
282
+ color: var(--progress-fg, var(--secondary-fg, var(--white)));
283
+ text-shadow: 1px 1px var(--progress-half-fg, var(--primary-fg, var(--white)));
284
+ }
285
+ .progress-container .half-full .progress-text {
286
+ color: var(--progress-half-fg, var(--primary-fg, var(--white)));
287
+ text-shadow: 1px 1px var(--progress-fg, var(--secondary-fg, var(--white)));
288
+ }</style>
@@ -0,0 +1,28 @@
1
+ import { SvelteComponent } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ [x: string]: any;
5
+ state?: "uninitiated" | "inprogress" | "complete" | undefined;
6
+ value?: number | "indeterminate" | undefined;
7
+ max?: number | undefined;
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;
13
+ };
14
+ events: {
15
+ [evt: string]: CustomEvent<any>;
16
+ };
17
+ slots: {
18
+ default: {};
19
+ };
20
+ exports?: undefined;
21
+ bindings?: undefined;
22
+ };
23
+ export type ProgressProps = typeof __propDef.props;
24
+ export type ProgressEvents = typeof __propDef.events;
25
+ export type ProgressSlots = typeof __propDef.slots;
26
+ export default class Progress extends SvelteComponent<ProgressProps, ProgressEvents, ProgressSlots> {
27
+ }
28
+ export {};
@@ -38,13 +38,13 @@ let ref;
38
38
  </dialog>
39
39
  </section>
40
40
 
41
- <style>/* Convenience groupings */
42
- /* Warning: because we define a fallback
41
+ <style>/* Warning: because we define a fallback
43
42
  media query, the media query can override the container
44
43
  if we stack a bunch of these in a row and aren't thoughtful about the order.
45
44
  Put min-width queries *after* max-width queries so that smaller
46
45
  container queries don't get their styles overridden by large media queries.
47
46
  */
47
+ /* Convenience groupings */
48
48
  .variable-placeholder {
49
49
  display: none;
50
50
  }
@@ -88,13 +88,13 @@ function showPopover() {
88
88
  </div>
89
89
  </div>
90
90
 
91
- <style>/* Convenience groupings */
92
- /* Warning: because we define a fallback
91
+ <style>/* Warning: because we define a fallback
93
92
  media query, the media query can override the container
94
93
  if we stack a bunch of these in a row and aren't thoughtful about the order.
95
94
  Put min-width queries *after* max-width queries so that smaller
96
95
  container queries don't get their styles overridden by large media queries.
97
96
  */
97
+ /* Convenience groupings */
98
98
  .tooltip {
99
99
  position: fixed;
100
100
  margin: 0;
@@ -105,21 +105,21 @@ function showPopover() {
105
105
  --link-fg: var(--tooltip-link-fg, var(--secondary-link-fg, var(--secondary-link-fg, inherit)));
106
106
  box-sizing: border-box;
107
107
  border: var(--tooltip-border, var(--border, var(--border-width, 1px) var(--border-style, solid) var(--border-color, var(--fg))));
108
- /* border-top: var-with-fallbacks(--border-top,
108
+ /* border-top: fn.var-with-fallbacks(--border-top,
109
109
  append($prefixes,
110
- var-with-fallbacks(--border,$prefixes...)
110
+ fn.var-with-fallbacks(--border,$prefixes...)
111
111
  )...) */
112
- /* border-right: var-with-fallbacks(--border-right,
112
+ /* border-right: fn.var-with-fallbacks(--border-right,
113
113
  append($prefixes,
114
- var-with-fallbacks(--border,$prefixes...)
114
+ fn.var-with-fallbacks(--border,$prefixes...)
115
115
  )...) */
116
- /* border-bottom: var-with-fallbacks(--border-bottom,
116
+ /* border-bottom: fn.var-with-fallbacks(--border-bottom,
117
117
  append($prefixes,
118
- var-with-fallbacks(--border,$prefixes...)
118
+ fn.var-with-fallbacks(--border,$prefixes...)
119
119
  )...) */
120
- /* border-left: var-with-fallbacks(--border-left,
120
+ /* border-left: fn.var-with-fallbacks(--border-left,
121
121
  append($prefixes,
122
- var-with-fallbacks(--border,$prefixes...)
122
+ fn.var-with-fallbacks(--border,$prefixes...)
123
123
  )...) */
124
124
  padding: var(--tooltip-padding, var(--padding, 4px));
125
125
  border-radius: var(--tooltip-square-radius, var(--square-radius, 0));
@@ -166,6 +166,25 @@ function showPopover() {
166
166
  margin-right: auto;
167
167
  margin-bottom: var(--tooltip-heading-margin-bottom, var(--ui-heading-margin-bottom, var(--heading-margin-bottom, 0)));
168
168
  margin-top: var(--tooltip-heading-margin-top, var(--ui-heading-margin-top, var(--heading-margin-top, 1.5em)));
169
+ /* Typography */
170
+ font-family: var(--tooltip-heading-font-family, var(--ui-heading-font-family, var(--heading-font-family, var(--heading-font-family, inherit))));
171
+ text-transform: var(--tooltip-heading-text-transform, var(--ui-heading-text-transform, var(--heading-text-transform, var(--heading-text-transform, inherit))));
172
+ text-decoration: var(--tooltip-heading-text-decoration, var(--ui-heading-text-decoration, var(--heading-text-decoration, var(--heading-text-decoration, inherit))));
173
+ font-size: var(--tooltip-heading-font-size, var(--ui-heading-font-size, var(--heading-font-size, var(--heading-font-size, inherit))));
174
+ font-weight: var(--tooltip-heading-font-weight, var(--ui-heading-font-weight, var(--heading-font-weight, var(--heading-font-weight, inherit))));
175
+ line-height: var(--tooltip-heading-line-height, var(--ui-heading-line-height, var(--heading-line-height, var(--heading-line-height, inherit))));
176
+ letter-spacing: var(--tooltip-heading-letter-spacing, var(--ui-heading-letter-spacing, var(--heading-letter-spacing, var(--heading-letter-spacing, inherit))));
177
+ text-indent: var(--tooltip-heading-indent, var(--ui-heading-indent, var(--heading-indent, var(--heading-indent, inherit))));
178
+ font-variant: var(--tooltip-heading-font-variant, var(--ui-heading-font-variant, var(--heading-font-variant, var(--heading-font-variant, inherit))));
179
+ text-align: var(--tooltip-heading-text-align, var(--ui-heading-text-align, var(--heading-text-align, var(--heading-text-align, inherit))));
180
+ /* font-family: fn.var(--heading-font-family, var(--body-font-family, var(--font-family, inherit)));
181
+ font-size: fn.var(--heading-font-size, inherit);
182
+ font-weight: fn.var(--heading-font-weight, var(--body-font-weight, var(--font-weight, inherit)));
183
+ line-height: fn.var(--heading-line-height, var(--body-line-height, var(--line-height, inherit)));
184
+ letter-spacing: fn.var(--heading-letter-spacing, var(--body-letter-spacing, var(--letter-spacing, inherit)));
185
+ text-indent: fn.var(--heading-indent, var(--body-indent, var(--indent, inherit)));
186
+ font-variant: fn.var(--heading-font-variant, var(--body-font-variant, var(--font-variant, inherit)));
187
+ text-align: fn.var(--heading-text-align, var(--body-text-align, var(--text-align, inherit))); */
169
188
  }
170
189
  .tooltip :global(p) {
171
190
  font-family: var(--tooltip-paragraph-font-family, var(--ui-paragraph-font-family, var(--paragraph-font-family, var(--paragraph-font-family, inherit))));
@@ -196,34 +215,35 @@ function showPopover() {
196
215
  text-indent: var(--tooltip-first-paragraph-indent, var(--ui-first-paragraph-indent, var(--first-paragraph-indent, var(--first-paragraph-indent, inherit))));
197
216
  font-variant: var(--tooltip-first-paragraph-font-variant, var(--ui-first-paragraph-font-variant, var(--first-paragraph-font-variant, var(--first-paragraph-font-variant, inherit))));
198
217
  text-align: var(--tooltip-first-paragraph-text-align, var(--ui-first-paragraph-text-align, var(--first-paragraph-text-align, var(--first-paragraph-text-align, inherit))));
218
+ margin-block-start: var(--tooltip-first-paragraph-margin-top, var(--ui-first-paragraph-margin-top, var(--first-paragraph-margin-top, 0)));
199
219
  }
200
220
  .tooltip :global(p:first-of-type::first-line) {
201
- font-family: var(--tooltip-first-line-font-family, var(--ui-first-line-font-family, var(--first-line-font-family, var(--first-line-font-family, inherit))));
202
- text-transform: var(--tooltip-first-line-text-transform, var(--ui-first-line-text-transform, var(--first-line-text-transform, var(--first-line-text-transform, inherit))));
203
- text-decoration: var(--tooltip-first-line-text-decoration, var(--ui-first-line-text-decoration, var(--first-line-text-decoration, var(--first-line-text-decoration, inherit))));
204
- font-size: var(--tooltip-first-line-font-size, var(--ui-first-line-font-size, var(--first-line-font-size, var(--first-line-font-size, inherit))));
205
- font-weight: var(--tooltip-first-line-font-weight, var(--ui-first-line-font-weight, var(--first-line-font-weight, var(--first-line-font-weight, inherit))));
206
- line-height: var(--tooltip-first-line-line-height, var(--ui-first-line-line-height, var(--first-line-line-height, var(--first-line-line-height, inherit))));
207
- letter-spacing: var(--tooltip-first-line-letter-spacing, var(--ui-first-line-letter-spacing, var(--first-line-letter-spacing, var(--first-line-letter-spacing, inherit))));
208
- text-indent: var(--tooltip-first-line-indent, var(--ui-first-line-indent, var(--first-line-indent, var(--first-line-indent, inherit))));
209
- font-variant: var(--tooltip-first-line-font-variant, var(--ui-first-line-font-variant, var(--first-line-font-variant, var(--first-line-font-variant, inherit))));
210
- text-align: var(--tooltip-first-line-text-align, var(--ui-first-line-text-align, var(--first-line-text-align, var(--first-line-text-align, inherit))));
221
+ font-family: var(--first-line-font-family, var(--tooltip-first-line-font-family, var(--ui-first-line-font-family, var(--first-line-font-family, var(--first-line-font-family, inherit)))));
222
+ text-transform: var(--first-line-text-transform, var(--tooltip-first-line-text-transform, var(--ui-first-line-text-transform, var(--first-line-text-transform, var(--first-line-text-transform, inherit)))));
223
+ text-decoration: var(--first-line-text-decoration, var(--tooltip-first-line-text-decoration, var(--ui-first-line-text-decoration, var(--first-line-text-decoration, var(--first-line-text-decoration, inherit)))));
224
+ font-size: var(--first-line-font-size, var(--tooltip-first-line-font-size, var(--ui-first-line-font-size, var(--first-line-font-size, var(--first-line-font-size, inherit)))));
225
+ font-weight: var(--first-line-font-weight, var(--tooltip-first-line-font-weight, var(--ui-first-line-font-weight, var(--first-line-font-weight, var(--first-line-font-weight, inherit)))));
226
+ line-height: var(--first-line-line-height, var(--tooltip-first-line-line-height, var(--ui-first-line-line-height, var(--first-line-line-height, var(--first-line-line-height, inherit)))));
227
+ letter-spacing: var(--first-line-letter-spacing, var(--tooltip-first-line-letter-spacing, var(--ui-first-line-letter-spacing, var(--first-line-letter-spacing, var(--first-line-letter-spacing, inherit)))));
228
+ text-indent: var(--first-line-indent, var(--tooltip-first-line-indent, var(--ui-first-line-indent, var(--first-line-indent, var(--first-line-indent, inherit)))));
229
+ font-variant: var(--first-line-font-variant, var(--tooltip-first-line-font-variant, var(--ui-first-line-font-variant, var(--first-line-font-variant, var(--first-line-font-variant, inherit)))));
230
+ text-align: var(--first-line-text-align, var(--tooltip-first-line-text-align, var(--ui-first-line-text-align, var(--first-line-text-align, var(--first-line-text-align, inherit)))));
211
231
  }
212
232
  .tooltip :global(p:first-of-type::first-letter) {
213
- font-family: var(--tooltip-first-letter-font-family, var(--ui-first-letter-font-family, var(--ui-first-letter-font-family, inherit)));
214
- text-transform: var(--tooltip-first-letter-text-transform, var(--ui-first-letter-text-transform, var(--ui-first-letter-text-transform, inherit)));
215
- text-decoration: var(--tooltip-first-letter-text-decoration, var(--ui-first-letter-text-decoration, var(--ui-first-letter-text-decoration, inherit)));
216
- font-size: var(--tooltip-first-letter-font-size, var(--ui-first-letter-font-size, var(--ui-first-letter-font-size, inherit)));
217
- font-weight: var(--tooltip-first-letter-font-weight, var(--ui-first-letter-font-weight, var(--ui-first-letter-font-weight, inherit)));
218
- line-height: var(--tooltip-first-letter-line-height, var(--ui-first-letter-line-height, var(--ui-first-letter-line-height, inherit)));
219
- letter-spacing: var(--tooltip-first-letter-letter-spacing, var(--ui-first-letter-letter-spacing, var(--ui-first-letter-letter-spacing, inherit)));
220
- text-indent: var(--tooltip-first-letter-indent, var(--ui-first-letter-indent, var(--ui-first-letter-indent, inherit)));
221
- font-variant: var(--tooltip-first-letter-font-variant, var(--ui-first-letter-font-variant, var(--ui-first-letter-font-variant, inherit)));
222
- text-align: var(--tooltip-first-letter-text-align, var(--ui-first-letter-text-align, var(--ui-first-letter-text-align, inherit)));
223
- background: var(--first-letter-bg, var(--first-line-bg, var(--bg, unset)));
224
- color: var(--first-letter-fg, var(--first-line-fg, var(--fg, unset)));
225
- --link-bg: var(--first-letter-link-bg, var(--first-line-link-bg, var(--first-line-link-bg, inherit)));
226
- --link-fg: var(--first-letter-link-fg, var(--first-line-link-fg, var(--first-line-link-fg, inherit)));
233
+ font-family: var(--first-letter-font-family, var(--tooltip-first-letter-font-family, var(--ui-first-letter-font-family, var(--ui-first-letter-font-family, inherit))));
234
+ text-transform: var(--first-letter-text-transform, var(--tooltip-first-letter-text-transform, var(--ui-first-letter-text-transform, var(--ui-first-letter-text-transform, inherit))));
235
+ text-decoration: var(--first-letter-text-decoration, var(--tooltip-first-letter-text-decoration, var(--ui-first-letter-text-decoration, var(--ui-first-letter-text-decoration, inherit))));
236
+ font-size: var(--first-letter-font-size, var(--tooltip-first-letter-font-size, var(--ui-first-letter-font-size, var(--ui-first-letter-font-size, inherit))));
237
+ font-weight: var(--first-letter-font-weight, var(--tooltip-first-letter-font-weight, var(--ui-first-letter-font-weight, var(--ui-first-letter-font-weight, inherit))));
238
+ line-height: var(--first-letter-line-height, var(--tooltip-first-letter-line-height, var(--ui-first-letter-line-height, var(--ui-first-letter-line-height, inherit))));
239
+ letter-spacing: var(--first-letter-letter-spacing, var(--tooltip-first-letter-letter-spacing, var(--ui-first-letter-letter-spacing, var(--ui-first-letter-letter-spacing, inherit))));
240
+ text-indent: var(--first-letter-indent, var(--tooltip-first-letter-indent, var(--ui-first-letter-indent, var(--ui-first-letter-indent, inherit))));
241
+ font-variant: var(--first-letter-font-variant, var(--tooltip-first-letter-font-variant, var(--ui-first-letter-font-variant, var(--ui-first-letter-font-variant, inherit))));
242
+ text-align: var(--first-letter-text-align, var(--tooltip-first-letter-text-align, var(--ui-first-letter-text-align, var(--ui-first-letter-text-align, inherit))));
243
+ --link-bg: var(--tooltip-link-bg, var(--ui-link-bg, var(--ui-link-bg, inherit)));
244
+ --link-fg: var(--tooltip-link-fg, var(--ui-link-fg, var(--ui-link-fg, inherit)));
245
+ background: var(--tooltip-first-letter-bg, var(--ui-first-letter-bg, var(--first-letter-bg, inherit)));
246
+ color: var(--tooltip-first-letter-fg, var(--ui-first-letter-fg, var(--first-letter-fg, inherit)));
227
247
  }
228
248
 
229
249
  .tooltip-wrapper {
@@ -0,0 +1,51 @@
1
+
2
+ @use 'functions' as fn;
3
+
4
+ @mixin clickable($prefixes...) {
5
+ cursor: fn.var-with-fallbacks(--cursor,append($prefixes, pointer)...);
6
+ transition: filter,transform fn.var-with-fallbacks(--transition,append($prefixes,300ms)...);
7
+ &:hover {
8
+ filter: fn.var-with-fallbacks(--hover-filter, append($prefixes, brightness(1.4))...);
9
+ transform: fn.var-with-fallbacks(--hover-transform, append($prefixes, none)...);
10
+
11
+ }
12
+ &:active {
13
+ filter: fn.var-with-fallbacks(--active-filter, append($prefixes, brightness(0.9))...);
14
+ transform: fn.var-with-fallbacks(--active-transform, append($prefixes, none)...);
15
+ }
16
+ &:disabled {
17
+ cursor: fn.var-with-fallbacks(--disabled-cursor, append($prefixes, not-allowed)...);
18
+ transform: fn.var-with-fallbacks(--disabled-transform, append($prefixes, none)...);
19
+ filter: fn.var-with-fallbacks(--disabled-filter, append($prefixes, grayscale(0.5))...);
20
+ }
21
+ }
22
+
23
+ @mixin custom-scrollbar($prefixes...) {
24
+ overflow-y: auto;
25
+
26
+ // Customizing the scrollbar
27
+ &::-webkit-scrollbar {
28
+ width: fn.var-with-fallbacks(--scrollbar-width, append($prefixes, var(--space-md))...);
29
+ height: fn.var-with-fallbacks(--scrollbar-height, append($prefixes, var(--gap))...);
30
+ }
31
+
32
+ &::-webkit-scrollbar-track {
33
+ background: fn.var-with-fallbacks(--scrollbar-track-bg, append($prefixes, var(--bg))...);
34
+ }
35
+
36
+ &::-webkit-scrollbar-thumb {
37
+ background: fn.var-with-fallbacks(--scrollbar-thumb-bg, append($prefixes, var(--stripe-bg))...);
38
+
39
+ border-radius: fn.var-with-fallbacks(--scrollbar-thumb-radius, append($prefixes, var(--border-radius))...);
40
+
41
+ &:hover {
42
+ background: fn.var-with-fallbacks(--scrollbar-thumb-hover-bg, append($prefixes, var(--secondary-bg))...);
43
+
44
+ }
45
+ }
46
+
47
+ // For Firefox
48
+ scrollbar-width: fn.var-with-fallbacks(--scrollbar-width, append($prefixes, thin)...);
49
+ scrollbar-color: fn.var-with-fallbacks(--scrollbar-thumb-bg, append($prefixes, #888)...) fn.var-with-fallbacks(--scrollbar-track-bg, append($prefixes, var(--border-color))...);
50
+ }
51
+
@@ -0,0 +1,112 @@
1
+
2
+ @use 'functions' as fn;
3
+
4
+ @mixin padding-props ($prefixes...) {
5
+ padding: fn.var-with-fallbacks(--padding, append($prefixes, 4px)...);
6
+ }
7
+
8
+ @mixin border-props-border ($prefixes...) {
9
+ border: fn.var-with-fallbacks(
10
+ --border,
11
+ append(
12
+ $prefixes,
13
+ var(--border-width, 1px) var(--border-style, solid) var(--border-color, var(--fg))
14
+ )...);
15
+ $directions: (
16
+ top,
17
+ right,
18
+ bottom,
19
+ left
20
+ );
21
+ $rectProps : (border);
22
+
23
+ // Loop through each direction
24
+ @each $dir in $directions {
25
+ // Apply prop for each direction
26
+ @each $p in $rectProps {
27
+ /* #{$p}-#{$dir}: fn.var-with-fallbacks(--#{$p}-#{$dir},
28
+ append($prefixes,
29
+ fn.var-with-fallbacks(--border,$prefixes...)
30
+ )...) */
31
+ }
32
+ }
33
+ }
34
+ @mixin border-props-none ($prefixes...) {
35
+ border: fn.var-with-fallbacks(--border, append($prefixes,inherit)...);
36
+ $directions: (
37
+ top,
38
+ right,
39
+ bottom,
40
+ left
41
+ );
42
+ $rectProps : (border);
43
+
44
+ // Loop through each direction
45
+ @each $dir in $directions {
46
+
47
+ // Apply prop for each direction
48
+ @each $p in $rectProps {
49
+ #{$p}-#{$dir}: fn.var-with-fallbacks(--#{$p}-#{$dir},
50
+ append($prefixes,
51
+ fn.var-with-fallbacks(--border,append($prefixes,none)...)
52
+ )...);
53
+ }
54
+ }
55
+ }
56
+
57
+ @mixin box-props-square-border($prefixes...) {
58
+ box-sizing: border-box;
59
+
60
+ @include border-props-border($prefixes...);
61
+ @include padding-props($prefixes...);
62
+ border-radius: fn.var-with-fallbacks(--square-radius, append($prefixes, 0)...);
63
+ }
64
+
65
+ @mixin box-props-square($prefixes...) {
66
+ box-sizing: border-box;
67
+ @include border-props-none($prefixes...);
68
+ @include padding-props($prefixes...);
69
+ border-radius: fn.var-with-fallbacks(--square-radius, append($prefixes, 0)...);
70
+ }
71
+
72
+ @mixin box-props($prefixes...) {
73
+ // Using the fn.var-with-fallbacks function for each property
74
+ box-sizing: border-box;
75
+ @include padding-props($prefixes...);
76
+ @include border-props-none($prefixes...);
77
+ border-radius: fn.var-with-fallbacks(--border-radius, append($prefixes,none)...);
78
+ }
79
+
80
+ @mixin box-props-border($prefixes...) {
81
+ box-sizing: border-box;
82
+ @include border-props-border($prefixes..., var(--border-width, 1px) var(--border-style, solid) var(--border-color, var(--fg)));
83
+ @include padding-props($prefixes...);
84
+ border-radius: fn.var-with-fallbacks(--radius, append($prefixes, 0)...);
85
+ }
86
+
87
+ @mixin box-props-bottom ($prefixes...) {
88
+ // Using the fn.var-with-fallbacks function for each property
89
+ box-sizing: border-box;
90
+ @include padding-props($prefixes...);
91
+ @include border-props-none($prefixes...);
92
+ border-bottom-right-radius: fn.var-with-fallbacks(--border-radius, $prefixes...);
93
+ border-bottom-left-radius: fn.var-with-fallbacks(--border-radius, $prefixes...);
94
+ }
95
+ @mixin box-props-top ($prefixes...) {
96
+ // Using the fn.var-with-fallbacks function for each property
97
+ box-sizing: border-box;
98
+ @include padding-props($prefixes...);
99
+ @include border-props-none($prefixes...);
100
+ border-top-right-radius: fn.var-with-fallbacks(--border-radius, $prefixes...);
101
+ border-top-left-radius: fn.var-with-fallbacks(--border-radius, $prefixes...);
102
+ }
103
+
104
+ @mixin box-shadow($prefixes...) {
105
+ //works:
106
+ $shadow-distance: fn.var-with-fallbacks(--shadow-distance, append($prefixes, var(--space-md))...);
107
+ $shadow-blur: fn.var-with-fallbacks(--shadow-blur, append($prefixes, var(--space))...);
108
+ $shadow-color: fn.var-with-fallbacks(--shadow-color, append($prefixes, rgba(127, 127, 127, 0.4))...);
109
+
110
+ box-shadow: $shadow-distance $shadow-distance $shadow-blur $shadow-color;
111
+ }
112
+
@@ -0,0 +1,8 @@
1
+ @use 'functions' as fn;
2
+
3
+ @mixin color-props ($prefixes...) {
4
+ background: fn.var-no-fallbacks(--bg, $prefixes...);
5
+ color: fn.var-no-fallbacks(--fg, $prefixes...);
6
+ --link-bg: #{fn.vars(link-bg, $prefixes...)};
7
+ --link-fg: #{fn.vars(link-fg, $prefixes...)};
8
+ }