Local side sheet
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
<div style="display: flex">
<div>
content...
</div>
<mc-side-sheet id="one" open="${page.oneOpen}" onchange="page.oneOpen = this.open">
<div slot="headline">Headline</div>
<div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis
aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
<mc-button slot="action" onclick="this.parentElement.close()">cancel</mc-button>
<mc-button slot="action" onclick="this.parentElement.close()">save</mc-button>
</mc-side-sheet>
</div>
<!-- Attributes
hideClose - Hide close icon button
back - show back arrow
modal - use modal
scrim - show scrim (backdrop) when open
prevent-close - prevents close for scrim click and form buttons(submit, cancel)
onback - event attribute for back button
-->
<mc-side-sheet
open
hide-close
modal
scrim
prevent-close
back
onback="fired on back click"
></mc-side-sheet>
Global
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
<div style="display: flex">
<div>
content...
</div>
<mc-side-sheet global modal>
<div slot="headline">Headline</div>
<h5>One</h5>
<p>
Lorem ipsum ...
</p>
<mc-button slot="action" onclick="this.parentElement.close()">cancel</mc-button>
<mc-button slot="action" onclick="this.parentElement.close()">save</mc-button>
</mc-side-sheet>
</div>
Predictive back
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
<!-- You can disable predictive back by adding [predictive-back-disable] -->
<div style="display: flex">
<div>
content...
</div>
<mc-side-sheet predictive-back-disable>
<div slot="headline">Headline</div>
<h5>One</h5>
<p>
Lorem ipsum ...
</p>
<mc-button slot="action" onclick="this.parentElement.close()">cancel</mc-button>
<mc-button slot="action" onclick="this.parentElement.close()">save</mc-button>
</mc-side-sheet>
</div>
Form with change detection
- The close button will show a "discard changes" dialog if there are unsubmitted changes
- prevent-close will prevent the side-sheep from closeing on submit or cancel action buttons. Normally these would close the side-sheet.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
<mc-side-sheet id="formsheet">
<div slot="headline">Headline</div>
<form id="test" method="dialog">
<div style="font-size: 14px; margin-bottom: 8px;"><strong>Cancel</strong> checks for form changes and presents dialog</div>
<div style="font-size: 14px; margin-bottom: 24px;"><strong>Save</strong> will validate the form</div>
<div style="font-size: 14px; margin-bottom: 24px;"><strong>Close</strong> will disregard the form and close the sheet</div>
<mc-textfield label="Required" supporting-text="Required" required value="one"
outlined></mc-textfield>
</form>
<mc-button slot="action" onclick="formsheet.close()">close</mc-button>
<mc-button slot="action" form="test" type="cancel" oncancel="console.log('cancel')">cancel</mc-button>
<mc-button slot="action" form="test" type="submit">save</mc-button>
</mc-side-sheet>
Style
/* Optional variables for overriding */
--mc-side-sheet-shape: var(--mc-shape-large);
--mc-side-sheet-container-color: var(--mc-surface);