loon-bulma-react 2022.3.17 → 2022.3.19

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 (128) hide show
  1. package/README.md +24 -14
  2. package/dist/components/AspectRatio/AspectRatio.d.ts +28 -0
  3. package/dist/components/Box/Box.d.ts +19 -0
  4. package/dist/components/Calendar/CalendarItems/CalendarColoredItem.d.ts +9 -7
  5. package/dist/components/Calendar/CalendarItems/CalendarItem.d.ts +9 -7
  6. package/dist/components/Calendar/Month/DayContainer.d.ts +9 -7
  7. package/dist/components/Calendar/Month/MonthView.d.ts +1 -1
  8. package/dist/components/Calendar/Month/MoreEvents.d.ts +9 -7
  9. package/dist/components/Calendar/Week/AlldayContainer.d.ts +9 -7
  10. package/dist/components/Calendar/Week/HourRow.d.ts +10 -5
  11. package/dist/components/Columns/Column.d.ts +153 -0
  12. package/dist/components/Columns/Columns.d.ts +29 -0
  13. package/dist/components/Container/Container.d.ts +78 -0
  14. package/dist/components/Content/Content.d.ts +16 -0
  15. package/dist/components/Footer/Footer.d.ts +18 -0
  16. package/dist/components/Form/Checkbox/Checkbox.d.ts +2 -2
  17. package/dist/components/Form/Datetimes/DateInput.d.ts +1 -1
  18. package/dist/components/Form/Datetimes/DateTimeInput.d.ts +1 -1
  19. package/dist/components/Form/Datetimes/TimeInput.d.ts +1 -1
  20. package/dist/components/Form/File/FileInput.d.ts +2 -2
  21. package/dist/components/Form/Input.d.ts +4 -2
  22. package/dist/components/Form/Numeric/MultiRangeInput.d.ts +2 -2
  23. package/dist/components/Form/Numeric/NumberInput.d.ts +1 -1
  24. package/dist/components/Form/Numeric/RangeInput.d.ts +2 -2
  25. package/dist/components/Form/Others/ColorInput.d.ts +1 -1
  26. package/dist/components/Form/Radio/Radio.d.ts +3 -2
  27. package/dist/components/Form/Selects/MultiSelect.d.ts +2 -2
  28. package/dist/components/Form/Selects/Select.d.ts +2 -2
  29. package/dist/components/Form/Text/EmailInput.d.ts +1 -1
  30. package/dist/components/Form/Text/PasswordInput.d.ts +1 -1
  31. package/dist/components/Form/Text/TextArea.d.ts +2 -3
  32. package/dist/components/Form/Text/TextInput.d.ts +1 -1
  33. package/dist/components/Form/shared/Base.Input.Container.d.ts +13 -0
  34. package/dist/components/Form/shared/BaseInputProps.d.ts +105 -0
  35. package/dist/components/Form/{InputError.d.ts → shared/InputError.d.ts} +0 -0
  36. package/dist/components/Form/shared/InputIcons.d.ts +13 -0
  37. package/dist/components/Form/shared/index.d.ts +4 -0
  38. package/dist/components/Hero/Hero.d.ts +120 -0
  39. package/dist/components/Image/Image.d.ts +27 -0
  40. package/dist/components/ScrollArea/ScrollArea.d.ts +72 -0
  41. package/dist/components/Section/Section.d.ts +15 -0
  42. package/dist/components/index.d.ts +57 -0
  43. package/dist/contexts/Confirm/Confirm.d.ts +20 -0
  44. package/dist/contexts/Confirm/ConfirmContextProvider.d.ts +56 -0
  45. package/dist/contexts/Confirm/ConfirmDialog.d.ts +2 -0
  46. package/dist/contexts/index.d.ts +4 -0
  47. package/dist/forms/Checkbox/Checkbox.d.ts +49 -0
  48. package/dist/forms/Datetimes/DateInput.d.ts +43 -0
  49. package/dist/forms/Datetimes/DateTimeInput.d.ts +43 -0
  50. package/dist/forms/Datetimes/TimeInput.d.ts +46 -0
  51. package/dist/forms/File/FileInput.d.ts +62 -0
  52. package/dist/forms/Form.d.ts +186 -0
  53. package/dist/forms/FormBuilder/FormBuilder.d.ts +9 -0
  54. package/dist/{components/Form/FormProps.d.ts → forms/FormBuilder/FormBuilderProps.d.ts} +20 -14
  55. package/dist/forms/Input.d.ts +56 -0
  56. package/dist/forms/Numeric/MultiRangeInput.d.ts +44 -0
  57. package/dist/forms/Numeric/NumberInput.d.ts +46 -0
  58. package/dist/forms/Numeric/RangeInput.d.ts +45 -0
  59. package/dist/forms/Others/ColorInput.d.ts +42 -0
  60. package/dist/forms/Others/HiddenInput.d.ts +29 -0
  61. package/dist/forms/Radio/Radio.d.ts +120 -0
  62. package/dist/{components/Form/SelectProps.d.ts → forms/Selects/BaseSelectProps.d.ts} +7 -0
  63. package/dist/forms/Selects/MultiSelect.d.ts +56 -0
  64. package/dist/forms/Selects/Select.d.ts +56 -0
  65. package/dist/forms/Text/EmailInput.d.ts +49 -0
  66. package/dist/forms/Text/PasswordInput.d.ts +49 -0
  67. package/dist/forms/Text/TextArea.d.ts +46 -0
  68. package/dist/forms/Text/TextInput.d.ts +61 -0
  69. package/dist/forms/index.d.ts +40 -0
  70. package/dist/{components/Form → forms/shared}/Base.Input.Container.d.ts +0 -0
  71. package/dist/{components/Form → forms/shared}/BaseInputProps.d.ts +14 -2
  72. package/dist/forms/shared/InputError.d.ts +12 -0
  73. package/dist/forms/shared/InputIcons.d.ts +13 -0
  74. package/dist/forms/shared/index.d.ts +4 -0
  75. package/dist/functions/calculateTxtColor.function.d.ts +15 -0
  76. package/dist/functions/index.d.ts +1 -0
  77. package/dist/hooks/index.d.ts +8 -0
  78. package/dist/index.js +770 -1298
  79. package/dist/index.js.map +1 -1
  80. package/dist/index.modern.js +770 -1298
  81. package/dist/index.modern.js.map +1 -1
  82. package/dist/loon-react-bulma-types.d.ts +1 -2
  83. package/dist/utils/calculateTxtColor.function.d.ts +15 -0
  84. package/dist/utils/hasBSN.function.d.ts +15 -0
  85. package/dist/utils/index.d.ts +4 -0
  86. package/package.json +15 -16
  87. package/dist/components/Button/ButtonBase.d.ts +0 -29
  88. package/dist/components/Button/InvertedButton.d.ts +0 -30
  89. package/dist/components/Button/LightButton.d.ts +0 -30
  90. package/dist/components/Button/LightOutlinedButton.d.ts +0 -30
  91. package/dist/components/Button/OutlinedButton.d.ts +0 -30
  92. package/dist/components/Calendar/Events/Event.d.ts +0 -16
  93. package/dist/components/Calendar/Events/InvertedEvent.d.ts +0 -16
  94. package/dist/components/Calendar/Props.d.ts +0 -61
  95. package/dist/components/Form/Checkbox.d.ts +0 -29
  96. package/dist/components/Form/ColorInput.d.ts +0 -36
  97. package/dist/components/Form/DateInput.d.ts +0 -35
  98. package/dist/components/Form/DateTimeInput.d.ts +0 -34
  99. package/dist/components/Form/EmailInput.d.ts +0 -39
  100. package/dist/components/Form/FormValidatie.d.ts +0 -32
  101. package/dist/components/Form/HiddenInput.d.ts +0 -17
  102. package/dist/components/Form/MultiRangeInput.d.ts +0 -35
  103. package/dist/components/Form/MultiSelect.d.ts +0 -45
  104. package/dist/components/Form/NumberInput.d.ts +0 -38
  105. package/dist/components/Form/Others/BasicInput.d.ts +0 -31
  106. package/dist/components/Form/Others/Input.d.ts +0 -31
  107. package/dist/components/Form/PasswordInput.d.ts +0 -38
  108. package/dist/components/Form/RangeInput.d.ts +0 -36
  109. package/dist/components/Form/Select.d.ts +0 -42
  110. package/dist/components/Form/TextArea.d.ts +0 -36
  111. package/dist/components/Form/TextInput.d.ts +0 -39
  112. package/dist/components/Form/TimeInput.d.ts +0 -37
  113. package/dist/components/Layout/Columns/ColumnProps.d.ts +0 -11
  114. package/dist/components/Layout/Columns/Fifths.d.ts +0 -22
  115. package/dist/components/Layout/Columns/Numbered.d.ts +0 -50
  116. package/dist/components/Layout/Columns/Quarters.d.ts +0 -22
  117. package/dist/components/Layout/Columns/Thirds.d.ts +0 -10
  118. package/dist/components/Layout/Columns/index.d.ts +0 -5
  119. package/dist/components/Layout/FlexBox/Flexbox.d.ts +0 -48
  120. package/dist/components/Layout/Hero/HeroProps.d.ts +0 -37
  121. package/dist/components/Message/MessageProps.d.ts +0 -11
  122. package/dist/components/Notification/NotificationProps.d.ts +0 -13
  123. package/dist/components/Table/Table.d.ts +0 -8
  124. package/dist/components/Table/TableProps.d.ts +0 -52
  125. package/dist/components/Tabs/Tabs.d.ts +0 -34
  126. package/dist/components/Titles/TitleProps.d.ts +0 -31
  127. package/dist/hooks/useViewToggle.d.ts +0 -18
  128. package/dist/utils/JSDate.class.d.ts +0 -37
