loon-bulma-react 2026.0.39 → 2026.0.41

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 (150) hide show
  1. package/dist/components/DragDrop/DragDropList.d.ts +6 -4
  2. package/dist/forms/Select/Select.d.ts +1 -1
  3. package/dist/hooks/useClipboard.d.ts +3 -3
  4. package/dist/index.js +1257 -1249
  5. package/dist/internal_functions/createIconsInternal.d.ts +2 -1
  6. package/dist/lib/classes/Console.d.ts +29 -0
  7. package/dist/lib/classes/FetchWrapper.d.ts +124 -0
  8. package/dist/lib/components/AspectRatio/AspectRatio.d.ts +28 -0
  9. package/dist/lib/components/Block/Block.d.ts +9 -0
  10. package/dist/lib/components/Box/BorderBox.d.ts +29 -0
  11. package/dist/lib/components/Box/Box.d.ts +20 -0
  12. package/dist/lib/components/Button/Button.d.ts +87 -0
  13. package/dist/lib/components/ButtonGroup/ButtonGroup.d.ts +26 -0
  14. package/dist/lib/components/Calendar/CalendarItems/CalendarColoredItem.d.ts +18 -0
  15. package/dist/lib/components/Calendar/CalendarItems/CalendarItem.d.ts +18 -0
  16. package/dist/lib/components/Calendar/DayContainer.d.ts +25 -0
  17. package/dist/lib/components/Calendar/EventDescriptions.d.ts +33 -0
  18. package/dist/lib/components/Calendar/Fourweeks/FourweeksView.d.ts +23 -0
  19. package/dist/lib/components/Calendar/Mini/MiniView.d.ts +24 -0
  20. package/dist/lib/components/Calendar/Month/MonthView.d.ts +23 -0
  21. package/dist/lib/components/Calendar/Planning/PlanningView.d.ts +41 -0
  22. package/dist/lib/components/Calendar/Props.d.ts +58 -0
  23. package/dist/lib/components/Calendar/Week/AlldayContainer.d.ts +19 -0
  24. package/dist/lib/components/Calendar/Week/HourRow.d.ts +30 -0
  25. package/dist/lib/components/Calendar/Week/WeekView.d.ts +24 -0
  26. package/dist/lib/components/Calendar/calendar.functions.d.ts +10 -0
  27. package/dist/lib/components/Calendar/index.d.ts +15 -0
  28. package/dist/lib/components/CodeBlock/CodeBlock.d.ts +49 -0
  29. package/dist/lib/components/Columns/Column.d.ts +207 -0
  30. package/dist/lib/components/Columns/Columns.d.ts +35 -0
  31. package/dist/lib/components/Container/Container.d.ts +45 -0
  32. package/dist/lib/components/Content/Content.d.ts +22 -0
  33. package/dist/lib/components/DataTable/DataTable.d.ts +227 -0
  34. package/dist/lib/components/DataTable/DataTableDropdown.d.ts +39 -0
  35. package/dist/lib/components/Divider/Divider.d.ts +23 -0
  36. package/dist/lib/components/DragDrop/DragDropList.d.ts +97 -0
  37. package/dist/lib/components/Dropdown/Dropdown.d.ts +42 -0
  38. package/dist/lib/components/Footer/Footer.d.ts +22 -0
  39. package/dist/lib/components/Help/Help.d.ts +19 -0
  40. package/dist/lib/components/Hero/Hero.d.ts +104 -0
  41. package/dist/lib/components/Icon/Icon.d.ts +84 -0
  42. package/dist/lib/components/Image/Image.d.ts +28 -0
  43. package/dist/lib/components/Indicator/Indicator.d.ts +25 -0
  44. package/dist/lib/components/Kbd/Kbd.d.ts +30 -0
  45. package/dist/lib/components/Label/Label.d.ts +11 -0
  46. package/dist/lib/components/Link/Link.d.ts +44 -0
  47. package/dist/lib/components/Menu/Menu.d.ts +64 -0
  48. package/dist/lib/components/Message/Message.d.ts +49 -0
  49. package/dist/lib/components/Modal/Modal.d.ts +89 -0
  50. package/dist/lib/components/Notification/Notification.d.ts +38 -0
  51. package/dist/lib/components/Pagination/Pagination.d.ts +58 -0
  52. package/dist/lib/components/Panel/Panel.d.ts +99 -0
  53. package/dist/lib/components/ProgressBar/ProgressBar.d.ts +28 -0
  54. package/dist/lib/components/QuickView/QuickView.d.ts +61 -0
  55. package/dist/lib/components/ScrollArea/ScrollArea.d.ts +76 -0
  56. package/dist/lib/components/Section/Section.d.ts +21 -0
  57. package/dist/lib/components/SimpleTable/SimpleTable.d.ts +130 -0
  58. package/dist/lib/components/Steps/Steps.d.ts +61 -0
  59. package/dist/lib/components/TabBar/TabBar.d.ts +47 -0
  60. package/dist/lib/components/Tag/Tag.d.ts +54 -0
  61. package/dist/lib/components/TimeLine/TimeLine.d.ts +62 -0
  62. package/dist/lib/components/Titles/Titles.d.ts +71 -0
  63. package/dist/lib/components/ToggleBar/ToggleBar.d.ts +80 -0
  64. package/dist/lib/components/Tooltip/Tooltip.d.ts +50 -0
  65. package/dist/lib/components/TreeView/TreeView.d.ts +185 -0
  66. package/dist/lib/contexts/ActionSheet/ActionSheetContextProvider.d.ts +76 -0
  67. package/dist/lib/contexts/AppProvider/AppProviders.d.ts +17 -0
  68. package/dist/lib/contexts/ColorSchemeProvider/ColorSchemeProvider.d.ts +15 -0
  69. package/dist/lib/contexts/Confirm/ConfirmContextProvider.d.ts +60 -0
  70. package/dist/lib/contexts/DefaultsProvider/DefaultsProvider.d.ts +100 -0
  71. package/dist/lib/contexts/DialogsProvider/DialogsProvider.d.ts +4 -0
  72. package/dist/lib/contexts/KeysProvider/KeysProvider.d.ts +52 -0
  73. package/dist/lib/contexts/ModalProvider/ModalProvider.d.ts +11 -0
  74. package/dist/lib/contexts/ModeProvider/ModeProvider.d.ts +16 -0
  75. package/dist/lib/contexts/Notifier/Notifier.d.ts +81 -0
  76. package/dist/lib/contexts/Prompt/PromptContextProvider.d.ts +71 -0
  77. package/dist/lib/forms/Checkbox/Checkbox.d.ts +48 -0
  78. package/dist/lib/forms/ComboBox/ComboBox.d.ts +44 -0
  79. package/dist/lib/forms/ComboBox/MultiComboBox.d.ts +44 -0
  80. package/dist/lib/forms/ComboBox/useComboBoxScroll.d.ts +4 -0
  81. package/dist/lib/forms/Currency/CurrencyInput.d.ts +50 -0
  82. package/dist/lib/forms/Datetimes/DateInput.d.ts +37 -0
  83. package/dist/lib/forms/Datetimes/DateTimeInput.d.ts +44 -0
  84. package/dist/lib/forms/Datetimes/TimeInput.d.ts +42 -0
  85. package/dist/lib/forms/File/FileInput.d.ts +71 -0
  86. package/dist/lib/forms/Input.d.ts +248 -0
  87. package/dist/lib/forms/MaskedInput/IBANInput.d.ts +95 -0
  88. package/dist/lib/forms/MaskedInput/MaskedInput.d.ts +46 -0
  89. package/dist/lib/forms/Numeric/NumberInput.d.ts +16 -0
  90. package/dist/lib/forms/Numeric/RangeInput.d.ts +21 -0
  91. package/dist/lib/forms/Others/ColorInput.d.ts +56 -0
  92. package/dist/lib/forms/Others/HiddenInput.d.ts +29 -0
  93. package/dist/lib/forms/Others/TelephoneInput.d.ts +14 -0
  94. package/dist/lib/forms/Others/URLInput.d.ts +14 -0
  95. package/dist/lib/forms/Periodes/MonthInput.d.ts +43 -0
  96. package/dist/lib/forms/Periodes/WeekInput.d.ts +43 -0
  97. package/dist/lib/forms/Radio/Radio.d.ts +97 -0
  98. package/dist/lib/forms/Select/Select.d.ts +136 -0
  99. package/dist/lib/forms/TagsInput/TagsInput.d.ts +44 -0
  100. package/dist/lib/forms/Text/EmailInput.d.ts +14 -0
  101. package/dist/lib/forms/Text/FormattedInput.d.ts +54 -0
  102. package/dist/lib/forms/Text/PasswordInput.d.ts +19 -0
  103. package/dist/lib/forms/Text/TextArea.d.ts +31 -0
  104. package/dist/lib/forms/Text/TextEditor.d.ts +36 -0
  105. package/dist/lib/forms/Text/TextInput.d.ts +30 -0
  106. package/dist/lib/hooks/useCaretPosition.d.ts +8 -0
  107. package/dist/lib/hooks/useClickOutside.d.ts +15 -0
  108. package/dist/lib/hooks/useClipboard.d.ts +21 -0
  109. package/dist/lib/hooks/useContextMenu.d.ts +29 -0
  110. package/dist/lib/hooks/useCookieState.d.ts +37 -0
  111. package/dist/lib/hooks/useDebounced.hooks.d.ts +85 -0
  112. package/dist/lib/hooks/useFetchApi.d.ts +65 -0
  113. package/dist/lib/hooks/useHotkeys.d.ts +96 -0
  114. package/dist/lib/hooks/useIndexedDb.d.ts +90 -0
  115. package/dist/lib/hooks/useLocalStoredState.d.ts +36 -0
  116. package/dist/lib/hooks/useMediaQuery.d.ts +154 -0
  117. package/dist/lib/hooks/usePagination.d.ts +25 -0
  118. package/dist/lib/hooks/usePropState.d.ts +16 -0
  119. package/dist/lib/hooks/useScrollIntoView.d.ts +59 -0
  120. package/dist/lib/hooks/useSessionStoredState.d.ts +38 -0
  121. package/dist/lib/hooks/useThrottle.hooks.d.ts +99 -0
  122. package/dist/lib/hooks/useToggle.d.ts +16 -0
  123. package/dist/lib/hooks/useUncontrolled.d.ts +44 -0
  124. package/dist/lib/hooks/useValidatedState.d.ts +21 -0
  125. package/dist/lib/index.d.ts +174 -0
  126. package/dist/lib/internal_functions/createIconsInternal.d.ts +36 -0
  127. package/dist/lib/internal_functions/getAlignmentClass.d.ts +16 -0
  128. package/dist/lib/internal_functions/getColorClass.d.ts +23 -0
  129. package/dist/lib/internal_functions/getPositionClass.d.ts +2 -0
  130. package/dist/lib/internal_functions/getSizeClass.d.ts +23 -0
  131. package/dist/lib/internal_functions/index.d.ts +8 -0
  132. package/dist/lib/shims/useSyncExternalStoreShim.d.ts +1 -0
  133. package/dist/lib/shims/useSyncExternalStoreWithSelector.d.ts +5 -0
  134. package/dist/lib/test-data.d.ts +9 -0
  135. package/dist/lib/types/index.d.ts +104 -0
  136. package/dist/lib/utils/BSN.functions.d.ts +57 -0
  137. package/dist/lib/utils/IBAN.functions.d.ts +138 -0
  138. package/dist/lib/utils/JSDateTime.class.d.ts +512 -0
  139. package/dist/lib/utils/JSDuration.class.d.ts +184 -0
  140. package/dist/lib/utils/colors.d.ts +54 -0
  141. package/dist/lib/utils/compare.d.ts +7 -0
  142. package/dist/lib/utils/deserialize.function.d.ts +2 -0
  143. package/dist/lib/utils/flattenChildren.function.d.ts +49 -0
  144. package/dist/lib/utils/math.d.ts +22 -0
  145. package/dist/lib/utils/object.functions.d.ts +37 -0
  146. package/dist/lib/utils/operators.d.ts +195 -0
  147. package/dist/lib/utils/serialize.function.d.ts +2 -0
  148. package/dist/lib/utils/sorting.d.ts +34 -0
  149. package/dist/lib/utils/string.utils.d.ts +125 -0
  150. package/package.json +51 -51
