Skip to content

UI componenten

Dit document biedt een overzicht van alle UI componenten in het VEMAP design system, georganiseerd volgens de Atomic Design methode.

De VEMAP applicatie volgt een hybride ontwerp dat het Atomic Design Pattern combineert met een Feature architectuur. De UI componenten in de src/components/ui folder maken gebruik van de drie hoofdcategorieën van het Atomic Design Pattern:


Atoms zijn de kleinste, meest fundamentele UI componenten in het design system. Ze zijn herbruikbaar, stateless en vormen de bouwstenen voor complexere componenten.

NaamParametersAantal keer gebruiktProperty Spreader
Buttontext?, title?, id, type, class?, isPrimary?, isLoading?, buttonWidth?, isCancel?, disabled?77Ja
FormBlockContainerclass?, blockTitle, blockDescription19Ja
ContentLoadingloadingText8Ja
ItemSelectSearchclass?, label, itemList, listModel5Nee
ChartchartRef, title38Nee
WarningMessagetitle?3Ja
CustomCheckboxlabel, id, name, value, model12Ja
FormBtnContainer(geen)1Nee
LinkButtonhref, text, isLoading, title1Ja
SideBarNavItemhref, title6Nee
HiddenInputvalue, id, class, saveClick, cancelClick1Nee
HiddenTextareavalue, id, class, saveClick, cancelClick, rows1Nee
InfoBtnclass?0Ja
HelpBtn(geen)0Ja
FilterSelectfilterSelectData0Nee

Molecules zijn samengestelde UI componenten die bestaan uit meerdere atoms. Ze vormen functionele groepen die specifieke taken uitvoeren.

NaamParametersAantal keer gebruiktProperty Spreader
FormContainer(geen)9Ja
FileUploadlabel, id, srOnly?, required?, highlight?, class?7Ja
DateRangePickerlabel, id, error2Ja
ValidationModal(geen)2Nee
BreadCrumbs(geen)2Nee
ErrorAlerterrors, actions1Nee
CommentSection(geen)1Nee
SortSelectsortSelectData1Nee
FilterControlPanel(geen)0Nee
MultiSelectselectOptionsArr, label, xModel0Nee

Organisms zijn complexe UI componenten die bestaan uit molecules en atoms. Ze vormen complete interface secties zoals headers, modals, en navigatie-elementen.

NaamParametersAantal keer gebruiktProperty Spreader
Slideover(geen)5Nee
SideBarNav(geen)6Nee
FilePreviewTablelistName, columnNames3Ja
Header(geen)2Nee
Notificiation(geen)0Nee
FileModal(geen)1Nee
FormModal(geen)0Nee

  • ? = optionele parameter
  • Property Spreader = of het component {...props} gebruikt voor extra properties
Totaal componenten32
Met property spreader12
Zonder property spreader20
Ongebruikt7

  • Directorycomponents/
    • Directorydashboards/ - Dashboard componenten
    • Directoryfeatures/ - Feature componenten
    • Directoryui/
      • Directoryatoms/
        • Button.astro
        • Chart.astro
        • ContentLoading.astro
        • CustomCheckbox.astro
        • FilterSelect.astro
        • FormBlockContainer.astro
        • FormBtnContainer.astro
        • HelpBtn.astro
        • HiddenInput.astro
        • HiddenTextarea.astro
        • InfoBtn.astro
        • ItemSelectSearch.astro
        • LinkButton.astro
        • SideBarNavItem.astro
        • WarningMessage.astro
      • Directorymolecules/
        • BreadCrumbs.astro
        • CommentSection.astro
        • DateRangePicker.astro
        • ErrorAlert.astro
        • FileUpload.astro
        • FilterControlPanel.astro
        • FormContainer.astro
        • MultiSelect.astro
        • SortSelect.astro
        • ValidationModal.astro
      • Directoryorganisms/
        • FileModal.astro
        • FilePreviewTable.astro
        • FormModal.astro
        • Header.astro
        • Notificiation.astro
        • SideBarNav.astro
        • Slideover.astro