Skip to content

Commit 38f352d

Browse files
joshstobbsrijkvanzantenCopilot
authored
feat: allow min to be used as a floor (#48)
Co-authored-by: Rijk van Zanten <[email protected]> Co-authored-by: Copilot <[email protected]>
1 parent bf88c95 commit 38f352d

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

packages/vue-split-panel/src/composables/use-grid-template.test.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,18 @@ describe('useGridTemplate', () => {
4141
expect(gridTemplate.value).toBe('clamp(0%, clamp(20%, 50%, 80%), calc(100% - 4px)) 4px auto');
4242
});
4343

44+
it('respects minSizePercentage as a floor when max is not set', () => {
45+
const options = createOptions({
46+
minSizePercentage: computed(() => 30),
47+
});
48+
49+
const { gridTemplate } = useGridTemplate(options);
50+
51+
expect(gridTemplate.value).toBe(
52+
'clamp(30%, 50%, calc(100% - 4px)) 4px auto',
53+
);
54+
});
55+
4456
it('reverses order when primary is end and direction is ltr', () => {
4557
const options = createOptions({ primary: 'end' });
4658
const { gridTemplate } = useGridTemplate(options);

packages/vue-split-panel/src/composables/use-grid-template.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ export const useGridTemplate = (options: UseGridTemplateOptions) => {
2323
else if (options.minSizePercentage.value !== undefined && options.maxSizePercentage.value !== undefined) {
2424
primary = `clamp(0%, clamp(${options.minSizePercentage.value}%, ${options.sizePercentage.value}%, ${options.maxSizePercentage.value}%), calc(100% - ${options.dividerSize.value}px))`;
2525
}
26+
else if (options.minSizePercentage.value !== undefined) {
27+
primary = `clamp(${options.minSizePercentage.value}%, ${options.sizePercentage.value}%, calc(100% - ${options.dividerSize.value}px))`;
28+
}
2629
else {
2730
primary = `clamp(0%, ${options.sizePercentage.value}%, calc(100% - ${options.dividerSize.value}px))`;
2831
}

0 commit comments

Comments
 (0)