From 8bb3e5d9c9beb79bd1050ee8b6321bc475397bfc Mon Sep 17 00:00:00 2001 From: Cory LaViska Date: Thu, 23 Dec 2021 10:07:37 -0500 Subject: [PATCH] boom --- docs/components/split-panel.md | 121 ++++++++++++------ .../split-panel/split-panel.styles.ts | 24 +--- src/components/split-panel/split-panel.ts | 51 ++++---- 3 files changed, 108 insertions(+), 88 deletions(-) diff --git a/docs/components/split-panel.md b/docs/components/split-panel.md index 59688862..bee70370 100644 --- a/docs/components/split-panel.md +++ b/docs/components/split-panel.md @@ -6,11 +6,11 @@ Split panels display two panels alongside each other, often allowing the user to ```html preview -
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat, suscipit animi. Exercitationem, modi tenetur, voluptatibus magnam qui excepturi quasi autem et odit, recusandae obcaecati! Quaerat possimus facilis tempora consequatur officia? +
+ Start
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat, suscipit animi. Exercitationem, modi tenetur, voluptatibus magnam qui excepturi quasi autem et odit, recusandae obcaecati! Quaerat possimus facilis tempora consequatur officia? +
+ End
``` @@ -19,15 +19,15 @@ Split panels display two panels alongside each other, often allowing the user to ### Initial Position -To set the initial position of the split in pixels, use the `position` attribute. The value must be in pixels, but if you need to set it as a percentage, use the `setPositionPercentage()` method instead. +To set the initial position of the split in pixels, use the `position` attribute. If you need to set the initial value as a percentage, use the `setPositionPercentage()` method instead. ```html preview - -
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat, suscipit animi. Exercitationem, modi tenetur, voluptatibus magnam qui excepturi quasi autem et odit, recusandae obcaecati! Quaerat possimus facilis tempora consequatur officia? + +
+ Start
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat, suscipit animi. Exercitationem, modi tenetur, voluptatibus magnam qui excepturi quasi autem et odit, recusandae obcaecati! Quaerat possimus facilis tempora consequatur officia? +
+ End
``` @@ -38,11 +38,11 @@ Add the `vertical` attribute to render the split panel in a vertical orientation ```html preview -
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat, suscipit animi. Exercitationem, modi tenetur, voluptatibus magnam qui excepturi quasi autem et odit, recusandae obcaecati! Quaerat possimus facilis tempora consequatur officia? +
+ Start
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat, suscipit animi. Exercitationem, modi tenetur, voluptatibus magnam qui excepturi quasi autem et odit, recusandae obcaecati! Quaerat possimus facilis tempora consequatur officia? +
+ End
``` @@ -54,11 +54,11 @@ To snap panels at specific locations, add the `snap` attribute with one or more ```html preview
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat, suscipit animi. Exercitationem, modi tenetur, voluptatibus magnam qui excepturi quasi autem et odit, recusandae obcaecati! Quaerat possimus facilis tempora consequatur officia? +
+ Start
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat, suscipit animi. Exercitationem, modi tenetur, voluptatibus magnam qui excepturi quasi autem et odit, recusandae obcaecati! Quaerat possimus facilis tempora consequatur officia? +
+ End
@@ -98,27 +98,29 @@ Add the `disabled` attribute to prevent the split panel from being resized. ```html preview -
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat, suscipit animi. Exercitationem, modi tenetur, voluptatibus magnam qui excepturi quasi autem et odit, recusandae obcaecati! Quaerat possimus facilis tempora consequatur officia? +
+ Start
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat, suscipit animi. Exercitationem, modi tenetur, voluptatibus magnam qui excepturi quasi autem et odit, recusandae obcaecati! Quaerat possimus facilis tempora consequatur officia? +
+ End
``` ### Setting the Primary Panel -When the host element is resized, the primary panel will maintain its size and the other panel will grow or shrink to fit the remaining space. Try resizing the example below with each option and notice how panels respond. +By default, `start` is the primary panel and `end` is the secondary panel. When the host element is resized, the primary panel will maintain its size and the secondary panel will grow or shrink to fit the remaining space. You can change the primary panel using the `primary` attribute. + +Try resizing the example below with each option and notice how panels respond. ```html preview
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat, suscipit animi. Exercitationem, modi tenetur, voluptatibus magnam qui excepturi quasi autem et odit, recusandae obcaecati! Quaerat possimus facilis tempora consequatur officia? +
+ Start
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat, suscipit animi. Exercitationem, modi tenetur, voluptatibus magnam qui excepturi quasi autem et odit, recusandae obcaecati! Quaerat possimus facilis tempora consequatur officia? +
+ End
@@ -137,22 +139,37 @@ When the host element is resized, the primary panel will maintain its size and t ``` +### Min & Max + +To set a minimum or maximum size of the primary panel, use the `--min` and `--max` custom properties. This examples demonstrates how you can ensure both panels are at least 150px wide using the `calc()` function. + +```html preview + +
+ Start +
+
+ End +
+
+``` + ### Nested Split Panels Create complex layouts that can be resized independently by nesting split panels. ```html preview -
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat, suscipit animi. Exercitationem, modi tenetur, voluptatibus magnam qui excepturi quasi autem et odit, recusandae obcaecati! Quaerat possimus facilis tempora consequatur officia? +
+ Start
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat, suscipit animi. Exercitationem, modi tenetur, voluptatibus magnam qui excepturi quasi autem et odit, recusandae obcaecati! Quaerat possimus facilis tempora consequatur officia? +
+ Top
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat, suscipit animi. Exercitationem, modi tenetur, voluptatibus magnam qui excepturi quasi autem et odit, recusandae obcaecati! Quaerat possimus facilis tempora consequatur officia? +
+ Bottom
@@ -161,27 +178,47 @@ Create complex layouts that can be resized independently by nesting split panels ### Customizing the Divider -You can target the `divider` part to apply CSS properties to the divider. Optionally, you can slot an element into the `handle` slot to show a handle. +You can target the `divider` part to apply CSS properties to the divider. To add a handle, slot an icon or another element into the `handle` slot. When customizing the divider, make sure to think about focus styles for keyboard users. ```html preview
+ + +
+ Start +
+
+ End +
+
+
+``` + +Here's a more elaborate example that changes the divider's color, width, and adds a more obvious handle. + +```html preview +
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat, suscipit animi. Exercitationem, modi tenetur, voluptatibus magnam qui excepturi quasi autem et odit, recusandae obcaecati! Quaerat possimus facilis tempora consequatur officia? +
+ Start
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat, suscipit animi. Exercitationem, modi tenetur, voluptatibus magnam qui excepturi quasi autem et odit, recusandae obcaecati! Quaerat possimus facilis tempora consequatur officia? +
+ End