@db-ux/react-core-components 1.1.1 → 2.0.0-0-custom-select-16b8cce

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README.md +2 -2
  2. package/dist/components/accordion/accordion.js +0 -1
  3. package/dist/components/accordion-item/accordion-item.js +0 -1
  4. package/dist/components/badge/badge.js +0 -1
  5. package/dist/components/brand/brand.js +0 -1
  6. package/dist/components/button/button.js +0 -1
  7. package/dist/components/card/card.js +0 -1
  8. package/dist/components/checkbox/checkbox.d.ts +1 -1
  9. package/dist/components/checkbox/checkbox.js +2 -3
  10. package/dist/components/custom-select/custom-select.d.ts +3 -0
  11. package/dist/components/custom-select/custom-select.js +543 -0
  12. package/dist/components/custom-select/index.d.ts +1 -0
  13. package/dist/components/custom-select/index.js +1 -0
  14. package/dist/components/custom-select/model.d.ts +173 -0
  15. package/dist/components/custom-select/model.js +1 -0
  16. package/dist/components/custom-select-dropdown/custom-select-dropdown.d.ts +3 -0
  17. package/dist/components/custom-select-dropdown/custom-select-dropdown.js +12 -0
  18. package/dist/components/custom-select-dropdown/index.d.ts +1 -0
  19. package/dist/components/custom-select-dropdown/index.js +1 -0
  20. package/dist/components/custom-select-dropdown/model.d.ts +15 -0
  21. package/dist/components/custom-select-dropdown/model.js +1 -0
  22. package/dist/components/custom-select-form-field/custom-select-form-field.d.ts +3 -0
  23. package/dist/components/custom-select-form-field/custom-select-form-field.js +11 -0
  24. package/dist/components/custom-select-form-field/index.d.ts +1 -0
  25. package/dist/components/custom-select-form-field/index.js +1 -0
  26. package/dist/components/custom-select-form-field/model.d.ts +5 -0
  27. package/dist/components/custom-select-form-field/model.js +1 -0
  28. package/dist/components/custom-select-list/custom-select-list.d.ts +3 -0
  29. package/dist/components/custom-select-list/custom-select-list.js +12 -0
  30. package/dist/components/custom-select-list/index.d.ts +1 -0
  31. package/dist/components/custom-select-list/index.js +1 -0
  32. package/dist/components/custom-select-list/model.d.ts +8 -0
  33. package/dist/components/custom-select-list/model.js +1 -0
  34. package/dist/components/custom-select-list-item/custom-select-list-item.d.ts +6 -0
  35. package/dist/components/custom-select-list-item/custom-select-list-item.js +40 -0
  36. package/dist/components/custom-select-list-item/index.d.ts +1 -0
  37. package/dist/components/custom-select-list-item/index.js +1 -0
  38. package/dist/components/custom-select-list-item/model.d.ts +29 -0
  39. package/dist/components/custom-select-list-item/model.js +1 -0
  40. package/dist/components/divider/divider.js +0 -1
  41. package/dist/components/drawer/drawer.js +0 -1
  42. package/dist/components/header/header.js +0 -1
  43. package/dist/components/icon/icon.js +0 -1
  44. package/dist/components/infotext/infotext.js +0 -1
  45. package/dist/components/input/input.d.ts +1 -1
  46. package/dist/components/input/input.js +4 -5
  47. package/dist/components/link/link.js +0 -1
  48. package/dist/components/navigation/navigation.js +0 -1
  49. package/dist/components/navigation-item/navigation-item.js +0 -1
  50. package/dist/components/notification/notification.js +0 -1
  51. package/dist/components/page/model.d.ts +4 -0
  52. package/dist/components/page/page.js +1 -2
  53. package/dist/components/popover/popover.js +0 -1
  54. package/dist/components/radio/radio.d.ts +1 -1
  55. package/dist/components/radio/radio.js +0 -1
  56. package/dist/components/section/section.js +0 -1
  57. package/dist/components/select/model.d.ts +3 -3
  58. package/dist/components/select/select.d.ts +1 -1
  59. package/dist/components/select/select.js +6 -7
  60. package/dist/components/stack/stack.js +0 -1
  61. package/dist/components/switch/switch.d.ts +1 -1
  62. package/dist/components/switch/switch.js +0 -1
  63. package/dist/components/tab-item/tab-item.js +0 -1
  64. package/dist/components/tab-list/tab-list.js +0 -1
  65. package/dist/components/tab-panel/tab-panel.js +0 -1
  66. package/dist/components/tabs/tabs.js +0 -1
  67. package/dist/components/tag/model.d.ts +3 -3
  68. package/dist/components/tag/tag.d.ts +1 -1
  69. package/dist/components/tag/tag.js +5 -5
  70. package/dist/components/textarea/textarea.d.ts +1 -1
  71. package/dist/components/textarea/textarea.js +2 -3
  72. package/dist/components/tooltip/tooltip.js +0 -1
  73. package/dist/index.d.ts +5 -0
  74. package/dist/index.js +5 -0
  75. package/dist/shared/constants.d.ts +5 -0
  76. package/dist/shared/constants.js +6 -1
  77. package/dist/shared/model.d.ts +36 -19
  78. package/dist/shared/model.js +3 -1
  79. package/dist/utils/index.d.ts +2 -0
  80. package/dist/utils/index.js +2 -0
  81. package/dist/utils/react.d.ts +4 -4
  82. package/package.json +4 -4
