Add create-list form reveal to overlay

This commit is contained in:
2026-06-15 11:09:31 +02:00
parent 769c832076
commit e34285df39
2 changed files with 55 additions and 0 deletions
+51
View File
@@ -143,7 +143,47 @@
</li> </li>
</ul> </ul>
<div class="sg-form-sections-card-wrapper sg-delete-confirmation-pattern__create-list-form" data-create-list-form hidden aria-label="Formular mit Abschnitten">
<form class="sg-form-sections-card" action="#" method="post" aria-label="Neue Liste anlegen Formular">
<div class="sg-form-sections-card__body" data-pattern-part="form-body">
<section class="sg-form-sections-card__chapter" aria-label="Neue Liste">
<div class="sg-form-sections-card__field-group">
<label class="sg-labeled-input-row">
<span class="sg-label">Name</span>
<input
class="sg-interaction-element sg-input-single-line sg-input-single-line--inactive-selectable sg-form-inactive-selectable"
type="text"
placeholder="Name eingeben"
aria-label="Name"
maxlength="80"
>
</label>
<label class="sg-labeled-input-row">
<span class="sg-label">Beschreibung</span>
<textarea
class="sg-input-multi-line sg-form-inactive-selectable"
rows="4"
placeholder="Beschreibung eingeben"
aria-label="Beschreibung"
maxlength="350"
></textarea>
</label>
</div>
</section>
</div>
<footer class="sg-form-sections-card__actions-segment" data-pattern-part="form-actions-segment">
<div class="sg-form-sections-card__actions" data-pattern-part="form-actions">
<button class="sg-interaction-element sg-button sg-button--active sg-form-sections-card__action" type="button">Zuruecksetzen</button>
<button class="sg-interaction-element sg-button sg-button--process sg-button--process-inactive sg-form-sections-card__action" type="submit" disabled aria-disabled="true">Liste anlegen</button>
</div>
</footer>
</form>
</div>
<div class="sg-delete-confirmation-pattern__actions"> <div class="sg-delete-confirmation-pattern__actions">
<button class="sg-interaction-element sg-button sg-button--active" type="button" data-create-list-form-toggle aria-expanded="false">Neue Liste anlegen</button>
<button class="sg-interaction-element sg-button sg-button--active" type="button" data-overlay-dialog-close>Abbrechen</button> <button class="sg-interaction-element sg-button sg-button--active" type="button" data-overlay-dialog-close>Abbrechen</button>
</div> </div>
</div> </div>
@@ -157,6 +197,8 @@
const confirmationSubmitButton = stage.querySelector('[data-overlay-confirmation-submit]'); const confirmationSubmitButton = stage.querySelector('[data-overlay-confirmation-submit]');
const expectedConfirmationValue = stage.dataset.overlayConfirmationValue ?? ''; const expectedConfirmationValue = stage.dataset.overlayConfirmationValue ?? '';
const overlayListButtons = Array.from(stage.querySelectorAll('[data-overlay-list-toggle]')); const overlayListButtons = Array.from(stage.querySelectorAll('[data-overlay-list-toggle]'));
const createListForm = stage.querySelector('[data-create-list-form]');
const createListFormToggle = stage.querySelector('[data-create-list-form-toggle]');
const selectedListIds = new Set( const selectedListIds = new Set(
(stage.dataset.overlaySelectedLists ?? '') (stage.dataset.overlaySelectedLists ?? '')
.split(',') .split(',')
@@ -218,6 +260,15 @@
}); });
} }
if (createListForm && createListFormToggle) {
createListFormToggle.addEventListener('click', (event) => {
event.preventDefault();
createListForm.hidden = false;
createListFormToggle.setAttribute('aria-expanded', 'true');
createListFormToggle.disabled = true;
});
}
closeStageDialogs(); closeStageDialogs();
stage.querySelectorAll('[data-overlay-open-dialog]').forEach((link) => { stage.querySelectorAll('[data-overlay-open-dialog]').forEach((link) => {
@@ -110,6 +110,10 @@
background-image: url("../assets/icons/star-outline.svg"); background-image: url("../assets/icons/star-outline.svg");
} }
.sg-delete-confirmation-pattern__create-list-form {
margin-top: var(--spacing-large);
}
.sg-delete-confirmation-pattern__text { .sg-delete-confirmation-pattern__text {
margin: 0; margin: 0;
color: var(--text-delete-confirmation-overlay); color: var(--text-delete-confirmation-overlay);