@public-ui/sample-react 2.0.0-rc.8 → 2.0.0

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 (117) hide show
  1. package/README.md +18 -0
  2. package/dist/1130.js +2 -0
  3. package/dist/1474.js +1 -1
  4. package/dist/183.js +1 -1
  5. package/dist/2337.js +1 -1
  6. package/dist/2412.js +1 -1
  7. package/dist/{5327.js → 2738.js} +2 -2
  8. package/dist/3303.js +1 -1
  9. package/dist/3325.js +1 -1
  10. package/dist/3429.js +1 -1
  11. package/dist/3459.js +1 -1
  12. package/dist/3932.js +1 -1
  13. package/dist/4022.js +1 -1
  14. package/dist/4164.js +1 -1
  15. package/dist/4195.js +1 -1
  16. package/dist/4291.js +1 -1
  17. package/dist/4323.js +1 -1
  18. package/dist/4355.js +1 -1
  19. package/dist/4564.js +1 -1
  20. package/dist/4891.js +1 -1
  21. package/dist/{7648.js → 4916.js} +2 -2
  22. package/dist/5139.js +2 -0
  23. package/dist/5183.js +1 -1
  24. package/dist/5369.js +1 -1
  25. package/dist/5390.js +1 -1
  26. package/dist/540.js +1 -1
  27. package/dist/5717.js +1 -1
  28. package/dist/{6487.js → 5860.js} +2 -2
  29. package/dist/5862.js +1 -1
  30. package/dist/5866.js +1 -1
  31. package/dist/5869.js +2 -0
  32. package/dist/6012.js +1 -1
  33. package/dist/6068.js +1 -1
  34. package/dist/6210.js +1 -1
  35. package/dist/6320.js +1 -1
  36. package/dist/6558.js +1 -1
  37. package/dist/6813.js +1 -1
  38. package/dist/6908.js +1 -1
  39. package/dist/7029.js +1 -1
  40. package/dist/7255.js +1 -1
  41. package/dist/{9598.js → 7380.js} +2 -2
  42. package/dist/7447.js +1 -1
  43. package/dist/7535.js +1 -1
  44. package/dist/7715.js +1 -1
  45. package/dist/7722.js +1 -1
  46. package/dist/7734.js +2 -0
  47. package/dist/7801.js +1 -1
  48. package/dist/7858.js +1 -1
  49. package/dist/7955.js +1 -1
  50. package/dist/7995.js +1 -1
  51. package/dist/8061.js +1 -1
  52. package/dist/8065.js +1 -1
  53. package/dist/8073.js +1 -1
  54. package/dist/8111.js +1 -1
  55. package/dist/8255.js +1 -1
  56. package/dist/8291.js +1 -1
  57. package/dist/8316.js +2 -0
  58. package/dist/8709.js +1 -1
  59. package/dist/8761.js +1 -1
  60. package/dist/9734.js +1 -1
  61. package/dist/9747.js +1 -1
  62. package/dist/9792.js +1 -1
  63. package/dist/9895.js +1 -1
  64. package/dist/9963.js +1 -1
  65. package/dist/9972.js +1 -1
  66. package/dist/main.css +2 -2
  67. package/dist/main.js +531 -3278
  68. package/dist/main.js.LICENSE.txt +2 -2
  69. package/package.json +14 -14
  70. package/src/App.tsx +3 -1
  71. package/src/components/FocusInput.tsx +9 -8
  72. package/src/components/avatar/basic.tsx +3 -1
  73. package/src/components/badge/basic.tsx +5 -5
  74. package/src/components/badge/button.tsx +5 -5
  75. package/src/components/button-link/basic.tsx +3 -0
  76. package/src/components/button-link/image.tsx +1 -1
  77. package/src/components/card/flex.tsx +1 -1
  78. package/src/components/card/selection.tsx +3 -3
  79. package/src/components/handout/basic.tsx +22 -8
  80. package/src/components/heading/badged.tsx +18 -6
  81. package/src/components/image/basic.tsx +1 -1
  82. package/src/components/input-checkbox/partials/cases.tsx +2 -0
  83. package/src/components/input-radio/partials/cases.tsx +0 -1
  84. package/src/components/link/basic.tsx +1 -3
  85. package/src/components/link/image.tsx +2 -2
  86. package/src/components/table/formatter.ts +5 -0
  87. package/src/components/table/render-cell.tsx +16 -8
  88. package/src/components/table/test-data.ts +340 -0
  89. package/src/components/table/with-pagination.tsx +4 -3
  90. package/src/components/tabs/basic.tsx +21 -6
  91. package/src/components/toast/basic.tsx +68 -34
  92. package/src/hooks/useSetCurrentLocation.ts +7 -0
  93. package/src/react.main.tsx +2 -2
  94. package/src/scenarios/appointment-form/ErrorList.tsx +1 -1
  95. package/src/scenarios/complex-form/component.tsx +29 -29
  96. package/src/scenarios/custom-tooltip-width.tsx +6 -0
  97. package/src/scenarios/inputs-get-value.tsx +160 -0
  98. package/src/scenarios/routes.ts +4 -0
  99. package/src/shares/routes.ts +0 -2
  100. package/src/shares/theme.ts +4 -4
  101. package/src/style.scss +2 -5
  102. package/dist/4556.js +0 -2
  103. package/dist/5414.js +0 -2
  104. package/dist/6077.js +0 -2
  105. package/dist/6655.js +0 -2
  106. package/dist/7929.js +0 -2
  107. package/src/components/popover/basic.tsx +0 -36
  108. package/src/components/popover/routes.ts +0 -8
  109. /package/dist/{4556.js.LICENSE.txt → 1130.js.LICENSE.txt} +0 -0
  110. /package/dist/{5327.js.LICENSE.txt → 2738.js.LICENSE.txt} +0 -0
  111. /package/dist/{5414.js.LICENSE.txt → 4916.js.LICENSE.txt} +0 -0
  112. /package/dist/{6077.js.LICENSE.txt → 5139.js.LICENSE.txt} +0 -0
  113. /package/dist/{6487.js.LICENSE.txt → 5860.js.LICENSE.txt} +0 -0
  114. /package/dist/{6655.js.LICENSE.txt → 5869.js.LICENSE.txt} +0 -0
  115. /package/dist/{7648.js.LICENSE.txt → 7380.js.LICENSE.txt} +0 -0
  116. /package/dist/{7929.js.LICENSE.txt → 7734.js.LICENSE.txt} +0 -0
  117. /package/dist/{9598.js.LICENSE.txt → 8316.js.LICENSE.txt} +0 -0