@@ -0,0 +1,173 @@
1
+ import { BaseFormProps, CloseEventState, CustomFormProps, FormMessageProps, FormState, GlobalProps, GlobalState, IconProps, PlacementVerticalType, PopoverState, RequiredProps, ShowIconProps, ShowLabelProps, ValidationType, WidthProps } from '../../shared/model';
2
+ import { DBCustomSelectFormFieldDefaultProps } from '../custom-select-form-field/model';
3
+ import { CustomSelectDropdownWidthType } from '../custom-select-dropdown/model';
4
+ import { DBCustomSelectListItemExtraProps } from '../custom-select-list-item/model';
5
+ export type CustomSelectOptionType = {
6
+ /**
7
+ * Disables this option
8
+ */
9
+ disabled?: boolean;
10
+ /**
11
+ * Identifier for option
12
+ */
13
+ id?: string;
14
+ /**
15
+ * If the value is different from the label you want to show to the user.
16
+ */
17
+ label?: string;
18
+ /**
19
+ * The value for the option
20
+ */
21
+ value?: string;
22
+ } & DBCustomSelectListItemExtraProps;
23
+ export declare const SelectedTypeList: readonly ["amount", "text", "tag"];
24
+ export type SelectedTypeType = (typeof SelectedTypeList)[number];
25
+ export type DBCustomSelectDefaultProps = {
26
+ /**
27
+ * Optional: if select-type="amount" change the shown text
28
+ */
29
+ amountText?: string;
30
+ /**
31
+ * Label for the clear selection button
32
+ */
33
+ clearSelectionLabel?: string;
34
+ /**
35
+ * Deselect all checkbox label
36
+ */
37
+ deSelectAllLabel?: string;
38
+ /**
39
+ * Changes the behavior of the dropdown with.
40
+ * Default: fixed 328px
41
+ * Auto: Based on the size of the form-field
42
+ */
43
+ dropdownWidth?: CustomSelectDropdownWidthType | 'string';
44
+ /**
45
+ * Dropdown - hint if data has to be loaded
46
+ */
47
+ loadingText?: string;
48
+ /**
49
+ * Change the button text for mobile close
50
+ */
51
+ mobileCloseButtonText?: string;
52
+ /**
53
+ * Enables CustomSelect
54
+ */
55
+ multiple?: boolean;
56
+ /**
57
+ * Dropdown - hint if there are no options
58
+ */
59
+ noResultsText?: string;
60
+ /**
61
+ * Optional: if select-type="amount" when amount changes
62
+ * @param amount The amount of selected checkboxes
63
+ */
64
+ onAmountChange?: (amount: number) => void;
65
+ /**
66
+ * Triggers after some checkbox was clicked in dropdown
67
+ * @param values the changed values
68
+ */
69
+ onSelect?: (values: string[]) => void;
70
+ /**
71
+ * You should pass in the options as an array.
72
+ */
73
+ options?: CustomSelectOptionType[];
74
+ /**
75
+ * The `placement` attributes values change the position to absolute and adds a transform based on the placement.
76
+ */
77
+ placement?: PlacementVerticalType;
78
+ /**
79
+ * Optional: if you use selectedType=tag and options, you need to set the removeTagsTexts for screen reader users
80
+ */
81
+ removeTagsTexts?: string[];
82
+ /**
83
+ * Search label
84
+ */
85
+ searchLabel?: string;
86
+ /**
87
+ * Search placeholder
88
+ */
89
+ searchPlaceholder?: string;
90
+ /**
91
+ * Select all checkbox label
92
+ */
93
+ selectAllLabel?: string;
94
+ /**
95
+ * Change the selected type for values shown in multi select
96
+ */
97
+ selectedType?: SelectedTypeType;
98
+ /**
99
+ * Show clear selection button (default:true). Hide it if you have very small inputs e.g. in tables.
100
+ */
101
+ showClearSelection?: boolean;
102
+ /**
103
+ * Dropdown - enable loading infotext and spinner
104
+ */
105
+ showLoading?: boolean;
106
+ /**
107
+ * Dropdown - enable no options infotext
108
+ */
109
+ showNoResults?: boolean;
110
+ /**
111
+ * Forces search in header.
112
+ */
113
+ showSearch?: boolean;
114
+ /**
115
+ * Forces select all checkbox (only for multiple).
116
+ */
117
+ showSelectAll?: boolean;
118
+ /**
119
+ * Initial value for multi select
120
+ */
121
+ values?: string[];
122
+ /**
123
+ * Programmatically open the dropdown. May differ if you don't use onDropdownToggle.
124
+ */
125
+ open?: boolean;
126
+ /**
127
+ * Informs the user when dropdown was toggled.
128
+ */
129
+ onDropdownToggle?: (event: any) => void;
130
+ };
131
+ export type DBCustomSelectProps = GlobalProps & CustomFormProps & BaseFormProps & RequiredProps & FormMessageProps & DBCustomSelectDefaultProps & DBCustomSelectFormFieldDefaultProps & WidthProps & IconProps & ShowIconProps & ShowLabelProps;
132
+ export type DBCustomSelectDefaultState = {
133
+ _validity?: ValidationType;
134
+ _values?: string[];
135
+ _options?: CustomSelectOptionType[];
136
+ _selectedOptions?: CustomSelectOptionType[];
137
+ _hasNoOptions: boolean;
138
+ _selectId?: string;
139
+ _labelId?: string;
140
+ _summaryId?: string;
141
+ _placeholderId?: string;
142
+ _selectedLabels?: string;
143
+ _selectedLabelsId?: string;
144
+ _infoTextId?: string;
145
+ _externalChangeTimestamp?: number;
146
+ _internalChangeTimestamp?: number;
147
+ _name?: string;
148
+ getNativeSelectValue: () => string;
149
+ getOptionLabel: (option: CustomSelectOptionType) => string;
150
+ getOptionChecked: (value?: string) => boolean;
151
+ getOptionKey: (option: CustomSelectOptionType) => string;
152
+ getTagRemoveLabel: (index: number) => string;
153
+ selectAllEnabled: boolean;
154
+ searchEnabled: boolean;
155
+ amountOptions: number;
156
+ setDescById: (descId?: string) => void;
157
+ handleTagRemove: (option: CustomSelectOptionType, event?: any) => void;
158
+ handleSummaryFocus: () => void;
159
+ handleSelect: (value?: string) => void;
160
+ handleSelectAll: () => void;
161
+ handleClearAll: () => void;
162
+ handleDropdownToggle: (event: any) => void;
163
+ handleDocumentClose: (event: any) => void;
164
+ handleOpenByKeyboardFocus: (onlySearch?: boolean) => void;
165
+ handleFocusFirstDropdownCheckbox: (activeElement?: Element) => void;
166
+ handleKeyboardPress: (event: any) => void;
167
+ handleArrowDownUp: (event: any) => void;
168
+ handleSearch: (event: any) => void;
169
+ getSelectAllLabel: () => string;
170
+ selectAllChecked: boolean;
171
+ selectAllIndeterminate: boolean;
172
+ };
173
+ export type DBCustomSelectState = DBCustomSelectDefaultState & GlobalState & FormState & CloseEventState & PopoverState;
@@ -0,0 +1 @@
1
+ export const SelectedTypeList = ['amount', 'text', 'tag'];
@@ -0,0 +1,3 @@
1
+ import * as React from "react";
2
+ declare const DBCustomSelectDropdown: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLDivElement>, "width" | keyof import("../..").GlobalProps> & import("./model").DBCustomSelectDropdownDefaultProps & import("../..").GlobalProps & React.RefAttributes<HTMLDivElement>>;
3
+ export default DBCustomSelectDropdown;
@@ -0,0 +1,12 @@
1
+ "use client";
2
+ import * as React from "react";
3
+ import { filterPassingProps, getRootProps } from "../../utils/react";
4
+ import { useRef, forwardRef } from "react";
5
+ import { cls } from "../../utils";
6
+ function DBCustomSelectDropdownFn(props, component) {
7
+ props = Object.assign({ width: "fixed" }, props);
8
+ const _ref = component || useRef(component);
9
+ return (React.createElement("article", Object.assign({ "data-spacing": "none", ref: _ref }, filterPassingProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { id: props.id }, getRootProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { className: cls("db-custom-select-dropdown db-card", props.className), "data-width": props.width }), props.children));
10
+ }
11
+ const DBCustomSelectDropdown = forwardRef(DBCustomSelectDropdownFn);
12
+ export default DBCustomSelectDropdown;
@@ -0,0 +1 @@
1
+ export { default as DBCustomSelectDropdown } from './custom-select-dropdown';
@@ -0,0 +1 @@
1
+ export { default as DBCustomSelectDropdown } from './custom-select-dropdown';
@@ -0,0 +1,15 @@
1
+ import { GlobalProps, GlobalState } from '../../shared/model';
2
+ export declare const CustomSelectDropdownWidthList: readonly ["fixed", "auto", "full"];
3
+ export type CustomSelectDropdownWidthType = (typeof CustomSelectDropdownWidthList)[number];
4
+ export type DBCustomSelectDropdownDefaultProps = {
5
+ /**
6
+ * Changes the behavior of the dropdown with.
7
+ * Default: fixed 328px
8
+ * Full: Based on the size of the form-field
9
+ * Auto: Based on the size of the largest list item
10
+ */
11
+ width?: CustomSelectDropdownWidthType | string;
12
+ };
13
+ export type DBCustomSelectDropdownProps = DBCustomSelectDropdownDefaultProps & GlobalProps;
14
+ export type DBCustomSelectDropdownDefaultState = {};
15
+ export type DBCustomSelectDropdownState = DBCustomSelectDropdownDefaultState & GlobalState;
@@ -0,0 +1 @@
1
+ export const CustomSelectDropdownWidthList = ['fixed', 'auto', 'full'];
@@ -0,0 +1,3 @@
1
+ import * as React from "react";
2
+ declare const DBCustomSelectFormField: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLDivElement>, keyof import("../../shared/model").GlobalProps> & import("../../shared/model").GlobalProps & React.RefAttributes<HTMLDivElement>>;
3
+ export default DBCustomSelectFormField;
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ import * as React from "react";
3
+ import { filterPassingProps, getRootProps } from "../../utils/react";
4
+ import { useRef, forwardRef } from "react";
5
+ import { cls } from "../../utils";
6
+ function DBCustomSelectFormFieldFn(props, component) {
7
+ const _ref = component || useRef(component);
8
+ return (React.createElement("summary", Object.assign({ ref: _ref }, filterPassingProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { id: props.id }, getRootProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { className: cls("db-custom-select-form-field", props.className) }), props.children));
9
+ }
10
+ const DBCustomSelectFormField = forwardRef(DBCustomSelectFormFieldFn);
11
+ export default DBCustomSelectFormField;
@@ -0,0 +1 @@
1
+ export { default as DBCustomSelectFormField } from './custom-select-form-field';
@@ -0,0 +1 @@
1
+ export { default as DBCustomSelectFormField } from './custom-select-form-field';
@@ -0,0 +1,5 @@
1
+ import { GlobalProps, GlobalState } from '../../shared/model';
2
+ export type DBCustomSelectFormFieldDefaultProps = {};
3
+ export type DBCustomSelectFormFieldProps = DBCustomSelectFormFieldDefaultProps & GlobalProps;
4
+ export type DBCustomSelectFormFieldDefaultState = {};
5
+ export type DBCustomSelectFormFieldState = DBCustomSelectFormFieldDefaultState & GlobalState;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import * as React from "react";
2
+ declare const DBCustomSelectList: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLUListElement>, keyof import("../..").GlobalProps | keyof import("./model").DBCustomSelectListDefaultProps> & import("./model").DBCustomSelectListDefaultProps & import("../..").GlobalProps & React.RefAttributes<HTMLUListElement>>;
3
+ export default DBCustomSelectList;
@@ -0,0 +1,12 @@
1
+ "use client";
2
+ import * as React from "react";
3
+ import { filterPassingProps, getRootProps } from "../../utils/react";
4
+ import { useRef, forwardRef } from "react";
5
+ import { cls } from "../../utils";
6
+ function DBCustomSelectListFn(props, component) {
7
+ const _ref = component || useRef(component);
8
+ return (React.createElement("div", Object.assign({ role: props.multiple ? "group" : "radiogroup", "aria-label": props.label, ref: _ref }, filterPassingProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { id: props.id }, getRootProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { className: cls("db-custom-select-list", props.className) }),
9
+ React.createElement("ul", null, props.children)));
10
+ }
11
+ const DBCustomSelectList = forwardRef(DBCustomSelectListFn);
12
+ export default DBCustomSelectList;
@@ -0,0 +1 @@
1
+ export { default as DBCustomSelectList } from './custom-select-list';
@@ -0,0 +1 @@
1
+ export { default as DBCustomSelectList } from './custom-select-list';
@@ -0,0 +1,8 @@
1
+ import { GlobalProps, GlobalState } from '../../shared/model';
2
+ export type DBCustomSelectListDefaultProps = {
3
+ label?: string;
4
+ multiple?: boolean;
5
+ };
6
+ export type DBCustomSelectListProps = DBCustomSelectListDefaultProps & GlobalProps;
7
+ export type DBCustomSelectListDefaultState = {};
8
+ export type DBCustomSelectListState = DBCustomSelectListDefaultState & GlobalState;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import * as React from "react";
2
+ declare const DBCustomSelectListItem: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLLIElement>, "value" | "icon" | "checked" | keyof import("../../shared/model").GlobalProps | "showIcon" | keyof import("../../shared/model").ChangeEventProps<HTMLInputElement> | keyof import("../../shared/model").BaseFormProps | keyof import("./model").DBCustomSelectListItemDefaultProps | "isGroupTitle" | "showDivider"> & import("./model").DBCustomSelectListItemDefaultProps & import("../../shared/model").GlobalProps & import("../../shared/model").BaseFormProps & import("../../shared/model").ValueProps & import("../../shared/model").FormCheckProps & import("../../shared/model").ChangeEventProps<HTMLInputElement> & {
3
+ isGroupTitle?: boolean;
4
+ showDivider?: boolean;
5
+ } & import("../../shared/model").IconProps & import("../../shared/model").ShowIconProps & React.RefAttributes<HTMLLIElement>>;
6
+ export default DBCustomSelectListItem;
@@ -0,0 +1,40 @@
1
+ "use client";
2
+ import * as React from "react";
3
+ import { filterPassingProps, getRootProps } from "../../utils/react";
4
+ import { useState, useRef, useEffect, forwardRef } from "react";
5
+ import { cls, getBooleanAsString, getHideProp, uuid } from "../../utils";
6
+ function DBCustomSelectListItemFn(props, component) {
7
+ const _ref = component || useRef(component);
8
+ const [_id, set_id] = useState(() => undefined);
9
+ const [hasDivider, setHasDivider] = useState(() => false);
10
+ function handleChange(event) {
11
+ if (props.onChange) {
12
+ props.onChange(event);
13
+ }
14
+ if (props.change) {
15
+ props.change(event);
16
+ }
17
+ }
18
+ function getIconAfter() {
19
+ if (props.isGroupTitle || props.type === "checkbox") {
20
+ return;
21
+ }
22
+ return props.checked ? "check" : "x_placeholder";
23
+ }
24
+ useEffect(() => {
25
+ var _a;
26
+ set_id((_a = props.id) !== null && _a !== void 0 ? _a : `custom-select-list-item-${uuid()}`);
27
+ }, []);
28
+ useEffect(() => {
29
+ setHasDivider(Boolean(props.isGroupTitle || props.showDivider));
30
+ }, [props.isGroupTitle, props.showDivider]);
31
+ return (React.createElement("li", Object.assign({ ref: _ref }, filterPassingProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { id: _id }, getRootProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { className: cls("db-custom-select-list-item", props.className, {
32
+ "db-checkbox": props.type === "checkbox" && !props.isGroupTitle,
33
+ "db-radio": props.type !== "checkbox" && !props.isGroupTitle,
34
+ }), "data-divider": getBooleanAsString(hasDivider) }), !props.isGroupTitle ? (React.createElement("label", { "data-icon": props.type !== "checkbox" && props.icon ? props.icon : undefined, "data-hide-icon": getHideProp(props.showIcon), "data-icon-after": getIconAfter() },
35
+ React.createElement("input", { className: "db-custom-select-list-item-checkbox", "data-disable-focus": "true", type: props.type, name: props.name, checked: props.checked, disabled: props.disabled, value: props.value, onChange: (event) => handleChange(event) }),
36
+ props.label ? React.createElement(React.Fragment, null, props.label) : null,
37
+ !props.label ? React.createElement(React.Fragment, null, props.children) : null)) : (React.createElement("span", null, props.groupTitle))));
38
+ }
39
+ const DBCustomSelectListItem = forwardRef(DBCustomSelectListItemFn);
40
+ export default DBCustomSelectListItem;
@@ -0,0 +1 @@
1
+ export { default as DBCustomSelectListItem } from './custom-select-list-item';
@@ -0,0 +1 @@
1
+ export { default as DBCustomSelectListItem } from './custom-select-list-item';
@@ -0,0 +1,29 @@
1
+ import { BaseFormProps, ChangeEventProps, ChangeEventState, FormCheckProps, GlobalProps, GlobalState, IconProps, ShowIconProps, ValueProps } from '../../shared/model';
2
+ export declare const CustomSelectListItemTypeList: readonly ["checkbox", "radio"];
3
+ export type CustomSelectListItemTypeType = (typeof CustomSelectListItemTypeList)[number];
4
+ export type DBCustomSelectListItemExtraProps = {
5
+ /**
6
+ * If the item is a group title (only text)
7
+ */
8
+ isGroupTitle?: boolean;
9
+ /**
10
+ * Show a divider on the bottom of the list item for visual grouping (don't use it on every item)
11
+ */
12
+ showDivider?: boolean;
13
+ } & IconProps & ShowIconProps;
14
+ export type DBCustomSelectListItemDefaultProps = {
15
+ /**
16
+ * Set the title of a group of items - disables radio/checkbox behavior
17
+ */
18
+ groupTitle?: string;
19
+ /**
20
+ * Change the behavior of the item single(radio) or multiple(checkbox)
21
+ */
22
+ type?: CustomSelectListItemTypeType;
23
+ };
24
+ export type DBCustomSelectListItemProps = DBCustomSelectListItemDefaultProps & GlobalProps & BaseFormProps & ValueProps & FormCheckProps & ChangeEventProps<HTMLInputElement> & DBCustomSelectListItemExtraProps;
25
+ export type DBCustomSelectListItemDefaultState = {
26
+ getIconAfter: () => string | undefined;
27
+ hasDivider?: boolean;
28
+ };
29
+ export type DBCustomSelectListItemState = DBCustomSelectListItemDefaultState & ChangeEventState<HTMLInputElement> & GlobalState;
@@ -0,0 +1 @@
1
+ export const CustomSelectListItemTypeList = ['checkbox', 'radio'];
@@ -8,5 +8,4 @@ function DBDividerFn(props, component) {
8
8
  return (React.createElement("div", Object.assign({ ref: _ref }, filterPassingProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { id: props.id, "data-margin": props.margin, "data-variant": props.variant, "data-emphasis": props.emphasis, "data-width": props.width }, getRootProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { className: cls("db-divider", props.className) })));
9
9
  }
