@public-ui/sample-react 1.7.0-rc.5

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 (145) hide show
  1. package/.eslintignore +1 -0
  2. package/.eslintrc.js +27 -0
  3. package/.gitignore +41 -0
  4. package/.prettierignore +4 -0
  5. package/package.json +66 -0
  6. package/prettier.config.js +6 -0
  7. package/public/index.html +28 -0
  8. package/src/App.tsx +259 -0
  9. package/src/declare.d.ts +4 -0
  10. package/src/main.ts +7 -0
  11. package/src/react.main.tsx +56 -0
  12. package/src/routes-test.ts +79 -0
  13. package/src/samples/abbr/basic.html +6 -0
  14. package/src/samples/abbr/basic.tsx +39 -0
  15. package/src/samples/abbr/routes.ts +9 -0
  16. package/src/samples/accordion/basic.tsx +18 -0
  17. package/src/samples/accordion/header.tsx +17 -0
  18. package/src/samples/accordion/headlines.tsx +27 -0
  19. package/src/samples/accordion/list.tsx +32 -0
  20. package/src/samples/accordion/routes.ts +17 -0
  21. package/src/samples/alert/basic.tsx +37 -0
  22. package/src/samples/alert/card-msg.tsx +11 -0
  23. package/src/samples/alert/html.tsx +29 -0
  24. package/src/samples/alert/routes.ts +15 -0
  25. package/src/samples/avatar/basic.tsx +10 -0
  26. package/src/samples/avatar/routes.ts +8 -0
  27. package/src/samples/badge/basic.tsx +18 -0
  28. package/src/samples/badge/button.tsx +25 -0
  29. package/src/samples/badge/routes.ts +12 -0
  30. package/src/samples/breadcrumb/basic.tsx +53 -0
  31. package/src/samples/breadcrumb/routes.ts +9 -0
  32. package/src/samples/button/basic.tsx +29 -0
  33. package/src/samples/button/hide-label.tsx +31 -0
  34. package/src/samples/button/icons.tsx +27 -0
  35. package/src/samples/button/routes.ts +18 -0
  36. package/src/samples/button/width.tsx +30 -0
  37. package/src/samples/button-group/basic.tsx +13 -0
  38. package/src/samples/button-group/routes.ts +9 -0
  39. package/src/samples/button-link/basic.tsx +23 -0
  40. package/src/samples/button-link/icons.tsx +37 -0
  41. package/src/samples/button-link/image.tsx +14 -0
  42. package/src/samples/button-link/routes.ts +18 -0
  43. package/src/samples/button-link/target.tsx +16 -0
  44. package/src/samples/card/basic.tsx +12 -0
  45. package/src/samples/card/confirm.tsx +19 -0
  46. package/src/samples/card/flex.tsx +44 -0
  47. package/src/samples/card/routes.ts +18 -0
  48. package/src/samples/card/selection.tsx +70 -0
  49. package/src/samples/details/basic.tsx +19 -0
  50. package/src/samples/details/routes.ts +9 -0
  51. package/src/samples/form/routes.ts +5 -0
  52. package/src/samples/handout/basic.tsx +1013 -0
  53. package/src/samples/handout/routes.ts +9 -0
  54. package/src/samples/heading/badged.tsx +27 -0
  55. package/src/samples/heading/basic.tsx +15 -0
  56. package/src/samples/heading/paragraph.tsx +45 -0
  57. package/src/samples/heading/routes.ts +15 -0
  58. package/src/samples/icon/basic.tsx +17 -0
  59. package/src/samples/icon/routes.ts +9 -0
  60. package/src/samples/indented-text/basic.tsx +24 -0
  61. package/src/samples/indented-text/routes.ts +9 -0
  62. package/src/samples/input-checkbox/basic.tsx +37 -0
  63. package/src/samples/input-checkbox/routes.ts +9 -0
  64. package/src/samples/input-color/basic.tsx +29 -0
  65. package/src/samples/input-color/routes.ts +9 -0
  66. package/src/samples/input-date/basic.tsx +20 -0
  67. package/src/samples/input-date/routes.ts +9 -0
  68. package/src/samples/input-email/basic.tsx +30 -0
  69. package/src/samples/input-email/routes.ts +9 -0
  70. package/src/samples/input-file/basic.tsx +25 -0
  71. package/src/samples/input-file/routes.ts +9 -0
  72. package/src/samples/input-number/basic.tsx +30 -0
  73. package/src/samples/input-number/routes.ts +9 -0
  74. package/src/samples/input-password/basic.tsx +41 -0
  75. package/src/samples/input-password/routes.ts +9 -0
  76. package/src/samples/input-radio/basic.tsx +46 -0
  77. package/src/samples/input-radio/horizontal.tsx +42 -0
  78. package/src/samples/input-radio/routes.ts +14 -0
  79. package/src/samples/input-radio/select.tsx +18 -0
  80. package/src/samples/input-range/basic.tsx +29 -0
  81. package/src/samples/input-range/routes.ts +9 -0
  82. package/src/samples/input-text/basic.tsx +72 -0
  83. package/src/samples/input-text/blur.tsx +16 -0
  84. package/src/samples/input-text/focus.tsx +24 -0
  85. package/src/samples/input-text/hidden-label.tsx +66 -0
  86. package/src/samples/input-text/routes.ts +16 -0
  87. package/src/samples/link/basic.tsx +23 -0
  88. package/src/samples/link/icons.tsx +37 -0
  89. package/src/samples/link/image.tsx +20 -0
  90. package/src/samples/link/routes.ts +18 -0
  91. package/src/samples/link/target.tsx +15 -0
  92. package/src/samples/link-button/basic.tsx +22 -0
  93. package/src/samples/link-button/routes.ts +9 -0
  94. package/src/samples/link-group/routes.ts +5 -0
  95. package/src/samples/nav/active.tsx +88 -0
  96. package/src/samples/nav/aria-current.tsx +22 -0
  97. package/src/samples/nav/basic.tsx +62 -0
  98. package/src/samples/nav/horizontal.tsx +59 -0
  99. package/src/samples/nav/routes.ts +18 -0
  100. package/src/samples/pagination/basic.tsx +12 -0
  101. package/src/samples/pagination/routes.ts +9 -0
  102. package/src/samples/popover/basic.tsx +36 -0
  103. package/src/samples/popover/routes.ts +8 -0
  104. package/src/samples/progress/basic.tsx +11 -0
  105. package/src/samples/progress/routes.ts +9 -0
  106. package/src/samples/select/basic.tsx +51 -0
  107. package/src/samples/select/routes.ts +9 -0
  108. package/src/samples/skip-nav/basic.tsx +33 -0
  109. package/src/samples/skip-nav/routes.ts +9 -0
  110. package/src/samples/spin/basic.tsx +6 -0
  111. package/src/samples/spin/custom.css +52 -0
  112. package/src/samples/spin/custom.tsx +11 -0
  113. package/src/samples/spin/cycle.tsx +6 -0
  114. package/src/samples/spin/routes.ts +13 -0
  115. package/src/samples/split-button/basic.tsx +46 -0
  116. package/src/samples/split-button/routes.ts +8 -0
  117. package/src/samples/table/badge-size.tsx +51 -0
  118. package/src/samples/table/render-cell.tsx +48 -0
  119. package/src/samples/table/routes.ts +15 -0
  120. package/src/samples/table/sort-date.tsx +33 -0
  121. package/src/samples/table/test-data.ts +66 -0
  122. package/src/samples/textarea/adjust-height.tsx +22 -0
  123. package/src/samples/textarea/basic.tsx +11 -0
  124. package/src/samples/textarea/disabled.tsx +10 -0
  125. package/src/samples/textarea/placeholder.tsx +10 -0
  126. package/src/samples/textarea/readonly.tsx +10 -0
  127. package/src/samples/textarea/resize.tsx +13 -0
  128. package/src/samples/textarea/routes.ts +27 -0
  129. package/src/samples/textarea/rows.tsx +10 -0
  130. package/src/samples/toast/basic.tsx +21 -0
  131. package/src/samples/toast/routes.ts +8 -0
  132. package/src/samples/version/basic.tsx +6 -0
  133. package/src/samples/version/context.tsx +12 -0
  134. package/src/samples/version/routes.ts +12 -0
  135. package/src/shares/constants.ts +2 -0
  136. package/src/shares/react-roots.ts +10 -0
  137. package/src/shares/routes.ts +87 -0
  138. package/src/shares/store.ts +85 -0
  139. package/src/shares/theme.ts +103 -0
  140. package/src/shares/types.ts +4 -0
  141. package/src/style.scss +89 -0
  142. package/test-build.sh +2 -0
  143. package/tsconfig.json +32 -0
  144. package/unocss.config.ts +7 -0
  145. package/webpack.config.js +14 -0