package/README.md CHANGED
@@ -2,12 +2,7 @@
2
2
 
3
3
  > ## Aanpassingen
4
4
  >
5
- > alle inputs hebben een `textAlign`-prop<br />
6
- > README voor `usePagination`, `useEventListener`, `useUncontrolled`<br />
7
-
8
- <!-- ## Nog te doen
9
-
10
- > TODO: usePagination Hook -->
5
+ > - Inputs: voor inputs waarbij je moet typen: de `icons`-prop om een eigen icoontje in te kunnen stellen.
11
6
 
12
7
  ## [Bulma](https://bulma.io/) &amp; [React](https://reactjs.org/) componenten voor Loon Salarissoftware.
13
8
 
@@ -94,10 +89,12 @@
94
89
 
95
90
  ### Voor de laatste versie:
96
91
 
97
- Dat kan zonder toevoeging van versienummer. Je gebruikt dan de laatste versie (dus ook laatste jaar-tag) van de componenten. De tag `latest` hoef je niet toe te voegen, dat is de default.
92
+ Dat kan zonder toevoeging van versienummer. Je gebruikt dan de laatste versie (dus ook laatste jaar-tag) van de componenten. De tag `latest` moet je dan wel even toevoegen. Als je deze tag niet toevoegd, installeert npm de in de `package.json` opgegeven versie.
98
93
 