@@ -35,7 +35,7 @@
35
35
  */
36
36
 
37
37
  /**
38
- * @remix-run/router v1.10.0
38
+ * @remix-run/router v1.13.1
39
39
  *
40
40
  * Copyright (c) Remix Software Inc.
41
41
  *
@@ -46,7 +46,7 @@
46
46
  */
47
47
 
48
48
  /**
49
- * React Router v6.17.0
49
+ * React Router v6.20.1
50
50
  *
51
51
  * Copyright (c) Remix Software Inc.
52
52
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@public-ui/sample-react",
3
- "version": "2.0.0-rc.8",
3
+ "version": "2.0.0",
4
4
  "description": "This app contains samples for the KoliBri/Public UI",
5
5
  "license": "EUPL-1.2",
6
6
  "dependencies": {
@@ -8,29 +8,29 @@
8
8
  "@leanup/stack-react": "1.3.48",
9
9
  "@leanup/stack-webpack": "1.3.48",
10
10
  "@public-oss/kolibri-themes": "0.0.3",
11
- "@public-ui/components": "2.0.0-rc.8",
12
- "@public-ui/react": "2.0.0-rc.8",
13
- "@public-ui/themes": "2.0.0-rc.8",
14
- "@types/node": "20.8.9",
15
- "@types/react": "18.2.33",
16
- "@types/react-dom": "18.2.14",
17
- "@unocss/preset-uno": "0.57.1",
18
- "@unocss/webpack": "0.57.1",
11
+ "@public-ui/components": "2.0.0",
12
+ "@public-ui/react": "2.0.0",
13
+ "@public-ui/themes": "2.0.0",
14
+ "@types/node": "20.10.3",
15
+ "@types/react": "18.2.41",
16
+ "@types/react-dom": "18.2.17",
17
+ "@unocss/preset-uno": "0.58.0",
18
+ "@unocss/webpack": "0.58.0",
19
19
  "ajv": "8.12.0",
20
- "chromedriver": "118.0.1",
20
+ "chromedriver": "119.0.1",
21
21
  "cpy-cli": "5.0.0",
22
- "eslint-plugin-jsx-a11y": "6.7.1",
22
+ "eslint-plugin-jsx-a11y": "6.8.0",
23
23
  "eslint-plugin-react": "7.33.2",
24
24
  "formik": "2.4.5",
25
25
  "nightwatch-axe-verbose": "2.2.2",
26
26
  "npm-run-all": "4.1.5",
27
27
  "react": "18.2.0",
28
28
  "react-dom": "18.2.0",
29
- "react-router": "6.17.0",
30
- "react-router-dom": "6.17.0",
29
+ "react-router": "6.20.1",
30
+ "react-router-dom": "6.20.1",
31
31
  "rimraf": "3.0.2",
32
32
  "ts-prune": "0.10.3",
33
- "typescript": "5.2.2",
33
+ "typescript": "5.3.2",
34
34
  "world_countries_lists": "2.8.2",
35
35
  "yup": "1.3.2"
36
36
  },
package/src/App.tsx CHANGED
@@ -11,6 +11,7 @@ import { getTheme, getThemeName, setStorage, setTheme } from './shares/store';
11
11
  import { Sidebar } from './components/Sidebar';
12
12
  import { useLocation } from 'react-router';
13
13
  import { HideMenusContext } from './shares/HideMenusContext';
14
+ import { useSetCurrentLocation } from './hooks/useSetCurrentLocation';
14
15
 
15
16
  setStorage(localStorage);
16
17
 
@@ -46,7 +47,7 @@ const getRouteTree = (routes: MyRoutes): ReturnType<typeof Route>[] => {
46
47
  <div className="d-grid gap-4">
47
48
  {THEME_OPTIONS.filter(
48
49
  (theme) =>
49
- ['bmf', 'default', 'bzst', 'ecl-ec', 'ecl-eu', 'itzbund', 'mapz', 'zoll-v2', 'zoll-v3'].indexOf((theme as Option<Theme>).value) >= 0,
50
+ ['bmf', 'default', 'bzst-v1', 'ecl-ec', 'ecl-eu', 'itzbund', 'mapz', 'zoll-v2', 'zoll-v3'].indexOf((theme as Option<Theme>).value) >= 0,
50
51
  ).map((theme) => (
51
52
  <div className="d-grid gap-2" key={(theme as Option<Theme>).value} data-theme={(theme as Option<Theme>).value}>
52
53
  <div className="mt-4">
@@ -107,6 +108,7 @@ export const App: FC = () => {
107
108
  const hideMenus = searchParams.has('hideMenus');
108
109
 
109
110
  setTheme(theme as Theme); // set for `getTheme` usages within the application
111
+ useSetCurrentLocation();
110
112
 
111
113
  document.title = `KoliBri-Handout - ${getThemeName(getTheme())} | v${PackageJson.version}`;
112
114
  document.body.setAttribute('class', theme);
@@ -1,4 +1,4 @@
1
- import React, { FC, useLayoutEffect, useRef } from 'react';
1
+ import React, { FC, useRef } from 'react';
2
2
  import { RefComponent } from './types';
3
3
 
4
4
  type FokusElementProps = {
@@ -8,13 +8,14 @@ type FokusElementProps = {
8
8
  export const FocusElement: FC<FokusElementProps> = (props) => {
9
9
  const ref = useRef(null);
10
10
 
11
- useLayoutEffect(() => {
12
- setTimeout(() => {
13
- if (ref.current && window.self === window.top) {
14
- (ref.current as unknown as HTMLElement).focus();
15
- }
16
- }, 500);
17
- }, [ref]);
11
+ /* Focus effect for the moment to ensure test stability */
12
+ // useLayoutEffect(() => {
13
+ // setTimeout(() => {
14
+ // if (ref.current && window.self === window.top) {
15
+ // (ref.current as unknown as HTMLElement).focus();
16
+ // }
17
+ // }, 500);
18
+ // }, [ref]);
18
19
 
