runeforge 0.0.63 → 0.0.64
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/README.md
CHANGED
|
@@ -163,7 +163,7 @@ Responsive overrides work too:
|
|
|
163
163
|
| `--runeforge-crud-title-size` | `1.875rem` | `<h1>` inside the `Header` component |
|
|
164
164
|
| `--runeforge-breadcrumb-font-size` | `0.875rem` | Breadcrumb label text size |
|
|
165
165
|
| `--runeforge-breadcrumb-icon-size` | `1rem` | Breadcrumb icon width and height |
|
|
166
|
-
| `--runeforge-tree-max-height` | `24rem` |
|
|
166
|
+
| `--runeforge-tree-max-height` | `24rem` | Fixed height of a `tree` field — it doesn't shrink or grow with content (e.g. while searching), scrolling internally instead |
|
|
167
167
|
| `--runeforge-sticky-header-top` | `0` | Offset of the sticky title/breadcrumbs/alert block in Create, Update, and Read views — raise it if your app already has its own sticky top bar taking up space |
|
|
168
168
|
|
|
169
169
|
Modal sizing (see [Shared Components](#shared-components)) is set per-instance via props rather than a CSS variable.
|
|
@@ -680,7 +680,7 @@ categories: {
|
|
|
680
680
|
|
|
681
681
|
The stored value is a `string[]` of selected node values, submitted the same way as `multiselect` — a single hidden field holding a JSON array, parsed back out server-side with `JSON.parse`. `dependentOptions` and `hidden` work the same as any other field type.
|
|
682
682
|
|
|
683
|
-
By default every parent node renders expanded; set `defaultExpanded: false` to start with the whole tree collapsed instead (the user can still expand any branch — this only sets the initial state). The field
|
|
683
|
+
By default every parent node renders expanded; set `defaultExpanded: false` to start with the whole tree collapsed instead (the user can still expand any branch — this only sets the initial state). The field renders at a fixed `--runeforge-tree-max-height` (default `24rem`, see [CSS variables](#css-variables)) regardless of how much is expanded or matched by a search, scrolling internally instead of growing or shrinking the field itself.
|
|
684
684
|
|
|
685
685
|
A search box above the tree filters nodes by label as the user types (case-insensitive, substring match), auto-expanding whatever branches lead to a match and hiding everything else — set `searchable: false` to drop the box for a tree short enough not to need it.
|
|
686
686
|
|
|
@@ -84,7 +84,11 @@
|
|
|
84
84
|
value.map((v) => options.find((o) => o.value === v)?.label ?? pickedLabels.get(v) ?? v)
|
|
85
85
|
);
|
|
86
86
|
const buttonLabel = $derived(
|
|
87
|
-
value.length === 0
|
|
87
|
+
value.length === 0
|
|
88
|
+
? placeholder
|
|
89
|
+
: value.length === 1
|
|
90
|
+
? selectedLabels[0]
|
|
91
|
+
: strings.selectedCount(value.length)
|
|
88
92
|
);
|
|
89
93
|
|
|
90
94
|
function toggle(option: SelectOption) {
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
|
|
63
63
|
<div
|
|
64
64
|
class="overflow-y-auto rounded-box border border-base-300 p-2"
|
|
65
|
-
style="
|
|
65
|
+
style="height: var(--runeforge-tree-max-height, 24rem)"
|
|
66
66
|
class:opacity-50={disabled}
|
|
67
67
|
class:pointer-events-none={disabled}
|
|
68
68
|
>
|