10
10
  const DBDivider = forwardRef(DBDividerFn);
11
- DBDivider.defaultProps = {};
12
11
  export default DBDivider;
@@ -67,5 +67,4 @@ function DBDrawerFn(props, component) {
67
67
  React.createElement("div", { className: "db-drawer-content" }, props.children))));
68
68
  }
69
69
  const DBDrawer = forwardRef(DBDrawerFn);
70
- DBDrawer.defaultProps = {};
71
70
  export default DBDrawer;
@@ -65,5 +65,4 @@ function DBHeaderFn(props, component) {
65
65
  React.createElement(React.Fragment, null, props.secondaryAction))))));
66
66
  }
67
67
  const DBHeader = forwardRef(DBHeaderFn);
68
- DBHeader.defaultProps = {};
69
68
  export default DBHeader;
@@ -8,5 +8,4 @@ function DBIconFn(props, component) {
8
8
  return (React.createElement("span", Object.assign({ "aria-hidden": "true", ref: _ref }, filterPassingProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { id: props.id }, getRootProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { className: cls("db-icon", props.className), "data-icon": props.icon, "data-icon-weight": props.weight, "data-icon-variant": props.variant }), props.text ? React.createElement(React.Fragment, null, props.text) : React.createElement(React.Fragment, null, props.children)));
9
9
  }