19
20
  return <props.RefComponent ref={ref} {...props} />;
20
21
  };
@@ -4,7 +4,9 @@ import React, { FC } from 'react';
4
4
  export const AvatarBasic: FC = () => (
5
5
  <div className="flex flex-wrap gap-4">
6
6
  <KolAvatar _src="https://www.w3schools.com/howto/img_avatar.png" _label="Elke Mustermann" />
7
- <KolAvatar _label="Elke Mustermann" />
7
+
8
+ {/* intentional trailing space 👇 - it's supposed to be trimmed */}
9
+ <KolAvatar _label="Elke Mustermann " />
8
10
  <KolAvatar _label="Marianne" />
9
11
  </div>
10
12
  );
@@ -8,11 +8,11 @@ const PROPS = {
8
8
  };
9
9
 
10
10
  export const BadgeBasic: FC = () => (
11
- <div className="d-flex gap-2">
11
+ <div className="flex gap-2">
12
12
  <KolBadge {...PROPS}></KolBadge>
13
- <KolBadge _color="#B22222" {...PROPS}></KolBadge>
14
- <KolBadge _color="#4682B4" {...PROPS}></KolBadge>
15
- <KolBadge _color="#228B22" {...PROPS}></KolBadge>
16
- <KolBadge _color="#8B008B" {...PROPS}></KolBadge>
13
+ <KolBadge _color="#86ffc6" {...PROPS}></KolBadge>
14
+ <KolBadge _color="#06539e" {...PROPS}></KolBadge>
15
+ <KolBadge _color="#ae0000" {...PROPS}></KolBadge>
16
+ <KolBadge _color="#8b008b" {...PROPS}></KolBadge>
17
17
  </div>
18
18
  );