@@ -0,0 +1,9 @@
1
+ import { Routes } from '../../shares/types';
2
+
3
+ import { HandoutBasic } from './basic';
4
+
5
+ export const HANDOUT_ROUTES: Routes = {
6
+ handout: {
7
+ basic: HandoutBasic,
8
+ },
9
+ };
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { KolBadge, KolHeading } from '@public-ui/react';
3
+
4
+ import { FC } from 'react';
5
+
6
+ export const HeadingBadged: FC = () => (
7
+ <div className="grid gap-4">
8
+ <KolHeading _label="" _level={1}>
9
+ Eine Überschrift mit einem <KolBadge _color="red" _label="Label"></KolBadge>
10
+ </KolHeading>
11
+ <KolHeading _label="" _level={2}>
12
+ Eine Überschrift mit einem <KolBadge _color="green" _label="Label"></KolBadge>
13
+ </KolHeading>
14
+ <KolHeading _label="" _level={3}>
15
+ Eine Überschrift mit einem <KolBadge _color="blue" _label="Label"></KolBadge>
16
+ </KolHeading>
17
+ <KolHeading _label="" _level={4}>
18
+ Eine Überschrift mit einem <KolBadge _color="purple" _label="Label"></KolBadge>
19
+ </KolHeading>
20
+ <KolHeading _label="" _level={5}>
21
+ Eine Überschrift mit einem <KolBadge _color="yellow" _label="Label"></KolBadge>
22
+ </KolHeading>
23
+ <KolHeading _label="" _level={6}>
24
+ Eine Überschrift mit einem <KolBadge _color="pink" _label="Label"></KolBadge>
25
+ </KolHeading>
26
+ </div>
27
+ );
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { KolHeading } from '@public-ui/react';
3
+
4
+ import { FC } from 'react';
5
+
6
+ export const HeadingBasic: FC = () => (
7
+ <div className="grid gap-4">
8
+ <KolHeading _label="Ich bin eine H1-Überschrift" _level={1} />
9
+ <KolHeading _label="Ich bin eine H2-Überschrift" _level={2} />
10
+ <KolHeading _label="Ich bin eine H3-Überschrift" _level={3} />
11
+ <KolHeading _label="Ich bin eine H4-Überschrift" _level={4} />
12
+ <KolHeading _label="Ich bin eine H5-Überschrift" _level={5} />
13
+ <KolHeading _label="Ich bin eine H6-Überschrift" _level={6} />
14
+ </div>
15
+ );
@@ -0,0 +1,45 @@
1
+ import React from 'react';
2
+ import { KolHeading } from '@public-ui/react';
3
+
4
+ import { FC } from 'react';
5
+
6
+ export const HeadingParagraph: FC = () => (
7
+ <div className="grid gap-4">
8
+ <KolHeading _label="Ich bin eine H1-Überschrift" _level={1} />
9
+ <p>
10
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
11
+ voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
12
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor.
13
+ </p>
14
+ <KolHeading _label="Ich bin eine H2-Überschrift" _level={2} />
15
+ <p>
16
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
17
+ voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
18
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor.
19
+ </p>
20
+ <KolHeading _label="Ich bin eine H3-Überschrift" _level={3} />
21
+ <p>
22
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
23
+ voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
24
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor.
25
+ </p>
26
+ <KolHeading _label="Ich bin eine H4-Überschrift" _level={4} />
27
+ <p>
28
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
29
+ voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
30
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor.
31
+ </p>
32
+ <KolHeading _label="Ich bin eine H5-Überschrift" _level={5} />
33
+ <p>
34
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
35
+ voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
36
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor.
37
+ </p>
38
+ <KolHeading _label="Ich bin eine H6-Überschrift" _level={6} />
39
+ <p>
40
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
41
+ voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
42
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor.
43
+ </p>
44
+ </div>
45
+ );
@@ -0,0 +1,15 @@
1
+ import { Routes } from '../../shares/types';
2
+
3
+ import { HeadingBadged } from './badged';
4
+
5
+ import { HeadingBasic } from './basic';
6
+
7
+ import { HeadingParagraph } from './paragraph';
8
+
9
+ export const HEADING_ROUTES: Routes = {
10
+ heading: {
11
+ badge: HeadingBadged,
12
+ basic: HeadingBasic,
13
+ paragraph: HeadingParagraph,
14
+ },
15
+ };
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { KolIcon } from '@public-ui/react';
3
+
4
+ import { FC } from 'react';
5
+
6
+ export const IconBasic: FC = () => (
7
+ <div className="grid gap-4">
8
+ <KolIcon _ariaLabel="" _icon="codicon codicon-home" />
9
+ <KolIcon
10
+ style={{
11
+ color: 'red',
12
+ }}
13
+ _ariaLabel=""
14
+ _icon="codicon codicon-home"
15
+ />
16
+ </div>
17
+ );
@@ -0,0 +1,9 @@
1
+ import { Routes } from '../../shares/types';
2
+
3
+ import { IconBasic } from './basic';
4
+
5
+ export const ICON_ROUTES: Routes = {
6
+ icon: {
7
+ basic: IconBasic,
8
+ },
9
+ };
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import { KolIndentedText } from '@public-ui/react';
3
+
4
+ import { FC } from 'react';
5
+
6
+ export const IndentedTextBasic: FC = () => (
7
+ <div className="grid gap-4">
8
+ <p>
9
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
10
+ voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
11
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt.
12
+ </p>
13
+ <KolIndentedText>
14
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
15
+ voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
16
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt.
17
+ </KolIndentedText>
18
+ <p>
19
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
20
+ voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
21
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt.
22
+ </p>
23
+ </div>
24
+ );
@@ -0,0 +1,9 @@
1
+ import { Routes } from '../../shares/types';
2
+
3
+ import { IndentedTextBasic } from './basic';
4
+
5
+ export const INDENTED_ROUTES: Routes = {
6
+ 'indented-text': {
7
+ basic: IndentedTextBasic,
8
+ },
9
+ };
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ import { KolInputCheckbox } from '@public-ui/react';
3
+
4
+ import { FC } from 'react';
5
+
6
+ import { ERROR_MSG } from '../../shares/constants';
7
+
8
+ export const InputCheckboxBasic: FC = () => (
9
+ <>
10
+ <fieldset>
11
+ <legend>Checkbox</legend>
12
+ <KolInputCheckbox _variant="checkbox" _label="Nicht ausgewählt" _value={false} />
13
+ <KolInputCheckbox _variant="checkbox" _label="Unbestimmt (Indeterminate)" _value={null} _indeterminate />
14
+ <KolInputCheckbox _variant="checkbox" _label="Ausgewählt" _value={true} _checked />
15
+ <KolInputCheckbox _variant="checkbox" _label="Disabled" _value={true} _disabled />
16
+ <KolInputCheckbox _variant="checkbox" _label="Mit Fehler" _value={true} _error={ERROR_MSG} _touched />
17
+ </fieldset>
18
+
19
+ <fieldset>
20
+ <legend>Switch</legend>
21
+ <KolInputCheckbox _variant="switch" _label="Nicht ausgewählt" _value={false} />
22
+ <KolInputCheckbox _variant="switch" _label="Unbestimmt (Indeterminate)" _value={null} _indeterminate />
23
+ <KolInputCheckbox _variant="switch" _label="Ausgewählt" _value={true} _checked />
24
+ <KolInputCheckbox _variant="switch" _label="Disabled" _value={true} _disabled />
25
+ <KolInputCheckbox _variant="switch" _label="Mit Fehler" _value={true} _error={ERROR_MSG} _touched />
26
+ </fieldset>
27
+
28
+ <fieldset>
29
+ <legend>Button</legend>
30
+ <KolInputCheckbox _variant="button" _label="Nicht ausgewählt" _value={false} />
31
+ <KolInputCheckbox _variant="button" _label="Unbestimmt (Indeterminate)" _value={null} _indeterminate />
32
+ <KolInputCheckbox _variant="button" _label="Ausgewählt" _value={true} _checked />
33
+ <KolInputCheckbox _variant="button" _label="Disabled" _value={true} _disabled />
34
+ <KolInputCheckbox _variant="button" _label="Mit Fehler" _value={true} _error={ERROR_MSG} _touched />
35
+ </fieldset>
36
+ </>
37
+ );
@@ -0,0 +1,9 @@
1
+ import { Routes } from '../../shares/types';
2
+
3
+ import { InputCheckboxBasic } from './basic';
4
+
5
+ export const INPUT_CHECKBOX_ROUTES: Routes = {
6
+ 'input-checkbox': {
7
+ basic: InputCheckboxBasic,
8
+ },
9
+ };
@@ -0,0 +1,29 @@
1
+ import React from 'react';
2
+ import { KolForm, KolInputColor } from '@public-ui/react';
3
+
4
+ import { FC } from 'react';
5
+
6
+ import { ERROR_MSG } from '../../shares/constants';
7
+
8
+ export const InputColorBasic: FC = () => (
9
+ <KolForm className="grid gap-4">
10
+ <KolInputColor
11
+ _id="farbe"
12
+ _name="farbe"
13
+ _value="#ff0000"
14
+ _error={ERROR_MSG}
15
+ _label="Farbe"
16
+ _icon={{
17
+ left: {
18
+ icon: 'codicon codicon-arrow-left',
19
+ },
20
+ right: {
21
+ icon: 'codicon codicon-arrow-right',
22
+ },
23
+ }}
24
+ />
25
+ <KolInputColor _id="farb1" _label="Farbe" _list="['#000000','#ff0000', '#0000ff','#00ff00']" _error={ERROR_MSG} />
26
+ <KolInputColor _id="farbe2" _hint="Hilfetext" _value="#ff0000" _label="Farbe (Disabled)" />
27
+ <KolInputColor _disabled _id="farbe3" _value="#ff0000" _label="Farbe (Disabled)" />
28
+ </KolForm>
29
+ );
@@ -0,0 +1,9 @@
1
+ import { Routes } from '../../shares/types';
2
+
3
+ import { InputColorBasic } from './basic';
4
+
5
+ export const INPUT_COLOR_ROUTES: Routes = {
6
+ 'input-color': {
7
+ basic: InputColorBasic,
8
+ },
9
+ };
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { KolForm, KolInputDate } from '@public-ui/react';
3
+
4
+ import { FC } from 'react';
5
+
6
+ import { ERROR_MSG } from '../../shares/constants';
7
+
8
+ export const InputDateBasic: FC = () => (
9
+ <KolForm className="grid gap-4">
10
+ <KolInputDate _id="date1" _type="date" _label="Datumseingabe" />
11
+ <KolInputDate _id="datetime-local1" _type="datetime-local" _label="Local-Datetime (Standard)" />
12
+ <KolInputDate _id="datetime-local2" _step={1} _type="datetime-local" _error={ERROR_MSG} _label="Local-Datetime (mit Sekunden)" />
13
+ <KolInputDate _id="month" _type="month" _label="Monat" />
14
+ <KolInputDate _id="week" _type="week" _label="Woche" />
15
+ <KolInputDate _id="time" _type="time" _label="Zeit (Standard)" />
16
+ <KolInputDate _id="time" _step={1} _type="time" _label="Zeit (mit Sekunden)" />
17
+ <KolInputDate _id="date2" _read-only _label="Zahleneingabe (Readonly)" />
18
+ <KolInputDate _disabled _id="date3" _label="Zahleneingabe (Disabled)" />
19
+ </KolForm>
20
+ );
@@ -0,0 +1,9 @@
1
+ import { Routes } from '../../shares/types';
2
+
3
+ import { InputDateBasic } from './basic';
4
+
5
+ export const INPUT_DATE_ROUTES: Routes = {
6
+ 'input-date': {
7
+ basic: InputDateBasic,
8
+ },
9
+ };
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import { KolInputEmail, KolForm } from '@public-ui/react';
3
+
4
+ import { FC } from 'react';
5
+
6
+ import { ERROR_MSG } from '../../shares/constants';
7
+
8
+ export const InputEmailBasic: FC = () => (
9
+ <KolForm className="grid gap-4">
10
+ <KolInputEmail _id="email" _required _value="test@mail.de" _error={ERROR_MSG} _label="E-Mail" />
11
+ <KolInputEmail
12
+ _id="email1"
13
+ _name="email1"
14
+ _placeholder="elke@mustermann.de"
15
+ _list="['test1@mail.de', 'test2@mail.de', 'test3@mail.de']"
16
+ _label="E-Mail (Liste)"
17
+ _error={ERROR_MSG}
18
+ _icon={{
19
+ left: {
20
+ icon: 'codicon codicon-arrow-left',
21
+ },
22
+ right: {
23
+ icon: 'codicon codicon-arrow-right',
24
+ },
25
+ }}
26
+ />
27
+ <KolInputEmail _disabled _id="email2" _value="test@mail.de" _label="E-Mail (Disabled)" />
28
+ <KolInputEmail _id="email3" _read-only _value="test@mail.de" _label="E-Mail (Readonly)" />
29
+ </KolForm>
30
+ );
@@ -0,0 +1,9 @@
1
+ import { Routes } from '../../shares/types';
2
+
3
+ import { InputEmailBasic } from './basic';
4
+
5
+ export const INPUT_EMAIL_ROUTES: Routes = {
6
+ 'input-email': {
7
+ basic: InputEmailBasic,
8
+ },
9
+ };
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import { KolInputFile, KolForm } from '@public-ui/react';
3
+
4
+ import { FC } from 'react';
5
+
6
+ import { ERROR_MSG } from '../../shares/constants';
7
+
8
+ export const InputFileBasic: FC = () => (
9
+ <KolForm className="grid gap-4">
10
+ <KolInputFile
11
+ _id="file"
12
+ _name="file"
13
+ _required
14
+ _error={ERROR_MSG}
15
+ _label="Datei hochladen"
16
+ _icon={{
17
+ left: {
18
+ icon: 'codicon codicon-save',
19
+ },
20
+ }}
21
+ />
22
+ <KolInputFile _id="file" _multiple _error={ERROR_MSG} _label="Datei hochladen (Multiple)" />
23
+ <KolInputFile _disabled _id="file" _label="Datei hochladen (Disabled)" />
24
+ </KolForm>
25
+ );
@@ -0,0 +1,9 @@
1
+ import { Routes } from '../../shares/types';
2
+
3
+ import { InputFileBasic } from './basic';
4
+
5
+ export const INPUT_FILE_ROUTES: Routes = {
6
+ 'input-file': {
7
+ basic: InputFileBasic,
8
+ },
9
+ };
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import { KolForm, KolInputNumber } from '@public-ui/react';
3
+
4
+ import { FC } from 'react';
5
+
6
+ import { ERROR_MSG } from '../../shares/constants';
7
+
8
+ export const InputNumberBasic: FC = () => (
9
+ <KolForm className="grid gap-4">
10
+ <KolInputNumber
11
+ _id="number"
12
+ _name="number"
13
+ _required
14
+ _error={ERROR_MSG}
15
+ _placeholder="Mit Icons"
16
+ _label="Zahleneingabe"
17
+ _icon={{
18
+ left: {
19
+ icon: 'codicon codicon-arrow-left',
20
+ },
21
+ right: {
22
+ icon: 'codicon codicon-arrow-right',
23
+ },
24
+ }}
25
+ />
26
+ <KolInputNumber _id="number" _max={10} _min={-10} _step={2} _label="Zahleneingabe (-10 bis 10 in 2er Schritten)" />
27
+ <KolInputNumber _id="number" _read-only _label="Zahleneingabe (Readonly)" />
28
+ <KolInputNumber _disabled _id="number" _label="Zahleneingabe (Disabled)" />
29
+ </KolForm>
30
+ );
@@ -0,0 +1,9 @@
1
+ import { Routes } from '../../shares/types';
2
+
3
+ import { InputNumberBasic } from './basic';
4
+
5
+ export const INPUT_NUMBER_ROUTES: Routes = {
6
+ 'input-number': {
7
+ basic: InputNumberBasic,
8
+ },
9
+ };
@@ -0,0 +1,41 @@
1
+ import React from 'react';
2
+ import { KolForm, KolInputPassword } from '@public-ui/react';
3
+
4
+ import { FC } from 'react';
5
+
6
+ import { ERROR_MSG } from '../../shares/constants';
7
+
8
+ export const InputPasswordBasic: FC = () => (
9
+ <KolForm className="grid gap-4">
10
+ <KolInputPassword
11
+ _id="password"
12
+ _name="password"
13
+ _required
14
+ _error={ERROR_MSG}
15
+ _placeholder="Mit Icons"
16
+ _label="Passwort"
17
+ _icon={{
18
+ left: {
19
+ icon: 'codicon codicon-arrow-left',
20
+ },
21
+ right: {
22
+ icon: 'codicon codicon-arrow-right',
23
+ },
24
+ }}
25
+ _smartButton={{
26
+ _icon: {
27
+ left: {
28
+ icon: 'codicon codicon-eye',
29
+ },
30
+ },
31
+ _hideLabel: true,
32
+ _label: 'Passwort anzeigen',
33
+ _on: {
34
+ onClick: () => {},
35
+ },
36
+ }}
37
+ />
38
+ <KolInputPassword _disabled _id="password" _error={ERROR_MSG} _label="Passwort (Disabled)" />
39
+ <KolInputPassword _id="password" _read-only _label="Passwort (Readonly)" />
40
+ </KolForm>
41
+ );
@@ -0,0 +1,9 @@
1
+ import { Routes } from '../../shares/types';
2
+
3
+ import { InputPasswordBasic } from './basic';
4
+
5
+ export const INPUT_PASSWORD_ROUTES: Routes = {
6
+ 'input-password': {
7
+ basic: InputPasswordBasic,
8
+ },
9
+ };
@@ -0,0 +1,46 @@
1
+ import React from 'react';
2
+ import { KolForm, KolInputRadio } from '@public-ui/react';
3
+
4
+ import { FC } from 'react';
5
+
6
+ import { ERROR_MSG } from '../../shares/constants';
7
+
8
+ export const InputRadioBasic: FC = () => (
9
+ <KolForm className="grid gap-4">
10
+ <KolInputRadio
11
+ _id="anrede"
12
+ _error={ERROR_MSG}
13
+ _name="anrede"
14
+ _options="[{'label':'Frau','value':'Frau'},{'disabled':true,'label':'Herr (disabled)'},{'label':'Firma','value':'Firma'}]"
15
+ _label="Anrede"
16
+ />
17
+ <KolInputRadio
18
+ _id="anrede"
19
+ _required
20
+ _error={ERROR_MSG}
21
+ _name="anrede2"
22
+ _value="Firma"
23
+ _options="[{'label':'Frau','value':'Frau'},{'disabled':true,'label':'Herr (disabled)','value':'Herr'},{'label':'Firma','value':'Firma'}]"
24
+ _label="Anrede"
25
+ />
26
+ <KolInputRadio
27
+ _id="anrede"
28
+ _orientation="horizontal"
29
+ _required
30
+ _error={ERROR_MSG}
31
+ _name="anrede2"
32
+ _value="Firma"
33
+ _options="[{'label':'Frau','value':'Frau'},{'disabled':true,'label':'Herr (disabled)'},{'label':'Firma','value':'Firma'}]"
34
+ _label="Anrede (horizontal)"
35
+ />
36
+ <KolInputRadio
37
+ _id="anrede"
38
+ _disabled
39
+ _error={ERROR_MSG}
40
+ _name="anrede3"
41
+ _value="Firma"
42
+ _options="[{'label':'Frau','value':'Frau'},{'disabled':true,'label':'Herr (disabled)'},{'label':'Firma','value':'Firma'}]"
43
+ _label="Anrede"
44
+ />
45
+ </KolForm>
46
+ );
@@ -0,0 +1,42 @@
1
+ import React from 'react';
2
+ import { KolButton, KolDetails, KolInputCheckbox, KolInputRadio } from '@public-ui/react';
3
+ import { FC, useState } from 'react';
4
+ import { Orientation } from '@public-ui/components';
5
+
6
+ export const InputRadioHorizontal: FC = () => {
7
+ const [show, setShow] = useState(true);
8
+ const [orientation, setOrientation] = useState<Orientation>('horizontal');
9
+
10
+ const options = [
11
+ { label: 'Field 1', value: 1 },
12
+ { label: 'Field 2', value: 2 },
13
+ ];
14
+
15
+ const showClick = () => {
16
+ setShow((s) => !s);
17
+ };
18
+
19
+ const toggleOrientation = () => {
20
+ setOrientation((o) => (o === 'horizontal' ? 'vertical' : 'horizontal'));
21
+ };
22
+
23
+ return (
24
+ <div className="grid gap-4">
25
+ <KolDetails _label="Description" _open>
26
+ <p>
27
+ This sample simulates the <code>horizontal</code> and <code>vertical</code> orientation of the <code>kol-input-radio</code>, if we rerender the
28
+ component.
29
+ </p>
30
+ </KolDetails>
31
+ <div className="flex gap-4">
32
+ <KolButton _label="Click me a few times" _on={{ onClick: showClick }} />
33
+ <KolInputCheckbox _label="Switch orientation (horizontal/vertical)" _on={{ onChange: toggleOrientation }} _variant="switch" />
34
+ </div>
35
+ {show && (
36
+ <div className="container my-4 d-grid gap-4">
37
+ <KolInputRadio _label={`Test (${orientation})`} _options={options} _orientation={orientation} />
38
+ </div>
39
+ )}
40
+ </div>
41
+ );
42
+ };
@@ -0,0 +1,14 @@
1
+ import { Routes } from '../../shares/types';
2
+
3
+ import { InputRadioBasic } from './basic';
4
+ import { InputRadioHorizontal } from './horizontal';
5
+
6
+ import { InputRadioSelect } from './select';
7
+
8
+ export const INPUT_RADIO_ROUTES: Routes = {
9
+ 'input-radio': {
10
+ basic: InputRadioBasic,
11
+ horizontal: InputRadioHorizontal,
12
+ select: InputRadioSelect,
13
+ },
14
+ };
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { KolForm, KolInputRadio } from '@public-ui/react';
3
+
4
+ import { FC } from 'react';
5
+
6
+ import { ERROR_MSG } from '../../shares/constants';
7
+
8
+ const options = [
9
+ { label: 'Frau', value: 'Frau' },
10
+ { disabled: true, label: 'Herr (disabled)', value: 'Herr' },
11
+ { label: 'Firma', value: 'Firma' },
12
+ ];
13
+
14
+ export const InputRadioSelect: FC = () => (
15
+ <KolForm className="grid gap-4">
16
+ <KolInputRadio _id="anrede-radio" _error={ERROR_MSG} _name="anrede" _options={options} _label="Anrede" />
17
+ </KolForm>
18
+ );
@@ -0,0 +1,29 @@
1
+ import React from 'react';
2
+ import { KolForm, KolInputRange } from '@public-ui/react';
3
+
4
+ import { FC } from 'react';
5
+
6
+ import { ERROR_MSG } from '../../shares/constants';
7
+
8
+ export const InputRangeBasic: FC = () => (
9
+ <KolForm className="grid gap-4">
10
+ <KolInputRange
11
+ _id="range"
12
+ _min={0}
13
+ _max={50}
14
+ _name="range"
15
+ _error={ERROR_MSG}
16
+ _label="Schieberegler"
17
+ _icon={{
18
+ left: {
19
+ icon: 'codicon codicon-arrow-left',
20
+ },
21
+ right: {
22
+ icon: 'codicon codicon-arrow-right',
23
+ },
24
+ }}
25
+ />
26
+ <KolInputRange _id="range" _min={0} _max={50} _step={10} _error={ERROR_MSG} _label="Schieberegler" />
27
+ <KolInputRange _disabled _id="range" _min={0} _max={50} _label="Schieberegler" />
28
+ </KolForm>
29
+ );
@@ -0,0 +1,9 @@
1
+ import { Routes } from '../../shares/types';
2
+
3
+ import { InputRangeBasic } from './basic';
4
+
5
+ export const INPUT_RANGE_ROUTES: Routes = {
6
+ 'input-range': {
7
+ basic: InputRangeBasic,
8
+ },
9
+ };