contain-css-svelte 1.0.1 → 1.0.2

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.
package/dist/Card.svelte CHANGED
@@ -150,6 +150,8 @@ let hasFooter = $derived(Boolean(footer));
150
150
  text-indent: var(--card-first-paragraph-indent, var(--container-first-paragraph-indent, var(--first-paragraph-indent, var(--first-paragraph-indent, inherit))));
151
151
  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))));
152
152
  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))));
153
+ font-size: var(--card-first-paragraph-first-paragraph-font-size, var(--container-first-paragraph-first-paragraph-font-size, var(--first-paragraph-font-size, var(--card-paragraph-font-size, var(--container-paragraph-font-size, var(--paragraph-font-size, var(--card-font-size, var(--container-font-size, var(--font-size, inherit)))))))));
154
+ line-height: var(--card-first-paragraph-first-paragraph-line-height, var(--container-first-paragraph-first-paragraph-line-height, var(--first-paragraph-line-height, var(--card-paragraph-line-height, var(--container-paragraph-line-height, var(--paragraph-line-height, var(--card-line-height, var(--container-line-height, var(--line-height, inherit)))))))));
153
155
  margin-block-start: var(--card-first-paragraph-margin-top, var(--container-first-paragraph-margin-top, var(--first-paragraph-margin-top, 0)));
154
156
  }
155
157
 
@@ -190,6 +190,7 @@ button:focus-visible {
190
190
  --link-fg: var(--select-link-fg, var(--input-link-fg, var(--menu-link-fg, var(--control-link-fg, var(--container-link-fg, var(--container-link-fg, inherit))))));
191
191
  --fg: var(--select-fg, var(--input-fg, var(--menu-fg, var(--control-fg, var(--container-fg, var(--fg, unset))))));
192
192
  --bg: var(--select-bg, var(--input-bg, var(--menu-bg, var(--control-bg, var(--container-bg, var(--bg, unset))))));
193
+ --menu-item-justify: var(--select-menu-item-justify, flex-start);
193
194
  }
194
195
 
