Zum Hauptinhalt springen

Eigenschaften

Ziel ist, möglichst über alle Komponenten einheitliche Eigenschaften (Properties) zu verwenden, um die Erlernbarkeit zu erleichtern. Folgende Anforderungen sind dafür definiert:

  • Nur ein Property-Name für gleichartige Eigenschaften
  • Wenn möglich, einheitliche Beschreibungen bei gleichen Property-Namen
  • Wenn möglich, einheitliche Typen bei gleichen Property-Namen
  • Anzahl an unterschiedlichen Eigenschaften, Beschreibungen und Typen minimieren

Aktueller Stand

#PropertyComponentsDescriptionsTypes
1_labelabbr, accordion, alert, avatar, badge, breadcrumb, button, button-link, card, combobox, details, drawer, heading, icon, input-checkbox, input-color, input-date, input-email, input-file, input-number, input-password, input-radio, input-range, input-text, link, link-button, modal, nav, pagination, progress, quote, select, single-select, skip-nav, split-button, table, table-stateful, table-stateless, tabs, textarea, toolbar, tree, tree-item, tree-item-wcDefines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).
Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to `false` to enable the expert slot.
Defines the semantic aria-label of the component.
Defines the label of the tree.
Defines the label of the link.
string
2_tooltip-alignabbr, button, button-link, combobox, input-checkbox, input-color, input-date, input-email, input-file, input-number, input-password, input-radio, input-range, input-text, link, link-button, pagination, select, single-select, split-button, textareaDefines where to show the Tooltip preferably: top, right, bottom or left."bottom" | "left" | "right" | "top"
3_disabledaccordion, button, button-link, combobox, details, input-checkbox, input-color, input-date, input-email, input-file, input-number, input-password, input-radio, input-range, input-text, link, link-button, select, single-select, split-button, textareaMakes the element not focusable and ignore all events.boolean
4_levelaccordion, alert, card, details, headingDefines which H-level from 1-6 the heading has. 0 specifies no heading and is shown as bold text.0 | 1 | 2 | 3 | 4 | 5 | 6
5_openaccordion, details, drawer, tree-item, tree-item-wcIf set (to true) opens/expands the element, closes if not set (or set to false).
Specifies the default open state of the drawer.
boolean
6_alertalert, combobox, input-checkbox, input-color, input-date, input-email, input-file, input-number, input-password, input-radio, input-range, input-text, select, single-select, textareaDefines whether the screen-readers should read out the notification.boolean
7_has-closeralert, cardDefines whether the element can be closed.boolean
8_typealert, button, button-link, input-date, input-text, split-buttonDefines either the type of the component or of the components interactive element."default" | "error" | "info" | "success" | "warning"
"button" | "reset" | "submit"
"date" | "datetime-local" | "month" | "time" | "week"
"search" | "tel" | "text" | "url"
9_variantalert, button, heading, input-checkbox, input-password, link-button, progress, quote, spin, split-buttonDefines which variant should be used for presentation."card" | "msg"
"custom" | "danger" | "ghost" | "normal" | "primary" | "secondary" | "tertiary"
"h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "strong"
"button" | "default" | "switch"
"default" | "visibility-toggle"
"bar" | "cycle"
"block" | "inline"
"cycle" | "dot" | "none"
10_srcavatar, imageSets the image `src` attribute to the given string.string
11_colorbadgeDefines the backgroundColor and foregroundColor.string | { backgroundColor: string; foregroundColor: Stringified; }
12_iconsbadge, button, button-link, combobox, icon, input-checkbox, input-color, input-date, input-email, input-file, input-number, input-password, input-range, input-text, link, link-button, select, single-select, split-buttonDefines the icon classnames (e.g. `_icons="fa-solid fa-user"`).KoliBriHorizontalIcons & KoliBriVerticalIcons | string
string | { right?: IconOrIconClass; left?: IconOrIconClass; }
string
string | { checked: string; indeterminate?: string; unchecked?: string; } | { checked?: string; indeterminate: string; unchecked?: string; } | { checked?: string; indeterminate?: string; unchecked: string; }
13_smart-buttonbadge, input-color, input-date, input-email, input-file, input-number, input-password, input-textAllows to add a button with an arbitrary action within the element (_hide-label only).string | { _label: string; } & { _tabIndex?: number; _value?: Stringified; _ariaExpanded?: boolean; _role?: "button" | "link" | "tab" | "treeitem"; _ariaControls?: string; _ariaDescription?: string; _ariaSelected?: boolean; _on?: ButtonCallbacksPropType; _type?: "button" | "reset" | "submit"; _variant?: "primary" | "secondary" | "normal" | "tertiary" | "danger" | "ghost" | "custom"; _customClass?: string; _disabled?: boolean; _hideLabel?: boolean; _icons?: IconsPropType; _id?: string; _name?: string; _syncValueBySelector?: string; _tooltipAlign?: AlignPropType; _accessKey?: string; }
14_linksbreadcrumb, nav, skip-navDefines the list of links combined with their labels to render.
Defines the list of links, buttons or texts to render.
BreadcrumbLinkProps[] | string
ButtonOrLinkOrTextWithChildrenProps[] | string
LinkProps[] | string
15_access-keybutton, button-link, combobox, input-checkbox, input-color, input-date, input-email, input-file, input-number, input-password, input-radio, input-range, input-text, link, link-button, select, single-select, textareaDefines the elements access key.
Defines which key combination can be used to trigger or focus the interactive element of the component.
string
16_aria-controlsbutton, button-link, split-buttonDefines which elements are controlled by this component. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls)string
17_aria-descriptionbutton, button-link, link, link-buttonDefines the value for the aria-description attribute.string
18_aria-expandedbutton, button-link, split-buttonDefines whether the interactive element of the component expanded something. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)boolean
19_aria-selectedbutton, button-link, split-buttonDefines whether the interactive element of the component is selected (e.g. role=tab). (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)boolean
20_custom-classbutton, link-button, pagination, split-buttonDefines the custom class attribute if _variant="custom" is set.string
21_idbutton, button-link, combobox, input-checkbox, input-color, input-date, input-email, input-file, input-number, input-password, input-radio, input-range, input-text, select, single-select, split-button, textareaDefines the internal ID of the primary component element.string
22_namebutton, button-link, combobox, input-checkbox, input-color, input-date, input-email, input-file, input-number, input-password, input-radio, input-range, input-text, select, single-select, split-button, textareaDefines the technical name of an input field.string
23_tab-indexbutton, button-link, combobox, input-checkbox, input-color, input-date, input-email, input-file, input-number, input-password, input-radio, input-range, input-text, link, link-button, select, single-select, split-button, textareaDefines which tab-index the primary element of the component has. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)number
24_valuebutton, button-link, combobox, input-checkbox, input-color, input-date, input-email, input-file, input-number, input-password, input-radio, input-range, input-text, progress, select, single-select, split-button, textareaDefines the value that the button emits on click.
Defines the value of the input.
Defines the progress.
boolean | null | number | object | string
string
Date | `${number}-${number}-${number}T${number}:${number}:${number}` | `${number}-${number}-${number}T${number}:${number}` | `${number}-${number}-${number}` | `${number}-${number}` | `${number}-W${number}` | `${number}:${number}:${number}` | `${number}:${number}` | null
`${number}-${number}-${number}T${number}:${number}:${number}` | `${number}-${number}-${number}T${number}:${number}` | `${number}-${number}-${number}` | `${number}-${number}` | `${number}-W${number}` | `${number}:${number}:${number}` | `${number}:${number}` | null | number
number
W3CInputValue[] | string
25_hide-errorcombobox, input-checkbox, input-color, input-date, input-email, input-file, input-number, input-password, input-radio, input-range, input-text, select, single-select, textareaHides the error message but leaves it in the DOM for the input's aria-describedby.boolean
26_hintcombobox, input-checkbox, input-color, input-date, input-email, input-file, input-number, input-password, input-radio, input-range, input-text, select, single-select, textareaDefines the hint text.string
27_msgcombobox, input-checkbox, input-color, input-date, input-email, input-file, input-number, input-password, input-radio, input-range, input-text, select, single-select, textareaDefines the properties for a message rendered as Alert component.string | {} & { _level?: 0 | 2 | 1 | 4 | 3 | 5 | 6; _on?: KoliBriAlertEventCallbacks; _type?: "default" | "info" | "success" | "warning" | "error"; _variant?: "card" | "msg"; _label?: string; _alert?: boolean; _hasCloser?: boolean; } & { _description: string; }
28_placeholdercombobox, input-email, input-number, input-password, input-text, single-select, textareaDefines the placeholder for input field. To be shown when there's no value.string
29_requiredcombobox, input-checkbox, input-date, input-email, input-file, input-number, input-password, input-radio, input-text, select, single-select, textareaMakes the input element required.boolean
30_suggestionscombobox, input-color, input-date, input-email, input-number, input-range, input-textSuggestions the user can choose from.
Suggestions to provide for the input.
W3CInputValue[] | string
31_touchedcombobox, input-checkbox, input-color, input-date, input-email, input-file, input-number, input-password, input-radio, input-range, input-text, select, single-select, textareaShows if the input was touched by a user.boolean
32_aligndrawer, tabsSpecifies the orientation of the drawer.
Defines the position of the tab captions.
"bottom" | "left" | "right" | "top"
33_modaldrawerIndicates whether the drawer is a modal.boolean
34_required-textformDefines whether the mandatory-fields-hint should be shown. A string overrides the default text.boolean | string
35_secondary-headlineheadingDefines the text of the secondary headline.string
36_loadingimageDefines the loading mode for the image."eager" | "lazy"
37_sizesimageDefines the image sizes for different screen resolutions, supporting _srcset.string
38_srcsetimageSetzt eine Liste von Quell-URLs mit Breiten der Bilder.string
39_checkedinput-checkboxDefines whether the checkbox is checked or not. Can be read and written.boolean
40_errorinput-checkbox, input-color, input-date, input-email, input-file, input-number, input-password, input-radio, input-range, input-text, select, textareaDefines the error message text.string
41_indeterminateinput-checkboxPuts the checkbox in the indeterminate state, does not change the value of _checked.boolean
42_label-aligninput-checkboxDefines which alignment should be used for presentation."left" | "right"
43_auto-completeinput-color, input-date, input-email, input-number, input-password, input-range, input-textDefines whether the input can be auto-completed."off" | "on"
44_maxinput-date, input-number, input-range, pagination, progressDefines the largest possible input value.
Defines the maximum number of pages.
Defines at which value the progress display is completed.
Date | `${number}-${number}-${number}T${number}:${number}:${number}` | `${number}-${number}-${number}T${number}:${number}` | `${number}-${number}-${number}` | `${number}-${number}` | `${number}-W${number}` | `${number}:${number}:${number}` | `${number}:${number}`
`${number}-${number}-${number}T${number}:${number}:${number}` | `${number}-${number}-${number}T${number}:${number}` | `${number}-${number}-${number}` | `${number}-${number}` | `${number}-W${number}` | `${number}:${number}:${number}` | `${number}:${number}` | number
number
45_mininput-date, input-number, input-rangeDefines the smallest possible input value.Date | `${number}-${number}-${number}T${number}:${number}:${number}` | `${number}-${number}-${number}T${number}:${number}` | `${number}-${number}-${number}` | `${number}-${number}` | `${number}-W${number}` | `${number}:${number}:${number}` | `${number}:${number}`
`${number}-${number}-${number}T${number}:${number}:${number}` | `${number}-${number}-${number}T${number}:${number}` | `${number}-${number}-${number}` | `${number}-${number}` | `${number}-W${number}` | `${number}:${number}:${number}` | `${number}:${number}` | number
number
46_read-onlyinput-date, input-email, input-number, input-password, input-text, textareaMakes the input element read only.boolean
47_stepinput-date, input-number, input-rangeDefines the step size for value changes.number
48_has-counterinput-email, input-password, input-text, textareaShows the character count on the lower border of the input.boolean
49_max-lengthinput-email, input-password, input-text, textareaDefines the maximum number of input characters.number
50_multipleinput-email, input-file, selectMakes the input accept multiple inputs.boolean
51_patterninput-email, input-password, input-textDefines a validation pattern for the input field.string
52_acceptinput-fileDefines which file formats are accepted.string
53_optionsinput-radio, select, single-selectOptions the user can choose from.
Options the user can choose from, also supporting Optgroup.
RadioOption[] | string
(Option | Optgroup)[] | string
Option[] | string
54_orientationinput-radio, navDefines whether the orientation of the component is horizontal or vertical."horizontal" | "vertical"
55_aria-current-valuelink, link-buttonDefines the value for the aria-current attribute."date" | "false" | "location" | "page" | "step" | "time" | "true"
56_downloadlink, link-buttonTells the browser that the link contains a file. Optionally sets the filename.string
57_hreflink, link-button, quote, tree-item, tree-item-wcSets the target URI of the link or citation source.
Defines the target URI of the link.
This property is used for a link from a reference to the target URL.
string
58_targetlink, link-buttonDefines where to open the link.string
59_widthmodalDefines the width of the modal. (max-width: 100%)string
60_collapsiblenavDefines if navigation nodes can be collapsed or not. Enabled by default.boolean
61_has-icons-when-expandednavShows icons next to the navigation item labels, even when the navigation is not collapsed.boolean
62_boundary-countpaginationDefines the amount of pages to show next to the outer arrow buttons.number
63_has-buttonspaginationDefines which navigation buttons to render (first, last, next, previous buttons).boolean | string | { first: boolean; last: boolean; next: boolean; previous: boolean; }
64_pagepaginationDefines the current page.number
65_page-sizepaginationDefines the amount of entries to show per page.number
66_page-size-optionspaginationDefines the options for the page-size-select.number[] | string
67_sibling-countpaginationDefines the amount of pages to show next to the current page.number
68_unitprogressDefines the unit of the step values (not shown).string
69_quotequoteDefines the text of the quote.string
70_rowsselect, textareaDefines how many rows of options should be visible at the same time.
Defines how many rows of text should be visible at the same time.
number
71_showspinMakes the element show up.boolean
72_allow-multi-sorttable, table-statefulDefines whether to allow multi sort.boolean
73_datatable, table-stateful, table-statelessDefines the primary table data.KoliBriTableDataType[] | string
74_data-foottable, table-stateful, table-statelessDefines the data for the table footer.KoliBriTableDataType[] | string
75_headerstable, table-statefulDefines the horizontal and vertical table headers.string | { horizontal?: KoliBriTableHeaderCellWithLogic[][]; vertical?: KoliBriTableHeaderCellWithLogic[][]; }
76_min-widthtable, table-stateful, table-statelessDefines the table min-width.string
77_paginationtable, table-statefulDefines whether to show the data distributed over multiple pages.boolean | string | { _page: number; } & { _on?: KoliBriPaginationButtonCallbacks; _page?: number; _max?: number; _boundaryCount?: number; _hasButtons?: boolean | Stringified; _pageSize?: number; _pageSizeOptions?: Stringified; _siblingCount?: number; _customClass?: string; _label?: string; _tooltipAlign?: AlignPropType; }
78_pagination-positiontable, table-statefulControls the position of the pagination."both" | "bottom" | "top"
79_selectiontable, table-stateful, table-statelessDefines how rows can be selected and the current selection.string | ({ label: (row: KoliBriTableDataType) => string; keyPropertyName?: string; multiple?: boolean; selectedKeys?: string[]; })
80_header-cellstable-statelessDefines the horizontal and vertical table headers.string | { horizontal?: KoliBriTableHeaderCell[][]; vertical?: KoliBriTableHeaderCell[][]; }
81_behaviortabsDefines which behavior is active."select-automatic" | "select-manual"
82_selectedtabsDefines which tab is active.number
83_tabstabsDefines the tab captions.TabButtonProps[] | string
84_adjust-heighttextareaAdjusts the height of the element to its content.boolean
85_resizetextareaDefines whether and in which direction the size of the input can be changed by the user. (https://developer.mozilla.org/de/docs/Web/CSS/resize) In version 3 (v3), horizontal resizing is abolished. The corresponding property is then reduced to the properties `vertical` (default) and `none`."both" | "horizontal" | "none" | "vertical"
86_activetree-item, tree-item-wcIf set (to true) the tree item is the active one.boolean
87_hide-buttonkol-paginationVersteckt entweder den Zurück- oder Weiter-Schalter, oder beide Schalter."previous" | "next" | "both"

Veraltete Eigenschaften

Die in der folgenden Tabelle aufgelisteten Eigenschaften lösen zahlreiche veraltete Eigenschaften (13 von 98, ~13%) ab.

New PropertyDeprecated Properties
_align_tabs-align
_dataFoot
_hide-button_has-buttons (?)
_hide-label_compact, _hide-label
_label_alt, _aria-label, _caption, _heading, _headline, _summary, _symbol, _title
_max_total
_row_size
_variant_type*
_show_show-dropdown
_has-footer, _height, _icon-align, _list, _part, _role, _show-duration, _stealth, _selector, _useCase

* Betrifft nur Typen, die eigentlich Varianten meinen.

Veraltete Komponenten

Mit der initialen Realisierung von KoliBri in Version 1 sind auch ein Paar Komponenten entstanden, die sich im Laufe der Zeit als nicht optimal erwiesen haben. Entweder sind Komponenten nicht gut verortet oder ihre Funktionsweise und Verwendung ist nicht gut. Diese Komponenten werden in Zukunft in Version 2 entweder in andere NPM-Pakete umziehen oder nicht mehr weiterentwickelt und sollten daher nicht mehr direkt aus KoliBri / Public-UI verwendet werden.

New ComponentDeprecated Components
avatar
toolbar
tree
list
button-group, icon-font-awesome, icon-icofont, input-radio-group, link-group, symbol

* Betrifft nur Typen, die eigentlich Varianten meinen.

Weiter bestehende Komponenten

  • ButtonGroup wird durch die Umsetzung der Toolbar-Komponente abgelöst
  • LinkGroup wird durch die Umsetzung der List-Komponente abgelöst
  • Logo zieht in ein Bund-spezifisches Repository und NPM-Paket auf OpenCoDE um

Entfallende Komponenten

Alle anderen Komponenten werden mit der Version 2 ersatzlos gestrichen. Sie sind nicht mehr in der Dokumentation zu finden und werden auch nicht mehr über KoliBri / Public-UI verfügbar sein.