@@ -15,11 +15,11 @@ const PROPS = {
15
15
  };
16
16
 
17
17
  export const BadgeButton: FC = () => (
18
- <div className="d-flex gap-2">
18
+ <div className="flex gap-2">
19
19
  <KolBadge {...PROPS}></KolBadge>
20
- <KolBadge _color="#B22222" {...PROPS}></KolBadge>
21
- <KolBadge _color="#4682B4" {...PROPS}></KolBadge>
22
- <KolBadge _color="#228B22" {...PROPS}></KolBadge>
23
- <KolBadge _color="#8B008B" {...PROPS}></KolBadge>
20
+ <KolBadge _color="#86ffc6" {...PROPS}></KolBadge>
21
+ <KolBadge _color="#06539e" {...PROPS}></KolBadge>
22
+ <KolBadge _color="#ae0000" {...PROPS}></KolBadge>
23
+ <KolBadge _color="#8b008b" {...PROPS}></KolBadge>
24
24
  </div>
25
25
  );
@@ -19,5 +19,8 @@ export const ButtonLinkBasic: FC = () => (
19
19
  <KolButtonLink style={{ display: 'block' }} _label="Simple Link" />
20
20
  Daher gehe ich über die ganze Breite des Eltern-Elements erzeuge so einen Zeilenumbruch.
21
21
  </p>
22
+ <p>
23
+ <KolButtonLink _label="Disabled ButtonLink" _disabled />
24
+ </p>
22
25
  </div>
23
26
  );
@@ -8,7 +8,7 @@ export const ButtonLinkImage: FC = () => (
8
8
  <KolButtonLink _label="Ich bin ein Link, der als Text gerendert wird" />
9
9
  <br />
10
10
  <KolButtonLink _label="">
11
- <img alt="Darstellung des KoliBri-Theming" slot="expert" src="/abgrenzung.jpg" width="300" />
11
+ <img alt="Darstellung des KoliBri-Theming" slot="expert" src="abgrenzung.jpg" width="300" />
12
12
  </KolButtonLink>
13
13
  </div>
14
14
  );