10
10
  const DBIcon = forwardRef(DBIconFn);
11
- DBIcon.defaultProps = {};
12
11
  export default DBIcon;
@@ -9,5 +9,4 @@ function DBInfotextFn(props, component) {
9
9
  return (React.createElement("span", Object.assign({ ref: _ref }, filterPassingProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { id: props.id }, getRootProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { className: cls("db-infotext", props.className), "data-icon": props.icon, "data-semantic": props.semantic, "data-size": props.size, "data-hide-icon-before": getHideProp((_a = props.showIcon) !== null && _a !== void 0 ? _a : true) }), props.text ? React.createElement(React.Fragment, null, props.text) : React.createElement(React.Fragment, null, props.children)));
10
10
  }
11
11
  const DBInfotext = forwardRef(DBInfotextFn);
12
- DBInfotext.defaultProps = {};
13
12
  export default DBInfotext;
@@ -1,3 +1,3 @@
1
1
  import * as React from "react";
2
- declare const DBInput: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "size" | "icon" | keyof import("../../shared/model").GlobalProps | "showIcon" | keyof import("../../shared/model").ChangeEventProps<HTMLInputElement> | keyof import("../../shared/model").FocusEventProps<HTMLInputElement> | keyof import("../../shared/model").FormProps | keyof import("../../shared/model").FormMessageProps | keyof import("./model").DBInputDefaultProps | keyof import("../../shared/model").FormTextProps | keyof import("../../shared/model").InputEventProps<HTMLInputElement> | "iconAfter"> & import("./model").DBInputDefaultProps & import("../../shared/model").GlobalProps & import("../../shared/model").FormTextProps & import("../../shared/model").InputEventProps<HTMLInputElement> & import("../../shared/model").ChangeEventProps<HTMLInputElement> & import("../../shared/model").FocusEventProps<HTMLInputElement> & import("../../shared/model").FormProps & import("../../shared/model").IconProps & import("../../shared/model").IconAfterProps & import("../../shared/model").FormMessageProps & import("../../shared/model").ShowIconProps & import("../../shared/model").FormSizeProps & React.RefAttributes<HTMLInputElement>>;
2
+ declare const DBInput: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "required" | "value" | "size" | "icon" | keyof import("../../shared/model").GlobalProps | "showIcon" | keyof import("../../shared/model").ChangeEventProps<HTMLInputElement> | keyof import("../../shared/model").FocusEventProps<HTMLInputElement> | keyof import("../../shared/model").CustomFormProps | keyof import("../../shared/model").BaseFormProps | "showLabel" | keyof import("../../shared/model").FormMessageProps | keyof import("./model").DBInputDefaultProps | keyof import("../../shared/model").FormTextProps | keyof import("../../shared/model").InputEventProps<HTMLInputElement> | "iconAfter"> & import("./model").DBInputDefaultProps & import("../../shared/model").GlobalProps & import("../../shared/model").FormTextProps & import("../../shared/model").InputEventProps<HTMLInputElement> & import("../../shared/model").ChangeEventProps<HTMLInputElement> & import("../../shared/model").FocusEventProps<HTMLInputElement> & import("../../shared/model").CustomFormProps & import("../../shared/model").BaseFormProps & import("../../shared/model").RequiredProps & import("../../shared/model").ShowLabelProps & import("../../shared/model").ValueProps & import("../../shared/model").IconProps & import("../../shared/model").IconAfterProps & import("../../shared/model").FormMessageProps & import("../../shared/model").ShowIconProps & import("../../shared/model").FormSizeProps & React.RefAttributes<HTMLInputElement>>;
3
3
  export default DBInput;