@@ -0,0 +1,28 @@
1
+ type ImageProps = {
2
+ /** De ratio (width x height) van de afbeelding */
3
+ ratio: '1by1' | '5by4' | '4by5' | '4by3' | '3by4' | '3by2' | '2by3' | '5by3' | '3by5' | '16by9' | '9by16' | '2by1' | '1by2' | '3by1' | '1by3' | 'square';
4
+ /** Geef een gewenste width op in geval van een ratio. Als er geen waarde is, wordt de parent gevuld
5
+ * voor ratio='square' MOETEN de string literal waarden worden gebruikt */
6
+ imgWidth?: '16' | '24' | '32' | '48' | '64' | '96' | '128' | string;
7
+ /** Wordt de afbeelding rond ? LET OP: Alleen voor ratio == 'square'! */
8
+ isRounded?: boolean;
9
+ /** `src`-Attribuut van image tag */
10
+ src: string;
11
+ /** `alt`-Attribuut van image tag */
12
+ alt: string;
13
+ /** Een optionele figcaption */
14
+ figCaption?: string;
15
+ /** extra classNames voor de omringende div */
16
+ className?: string;
17
+ };
18
+ /**
19
+ * Een afbeelding met een vastgestelde aspect ratio.
20
+ * Voor de ratio 'square' kan er een size worden opgegeven.
21
+ * De andere ratio's nemen de gehele width van de parent-container in.
22
+ * @param props
23
+ * @returns an image with a fixed aspect ratio
24
+ * @example <Image ratio="1by1" src="https://www.loon.be/images/logo.png" alt="Loon.be" />
25
+ */
26
+ declare function Image({ ratio, imgWidth, alt, figCaption, className, isRounded, src }: ImageProps): import("react/jsx-runtime").JSX.Element;
27
+ export { Image };
28
+ export type { ImageProps };
@@ -0,0 +1,25 @@
1
+ import { IndicatorPositionProp, ColorProp } from './../../types';
2
+ import React from 'react';
3
+ type IndicatorProps = {
4
+ /** Positie van de indicator (default = 'tr' (top-right)) */
5
+ position?: IndicatorPositionProp;
6
+ /** Het element waar de indicator op moet */
7
+ children: React.ReactNode;
8
+ /** Kleur van de indicator (default = 'l' ('link')) */
9
+ color?: ColorProp;
10
+ /** Title (tooltip) voor indicator (optioneel) */
11
+ title?: string;
12
+ };
13
+ /**
14
+ * Een indicator toont een badge op een ander element. Er zijn meerdere posities. De indicator moet als wrapper voor het gewenste element gebruikt worden.
15
+ * @param props Indicator Props
16
+ * @returns Een element met een indicator
17
+ * @example
18
+ * <Indicator position="tl" color="p" title="There are 5 new messages">
19
+ * <Button>Check messages</Button>
20
+ * 5
21
+ * </Indicator>
22
+ */
23
+ declare function Indicator({ position, color, title, children }: IndicatorProps): import("react/jsx-runtime").JSX.Element;
24
+ export { Indicator };
25
+ export type { IndicatorProps };
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ type KbdProps = {
3
+ /** Optionele extra class */
4
+ className?: string;
5
+ /** Content van de key */
6
+ children: React.ReactNode;
7
+ };
8
+ type KbdsProps = {
9
+ /** Weer te geven keys als string */
10
+ keys: string[];
11
+ /** De separator van de keys, default '+' */
12
+ separator?: string;
13
+ /** Optionele className */
14
+ className?: string;
15
+ };
16
+ /**
17
+ * Toon een Keyboard-Key als een 'key' op een keyboard.
18
+ * @param params
19
+ * @returns een element dat lijkt op een keyboard-key
20
+ * @example <Kbd>A</Kbd>
21
+ */
22
+ declare function Kbd({ children, className: cn }: KbdProps): import("react/jsx-runtime").JSX.Element;
23
+ /**
24
+ * Toont meerdere keyboard-keys, gescheiden door een teken (deafult = '+')
25
+ * @param props
26
+ * @returns een rijtje keyboard-keys
27
+ * @example <Kbds keys={['ctrl+S', 'shift+D']} />
28
+ */
29
+ declare function Kbds({ keys, separator, className }: KbdsProps): import("react/jsx-runtime").JSX.Element;
30
+ export { Kbd, Kbds };
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ type ComponentProps = {
3
+ children?: React.ReactNode;
4
+ className?: string;
5
+ style?: React.CSSProperties;
6
+ };
7
+ /** Props voo de LabelComponent */
8
+ export type LabelProps = React.LabelHTMLAttributes<HTMLLabelElement> & ComponentProps;
9
+ /** Speciaal voor Menno: een Label Component */
10
+ export declare function Label({ children, className: cnProp, style, htmlFor, ...props }: LabelProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -0,0 +1,44 @@
1
+ import { ColorProp, AnchorTargetProp, AnchorRelProp } from './../../types';
2
+ import React from 'react';
3
+ type LinkButtonProps = {
4
+ fullwidth?: boolean;
5
+ /** De content van de button */
6
+ children?: React.ReactNode;
7
+ /** `onClick` voor de button */
8
+ onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
9
+ color?: ColorProp;
10
+ } & React.ButtonHTMLAttributes<HTMLButtonElement>;
11
+ /**
12
+ * Een button die er uit ziet als een link. Om een link te maken met een onClick() ipv een href.
13
+ * @param props
14
+ * @returns een button die er uit ziet als een link
15
+ * @example <LinkButton onClick={handleClick}>Click me!</LinkButton>
16
+ */
17
+ declare function LinkButton({ fullwidth, children, color, onClick, ...props }: LinkButtonProps): import("react/jsx-runtime").JSX.Element;
18
+ type LinkProps = React.AnchorHTMLAttributes<HTMLAnchorElement> & {
19
+ color?: ColorProp;
20
+ /** link / URL */
21
+ href: string;
22
+ /** open target
23
+ * - `default`: _blank
24
+ * - `string`: naam van een <iframe>
25
+ */
26
+ target?: AnchorTargetProp;
27
+ /** Relatie tussen het huidige document en het gelinkte document */
28
+ rel?: AnchorRelProp;
29
+ /** MIME type van een evt download */
30
+ type?: string;
31
+ /** Is dit een downloadlink? */
32
+ download?: boolean;
33
+ /** De inhoud van de link: wat is er te lezen / zien */
34
+ children?: React.ReactNode;
35
+ };
36
+ /**
37
+ * Een link (duh) die er hetzelfde uit ziet als de linkbutton.
38
+ * @param props
39
+ * @returns een link
40
+ * @example <Link href="https://www.google.com">Google</Link>
41
+ */
42
+ declare function Link({ color, href, target, id, rel, children, ...props }: LinkProps): import("react/jsx-runtime").JSX.Element;
43
+ export { Link, LinkButton };
44
+ export type { LinkProps, LinkButtonProps };
@@ -0,0 +1,64 @@
1
+ import React from 'react';
2
+ type MenuProps = {
3
+ /** Welk item is het initiële geselecteerde item */
4
+ initialItem?: string;
5
+ /** De content van het menu (<MenuItem>, <ExpandableMenuItem> or <MenuItemGroup>) */
6
+ children: React.ReactNode;
7
+ /** Callback voor menu-item selectie */
8
+ onMenuItemClicked: (item: string) => void;
9
+ style?: React.CSSProperties;
10
+ className?: string;
11
+ itemRef?: React.RefObject<any> | null;
12
+ };
13
+ type MenuItemProps = {
14
+ /** (optional) Naam voor menu-item dat geselecteert wordt. Als niet opgegevens, wordt de string-content van het item gebruikt */
15
+ name?: string;
16
+ /** Content van het item */
17
+ children: React.ReactNode;
18
+ onClick?: (label: string, e: React.MouseEvent) => void;
19
+ disabled?: boolean;
20
+ };
21
+ type MenuItemGroupProps = {
22
+ /** Label voor een groep MenuItems */
23
+ label: string | React.ReactNode;
24
+ /** Items in de ze groep (<MenuItem> or <ExpandableMenuItem>) */
25
+ children: React.ReactNode;
26
+ };
27
+ type ExpandableMenuItemProps = {
28
+ /** De content van het menu-item (MenuItem components) */
29
+ children: React.ReactNode;
30
+ /** Label voor exapnd/collapse */
31
+ label: string | React.ReactNode;
32
+ /** Begint de lijst expanded? */
33
+ startExpanded?: boolean;
34
+ /** Click handler */
35
+ onClick?: (label: string, e?: React.MouseEvent) => void;
36
+ disabled?: boolean;
37
+ };
38
+ /**
39
+ * Render een Menu met <Menu.ItemGroup>, <Menu.Item> en <Menu.ExpandableItem> children
40
+ * @param props
41
+ * @returns een Menu
42
+ * @example
43
+ * <Menu initialItem="1">
44
+ * <Menu.ItemGroup label="Groep 1">
45
+ * <Menu.Item name="1">Item 1</Menu.Item>
46
+ * <Menu.Item name="2">Item 2</Menu.Item>
47
+ * </Menu.ItemGroup>
48
+ * <Menu.ItemGroup label="Groep 2">
49
+ * ...
50
+ * </Menu.ItemGroup>
51
+ * </Menu>
52
+ */
53
+ declare const Menu: {
54
+ ({ initialItem, children, className: classes, style, onMenuItemClicked, itemRef }: MenuProps): import("react/jsx-runtime").JSX.Element;
55
+ Item({ name, children }: MenuItemProps & React.HTMLAttributes<HTMLSpanElement>): import("react/jsx-runtime").JSX.Element;
56
+ ItemGroup({ label, children }: MenuItemGroupProps & React.HTMLAttributes<HTMLSpanElement>): import("react/jsx-runtime").JSX.Element;
57
+ ExpandableGroup(props: ExpandableMenuItemProps): import("react/jsx-runtime").JSX.Element;
58
+ ExpandableItem(props: ExpandableMenuItemProps & React.HTMLAttributes<HTMLSpanElement>): import("react/jsx-runtime").JSX.Element;
59
+ Label({ children }: {
60
+ children: React.ReactNode;
61
+ }): import("react/jsx-runtime").JSX.Element;
62
+ };
63
+ export { Menu };
64
+ export type { MenuProps, MenuItemProps, MenuItemGroupProps };
@@ -0,0 +1,49 @@
1
+ import React from 'react';
2
+ import { IconProp } from '@fortawesome/fontawesome-svg-core';
3
+ import { SizeProp, ColorProp, StrictOmit } from './../../types';
4
+ type MessageProps = {
5
+ /** ID voor de message */
6
+ id?: string;
7
+ /** Content van de message */
8
+ children: React.ReactNode;
9
+ /** Optionele titel voor de message */
10
+ title?: React.ReactNode | undefined;
11
+ /** De grootte van de tekst in de messages (default = 'm') */
12
+ size?: SizeProp;
13
+ /** Kleur van de message (default = 'i') */
14
+ color?: ColorProp;
15
+ /** Eigen icon op de Message-header, anders de default:
16
+ * - `'i'`, `'l'`, `'p'` = faInfo
17
+ * - `'s'` = faCheck
18
+ * - `'w'` = faExclamation
19
+ * - `'d'` = faExclamationTriangle
20
+ */
21
+ icon?: string | IconProp;
22
+ /** dismissable messages hebben ene callback voor deze functie. Als deze functie gedefinieerd is, krijgt de message een sluitknop */
23
+ onDismiss?: () => void;
24
+ /** is deze message inklapbaar? (default = `false`) */
25
+ collapsable?: boolean;
26
+ /** begint deze message ingeklapt? (default = `false`).
27
+ * Werkt natuurlijk alleen bij `collapsable = true`
28
+ */
29
+ startCollapsed?: boolean;
30
+ itemRef?: React.RefObject<any> | null;
31
+ };
32
+ /** Zelf regelbare message.
33
+ * @returns een message
34
+ * @example <Message color="p" size="l" title="This is a title">This is a message</Message>
35
+ * @example <Message color="s" size="m" title="This is a title" collapsable>This is a message that is collapsable</Message>
36
+ * @example <Message color="w" size="s" title="This is a title" collapsable startCollapsed>This is a message that starts collapsed</Message>
37
+ * @example <Message color="d" size="s" title="This is a title" startCollapsed>This is a message that could NOT be collapsed/expanded</Message>
38
+ */
39
+ declare const Message: {
40
+ ({ id, children, title, size, color, icon: customIcon, collapsable, startCollapsed, itemRef, onDismiss, }: MessageProps): import("react/jsx-runtime").JSX.Element;
41
+ Primary(props: StrictOmit<MessageProps, "color">): import("react/jsx-runtime").JSX.Element;
42
+ Success(props: StrictOmit<MessageProps, "color">): import("react/jsx-runtime").JSX.Element;
43
+ Danger(props: StrictOmit<MessageProps, "color">): import("react/jsx-runtime").JSX.Element;
44
+ Warning(props: StrictOmit<MessageProps, "color">): import("react/jsx-runtime").JSX.Element;
45
+ Info(props: StrictOmit<MessageProps, "color">): import("react/jsx-runtime").JSX.Element;
46
+ Link(props: StrictOmit<MessageProps, "color">): import("react/jsx-runtime").JSX.Element;
47
+ };
48
+ export { Message };
49
+ export type { MessageProps };
@@ -0,0 +1,89 @@
1
+ import { SizeProp } from './../../types';
2
+ import React from 'react';
3
+ type SizeString = `${number}${'px' | '%' | 'em' | 'vw' | 'vh'}`;
4
+ type ModalProps = {
5
+ /** Content van de modal. Als deze te lang wordt, wordt hij scrollable */
6
+ children: React.ReactNode;
7
+ /**
8
+ * Afhandeling van de dismiss van de modal
9
+ * @param e event
10
+ */
11
+ onDismiss?: (e?: React.MouseEvent<HTMLElement>) => void;
12
+ /** Callback voor openen van de modal */
13
+ onOpened?: (helptag?: string) => void;
14
+ /** De breedte van de modal: met SizeProp of een string. ( DEFAULT = 'm', 800px)
15
+ * - `function` met windowWidth als parameter, retourneert een string met px, %, em of vw
16
+ * - `SizeProp`: s: 600px, m: 800px, l: 1000px, xl: 1200px, max: 95%;
17
+ * - `string`: '834px', '50%, 60em', '100%'
18
+ * - `number`: size < 100 ? als percentage, anders als px
19
+ * @deprecated > gebruik liever de `width`-property, deze is te verwarrend
20
+ */
21
+ size?: SizeProp | 'max' | string | number | ((windowWidth: number) => SizeString) | undefined;
22
+ /** De breedte van de modal: met SizeProp of een string. ( DEFAULT = 'm', 800px)
23
+ * - `function` met windowWidth als parameter, retourneert een string met px, %, em of vw
24
+ * - `SizeProp`: s: 600px, m: 800px, l: 1000px, xl: 1200px, max: 95%;
25
+ * - `string`: '834px', '50%, 60em', '100%'
26
+ * - `number`: size <= 100 ? als percentage, anders als px
27
+ */
28
+ width?: SizeProp | 'max' | string | number | ((windowWidth: number) => SizeString) | undefined;
29
+ /** De hoogte van de modal: met SizeProp of een string. ( DEFAULT = 'm', 800px)
30
+ * - `function` met windowWidth als parameter, retourneert een string met px, %, em of vw
31
+ * - `string`: '834px', '50%, 60em', '100%'
32
+ * - `number`: size <= 100 ? als percentage, anders als px
33
+ */
34
+ height?: string | number | ((height: number) => SizeString) | undefined;
35
+ /** Helptag in Loon voor de modal */
36
+ helpTag?: string | undefined;
37
+ /** blokkeer sluiten van modal als je er buiten klikt? (default = false)
38
+ * @deprecated > click-outside gaat weg
39
+ */
40
+ enableClickOutsideDismiss?: boolean;
41
+ /** id for the modal itself */
42
+ id?: string | undefined;
43
+ z?: number | undefined;
44
+ };
45
+ /**
46
+ * Een modal-component. Als een modal een Foot en een Head heeft, wordt de rest automatisch toegevoegd in een Body
47
+ * @param props modal props
48
+ * @returns een modal
49
+ * @example
50
+ * <Modal onDismiss={handleDismiss}>Modal without head and foot, all body</Modal>
51
+ *
52
+ * <Modal onDismiss={handleDismissModal} size="m">
53
+ * <Modal.Head>Optional Modal Head</Modal.Head>
54
+ * <Modal.Body>Optional Modal Body</Modal.Body>
55
+ * <Modal.Foot>Optional Modal Foot</Modal.Foot>
56
+ * </Modal>
57
+ */
58
+ declare const Modal: {
59
+ ({ id, z, size, width, height, children: nodeChildren, onOpened, onDismiss, helpTag }: ModalProps): import("react/jsx-runtime").JSX.Element;
60
+ Head({ children, id }: {
61
+ id?: string | undefined;
62
+ children: React.ReactNode;
63
+ }): import("react/jsx-runtime").JSX.Element;
64
+ /**
65
+ * Een scrollende body voor de modal
66
+ * @param props
67
+ * @returns modal body
68
+ * @example <Modal.Body>Modal Body</Modal.Body>
69
+ */
70
+ Body: typeof InternBody;
71
+ /**
72
+ * Een niet-scrollende, altijd zichtbare foot voor de modal
73
+ * @param props props
74
+ * @returns modal foot
75
+ * @example <Modal.Foot>Optional Modal Foot</Modal.Foot>
76
+ */
77
+ Foot: typeof InternFoot;
78
+ };
79
+ declare function InternBody({ id, children, helpTag }: {
80
+ id?: string | undefined;
81
+ children: React.ReactNode;
82
+ helpTag?: string | undefined;
83
+ }): import("react/jsx-runtime").JSX.Element;
84
+ declare function InternFoot({ id, children }: {
85
+ id?: string | undefined;
86
+ children: React.ReactNode;
87
+ }): import("react/jsx-runtime").JSX.Element;
88
+ export { Modal };
89
+ export type { ModalProps };
@@ -0,0 +1,38 @@
1
+ import { IconProp } from '@fortawesome/fontawesome-svg-core';
2
+ import { ColorProp, StrictOmit } from './../../types';
3
+ import React from 'react';
4
+ /** Props voor een Notification */
5
+ export type NotificationProps = {
6
+ /** Content van de notificatie */
7
+ children: React.ReactNode;
8
+ /**
9
+ * Afhandeling van dismiss-click notificatie
10
+ * @param e event
11
+ */
12
+ onDismiss(_e?: React.MouseEvent<HTMLButtonElement | HTMLDivElement>): void;
13
+ /** onclick callback */
14
+ onClick?(_e?: React.MouseEvent<HTMLDivElement>): void;
15
+ /** Roep de @see onDismiss() automatisch aan na ... milliseconden */
16
+ autoDismissAfter?: number;
17
+ /** kleur van de notificatie (default = 'i') */
18
+ color?: ColorProp;
19
+ icon?: string | IconProp;
20
+ itemRef?: React.RefObject<any> | null;
21
+ id?: string;
22
+ };
23
+ /**
24
+ * Een instelbare notificatie. Default is een info-notificatie
25
+ * @param props
26
+ * @returns notificatie
27
+ * @example <Notification>Hello World</Notification>
28
+ */
29
+ declare const Notification: {
30
+ ({ children, onDismiss, onClick, autoDismissAfter, color, icon, id, itemRef }: NotificationProps): import("react/jsx-runtime").JSX.Element;
31
+ Primary(props: StrictOmit<NotificationProps, "color">): import("react/jsx-runtime").JSX.Element;
32
+ Danger(props: StrictOmit<NotificationProps, "color">): import("react/jsx-runtime").JSX.Element;
33
+ Warning(props: StrictOmit<NotificationProps, "color">): import("react/jsx-runtime").JSX.Element;
34
+ Success(props: StrictOmit<NotificationProps, "color">): import("react/jsx-runtime").JSX.Element;
35
+ Link(props: StrictOmit<NotificationProps, "color">): import("react/jsx-runtime").JSX.Element;
36
+ Info(props: StrictOmit<NotificationProps, "color">): import("react/jsx-runtime").JSX.Element;
37
+ };
38
+ export { Notification };
@@ -0,0 +1,58 @@
1
+ import { SizeProp } from './../../types';
2
+ type PaginationProps = {
3
+ /** current selected page number */ currentPage: number;
4
+ /** range to render bijvoorbeeld van de `usePagination()`-hook. Bestaat uit numbers en `'dots'` op de plekken waar puntjes moeten komen
5
+ * @example const range = [1, 'dots', 6, 7, 8, 'dots', 100] */
6
+ range: Array<number | 'dots'>;
7
+ /** grootte van de pagination buttons (default = `s`) */
8
+ size?: SizeProp;
9
+ /** verberg de `vorige-pagina`-button (default = `false)` */
10
+ hidePrev?: boolean;
11
+ /** verberg de `volgende-pagina`-button (default = `false)` */
12
+ hideNext?: boolean;
13
+ /** verberg de `eerste pagina`-button (default = `false)` */
14
+ hideFirst?: boolean;
15
+ /** verberg de `laatste-pagina`-button (default = `false)` */
16
+ hideLast?: boolean;
17
+ /** verberg de `1, 2, 3,`-buttons (default = `false)` */
18
+ hideNumbers?: boolean;
19
+ /** disable all pagination buttons (default = `false)` */
20
+ disabled?: boolean;
21
+ /** function om de pagina te setten */
22
+ set?: (page: number) => void;
23
+ /** function om de currentPage op de eerste pagina te setten */
24
+ first?: () => void;
25
+ /** function om de currentPage op de laatste pagina te setten */
26
+ last?: () => void;
27
+ /** function om de currentPage op vorige pagina te setten */
28
+ prev?: () => void;
29
+ /** function om de currentPage op volgende pagina te setten */
30
+ next?: () => void;
31
+ };
32
+ /**
33
+ * Pagination component voor gebruik met de `usePagination()`-hook.
34
+ * @example
35
+ * const data: Data[] = createArrayWithRandomDataOfLength(1000);
36
+ * const maxRows = 20;
37
+ * const { range, active, next, prev, first, last, setPage } = usePagination({
38
+ * total: Math.ceil(data.length / maxRows),
39
+ * });
40
+ *
41
+ * return <Pagination range={range} currentPage={currentPage} next={next} prev={prev} first={first} last={last} set={set} />
42
+ * @param range - array met de pagina-nummers die getoond moeten worden OF `'dots'` waar de puntjes moeten komen
43
+ * @param currentPage - huidige pagina
44
+ * @param size - grootte van de pagination
45
+ * @param hidePrev - verberg de vorige-pagina knop
46
+ * @param hideNext - verberg de volgende-pagina knop
47
+ * @param hideFirst - verberg de eerste-pagina knop
48
+ * @param hideLast - verberg de laatste-pagina knop
49
+ * @param hideNumbers - verberg de pagina-nummers
50
+ * @param set - functie die wordt aangeroepen als er op een pagina-nummer wordt geklikt
51
+ * @param first - functie die wordt aangeroepen als er op de eerste-pagina knop wordt geklikt
52
+ * @param last - functie die wordt aangeroepen als er op de laatste-pagina knop wordt geklikt
53
+ * @param prev - functie die wordt aangeroepen als er op de vorige-pagina knop wordt geklikt
54
+ * @param next - functie die wordt aangeroepen als er op de volgende-pagina knop wordt geklikt
55
+ */
56
+ declare function Pagination({ range, currentPage, size, hideFirst, hideLast, hidePrev, hideNext, hideNumbers, disabled, set, first, last, prev, next, }: PaginationProps): import("react/jsx-runtime").JSX.Element;
57
+ export { Pagination };
58
+ export type { PaginationProps };
@@ -0,0 +1,99 @@
1
+ import { IconProp } from '@fortawesome/fontawesome-svg-core';
2
+ import { InputValueType, InputPropsType, InputStylingPropsType } from './../../forms/Input';
3
+ import { ColorProp, PrettierType, StrictOmit } from './../../types';
4
+ import React from 'react';
5
+ type PanelProps = {
6
+ /** de kleur van het Panel (default = `i`) */
7
+ color?: ColorProp | undefined;
8
+ /** panel-children */
9
+ children?: React.ReactNode | undefined;
10
+ className?: string | undefined;
11
+ };
12
+ type PanelItemProps = {
13
+ /** Is dit panel item active? */
14
+ active?: boolean;
15
+ /** Is dit panel item disabled? */
16
+ disabled?: boolean;
17
+ /** Icon van het panel item (optioneel) */
18
+ icon?: string | IconProp;
19
+ /** content van het panelitem */
20
+ children: React.ReactNode;
21
+ /** Functie die wordt aangeroepen als er op het panel item wordt geklikt */
22
+ onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
23
+ };
24
+ type PanelTabsProps = {
25
+ /** Tabs van het panel, voor als je niet de `tabs`-prop wilt gebruikten */
26
+ children?: React.ReactNode | undefined;
27
+ /** wat is de active tab? */
28
+ activeTab?: string | undefined;
29
+ /** Functie die wordt aangeroepen als er op een tab wordt geklikt */
30
+ onTabChange?: (tab: string) => void | undefined;
31
+ /** Array van tabs, voor als je geen children wilt gebruiken */
32
+ tabs?: string[] | Array<{
33
+ label: string;
34
+ value: string;
35
+ disabled?: boolean;
36
+ }> | undefined;
37
+ };
38
+ type PanelTabItemProps = {
39
+ /** is dit tab-item active? */
40
+ active?: boolean;
41
+ /** is dit tab-item disabled? */
42
+ disabled?: boolean;
43
+ /** Functie die wordt aangeroepen als er op het tab-item wordt geklikt */
44
+ onClick?: () => void;
45
+ /** content van het tab-item */
46
+ children: React.ReactNode;
47
+ };
48
+ type PanelInputProps<T extends InputValueType> = PrettierType<StrictOmit<InputPropsType<T>, 'optionList' | 'name'> & StrictOmit<InputStylingPropsType, 'labelHidden' | 'direction' | 'icon'> & {
49
+ icon?: string | IconProp | undefined;
50
+ infoData?: string | React.ReactNode | ((helptag?: string | undefined) => void) | undefined;
51
+ name?: string | undefined;
52
+ iconRight?: 'hidden' | 'visible' | ((v: InputValueType, isHovered: boolean, isDisabled: boolean, isLoading: boolean) => [IconComponent: React.ReactNode, onClick?: () => void]) | undefined;
53
+ }>;
54
+ /**
55
+ * Een panel is een soort menu
56
+ * @example
57
+ * <Panel color={panelTab}>
58
+ * <Panel.Header>Panel header</Panel.Header>
59
+ * <Panel.Item>Hieronder staan tabs. Verander het kleurtje</Panel.Item>
60
+ * <Panel.Tabs tabs={panelTabs} activeTab={panelTab} onTabChange={handleChangeActivePanelTab}>
61
+ * <Panel.TabItem disabled onClick={() => console.log('Woohoo!')}>
62
+ * WOOHOO
63
+ * </Panel.TabItem>
64
+ * </Panel.Tabs>
65
+ * <Panel.Item>Dit is een Panel Item</Panel.Item>
66
+ * <Panel.Item active>Dit is een active Panel Item</Panel.Item>
67
+ * <Panel.Item disabled>Dit is een disabled Panel Item</Panel.Item>
68
+ * <Panel.Item onClick={() => console.log('clickable panel item clicked')}>
69
+ * Dit is een klikbaar Panel Item
70
+ * </Panel.Item>
71
+ *
72
+ * <Panel.Header>Panel header in het midden</Panel.Header>
73
+ * <Panel.Item icon={faBomb}>Dit is ook een Panel Item, maar met icon</Panel.Item>
74
+ * <Panel.Item icon={faBomb} active>
75
+ * Dit is ook een active Panel Item
76
+ * </Panel.Item>
77
+ * <Panel.Item onClick={() => console.log('clickable panel item clicked')} icon={faFire}>
78
+ * Dit is een klikbaar Panel Item
79
+ * </Panel.Item>
80
+ * <Panel.Item icon={faBomb} disabled>
81
+ * Dit is een disabled item
82
+ * </Panel.Item>
83
+ * <Panel.Header>Panel header an het end</Panel.Header>
84
+ * </Panel>
85
+ */
86
+ declare const Panel: {
87
+ ({ color, className: cnProp, children }: PanelProps): import("react/jsx-runtime").JSX.Element;
88
+ Tabs({ tabs, activeTab, onTabChange, children }: PanelTabsProps): import("react/jsx-runtime").JSX.Element;
89
+ TabItem({ active, disabled, onClick, children }: PanelTabItemProps): import("react/jsx-runtime").JSX.Element;
90
+ Header({ children }: {
91
+ children: React.ReactNode;
92
+ }): import("react/jsx-runtime").JSX.Element;
93
+ Item({ icon, active, disabled, children, onClick }: PanelItemProps): import("react/jsx-runtime").JSX.Element;
94
+ /** Een input op het panel */
95
+ Input: typeof PanelInput;
96
+ };
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;
98
+ export { Panel };
99
+ export type { PanelProps };
@@ -0,0 +1,28 @@
1
+ import { SizeProp, ColorProp } from './../../types';
2
+ type ProgressBarProps = {
3
+ /** Grootte van de progressbar */
4
+ size?: SizeProp;
5
+ /** De maximale waarde, default = 100 */
6
+ max?: number;
7
+ /** De waarde waarop de progressbar staat. Vul `undefined` of `'indeterminate'` in voor een onbepaalde, loopende progressbar */
8
+ value?: number | 'indeterminate';
9
+ /** teken of symbool **voor** de waarde (bijvoorbeeld in de title) */ prefix?: '%' | '€' | 'º' | '$' | '£' | '¢' | '¥' | (string & {});
10
+ /** teken of symbool **achter** de waarde (bijvoorbeeld in de title) */ suffix?: '%' | '€' | 'º' | '$' | '£' | '¢' | '¥' | (string & {});
11
+ /** De kleur van de progressbar (default = 'i') */
12
+ color?: ColorProp;
13
+ /** (optionele) hover-title voor de progress-bar. Als er geen title is gebruikt, wordt de `value` weergegeven (met pre- en suffix) */
14
+ title?: string | ((v?: number | 'indeterminate') => string);
15
+ };
16
+ /**
17
+ * Maak een progress-bar met de <progress> tag.
18
+ * Door de attribute `value` de waarde `undefined` of `'indeterminate'` te geven, krijg je een loopende progress bar
19
+ * @param props
20
+ * @returns een progress bar
21
+ * @example
22
+ * <ProgressBar value={50} />
23
+ * <ProgressBar value={50} extension="%" />
24
+ * <ProgressBar size='xl' />
25
+ */
26
+ declare function ProgressBar({ color, size, prefix, suffix, max, value, title: titleProp }: ProgressBarProps): import("react/jsx-runtime").JSX.Element;
27
+ export { ProgressBar };
28
+ export type { ProgressBarProps };
@@ -0,0 +1,61 @@
1
+ import { ColorProp } from './../../types';
2
+ import React from 'react';
3
+ type QuickViewProps = {
4
+ /** ref naar de quickview. Bijvoorbeeld voor gebruik met de `useClickOutside()`-hook */
5
+ itemRef?: any | null;
6
+ /** ID van de quickview */
7
+ id?: string;
8
+ /** Content van de quickview, kunnen Quickview.Head,er, Quickview.Body of Quickview.Footer elementen zijn. Andere elementen worden gewrapped in Quickview.Body */
9
+ children?: React.ReactNode;
10
+ /** onDismiss callback (voor de close-button) */
11
+ onDismiss?: () => void;
12
+ /** on Opened callback met optionele helptag */
13
+ onOpened?: (helptag?: string) => void;
14
+ /** de helptag van de quickview */
15
+ tag?: string;
16
+ /** header-kleur voor de quickview */
17
+ color?: ColorProp;
18
+ /** alignment van de quickview. LET OP: default = 'r' */
19
+ alignment?: 'l' | 'r';
20
+ /** begint deze quickview in de open-stand? */
21
+ startOpen?: boolean;
22
+ };
23
+ /**
24
+ * Component om aan (default) de rechterkant van het scherm een schermpje te tonen.
25
+ * @example
26
+ * <QuickView onDismiss={handleDismiss} tag="helpTag" color='d'>
27
+ * <QuickView.Header>Optional QuickView Head</QuickView.Head>
28
+ * <QuickView.Body>QuickView Body</QuickView.Body>
29
+ * <QuickView.Footer>Optional QuickView Foot</QuickView.Foot>
30
+ * </QuickView>
31
+ * @example
32
+ * <QuickView onDismiss={handleDismiss} tag="helpTag" color='d'>
33
+ * <div>This will be wrapped inside a QuickView.Body. A header with a dismiss-button will be added automatically</div>
34
+ * </QuickView>
35
+ * @example // met itemRef
36
+ * const itemRef = useOutsideClick(() => closeQuickView());
37
+ * // ...
38
+ * return <QuickView itemRef={itemRef} onDismiss={handleDismiss} tag="helpTag" color='d'>
39
+ * <div>This will be wrapped inside a QuickView.Body</div>
40
+ * </QuickView>
41
+ */
42
+ declare const QuickView: {
43
+ ({ children, id, itemRef, color, alignment, tag, onDismiss, onOpened }: QuickViewProps): import("react/jsx-runtime").JSX.Element;
44
+ Header: typeof InternHeader;
45
+ Body: ({ children }: InternBodyProps) => import("react/jsx-runtime").JSX.Element;
46
+ Footer: ({ children }: InternFooterProps) => import("react/jsx-runtime").JSX.Element;
47
+ };
48
+ type InternHeaderProps = {
49
+ children?: React.ReactNode;
50
+ color?: ColorProp;
51
+ onDismiss?: () => void;
52
+ };
53
+ declare function InternHeader({ children, color, onDismiss }: InternHeaderProps): import("react/jsx-runtime").JSX.Element;
54
+ type InternBodyProps = {
55
+ children: React.ReactNode;
56
+ };
57
+ type InternFooterProps = {
58
+ children: React.ReactNode;
59
+ };
60
+ export { QuickView };
61
+ export type { QuickViewProps };