99
94
  ```bash
100
- npm install --save bulma loon-bulma-react
95
+ # installeer de meest recente versie van de package. (& update de package.json)
96
+ npm install --save bulma loon-bulma-react@latest
97
+ # installeer de versie die in package.json is gedefinieerd
101
98
  ```
102
99
 
103
100
  ### Voor een versie die hoort bij een bepaald jaar (Bijvoorbeeld in Loon-2021).
@@ -105,17 +102,18 @@ npm install --save bulma loon-bulma-react
105
102
  Het jaar wordt bepaald door tags: voor elk jaar is er een tag van de vorm `y[jaar]`. De 'y' is nodig omdat alleen een jaartal geen geldige tag is.
106
103
 
107
104
  ```bash
108
- npm install --save loon-bulma-react@y2021
105
+ npm install --save loon-bulma-react@y2022
109
106
  ```
110
107
 
111
108
  Om vast te leggen welke tag je wil gebruiken, moet je in de `package.json` het versie-nummer aanpassen tot de tag.
112
- Dan wordt altijd de laatste versie van die tag geïnstalleerd, in plaats van de laatste versie.
109
+ Dan wordt altijd de laatste versie van die tag geïnstalleerd, in plaats van de laatste versie die is gepubliceerd.
110
+ Voor het meeste recente Loon-jaar kan je _wel_ `npm install loon-bulma-react@latest` gebruiken.
113
111
 
114
112
  ```json
115
113
  {
116
114
  "devDependencies": {
117
115
  // ...
118
- "loon-bulma-react": "y2022"
116
+ "loon-bulma-react": "y2023"
119
117
  // ...
120
118
  }
121
119
  }
@@ -128,7 +126,8 @@ Dan wordt altijd de laatste versie van die tag geïnstalleerd, in plaats van de
128
126
  >
129
127
  > - `@y2020` --> Testversie voor **2020**, installeren met `npm install loon-bulma-react@y2021`.
130
128
  > - `@y2021` --> Versie voor **2021**, installeren met `npm install loon-bulma-react@y2021`.
131
- > - `@y2022` --> Versie voor **2022**, installeren met `npm install loon-bulma-react@y2022`. Zelfde als `latest`
129
+ > - `@y2022` --> Versie voor **2022**, installeren met `npm install loon-bulma-react@y2022`.
130
+ > - `@y2023` --> Versie voor **2023**, installeren met `npm install loon-bulma-react@y2023`. Zelfde als `latest`
132
131
  > - `@latest` --> Default versie die geïnstalleerd wordt met `npm install loon-bulma-react`
133
132
 
134
133
  ## Gebruik <a id="gebruik"></a>
@@ -478,9 +477,8 @@ Een ScrollArea is een horizontaal of verticaal scrollbare `<div>` met flexbox-ei
478
477
 
479
478
  #### Button & ButtonGroup <a id="component-button"></a>
480
479
 
481
- Gebruikt de [Bulma-button](https://bulma.io/documentation/elements/button/) Er zijn meerdere soorten button-types. Van elke soort zijn er 6 beschikbaar: _Primary_, _Danger_, _Warning_, _Success_, _Link_, _Info_
480
+ Gebruikt de [Bulma-button](https://bulma.io/documentation/elements/button/) Er zijn meerdere soorten button-types. Van elke soort zijn er 6 beschikbaar: _Primary_, _Danger_, _Warning_, _Success_, _Link_, _Info_.
482
481
 
483
- - _**Bttn**: een default button (met instelbare `color`-props) -> bestaat niett meer_
484
482
  - **Button**: Voorheen `Bttn`
485
483
  - `<Button.Primary>` Een button in de primary kleur
486
484
  - `<Button.Success>` Een button in de success kleur
@@ -1365,6 +1363,7 @@ Er zijn verschillende soorten inputs voor de afhandeling van input-types. Er zij
1365
1363
  - `placeholder`: placeholder-tekst voor een input.
1366
1364
  - `tooltip`: tooltip voor een input (`<input title="..." />`)
1367
1365
  - `disabled`: input disabled
1366
+
1368
1367
  - `errorMessage`: een errormessage van buiten de component. Voor als je validatie anders wilt oplossen. Wordt altijd getoont
1369
1368
  - `validatie`: een object met wat standaard-validatie-opties en een onValidate-function input. Een validatie-error wordt alleen getoont als de input 'touched' is.
1370
1369
  - `required`: input is verplicht
@@ -1385,6 +1384,17 @@ Er zijn verschillende soorten inputs voor de afhandeling van input-types. Er zij
1385
1384
  - `size`: de grootte van een input
1386
1385
  - `textAlign`: waar komt de tekst in de input (default = 'l', left)
1387
1386
 
1387
+ Voor een aantal inputs (waar je moet typen) Is er ook nog de `icons`-prop. Deze prop ziet er zo uit:
1388
+
1389
+ ```ts
1390
+ type Icons = {
1391
+ start: IconProp | string;
1392
+ end: (valid: boolean) => IconProp | string;
1393
+ };
1394
+ ```
1395
+
1396
+ Deze `icons`-prop kan gebruikt worden voor het instellen van de icoontjes aan het begin(start) en einde (end) van de input. De `start`-property wordt gebruikt ipv de default start-icons. De `end`-property wordt dan gebruikt in plaats van de default valid/invalid icons. Daarom is de `end`-property ook een function.
1397
+
1388
1398
  ```tsx