@@ -107,14 +107,13 @@ function DBInputFn(props, component) {
107
107
  }, [props.value]);
108
108
  return (React.createElement("div", Object.assign({}, getRootProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { className: cls("db-input", props.className), "data-variant": props.variant, "data-hide-label": getHideProp(props.showLabel), "data-hide-icon": getHideProp(props.showIcon), "data-icon": props.icon, "data-icon-after": props.iconAfter, "data-hide-icon-after": getHideProp(props.showIcon) }),
109
109
  React.createElement("label", { htmlFor: _id }, (_a = props.label) !== null && _a !== void 0 ? _a : DEFAULT_LABEL),
110
- React.createElement("input", Object.assign({ "aria-invalid": props.validation === "invalid", "data-custom-validity": props.validation, ref: _ref }, filterPassingProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { id: _id, name: props.name, type: props.type || "text", placeholder: (_b = props.placeholder) !== null && _b !== void 0 ? _b : DEFAULT_PLACEHOLDER, disabled: props.disabled, required: props.required, step: props.step, value: props.value, maxLength: props.maxLength, minLength: props.minLength, max: props.max, min: props.min, readOnly: props.readOnly, form: props.form, pattern: props.pattern, size: props.size, autoComplete: props.autocomplete, autoFocus: props.autofocus, onInput: (event) => handleInput(event), onChange: (event) => handleChange(event), onBlur: (event) => handleBlur(event), onFocus: (event) => handleFocus(event), list: props.dataList && _dataListId, "aria-describedby": _descByIds })),
111
- props.dataList ? (React.createElement("datalist", { id: _dataListId }, (_c = getDataList(props.dataList)) === null || _c === void 0 ? void 0 : _c.map((option) => (React.createElement("option", { key: _dataListId + "-option-" + option.value, value: option.value }, option.label))))) : null,
110
+ React.createElement("input", Object.assign({ "aria-invalid": props.validation === "invalid", "data-custom-validity": props.validation, ref: _ref }, filterPassingProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { id: _id, name: props.name, type: props.type || "text", placeholder: (_b = props.placeholder) !== null && _b !== void 0 ? _b : DEFAULT_PLACEHOLDER, disabled: props.disabled, required: props.required, step: props.step, value: props.value, maxLength: props.maxLength, minLength: props.minLength, max: props.max, min: props.min, readOnly: props.readOnly, form: props.form, pattern: props.pattern, size: props.size, autoComplete: props.autocomplete, autoFocus: props.autofocus, onInput: (event) => handleInput(event), onChange: (event) => handleChange(event), onBlur: (event) => handleBlur(event), onFocus: (event) => handleFocus(event), list: props.dataList && _dataListId, "aria-describedby": (_c = props.ariaDescribedBy) !== null && _c !== void 0 ? _c : _descByIds })),
111
+ props.dataList ? (React.createElement("datalist", { id: _dataListId }, (_d = getDataList(props.dataList)) === null || _d === void 0 ? void 0 : _d.map((option) => (React.createElement("option", { key: _dataListId + "-option-" + option.value, value: option.value }, option.label))))) : null,
112
112
  props.children,
113
113
  stringPropVisible(props.message, props.showMessage) ? (React.createElement(DBInfotext, { size: "small", icon: props.messageIcon, id: _messageId }, props.message)) : null,
114
- React.createElement(DBInfotext, { size: "small", semantic: "successful", id: _validMessageId }, (_d = props.validMessage) !== null && _d !== void 0 ? _d : DEFAULT_VALID_MESSAGE),
115
- React.createElement(DBInfotext, { size: "small", semantic: "critical", id: _invalidMessageId }, (_g = (_e = props.invalidMessage) !== null && _e !== void 0 ? _e : (_f = _ref.current) === null || _f === void 0 ? void 0 : _f.validationMessage) !== null && _g !== void 0 ? _g : DEFAULT_INVALID_MESSAGE),
114
+ React.createElement(DBInfotext, { size: "small", semantic: "successful", id: _validMessageId }, (_e = props.validMessage) !== null && _e !== void 0 ? _e : DEFAULT_VALID_MESSAGE),
115
+ React.createElement(DBInfotext, { size: "small", semantic: "critical", id: _invalidMessageId }, (_f = props.invalidMessage) !== null && _f !== void 0 ? _f : (((_g = _ref.current) === null || _g === void 0 ? void 0 : _g.validationMessage) || DEFAULT_INVALID_MESSAGE)),
116
116
  React.createElement("span", { "data-visually-hidden": "true", role: "status" }, _voiceOverFallback)));