195
196
  .dropdown-menu :global(.dropdown-menu) > :global(button) {
@@ -38,6 +38,20 @@ div > :global(div > button) {
38
38
  border-bottom: var(--tab-border-bottom, var(--button-border-bottom, var(--control-border-bottom, var(--secondary-border-bottom, var(--border-bottom, var(--tab-border, var(--button-border, var(--control-border, var(--secondary-border, var(--border, none))))))))));
39
39
  border-left: var(--tab-border-left, var(--button-border-left, var(--control-border-left, var(--secondary-border-left, var(--border-left, var(--tab-border, var(--button-border, var(--control-border, var(--secondary-border, var(--border, none))))))))));
40
40
  border-radius: var(--tab-border-radius, var(--button-border-radius, var(--control-border-radius, var(--secondary-border-radius, var(--border-radius, none)))));
41
+ font-family: var(--tab-font-family, var(--button-font-family, var(--control-font-family, var(--secondary-font-family, var(--font-family, unset)))));
42
+ text-transform: var(--tab-text-transform, var(--button-text-transform, var(--control-text-transform, var(--secondary-text-transform, var(--text-transform, unset)))));
43
+ text-decoration: var(--tab-text-decoration, var(--button-text-decoration, var(--control-text-decoration, var(--secondary-text-decoration, var(--text-decoration, unset)))));
44
+ font-size: var(--tab-font-size, var(--button-font-size, var(--control-font-size, var(--secondary-font-size, var(--font-size, unset)))));
45
+ font-weight: var(--tab-font-weight, var(--button-font-weight, var(--control-font-weight, var(--secondary-font-weight, var(--font-weight, unset)))));
46
+ line-height: var(--tab-line-height, var(--button-line-height, var(--control-line-height, var(--secondary-line-height, var(--line-height, unset)))));
47
+ letter-spacing: var(--tab-letter-spacing, var(--button-letter-spacing, var(--control-letter-spacing, var(--secondary-letter-spacing, var(--letter-spacing, unset)))));
48
+ margin-top: var(--tab-margin, var(--button-margin, var(--control-margin, var(--secondary-margin, var(--margin, unset)))));
49
+ margin-top: var(--tab-margin-top, var(--button-margin-top, var(--control-margin-top, var(--secondary-margin-top, var(--margin-top, unset)))));
50
+ margin-bottom: var(--tab-margin, var(--button-margin, var(--control-margin, var(--secondary-margin, var(--margin, unset)))));
51
+ margin-bottom: var(--tab-margin-bottom, var(--button-margin-bottom, var(--control-margin-bottom, var(--secondary-margin-bottom, var(--margin-bottom, unset)))));
52
+ text-indent: var(--tab-indent, var(--button-indent, var(--control-indent, var(--secondary-indent, var(--indent, unset)))));
53
+ font-variant: var(--tab-font-variant, var(--button-font-variant, var(--control-font-variant, var(--secondary-font-variant, var(--font-variant, unset)))));
54
+ text-align: var(--tab-text-align, var(--button-text-align, var(--control-text-align, var(--secondary-text-align, var(--text-align, unset)))));
41
55
  }
42
56
 
43
57
  div > :global(button):focus-visible,
@@ -61,4 +75,18 @@ div.active > :global(div > button) {
61
75
  --link-fg: var(--tab-active-link-fg, var(--primary-link-fg, var(--tab-link-fg, var(--button-link-fg, var(--control-link-fg, var(--secondary-link-fg, var(--secondary-link-fg, inherit)))))));
62
76
  --fg: var(--tab-active-fg, var(--primary-fg, var(--tab-fg, var(--button-fg, var(--control-fg, var(--secondary-fg, var(--fg, unset)))))));
63
77
  --bg: var(--tab-active-bg, var(--primary-bg, var(--tab-bg, var(--button-bg, var(--control-bg, var(--secondary-bg, var(--bg, unset)))))));
78
+ font-family: var(--tab-active-font-family, var(--tab-font-family, var(--button-font-family, var(--control-font-family, var(--secondary-font-family, var(--font-family, unset))))));
79
+ text-transform: var(--tab-active-text-transform, var(--tab-text-transform, var(--button-text-transform, var(--control-text-transform, var(--secondary-text-transform, var(--text-transform, unset))))));
80
+ text-decoration: var(--tab-active-text-decoration, var(--tab-text-decoration, var(--button-text-decoration, var(--control-text-decoration, var(--secondary-text-decoration, var(--text-decoration, unset))))));
81
+ font-size: var(--tab-active-font-size, var(--tab-font-size, var(--button-font-size, var(--control-font-size, var(--secondary-font-size, var(--font-size, unset))))));
82
+ font-weight: var(--tab-active-font-weight, var(--tab-font-weight, var(--button-font-weight, var(--control-font-weight, var(--secondary-font-weight, var(--font-weight, unset))))));
83
+ line-height: var(--tab-active-line-height, var(--tab-line-height, var(--button-line-height, var(--control-line-height, var(--secondary-line-height, var(--line-height, unset))))));
84
+ letter-spacing: var(--tab-active-letter-spacing, var(--tab-letter-spacing, var(--button-letter-spacing, var(--control-letter-spacing, var(--secondary-letter-spacing, var(--letter-spacing, unset))))));
85
+ margin-top: var(--tab-active-margin, var(--tab-margin, var(--button-margin, var(--control-margin, var(--secondary-margin, var(--margin, unset))))));
86
+ margin-top: var(--tab-active-margin-top, var(--tab-margin-top, var(--button-margin-top, var(--control-margin-top, var(--secondary-margin-top, var(--margin-top, unset))))));
87
+ margin-bottom: var(--tab-active-margin, var(--tab-margin, var(--button-margin, var(--control-margin, var(--secondary-margin, var(--margin, unset))))));
88
+ margin-bottom: var(--tab-active-margin-bottom, var(--tab-margin-bottom, var(--button-margin-bottom, var(--control-margin-bottom, var(--secondary-margin-bottom, var(--margin-bottom, unset))))));
89
+ text-indent: var(--tab-active-indent, var(--tab-indent, var(--button-indent, var(--control-indent, var(--secondary-indent, var(--indent, unset))))));
90
+ font-variant: var(--tab-active-font-variant, var(--tab-font-variant, var(--button-font-variant, var(--control-font-variant, var(--secondary-font-variant, var(--font-variant, unset))))));
91
+ text-align: var(--tab-active-text-align, var(--tab-text-align, var(--button-text-align, var(--control-text-align, var(--secondary-text-align, var(--text-align, unset))))));
64
92
  }</style>
@@ -316,7 +316,7 @@ button {
316
316
  }
317
317
 
318
318
  .dropdown-container {
319
- overflow: hidden;
319
+ overflow-x: hidden;
320
320
  }
321
321
 
322
322
  .dropdown-container:popover-open {
@@ -324,7 +324,8 @@ button {
324
324
  pointer-events: all;
325
325
  position: fixed;
326
326
  inset: unset;
327
- overflow: hidden;
327
+ overflow-y: auto;
328
+ overflow-x: hidden;
328
329
  }
329
330
 
330
331
  .dropdown-content {
package/dist/index.d.ts CHANGED
@@ -14,6 +14,8 @@ import Bar from "./layout/Bar.svelte";
14
14
  import Column from "./layout/Column.svelte";
15
15
  import Columns from "./layout/Columns.svelte";
16
16
  import Container from "./layout/Container.svelte";
17
+ import DataList from "./layout/DataList.svelte";
18
+ import DataListItem from "./layout/DataListItem.svelte";
17
19
  import Fieldset from "./layout/Fieldset.svelte";
18
20
  import Form from "./layout/Form.svelte";
19
21
  import FormItem from "./layout/FormItem.svelte";
@@ -44,6 +46,7 @@ export { Button, ButtonLink, Checkbox, Input, Slider, RadioButton, MiniButton, S
44
46
  export { Bar, Container, GridLayout, MenuList, Page, ResponsiveText, TabBar };
45
47
  export { TextLayout, Code, Accordion };
46
48
  export { Card, Tile, Form, FormItem, FormProvider, Fieldset };
49
+ export { DataList, DataListItem };
47
50
  export { Row, Column, Columns, SplitPane, Sidebar };
48
51
  export { Dialog };
49
52
  export { Progress, Tooltip };
package/dist/index.js CHANGED
@@ -15,6 +15,8 @@ import Bar from "./layout/Bar.svelte";
15
15
  import Column from "./layout/Column.svelte";
16
16
  import Columns from "./layout/Columns.svelte";
17
17
  import Container from "./layout/Container.svelte";
18
+ import DataList from "./layout/DataList.svelte";
19
+ import DataListItem from "./layout/DataListItem.svelte";
18
20
  import Fieldset from "./layout/Fieldset.svelte";
19
21
  import Form from "./layout/Form.svelte";
20
22
  import FormItem from "./layout/FormItem.svelte";
@@ -44,6 +46,7 @@ export { Button, ButtonLink, Checkbox, Input, Slider, RadioButton, MiniButton, S
44
46
  export { Bar, Container, GridLayout, MenuList, Page, ResponsiveText, TabBar };
45
47
  export { TextLayout, Code, Accordion };
46
48
  export { Card, Tile, Form, FormItem, FormProvider, Fieldset };
49
+ export { DataList, DataListItem };
47
50
  export { Row, Column, Columns, SplitPane, Sidebar };
48
51
  export { Dialog };
49
52
  export { Progress, Tooltip };
@@ -136,6 +136,8 @@ section :global(h6 + p) {
136
136
  text-indent: var(--container-first-paragraph-indent, var(--block-first-paragraph-indent, var(--first-paragraph-indent, var(--first-paragraph-indent, inherit))));
137
137
  font-variant: var(--container-first-paragraph-font-variant, var(--block-first-paragraph-font-variant, var(--first-paragraph-font-variant, var(--first-paragraph-font-variant, inherit))));
138
138
  text-align: var(--container-first-paragraph-text-align, var(--block-first-paragraph-text-align, var(--first-paragraph-text-align, var(--first-paragraph-text-align, inherit))));
139
+ font-size: var(--container-first-paragraph-first-paragraph-font-size, var(--block-first-paragraph-first-paragraph-font-size, var(--first-paragraph-font-size, var(--container-paragraph-font-size, var(--block-paragraph-font-size, var(--paragraph-font-size, var(--container-font-size, var(--block-font-size, var(--font-size, inherit)))))))));
140
+ line-height: var(--container-first-paragraph-first-paragraph-line-height, var(--block-first-paragraph-first-paragraph-line-height, var(--first-paragraph-line-height, var(--container-paragraph-line-height, var(--block-paragraph-line-height, var(--paragraph-line-height, var(--container-line-height, var(--block-line-height, var(--line-height, inherit)))))))));
139
141
  margin-block-start: var(--container-first-paragraph-margin-top, var(--block-first-paragraph-margin-top, var(--first-paragraph-margin-top, 0)));
140
142
  }
141
143
 
@@ -0,0 +1,88 @@
1
+ <script lang="ts">import { injectVars } from "../util";
2
+ let { children, stackable = false, ...restProps } = $props();
3
+ const style = $derived(injectVars(restProps, "data-list", [
4
+ "bg",
5
+ "fg",
6
+ "padding",
7
+ "width",
8
+ "marginInline",
9
+ "marginLeft",
10
+ "marginRight",
11
+ "minWidth",
12
+ "maxWidth",
13
+ "height",
14
+ "gap",
15
+ "itemPadding",
16
+ "itemMinHeight",
17
+ "iconWidth",
18
+ "iconSize",
19
+ "iconBorderRadius",
20
+ "actionWidth",
21
+ "actionFlexDirection",
22
+ "actionWrap",
23
+ "actionCompactFlexDirection",
24
+ "actionCompactWrap",
25
+ "actionGap",
26
+ "itemBorder",
27
+ "selectedBg",
28
+ "selectedFg",
29
+ "selectedOutline",
30
+ "selectedBorder",
31
+ "selectionColor",
32
+ ]));
33
+ </script>
34
+
35
+ <ul class="data-list" class:stackable {style} {...restProps}>
36
+ {@render children?.()}
37
+ </ul>
38
+
39
+ <style>/* Warning: because we define a fallback
40
+ media query, the media query can override the container
41
+ if we stack a bunch of these in a row and aren't thoughtful about the order.
42
+ Put min-width queries *after* max-width queries so that smaller
43
+ container queries don't get their styles overridden by large media queries.
44
+ */
45
+ /* Convenience groupings */
46
+ .data-list {
47
+ background: var(--data-list-bg, var(--container-bg, var(--bg, unset)));
48
+ color: var(--data-list-fg, var(--container-fg, var(--fg, unset)));
49
+ --link-bg: var(--data-list-link-bg, var(--container-link-bg, var(--container-link-bg, inherit)));
50
+ --link-fg: var(--data-list-link-fg, var(--container-link-fg, var(--container-link-fg, inherit)));
51
+ --fg: var(--data-list-fg, var(--container-fg, var(--fg, unset)));
52
+ --bg: var(--data-list-bg, var(--container-bg, var(--bg, unset)));
53
+ box-sizing: border-box;
54
+ border: var(--data-list-border, var(--container-border, var(--border, var(--border-width, 1px) var(--border-style, solid) var(--border-color, var(--fg)))));
55
+ /* border-top: fn.var-with-fallbacks(--border-top,
56
+ append($prefixes,
57
+ fn.var-with-fallbacks(--border,$prefixes...)
58
+ )...) */
59
+ /* border-right: fn.var-with-fallbacks(--border-right,
60
+ append($prefixes,
61
+ fn.var-with-fallbacks(--border,$prefixes...)
62
+ )...) */
63
+ /* border-bottom: fn.var-with-fallbacks(--border-bottom,
64
+ append($prefixes,
65
+ fn.var-with-fallbacks(--border,$prefixes...)
66
+ )...) */
67
+ /* border-left: fn.var-with-fallbacks(--border-left,
68
+ append($prefixes,
69
+ fn.var-with-fallbacks(--border,$prefixes...)
70
+ )...) */
71
+ padding: var(--data-list-padding, var(--container-padding, var(--padding, 4px)));
72
+ border-radius: var(--data-list-square-radius, var(--container-square-radius, var(--square-radius, 0)));
73
+ box-shadow: var(--data-list-shadow-distance, var(--container-shadow-distance, var(--shadow-distance, var(--space)))) var(--data-list-shadow-distance, var(--container-shadow-distance, var(--shadow-distance, var(--space)))) var(--data-list-shadow-blur, var(--container-shadow-blur, var(--shadow-blur, var(--space)))) var(--data-list-shadow-color, var(--container-shadow-color, var(--shadow-color, rgba(127, 127, 127, 0.4))));
74
+ list-style: none;
75
+ padding: 0;
76
+ margin: var(--data-list-margin, var(--margin, 0));
77
+ margin-left: var(--data-list-margin-left, var(--margin-left, var(--data-list-margin-inline, auto)));
78
+ margin-right: var(--data-list-margin-right, var(--margin-right, var(--data-list-margin-inline, auto)));
79
+ width: var(--data-list-width, var(--width, 100%));
80
+ min-width: var(--data-list-min-width, var(--min-width, 0));
81
+ max-width: var(--data-list-max-width, var(--max-width, none));
82
+ overflow: hidden;
83
+ container-type: inline-size;
84
+ }
85
+
86
+ .data-list :global(.data-list-item:last-child) {
87
+ border-bottom: none;
88
+ }</style>
@@ -0,0 +1,33 @@
1
+ import type { Snippet } from "svelte";
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ import type { BaseStyleProps } from "../types";
4
+ type Props = {
5
+ children?: Snippet;
6
+ stackable?: boolean;
7
+ marginInline?: string | null;
8
+ marginLeft?: string | null;
9
+ marginRight?: string | null;
10
+ minWidth?: string | null;
11
+ maxWidth?: string | null;
12
+ gap?: string | null;
13
+ itemPadding?: string | null;
14
+ itemMinHeight?: string | null;
15
+ iconWidth?: string | null;
16
+ iconSize?: string | null;
17
+ iconBorderRadius?: string | null;
18
+ actionWidth?: string | null;
19
+ actionFlexDirection?: string | null;
20
+ actionWrap?: string | null;
21
+ actionCompactFlexDirection?: string | null;
22
+ actionCompactWrap?: string | null;
23
+ actionGap?: string | null;
24
+ itemBorder?: string | null;
25
+ selectedBg?: string | null;
26
+ selectedFg?: string | null;
27
+ selectedOutline?: string | null;
28
+ selectedBorder?: string | null;
29
+ selectionColor?: string | null;
30
+ } & BaseStyleProps & HTMLAttributes<HTMLUListElement>;
31
+ declare const DataList: import("svelte").Component<Props, {}, "">;
32
+ type DataList = ReturnType<typeof DataList>;
33
+ export default DataList;
@@ -0,0 +1,456 @@
1
+ <script lang="ts">import Checkbox from "../controls/Checkbox.svelte";
2
+ import { injectVars } from "../util";
3
+ let { start, end, children, interactive = false, selectable = false, checked = $bindable(false), tabindex = undefined, onclick = null, onkeydown = null, ...restProps } = $props();
4
+ const style = $derived(injectVars(restProps, "data-list-item", [
5
+ "bg",
6
+ "fg",
7
+ "padding",
8
+ "width",
9
+ "height",
10
+ "gap",
11
+ "rowGap",
12
+ "mainGap",
13
+ "itemPadding",
14
+ "itemMinHeight",
15
+ "iconWidth",
16
+ "iconSize",
17
+ "iconBorderRadius",
18
+ "actionWidth",
19
+ "actionFlexDirection",
20
+ "actionWrap",
21
+ "actionCompactFlexDirection",
22
+ "actionCompactWrap",
23
+ "actionGap",
24
+ "actionAlign",
25
+ "actionJustify",
26
+ "actionMobileJustify",
27
+ "itemBorder",
28
+ "selectedBg",
29
+ "selectedFg",
30
+ "selectedOutline",
31
+ "selectedBorder",
32
+ "selectionColor",
33
+ ]));
34
+ const hasStart = $derived(Boolean(start));
35
+ const hasCustomEnd = $derived(Boolean(end));
36
+ const hasDefaultSelector = $derived(selectable && !hasCustomEnd);
37
+ const hasEnd = $derived(hasCustomEnd || hasDefaultSelector);
38
+ const isInteractive = $derived(interactive || selectable);
39
+ const rowTabIndex = $derived(tabindex ?? (isInteractive ? 0 : undefined));
40
+ const rowRole = $derived(selectable ? "checkbox" : interactive ? "button" : undefined);
41
+ function isNestedControlTarget(target, currentTarget) {
42
+ if (!(target instanceof Element))
43
+ return false;
44
+ const nearestControl = target.closest("button, a, input, select, textarea, summary, [role='button'], [role='link'], [role='checkbox'], [role='menuitem']");
45
+ return Boolean(nearestControl && nearestControl !== currentTarget);
46
+ }
47
+ function handleClick(event) {
48
+ const bubblingFromNestedControl = event.target !== event.currentTarget &&
49
+ isNestedControlTarget(event.target, event.currentTarget);
50
+ if (bubblingFromNestedControl) {
51
+ return;
52
+ }
53
+ if (selectable) {
54
+ checked = !checked;
55
+ }
56
+ onclick?.(event);
57
+ }
58
+ function handleKeydown(event) {
59
+ const bubblingFromNestedControl = event.target !== event.currentTarget &&
60
+ isNestedControlTarget(event.target, event.currentTarget);
61
+ const isActivationKey = event.key === " " || event.key === "Enter";
62
+ if (selectable) {
63
+ if (!bubblingFromNestedControl && isActivationKey) {
64
+ event.preventDefault();
65
+ checked = !checked;
66
+ }
67
+ }
68
+ if (interactive && !selectable && !bubblingFromNestedControl && isActivationKey) {
69
+ event.preventDefault();
70
+ event.currentTarget.click();
71
+ }
72
+ onkeydown?.(event);
73
+ }
74
+ </script>
75
+
76
+ <!-- svelte-ignore a11y_no_noninteractive_tabindex -->
77
+ <!-- svelte-ignore a11y_no_noninteractive_element_interactions -->
78
+ <li
79
+ class="data-list-item"
80
+ class:hasStart
81
+ class:hasEnd
82
+ class:isInteractive
83
+ class:selectable
84
+ class:checked={selectable && checked}
85
+ {style}
86
+ tabindex={rowTabIndex}
87
+ role={rowRole}
88
+ aria-checked={selectable ? checked : undefined}
89
+ onclick={handleClick}
90
+ onkeydown={handleKeydown}
91
+ {...restProps}
92
+ >
93
+ {#if hasStart}
94
+ <div class="start">
95
+ {@render start?.()}
96
+ </div>
97
+ {/if}
98
+
99
+ <div class="main">
100
+ {@render children?.()}
101
+ </div>
102
+
103
+ {#if hasEnd}
104
+ <div class="end">
105
+ {#if hasCustomEnd}
106
+ {@render end?.()}
107
+ {:else if hasDefaultSelector}
108
+ <Checkbox
109
+ bind:checked
110
+ padding="0"
111
+ tabindex="-1"
112
+ aria-label={checked ? "Unselect row" : "Select row"}
113
+ />
114
+ {/if}
115
+ </div>
116
+ {/if}
117
+ </li>
118
+
119
+ <style>/* Warning: because we define a fallback
120
+ media query, the media query can override the container
121
+ if we stack a bunch of these in a row and aren't thoughtful about the order.
122
+ Put min-width queries *after* max-width queries so that smaller
123
+ container queries don't get their styles overridden by large media queries.
124
+ */
125
+ /* Convenience groupings */
126
+ .data-list-item {
127
+ background: var(--data-list-item-bg, var(--data-list-bg, var(--container-bg, var(--bg, unset))));
128
+ color: var(--data-list-item-fg, var(--data-list-fg, var(--container-fg, var(--fg, unset))));
129
+ --link-bg: var(--data-list-item-link-bg, var(--data-list-link-bg, var(--container-link-bg, var(--container-link-bg, inherit))));
130
+ --link-fg: var(--data-list-item-link-fg, var(--data-list-link-fg, var(--container-link-fg, var(--container-link-fg, inherit))));
131
+ --fg: var(--data-list-item-fg, var(--data-list-fg, var(--container-fg, var(--fg, unset))));
132
+ --bg: var(--data-list-item-bg, var(--data-list-bg, var(--container-bg, var(--bg, unset))));
133
+ max-width: var(--data-list-item-line-width, var(--data-list-line-width, var(--container-line-width, var(--line-width, unset))));
134
+ font-family: var(--data-list-item-body-font-family, var(--data-list-body-font-family, var(--container-body-font-family, var(--body-font-family, var(--font-family)))));
135
+ font-family: var(--data-list-item-font-family, var(--data-list-font-family, var(--container-font-family, var(--font-family, unset))));
136
+ text-transform: var(--data-list-item-text-transform, var(--data-list-text-transform, var(--container-text-transform, var(--text-transform, unset))));
137
+ text-decoration: var(--data-list-item-text-decoration, var(--data-list-text-decoration, var(--container-text-decoration, var(--text-decoration, unset))));
138
+ font-size: var(--data-list-item-font-size, var(--data-list-font-size, var(--container-font-size, var(--font-size, unset))));
139
+ font-weight: var(--data-list-item-font-weight, var(--data-list-font-weight, var(--container-font-weight, var(--font-weight, unset))));
140
+ line-height: var(--data-list-item-line-height, var(--data-list-line-height, var(--container-line-height, var(--line-height, unset))));
141
+ letter-spacing: var(--data-list-item-letter-spacing, var(--data-list-letter-spacing, var(--container-letter-spacing, var(--letter-spacing, unset))));
142
+ margin-top: var(--data-list-item-margin, var(--data-list-margin, var(--container-margin, var(--margin, unset))));
143
+ margin-top: var(--data-list-item-margin-top, var(--data-list-margin-top, var(--container-margin-top, var(--margin-top, unset))));
144
+ margin-bottom: var(--data-list-item-margin, var(--data-list-margin, var(--container-margin, var(--margin, unset))));
145
+ margin-bottom: var(--data-list-item-margin-bottom, var(--data-list-margin-bottom, var(--container-margin-bottom, var(--margin-bottom, unset))));
146
+ text-indent: var(--data-list-item-indent, var(--data-list-indent, var(--container-indent, var(--indent, unset))));
147
+ font-variant: var(--data-list-item-font-variant, var(--data-list-font-variant, var(--container-font-variant, var(--font-variant, unset))));
148
+ text-align: var(--data-list-item-text-align, var(--data-list-text-align, var(--container-text-align, var(--text-align, unset))));
149
+ }
150
+
151
+ .data-list-item :global(p),
152
+ .data-list-item :global(blockquote),
153
+ .data-list-item :global(dl),
154
+ .data-list-item :global(ul),
155
+ .data-list-item :global(ol) {
156
+ max-width: var(--data-list-item-line-width, var(--data-list-line-width, var(--container-line-width, var(--line-width, 40em))));
157
+ font-family: var(--data-list-item-body-font-family, var(--data-list-body-font-family, var(--container-body-font-family, var(--body-font-family, var(--font-family)))));
158
+ line-height: var(--data-list-item-line-height, var(--data-list-line-height, var(--container-line-height, var(--line-height, 1.5))));
159
+ margin-left: auto;
160
+ margin-right: auto;
161
+ font-weight: var(--data-list-item-body-font-weight, var(--data-list-body-font-weight, var(--container-body-font-weight, var(--body-font-weight, unset))));
162
+ }
163
+
164
+ .data-list-item :global(h1),
165
+ .data-list-item :global(h2),
166
+ .data-list-item :global(h3),
167
+ .data-list-item :global(h4),
168
+ .data-list-item :global(h5),
169
+ .data-list-item :global(h6) {
170
+ color: var(--data-list-item-heading-fg, var(--data-list-heading-fg, var(--container-heading-fg, var(--heading-fg, unset))));
171
+ background: var(--data-list-item-heading-bg, var(--data-list-heading-bg, var(--container-heading-bg, var(--heading-bg, transparent))));
172
+ max-width: var(--data-list-item-line-width, var(--data-list-line-width, var(--container-line-width, var(--line-width, unset))));
173
+ margin-left: auto;
174
+ margin-right: auto;
175
+ margin-bottom: var(--data-list-item-heading-margin-bottom, var(--data-list-heading-margin-bottom, var(--container-heading-margin-bottom, var(--heading-margin-bottom, 0))));
176
+ margin-top: var(--data-list-item-heading-margin-top, var(--data-list-heading-margin-top, var(--container-heading-margin-top, var(--heading-margin-top, 1.5em))));
177
+ /* Typography */
178
+ font-family: var(--data-list-item-heading-font-family, var(--data-list-heading-font-family, var(--container-heading-font-family, var(--heading-font-family, var(--heading-font-family, inherit)))));
179
+ text-transform: var(--data-list-item-heading-text-transform, var(--data-list-heading-text-transform, var(--container-heading-text-transform, var(--heading-text-transform, var(--heading-text-transform, inherit)))));
180
+ text-decoration: var(--data-list-item-heading-text-decoration, var(--data-list-heading-text-decoration, var(--container-heading-text-decoration, var(--heading-text-decoration, var(--heading-text-decoration, inherit)))));
181
+ font-size: var(--data-list-item-heading-font-size, var(--data-list-heading-font-size, var(--container-heading-font-size, var(--heading-font-size, var(--heading-font-size, inherit)))));
182
+ font-weight: var(--data-list-item-heading-font-weight, var(--data-list-heading-font-weight, var(--container-heading-font-weight, var(--heading-font-weight, var(--heading-font-weight, inherit)))));
183
+ line-height: var(--data-list-item-heading-line-height, var(--data-list-heading-line-height, var(--container-heading-line-height, var(--heading-line-height, var(--heading-line-height, inherit)))));
184
+ letter-spacing: var(--data-list-item-heading-letter-spacing, var(--data-list-heading-letter-spacing, var(--container-heading-letter-spacing, var(--heading-letter-spacing, var(--heading-letter-spacing, inherit)))));
185
+ text-indent: var(--data-list-item-heading-indent, var(--data-list-heading-indent, var(--container-heading-indent, var(--heading-indent, var(--heading-indent, inherit)))));
186
+ font-variant: var(--data-list-item-heading-font-variant, var(--data-list-heading-font-variant, var(--container-heading-font-variant, var(--heading-font-variant, var(--heading-font-variant, inherit)))));
187
+ text-align: var(--data-list-item-heading-text-align, var(--data-list-heading-text-align, var(--container-heading-text-align, var(--heading-text-align, var(--heading-text-align, inherit)))));
188
+ /* font-family: fn.var(--heading-font-family, var(--body-font-family, var(--font-family, inherit)));
189
+ font-size: fn.var(--heading-font-size, inherit);
190
+ font-weight: fn.var(--heading-font-weight, var(--body-font-weight, var(--font-weight, inherit)));
191
+ line-height: fn.var(--heading-line-height, var(--body-line-height, var(--line-height, inherit)));
192
+ letter-spacing: fn.var(--heading-letter-spacing, var(--body-letter-spacing, var(--letter-spacing, inherit)));
193
+ text-indent: fn.var(--heading-indent, var(--body-indent, var(--indent, inherit)));
194
+ font-variant: fn.var(--heading-font-variant, var(--body-font-variant, var(--font-variant, inherit)));
195
+ text-align: fn.var(--heading-text-align, var(--body-text-align, var(--text-align, inherit))); */
196
+ }
197
+
198
+ .data-list-item :global(p) {
199
+ font-family: var(--data-list-item-paragraph-font-family, var(--data-list-paragraph-font-family, var(--container-paragraph-font-family, var(--paragraph-font-family, var(--paragraph-font-family, inherit)))));
200
+ text-transform: var(--data-list-item-paragraph-text-transform, var(--data-list-paragraph-text-transform, var(--container-paragraph-text-transform, var(--paragraph-text-transform, var(--paragraph-text-transform, inherit)))));
201
+ text-decoration: var(--data-list-item-paragraph-text-decoration, var(--data-list-paragraph-text-decoration, var(--container-paragraph-text-decoration, var(--paragraph-text-decoration, var(--paragraph-text-decoration, inherit)))));
202
+ font-size: var(--data-list-item-paragraph-font-size, var(--data-list-paragraph-font-size, var(--container-paragraph-font-size, var(--paragraph-font-size, var(--paragraph-font-size, inherit)))));
203
+ font-weight: var(--data-list-item-paragraph-font-weight, var(--data-list-paragraph-font-weight, var(--container-paragraph-font-weight, var(--paragraph-font-weight, var(--paragraph-font-weight, inherit)))));
204
+ line-height: var(--data-list-item-paragraph-line-height, var(--data-list-paragraph-line-height, var(--container-paragraph-line-height, var(--paragraph-line-height, var(--paragraph-line-height, inherit)))));
205
+ letter-spacing: var(--data-list-item-paragraph-letter-spacing, var(--data-list-paragraph-letter-spacing, var(--container-paragraph-letter-spacing, var(--paragraph-letter-spacing, var(--paragraph-letter-spacing, inherit)))));
206
+ text-indent: var(--data-list-item-paragraph-indent, var(--data-list-paragraph-indent, var(--container-paragraph-indent, var(--paragraph-indent, var(--paragraph-indent, inherit)))));
207
+ font-variant: var(--data-list-item-paragraph-font-variant, var(--data-list-paragraph-font-variant, var(--container-paragraph-font-variant, var(--paragraph-font-variant, var(--paragraph-font-variant, inherit)))));
208
+ text-align: var(--data-list-item-paragraph-text-align, var(--data-list-paragraph-text-align, var(--container-paragraph-text-align, var(--paragraph-text-align, var(--paragraph-text-align, inherit)))));
209
+ }
210
+
211
+ .data-list-item :global(p:first-of-type),
212
+ .data-list-item :global(h1 + p),
213
+ .data-list-item :global(h2 + p),
214
+ .data-list-item :global(h3 + p),
215
+ .data-list-item :global(h4 + p),
216
+ .data-list-item :global(h5 + p),
217
+ .data-list-item :global(h6 + p) {
218
+ font-family: var(--data-list-item-first-paragraph-font-family, var(--data-list-first-paragraph-font-family, var(--container-first-paragraph-font-family, var(--first-paragraph-font-family, var(--first-paragraph-font-family, inherit)))));
219
+ text-transform: var(--data-list-item-first-paragraph-text-transform, var(--data-list-first-paragraph-text-transform, var(--container-first-paragraph-text-transform, var(--first-paragraph-text-transform, var(--first-paragraph-text-transform, inherit)))));
220
+ text-decoration: var(--data-list-item-first-paragraph-text-decoration, var(--data-list-first-paragraph-text-decoration, var(--container-first-paragraph-text-decoration, var(--first-paragraph-text-decoration, var(--first-paragraph-text-decoration, inherit)))));
221
+ font-size: var(--data-list-item-first-paragraph-font-size, var(--data-list-first-paragraph-font-size, var(--container-first-paragraph-font-size, var(--first-paragraph-font-size, var(--first-paragraph-font-size, inherit)))));
222
+ font-weight: var(--data-list-item-first-paragraph-font-weight, var(--data-list-first-paragraph-font-weight, var(--container-first-paragraph-font-weight, var(--first-paragraph-font-weight, var(--first-paragraph-font-weight, inherit)))));
223
+ line-height: var(--data-list-item-first-paragraph-line-height, var(--data-list-first-paragraph-line-height, var(--container-first-paragraph-line-height, var(--first-paragraph-line-height, var(--first-paragraph-line-height, inherit)))));
224
+ letter-spacing: var(--data-list-item-first-paragraph-letter-spacing, var(--data-list-first-paragraph-letter-spacing, var(--container-first-paragraph-letter-spacing, var(--first-paragraph-letter-spacing, var(--first-paragraph-letter-spacing, inherit)))));
225
+ text-indent: var(--data-list-item-first-paragraph-indent, var(--data-list-first-paragraph-indent, var(--container-first-paragraph-indent, var(--first-paragraph-indent, var(--first-paragraph-indent, inherit)))));
226
+ font-variant: var(--data-list-item-first-paragraph-font-variant, var(--data-list-first-paragraph-font-variant, var(--container-first-paragraph-font-variant, var(--first-paragraph-font-variant, var(--first-paragraph-font-variant, inherit)))));
227
+ text-align: var(--data-list-item-first-paragraph-text-align, var(--data-list-first-paragraph-text-align, var(--container-first-paragraph-text-align, var(--first-paragraph-text-align, var(--first-paragraph-text-align, inherit)))));
228
+ font-size: var(--data-list-item-first-paragraph-first-paragraph-font-size, var(--data-list-first-paragraph-first-paragraph-font-size, var(--container-first-paragraph-first-paragraph-font-size, var(--first-paragraph-font-size, var(--data-list-item-paragraph-font-size, var(--data-list-paragraph-font-size, var(--container-paragraph-font-size, var(--paragraph-font-size, var(--data-list-item-font-size, var(--data-list-font-size, var(--container-font-size, var(--font-size, inherit))))))))))));
229
+ line-height: var(--data-list-item-first-paragraph-first-paragraph-line-height, var(--data-list-first-paragraph-first-paragraph-line-height, var(--container-first-paragraph-first-paragraph-line-height, var(--first-paragraph-line-height, var(--data-list-item-paragraph-line-height, var(--data-list-paragraph-line-height, var(--container-paragraph-line-height, var(--paragraph-line-height, var(--data-list-item-line-height, var(--data-list-line-height, var(--container-line-height, var(--line-height, inherit))))))))))));
230
+ margin-block-start: var(--data-list-item-first-paragraph-margin-top, var(--data-list-first-paragraph-margin-top, var(--container-first-paragraph-margin-top, var(--first-paragraph-margin-top, 0))));
231
+ }
232
+
233
+ .data-list-item :global(p:first-of-type::first-line) {
234
+ font-family: var(--first-line-font-family, var(--data-list-item-first-line-font-family, var(--data-list-first-line-font-family, var(--container-first-line-font-family, var(--first-line-font-family, var(--first-line-font-family, inherit))))));
235
+ text-transform: var(--first-line-text-transform, var(--data-list-item-first-line-text-transform, var(--data-list-first-line-text-transform, var(--container-first-line-text-transform, var(--first-line-text-transform, var(--first-line-text-transform, inherit))))));
236
+ text-decoration: var(--first-line-text-decoration, var(--data-list-item-first-line-text-decoration, var(--data-list-first-line-text-decoration, var(--container-first-line-text-decoration, var(--first-line-text-decoration, var(--first-line-text-decoration, inherit))))));
237
+ font-size: var(--first-line-font-size, var(--data-list-item-first-line-font-size, var(--data-list-first-line-font-size, var(--container-first-line-font-size, var(--first-line-font-size, var(--first-line-font-size, inherit))))));
238
+ font-weight: var(--first-line-font-weight, var(--data-list-item-first-line-font-weight, var(--data-list-first-line-font-weight, var(--container-first-line-font-weight, var(--first-line-font-weight, var(--first-line-font-weight, inherit))))));
239
+ line-height: var(--first-line-line-height, var(--data-list-item-first-line-line-height, var(--data-list-first-line-line-height, var(--container-first-line-line-height, var(--first-line-line-height, var(--first-line-line-height, inherit))))));
240
+ letter-spacing: var(--first-line-letter-spacing, var(--data-list-item-first-line-letter-spacing, var(--data-list-first-line-letter-spacing, var(--container-first-line-letter-spacing, var(--first-line-letter-spacing, var(--first-line-letter-spacing, inherit))))));
241
+ text-indent: var(--first-line-indent, var(--data-list-item-first-line-indent, var(--data-list-first-line-indent, var(--container-first-line-indent, var(--first-line-indent, var(--first-line-indent, inherit))))));
242
+ font-variant: var(--first-line-font-variant, var(--data-list-item-first-line-font-variant, var(--data-list-first-line-font-variant, var(--container-first-line-font-variant, var(--first-line-font-variant, var(--first-line-font-variant, inherit))))));
243
+ text-align: var(--first-line-text-align, var(--data-list-item-first-line-text-align, var(--data-list-first-line-text-align, var(--container-first-line-text-align, var(--first-line-text-align, var(--first-line-text-align, inherit))))));
244
+ }
245
+
246
+ .data-list-item :global(p:first-of-type::first-letter) {
247
+ font-family: var(--first-letter-font-family, var(--data-list-item-first-letter-font-family, var(--data-list-first-letter-font-family, var(--container-first-letter-font-family, var(--container-first-letter-font-family, inherit)))));
248
+ text-transform: var(--first-letter-text-transform, var(--data-list-item-first-letter-text-transform, var(--data-list-first-letter-text-transform, var(--container-first-letter-text-transform, var(--container-first-letter-text-transform, inherit)))));
249
+ text-decoration: var(--first-letter-text-decoration, var(--data-list-item-first-letter-text-decoration, var(--data-list-first-letter-text-decoration, var(--container-first-letter-text-decoration, var(--container-first-letter-text-decoration, inherit)))));
250
+ font-size: var(--first-letter-font-size, var(--data-list-item-first-letter-font-size, var(--data-list-first-letter-font-size, var(--container-first-letter-font-size, var(--container-first-letter-font-size, inherit)))));
251
+ font-weight: var(--first-letter-font-weight, var(--data-list-item-first-letter-font-weight, var(--data-list-first-letter-font-weight, var(--container-first-letter-font-weight, var(--container-first-letter-font-weight, inherit)))));
252
+ line-height: var(--first-letter-line-height, var(--data-list-item-first-letter-line-height, var(--data-list-first-letter-line-height, var(--container-first-letter-line-height, var(--container-first-letter-line-height, inherit)))));
253
+ letter-spacing: var(--first-letter-letter-spacing, var(--data-list-item-first-letter-letter-spacing, var(--data-list-first-letter-letter-spacing, var(--container-first-letter-letter-spacing, var(--container-first-letter-letter-spacing, inherit)))));
254
+ text-indent: var(--first-letter-indent, var(--data-list-item-first-letter-indent, var(--data-list-first-letter-indent, var(--container-first-letter-indent, var(--container-first-letter-indent, inherit)))));
255
+ font-variant: var(--first-letter-font-variant, var(--data-list-item-first-letter-font-variant, var(--data-list-first-letter-font-variant, var(--container-first-letter-font-variant, var(--container-first-letter-font-variant, inherit)))));
256
+ text-align: var(--first-letter-text-align, var(--data-list-item-first-letter-text-align, var(--data-list-first-letter-text-align, var(--container-first-letter-text-align, var(--container-first-letter-text-align, inherit)))));
257
+ --link-bg: var(--data-list-item-link-bg, var(--data-list-link-bg, var(--container-link-bg, var(--container-link-bg, inherit))));
258
+ --link-fg: var(--data-list-item-link-fg, var(--data-list-link-fg, var(--container-link-fg, var(--container-link-fg, inherit))));
259
+ background: var(--data-list-item-first-letter-bg, var(--data-list-first-letter-bg, var(--container-first-letter-bg, var(--first-letter-bg, inherit))));
260
+ color: var(--data-list-item-first-letter-fg, var(--data-list-first-letter-fg, var(--container-first-letter-fg, var(--first-letter-fg, inherit))));
261
+ }
262
+
263
+ .data-list-item {
264
+ display: grid;
265
+ grid-template-columns: var(--data-list-item-icon-width, var(--data-list-icon-width, var(--icon-width, var(--data-list-item-icon-size, var(--data-list-icon-size, var(--icon-size, 2.5rem)))))) minmax(0, 1fr) var(--data-list-item-action-width, var(--data-list-action-width, var(--action-width, auto)));
266
+ grid-template-areas: "start main end";
267
+ column-gap: var(--data-list-item-gap, var(--data-list-gap, var(--gap, var(--space))));
268
+ row-gap: var(--data-list-item-row-gap, var(--data-list-row-gap, var(--row-gap, calc(var(--space) / 2))));
269
+ align-items: var(--data-list-item-align, var(--data-list-align, var(--align, center)));
270
+ padding: var(--data-list-item-item-padding, var(--data-list-item-padding, var(--item-padding, var(--padding))));
271
+ min-height: var(--data-list-item-item-min-height, var(--data-list-item-min-height, var(--item-min-height, 4.5rem)));
272
+ border-bottom: var(--data-list-item-item-border, var(--data-list-item-border, var(--item-border, 1px solid var(--border-color, rgba(127, 127, 127, 0.4)))));
273
+ box-sizing: border-box;
274
+ width: 100%;
275
+ max-width: none;
276
+ position: relative;
277
+ }
278
+
279
+ .data-list-item:not(.hasStart) {
280
+ grid-template-columns: minmax(0, 1fr) var(--data-list-item-action-width, var(--data-list-action-width, var(--action-width, auto)));
281
+ grid-template-areas: "main end";
282
+ }
283
+
284
+ .data-list-item:not(.hasEnd) {
285
+ grid-template-columns: var(--data-list-item-icon-width, var(--data-list-icon-width, var(--icon-width, var(--data-list-item-icon-size, var(--data-list-icon-size, var(--icon-size, 2.5rem)))))) minmax(0, 1fr);
286
+ grid-template-areas: "start main";
287
+ }
288
+
289
+ .data-list-item:not(.hasStart):not(.hasEnd) {
290
+ grid-template-columns: minmax(0, 1fr);
291
+ grid-template-areas: "main";
292
+ }
293
+
294
+ .start {
295
+ grid-area: start;
296
+ display: flex;
297
+ align-items: center;
298
+ justify-content: var(--data-list-item-icon-justify, var(--data-list-icon-justify, var(--icon-justify, center)));
299
+ }
300
+
301
+ .start :global(img) {
302
+ width: var(--data-list-item-icon-size, var(--data-list-icon-size, var(--icon-size, 2.5rem)));
303
+ height: var(--data-list-item-icon-size, var(--data-list-icon-size, var(--icon-size, 2.5rem)));
304
+ object-fit: cover;
305
+ border-radius: var(--data-list-item-icon-border-radius, var(--data-list-icon-border-radius, var(--icon-border-radius, var(--data-list-item-icon-radius, var(--data-list-icon-radius, var(--icon-radius, 0.375rem))))));
306
+ }
307
+
308
+ .main :global(h4),
309
+ .main :global(h5) {
310
+ font-size: var(--data-list-item-heading-font-size, var(--data-list-heading-font-size, var(--heading-font-size, var(--data-list-item-title-font-size, var(--data-list-title-font-size, var(--title-font-size, var(--heading-font-size, 1rem)))))));
311
+ font-weight: var(--data-list-item-heading-font-weight, var(--data-list-heading-font-weight, var(--heading-font-weight, var(--data-list-item-title-font-weight, var(--data-list-title-font-weight, var(--title-font-weight, 600))))));
312
+ line-height: var(--data-list-item-heading-line-height, var(--data-list-heading-line-height, var(--heading-line-height, var(--data-list-item-title-line-height, var(--data-list-title-line-height, var(--title-line-height, 1.25))))));
313
+ }
314
+
315
+ .main :global(p),
316
+ .main :global(p:first-of-type),
317
+ .main :global(h1 + p),
318
+ .main :global(h2 + p),
319
+ .main :global(h3 + p),
320
+ .main :global(h4 + p),
321
+ .main :global(h5 + p),
322
+ .main :global(h6 + p) {
323
+ font-size: var(--data-list-item-paragraph-font-size, var(--data-list-paragraph-font-size, var(--paragraph-font-size, var(--data-list-item-body-font-size, var(--data-list-body-font-size, var(--body-font-size, var(--font-size-small, 0.9rem)))))));
324
+ line-height: var(--data-list-item-paragraph-line-height, var(--data-list-paragraph-line-height, var(--paragraph-line-height, var(--data-list-item-body-line-height, var(--data-list-body-line-height, var(--body-line-height, 1.35))))));
325
+ opacity: var(--data-list-item-body-opacity, var(--data-list-body-opacity, var(--body-opacity, 0.9)));
326
+ }
327
+
328
+ .main {
329
+ grid-area: main;
330
+ min-width: 0;
331
+ display: flex;
332
+ flex-direction: column;
333
+ gap: var(--data-list-item-main-gap, var(--data-list-main-gap, var(--main-gap, 0.25em)));
334
+ }
335
+
336
+ .main :global(h1),
337
+ .main :global(h2),
338
+ .main :global(h3),
339
+ .main :global(h4),
340
+ .main :global(h5),
341
+ .main :global(h6),
342
+ .main :global(p) {
343
+ margin: 0;
344
+ max-width: none;
345
+ margin-left: 0;
346
+ margin-right: 0;
347
+ }
348
+
349
+ .end {
350
+ grid-area: end;
351
+ display: flex;
352
+ flex-direction: var(--data-list-item-action-flex-direction, var(--data-list-action-flex-direction, var(--action-flex-direction, row)));
353
+ flex-wrap: var(--data-list-item-action-wrap, var(--data-list-action-wrap, var(--action-wrap, nowrap)));
354
+ align-items: var(--data-list-item-action-align, var(--data-list-action-align, var(--action-align, center)));
355
+ justify-content: var(--data-list-item-action-justify, var(--data-list-action-justify, var(--action-justify, flex-end)));
356
+ gap: var(--data-list-item-action-gap, var(--data-list-action-gap, var(--action-gap, var(--space))));
357
+ min-width: 0;
358
+ }
359
+
360
+ .end :global(button),
361
+ .end :global(.button),
362
+ .end :global(a) {
363
+ margin: var(--data-list-action-control-margin, 0);
364
+ }
365
+
366
+ .data-list-item.isInteractive {
367
+ cursor: var(--data-list-item-cursor, var(--cursor, pointer));
368
+ transition: filter, transform var(--data-list-item-transition, var(--transition, 300ms));
369
+ }
370
+
371
+ .data-list-item.isInteractive:hover {
372
+ filter: var(--data-list-item-hover-filter, var(--hover-filter, brightness(1.05)));
373
+ transform: var(--data-list-item-hover-transform, var(--hover-transform, none));
374
+ }
375
+
376
+ .data-list-item.isInteractive:active {
377
+ filter: var(--data-list-item-active-filter, var(--active-filter, brightness(0.9)));
378
+ transform: var(--data-list-item-active-transform, var(--active-transform, none));
379
+ }
380
+
381
+ .data-list-item.isInteractive:disabled {
382
+ cursor: var(--data-list-item-disabled-cursor, var(--disabled-cursor, not-allowed));
383
+ transform: var(--data-list-item-disabled-transform, var(--disabled-transform, none));
384
+ filter: var(--data-list-item-disabled-filter, var(--disabled-filter, grayscale(0.5)));
385
+ }
386
+
387
+ .data-list-item.isInteractive:focus-visible::before {
388
+ content: "";
389
+ position: absolute;
390
+ inset: 0;
391
+ pointer-events: none;
392
+ z-index: 2;
393
+ outline: var(--focus-color, -webkit-focus-ring-color) auto 1px;
394
+ outline-offset: var(--focus-outline-offset, 2px);
395
+ box-shadow: var(--focus-ring-box-shadow, 0 0 0 3px var(--focus-shadow-color, rgba(100, 150, 250, 0.5)));
396
+ outline-offset: var(--data-list-item-focus-outline-offset, -2px);
397
+ box-shadow: var(--data-list-item-focus-ring-box-shadow, inset 0 0 0 2px var(--focus-shadow-color, rgba(100, 150, 250, 0.5)));
398
+ }
399
+
400
+ .data-list-item.selectable.checked {
401
+ background: var(--data-list-item-selected-bg, var(--data-list-selected-bg, var(--selected-bg, color-mix(in srgb, var(--primary-bg) 15%, transparent))));
402
+ color: var(--data-list-item-selected-fg, var(--data-list-selected-fg, var(--selected-fg, var(--data-list-item-fg, var(--data-list-fg, var(--fg, inherit))))));
403
+ --fg: var-with-fallbacks(
404
+ --selected-fg,
405
+ data-list-item,
406
+ data-list,
407
+ var-with-fallbacks(--fg, data-list-item, data-list, inherit)
408
+ );
409
+ --link-fg: var-with-fallbacks(
410
+ --selected-link-fg,
411
+ data-list-item,
412
+ data-list,
413
+ var-with-fallbacks(
414
+ --selected-fg,
415
+ data-list-item,
416
+ data-list,
417
+ var-with-fallbacks(--link-fg, data-list-item, data-list, inherit)
418
+ )
419
+ );
420
+ --data-list-item-selected-accent: var-with-fallbacks(
421
+ --selection-color,
422
+ data-list-item,
423
+ data-list,
424
+ var(--primary-bg)
425
+ );
426
+ }
427
+
428
+ .data-list-item.selectable.checked::after {
429
+ content: "";
430
+ position: absolute;
431
+ inset: 0;
432
+ z-index: 1;
433
+ border: var(--data-list-item-selected-border, var(--data-list-selected-border, var(--data-list-item-selected-outline, var(--data-list-selected-outline, none))));
434
+ pointer-events: none;
435
+ }
436
+
437
+ .data-list-item.selectable.checked + .data-list-item.selectable.checked::after {
438
+ border-top-width: 0;
439
+ }
440
+
441
+ @container (max-width: 640px) {
442
+ :global(.data-list.stackable) .data-list-item.hasStart.hasEnd {
443
+ grid-template-columns: var(--data-list-item-icon-width, var(--data-list-icon-width, var(--icon-width, var(--data-list-item-icon-size, var(--data-list-icon-size, var(--icon-size, 2.5rem)))))) minmax(0, 1fr);
444
+ grid-template-areas: "start main" "end end";
445
+ }
446
+ :global(.data-list.stackable) .data-list-item.hasStart.hasEnd .end {
447
+ flex-direction: var(--data-list-item-action-compact-flex-direction, var(--data-list-action-compact-flex-direction, var(--action-compact-flex-direction, row)));
448
+ flex-wrap: var(--data-list-item-action-compact-wrap, var(--data-list-action-compact-wrap, var(--action-compact-wrap, wrap)));
449
+ justify-content: var(--data-list-item-action-mobile-justify, var(--data-list-action-mobile-justify, var(--action-mobile-justify, flex-start)));
450
+ padding-inline-start: calc(var(--data-list-item-icon-width, var(--data-list-icon-width, var(--icon-width, var(--data-list-item-icon-size, var(--data-list-icon-size, var(--icon-size, 2.5rem)))))) + var(--data-list-item-gap, var(--data-list-gap, var(--gap, var(--space)))));
451
+ }
452
+ :global(.data-list.stackable) .data-list-item:not(.hasStart).hasEnd {
453
+ grid-template-columns: minmax(0, 1fr);
454
+ grid-template-areas: "main" "end";
455
+ }
456
+ }</style>
@@ -0,0 +1,40 @@
1
+ import type { Snippet } from "svelte";
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ import type { BaseStyleProps } from "../types";
4
+ type Props = {
5
+ start?: Snippet;
6
+ end?: Snippet;
7
+ children?: Snippet;
8
+ interactive?: boolean;
9
+ selectable?: boolean;
10
+ checked?: boolean;
11
+ tabindex?: number;
12
+ onclick?: ((event: MouseEvent) => void) | null;
13
+ onkeydown?: ((event: KeyboardEvent) => void) | null;
14
+ gap?: string | null;
15
+ rowGap?: string | null;
16
+ mainGap?: string | null;
17
+ itemPadding?: string | null;
18
+ itemMinHeight?: string | null;
19
+ iconWidth?: string | null;
20
+ iconSize?: string | null;
21
+ iconBorderRadius?: string | null;
22
+ actionWidth?: string | null;
23
+ actionFlexDirection?: string | null;
24
+ actionWrap?: string | null;
25
+ actionCompactFlexDirection?: string | null;
26
+ actionCompactWrap?: string | null;
27
+ actionGap?: string | null;
28
+ actionAlign?: string | null;
29
+ actionJustify?: string | null;
30
+ actionMobileJustify?: string | null;
31
+ itemBorder?: string | null;
32
+ selectedBg?: string | null;
33
+ selectedFg?: string | null;
34
+ selectedOutline?: string | null;
35
+ selectedBorder?: string | null;
36
+ selectionColor?: string | null;
37
+ } & BaseStyleProps & HTMLAttributes<HTMLLIElement>;
38
+ declare const DataListItem: import("svelte").Component<Props, {}, "checked">;
39
+ type DataListItem = ReturnType<typeof DataListItem>;
40
+ export default DataListItem;
@@ -130,6 +130,8 @@ const style = $derived(injectVars(restProps, "hero", [
130
130
  text-indent: var(--hero-first-paragraph-indent, var(--container-first-paragraph-indent, var(--first-paragraph-indent, var(--first-paragraph-indent, inherit))));
131
131
  font-variant: var(--hero-first-paragraph-font-variant, var(--container-first-paragraph-font-variant, var(--first-paragraph-font-variant, var(--first-paragraph-font-variant, inherit))));
132
132
  text-align: var(--hero-first-paragraph-text-align, var(--container-first-paragraph-text-align, var(--first-paragraph-text-align, var(--first-paragraph-text-align, inherit))));
133
+ font-size: var(--hero-first-paragraph-first-paragraph-font-size, var(--container-first-paragraph-first-paragraph-font-size, var(--first-paragraph-font-size, var(--hero-paragraph-font-size, var(--container-paragraph-font-size, var(--paragraph-font-size, var(--hero-font-size, var(--container-font-size, var(--font-size, inherit)))))))));
134
+ line-height: var(--hero-first-paragraph-first-paragraph-line-height, var(--container-first-paragraph-first-paragraph-line-height, var(--first-paragraph-line-height, var(--hero-paragraph-line-height, var(--container-paragraph-line-height, var(--paragraph-line-height, var(--hero-line-height, var(--container-line-height, var(--line-height, inherit)))))))));
133
135
  margin-block-start: var(--hero-first-paragraph-margin-top, var(--container-first-paragraph-margin-top, var(--first-paragraph-margin-top, 0)));
134
136
  }
135
137
 
@@ -41,31 +41,57 @@ const style = $derived(injectVars(restProps, "menu", [
41
41
  overflow: hidden;
42
42
  }
43
43
 
44
- .menu :global(li:has(> a)),
45
- .menu :global(li:has(> button)) {
44
+ .menu :global(li > a),
45
+ .menu :global(li > button),
46
+ .menu :global(li > input[type="submit"]),
47
+ .menu :global(li > .button) {
48
+ width: 100%;
49
+ flex: 1 1 auto;
50
+ box-sizing: border-box;
51
+ }
52
+
53
+ .menu :global(li.subheader),
54
+ .menu :global(li.interactive),
55
+ .menu :global(li[role="button"]),
56
+ .menu :global(li[tabindex]:not([tabindex="-1"])) {
46
57
  cursor: var(--menu-item-cursor, var(--cursor, pointer));
47
58
  transition: filter, transform var(--menu-item-transition, var(--transition, 300ms));
48
59
  }
49
60
 
50
- .menu :global(li:has(> a)):hover,
51
- .menu :global(li:has(> button)):hover {
61
+ .menu :global(li.subheader):hover,
62
+ .menu :global(li.interactive):hover,
63
+ .menu :global(li[role="button"]):hover,
64
+ .menu :global(li[tabindex]:not([tabindex="-1"])):hover {
52
65
  filter: var(--menu-item-hover-filter, var(--hover-filter, brightness(1.05)));
53
66
  transform: var(--menu-item-hover-transform, var(--hover-transform, none));
54
67
  }
55
68
 
56
- .menu :global(li:has(> a)):active,
57
- .menu :global(li:has(> button)):active {
69
+ .menu :global(li.subheader):active,
70
+ .menu :global(li.interactive):active,
71
+ .menu :global(li[role="button"]):active,
72
+ .menu :global(li[tabindex]:not([tabindex="-1"])):active {
58
73
  filter: var(--menu-item-active-filter, var(--active-filter, brightness(0.9)));
59
74
  transform: var(--menu-item-active-transform, var(--active-transform, none));
60
75
  }
61
76
 
62
- .menu :global(li:has(> a)):disabled,
63
- .menu :global(li:has(> button)):disabled {
77
+ .menu :global(li.subheader):disabled,
78
+ .menu :global(li.interactive):disabled,
79
+ .menu :global(li[role="button"]):disabled,
80
+ .menu :global(li[tabindex]:not([tabindex="-1"])):disabled {
64
81
  cursor: var(--menu-item-disabled-cursor, var(--disabled-cursor, not-allowed));
65
82
  transform: var(--menu-item-disabled-transform, var(--disabled-transform, none));
66
83
  filter: var(--menu-item-disabled-filter, var(--disabled-filter, grayscale(0.5)));
67
84
  }
68
85
 
86
+ .menu :global(li.subheader):focus-visible,
87
+ .menu :global(li.interactive):focus-visible,
88
+ .menu :global(li[role="button"]):focus-visible,
89
+ .menu :global(li[tabindex]:not([tabindex="-1"])):focus-visible {
90
+ outline: var(--focus-color, -webkit-focus-ring-color) auto 1px;
91
+ outline-offset: var(--focus-outline-offset, 2px);
92
+ box-shadow: var(--focus-ring-box-shadow, 0 0 0 3px var(--focus-shadow-color, rgba(100, 150, 250, 0.5)));
93
+ }
94
+
69
95
  .menu :global(a), .menu :global(button), .menu :global(input[type="submit"]), .menu :global(.button) {
70
96
  display: flex;
71
97
  justify-content: var(--menu-item-justify, center);
@@ -87,12 +113,12 @@ const style = $derived(injectVars(restProps, "menu", [
87
113
  text-indent: var(--menu-item-indent, var(--button-indent, var(--ui-indent, var(--control-indent, var(--indent, unset)))));
88
114
  font-variant: var(--menu-item-font-variant, var(--button-font-variant, var(--ui-font-variant, var(--control-font-variant, var(--font-variant, unset)))));
89
115
  text-align: var(--menu-item-text-align, var(--button-text-align, var(--ui-text-align, var(--control-text-align, var(--text-align, unset)))));
90
- background: var(--menu-item-bg, var(--button-bg, var(--control-bg, var(--bg, unset))));
91
- color: var(--menu-item-fg, var(--button-fg, var(--control-fg, var(--fg, unset))));
92
- --link-bg: var(--menu-item-link-bg, var(--button-link-bg, var(--control-link-bg, var(--control-link-bg, inherit))));
93
- --link-fg: var(--menu-item-link-fg, var(--button-link-fg, var(--control-link-fg, var(--control-link-fg, inherit))));
94
- --fg: var(--menu-item-fg, var(--button-fg, var(--control-fg, var(--fg, unset))));
95
- --bg: var(--menu-item-bg, var(--button-bg, var(--control-bg, var(--bg, unset))));
116
+ background: var(--menu-item-bg, var(--menu-bg, var(--button-bg, var(--control-bg, var(--bg, unset)))));
117
+ color: var(--menu-item-fg, var(--menu-fg, var(--button-fg, var(--control-fg, var(--fg, unset)))));
118
+ --link-bg: var(--menu-item-link-bg, var(--menu-link-bg, var(--button-link-bg, var(--control-link-bg, var(--control-link-bg, inherit)))));
119
+ --link-fg: var(--menu-item-link-fg, var(--menu-link-fg, var(--button-link-fg, var(--control-link-fg, var(--control-link-fg, inherit)))));
120
+ --fg: var(--menu-item-fg, var(--menu-fg, var(--button-fg, var(--control-fg, var(--fg, unset)))));
121
+ --bg: var(--menu-item-bg, var(--menu-bg, var(--button-bg, var(--control-bg, var(--bg, unset)))));
96
122
  box-sizing: border-box;
97
123
  border: var(--menu-item-border, var(--button-border, var(--control-border, var(--border, inherit))));
98
124
  border-top: var(--menu-item-border-top, var(--button-border-top, var(--control-border-top, var(--border-top, var(--menu-item-border, var(--button-border, var(--control-border, var(--border, none))))))));
@@ -101,6 +127,7 @@ const style = $derived(injectVars(restProps, "menu", [
101
127
  border-left: var(--menu-item-border-left, var(--button-border-left, var(--control-border-left, var(--border-left, var(--menu-item-border, var(--button-border, var(--control-border, var(--border, none))))))));
102
128
  padding: var(--menu-item-padding, var(--button-padding, var(--control-padding, var(--padding, 4px))));
103
129
  border-radius: var(--menu-item-square-radius, var(--button-square-radius, var(--control-square-radius, var(--square-radius, 0))));
130
+ margin: 0;
104
131
  }
105
132
 
106
133
  .menu :global(a):focus-visible, .menu :global(button):focus-visible, .menu :global(input[type="submit"]):focus-visible, .menu :global(.button):focus-visible {
@@ -110,7 +137,34 @@ const style = $derived(injectVars(restProps, "menu", [
110
137
  }
111
138
 
112
139
  .menu :global(a), .menu :global(button), .menu :global(input[type="submit"]), .menu :global(.button) {
113
- /* @include clickable(menu-item); */
140
+ cursor: var(--menu-item-cursor, var(--cursor, pointer));
141
+ transition: filter, transform var(--menu-item-transition, var(--transition, 300ms));
142
+ }
143
+
144
+ .menu :global(a):hover, .menu :global(button):hover, .menu :global(input[type="submit"]):hover, .menu :global(.button):hover {
145
+ filter: var(--menu-item-hover-filter, var(--hover-filter, brightness(1.05)));
146
+ transform: var(--menu-item-hover-transform, var(--hover-transform, none));
147
+ }
148
+
149
+ .menu :global(a):active, .menu :global(button):active, .menu :global(input[type="submit"]):active, .menu :global(.button):active {
150
+ filter: var(--menu-item-active-filter, var(--active-filter, brightness(0.9)));
151
+ transform: var(--menu-item-active-transform, var(--active-transform, none));
152
+ }
153
+
154
+ .menu :global(a):disabled, .menu :global(button):disabled, .menu :global(input[type="submit"]):disabled, .menu :global(.button):disabled {
155
+ cursor: var(--menu-item-disabled-cursor, var(--disabled-cursor, not-allowed));
156
+ transform: var(--menu-item-disabled-transform, var(--disabled-transform, none));
157
+ filter: var(--menu-item-disabled-filter, var(--disabled-filter, grayscale(0.5)));
158
+ }
159
+
160
+ .menu :global(li:hover > a:not(.active)), .menu :global(li:hover > button:not(.active)), .menu :global(li:hover > input[type="submit"]:not(.active)), .menu :global(li:hover > .button:not(.active)) {
161
+ background: var(--menu-item-hover-bg, var(--menu-item-bg, var(--menu-bg, var(--bg, unset))));
162
+ color: var(--menu-item-hover-fg, var(--menu-item-fg, var(--menu-fg, var(--fg, inherit))));
163
+ }
164
+
165
+ .menu :global(li:active > a:not(.active)), .menu :global(li:active > button:not(.active)), .menu :global(li:active > input[type="submit"]:not(.active)), .menu :global(li:active > .button:not(.active)) {
166
+ background: var(--menu-item-active-bg, var(--menu-item-bg, var(--menu-bg, var(--bg, unset))));
167
+ color: var(--menu-item-active-fg, var(--menu-item-fg, var(--menu-fg, var(--fg, inherit))));
114
168
  }
115
169
 
116
170
  .menu :global(.active) {
@@ -36,14 +36,30 @@ function setSize(newLeftWidth, newRightWidth) {
36
36
  // Don't allow too small of widths
37
37
  return;
38
38
  }
39
- let containerWidth = splitPaneContainer.getBoundingClientRect().width;
40
- let resizerWidth = resizerDiv.getBoundingClientRect().width;
41
- if (newLeftWidth + newRightWidth + resizerWidth > containerWidth) {
42
- // Don't allow the panes to overflow the container
43
- // Keep the left and shrink the right...
44
- newRightWidth = containerWidth - newLeftWidth - resizerWidth;
39
+ const containerStyle = getComputedStyle(splitPaneContainer);
40
+ const columnGap = Number.parseFloat(containerStyle.columnGap || "0") || 0;
41
+ const totalGap = columnGap * 2; // 3 columns => 2 gaps
42
+ const resizerWidth = resizerDiv.getBoundingClientRect().width;
43
+ const availableWidth = splitPaneContainer.clientWidth - totalGap;
44
+ const minRequired = resizerWidth + MIN_SIZE * 2;
45
+ if (availableWidth <= minRequired) {
46
+ return;
47
+ }
48
+ if (newLeftWidth + newRightWidth + resizerWidth > availableWidth) {
49
+ // Don't allow panes to overflow the available grid track width.
50
+ // Keep the left and shrink the right.
51
+ newRightWidth = availableWidth - newLeftWidth - resizerWidth;
52
+ }
53
+ if (newRightWidth < MIN_SIZE) {
54
+ // If right becomes too small after clamping, keep both panes usable.
55
+ newRightWidth = MIN_SIZE;
56
+ newLeftWidth = availableWidth - resizerWidth - newRightWidth;
57
+ }
58
+ if (newLeftWidth < MIN_SIZE) {
59
+ newLeftWidth = MIN_SIZE;
60
+ newRightWidth = availableWidth - resizerWidth - newLeftWidth;
45
61
  }
46
- resizeStyle = `grid-template-columns: ${newLeftWidth}px 8px ${newRightWidth}px`;
62
+ resizeStyle = `grid-template-columns: ${newLeftWidth}px ${resizerWidth}px ${newRightWidth}px`;
47
63
  }
48
64
  function onMouseUp() {
49
65
  document.removeEventListener("mousemove", onMouseMove);
@@ -129,6 +145,7 @@ onMount(() => {
129
145
  container-type: inline-size;
130
146
  display: flex;
131
147
  flex-direction: column;
148
+ min-width: 0;
132
149
  }
133
150
 
134
151
  /* Resizer */
@@ -297,6 +297,8 @@ table :global(h6 + p) {
297
297
  text-indent: var(--table-first-paragraph-indent, var(--container-first-paragraph-indent, var(--paragraph-first-paragraph-indent, var(--first-paragraph-indent, var(--first-paragraph-indent, inherit)))));
298
298
  font-variant: var(--table-first-paragraph-font-variant, var(--container-first-paragraph-font-variant, var(--paragraph-first-paragraph-font-variant, var(--first-paragraph-font-variant, var(--first-paragraph-font-variant, inherit)))));
299
299
  text-align: var(--table-first-paragraph-text-align, var(--container-first-paragraph-text-align, var(--paragraph-first-paragraph-text-align, var(--first-paragraph-text-align, var(--first-paragraph-text-align, inherit)))));
300
+ font-size: var(--table-first-paragraph-first-paragraph-font-size, var(--container-first-paragraph-first-paragraph-font-size, var(--paragraph-first-paragraph-first-paragraph-font-size, var(--first-paragraph-font-size, var(--table-paragraph-font-size, var(--container-paragraph-font-size, var(--paragraph-paragraph-font-size, var(--paragraph-font-size, var(--table-font-size, var(--container-font-size, var(--paragraph-font-size, var(--font-size, inherit))))))))))));
301
+ line-height: var(--table-first-paragraph-first-paragraph-line-height, var(--container-first-paragraph-first-paragraph-line-height, var(--paragraph-first-paragraph-first-paragraph-line-height, var(--first-paragraph-line-height, var(--table-paragraph-line-height, var(--container-paragraph-line-height, var(--paragraph-paragraph-line-height, var(--paragraph-line-height, var(--table-line-height, var(--container-line-height, var(--paragraph-line-height, var(--line-height, inherit))))))))))));
300
302
  margin-block-start: var(--table-first-paragraph-margin-top, var(--container-first-paragraph-margin-top, var(--paragraph-first-paragraph-margin-top, var(--first-paragraph-margin-top, 0))));
301
303
  }
302
304
 
@@ -158,6 +158,8 @@ export {};
158
158
  text-indent: var(--tile-first-paragraph-indent, var(--first-paragraph-indent, var(--first-paragraph-indent, inherit)));
159
159
  font-variant: var(--tile-first-paragraph-font-variant, var(--first-paragraph-font-variant, var(--first-paragraph-font-variant, inherit)));
160
160
  text-align: var(--tile-first-paragraph-text-align, var(--first-paragraph-text-align, var(--first-paragraph-text-align, inherit)));
161
+ font-size: var(--tile-first-paragraph-first-paragraph-font-size, var(--first-paragraph-font-size, var(--tile-paragraph-font-size, var(--paragraph-font-size, var(--tile-font-size, var(--font-size, inherit))))));
162
+ line-height: var(--tile-first-paragraph-first-paragraph-line-height, var(--first-paragraph-line-height, var(--tile-paragraph-line-height, var(--paragraph-line-height, var(--tile-line-height, var(--line-height, inherit))))));
161
163
  margin-block-start: var(--tile-first-paragraph-margin-top, var(--first-paragraph-margin-top, 0));
162
164
  }
163
165
 
@@ -171,6 +171,8 @@ let halfFull = $derived(fillFraction > 0.5);
171
171
  text-indent: var(--progress-first-paragraph-indent, var(--ui-first-paragraph-indent, var(--first-paragraph-indent, var(--first-paragraph-indent, inherit))));
172
172
  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))));
173
173
  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))));
174
+ font-size: var(--progress-first-paragraph-first-paragraph-font-size, var(--ui-first-paragraph-first-paragraph-font-size, var(--first-paragraph-font-size, var(--progress-paragraph-font-size, var(--ui-paragraph-font-size, var(--paragraph-font-size, var(--progress-font-size, var(--ui-font-size, var(--font-size, inherit)))))))));
175
+ line-height: var(--progress-first-paragraph-first-paragraph-line-height, var(--ui-first-paragraph-first-paragraph-line-height, var(--first-paragraph-line-height, var(--progress-paragraph-line-height, var(--ui-paragraph-line-height, var(--paragraph-line-height, var(--progress-line-height, var(--ui-line-height, var(--line-height, inherit)))))))));
174
176
  margin-block-start: var(--progress-first-paragraph-margin-top, var(--ui-first-paragraph-margin-top, var(--first-paragraph-margin-top, 0)));
175
177
  }
176
178
 
@@ -237,6 +237,8 @@ function showPopover() {
237
237
  text-indent: var(--tooltip-first-paragraph-indent, var(--ui-first-paragraph-indent, var(--first-paragraph-indent, var(--first-paragraph-indent, inherit))));
238
238
  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))));
239
239
  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))));
240
+ font-size: var(--tooltip-first-paragraph-first-paragraph-font-size, var(--ui-first-paragraph-first-paragraph-font-size, var(--first-paragraph-font-size, var(--tooltip-paragraph-font-size, var(--ui-paragraph-font-size, var(--paragraph-font-size, var(--tooltip-font-size, var(--ui-font-size, var(--font-size, inherit)))))))));
241
+ line-height: var(--tooltip-first-paragraph-first-paragraph-line-height, var(--ui-first-paragraph-first-paragraph-line-height, var(--first-paragraph-line-height, var(--tooltip-paragraph-line-height, var(--ui-paragraph-line-height, var(--paragraph-line-height, var(--tooltip-line-height, var(--ui-line-height, var(--line-height, inherit)))))))));
240
242
  margin-block-start: var(--tooltip-first-paragraph-margin-top, var(--ui-first-paragraph-margin-top, var(--first-paragraph-margin-top, 0)));
241
243
  }
242
244
 
@@ -120,6 +120,29 @@
120
120
  @include typography-props-bare(
121
121
  append(map-prefixes(first-paragraph, $prefixes), first-paragraph)...
122
122
  );
123
+ font-size: fn.var-with-fallbacks(
124
+ --first-paragraph-font-size,
125
+ append(
126
+ map-prefixes(first-paragraph, $prefixes),
127
+ fn.var-with-fallbacks(
128
+ --paragraph-font-size,
129
+ append($prefixes, fn.var-with-fallbacks(--font-size, append($prefixes, inherit)...))...
130
+ )
131
+ )...
132
+ );
133
+ line-height: fn.var-with-fallbacks(
134
+ --first-paragraph-line-height,
135
+ append(
136
+ map-prefixes(first-paragraph, $prefixes),
137
+ fn.var-with-fallbacks(
138
+ --paragraph-line-height,
139
+ append(
140
+ $prefixes,
141
+ fn.var-with-fallbacks(--line-height, append($prefixes, inherit)...)
142
+ )...
143
+ )
144
+ )...
145
+ );
123
146
  margin-block-start: fn.var-with-fallbacks(
124
147
  --first-paragraph-margin-top,
125
148
  append($prefixes, 0)...
@@ -109,6 +109,8 @@ div :global(h6 + p) {
109
109
  text-indent: var(--body-first-paragraph-indent, var(--text-first-paragraph-indent, var(--first-paragraph-indent, var(--first-paragraph-indent, inherit))));
110
110
  font-variant: var(--body-first-paragraph-font-variant, var(--text-first-paragraph-font-variant, var(--first-paragraph-font-variant, var(--first-paragraph-font-variant, inherit))));
111
111
  text-align: var(--body-first-paragraph-text-align, var(--text-first-paragraph-text-align, var(--first-paragraph-text-align, var(--first-paragraph-text-align, inherit))));
112
+ font-size: var(--body-first-paragraph-first-paragraph-font-size, var(--text-first-paragraph-first-paragraph-font-size, var(--first-paragraph-font-size, var(--body-paragraph-font-size, var(--text-paragraph-font-size, var(--paragraph-font-size, var(--body-font-size, var(--text-font-size, var(--font-size, inherit)))))))));
113
+ line-height: var(--body-first-paragraph-first-paragraph-line-height, var(--text-first-paragraph-first-paragraph-line-height, var(--first-paragraph-line-height, var(--body-paragraph-line-height, var(--text-paragraph-line-height, var(--paragraph-line-height, var(--body-line-height, var(--text-line-height, var(--line-height, inherit)))))))));
112
114
  margin-block-start: var(--body-first-paragraph-margin-top, var(--text-first-paragraph-margin-top, var(--first-paragraph-margin-top, 0)));
113
115
  }
114
116
 
@@ -9,6 +9,14 @@
9
9
  /* --button-hover-filter: var(--hover-filter); */
10
10
  --menu-hover-filter: var(--hover-filter);
11
11
  --menu-hover-transform: var(--hover-transform);
12
+ /* Menu items are often on light backgrounds; brighten can look invisible there. */
13
+ --menu-item-hover-filter: brightness(0.95)
14
+ drop-shadow(
15
+ var(--space) var(--space) var(--shadow-blur) var(--shadow-color)
16
+ );
17
+ /* Default menu items to the menu surface so row-wide filters read clearly. */
18
+ --menu-item-bg: var(--menu-bg, var(--bg));
19
+ --menu-item-active-filter: brightness(0.92);
12
20
  /* --button-hover-transform: var(var(--button-hover-transform));
13
21
  --button-hover-filter: var(var(--button-hover-filter)); */
14
22
  --transition: 300ms;
@@ -18,6 +18,10 @@
18
18
  --first-heading-padding: 0;
19
19
  --paragraph-padding: 0;
20
20
  --paragraph-margin-top: 1em;
21
+
22
+ /* DataList defaults: denser than global heading/paragraph text */
23
+ --data-list-heading-font-size: var(--font-size);
24
+ --data-list-paragraph-font-size: var(--font-size-small);
21
25
  }
22
26
  :root {
23
27
  --white: #fff;
@@ -400,6 +404,14 @@ a {
400
404
  /* --button-hover-filter: var(--hover-filter); */
401
405
  --menu-hover-filter: var(--hover-filter);
402
406
  --menu-hover-transform: var(--hover-transform);
407
+ /* Menu items are often on light backgrounds; brighten can look invisible there. */
408
+ --menu-item-hover-filter: brightness(0.95)
409
+ drop-shadow(
410
+ var(--space) var(--space) var(--shadow-blur) var(--shadow-color)
411
+ );
412
+ /* Default menu items to the menu surface so row-wide filters read clearly. */
413
+ --menu-item-bg: var(--menu-bg, var(--bg));
414
+ --menu-item-active-filter: brightness(0.92);
403
415
  /* --button-hover-transform: var(var(--button-hover-transform));
404
416
  --button-hover-filter: var(var(--button-hover-filter)); */
405
417
  --transition: 300ms;
@@ -9,6 +9,7 @@
9
9
  --sidebar-fg: var(--material-color-grey-900);
10
10
 
11
11
  --menu-fg: var(--material-color-grey-900);
12
+ --menu-bg: var(--material-color-grey-100);
12
13
  --primary-bg: var(--material-color-blue-500);
13
14
  --primary-fg: var(--material-color-grey-100);
14
15
  --secondary-bg: var(--material-color-grey-400);
@@ -11,8 +11,8 @@
11
11
  --container-fg: var(--material-color-blue-grey-800);
12
12
  --sidebar-bg: var(--material-color-blue-grey-50);
13
13
  --sidebar-fg: var(--material-color-blue-grey-900);
14
- /* --menu-bg: var(--material-color-blue-grey-50);
15
- --menu-fg: var(--material-color-blue-grey-900); */
14
+ --menu-bg: var(--material-color-blue-grey-50);
15
+ --menu-fg: var(--material-color-blue-grey-900);
16
16
  --primary-bg: var(--material-color-blue-700);
17
17
  --primary-fg: var(--material-color-blue-grey-50);
18
18
  --secondary-bg: var(--material-color-blue-grey-100);
@@ -80,8 +80,8 @@
80
80
  --container-fg: var(--material-color-blue-grey-50);
81
81
  --sidebar-bg: var(--material-color-blue-grey-900);
82
82
  --sidebar-fg: var(--material-color-blue-grey-50);
83
- /* --menu-bg: var(--material-color-blue-grey-900);
84
- --menu-fg: var(--material-color-blue-grey-50); */
83
+ --menu-bg: var(--material-color-blue-grey-900);
84
+ --menu-fg: var(--material-color-blue-grey-50);
85
85
  --primary-bg: var(--material-color-light-blue-100);
86
86
  --primary-fg: var(--material-color-blue-grey-800);
87
87
  --warning-fg: var(--white);
@@ -101,7 +101,8 @@
101
101
  --input-fg: var(--material-color-blue-grey-50);
102
102
  --button-bg: var(--material-color-blue-grey-800);
103
103
  --button-fg: var(--material-color-blue-grey-50);
104
- --hover-filter: brightness(1.1);
104
+ --hover-filter: brightness(1.15);
105
+ --menu-item-hover-filter: brightness(1.25);
105
106
  /* Code Block */
106
107
  --code-bg: var(--material-color-blue-grey-800); /* Darker background */
107
108
  --code-fg: var(--material-color-blue-grey-100); /* Lighter text */
@@ -18,4 +18,8 @@
18
18
  --first-heading-padding: 0;
19
19
  --paragraph-padding: 0;
20
20
  --paragraph-margin-top: 1em;
21
+
22
+ /* DataList defaults: denser than global heading/paragraph text */
23
+ --data-list-heading-font-size: var(--font-size);
24
+ --data-list-paragraph-font-size: var(--font-size-small);
21
25
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "contain-css-svelte",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "scripts": {
5
5
  "dev": "vite dev",
6
6
  "build-css": "postcss src/lib/vars/defaults.css -o dist/vars/defaults.css",
@@ -18,7 +18,8 @@
18
18
  ".": {
19
19
  "types": "./dist/index.d.ts",
20
20
  "svelte": "./dist/index.js",
21
- "css": "./dist/vars/defaults.css"
21
+ "css": "./dist/vars/defaults.css",
22
+ "default": "./dist/index.js"
22
23
  },
23
24
  "./vars/*": "./dist/vars/*",
24
25
  "./themes/*": "./dist/vars/themes/*",