1389
1399
  <div>
1390
1400
  <BasicInput name="something" type="text">
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ /** Props voor een aspect-ratio */
3
+ declare type AspectRatioProps = {
4
+ /** de ratio (width x height) van het gewenste element */
5
+ ratio: '1by1' | '5by4' | '4by5' | '4by3' | '3by4' | '3by2' | '2by3' | '5by3' | '3by5' | '16by9' | '9by16' | '2by1' | '1by2' | '3by1' | '1by3';
6
+ /** het item dat aan de aspect-ratio moet voldoen */
7
+ children: React.ReactNode;
8
+ /** */
9
+ caption?: {
10
+ placement: 'top' | 'bottom';
11
+ text: string;
12
+ };
13
+ /** extra classes on aspect-ratio-element */
14
+ className?: string;
15
+ };
16
+ /**
17
+ * gebruik een aspect-ratio voor een bepaald resizable element, waar een width en height bij hoort.
18
+ * Zoals bijvoorbeeld een iframe, img, etc
19
+ * @param props
20
+ * @returns een aspect-ratio'd element.
21
+ * @example
22
+ * <AspectRatio ratio="16by9" >
23
+ * <iframe src="https://www.youtube.com/embed/dQw4w9WgXcQ">
24
+ * </AspectRatio>
25
+ */
26
+ declare function AspectRatio(props: AspectRatioProps): JSX.Element;
27
+ export { AspectRatio };
28
+ export type { AspectRatioProps };
@@ -0,0 +1,19 @@
1
+ import React, { CSSProperties } from 'react';
2
+ declare type BoxProps = {
3
+ /** de children van de box */
4
+ children: React.ReactNode;
5
+ /** Andere classes om op de box toe te passen */
6
+ className?: string;
7
+ /** style props direct op de box */
8
+ styles?: CSSProperties;
9
+ };
10
+ /**
11
+ * Maak een witte box om andere elementen heen. Voor forms of modals. Heeft een beetje schaduw.
12
+ * @see {@link https://bulma.io/documentation/elements/box/}
13
+ * @param {{children: any, classes?: string|string[]}} props
14
+ * @returns een witte box om elementen.
15
+ * @example <Box>This is a box</Box>
16
+ */
17
+ declare const Box: ({ children, className: classes, styles }: BoxProps) => JSX.Element;
18
+ export { Box };
19
+ export type { BoxProps };
@@ -1,11 +1,6 @@
1
1
  import { MouseEvent } from 'react';
2
2
  import { EventOptions, BaseEventProps } from '../Props';