117
117
  }
118
118
  const DBInput = forwardRef(DBInputFn);
119
- DBInput.defaultProps = {};
120
119
  export default DBInput;
@@ -14,5 +14,4 @@ function DBLinkFn(props, component) {
14
14
  return (React.createElement("a", Object.assign({ ref: _ref }, filterPassingProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { id: props.id }, getRootProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { className: cls("db-link", props.className), href: props.href, target: props.target, rel: props.rel, role: props.role, hrefLang: props.hreflang, "aria-disabled": getBooleanAsString(props.disabled), tabIndex: props.disabled ? -1 : 0, "aria-selected": props.selected, "aria-label": props.label, "aria-current": props.current, "data-size": props.size, "data-hide-icon-after": getHideProp((_a = props.showIcon) !== null && _a !== void 0 ? _a : true), "data-variant": props.variant, "data-content": props.content || "internal", onClick: (event) => handleClick(event) }), props.text ? React.createElement(React.Fragment, null, props.text) : React.createElement(React.Fragment, null, props.children)));
15
15
  }
16
16
  const DBLink = forwardRef(DBLinkFn);
17
- DBLink.defaultProps = {};
18
17
  export default DBLink;
@@ -14,5 +14,4 @@ function DBNavigationFn(props, component) {
14
14
  React.createElement("menu", null, props.children)));