@@ -8,7 +8,7 @@ export const CardFlex: FC = () => (
8
8
  <KolCard _label="Titel">
9
9
  <div>Inhalt</div>
10
10
  </KolCard>
11
- <KolCard _label="Titel">
11
+ <KolCard _label="Titel" _hasCloser>
12
12
  <div>
13
13
  Inhalt
14
14
  <br />
@@ -21,7 +21,7 @@ export const CardSelection: FC = () => (
21
21
  </div>
22
22
  <div>
23
23
  <div>
24
- <img alt="Darstellung des KoliBri-Theming" src="/abgrenzung.jpg" width="100%" />
24
+ <img alt="Darstellung des KoliBri-Theming" src="abgrenzung.jpg" width="100%" />
25
25
  </div>
26
26
  </div>
27
27
  <div>
@@ -41,7 +41,7 @@ export const CardSelection: FC = () => (
41
41
  </div>
42
42
  <div>
43
43
  <div>
44
- <img alt="Darstellung des KoliBri-Theming" src="/abgrenzung.jpg" width="100%" />
44
+ <img alt="Darstellung des KoliBri-Theming" src="abgrenzung.jpg" width="100%" />
45
45
  </div>
46
46
  </div>
47
47
  <div>
@@ -61,7 +61,7 @@ export const CardSelection: FC = () => (
61
61
  </div>
62
62
  <div>
63
63
  <div>
64
- <img alt="Darstellung des KoliBri-Theming" src="/abgrenzung.jpg" width="100%" />
64
+ <img alt="Darstellung des KoliBri-Theming" src="abgrenzung.jpg" width="100%" />
65
65
  </div>
66
66
  </div>
67
67
  <div>
@@ -83,7 +83,9 @@ const TABLE_HEADERS: KoliBriTableHeaders = {
83
83
  {
84
84
  key: 'dienstag',
85
85
  label: 'Dienstag',
86
- render: (el, data) => (el.innerHTML = `<kol-badge _color="#060" _label="${data.label}"></kol-badge>`),
86
+ render: (el, data) => {
87
+ el.innerHTML = `<kol-badge _color="#060" _label="${data.label}"></kol-badge>`;
88
+ },
87
89
  sort: (data) => {
88
90
  return data.sort((first, second) => {
89
91
  if (first.dienstag < second.dienstag) {
@@ -100,27 +102,37 @@ const TABLE_HEADERS: KoliBriTableHeaders = {
100
102
  {
101
103
  key: 'mittwoch',
102
104
  label: 'Mittwoch',
103
- render: (el, data) => (el.innerHTML = `<kol-badge _color="#006" _label="${data.label}"></kol-badge>`),
105
+ render: (el, data) => {
106
+ el.innerHTML = `<kol-badge _color="#006" _label="${data.label}"></kol-badge>`;
107
+ },
104
108
  },
105
109
  {
106
110
  key: 'donnerstag',
107
111
  label: 'Donnerstag',
108
- render: (el, data) => (el.innerHTML = `<kol-badge _color="#600" _label="${data.label}"></kol-badge>`),
112
+ render: (el, data) => {
113
+ el.innerHTML = `<kol-badge _color="#600" _label="${data.label}"></kol-badge>`;
114
+ },
109
115
  },
110
116
  {
111
117
  key: 'freitag',
112
118
  label: 'Freitag',
113
- render: (el, data) => (el.innerHTML = `<kol-badge _color="#303" _label="${data.label}"></kol-badge>`),
119
+ render: (el, data) => {
120
+ el.innerHTML = `<kol-badge _color="#303" _label="${data.label}"></kol-badge>`;
121
+ },
114
122
  },
115
123
  {
116
124
  key: 'samstag',
117
125
  label: 'Samstag',
118
- render: (el, data) => (el.innerHTML = `<kol-badge _color="#330" _label="${data.label}"></kol-badge>`),
126
+ render: (el, data) => {
127
+ el.innerHTML = `<kol-badge _color="#330" _label="${data.label}"></kol-badge>`;
128
+ },
119
129
  },
120
130
  {
121
131
  key: 'sonntag',
122
132
  label: 'Sonntag',
123
- render: (el, data) => (el.innerHTML = `<kol-badge _color="#033" _label="${data.label}"></kol-badge>`),
133
+ render: (el, data) => {
134
+ el.innerHTML = `<kol-badge _color="#033" _label="${data.label}"></kol-badge>`;
135
+ },
124
136
  },
125
137
  ],
126
138
  ],
@@ -689,7 +701,9 @@ export const HandoutBasic: FC = () => (
689
701
  <div className="grid gap-4 grid-cols-[auto_1fr_1fr] items-center">
690
702
  <KolKolibri className="block w-75px" _labeled={false}></KolKolibri>
691
703
  <KolHeading _label="" _level={1}>
692
- Kolibri-Handout <small>for {getThemeName(getTheme())}</small>
704
+ <span slot="expert">
705
+ Kolibri-Handout <small>for {getThemeName(getTheme())}</small>
706
+ </span>
693
707
  </KolHeading>
694
708
  <KolDetails _label="Abstract" _open>
695
709
  The handout shows a selection of KoliBri components in the style of <strong>{getThemeName(getTheme())}</strong>. Since KoliBri offers self-contained,
@@ -987,7 +1001,7 @@ export const HandoutBasic: FC = () => (
987
1001
  </KolCard>
988
1002
  </div>
989
1003
  <KolVersion _label="5.0.2-test.2"></KolVersion>
990
- {/* <KolImage _src="/abgrenzung.jpg" _alt="KoliBri Darstellung"></KolImage> */}
1004
+ {/* <KolImage _src="abgrenzung.jpg" _alt="KoliBri Darstellung"></KolImage> */}
991
1005
  {/* <KolIndentedText></KolIndentedText> */}
992
1006
  {/* <KolQuote></KolQuote> */}
993
1007
  </div>
@@ -6,22 +6,34 @@ import { FC } from 'react';
6
6
  export const HeadingBadged: FC = () => (
7
7
  <div className="grid gap-4">
8
8
  <KolHeading _label="" _level={1}>
9
- Eine Überschrift mit einem <KolBadge _color="#f00" _label="Label"></KolBadge>
9
+ <span slot="expert">
10
+ Eine Überschrift mit einem <KolBadge _color="#f00" _label="Label"></KolBadge>
11
+ </span>
10
12
  </KolHeading>
11
13
  <KolHeading _label="" _level={2}>
12
- Eine Überschrift mit einem <KolBadge _color="#0f0" _label="Label"></KolBadge>
14
+ <span slot="expert">
15
+ Eine Überschrift mit einem <KolBadge _color="#0f0" _label="Label"></KolBadge>
16
+ </span>
13
17
  </KolHeading>
14
18
  <KolHeading _label="" _level={3}>
15
- Eine Überschrift mit einem <KolBadge _color="#00f" _label="Label"></KolBadge>
19
+ <span slot="expert">
20
+ Eine Überschrift mit einem <KolBadge _color="#00f" _label="Label"></KolBadge>
21
+ </span>
16
22
  </KolHeading>
17
23
  <KolHeading _label="" _level={4}>
18
- Eine Überschrift mit einem <KolBadge _color="#800080" _label="Label"></KolBadge>
24
+ <span slot="expert">
25
+ Eine Überschrift mit einem <KolBadge _color="#800080" _label="Label"></KolBadge>
26
+ </span>
19
27
  </KolHeading>
20
28
  <KolHeading _label="" _level={5}>
21
- Eine Überschrift mit einem <KolBadge _color="#ff0" _label="Label"></KolBadge>
29
+ <span slot="expert">
30
+ Eine Überschrift mit einem <KolBadge _color="#ff0" _label="Label"></KolBadge>
31
+ </span>
22
32
  </KolHeading>
23
33
  <KolHeading _label="" _level={6}>
24
- Eine Überschrift mit einem <KolBadge _color="#ffc0cb" _label="Label"></KolBadge>
34
+ <span slot="expert">
35
+ Eine Überschrift mit einem <KolBadge _color="#ffc0cb" _label="Label"></KolBadge>
36
+ </span>
25
37
  </KolHeading>
26
38
  </div>
27
39
  );
@@ -2,4 +2,4 @@ import { FC } from 'react';
2
2
  import { KolImage } from '@public-ui/react';
3
3
  import React from 'react';
4
4
 
5
- export const ImageBasic: FC = () => <KolImage className="w-80%" _src="/abgrenzung.jpg" _alt="Darstellung des KoliBri-Theming" />;
5
+ export const ImageBasic: FC = () => <KolImage className="w-80%" _src="abgrenzung.jpg" _alt="Darstellung des KoliBri-Theming" />;
@@ -48,6 +48,8 @@ export const InputCheckboxCases = forwardRef<HTMLKolInputCheckboxElement, Compon
48
48
  _value={true}
49
49
  _hint="Hint text"
50
50
  />
51
+ <KolInputCheckbox {...props} _checked _disabled _label="Checked and disabled" />
52
+ <KolInputCheckbox {...props} _indeterminate _disabled _label="Indeterminate and disabled" />
51
53
  <KolInputCheckbox
52
54
  {...props}
53
55
  _error={ERROR_MSG}
@@ -10,7 +10,6 @@ export const InputRadioCases = forwardRef<HTMLKolInputRadioElement, Components.K
10
10
  <div className="grid gap-4">
11
11
  <KolInputRadio
12
12
  {...props}
13
- _error={ERROR_MSG}
14
13
  _options="[{'label':'Frau','value':'Frau'},{'disabled':true,'label':'Herr (disabled)'},{'label':'Firma','value':'Firma'}]"
15
14
  _label="Anrede"
16
15
  />
@@ -1,8 +1,6 @@
1
- import React from 'react';
1
+ import React, { FC } from 'react';
2
2
  import { KolLink } from '@public-ui/react';
3
3
 
4
- import { FC } from 'react';
5
-
6
4
  export const LinkBasic: FC = () => (
7
5
  <div className="grid gap-4">
8
6
  <KolLink _href="#" _label="Simple Link" />
@@ -8,12 +8,12 @@ export const LinkImage: FC = () => (
8
8
  <KolLink _href="#" _label="Ich bin ein Link, der als Text gerendert wird" />
9
9
  <br />
10
10
  <KolLink _href="#" _label="">
11
- <img alt="Darstellung des KoliBri-Theming" slot="expert" src="/abgrenzung.jpg" width="300" />
11
+ <img alt="Darstellung des KoliBri-Theming" slot="expert" src="abgrenzung.jpg" width="300" />
12
12
  <KolKolibri style={{ width: '300px' }}></KolKolibri>
13
13
  </KolLink>
14
14
  <br />
15
15
  <KolLink _href="#" _label="">
16
- <img alt="Darstellung des KoliBri-Theming" slot="expert" src="/abgrenzung.jpg" width="300" />
16
+ <img alt="Darstellung des KoliBri-Theming" slot="expert" src="abgrenzung.jpg" width="300" />
17
17
  </KolLink>
18
18
  </div>
19
19
  );
@@ -0,0 +1,5 @@
1
+ export const DATE_FORMATTER = Intl.DateTimeFormat('de-DE', {
2
+ day: '2-digit',
3
+ month: '2-digit',
4
+ year: 'numeric',
5
+ });
@@ -5,12 +5,8 @@ import { KolButton, KolInputText, KolTable } from '@public-ui/react';
5
5
  import { getRoot } from '../../shares/react-roots';
6
6
  import { KoliBriTableHeaders } from '@public-ui/components';
7
7
  import { DATA, Data } from './test-data';
8
-
9
- const DATE_FORMATTER = Intl.DateTimeFormat('de-DE', {
10
- day: '2-digit',
11
- month: '2-digit',
12
- year: 'numeric',
13
- });
8
+ import { DATE_FORMATTER } from './formatter';
9
+ import { SampleDescription } from '../SampleDescription';
14
10
 
15
11
  const HEADERS: KoliBriTableHeaders = {
16
12
  horizontal: [
@@ -20,7 +16,10 @@ const HEADERS: KoliBriTableHeaders = {
20
16
  label: 'Datum (string)',
21
17
  key: 'date',
22
18
  textAlign: 'center',
23
- render: (_el, _cell, tupel) => `<strong>${DATE_FORMATTER.format((tupel as Data).date)}</strong>`,
19
+ render: (el, tupel) => {
20
+ // https://reactjs.org/docs/portals.html
21
+ getRoot(el).render(<strong>{DATE_FORMATTER.format(tupel.label as unknown as Date)}</strong>);
22
+ },
24
23
  sort: (data: Data[]) =>
25
24
  data.sort((data0, data1) => {
26
25
  if (data0.date < data1.date) return -1;
@@ -32,6 +31,8 @@ const HEADERS: KoliBriTableHeaders = {
32
31
  label: 'Aktion (react)',
33
32
  key: 'order',
34
33
  render: (el) => {
34
+ el.setAttribute('role', 'presentation');
35
+
35
36
  // https://reactjs.org/docs/portals.html
36
37
  getRoot(el).render(
37
38
  <>
@@ -45,4 +46,11 @@ const HEADERS: KoliBriTableHeaders = {
45
46
  ],
46
47
  };
47
48
 
48
- export const TableRenderCell: FC = () => <KolTable _label="Sort a date column" _data={DATA} _headers={HEADERS} className="block" />;
49
+ export const TableRenderCell: FC = () => (
50
+ <>
51
+ <SampleDescription>
52
+ <p>This sample simulates the usage of React render functions for the table column contents.</p>
53
+ </SampleDescription>
54
+ <KolTable _label="Sort a date column" _data={DATA} _headers={HEADERS} className="block" />
55
+ </>
56
+ );