loon-bulma-react 2026.0.24 → 2026.0.26
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/dist/components/DragDrop/DragDropList.d.ts +11 -1
- package/dist/components/Panel/Panel.d.ts +2 -1
- package/dist/components/TreeView/TreeView.d.ts +81 -6
- package/dist/forms/Checkbox/Checkbox.d.ts +2 -1
- package/dist/forms/ComboBox/ComboBox.d.ts +1 -1
- package/dist/forms/ComboBox/MultiComboBox.d.ts +1 -1
- package/dist/forms/Currency/CurrencyInput.d.ts +3 -3
- package/dist/forms/Datetimes/DateInput.d.ts +1 -1
- package/dist/forms/Input.d.ts +30 -6
- package/dist/forms/MaskedInput/IBANInput.d.ts +95 -0
- package/dist/forms/Numeric/NumberInput.d.ts +3 -1
- package/dist/forms/Numeric/RangeInput.d.ts +1 -1
- package/dist/forms/Radio/Radio.d.ts +1 -1
- package/dist/forms/Select/Select.d.ts +2 -2
- package/dist/forms/TagsInput/TagsInput.d.ts +2 -2
- package/dist/forms/Text/FormattedInput.d.ts +1 -1
- package/dist/forms/Text/PasswordInput.d.ts +1 -1
- package/dist/forms/Text/TextArea.d.ts +1 -1
- package/dist/hooks/useLocalStoredState.d.ts +1 -1
- package/dist/hooks/useSessionStoredState.d.ts +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +10188 -9712
- package/dist/internal_functions/createIconsInternal.d.ts +24 -5
- package/dist/styles/extra-inputs.scss +9 -8
- package/dist/types/index.d.ts +5 -1
- package/dist/utils/IBAN.functions.d.ts +2 -0
- package/dist/utils/compare.d.ts +1 -1
- package/dist/utils/object.functions.d.ts +37 -0
- package/package.json +42 -42
- package/dist/assets/index-BM9oOHBx.css +0 -1
- package/dist/assets/index-BURxowh-.css +0 -1
- package/dist/assets/index-BrbpdSxD.css +0 -1
- package/dist/assets/index-CHXKQuLG.css +0 -1
- package/dist/assets/index-Dc7D2cKW.css +0 -1
- package/dist/components/DataTable/DataTableDropdownExample.d.ts +0 -24
- package/dist/styles/dragdroplist.scss +0 -26
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- package/dist/utils/calculateTxtColor.function.d.ts +0 -14
- package/dist/utils/colorscheme.d.ts +0 -5
- package/dist/utils/hasBSN.function.d.ts +0 -27
- package/dist/utils/ibantools.d.ts +0 -300
- package/dist/utils/isIBAN.function.d.ts +0 -35
|
@@ -39,6 +39,16 @@ type DragDropListProps<T> = {
|
|
|
39
39
|
itemClassName?: string;
|
|
40
40
|
/** Children moeten DragDropList.Handle en/of DragDropList.Buttons zijn om de layout te bepalen */
|
|
41
41
|
children?: React.ReactNode;
|
|
42
|
+
/** Callback wanneer een item wordt gesleept */
|
|
43
|
+
onDragStart?: (item: T, index: number) => void;
|
|
44
|
+
/** Callback wanneer het slepen eindigt */
|
|
45
|
+
onDragEnd?: (draggedItem: T | null, droppedSuccessfully: boolean) => void;
|
|
46
|
+
/** Callback wanneer over an item wordt gesleept */
|
|
47
|
+
onDragOver?: (item: T, index: number) => void;
|
|
48
|
+
/** Callback wanneer het slepen een item verlaat */
|
|
49
|
+
onDragLeave?: () => void;
|
|
50
|
+
/** Callback wanneer een item wordt gedropt */
|
|
51
|
+
onDrop?: (draggedItem: T, targetItem: T, draggedIndex: number, targetIndex: number) => void;
|
|
42
52
|
};
|
|
43
53
|
/**
|
|
44
54
|
* Een drag-and-drop lijst component waarmee items verticaal herschikt kunnen worden.
|
|
@@ -72,7 +82,7 @@ type DragDropListProps<T> = {
|
|
|
72
82
|
* </DragDropList>
|
|
73
83
|
* ```
|
|
74
84
|
*/
|
|
75
|
-
export declare function DragDropList<T>({ items, onReorder, renderItem, keyExtractor, isDisabled, className, itemClassName, children }: DragDropListProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
85
|
+
export declare function DragDropList<T>({ items, onReorder, renderItem, keyExtractor, isDisabled, className, itemClassName, children, onDragStart, onDragEnd, onDragOver, onDragLeave, onDrop, }: DragDropListProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
76
86
|
export declare namespace DragDropList {
|
|
77
87
|
var Handle: ({ children }: {
|
|
78
88
|
children?: React.ReactNode;
|
|
@@ -49,6 +49,7 @@ type PanelInputProps<T extends InputValueType> = PrettierType<StrictOmit<InputPr
|
|
|
49
49
|
icon?: string | IconProp | undefined;
|
|
50
50
|
infoData?: string | React.ReactNode | ((helptag?: string | undefined) => void) | undefined;
|
|
51
51
|
name?: string | undefined;
|
|
52
|
+
iconRight?: 'hidden' | 'visible' | ((v: InputValueType, isHovered: boolean, isDisabled: boolean, isLoading: boolean) => [IconComponent: React.ReactNode, onClick?: () => void]) | undefined;
|
|
52
53
|
}>;
|
|
53
54
|
/**
|
|
54
55
|
* Een panel is een soort menu
|
|
@@ -93,6 +94,6 @@ declare const Panel: {
|
|
|
93
94
|
/** Een input op het panel */
|
|
94
95
|
Input: typeof PanelInput;
|
|
95
96
|
};
|
|
96
|
-
declare function PanelInput({ icon, id: idProp, infoData, helpTag, name, onBlur, onFocus, ...props }: PanelInputProps<string>): import("react/jsx-runtime").JSX.Element;
|
|
97
|
+
declare function PanelInput({ icon, id: idProp, infoData, helpTag, name, loading, disabled, value, iconRight, onBlur, onFocus, ...props }: PanelInputProps<string>): import("react/jsx-runtime").JSX.Element;
|
|
97
98
|
export { Panel };
|
|
98
99
|
export type { PanelProps };
|
|
@@ -1,7 +1,28 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { StrictOmit } from './../../types';
|
|
2
|
+
import { DeepPartial, StrictOmit } from './../../types';
|
|
3
|
+
import { IconProp } from '@fortawesome/fontawesome-svg-core';
|
|
3
4
|
type InitialStateParams = 'expanded' | 'collapsed' | 'auto';
|
|
5
|
+
type GlobalExpandStateParams = 'expanded' | 'collapsed';
|
|
4
6
|
type SearchBehaviorParams = 'hide' | 'dim';
|
|
7
|
+
type GlobalExpandCommand = {
|
|
8
|
+
state: GlobalExpandStateParams | 'expandToLevel';
|
|
9
|
+
nonce: number;
|
|
10
|
+
level?: number;
|
|
11
|
+
};
|
|
12
|
+
type TreeViewRef = {
|
|
13
|
+
expandAll: () => void;
|
|
14
|
+
collapseAll: () => void;
|
|
15
|
+
expandToLevel: (depth: number) => void;
|
|
16
|
+
};
|
|
17
|
+
/** icon-set voor de treeview */
|
|
18
|
+
type IconSet = {
|
|
19
|
+
/** icon voor node die je kan expanden (default: chevron Down) */
|
|
20
|
+
expand: IconProp;
|
|
21
|
+
/** icon voor node die momenteel is uitgebreid (default: chevron Up) */
|
|
22
|
+
collapse: IconProp;
|
|
23
|
+
/** icon voor node zonder kinderen (default: Min-teken) */
|
|
24
|
+
noChildren: IconProp;
|
|
25
|
+
};
|
|
5
26
|
/** De basis-props voor de nodes en de items */
|
|
6
27
|
type BaseProps = {
|
|
7
28
|
/** het path naar deze node*/
|
|
@@ -23,6 +44,10 @@ type InternTreeViewProps<T extends unknown = string> = BaseProps & {
|
|
|
23
44
|
/** Data in de treeview */
|
|
24
45
|
nodes?: Array<TreeViewNode<T>>;
|
|
25
46
|
expanded: boolean;
|
|
47
|
+
/** internal command for expand/collapse actions */
|
|
48
|
+
globalExpandCommand?: GlobalExpandCommand;
|
|
49
|
+
/** initial path to select/open */
|
|
50
|
+
initialPath?: string;
|
|
26
51
|
/** initial expanded/collapsed state of parent */
|
|
27
52
|
parentInitialState?: InitialStateParams;
|
|
28
53
|
/** search term to filter nodes */
|
|
@@ -31,6 +56,8 @@ type InternTreeViewProps<T extends unknown = string> = BaseProps & {
|
|
|
31
56
|
searchBehavior?: SearchBehaviorParams;
|
|
32
57
|
/** Custom search function to determine if a node matches the search term */
|
|
33
58
|
searchFn?: (node: TreeViewNode<T>, searchTerm: string) => boolean;
|
|
59
|
+
/** expand/collapse/noChildren icons */
|
|
60
|
+
icons: IconSet;
|
|
34
61
|
};
|
|
35
62
|
type TreeViewNode<T extends unknown = string> = {
|
|
36
63
|
/** de value van deze node (default een string, maar generic) */
|
|
@@ -69,7 +96,7 @@ type TreeViewNode<T extends unknown = string> = {
|
|
|
69
96
|
searchable?: string | ((value: T) => string);
|
|
70
97
|
};
|
|
71
98
|
/** Props voor de TreeView */
|
|
72
|
-
type
|
|
99
|
+
type TreeViewRootProps<T extends unknown = string> = StrictOmit<InternTreeViewProps<T>, 'path' | 'hoveredPath' | 'setHoveredPath' | 'selectedPath' | 'setSelectedPath' | 'expanded' | 'icons'> & {
|
|
73
100
|
/** initial path to expand */
|
|
74
101
|
initialPath?: string;
|
|
75
102
|
/** Zoekterm om de nodes te doorzoeken */
|
|
@@ -87,6 +114,12 @@ type TreeViewProps<T extends unknown = string> = StrictOmit<InternTreeViewProps<
|
|
|
87
114
|
* @returns true if the node matches the search term
|
|
88
115
|
*/
|
|
89
116
|
searchFn?: (node: TreeViewNode<T>, searchTerm: string) => boolean;
|
|
117
|
+
/** Icon set for the TreeView: 3 properties:
|
|
118
|
+
* - `expand`: icon voor node die je kan expanden (default: chevron Down)
|
|
119
|
+
* - `collapse`: icon voor node die momenteel is uitgebreid (default: chevron Up)
|
|
120
|
+
* - `noChildren`: icon voor node zonder kinderen (default: Min-teken)
|
|
121
|
+
*/
|
|
122
|
+
icons?: DeepPartial<IconSet>;
|
|
90
123
|
};
|
|
91
124
|
/**
|
|
92
125
|
* TreeView component om hiërarchische data weer te geven.
|
|
@@ -103,8 +136,50 @@ type TreeViewProps<T extends unknown = string> = StrictOmit<InternTreeViewProps<
|
|
|
103
136
|
* initialPath="/Root/Item 1/Item 1.1/Item 1.1.2"
|
|
104
137
|
* searchTerm={term}
|
|
105
138
|
* searchBehavior={behavior} />
|
|
139
|
+
* @example // Gebruik van useTreeViewControls hook voor expandAll/collapseAll
|
|
140
|
+
* function Demo() {
|
|
141
|
+
* const { treeRef, expandAll, collapseAll } = useTreeViewControls();
|
|
142
|
+
*
|
|
143
|
+
* return (
|
|
144
|
+
* <>
|
|
145
|
+
* <Buttons>
|
|
146
|
+
* <Button onClick={expandAll}>Expand all</Button>
|
|
147
|
+
* <Button onClick={collapseAll}>Collapse all</Button>
|
|
148
|
+
* </Buttons>
|
|
149
|
+
*
|
|
150
|
+
* <TreeView ref={treeRef} nodes={data} />
|
|
151
|
+
* </>
|
|
152
|
+
* );
|
|
153
|
+
* }
|
|
154
|
+
|
|
106
155
|
*/
|
|
107
|
-
declare
|
|
108
|
-
declare function TreeViewNode<T extends unknown = string>({ className: cnProp, style, path, expanded, hoveredPath, setHoveredPath, selectedPath, setSelectedPath, nodes, parentInitialState, searchTerm, searchBehavior, searchFn, }: InternTreeViewProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
109
|
-
|
|
110
|
-
|
|
156
|
+
declare const TreeViewRoot: <T extends unknown = string>(props: TreeViewRootProps<T> & React.RefAttributes<TreeViewRef>) => React.ReactElement;
|
|
157
|
+
declare function TreeViewNode<T extends unknown = string>({ className: cnProp, style, path, expanded, globalExpandCommand, initialPath, hoveredPath, setHoveredPath, selectedPath, setSelectedPath, nodes, parentInitialState, searchTerm, searchBehavior, icons, searchFn, }: InternTreeViewProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
158
|
+
/**
|
|
159
|
+
* Hook om de `TreeView` imperatief aan te sturen met `expandAll`, `collapseAll`, en `expandToLevel`.
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* function Demo() {
|
|
163
|
+
* const { treeRef, expandAll, collapseAll, expandToLevel } = useTreeViewControls();
|
|
164
|
+
*
|
|
165
|
+
* return (
|
|
166
|
+
* <>
|
|
167
|
+
* <Buttons>
|
|
168
|
+
* <Button onClick={expandAll}>Expand all</Button>
|
|
169
|
+
* <Button onClick={collapseAll}>Collapse all</Button>
|
|
170
|
+
* <Button onClick={() => expandToLevel(2)}>Show 2 levels</Button>
|
|
171
|
+
* </Buttons>
|
|
172
|
+
*
|
|
173
|
+
* <TreeView ref={treeRef} nodes={data} />
|
|
174
|
+
* </>
|
|
175
|
+
* );
|
|
176
|
+
* }
|
|
177
|
+
*/
|
|
178
|
+
declare function useTreeViewControls(): {
|
|
179
|
+
treeRef: React.RefObject<TreeViewRef | null>;
|
|
180
|
+
expandAll: () => void;
|
|
181
|
+
collapseAll: () => void;
|
|
182
|
+
expandToLevel: (depth: number) => void;
|
|
183
|
+
};
|
|
184
|
+
export type { TreeViewRootProps as TreeViewProps, TreeViewNode, TreeViewRef };
|
|
185
|
+
export { TreeViewRoot as TreeView, useTreeViewControls };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { StrictOmit, ColorProp } from './../../types';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { InputPropsType, InputStylingPropsType, InputErrorProps } from '../Input';
|
|
4
|
-
type CheckBoxInputProps = StrictOmit<InputPropsType<
|
|
4
|
+
type CheckBoxInputProps = StrictOmit<InputPropsType<string>, 'value' | 'onValueChanged' | 'type' | 'step' | 'pattern' | 'errorMessage' | 'infoMessage' | 'min' | 'max' | 'pattern' | 'placeholder' | 'iconRight'> & StrictOmit<InputStylingPropsType, 'icon'> & {
|
|
5
5
|
/** is de input checked? */
|
|
6
6
|
value?: boolean;
|
|
7
7
|
/** label bij de input. Mag ook een `React.ReactNode` zijn. Als geen label, dan wordt de `name`-property gebruikt. */
|
|
@@ -10,6 +10,7 @@ type CheckBoxInputProps = StrictOmit<InputPropsType<boolean>, 'value' | 'type' |
|
|
|
10
10
|
color?: ColorProp;
|
|
11
11
|
/** foutmelding bij de input */ errorMessage?: string | ((s: InputErrorProps<boolean>) => string);
|
|
12
12
|
/** info-melding bij de input */ infoMessage?: string | ((v: boolean) => string);
|
|
13
|
+
onValueChanged?: (v: boolean) => void | Promise<void>;
|
|
13
14
|
};
|
|
14
15
|
/**
|
|
15
16
|
* Een checkbox input met een container eromheen. Om een checkbox in te voegen zonder container, gebruik dan de `<CB ... />`-component. DEze component 'wrapt' deze `CB`-component.
|
|
@@ -39,6 +39,6 @@ type ComboBoxProps<T extends unknown = {}> = StrictOmit<InputPropsType<number |
|
|
|
39
39
|
* onSearch={(txt, v) => v.last_name.includes(txt) || v.first_name.includes(txt)}
|
|
40
40
|
* />
|
|
41
41
|
*/
|
|
42
|
-
declare function ComboBox<T extends unknown = {}>({ value, options, id, name, label, required, showRequiredOnLabel, errorMessage, infoMessage, alignment: alignmentProp, size: sizeProp, direction: directionProp, placeholder, helpTag, disabled, loading, autofocus,
|
|
42
|
+
declare function ComboBox<T extends unknown = {}>({ value, options, id, name, label, required, showRequiredOnLabel, errorMessage, infoMessage, alignment: alignmentProp, size: sizeProp, direction: directionProp, placeholder, helpTag, disabled, loading, autofocus, iconRight, labelHidden, icon, infoData, className: cn, onValueChanged, onChange, onFocus, onBlur, onKeyDown, onKeyUp, onSearch, formatLabel, formatValue, formatOption, }: ComboBoxProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
43
43
|
export { ComboBox };
|
|
44
44
|
export type { ComboBoxProps };
|
|
@@ -39,6 +39,6 @@ type MultiComboBoxProps<T extends unknown = {}> = StrictOmit<InputPropsType<numb
|
|
|
39
39
|
* onSearch={(txt, v) => v.last_name.includes(txt) || v.first_name.includes(txt)}
|
|
40
40
|
* />
|
|
41
41
|
*/
|
|
42
|
-
declare function MultiComboBox<T extends unknown = {}>({ value, options, id, name, label, required, showRequiredOnLabel, errorMessage, infoMessage, alignment: alignmentProp, size: sizeProp, direction: directionProp, placeholder, helpTag, disabled, loading, autofocus, labelHidden, icon,
|
|
42
|
+
declare function MultiComboBox<T extends unknown = {}>({ value, options, id, name, label, required, showRequiredOnLabel, errorMessage, infoMessage, alignment: alignmentProp, size: sizeProp, direction: directionProp, placeholder, helpTag, disabled, loading, autofocus, labelHidden, icon, iconRight, infoData, onValueChanged, onFocus, onBlur, onKeyDown, onKeyUp, onSearch, formatLabel, formatValue, }: MultiComboBoxProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
43
43
|
export { MultiComboBox };
|
|
44
44
|
export type { MultiComboBoxProps };
|
|
@@ -14,9 +14,9 @@ type CurrencyInputProps = StrictOmit<InputPropsType<number>, 'keyboardType' | 'p
|
|
|
14
14
|
/** aantal getoonde decimalen _achter_ de integer, ook als dat 0 is! (default = `2`) */
|
|
15
15
|
decimalScale?: number;
|
|
16
16
|
/** Scheidingsteken gehele getallen en decimalen (default = `','` ) */
|
|
17
|
-
decimalSeparator?:
|
|
17
|
+
decimalSeparator?: ',' | '.';
|
|
18
18
|
/** scheidingsteken voor duizend-tallen, (default = `'.'`) */
|
|
19
|
-
groupSeparator?:
|
|
19
|
+
groupSeparator?: '.' | ',';
|
|
20
20
|
/** negatieve getallen toestaan ? (default = `false`) */
|
|
21
21
|
allowNegativeValue?: boolean;
|
|
22
22
|
leadingZeros?: boolean;
|
|
@@ -45,6 +45,6 @@ type CurrencyInputProps = StrictOmit<InputPropsType<number>, 'keyboardType' | 'p
|
|
|
45
45
|
* const [x, setX] = React.useState<string>('0');
|
|
46
46
|
* <CurrencyInput value={x} onValueChanged={([strVal, _numVal]) => setX(strVal)} />
|
|
47
47
|
*/
|
|
48
|
-
declare function CurrencyInput({ allowNegativeValue, placeholder, helpTag, errorMessage, infoMessage, label, disabled, title, name, value, required, showRequiredOnLabel, spellCheck, id, autoComplete, max, min, inputRef, readonly, step, autofocus,
|
|
48
|
+
declare function CurrencyInput({ allowNegativeValue, placeholder, helpTag, errorMessage, infoMessage, label, disabled, title, name, value, required, showRequiredOnLabel, spellCheck, id, autoComplete, max: maxProp, min: minProp, inputRef, readonly, step, autofocus, iconRight, infoData, form, onBlur, onChange, onFocus, onKeyDown, onKeyUp, onValueChanged, onStringValueChanged, size: sizeProp, alignment: alignmentProp, direction: directionProp, labelHidden, loading, icon, suffix, prefix, decimalScale, decimalSeparator, groupSeparator, leadingZeros, }: CurrencyInputProps): import("react/jsx-runtime").JSX.Element;
|
|
49
49
|
export { CurrencyInput };
|
|
50
50
|
export type { CurrencyInputProps };
|
|
@@ -4,7 +4,7 @@ import { InputPropsType, InputStylingPropsType } from '../Input';
|
|
|
4
4
|
type DateInputProps = StrictOmit<InputPropsType<string>, 'type' | 'value' | 'onValueChanged'> & InputStylingPropsType & {
|
|
5
5
|
/**
|
|
6
6
|
* De waarde van de input
|
|
7
|
-
* - als string: `yyyy-MM-dd`
|
|
7
|
+
* - als string: `yyyy-MM-dd` of `yyyyMMdd` (deze laatste wordt automatisch omgezet naar `yyyy-MM-dd`)
|
|
8
8
|
* - als Date: `new Date()` object
|
|
9
9
|
* - als JSDateTime: `JSDateTime` object (from `loon-bulma-react`-library)
|
|
10
10
|
*/
|
package/dist/forms/Input.d.ts
CHANGED
|
@@ -17,7 +17,19 @@ export type InputErrorProps<T = InputValueType> = {
|
|
|
17
17
|
/** is deze input readonly? */
|
|
18
18
|
readonly: boolean;
|
|
19
19
|
};
|
|
20
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Stel een icoon (met wat extra settings) samen voor gebruik aan de rechterkant van een Input.
|
|
22
|
+
* @param v de value van de input
|
|
23
|
+
* @param hovered is de input momenteel hovered?
|
|
24
|
+
* @param disabled is de input momenteel disabled?
|
|
25
|
+
* @param loading is de input momenteel loading?
|
|
26
|
+
* @param focused is de input momenteel focused?
|
|
27
|
+
* @return een tuple: `[icon: React.Reactnode]` of `[icon: React.ReactNode, onClick:() => void]`.
|
|
28
|
+
* - 1e item `ReactNode` MOET van het component-type `<Icon icon={...} />` zijn!
|
|
29
|
+
* - 2e item`onClick` is optioneel en is een callback voor een click op het icon.
|
|
30
|
+
*/
|
|
31
|
+
export type InputIconRightFn<T extends InputValueType = InputValueType> = (v: T | undefined, hovered: boolean, disabled: boolean, loading: boolean, focused: boolean) => [IconComponent: React.ReactNode, onClick?: () => void];
|
|
32
|
+
type InputValueType = string | number | string[] | readonly string[] | undefined;
|
|
21
33
|
type InputStylingPropsType = {
|
|
22
34
|
/** grootte van de input (default = `m`, medium) */ size?: SizeProp | undefined;
|
|
23
35
|
/** alignment van de input (default = `l`, left) */ alignment?: AlignmentProp | undefined;
|
|
@@ -26,7 +38,7 @@ type InputStylingPropsType = {
|
|
|
26
38
|
/** (optioneel) icon op de input */ icon?: IconProp | string | undefined | null;
|
|
27
39
|
infoData?: string | React.ReactNode | ((helptag?: string | undefined) => void) | undefined;
|
|
28
40
|
};
|
|
29
|
-
type InputPropsType<T = InputValueType> = {
|
|
41
|
+
type InputPropsType<T extends InputValueType = InputValueType> = {
|
|
30
42
|
optionList?: string[] | Array<{
|
|
31
43
|
value: string;
|
|
32
44
|
label: string;
|
|
@@ -40,7 +52,7 @@ type InputPropsType<T = InputValueType> = {
|
|
|
40
52
|
/** (optioneel) tooltip-title voor de input. Bij gebruik van `pattern`, kan je hier het gewenste formaat opgeven. */ title?: string | undefined;
|
|
41
53
|
/** (optioneel) id voor de input. Als geen id, dan wordt de `name`-property gebruikt */ id?: string | undefined;
|
|
42
54
|
/** name-property voor de input */ name: string;
|
|
43
|
-
/** waarde voor de input */ value?: T
|
|
55
|
+
/** waarde voor de input */ value?: T;
|
|
44
56
|
/** is deze input loading (default = false) */ loading?: boolean | undefined;
|
|
45
57
|
/** gebruikt deze input de spellchecked (default = `false`) */ spellCheck?: boolean | undefined;
|
|
46
58
|
/** is deze input required (default= `false`) */ required?: boolean | undefined;
|
|
@@ -97,8 +109,20 @@ type InputPropsType<T = InputValueType> = {
|
|
|
97
109
|
/** Voeg extra classes toe aan deze input */
|
|
98
110
|
className?: string | undefined;
|
|
99
111
|
optionListId?: string | undefined;
|
|
100
|
-
|
|
101
|
-
|
|
112
|
+
/**
|
|
113
|
+
* `hidden`: geen icon rechts
|
|
114
|
+
* `visible`: standaard gedrag, een check of een error icoon, of een info icoon als showInfo/infoData is meegegeven
|
|
115
|
+
* De functie is apart. Die returned een tuple. __LET OP: ALS JE DEZE GEBRUIKT, HEB JE NIET MEER DE NORMALE HELP-FUNCTIONALITEIT__
|
|
116
|
+
* - 1e item een ReactNode teruggeven van het type `<Icon icon={...} />`, voor het icon.
|
|
117
|
+
* - 2e item (optioneel) een onClick functie, als het icon klikbaar moet zijn. Die __MOET__ op de container, daarom niet in de component zelf.
|
|
118
|
+
* De functie wordt aangeroepen met de volgende parameters:
|
|
119
|
+
* - `value`: de value van de input
|
|
120
|
+
* - `hovered`: is de input momenteel hovered?
|
|
121
|
+
* - `disabled`: is de input momenteel disabled?
|
|
122
|
+
* - `loading`: is de input momenteel loading?
|
|
123
|
+
* - `focused`: is de input momenteel focused?
|
|
124
|
+
*/
|
|
125
|
+
iconRight?: 'hidden' | 'visible' | InputIconRightFn<T> | undefined;
|
|
102
126
|
onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void | Promise<void>;
|
|
103
127
|
/** callback voor onChange. Voor de echte waarde, gebruik je `onValueChanged` */
|
|
104
128
|
onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void | Promise<void>;
|
|
@@ -200,7 +224,7 @@ declare function BaseInput<T extends InputValueType = string>({ alignment: align
|
|
|
200
224
|
* | type | `string` | type voor deze input (default = `text`)|
|
|
201
225
|
* | value | `string` | value voor deze input (default = `undefined`)|
|
|
202
226
|
*/
|
|
203
|
-
declare function Input<T extends InputValueType = string>({ direction: directionProp, errorMessage, infoMessage, showRequiredOnLabel,
|
|
227
|
+
declare function Input<T extends InputValueType = string>({ direction: directionProp, errorMessage, infoMessage, showRequiredOnLabel, iconRight, icon, id, label, labelHidden, name, required, loading, disabled, readonly, size: sizeProp, value, infoData, helpTag, optionList, onBlur, onFocus, ...props }: StrictOmit<InputPropsType<T>, 'optionListId'> & InputStylingPropsType): import("react/jsx-runtime").JSX.Element;
|
|
204
228
|
type InputContainerProps = {
|
|
205
229
|
label: string;
|
|
206
230
|
required: boolean;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { StrictOmit } from './../../types';
|
|
2
|
+
import { IbanCountryCode, IbanGegevens } from './../../utils/IBAN.functions';
|
|
3
|
+
import { InputPropsType, InputStylingPropsType, InputErrorProps } from '../Input';
|
|
4
|
+
export type IBANInputErrorCode = '' | 'unknown_country' | 'unsupported_country' | 'incomplete' | 'invalid_format' | 'invalid_length' | 'invalid_structure' | 'invalid_checksum' | 'disallowed_country';
|
|
5
|
+
export type IBANInputValidationResult = {
|
|
6
|
+
/** De schone IBAN-waarde (uppercase, geen spaties) */
|
|
7
|
+
value: string;
|
|
8
|
+
/** De geformatteerde IBAN-waarde (met spaties elke 4 tekens) */
|
|
9
|
+
formatted: string;
|
|
10
|
+
/** Of de IBAN geldig is */
|
|
11
|
+
isValid: boolean;
|
|
12
|
+
/** Error code bij ongeldig, lege string bij geldig */
|
|
13
|
+
errorCode: IBANInputErrorCode;
|
|
14
|
+
/** ISO country code (bijv. 'NL', 'DE', '') */
|
|
15
|
+
countryCode: string;
|
|
16
|
+
/** Volledige country name (bijv. 'Netherlands', 'Germany', '') */
|
|
17
|
+
countryName: string;
|
|
18
|
+
/** Of dit land onderdeel is van SEPA */
|
|
19
|
+
isSepa: boolean;
|
|
20
|
+
/** De 2-cijferige check digits */
|
|
21
|
+
checkDigits: string;
|
|
22
|
+
/** Basic Bank Account Number (alles na country code en check digits) */
|
|
23
|
+
bban: string;
|
|
24
|
+
/** Verwachte IBAN-lengte voor dit land (0 als onbekend) */
|
|
25
|
+
expectedLength: number;
|
|
26
|
+
/** Huidige lengte van de opgeschoonde IBAN */
|
|
27
|
+
currentLength: number;
|
|
28
|
+
/** Bank code (eerste 4 tekens van BBAN voor de meeste landen, leeg indien niet van toepassing) */
|
|
29
|
+
bankCode: string;
|
|
30
|
+
/** Of de IBAN de verwachte lengte heeft bereikt */
|
|
31
|
+
isComplete: boolean;
|
|
32
|
+
/** Of volledige validatie wordt ondersteund voor dit land */
|
|
33
|
+
isSupported: boolean;
|
|
34
|
+
};
|
|
35
|
+
export type IBANInputProps = StrictOmit<InputPropsType<string>, 'type' | 'step' | 'pattern'> & InputStylingPropsType & {
|
|
36
|
+
/**
|
|
37
|
+
* Allowed countries voor IBAN validatie.
|
|
38
|
+
* Kan zijn:
|
|
39
|
+
* - Een array met country codes (uppercase of lowercase): `['NL', 'DE']` of `['nl', 'de']`
|
|
40
|
+
* - Een predicate function: `(code, details) => details.sepa`
|
|
41
|
+
* Als niet opgegeven, zijn alle landen toegestaan.
|
|
42
|
+
* @example ['NL', 'DE']
|
|
43
|
+
* @example (code, details) => details.sepa && code !== 'RU'
|
|
44
|
+
*/
|
|
45
|
+
allowCountries?: (Uppercase<IbanCountryCode> | Lowercase<IbanCountryCode>)[] | ((code: IbanCountryCode, details: IbanGegevens) => boolean);
|
|
46
|
+
/**
|
|
47
|
+
* Wordt aangeroepen bij value changes met gedetailleerde validation info
|
|
48
|
+
* @param result Object met value, formatted, isValid en errorCode
|
|
49
|
+
* @example onValueChangedObj={(result) => console.log(result.errorCode, result.isValid)}
|
|
50
|
+
*/
|
|
51
|
+
onValueChangedObj?: (result: IBANInputValidationResult) => void;
|
|
52
|
+
/**
|
|
53
|
+
* Error message om te tonen. Kan zijn:
|
|
54
|
+
* - Een string voor een vaste error message (component valideert dan niet meer zelf)
|
|
55
|
+
* - Een function die InputErrorProps ontvangt, uitgebreid met ibanErrorCode en ibanValidationResult
|
|
56
|
+
* Als niet opgegeven of als de function een lege string teruggeeft, worden default IBAN error messages getoond
|
|
57
|
+
* Let op: bij een string betekent een lege string "geen error"
|
|
58
|
+
* @example errorMessage={(props) => props.ibanErrorCode === 'incomplete' ? 'Vul het IBAN compleet in' : ''}
|
|
59
|
+
* @example errorMessage={(props) => props.ibanValidationResult?.bankName ? `Bank: ${props.ibanValidationResult.bankName}` : ''}
|
|
60
|
+
*/
|
|
61
|
+
errorMessage?: string | ((props: InputErrorProps & {
|
|
62
|
+
ibanErrorCode?: IBANInputErrorCode;
|
|
63
|
+
ibanValidationResult?: IBANInputValidationResult;
|
|
64
|
+
}) => string);
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Een input voor een IBAN. Deze input heeft validatie, formatting en country filtering.
|
|
68
|
+
* @example <IBANInput name="iban" value={iban} onValueChanged={setIban} />
|
|
69
|
+
* @example
|
|
70
|
+
* // Met custom error messages
|
|
71
|
+
* <IBANInput
|
|
72
|
+
* name="iban"
|
|
73
|
+
* value={iban}
|
|
74
|
+
* onValueChanged={setIban}
|
|
75
|
+
* errorMessage={(props) => {
|
|
76
|
+
* switch (props.ibanErrorCode) {
|
|
77
|
+
* case 'incomplete': return 'Vul het IBAN compleet in';
|
|
78
|
+
* case 'invalid_checksum': return 'Controleer de cijfers';
|
|
79
|
+
* default: return '';
|
|
80
|
+
* }
|
|
81
|
+
* }}
|
|
82
|
+
* />
|
|
83
|
+
* @example
|
|
84
|
+
* // Met toegang tot validation result
|
|
85
|
+
* <IBANInput
|
|
86
|
+
* errorMessage={(props) => {
|
|
87
|
+
* const result = props.ibanValidationResult;
|
|
88
|
+
* if (result?.bankName) return `Bank: ${result.bankName}`;
|
|
89
|
+
* if (result?.countryName) return `Land: ${result.countryName} (${result.currentLength}/${result.expectedLength})`;
|
|
90
|
+
* return '';
|
|
91
|
+
* }}
|
|
92
|
+
* />
|
|
93
|
+
* @param autoComplete de autocomplete type (password managers) (default = `cc-number`)
|
|
94
|
+
*/
|
|
95
|
+
export declare function IBANInput({ placeholder, helpTag, errorMessage, infoMessage, label, disabled, title, name, value, required, showRequiredOnLabel, spellCheck, id, autoComplete, inputRef, readonly, autofocus, iconRight, infoData, form, onBlur, onChange, onFocus, onKeyDown, onKeyUp, onValueChanged, size: sizeProp, alignment: alignmentProp, direction: directionProp, labelHidden, loading, icon, allowCountries, onValueChangedObj, ...props }: IBANInputProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { StrictOmit } from './../../types';
|
|
2
2
|
import { InputPropsType, InputStylingPropsType } from '../Input';
|
|
3
3
|
type NumberInputProps = StrictOmit<InputPropsType<number>, 'type' | 'spellCheck'> & InputStylingPropsType & {
|
|
4
|
+
/** prefix voor de waarde (in de input zelf) */
|
|
4
5
|
prefix?: string;
|
|
6
|
+
/** suffix voor de waarde (in de input zelf) */
|
|
5
7
|
suffix?: string;
|
|
6
8
|
};
|
|
7
9
|
/**
|
|
@@ -9,6 +11,6 @@ type NumberInputProps = StrictOmit<InputPropsType<number>, 'type' | 'spellCheck'
|
|
|
9
11
|
* @param value De waarde van de input
|
|
10
12
|
* @example <NumberInput value={1} step={3}/>
|
|
11
13
|
*/
|
|
12
|
-
declare function NumberInput({ value, prefix, suffix, icon, name, id: idProp, label, direction: directionProp, size: sizeProp, alignment: alignmentProp, required, disabled, readonly, loading, labelHidden, showRequiredOnLabel,
|
|
14
|
+
declare function NumberInput({ value, prefix, suffix, icon, name, id: idProp, label, direction: directionProp, size: sizeProp, alignment: alignmentProp, required, disabled, readonly, loading, labelHidden, showRequiredOnLabel, iconRight, className: extraClasses, infoData, helpTag, errorMessage, infoMessage, min: minProp, max: maxProp, onValueChanged, onBlur, onFocus, ...props }: NumberInputProps): import("react/jsx-runtime").JSX.Element;
|
|
13
15
|
export { NumberInput };
|
|
14
16
|
export type { NumberInputProps };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { StrictOmit } from './../../types';
|
|
2
2
|
import { InputPropsType, InputStylingPropsType } from '../Input';
|
|
3
|
-
type RangeInputProps = StrictOmit<InputPropsType<number>, 'autofocus' | 'autoComplete' | 'type' | 'spellCheck' | 'placeholder' | '
|
|
3
|
+
type RangeInputProps = StrictOmit<InputPropsType<number>, 'autofocus' | 'autoComplete' | 'type' | 'spellCheck' | 'placeholder' | 'iconRight'> & StrictOmit<InputStylingPropsType, 'alignment' | 'icon'> & {
|
|
4
4
|
/** value-unit om __voor__ de geselecteerde waarde te zetten. (default = `''`) */
|
|
5
5
|
prefix?: string;
|
|
6
6
|
/** value-unit om __achter__ de geselecteerde waarde te zetten. (default = `''`) */
|
|
@@ -32,7 +32,7 @@ type RadioGroupProps<T extends RBValueType = string> = StrictOmit<InputStylingPr
|
|
|
32
32
|
/** callback voor typen */
|
|
33
33
|
onKeyUp?: (e: React.KeyboardEvent<HTMLInputElement>) => void | Promise<void>;
|
|
34
34
|
};
|
|
35
|
-
type RadioInputProps<T extends RBValueType = string> = StrictOmit<InputPropsType<number | string>, 'id' | 'label' | 'name' | 'type' | 'value' | 'onValueChanged' | 'step' | 'pattern' | 'errorMessage' | 'infoMessage' | 'min' | 'max' | 'placeholder' | 'showRequiredOnLabel' | '
|
|
35
|
+
type RadioInputProps<T extends RBValueType = string> = StrictOmit<InputPropsType<number | string>, 'id' | 'label' | 'name' | 'type' | 'value' | 'onValueChanged' | 'step' | 'pattern' | 'errorMessage' | 'infoMessage' | 'min' | 'max' | 'placeholder' | 'showRequiredOnLabel' | 'iconRight'> & StrictOmit<InputStylingPropsType, 'labelHidden' | 'direction' | 'icon'> & {
|
|
36
36
|
/** label van de Radio Button. Als niet gedefinieerd, wordt de `name`-prop gebruikt */
|
|
37
37
|
children: React.ReactNode;
|
|
38
38
|
/** de waarde van de radiobutton */
|
|
@@ -110,9 +110,9 @@ type SelectInputProps<T extends number | string | string[]> = StrictOmit<InputPr
|
|
|
110
110
|
* ..</Select.OptGroup>
|
|
111
111
|
* </Select>
|
|
112
112
|
*/
|
|
113
|
-
declare function Select<T extends number | string | string[] = string>({ value, id, name, label, grouped, required, showRequiredOnLabel, errorMessage, infoMessage, multiple, alignment: alignmentProp, size: sizeProp, direction: directionProp,
|
|
113
|
+
declare function Select<T extends number | string | string[] = string>({ value, id, name, label, grouped, required, showRequiredOnLabel, errorMessage, infoMessage, multiple, alignment: alignmentProp, size: sizeProp, direction: directionProp, iconRight, options, children: nodes, helpTag, disabled, keyboardType, title, spellCheck, loading, autoComplete, autofocus, form, inputRef: ref, labelHidden, icon, infoData, onBlur, onFocus, onChange, onKeyDown, onKeyUp, onValueChanged, }: SelectInputProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
114
114
|
declare namespace Select {
|
|
115
|
-
var Option: ({ value, disabled, id, children
|
|
115
|
+
var Option: ({ value, disabled, id, children }: {
|
|
116
116
|
id?: string;
|
|
117
117
|
value?: number | string;
|
|
118
118
|
disabled?: boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { StrictOmit, ColorProp } from './../../types';
|
|
2
2
|
import { InputPropsType, InputStylingPropsType, InputErrorProps } from '../Input';
|
|
3
|
-
type TagsInputProps = StrictOmit<InputPropsType<string>, 'type' | 'step' | 'onChange' | 'value' | 'onValueChanged' | 'max' | 'min' | 'inputRef' | 'errorMessage'> & InputStylingPropsType & {
|
|
3
|
+
type TagsInputProps = StrictOmit<InputPropsType<string[]>, 'type' | 'step' | 'onChange' | 'value' | 'onValueChanged' | 'max' | 'min' | 'inputRef' | 'errorMessage'> & InputStylingPropsType & {
|
|
4
4
|
/** de values (dus de tags) van het input field */
|
|
5
5
|
value?: string[] | undefined;
|
|
6
6
|
/** mogen tags meerdere keren voorkomen (2 tags met dezelfde tekst). default = `false` */
|
|
@@ -39,6 +39,6 @@ type TagsInputProps = StrictOmit<InputPropsType<string>, 'type' | 'step' | 'onCh
|
|
|
39
39
|
* </Section>
|
|
40
40
|
* @returns
|
|
41
41
|
*/
|
|
42
|
-
declare function TagsInput({ value, allowDuplicates, disableRemove, disabled, id, name, label, color: colorProp, direction: directionProp, errorMessage, infoMessage, showRequiredOnLabel, icon, labelHidden, required, loading, size: sizeProp, alignment: alignmentProp, autoComplete, optionListId, autofocus, form, helpTag, keyboardType, maxLength, minLength, pattern, placeholder, readonly, spellCheck,
|
|
42
|
+
declare function TagsInput({ value, allowDuplicates, disableRemove, disabled, id, name, label, color: colorProp, direction: directionProp, errorMessage, infoMessage, showRequiredOnLabel, icon, labelHidden, required, loading, size: sizeProp, alignment: alignmentProp, autoComplete, optionListId, autofocus, form, helpTag, keyboardType, maxLength, minLength, pattern, placeholder, readonly, spellCheck, iconRight, title, className: extraClasses, styles, randomColors, maxTags, infoData, onBlur, onFocus, onValueChanged, onKeyDown, onKeyUp, }: TagsInputProps): import("react/jsx-runtime").JSX.Element;
|
|
43
43
|
export { TagsInput };
|
|
44
44
|
export type { TagsInputProps };
|
|
@@ -49,6 +49,6 @@ type FormattedInputProps = StrictOmit<InputPropsType<string>, 'type' | 'step' |
|
|
|
49
49
|
* );
|
|
50
50
|
*}
|
|
51
51
|
*/
|
|
52
|
-
declare function FormattedInput({ placeholder, helpTag, errorMessage, infoMessage, disabled, title, required, showRequiredOnLabel, spellCheck, autoComplete, max, min, readonly, autofocus, infoData, form, onBlur, onChange, onFocus, onKeyDown, onKeyUp, size: sizeProp, alignment: alignmentProp, direction: directionProp,
|
|
52
|
+
declare function FormattedInput({ placeholder, helpTag, errorMessage, infoMessage, disabled, title, required, showRequiredOnLabel, spellCheck, autoComplete, max, min, readonly, autofocus, infoData, form, onBlur, onChange, onFocus, onKeyDown, onKeyUp, size: sizeProp, alignment: alignmentProp, direction: directionProp, iconRight, labelHidden, loading, value, icon, groupBy, divider, name, label, id, casing, onValueChanged, onFormat, }: FormattedInputProps): import("react/jsx-runtime").JSX.Element;
|
|
53
53
|
export { FormattedInput };
|
|
54
54
|
export type { FormattedInputProps };
|
|
@@ -14,6 +14,6 @@ type PasswordInputProps = StrictOmit<InputPropsType<string>, 'type' | 'step'> &
|
|
|
14
14
|
* @param revealPasswordMsg boodschap bij de checkbox. Default is `Toon wachtwoord`
|
|
15
15
|
* @param iconRevealed icon voor ww revealed. Default is `faEye`
|
|
16
16
|
*/
|
|
17
|
-
declare function PasswordInput({ value, autoComplete, icon, name, id, label, required, showRequiredOnLabel, labelHidden, size: sizeProp, direction: directionProp, revealPasswordAllowed, disabled, readonly,
|
|
17
|
+
declare function PasswordInput({ value, autoComplete, icon, name, id, label, required, loading, showRequiredOnLabel, labelHidden, size: sizeProp, direction: directionProp, revealPasswordAllowed, disabled, readonly, iconRight, revealPasswordMsg, iconRevealed, errorMessage, infoMessage, infoData, helpTag, onValueChanged, onBlur, onFocus, ...props }: PasswordInputProps): import("react/jsx-runtime").JSX.Element;
|
|
18
18
|
export { PasswordInput };
|
|
19
19
|
export type { PasswordInputProps };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { StrictOmit } from './../../types';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { InputPropsType, InputStylingPropsType } from '../Input';
|
|
4
|
-
type TextAreaProps = StrictOmit<InputPropsType<string>, 'type' | 'inputRef' | 'keyboardType' | 'step' | 'pattern' | 'onBlur' | 'onChange' | 'onFocus' | 'onKeyDown' | 'onKeyUp' | '
|
|
4
|
+
type TextAreaProps = StrictOmit<InputPropsType<string>, 'type' | 'inputRef' | 'keyboardType' | 'step' | 'pattern' | 'onBlur' | 'onChange' | 'onFocus' | 'onKeyDown' | 'onKeyUp' | 'iconRight'> & StrictOmit<InputStylingPropsType, 'icon'> & {
|
|
5
5
|
/** (optionele) `ref` voor gebruik met `React.useRef<HTMLTextAreaElement>` */
|
|
6
6
|
inputRef?: React.RefObject<HTMLTextAreaElement>;
|
|
7
7
|
/** aantal rijen voor de textarea */ rows?: number;
|
|
@@ -32,5 +32,5 @@ type UseLocalStoredStateFn<T = string> = {
|
|
|
32
32
|
* // 6. close the browser / tab
|
|
33
33
|
* // 7. check the value in session storage. it should still be there.
|
|
34
34
|
*/
|
|
35
|
-
declare function useLocalStoredState<T extends unknown>({ key, initialValue, deserialize, serialize }: UseLocalStoredStateFn<T>): readonly [T, (value: T) => void, () => void];
|
|
35
|
+
declare function useLocalStoredState<T extends unknown>({ key, initialValue, deserialize, serialize, }: UseLocalStoredStateFn<T>): readonly [T, (value: T) => void, () => void];
|
|
36
36
|
export { useLocalStoredState };
|
|
@@ -34,5 +34,5 @@ type UseSessionStoredState<T = string> = {
|
|
|
34
34
|
* // 6. close the browser / tab
|
|
35
35
|
* // 7. check the value in session storage. it should be gone.
|
|
36
36
|
*/
|
|
37
|
-
declare function useSessionStoredState<T extends unknown = {}>({ key, initialValue, deserialize, serialize }: UseSessionStoredState<T>): readonly [T, (value: T) => void, () => void];
|
|
37
|
+
declare function useSessionStoredState<T extends unknown = {}>({ key, initialValue, deserialize, serialize, }: UseSessionStoredState<T>): readonly [T, (value: T) => void, () => void];
|
|
38
38
|
export { useSessionStoredState };
|
package/dist/index.d.ts
CHANGED
|
@@ -56,7 +56,8 @@ export type { TagProps, TagsProps } from './components/Tag/Tag';
|
|
|
56
56
|
export { TimeLine } from './components/TimeLine/TimeLine';
|
|
57
57
|
export type { TimeLineProps, TimeLineItemProps, TimeLinePointProps } from './components/TimeLine/TimeLine';
|
|
58
58
|
export { TreeView } from './components/TreeView/TreeView';
|
|
59
|
-
export
|
|
59
|
+
export { useTreeViewControls } from './components/TreeView/TreeView';
|
|
60
|
+
export type { TreeViewProps, TreeViewNode, TreeViewRef } from './components/TreeView/TreeView';
|
|
60
61
|
export { H1, H2, H3, H4, H5, H6 } from './components/Titles/Titles';
|
|
61
62
|
export { QuickView } from './components/QuickView/QuickView';
|
|
62
63
|
export type { QuickViewProps } from './components/QuickView/QuickView';
|
|
@@ -122,6 +123,8 @@ export { FileInput } from './forms/File/FileInput';
|
|
|
122
123
|
export type { FileInputProps, FileInputValue } from './forms/File/FileInput';
|
|
123
124
|
export { CurrencyInput } from './forms/Currency/CurrencyInput';
|
|
124
125
|
export type { CurrencyInputProps } from './forms/Currency/CurrencyInput';
|
|
126
|
+
export { IBANInput } from './forms/MaskedInput/IBANInput';
|
|
127
|
+
export type { IBANInputProps } from './forms/MaskedInput/IBANInput';
|
|
125
128
|
export { WeekInput } from './forms/Periodes/WeekInput';
|
|
126
129
|
export type { WeekInputProps, WeekInputString } from './forms/Periodes/WeekInput';
|
|
127
130
|
export { MonthInput } from './forms/Periodes/MonthInput';
|