15
15
  }
16
16
  const DBNavigation = forwardRef(DBNavigationFn);
17
- DBNavigation.defaultProps = {};
18
17
  export default DBNavigation;
@@ -74,5 +74,4 @@ function DBNavigationItemFn(props, component) {
74
74
  React.createElement(React.Fragment, null, props.subNavigation)))) : null));
75
75
  }
76
76
  const DBNavigationItem = forwardRef(DBNavigationItemFn);
77
- DBNavigationItem.defaultProps = {};
78
77
  export default DBNavigationItem;
@@ -22,5 +22,4 @@ function DBNotificationFn(props, component) {
22
22
  props.closeable ? (React.createElement(DBButton, { icon: "cross", variant: "ghost", size: "small", id: props.closeButtonId, noText: true, onClick: (event) => handleClose(event) }, (_a = props.closeButtonText) !== null && _a !== void 0 ? _a : DEFAULT_CLOSE_BUTTON)) : null));
23
23
  }
24
24
  const DBNotification = forwardRef(DBNotificationFn);
25
- DBNotification.defaultProps = {};
26
25
  export default DBNotification;
@@ -20,6 +20,10 @@ export type DBPageDefaultProps = {
20
20
  * The slot can be used for React to set a header.
21
21
  */
22
22
  header?: any;
23
+ /**
24
+ * Adds `class` to `<main>` element
25
+ */
26
+ mainClass?: string;
23
27
  /**
24
28
  * The variant=fixed uses flex-box to make header and footer static
25
29
  */
@@ -40,9 +40,8 @@ function DBPageFn(props, component) {
40
40
  }, []);
41
41
  return (React.createElement("div", Object.assign({ ref: _ref }, filterPassingProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { id: props.id }, getRootProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { className: cls("db-page", props.className), "data-variant": props.variant, "data-fade-in": props.fadeIn, "data-fonts-loaded": getBooleanAsString(fontsLoaded) }),
42
42
  React.createElement(React.Fragment, null, props.header),
43
- React.createElement("main", { className: "db-main" }, props.children),
43
+ React.createElement("main", { className: cls("db-main", props.mainClass) }, props.children),
44
44
  React.createElement(React.Fragment, null, props.footer)));
45
45
  }
46
46
  const DBPage = forwardRef(DBPageFn);
47
- DBPage.defaultProps = {};
48
47
  export default DBPage;
@@ -71,5 +71,4 @@ function DBPopoverFn(props, component) {
71
71
  React.createElement("article", { className: "db-popover-content", "data-spacing": props.spacing, "data-gap": getBooleanAsString(props.gap), "data-animation": getBooleanAsString((_a = props.animation) !== null && _a !== void 0 ? _a : true), "data-open": props.open, "data-delay": props.delay, "data-width": props.width, "data-placement": props.placement }, props.children)));
72
72
  }
73
73
  const DBPopover = forwardRef(DBPopoverFn);
74
- DBPopover.defaultProps = {};
75
74
  export default DBPopover;
@@ -1,3 +1,3 @@
1
1
  import * as React from "react";
2
- declare const DBRadio: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "size" | "checked" | keyof import("../../shared/model").GlobalProps | keyof import("../../shared/model").ChangeEventProps<HTMLInputElement> | keyof import("../../shared/model").FocusEventProps<HTMLInputElement> | keyof import("../../shared/model").FormProps> & import("./model").DBRadioDefaultProps & import("../../shared/model").GlobalProps & import("../../shared/model").ChangeEventProps<HTMLInputElement> & import("../../shared/model").FocusEventProps<HTMLInputElement> & import("../../shared/model").FormProps & import("../../shared/model").FormCheckProps & import("../../shared/model").SizeProps & React.RefAttributes<HTMLInputElement>>;
2
+ declare const DBRadio: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "required" | "value" | "size" | "checked" | keyof import("../../shared/model").GlobalProps | keyof import("../../shared/model").ChangeEventProps<HTMLInputElement> | keyof import("../../shared/model").FocusEventProps<HTMLInputElement> | keyof import("../../shared/model").CustomFormProps | keyof import("../../shared/model").BaseFormProps | "showLabel"> & import("./model").DBRadioDefaultProps & import("../../shared/model").GlobalProps & import("../../shared/model").ChangeEventProps<HTMLInputElement> & import("../../shared/model").FocusEventProps<HTMLInputElement> & import("../../shared/model").CustomFormProps & import("../../shared/model").BaseFormProps & import("../../shared/model").RequiredProps & import("../../shared/model").ShowLabelProps & import("../../shared/model").ValueProps & import("../../shared/model").FormCheckProps & import("../../shared/model").SizeProps & React.RefAttributes<HTMLInputElement>>;
3
3
  export default DBRadio;