3
- /**
4
- * Component voor een event dat de hele dag duurt
5
- * @param props
6
- * @returns
7
- */
8
- export declare function CalendarColoredItem<T extends BaseEventProps>(props: {
3
+ declare type CalendarColoredItemProps<T extends BaseEventProps> = {
9
4
  /** het event */
10
5
  desc: (event: T) => JSX.Element;
11
6
  event: T;
@@ -13,4 +8,11 @@ export declare function CalendarColoredItem<T extends BaseEventProps>(props: {
13
8
  options?: EventOptions<T>;
14
9
  /** onclick handler voor het event */
15
10
  onClick?: (event: T, clickEvent: MouseEvent<HTMLElement>) => void;
16
- }): JSX.Element;
11
+ };
12
+ /**
13
+ * Component voor een event dat de hele dag duurt
14
+ * @param props
15
+ * @returns
16
+ */
17
+ export declare function CalendarColoredItem<T extends BaseEventProps>({ event, options, onClick, desc, }: CalendarColoredItemProps<T>): JSX.Element;
18
+ export {};
@@ -1,11 +1,6 @@
1
1
  import { MouseEvent } from 'react';
2
2
  import { EventOptions, BaseEventProps } from '../Props';
3
- /**
4
- * Component voor een event met een tijdstip en NIET de hele dag duurt
5
- * @param props
6
- * @returns
7
- */
8
- export declare function CalendarItem<T extends BaseEventProps>(props: {
3
+ declare type CalendarItemProps<T extends BaseEventProps> = {
9
4
  desc: (event: T) => JSX.Element;
10
5
  /** het event */
11
6
  event: T;
@@ -13,4 +8,11 @@ export declare function CalendarItem<T extends BaseEventProps>(props: {
13
8
  options?: EventOptions<T>;
14
9
  /** onclick handler */
15
10
  onClick?: (event: T, clickEvent: MouseEvent<HTMLElement>) => void;
16
- }): JSX.Element;
11
+ };
12
+ /**
13
+ * Component voor een event met een tijdstip en NIET de hele dag duurt
14
+ * @param props
15
+ * @returns
16
+ */
17
+ export declare function CalendarItem<T extends BaseEventProps>({ event, options, onClick, desc, }: CalendarItemProps<T>): JSX.Element;
18
+ export {};
@@ -1,12 +1,7 @@
1
1
  import React from 'react';
2
2
  import { BaseEventProps, CalendarOptions } from '../Props';
3
3
  import { JSDateTime } from '../../../utils/JSDateTime.class';
4
- /**
5
- * Component voor de dag-container in de maand-view
6
- * @param props
7
- * @returns
8
- */
9
- export declare function DayContainer<T extends BaseEventProps>(props: {
4
+ declare type DayContainerProps<T extends BaseEventProps> = {
10
5
  /** events op deze dag */
11
6
  events: T[];
12
7
  /** wat te doen als een event aangeklikt wordt */
@@ -17,4 +12,11 @@ export declare function DayContainer<T extends BaseEventProps>(props: {
17
12
  options?: CalendarOptions<T>;
18
13
  /** de datum voor de container */
19
14
  date: JSDateTime;
20
- }): JSX.Element;
15
+ };
16
+ /**
17
+ * Component voor de dag-container in de maand-view
18
+ * @param props
19
+ * @returns
20
+ */
21
+ export declare function DayContainer<T extends BaseEventProps>({ options, date, onDayClick, onEventClick, events, }: DayContainerProps<T>): JSX.Element;
22
+ export {};
@@ -18,6 +18,6 @@ declare type MonthViewProps<T extends BaseEventProps> = {
18
18
  * @param props
19
19
  * @returns
20
20
  */
21
- declare function MonthView<T extends BaseEventProps>(props: MonthViewProps<T>): JSX.Element;
21
+ declare function MonthView<T extends BaseEventProps>({ viewDate: vd, options, onEventClick, onDayClick, events: orgEvents, }: MonthViewProps<T>): JSX.Element;
22
22
  export { MonthView };
23
23
  export type { MonthViewProps };
@@ -1,11 +1,6 @@
1
1
  import { MouseEvent } from 'react';
2
2
  import { BaseEventProps, EventOptions } from '../Props';
3
- /**
4
- * expandable events als er meer dan 5 events op een dag vallen
5
- * @param props
6
- * @returns
7
- */
8
- export declare function MoreEventsView<T extends BaseEventProps>(props: {
3
+ declare type MoreEventsViewProps<T extends BaseEventProps> = {
9
4
  /** de events op deze dag */
10
5
  events: T[];
11
6
  /** event-click handling */
@@ -15,4 +10,11 @@ export declare function MoreEventsView<T extends BaseEventProps>(props: {
15
10
  allday?: EventOptions<T>;
16
11
  timed?: EventOptions<T>;
17
12
  };
18
- }): JSX.Element;
13
+ };
14
+ /**
15
+ * expandable events als er meer dan 5 events op een dag vallen
16
+ * @param props
17
+ * @returns
18
+ */
19
+ export declare function MoreEventsView<T extends BaseEventProps>({ events, onEventClick, options, }: MoreEventsViewProps<T>): JSX.Element;
20
+ export {};
@@ -1,14 +1,16 @@
1
1
  import React from 'react';
2
2
  import { BaseEventProps, CalendarOptions } from '../Props';
3
- /**
4
- * Component voor allday objects in de calendar
5
- * @param props
6
- * @returns
7
- */
8
- export declare function AlldayContainer<T extends BaseEventProps>({ options, events, onEventClick, }: {
3
+ declare type AlldayContainerProps<T extends BaseEventProps> = {
9
4
  events: T[];
10
5
  /** wat te doen als een event aangeklikt wordt */
11
6
  onEventClick?: (event: T, clickEvent: React.MouseEvent<HTMLElement>) => void;
12
7
  /** wat te doen als een dag aangeklikt wordt */
13
8
  options?: CalendarOptions<T>;
14
- }): JSX.Element;
9
+ };
10
+ /**
11
+ * Component voor allday objects in de calendar
12
+ * @param props
13
+ * @returns
14
+ */
15
+ export declare function AlldayContainer<T extends BaseEventProps>({ options, events, onEventClick }: AlldayContainerProps<T>): JSX.Element;
16
+ export {};
@@ -8,13 +8,18 @@ import { BaseEventProps, CalendarOptions } from '../Props';
8
8
  export declare function HourNumber({ hour }: {
9
9
  hour: number;
10
10
  }): JSX.Element;
11
+ declare type HourSlotProps<T extends BaseEventProps> = {
12
+ /** de events voor deze HourProp */
13
+ events: T[];
14
+ /** event-selected callback Fn */
15
+ onEventClick?: (event: T, clickEvent: React.MouseEvent<HTMLElement>) => void;
16
+ /** options bij de calendar */
17
+ options?: CalendarOptions<T>;
18
+ };
11
19
  /**
12
20
  * Component voor een uur-slot.
13
21
  * @param param0
14
22
  * @returns
15
23
  */
16
- export declare function HourSlot<T extends BaseEventProps>({ events, onEventClick, options, }: {
17
- events: T[];
18
- onEventClick?: (event: T, clickEvent: React.MouseEvent<HTMLElement>) => void;
19
- options?: CalendarOptions<T>;
20
- }): JSX.Element;
24
+ export declare function HourSlot<T extends BaseEventProps>({ events, onEventClick, options }: HourSlotProps<T>): JSX.Element;
25
+ export {};
@@ -0,0 +1,153 @@
1
+ import React, { CSSProperties } from 'react';
2
+ declare type ColumnProps = {
3
+ /** wat staat er in deze kolom */
4
+ children: React.ReactNode;
5
+ /** extra classes op deze kolom */
6
+ className?: string;
7
+ /** zet de styling direct */
8
+ styles?: CSSProperties;
9
+ };
10
+ declare type ExpandedColumnProps = ColumnProps & {
11
+ /** is deze kolom zo smal mogelijk of vanaf welke schermmaat */
12
+ narrow?: boolean | 'mobile' | 'tablet' | 'touch' | 'desktop' | 'widescreen' | 'fullhd';
13
+ };
14
+ /**
15
+ * Standaard kolom voor gebruik in {@link Columns}.
16
+ * Als voor narrow een waarde is meegegeven, wordt de minimale ruimte voor deze kolom aangehouden: https://bulma.io/documentation/columns/sizes/
17
+ * @return Een kolom
18
+ * @example
19
+ * <Column>This is a column</Column>
20
+ * <Column narrow>This is a narrow column</Column>
21
+ */
22
+ declare const Column: {
23
+ (props: ExpandedColumnProps): JSX.Element;
24
+ /** Column full width of parent
25
+ * @returns een kolom met de maximale breedte van de parent 'Columns'
26
+ * @example <Column.Full>This is a full column</Column.Full>
27
+ */
28
+ Full(props: ColumnProps): JSX.Element;
29
+ /** Column 1/2 width of parent
30
+ * @returns een kolom met de halve breedte van de parent 'Columns'
31
+ * @example <Column.Half>This is a half column</Column.Half>
32
+ */
33
+ Half(props: ColumnProps): JSX.Element;
34
+ /** Spread columns based on thirds (1/3, 2/3) */
35
+ Thirds: {
36
+ /** Column 1/3 width of parent
37
+ * @returns een kolom met 1/3 breedte van de parent 'Columns'
38
+ * @example <Column.Thirds.One>This is a first third column</Column.Thirds.One>
39
+ */
40
+ One: (props: ColumnProps) => JSX.Element;
41
+ /** Column 2/3 width of parent
42
+ * @returns een kolom met 2/3 breedte van de parent 'Columns'
43
+ * @example <Column.Thirds.Two>This is a second third column</Column.Thirds.Two>
44
+ */
45
+ Two: (props: ColumnProps) => JSX.Element;
46
+ };
47
+ /** Spread columns based on quarters (1/4, 2/4, 3/4) */
48
+ Quarters: {
49
+ /** Column 1/4 width of parent
50
+ * @returns een kolom met 1/4 breedte van de parent 'Columns'
51
+ * @example <Column.Quarters.One>This is a 1/4 column</Column.Quarters.One>
52
+ */
53
+ One: (props: ColumnProps) => JSX.Element;
54
+ /** Column 2/4 width of parent
55
+ * @returns een kolom met 2/4 breedte van de parent 'Columns'
56
+ * @example <Column.Quarters.Two>This is a 2/4 column</Column.Quarters.Two>
57
+ */
58
+ Two: (props: ColumnProps) => JSX.Element;
59
+ /** Column 3/4 width of parent
60
+ * @returns een kolom met 3/4 breedte van de parent 'Columns'
61
+ * @example <Column.Quarters.Three>This is a 3/4 column</Column.Quarters.Three>
62
+ */
63
+ Three: (props: ColumnProps) => JSX.Element;
64
+ };
65
+ /** Spread columns based on fifths (1/5, 2/5, 3/5, 4/5) */
66
+ Fifths: {
67
+ /** Column 1/5 width of parent
68
+ * @returns een kolom met 1/5 breedte van de parent 'Columns'
69
+ * @example <Column.Fifths.One>This is a 1/5 column</Column.Fifths.One>
70
+ */
71
+ One: (props: ColumnProps) => JSX.Element;
72
+ /** Column 2/5 width of parent
73
+ * @returns een kolom met 2/5 breedte van de parent 'Columns'
74
+ * @example <Column.Fifths.Two>This is a 2/5 column</Column.Fifths.Two>
75
+ */
76
+ Two: (props: ColumnProps) => JSX.Element;
77
+ /** Column 3/5 width of parent
78
+ * @returns een kolom met 3/5 breedte van de parent 'Columns'
79
+ * @example <Column.Fifths.Three>This is a 3/5 column</Column.Fifths.Three>
80
+ */
81
+ Three: (props: ColumnProps) => JSX.Element;
82
+ /** Column 4/5 width of parent
83
+ * @returns een kolom met 4/5 breedte van de parent 'Columns'
84
+ * @example <Column.Fifths.Four>This is a 4/5 column</Column.Fifths.Four>
85
+ */
86
+ Four: (props: ColumnProps) => JSX.Element;
87
+ };
88
+ Twelves: {
89
+ /** Column 1/12 width of parent
90
+ * @returns een kolom met 1/12 breedte van de parent 'Columns'
91
+ * @example <Column.Twelves.One>This is a 1/12 column</Column.Twelves.One>
92
+ */
93
+ One: (props: ColumnProps) => JSX.Element;
94
+ /** Column 2/12 width of parent
95
+ * @returns een kolom met 2/12 breedte van de parent 'Columns'
96
+ * @example <Column.Twelves.Two>This is a 2/12 column</Column.Twelves.Two>
97
+ */
98
+ Two: (props: ColumnProps) => JSX.Element;
99
+ /** Column 3/12 width of parent
100
+ * @returns een kolom met 3/12 breedte van de parent 'Columns'
101
+ * @example <Column.Twelves.Three>This is a 3/12 column</Column.Twelves.Three>
102
+ */
103
+ Three: (props: ColumnProps) => JSX.Element;
104
+ /** Column 4/12 width of parent
105
+ * @returns een kolom met 4/12 breedte van de parent 'Columns'
106
+ * @example <Column.Twelves.Four>This is a 4/12 column</Column.Twelves.Four>
107
+ */
108
+ Four: (props: ColumnProps) => JSX.Element;
109
+ /** Column 5/12 width of parent
110
+ * @returns een kolom met 5/12 breedte van de parent 'Columns'
111
+ * @example <Column.Twelves.Five>This is a 5/12 column</Column.Twelves.Five>
112
+ */
113
+ Five: (props: ColumnProps) => JSX.Element;
114
+ /** Column 6/12 width of parent
115
+ * @returns een kolom met 6/12 breedte van de parent 'Columns'
116
+ * @example <Column.Twelves.Six>This is a 6/12 column</Column.Twelves.Six>
117
+ */
118
+ Six: (props: ColumnProps) => JSX.Element;
119
+ /** Column 7/12 width of parent
120
+ * @returns een kolom met 7/12 breedte van de parent 'Columns'
121
+ * @example <Column.Twelves.Seven>This is a 7/12 column</Column.Twelves.Seven>
122
+ */
123
+ Seven: (props: ColumnProps) => JSX.Element;
124
+ /** Column 8/12 width of parent
125
+ * @returns een kolom met 8/12 breedte van de parent 'Columns'
126
+ * @example <Column.Twelves.Eight>This is a 8/12 column</Column.Twelves.Eight>
127
+ */
128
+ Eight: (props: ColumnProps) => JSX.Element;
129
+ /** Column 9/12 width of parent
130
+ * @returns een kolom met 9/12 breedte van de parent 'Columns'
131
+ * @example <Column.Twelves.Nine>This is a 9/12 column</Column.Twelves.Nine>
132
+ */
133
+ Nine: (props: ColumnProps) => JSX.Element;
134
+ /** Column 10/12 width of parent
135
+ * @returns een kolom met 10/12 breedte van de parent 'Columns'
136
+ * @example <Column.Twelves.Ten>This is a 10/12 column</Column.Twelves.Ten>
137
+ */
138
+ Ten: (props: ColumnProps) => JSX.Element;
139
+ /** Column 11/12 width of parent
140
+ * @returns een kolom met 11/12 breedte van de parent 'Columns'
141
+ * @example <Column.Twelves.Eleven>This is a 11/12 column</Column.Twelves.Eleven>
142
+ */
143
+ Eleven: (props: ColumnProps) => JSX.Element;
144
+ /** Column 12/12 width of parent
145
+ * @returns een kolom met 12/12 breedte van de parent 'Columns'
146
+ * @example <Column.Twelves.Twelve>This is a 12/12 column</Column.Twelves.Twelve>
147
+ */
148
+ Twelve: (props: ColumnProps) => JSX.Element;
149
+ };
150
+ displayName: string;
151
+ };
152
+ export { Column };
153
+ export type { ColumnProps, ExpandedColumnProps };
@@ -0,0 +1,29 @@
1
+ import React, { CSSProperties } from 'react';
2
+ export declare type ColumnsProps = {
3
+ /** Children van de Columns. Moeten van het type @see Column zijn */
4
+ children: React.ReactNode;
5
+ /** de gap-grootte (stappen van .25rem), een margin tussen kolommen (default = 3, 0.75rem) */
6
+ gap?: '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | undefined;
7
+ /** mogen de kolommen over meerdere rijen verdeeld worden */
8
+ multiline?: boolean;
9
+ /** moeten de kolom centraal aligned worden */
10
+ centered?: boolean;
11
+ /** extra classes voor dit element */
12
+ className?: string;
13
+ /** set de styling direct */
14
+ styles?: CSSProperties;
15
+ };
16
+ /**
17
+ * Verdeel een pagina in kolommen, children zijn van het type {@link Column } voor het maken van de kolommen.
18
+ *
19
+ * Kijk op {@link https://bulma.io/documentation/columns/sizes/} voor de bulma-uitleg.
20
+ * @param {ColumnProps} props
21
+ * @returns Columns component which can be used to create a column layout.
22
+ * @example
23
+ * <Columns>
24
+ * <Column>This is a column</Column>
25
+ * <Column>This is a column</Column>
26
+ * <Column narrow>This is a narrow column</Column>
27
+ * </Columns>
28
+ */
29
+ export declare function Columns({ children, gap, multiline, centered, className: classes, styles }: ColumnsProps): JSX.Element;
@@ -0,0 +1,78 @@
1
+ import React, { CSSProperties } from 'react';
2
+ declare type ContainerProps = {
3
+ children: React.ReactNode;
4
+ /** extra classes */
5
+ className?: string;
6
+ /** set styling directly on container */
7
+ styles?: CSSProperties;
8
+ };
9
+ /**
10
+ * Een container om content horizontaal te centreren in grote viewports.
11
+ * @param props
12
+ * @return een default container
13
+ *
14
+ * @description De width van de container is afhankelijk van de maximale viewport width:
15
+ * | | Component | tot 1023px | tot 1216px | tot 1408px | groter |
16
+ * |----|----------------------|------------|------------|------------|-----------|
17
+ * | >> | `<Container>` | max-width | 960px | 1152px | 1344px |
18
+ * | | `<Container.Wide>` | max-width | max-width | 1152px | 1344px |
19
+ * | | `<Container.Widest>` | max-width | max-width | max-width | 1344px |
20
+ * | | `<Container.Max>` | max-width | max-width | max-width | max-width |
21
+ *
22
+ * @example <Container>This is a container</Container>
23
+ */
24
+ declare const Container: {
25
+ (props: ContainerProps): JSX.Element;
26
+ /**
27
+ * Een container om content horizontaal te centreren in grote viewports.
28
+ * @param props
29
+ * @returns een iets bredere container
30
+ *
31
+ * @description De width van de container is afhankelijk van de maximale viewport width:
32
+ * | | Component | tot 1023px | tot 1216px | tot 1408px | groter |
33
+ * |----|----------------------|------------|------------|------------|-----------|
34
+ * | | `<Container>` | max-width | 960px | 1152px | 1344px |
35
+ * | >> | `<Container.Wide>` | max-width | max-width | 1152px | 1344px |
36
+ * | | `<Container.Widest>` | max-width | max-width | max-width | 1344px |
37
+ * | | `<Container.Max>` | max-width | max-width | max-width | max-width |
38
+ *
39
+ * @example <Container.Wide>This is a somewhat wider container</Container.Wide>
40
+ */
41
+ Wide(props: ContainerProps): JSX.Element;
42
+ /**
43
+ * Een container om content horizontaal te centreren in grote viewports.
44
+ * @param props
45
+ * @returns een hele brede container
46
+ *
47
+ * @description De width van de container is afhankelijk van de maximale viewport width:
48
+ * | | Component | tot 1023px | tot 1216px | tot 1408px | groter |
49
+ * |----|----------------------|------------|------------|------------|-----------|
50
+ * | | `<Container>` | max-width | 960px | 1152px | 1344px |
51
+ * | | `<Container.Wide>` | max-width | max-width | 1152px | 1344px |
52
+ * | >> | `<Container.Widest>` | max-width | max-width | max-width | 1344px |
53
+ * | | `<Container.Max>` | max-width | max-width | max-width | max-width |
54
+ *
55
+ * @example <Container.Widest>This is a wide container</Container.Widest>
56
+ */
57
+ Widest(props: ContainerProps): JSX.Element;
58
+ /**
59
+ * Een container om content horizontaal te centreren in grote viewports.
60
+ * De width van de container is afhankelijk van de maximale viewport width.
61
+ * Aan de linker- en rechter-zijde wordt een margin van 32px behouden.
62
+ * @param props
63
+ * @returns een container die de gehele breedte van de viewport gebruikt.
64
+ *
65
+ * @description De width van de container is afhankelijk van de maximale viewport width:
66
+ * | | Component | tot 1023px | tot 1216px | tot 1408px | groter |
67
+ * |----|----------------------|------------|------------|------------|-----------|
68
+ * | | `<Container>` | max-width | 960px | 1152px | 1344px |
69
+ * | | `<Container.Wide>` | max-width | max-width | 1152px | 1344px |
70
+ * | | `<Container.Widest>` | max-width | max-width | max-width | 1344px |
71
+ * | >> | `<Container.Max>` | max-width | max-width | max-width | max-width |
72
+ *
73
+ * @example <Container.Max>This is an almost-fullwidth container </Container.Max>
74
+ */
75
+ Max(props: ContainerProps): JSX.Element;
76
+ };
77
+ export { Container };
78
+ export type { ContainerProps };
@@ -0,0 +1,16 @@
1
+ import React, { CSSProperties } from 'react';
2
+ import { SizeProp } from '../../loon-react-bulma-types';
3
+ declare type ContentPropsType = {
4
+ size?: SizeProp;
5
+ children: React.ReactNode;
6
+ className?: string;
7
+ styles?: CSSProperties;
8
+ };
9
+ /**
10
+ * Een Content component voor generated content. De meeste html tags kunnen hier worden gebruikt.
11
+ * @param props size: de tekstgrootte, children: de content van de content
12
+ * @returns een div geschikt voor content. WYSIWYG ofzo.
13
+ * @example <Content>This is a content which can contain lists, <strong>strong</strong> and <em>italic</em> tags</Content>
14
+ */
15
+ export declare function Content({ size, className, styles, children }: ContentPropsType): JSX.Element;
16
+ export {};
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { AlignmentProp } from '../../loon-react-bulma-types';
3
+ export declare type FooterProps = {
4
+ /** de content voor de footer */
5
+ children: React.ReactNode;
6
+ /** alignment bij de footer. (default = 'c') */
7
+ alignment?: AlignmentProp;
8
+ /** extra classes voor op de footer */
9
+ className?: string;
10
+ };
11
+ /**
12
+ * Maak een footer voor onderaan de pagina.
13
+ * - de footer bevat een container waarvan de text default 'centered' is.
14
+ * @param props
15
+ * @returns een footer met daarin de content.
16
+ * @example <Footer>This is a footer</Footer>
17
+ */
18
+ export declare function Footer({ children, alignment, className }: FooterProps): JSX.Element;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { CheckradioStylingType, ColorProp } from '../../../loon-react-bulma-types';
3
- import { BaseInputProps } from '../BaseInputProps';
4
- declare type CheckboxInputProps = BaseInputProps & {
3
+ import { BaseInputProps } from '../shared';
4
+ declare type CheckboxInputProps = Omit<BaseInputProps, 'icons'> & {
5
5
  /** kleur van de checkbox (default = 'l', link) */
6
6
  color?: ColorProp;
7
7
  /** speciale styling van de checkbox */
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { BaseInputProps } from '../BaseInputProps';
2
+ import { BaseInputProps } from '../shared';
3
3
  declare type DateInputProps = BaseInputProps & {
4
4
  /** start value voor deze input (optioneel) FORMAT: YYYY-MM-DD */
5
5
  value?: string | Date;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { BaseInputProps } from '../BaseInputProps';
2
+ import { BaseInputProps } from '../shared';
3
3
  declare type DateTimeInputProps = BaseInputProps & {
4
4
  /** start value voor deze input (optioneel) FORMAT: YYYY-MM-DDTHH:mm */
5
5
  value?: string | Date;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { BaseInputProps } from '../BaseInputProps';
2
+ import { BaseInputProps } from '../shared';
3
3
  declare type TimeInputProps = BaseInputProps & {
4
4
  /** start value voor deze input (optioneel) FORMAT: HH:mm:SS */
5
5
  value?: string | Date;