@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.
- package/README.md +2 -2
- package/dist/components/accordion/accordion.js +0 -1
- package/dist/components/accordion-item/accordion-item.js +0 -1
- package/dist/components/badge/badge.js +0 -1
- package/dist/components/brand/brand.js +0 -1
- package/dist/components/button/button.js +0 -1
- package/dist/components/card/card.js +0 -1
- package/dist/components/checkbox/checkbox.d.ts +1 -1
- package/dist/components/checkbox/checkbox.js +2 -3
- package/dist/components/custom-select/custom-select.d.ts +3 -0
- package/dist/components/custom-select/custom-select.js +543 -0
- package/dist/components/custom-select/index.d.ts +1 -0
- package/dist/components/custom-select/index.js +1 -0
- package/dist/components/custom-select/model.d.ts +173 -0
- package/dist/components/custom-select/model.js +1 -0
- package/dist/components/custom-select-dropdown/custom-select-dropdown.d.ts +3 -0
- package/dist/components/custom-select-dropdown/custom-select-dropdown.js +12 -0
- package/dist/components/custom-select-dropdown/index.d.ts +1 -0
- package/dist/components/custom-select-dropdown/index.js +1 -0
- package/dist/components/custom-select-dropdown/model.d.ts +15 -0
- package/dist/components/custom-select-dropdown/model.js +1 -0
- package/dist/components/custom-select-form-field/custom-select-form-field.d.ts +3 -0
- package/dist/components/custom-select-form-field/custom-select-form-field.js +11 -0
- package/dist/components/custom-select-form-field/index.d.ts +1 -0
- package/dist/components/custom-select-form-field/index.js +1 -0
- package/dist/components/custom-select-form-field/model.d.ts +5 -0
- package/dist/components/custom-select-form-field/model.js +1 -0
- package/dist/components/custom-select-list/custom-select-list.d.ts +3 -0
- package/dist/components/custom-select-list/custom-select-list.js +12 -0
- package/dist/components/custom-select-list/index.d.ts +1 -0
- package/dist/components/custom-select-list/index.js +1 -0
- package/dist/components/custom-select-list/model.d.ts +8 -0
- package/dist/components/custom-select-list/model.js +1 -0
- package/dist/components/custom-select-list-item/custom-select-list-item.d.ts +6 -0
- package/dist/components/custom-select-list-item/custom-select-list-item.js +40 -0
- package/dist/components/custom-select-list-item/index.d.ts +1 -0
- package/dist/components/custom-select-list-item/index.js +1 -0
- package/dist/components/custom-select-list-item/model.d.ts +29 -0
- package/dist/components/custom-select-list-item/model.js +1 -0
- package/dist/components/divider/divider.js +0 -1
- package/dist/components/drawer/drawer.js +0 -1
- package/dist/components/header/header.js +0 -1
- package/dist/components/icon/icon.js +0 -1
- package/dist/components/infotext/infotext.js +0 -1
- package/dist/components/input/input.d.ts +1 -1
- package/dist/components/input/input.js +4 -5
- package/dist/components/link/link.js +0 -1
- package/dist/components/navigation/navigation.js +0 -1
- package/dist/components/navigation-item/navigation-item.js +0 -1
- package/dist/components/notification/notification.js +0 -1
- package/dist/components/page/model.d.ts +4 -0
- package/dist/components/page/page.js +1 -2
- package/dist/components/popover/popover.js +0 -1
- package/dist/components/radio/radio.d.ts +1 -1
- package/dist/components/radio/radio.js +0 -1
- package/dist/components/section/section.js +0 -1
- package/dist/components/select/model.d.ts +3 -3
- package/dist/components/select/select.d.ts +1 -1
- package/dist/components/select/select.js +6 -7
- package/dist/components/stack/stack.js +0 -1
- package/dist/components/switch/switch.d.ts +1 -1
- package/dist/components/switch/switch.js +0 -1
- package/dist/components/tab-item/tab-item.js +0 -1
- package/dist/components/tab-list/tab-list.js +0 -1
- package/dist/components/tab-panel/tab-panel.js +0 -1
- package/dist/components/tabs/tabs.js +0 -1
- package/dist/components/tag/model.d.ts +3 -3
- package/dist/components/tag/tag.d.ts +1 -1
- package/dist/components/tag/tag.js +5 -5
- package/dist/components/textarea/textarea.d.ts +1 -1
- package/dist/components/textarea/textarea.js +2 -3
- package/dist/components/tooltip/tooltip.js +0 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.js +5 -0
- package/dist/shared/constants.d.ts +5 -0
- package/dist/shared/constants.js +6 -1
- package/dist/shared/model.d.ts +36 -19
- package/dist/shared/model.js +3 -1
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/react.d.ts +4 -4
- 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;
|
|
@@ -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").
|
|
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 }, (
|
|
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 }, (
|
|
115
|
-
React.createElement(DBInfotext, { size: "small", semantic: "critical", id: _invalidMessageId }, (
|
|
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;
|
|
@@ -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").
|
|
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
|
-
*
|
|
4
|
+
* Enable multiple select -> use DBCustomSelect/db-custom-select for a better look
|
|
5
5
|
*/
|
|
6
|
-
|
|
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 =
|
|
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").
|
|
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;
|