@@ -46,5 +46,4 @@ function DBRadioFn(props, component) {
46
46
  props.label ? React.createElement(React.Fragment, null, props.label) : React.createElement(React.Fragment, null, props.children)));
47
47
  }
48
48
  const DBRadio = forwardRef(DBRadioFn);
49
- DBRadio.defaultProps = {};
50
49
  export default DBRadio;
@@ -13,5 +13,4 @@ function DBSectionFn(props, component) {
13
13
  return (React.createElement("section", Object.assign({ ref: _ref }, filterPassingProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { id: _id }, getRootProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { className: cls("db-section", props.className), "data-spacing": props.spacing || "medium", "data-width": props.width }), props.children));
14
14
  }
15
15
  const DBSection = forwardRef(DBSectionFn);
16
- DBSection.defaultProps = {};
17
16
  export default DBSection;
@@ -1,9 +1,9 @@
1
1
  import { ChangeEventProps, ChangeEventState, ClickEventProps, ClickEventState, FocusEventProps, FocusEventState, FormMessageProps, FormProps, FormSizeProps, FormState, GlobalProps, GlobalState, IconProps, InitializedState, InputEventProps, InputEventState, ShowIconProps } from '../../shared/model';
2
2
  export type DBSelectDefaultProps = {
3
3
  /**
4
- * The description attribute will add a paragraph below the select.
4
+ * Enable multiple select -> use DBCustomSelect/db-custom-select for a better look
5
5
  */
6
- description?: string;
6
+ multiple?: boolean;
7
7
  /**
8
8
  * If you don't/can't use children/slots you can pass in the options as an array.
9
9
  */
@@ -35,7 +35,7 @@ export type DBSelectOptionType = {
35
35
  */
36
36
  value: string | string[] | number;
37
37
  };
38
- export type DBSelectProps = DBSelectDefaultProps & GlobalProps & ClickEventProps<HTMLSelectElement> & ChangeEventProps<HTMLSelectElement> & FocusEventProps<HTMLSelectElement> & InputEventProps<HTMLSelectElement> & FormProps & IconProps & FormMessageProps & ShowIconProps & FormSizeProps;
38
+ export type DBSelectProps = GlobalProps & ClickEventProps<HTMLSelectElement> & ChangeEventProps<HTMLSelectElement> & FocusEventProps<HTMLSelectElement> & InputEventProps<HTMLSelectElement> & FormProps & IconProps & FormMessageProps & DBSelectDefaultProps & ShowIconProps & FormSizeProps;
39
39
  export type DBSelectDefaultState = {
40
40
  _placeholderId: string;
41
41
  getOptionLabel: (option: DBSelectOptionType) => string;
@@ -1,3 +1,3 @@
1
1
  import * as React from "react";
2
- declare const DBSelect: React.ForwardRefExoticComponent<Omit<React.SelectHTMLAttributes<HTMLSelectElement>, "size" | "icon" | "onClick" | keyof import("../../shared/model").GlobalProps | "showIcon" | keyof import("../../shared/model").FormProps | keyof import("../../shared/model").FormMessageProps | keyof import("./model").DBSelectDefaultProps | keyof import("../../shared/model").ChangeEventProps<HTMLSelectElement> | keyof import("../../shared/model").FocusEventProps<HTMLSelectElement> | keyof import("../../shared/model").InputEventProps<HTMLSelectElement>> & import("./model").DBSelectDefaultProps & import("../../shared/model").GlobalProps & import("../../shared/model").ClickEventProps<HTMLSelectElement> & import("../../shared/model").ChangeEventProps<HTMLSelectElement> & import("../../shared/model").FocusEventProps<HTMLSelectElement> & import("../../shared/model").InputEventProps<HTMLSelectElement> & import("../../shared/model").FormProps & import("../../shared/model").IconProps & import("../../shared/model").FormMessageProps & import("../../shared/model").ShowIconProps & import("../../shared/model").FormSizeProps & React.RefAttributes<HTMLSelectElement>>;
2
+ declare const DBSelect: React.ForwardRefExoticComponent<Omit<React.SelectHTMLAttributes<HTMLSelectElement>, "required" | "value" | "size" | "icon" | "onClick" | keyof import("../../shared/model").GlobalProps | "showIcon" | keyof import("../../shared/model").CustomFormProps | keyof import("../../shared/model").BaseFormProps | "showLabel" | keyof import("../../shared/model").FormMessageProps | keyof import("../../shared/model").ChangeEventProps<HTMLSelectElement> | keyof import("../../shared/model").FocusEventProps<HTMLSelectElement> | keyof import("../../shared/model").InputEventProps<HTMLSelectElement> | keyof import("./model").DBSelectDefaultProps> & import("../../shared/model").GlobalProps & import("../../shared/model").ClickEventProps<HTMLSelectElement> & import("../../shared/model").ChangeEventProps<HTMLSelectElement> & import("../../shared/model").FocusEventProps<HTMLSelectElement> & import("../../shared/model").InputEventProps<HTMLSelectElement> & import("../../shared/model").CustomFormProps & import("../../shared/model").BaseFormProps & import("../../shared/model").RequiredProps & import("../../shared/model").ShowLabelProps & import("../../shared/model").ValueProps & import("../../shared/model").IconProps & import("../../shared/model").FormMessageProps & import("./model").DBSelectDefaultProps & import("../../shared/model").ShowIconProps & import("../../shared/model").FormSizeProps & React.RefAttributes<HTMLSelectElement>>;
3
3
  export default DBSelect;