@popsure/dirty-swan 0.31.2 → 0.33.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 (252) hide show
  1. package/dist/cjs/index.d.ts +2 -2
  2. package/dist/cjs/index.js +76 -16
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/lib/components/autocompleteAddress/index.d.ts +15 -14
  5. package/dist/cjs/lib/components/autocompleteAddress/index.stories.d.ts +66 -0
  6. package/dist/cjs/lib/components/downloadButton/index.d.ts +3 -3
  7. package/dist/cjs/lib/components/downloadButton/index.stories.d.ts +36 -0
  8. package/dist/cjs/lib/components/input/checkbox/index.d.ts +17 -0
  9. package/dist/cjs/lib/components/input/checkbox/index.stories.d.ts +64 -0
  10. package/dist/cjs/lib/components/markdown/index.d.ts +9 -8
  11. package/dist/cjs/lib/components/markdown/index.stories.d.ts +44 -0
  12. package/dist/cjs/lib/components/segmentedControl/index.stories.d.ts +1 -5
  13. package/dist/cjs/lib/components/signaturePad/index.d.ts +4 -4
  14. package/dist/cjs/lib/components/signaturePad/index.stories.d.ts +21 -0
  15. package/dist/cjs/lib/index.d.ts +7 -5
  16. package/dist/cjs/lib/util/images/index.d.ts +11 -0
  17. package/dist/cjs/lib/util/images/index.stories.d.ts +12 -0
  18. package/dist/index.css +4 -0
  19. package/dist/index.css.map +1 -1
  20. package/dist/lib/scss/private/components/_input.scss +4 -0
  21. package/package.json +1 -1
  22. package/src/App.tsx +1 -1
  23. package/src/global.d.ts +1 -0
  24. package/src/index.tsx +3 -1
  25. package/src/lib/components/autocompleteAddress/index.stories.tsx +147 -0
  26. package/src/lib/components/autocompleteAddress/index.test.tsx +2 -2
  27. package/src/lib/components/autocompleteAddress/index.tsx +11 -9
  28. package/src/lib/components/downloadButton/index.stories.tsx +58 -0
  29. package/src/lib/components/downloadButton/index.tsx +3 -3
  30. package/src/lib/components/input/checkbox/index.stories.tsx +214 -0
  31. package/src/lib/components/input/checkbox/index.test.tsx +110 -0
  32. package/src/lib/components/input/checkbox/index.tsx +129 -0
  33. package/src/lib/components/markdown/index.stories.tsx +69 -0
  34. package/src/lib/components/markdown/index.tsx +11 -9
  35. package/src/lib/components/segmentedControl/index.stories.tsx +1 -5
  36. package/src/lib/components/signaturePad/index.stories.tsx +35 -0
  37. package/src/lib/components/signaturePad/index.tsx +6 -6
  38. package/src/lib/index.tsx +8 -4
  39. package/src/lib/scss/private/components/_input.scss +4 -0
  40. package/src/lib/util/images/index.stories.tsx +27 -0
  41. package/src/lib/util/images/index.ts +12 -0
  42. package/dist/cjs/lib/components/autocompleteAddress/demo.d.ts +0 -4
  43. package/dist/esm/App.d.ts +0 -3
  44. package/dist/esm/_commonjsHelpers-e7f67fd8.js +0 -23
  45. package/dist/esm/_commonjsHelpers-e7f67fd8.js.map +0 -1
  46. package/dist/esm/components/autocompleteAddress/demo.js +0 -64
  47. package/dist/esm/components/autocompleteAddress/demo.js.map +0 -1
  48. package/dist/esm/components/autocompleteAddress/index.js +0 -2062
  49. package/dist/esm/components/autocompleteAddress/index.js.map +0 -1
  50. package/dist/esm/components/autocompleteAddress/index.test.js +0 -115
  51. package/dist/esm/components/autocompleteAddress/index.test.js.map +0 -1
  52. package/dist/esm/components/button/index.js +0 -26
  53. package/dist/esm/components/button/index.js.map +0 -1
  54. package/dist/esm/components/cards/cardButton/index.js +0 -6
  55. package/dist/esm/components/cards/cardButton/index.js.map +0 -1
  56. package/dist/esm/components/cards/cardWithLeftIcon/index.js +0 -7
  57. package/dist/esm/components/cards/cardWithLeftIcon/index.js.map +0 -1
  58. package/dist/esm/components/cards/cardWithTopIcon/index.js +0 -7
  59. package/dist/esm/components/cards/cardWithTopIcon/index.js.map +0 -1
  60. package/dist/esm/components/cards/cardWithTopLeftIcon/index.js +0 -7
  61. package/dist/esm/components/cards/cardWithTopLeftIcon/index.js.map +0 -1
  62. package/dist/esm/components/cards/index.js +0 -125
  63. package/dist/esm/components/cards/index.js.map +0 -1
  64. package/dist/esm/components/cards/infoCard/index.js +0 -7
  65. package/dist/esm/components/cards/infoCard/index.js.map +0 -1
  66. package/dist/esm/components/chip/index.js +0 -22
  67. package/dist/esm/components/chip/index.js.map +0 -1
  68. package/dist/esm/components/comparisonTable/components/AccordionItem/AccordionItem.js +0 -32
  69. package/dist/esm/components/comparisonTable/components/AccordionItem/AccordionItem.js.map +0 -1
  70. package/dist/esm/components/comparisonTable/components/AccordionItem/index.js +0 -8
  71. package/dist/esm/components/comparisonTable/components/AccordionItem/index.js.map +0 -1
  72. package/dist/esm/components/comparisonTable/components/Chevron.js +0 -10
  73. package/dist/esm/components/comparisonTable/components/Chevron.js.map +0 -1
  74. package/dist/esm/components/comparisonTable/components/Row/index.js +0 -36
  75. package/dist/esm/components/comparisonTable/components/Row/index.js.map +0 -1
  76. package/dist/esm/components/comparisonTable/components/TableArrows/Arrow.js +0 -10
  77. package/dist/esm/components/comparisonTable/components/TableArrows/Arrow.js.map +0 -1
  78. package/dist/esm/components/comparisonTable/components/TableArrows/index.js +0 -24
  79. package/dist/esm/components/comparisonTable/components/TableArrows/index.js.map +0 -1
  80. package/dist/esm/components/comparisonTable/components/TableButton/index.js +0 -15
  81. package/dist/esm/components/comparisonTable/components/TableButton/index.js.map +0 -1
  82. package/dist/esm/components/comparisonTable/components/TableButton/index.test.js +0 -37
  83. package/dist/esm/components/comparisonTable/components/TableButton/index.test.js.map +0 -1
  84. package/dist/esm/components/comparisonTable/components/TableInfoButton/index.js +0 -22
  85. package/dist/esm/components/comparisonTable/components/TableInfoButton/index.js.map +0 -1
  86. package/dist/esm/components/comparisonTable/components/TableRating/StarIcon.js +0 -10
  87. package/dist/esm/components/comparisonTable/components/TableRating/StarIcon.js.map +0 -1
  88. package/dist/esm/components/comparisonTable/components/TableRating/ZapIcon.js +0 -10
  89. package/dist/esm/components/comparisonTable/components/TableRating/ZapIcon.js.map +0 -1
  90. package/dist/esm/components/comparisonTable/components/TableRating/index.js +0 -27
  91. package/dist/esm/components/comparisonTable/components/TableRating/index.js.map +0 -1
  92. package/dist/esm/components/comparisonTable/components/TableRowHeader/index.js +0 -18
  93. package/dist/esm/components/comparisonTable/components/TableRowHeader/index.js.map +0 -1
  94. package/dist/esm/components/comparisonTable/components/TableRowHeader/index.test.js +0 -82
  95. package/dist/esm/components/comparisonTable/components/TableRowHeader/index.test.js.map +0 -1
  96. package/dist/esm/components/comparisonTable/components/TableTrueFalse.js +0 -13
  97. package/dist/esm/components/comparisonTable/components/TableTrueFalse.js.map +0 -1
  98. package/dist/esm/components/comparisonTable/index.js +0 -1683
  99. package/dist/esm/components/comparisonTable/index.js.map +0 -1
  100. package/dist/esm/components/dateSelector/index.js +0 -2180
  101. package/dist/esm/components/dateSelector/index.js.map +0 -1
  102. package/dist/esm/components/dateSelector/index.test.js +0 -65
  103. package/dist/esm/components/dateSelector/index.test.js.map +0 -1
  104. package/dist/esm/components/downloadButton/index.js +0 -36
  105. package/dist/esm/components/downloadButton/index.js.map +0 -1
  106. package/dist/esm/components/input/autoSuggestInput/index.js +0 -2157
  107. package/dist/esm/components/input/autoSuggestInput/index.js.map +0 -1
  108. package/dist/esm/components/input/autoSuggestMultiSelect/index.js +0 -41
  109. package/dist/esm/components/input/autoSuggestMultiSelect/index.js.map +0 -1
  110. package/dist/esm/components/input/currency/index.js +0 -63
  111. package/dist/esm/components/input/currency/index.js.map +0 -1
  112. package/dist/esm/components/input/currency/index.test.js +0 -209
  113. package/dist/esm/components/input/currency/index.test.js.map +0 -1
  114. package/dist/esm/components/input/iban/index.js +0 -33
  115. package/dist/esm/components/input/iban/index.js.map +0 -1
  116. package/dist/esm/components/input/index.js +0 -29
  117. package/dist/esm/components/input/index.js.map +0 -1
  118. package/dist/esm/components/markdown/index.js +0 -22178
  119. package/dist/esm/components/markdown/index.js.map +0 -1
  120. package/dist/esm/components/modal/bottomModal/index.js +0 -35
  121. package/dist/esm/components/modal/bottomModal/index.js.map +0 -1
  122. package/dist/esm/components/modal/bottomOrRegularModal/index.js +0 -36
  123. package/dist/esm/components/modal/bottomOrRegularModal/index.js.map +0 -1
  124. package/dist/esm/components/modal/regularModal/index.js +0 -28
  125. package/dist/esm/components/modal/regularModal/index.js.map +0 -1
  126. package/dist/esm/components/multiDropzone/UploadFileCell/index.js +0 -6
  127. package/dist/esm/components/multiDropzone/UploadFileCell/index.js.map +0 -1
  128. package/dist/esm/components/multiDropzone/index.js +0 -2862
  129. package/dist/esm/components/multiDropzone/index.js.map +0 -1
  130. package/dist/esm/components/multiDropzone/index.test.js +0 -201
  131. package/dist/esm/components/multiDropzone/index.test.js.map +0 -1
  132. package/dist/esm/components/segmentedControl/index.js +0 -42
  133. package/dist/esm/components/segmentedControl/index.js.map +0 -1
  134. package/dist/esm/components/segmentedControl/index.stories.js +0 -66
  135. package/dist/esm/components/segmentedControl/index.stories.js.map +0 -1
  136. package/dist/esm/components/segmentedControl/index.test.js +0 -63
  137. package/dist/esm/components/segmentedControl/index.test.js.map +0 -1
  138. package/dist/esm/components/signaturePad/index.js +0 -560
  139. package/dist/esm/components/signaturePad/index.js.map +0 -1
  140. package/dist/esm/customRender-4157fcff.js +0 -24102
  141. package/dist/esm/customRender-4157fcff.js.map +0 -1
  142. package/dist/esm/extend-expect-46bdce4a.js +0 -7406
  143. package/dist/esm/extend-expect-46bdce4a.js.map +0 -1
  144. package/dist/esm/index-1463d5e9.js +0 -382
  145. package/dist/esm/index-1463d5e9.js.map +0 -1
  146. package/dist/esm/index-171a0108.js +0 -997
  147. package/dist/esm/index-171a0108.js.map +0 -1
  148. package/dist/esm/index-21239ab0.js +0 -237
  149. package/dist/esm/index-21239ab0.js.map +0 -1
  150. package/dist/esm/index-47663d39.js +0 -48
  151. package/dist/esm/index-47663d39.js.map +0 -1
  152. package/dist/esm/index-6ced5532.js +0 -69
  153. package/dist/esm/index-6ced5532.js.map +0 -1
  154. package/dist/esm/index-dd80248b.js +0 -91
  155. package/dist/esm/index-dd80248b.js.map +0 -1
  156. package/dist/esm/index-e9e37a34.js +0 -62
  157. package/dist/esm/index-e9e37a34.js.map +0 -1
  158. package/dist/esm/index-fb46adf9.js +0 -12
  159. package/dist/esm/index-fb46adf9.js.map +0 -1
  160. package/dist/esm/index.d.ts +0 -2
  161. package/dist/esm/index.js +0 -48
  162. package/dist/esm/index.js.map +0 -1
  163. package/dist/esm/lib/components/autocompleteAddress/demo.d.ts +0 -4
  164. package/dist/esm/lib/components/autocompleteAddress/index.d.ts +0 -19
  165. package/dist/esm/lib/components/autocompleteAddress/mapStyle.d.ts +0 -2
  166. package/dist/esm/lib/components/autocompleteAddress/util/index.d.ts +0 -4
  167. package/dist/esm/lib/components/button/icons/index.d.ts +0 -9
  168. package/dist/esm/lib/components/button/index.d.ts +0 -13
  169. package/dist/esm/lib/components/cards/cardButton/index.d.ts +0 -16
  170. package/dist/esm/lib/components/cards/cardWithLeftIcon/index.d.ts +0 -14
  171. package/dist/esm/lib/components/cards/cardWithTopIcon/index.d.ts +0 -15
  172. package/dist/esm/lib/components/cards/cardWithTopLeftIcon/index.d.ts +0 -14
  173. package/dist/esm/lib/components/cards/icons/index.d.ts +0 -13
  174. package/dist/esm/lib/components/cards/index.d.ts +0 -16
  175. package/dist/esm/lib/components/cards/infoCard/index.d.ts +0 -13
  176. package/dist/esm/lib/components/chip/index.d.ts +0 -6
  177. package/dist/esm/lib/components/comparisonTable/components/AccordionItem/AccordionItem.d.ts +0 -9
  178. package/dist/esm/lib/components/comparisonTable/components/AccordionItem/index.d.ts +0 -1
  179. package/dist/esm/lib/components/comparisonTable/components/Chevron.d.ts +0 -4
  180. package/dist/esm/lib/components/comparisonTable/components/Row/index.d.ts +0 -11
  181. package/dist/esm/lib/components/comparisonTable/components/TableArrows/Arrow.d.ts +0 -4
  182. package/dist/esm/lib/components/comparisonTable/components/TableArrows/index.d.ts +0 -10
  183. package/dist/esm/lib/components/comparisonTable/components/TableButton/index.d.ts +0 -8
  184. package/dist/esm/lib/components/comparisonTable/components/TableButton/index.test.d.ts +0 -1
  185. package/dist/esm/lib/components/comparisonTable/components/TableInfoButton/index.d.ts +0 -5
  186. package/dist/esm/lib/components/comparisonTable/components/TableRating/StarIcon.d.ts +0 -4
  187. package/dist/esm/lib/components/comparisonTable/components/TableRating/ZapIcon.d.ts +0 -4
  188. package/dist/esm/lib/components/comparisonTable/components/TableRating/index.d.ts +0 -7
  189. package/dist/esm/lib/components/comparisonTable/components/TableRowHeader/index.d.ts +0 -9
  190. package/dist/esm/lib/components/comparisonTable/components/TableRowHeader/index.test.d.ts +0 -1
  191. package/dist/esm/lib/components/comparisonTable/components/TableTrueFalse.d.ts +0 -5
  192. package/dist/esm/lib/components/comparisonTable/hooks/useComparisonTable.d.ts +0 -14
  193. package/dist/esm/lib/components/comparisonTable/index.d.ts +0 -52
  194. package/dist/esm/lib/components/dateSelector/index.d.ts +0 -23
  195. package/dist/esm/lib/components/dateSelector/index.test.d.ts +0 -1
  196. package/dist/esm/lib/components/downloadButton/index.d.ts +0 -10
  197. package/dist/esm/lib/components/input/autoSuggestInput/index.d.ts +0 -15
  198. package/dist/esm/lib/components/input/autoSuggestMultiSelect/index.d.ts +0 -11
  199. package/dist/esm/lib/components/input/currency/format/index.d.ts +0 -2
  200. package/dist/esm/lib/components/input/currency/index.d.ts +0 -7
  201. package/dist/esm/lib/components/input/currency/index.test.d.ts +0 -1
  202. package/dist/esm/lib/components/input/iban/formatIban/index.d.ts +0 -1
  203. package/dist/esm/lib/components/input/iban/index.d.ts +0 -6
  204. package/dist/esm/lib/components/input/index.d.ts +0 -16
  205. package/dist/esm/lib/components/markdown/index.d.ts +0 -9
  206. package/dist/esm/lib/components/modal/bottomModal/index.d.ts +0 -3
  207. package/dist/esm/lib/components/modal/bottomOrRegularModal/index.d.ts +0 -3
  208. package/dist/esm/lib/components/modal/hooks/useOnClose.d.ts +0 -9
  209. package/dist/esm/lib/components/modal/index.d.ts +0 -13
  210. package/dist/esm/lib/components/modal/regularModal/index.d.ts +0 -3
  211. package/dist/esm/lib/components/multiDropzone/UploadFileCell/index.d.ts +0 -10
  212. package/dist/esm/lib/components/multiDropzone/icons/index.d.ts +0 -11
  213. package/dist/esm/lib/components/multiDropzone/index.d.ts +0 -15
  214. package/dist/esm/lib/components/multiDropzone/index.test.d.ts +0 -1
  215. package/dist/esm/lib/components/multiDropzone/types.d.ts +0 -42
  216. package/dist/esm/lib/components/multiDropzone/utils/index.d.ts +0 -11
  217. package/dist/esm/lib/components/segmentedControl/index.d.ts +0 -12
  218. package/dist/esm/lib/components/segmentedControl/index.stories.d.ts +0 -41
  219. package/dist/esm/lib/components/segmentedControl/index.test.d.ts +0 -1
  220. package/dist/esm/lib/components/signaturePad/index.d.ts +0 -19
  221. package/dist/esm/lib/hooks/useOnClickOutside.d.ts +0 -2
  222. package/dist/esm/lib/index.d.ts +0 -20
  223. package/dist/esm/lib/models/autoSuggestInput/index.d.ts +0 -4
  224. package/dist/esm/lib/models/download.d.ts +0 -1
  225. package/dist/esm/lib/scss/private/base/demo.d.ts +0 -5
  226. package/dist/esm/lib/scss/public/demo.d.ts +0 -2
  227. package/dist/esm/lib/util/calendarDate/index.d.ts +0 -3
  228. package/dist/esm/lib/util/formatBytes/index.d.ts +0 -1
  229. package/dist/esm/lib/util/generateId/index.d.ts +0 -2
  230. package/dist/esm/lib/util/testUtils/customRender.d.ts +0 -7
  231. package/dist/esm/lib/util/testUtils/index.d.ts +0 -2
  232. package/dist/esm/lib/util/zeroFill.d.ts +0 -1
  233. package/dist/esm/mapStyle-1288a869.js +0 -187
  234. package/dist/esm/mapStyle-1288a869.js.map +0 -1
  235. package/dist/esm/scss/private/base/demo.js +0 -80
  236. package/dist/esm/scss/private/base/demo.js.map +0 -1
  237. package/dist/esm/scss/public/demo.js +0 -290
  238. package/dist/esm/scss/public/demo.js.map +0 -1
  239. package/dist/esm/style-inject.es-1f59c1d0.js +0 -29
  240. package/dist/esm/style-inject.es-1f59c1d0.js.map +0 -1
  241. package/dist/esm/tslib.es6-5bc94358.js +0 -104
  242. package/dist/esm/tslib.es6-5bc94358.js.map +0 -1
  243. package/dist/esm/useOnClose-d818a54f.js +0 -46
  244. package/dist/esm/useOnClose-d818a54f.js.map +0 -1
  245. package/dist/esm/util/testUtils/customRender.js +0 -7
  246. package/dist/esm/util/testUtils/customRender.js.map +0 -1
  247. package/src/lib/components/autocompleteAddress/demo.tsx +0 -88
  248. package/src/lib/components/autocompleteAddress/index.stories.mdx +0 -53
  249. package/src/lib/components/downloadButton/index.stories.mdx +0 -59
  250. package/src/lib/components/markdown/index.stories.mdx +0 -22
  251. package/src/lib/components/signaturePad/index.stories.mdx +0 -17
  252. /package/dist/{esm/lib/components/autocompleteAddress → cjs/lib/components/input/checkbox}/index.test.d.ts +0 -0
@@ -0,0 +1,129 @@
1
+ import classNames from "classnames";
2
+ import { ReactNode } from "react";
3
+
4
+ export interface CheckboxWithDescription {
5
+ title: string;
6
+ description?: string;
7
+ icon?: (selected: boolean) => ReactNode;
8
+ }
9
+
10
+ export interface CheckboxProps<ValueType extends string> {
11
+ options: Record<ValueType, string | CheckboxWithDescription>;
12
+ value?: ValueType[];
13
+ onChange: (value: ValueType[]) => void;
14
+ wide?: boolean;
15
+ inlineLayout?: boolean;
16
+ className?: string;
17
+ labelClassName?: string;
18
+ optionClassName?: string
19
+ }
20
+
21
+ export const Checkbox = <ValueType extends string>({
22
+ options,
23
+ value = [],
24
+ onChange,
25
+ wide = false,
26
+ inlineLayout = false,
27
+ className = '',
28
+ labelClassName = '',
29
+ optionClassName = '',
30
+ }: CheckboxProps<ValueType> & { }) => {
31
+ const hasNoneValue = Object.keys(options).includes('NONE');
32
+
33
+ const handleOnChange = (newValue: ValueType) => {
34
+ if (value?.includes(newValue)) {
35
+ const filteredCheckboxValues = value.filter(
36
+ (selectedValue) => selectedValue !== newValue
37
+ );
38
+
39
+ onChange(filteredCheckboxValues);
40
+ return;
41
+ }
42
+
43
+ if (hasNoneValue && newValue === 'NONE') {
44
+ onChange([newValue]);
45
+ return;
46
+ }
47
+
48
+ if (hasNoneValue && newValue !== 'NONE') {
49
+ const newValues = value
50
+ ? [...value.filter((v) => v !== 'NONE'), newValue]
51
+ : [newValue];
52
+ onChange(newValues);
53
+ return;
54
+ }
55
+
56
+ const newValues = value
57
+ ? [...value, newValue]
58
+ : [newValue];
59
+ onChange(newValues);
60
+ };
61
+
62
+
63
+ const entries = Object.entries(options) as [
64
+ ValueType,
65
+ string | CheckboxWithDescription
66
+ ][];
67
+
68
+ return (
69
+ <div
70
+ className={classNames(className, 'd-flex gap8', {
71
+ ws10: wide,
72
+ ws6: !wide,
73
+ 'fd-row': inlineLayout,
74
+ 'f-wrap': inlineLayout,
75
+ 'fd-column': !inlineLayout,
76
+ })}
77
+ >
78
+ {entries.map(([currentValue, label]) => {
79
+ const checked = value?.includes(currentValue);
80
+ const customIcon = (label as CheckboxWithDescription)?.icon;
81
+
82
+ return (
83
+ <div className={optionClassName} key={currentValue}>
84
+ <input
85
+ className={classNames(
86
+ "p-checkbox", {
87
+ 'p-checkbox--no-icon': customIcon
88
+ }
89
+ )}
90
+ id={currentValue}
91
+ type="checkbox"
92
+ value={currentValue}
93
+ onChange={() => handleOnChange(currentValue)}
94
+ checked={checked}
95
+ data-testid={`checkbox-input-${currentValue}`}
96
+ />
97
+
98
+ <label
99
+ htmlFor={currentValue}
100
+ className={classNames(
101
+ labelClassName,
102
+ 'p-label p-label--bordered pr16',
103
+ {
104
+ 'jc-center': customIcon,
105
+ 'fd-column': customIcon
106
+ }
107
+ )}
108
+ data-cy={`checkbox-${currentValue}`}
109
+ data-testid={`checkbox-${currentValue}`}
110
+ >
111
+ {customIcon && (
112
+ <div className="mt8">{customIcon?.(checked)}</div>
113
+ )}
114
+
115
+ {typeof label === 'string' ? label : (
116
+ <div>
117
+ <p className="p-p">{label.title}</p>
118
+ <span className="d-block p-p p-p--small tc-grey-600">
119
+ {label.description}
120
+ </span>
121
+ </div>
122
+ )}
123
+ </label>
124
+ </div>
125
+ );
126
+ })}
127
+ </div>
128
+ );
129
+ };
@@ -0,0 +1,69 @@
1
+ import { Markdown, MarkdownProps } from '.';
2
+ import example from './example.md';
3
+
4
+ const story = {
5
+ title: 'JSX/Markdown',
6
+ component: Markdown,
7
+ argTypes: {
8
+ children: {
9
+ description: 'MD content to be rendered in the component.',
10
+ },
11
+ className: {
12
+ defaultValue: '',
13
+ description: 'This property allows to add custom styles to the component.',
14
+ },
15
+ customMDComponents: {
16
+ defaultValue: {},
17
+ description: 'An object that allows creating custom MD components by passing the key to wrap it in, and the logic to render, as a function that returns an HTMLElement.',
18
+ table: {
19
+ type: {
20
+ summary: 'Record<componentKey, (props: HTMLElmentAttributes) => HTMLElement>'
21
+ }
22
+ }
23
+ },
24
+ paragraphClassName: {
25
+ defaultValue: '',
26
+ description: 'This property allows to add custom styles to the paragraph (`<p>`) component rendered inside Markdown component.',
27
+ },
28
+ openLinksInNewTab: {
29
+ defaultValue: false,
30
+ description: 'Wether link components rendered inside Markdown should open in a new tab (`target="_blank"`).',
31
+ }
32
+ },
33
+ args: {
34
+ children: '## Title \n This is **our content**.'
35
+ },
36
+ parameters: {
37
+ componentSubtitle: (
38
+ <>
39
+ Display markdown text based on <a href="https://github.com/remarkjs/react-markdown" target='_blank' rel="noreferrer">react-markdown</a> with custom styling.
40
+ </>
41
+ ),
42
+ },
43
+ };
44
+
45
+ export const MarkdownStory = ({ children, className }: MarkdownProps) => (
46
+ <Markdown className={className}>
47
+ {children}
48
+ </Markdown>
49
+ );
50
+
51
+ MarkdownStory.storyName = "Markdown";
52
+
53
+ export const AvailableMDComponents = ({ className }: MarkdownProps) => (
54
+ <Markdown className={className}>
55
+ {example}
56
+ </Markdown>
57
+ );
58
+
59
+ export const AddingCustomComponents = ({ className }: MarkdownProps) => (
60
+ <Markdown customMDComponents={{
61
+ h6: (props: any) => (
62
+ <h6 className='tc-red-500'>{props.children}</h6>
63
+ )
64
+ }}>
65
+ ###### This is a custom H6 that will always be red
66
+ </Markdown>
67
+ );
68
+
69
+ export default story;
@@ -1,5 +1,5 @@
1
1
  import { h } from 'hastscript/html.js';
2
- import React, { FunctionComponent } from 'react';
2
+ import { FunctionComponent } from 'react';
3
3
  import ReactMarkdown from 'react-markdown';
4
4
  import remarkDirective from 'remark-directive';
5
5
  import visit from 'unist-util-visit';
@@ -101,19 +101,21 @@ const Code = (props: any) => {
101
101
  );
102
102
  };
103
103
 
104
+ export interface MarkdownProps {
105
+ children: string;
106
+ customMDComponents?: Record<string, FunctionComponent<any>>;
107
+ className?: string;
108
+ openLinksInNewTab?: boolean;
109
+ paragraphClassName?: string;
110
+ }
111
+
104
112
  const Markdown = ({
105
113
  children,
106
114
  customMDComponents,
107
115
  className = '',
108
116
  openLinksInNewTab = false,
109
117
  paragraphClassName = '',
110
- }: {
111
- children: string;
112
- customMDComponents?: Record<string, FunctionComponent<any>>;
113
- className?: string;
114
- openLinksInNewTab?: boolean;
115
- paragraphClassName?: string;
116
- }) => (
118
+ }: MarkdownProps) => (
117
119
  <ReactMarkdown
118
120
  children={children}
119
121
  className={className}
@@ -136,4 +138,4 @@ const Markdown = ({
136
138
  />
137
139
  );
138
140
 
139
- export default Markdown;
141
+ export { Markdown};
@@ -28,11 +28,7 @@ const story = {
28
28
  selectedIndex: 0,
29
29
  },
30
30
  parameters: {
31
- docs: {
32
- description: {
33
- component: 'A segmented control is a linear set of two or more segments, each of which functions as a mutually exclusive button.',
34
- },
35
- },
31
+ componentSubtitle: 'A segmented control is a linear set of two or more segments, each of which functions as a mutually exclusive button.',
36
32
  },
37
33
  };
38
34
 
@@ -0,0 +1,35 @@
1
+ import { SignaturePad, SignaturePadProps } from '.';
2
+
3
+ const story = {
4
+ title: 'JSX/SignaturePad',
5
+ component: SignaturePad,
6
+ argTypes: {
7
+ onChange: {
8
+ action: true,
9
+ table: {
10
+ category: "Callbacks",
11
+ },
12
+ },
13
+ },
14
+ parameters: {
15
+ componentSubtitle: 'Signature pad are user interface elements which allow user sign any legal document.',
16
+ },
17
+ };
18
+
19
+ export const SignaturePadStory = ({
20
+ onChange,
21
+ }: SignaturePadProps) => {
22
+ const handleOnChange = (newIndex: string) => {
23
+ onChange?.(newIndex);
24
+ };
25
+
26
+ return (
27
+ <SignaturePad
28
+ onChange={handleOnChange}
29
+ />
30
+ );
31
+ };
32
+
33
+ SignaturePadStory.storyName = "SignaturePad";
34
+
35
+ export default story;
@@ -1,13 +1,13 @@
1
1
  import React, { Component } from 'react';
2
2
 
3
- import SignaturePad from 'signature_pad';
3
+ import Signature from 'signature_pad';
4
4
 
5
5
  import styles from './style.module.scss';
6
6
 
7
7
  import sign from './img/sign.svg';
8
8
  import reset from './img/reset.svg';
9
9
 
10
- interface Props {
10
+ export interface SignaturePadProps {
11
11
  onChange: (base64signature: string) => void;
12
12
  }
13
13
 
@@ -15,12 +15,12 @@ interface State {
15
15
  hasContent: boolean;
16
16
  }
17
17
 
18
- class Signature extends Component<Props, State> {
18
+ class SignaturePad extends Component<SignaturePadProps, State> {
19
19
  private canvasRef: React.RefObject<HTMLCanvasElement>;
20
20
  private canvas: any;
21
21
  private signaturePad: any;
22
22
 
23
- constructor(props: Props) {
23
+ constructor(props: SignaturePadProps) {
24
24
  super(props);
25
25
  this.state = {
26
26
  hasContent: false,
@@ -33,7 +33,7 @@ class Signature extends Component<Props, State> {
33
33
 
34
34
  public componentDidMount() {
35
35
  this.canvas = this.canvasRef.current;
36
- this.signaturePad = new SignaturePad(this.canvas, {
36
+ this.signaturePad = new Signature(this.canvas, {
37
37
  onEnd: this.notifyOnChange,
38
38
  });
39
39
  this.resizeCanvas();
@@ -93,4 +93,4 @@ class Signature extends Component<Props, State> {
93
93
  }
94
94
  }
95
95
 
96
- export default Signature;
96
+ export { SignaturePad };
package/src/lib/index.tsx CHANGED
@@ -1,6 +1,6 @@
1
1
  import DateSelector from './components/dateSelector';
2
- import SignaturePad from './components/signaturePad';
3
- import AutocompleteAddress from './components/autocompleteAddress';
2
+ import { SignaturePad } from './components/signaturePad';
3
+ import { AutocompleteAddress } from './components/autocompleteAddress';
4
4
  import Input from './components/input';
5
5
  import MultiDropzone, {
6
6
  FileType,
@@ -8,9 +8,10 @@ import MultiDropzone, {
8
8
  UploadedFile,
9
9
  UploadStatus
10
10
  } from './components/multiDropzone';
11
- import DownloadButton from './components/downloadButton';
11
+ import { DownloadButton } from './components/downloadButton';
12
12
  import IbanInput from './components/input/iban';
13
13
  import CurrencyInput from './components/input/currency';
14
+ import { Checkbox } from './components/input/checkbox';
14
15
  import {
15
16
  BottomModal,
16
17
  RegularModal,
@@ -37,7 +38,8 @@ import {
37
38
  TableHeader,
38
39
  } from './components/comparisonTable';
39
40
  import { SegmentedControl } from './components/segmentedControl';
40
- import Markdown from './components/markdown';
41
+ import { Markdown } from './components/markdown';
42
+ import { images } from './util/images';
41
43
 
42
44
  export {
43
45
  DateSelector,
@@ -68,6 +70,8 @@ export {
68
70
  TableInfoButton,
69
71
  SegmentedControl,
70
72
  Markdown,
73
+ Checkbox,
74
+ images,
71
75
  };
72
76
 
73
77
  export type {
@@ -145,6 +145,10 @@
145
145
  }
146
146
  }
147
147
 
148
+ .p-checkbox--no-icon + label::before {
149
+ display: none!important;
150
+ }
151
+
148
152
  .p-label {
149
153
  cursor: pointer;
150
154
 
@@ -0,0 +1,27 @@
1
+ import { images } from "../../util/images";
2
+
3
+ const story = {
4
+ title: 'Utils/Images',
5
+ parameters: {
6
+ docs: {
7
+ description: {
8
+ component: 'Use the `images` object export to access our list of available images.',
9
+ },
10
+ },
11
+ }
12
+ };
13
+
14
+
15
+ export const Images = () => (
16
+ <div className='d-flex gap8 f-wrap'>
17
+ {Object.entries(images).map(([key, value]) => (
18
+ <div key={key} className="ws3 d-flex fd-column ai-center br4 p24 pt16 pb16 bg-grey-100">
19
+ <span className='p-p--small mb8'>{key}</span>
20
+
21
+ <img alt={key} src={value} />
22
+ </div>
23
+ ))}
24
+ </div>
25
+ );
26
+
27
+ export default story;
@@ -0,0 +1,12 @@
1
+ const images = {
2
+ aid: 'https://assets.cdn.feather-insurance.com/assets/images/aid.svg',
3
+ bed: 'https://assets.cdn.feather-insurance.com/assets/images/bed.svg',
4
+ bigDog: 'https://assets.cdn.feather-insurance.com/assets/images/bigDog.svg',
5
+ brokenAquarium: 'https://assets.cdn.feather-insurance.com/assets/images/brokenAquarium.svg',
6
+ brokenGlass: 'https://assets.cdn.feather-insurance.com/assets/images/brokenGlass.svg',
7
+ damagedLaptop: 'https://assets.cdn.feather-insurance.com/assets/images/damagedLaptop.svg',
8
+ moneyIncome: 'https://assets.cdn.feather-insurance.com/assets/images/moneyIncome.svg',
9
+ washingMachine: 'https://assets.cdn.feather-insurance.com/assets/images/washingMachine.svg',
10
+ } as const;
11
+
12
+ export { images };
@@ -1,4 +0,0 @@
1
- export declare const WithoutAddress: () => JSX.Element;
2
- export declare const WithAddress: () => JSX.Element;
3
- export declare const WithoutAddressLocalized: () => JSX.Element;
4
- export declare const WithAddressLocalized: () => JSX.Element;
package/dist/esm/App.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import './lib/scss/index.scss';
2
- declare function App(): JSX.Element;
3
- export default App;
@@ -1,23 +0,0 @@
1
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
2
-
3
- function getDefaultExportFromCjs (x) {
4
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
5
- }
6
-
7
- function getAugmentedNamespace(n) {
8
- if (n.__esModule) return n;
9
- var a = Object.defineProperty({}, '__esModule', {value: true});
10
- Object.keys(n).forEach(function (k) {
11
- var d = Object.getOwnPropertyDescriptor(n, k);
12
- Object.defineProperty(a, k, d.get ? d : {
13
- enumerable: true,
14
- get: function () {
15
- return n[k];
16
- }
17
- });
18
- });
19
- return a;
20
- }
21
-
22
- export { getDefaultExportFromCjs as a, commonjsGlobal as c, getAugmentedNamespace as g };
23
- //# sourceMappingURL=_commonjsHelpers-e7f67fd8.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_commonjsHelpers-e7f67fd8.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,64 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { useState } from 'react';
3
- import AutoCompleteAddress from './index.js';
4
- import '../../tslib.es6-5bc94358.js';
5
- import '../../index-e9e37a34.js';
6
- import '../../index-1463d5e9.js';
7
- import '../../_commonjsHelpers-e7f67fd8.js';
8
- import '../input/index.js';
9
- import '../../index-fb46adf9.js';
10
- import '../../style-inject.es-1f59c1d0.js';
11
-
12
- var WithoutAddress = function () {
13
- var _a = useState(undefined), address = _a[0], setAddress = _a[1];
14
- return (jsx(AutoCompleteAddress, { onAddressChange: function (address) {
15
- setAddress(address);
16
- }, address: address, apiKey: "AIzaSyDg0DSrjYKt5smmsjkVasDz7c4T5rbOXT8" }, void 0));
17
- };
18
- var WithAddress = function () {
19
- var _a = useState({
20
- street: 'Lohmuehlenstraße',
21
- houseNumber: '65',
22
- city: 'Berlin',
23
- country: 'DE',
24
- additionalInformation: 'c/o Factory',
25
- }), address = _a[0], setAddress = _a[1];
26
- return (jsx(AutoCompleteAddress, { onAddressChange: function (address) {
27
- setAddress(address);
28
- }, address: address, apiKey: "AIzaSyDg0DSrjYKt5smmsjkVasDz7c4T5rbOXT8" }, void 0));
29
- };
30
- var WithoutAddressLocalized = function () {
31
- var _a = useState(), address = _a[0], setAddress = _a[1];
32
- return (jsx(AutoCompleteAddress, { onAddressChange: function (address) {
33
- setAddress(address);
34
- }, address: address, apiKey: "AIzaSyDg0DSrjYKt5smmsjkVasDz7c4T5rbOXT8", placeholders: {
35
- manualAddressEntry: 'Adresse suchen',
36
- street: 'Straße',
37
- houseNumber: 'Hausnummer',
38
- additionalInformation: 'Adresszusatz (c/o, z. Hd., o.V.i.A, ...)',
39
- postcode: 'PLZ',
40
- city: 'Stadt',
41
- }, manualAddressEntryTexts: {
42
- preText: 'Oder ',
43
- cta: 'Adresse direkt eingeben',
44
- } }, void 0));
45
- };
46
- var WithAddressLocalized = function () {
47
- var _a = useState({}), address = _a[0], setAddress = _a[1];
48
- return (jsx(AutoCompleteAddress, { onAddressChange: function (address) {
49
- setAddress(address);
50
- }, address: address, apiKey: "AIzaSyDg0DSrjYKt5smmsjkVasDz7c4T5rbOXT8", placeholders: {
51
- manualAddressEntry: 'Adresse suchen',
52
- street: 'Straße',
53
- houseNumber: 'Hausnummer',
54
- additionalInformation: 'Adresszusatz (c/o, z.Hd., o.V.i.A, ...)',
55
- postcode: 'PLZ',
56
- city: 'Stadt',
57
- }, manualAddressEntryTexts: {
58
- preText: 'Oder ',
59
- cta: 'Adresse direkt eingeben',
60
- } }, void 0));
61
- };
62
-
63
- export { WithAddress, WithAddressLocalized, WithoutAddress, WithoutAddressLocalized };
64
- //# sourceMappingURL=demo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"demo.js","sources":["../../../../../src/lib/components/autocompleteAddress/demo.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Address } from '@popsure/public-models';\n\nimport AutoCompleteAddress from '.';\n\nexport const WithoutAddress = () => {\n const [address, setAddress] = useState<Partial<Address> | undefined>(\n undefined\n );\n return (\n <AutoCompleteAddress\n onAddressChange={(address) => {\n setAddress(address);\n }}\n address={address}\n apiKey=\"AIzaSyDg0DSrjYKt5smmsjkVasDz7c4T5rbOXT8\"\n />\n );\n};\n\nexport const WithAddress = () => {\n const [address, setAddress] = useState<Partial<Address> | undefined>({\n street: 'Lohmuehlenstraße',\n houseNumber: '65',\n city: 'Berlin',\n country: 'DE',\n additionalInformation: 'c/o Factory',\n });\n return (\n <AutoCompleteAddress\n onAddressChange={(address) => {\n setAddress(address);\n }}\n address={address}\n apiKey=\"AIzaSyDg0DSrjYKt5smmsjkVasDz7c4T5rbOXT8\"\n />\n );\n};\n\nexport const WithoutAddressLocalized = () => {\n const [address, setAddress] = useState<Partial<Address> | undefined>();\n return (\n <AutoCompleteAddress\n onAddressChange={(address) => {\n setAddress(address);\n }}\n address={address}\n apiKey=\"AIzaSyDg0DSrjYKt5smmsjkVasDz7c4T5rbOXT8\"\n placeholders={{\n manualAddressEntry: 'Adresse suchen',\n street: 'Straße',\n houseNumber: 'Hausnummer',\n additionalInformation: 'Adresszusatz (c/o, z. Hd., o.V.i.A, ...)',\n postcode: 'PLZ',\n city: 'Stadt',\n }}\n manualAddressEntryTexts={{\n preText: 'Oder ',\n cta: 'Adresse direkt eingeben',\n }}\n />\n );\n};\n\nexport const WithAddressLocalized = () => {\n const [address, setAddress] = useState<Partial<Address> | undefined>({});\n return (\n <AutoCompleteAddress\n onAddressChange={(address) => {\n setAddress(address);\n }}\n address={address}\n apiKey=\"AIzaSyDg0DSrjYKt5smmsjkVasDz7c4T5rbOXT8\"\n placeholders={{\n manualAddressEntry: 'Adresse suchen',\n street: 'Straße',\n houseNumber: 'Hausnummer',\n additionalInformation: 'Adresszusatz (c/o, z.Hd., o.V.i.A, ...)',\n postcode: 'PLZ',\n city: 'Stadt',\n }}\n manualAddressEntryTexts={{\n preText: 'Oder ',\n cta: 'Adresse direkt eingeben',\n }}\n />\n );\n};\n"],"names":["_jsx"],"mappings":";;;;;;;;;;;IAKa,cAAc,GAAG;IACtB,IAAA,KAAwB,QAAQ,CACpC,SAAS,CACV,EAFM,OAAO,QAAA,EAAE,UAAU,QAEzB,CAAC;IACF,QACEA,IAAC,mBAAmB,IAClB,eAAe,EAAE,UAAC,OAAO;YACvB,UAAU,CAAC,OAAO,CAAC,CAAC;SACrB,EACD,OAAO,EAAE,OAAO,EAChB,MAAM,EAAC,yCAAyC,WAChD,EACF;AACJ,EAAE;IAEW,WAAW,GAAG;IACnB,IAAA,KAAwB,QAAQ,CAA+B;QACnE,MAAM,EAAE,kBAAkB;QAC1B,WAAW,EAAE,IAAI;QACjB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;QACb,qBAAqB,EAAE,aAAa;KACrC,CAAC,EANK,OAAO,QAAA,EAAE,UAAU,QAMxB,CAAC;IACH,QACEA,IAAC,mBAAmB,IAClB,eAAe,EAAE,UAAC,OAAO;YACvB,UAAU,CAAC,OAAO,CAAC,CAAC;SACrB,EACD,OAAO,EAAE,OAAO,EAChB,MAAM,EAAC,yCAAyC,WAChD,EACF;AACJ,EAAE;IAEW,uBAAuB,GAAG;IAC/B,IAAA,KAAwB,QAAQ,EAAgC,EAA/D,OAAO,QAAA,EAAE,UAAU,QAA4C,CAAC;IACvE,QACEA,IAAC,mBAAmB,IAClB,eAAe,EAAE,UAAC,OAAO;YACvB,UAAU,CAAC,OAAO,CAAC,CAAC;SACrB,EACD,OAAO,EAAE,OAAO,EAChB,MAAM,EAAC,yCAAyC,EAChD,YAAY,EAAE;YACZ,kBAAkB,EAAE,gBAAgB;YACpC,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,YAAY;YACzB,qBAAqB,EAAE,0CAA0C;YACjE,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,OAAO;SACd,EACD,uBAAuB,EAAE;YACvB,OAAO,EAAE,OAAO;YAChB,GAAG,EAAE,yBAAyB;SAC/B,WACD,EACF;AACJ,EAAE;IAEW,oBAAoB,GAAG;IAC5B,IAAA,KAAwB,QAAQ,CAA+B,EAAE,CAAC,EAAjE,OAAO,QAAA,EAAE,UAAU,QAA8C,CAAC;IACzE,QACEA,IAAC,mBAAmB,IAClB,eAAe,EAAE,UAAC,OAAO;YACvB,UAAU,CAAC,OAAO,CAAC,CAAC;SACrB,EACD,OAAO,EAAE,OAAO,EAChB,MAAM,EAAC,yCAAyC,EAChD,YAAY,EAAE;YACZ,kBAAkB,EAAE,gBAAgB;YACpC,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,YAAY;YACzB,qBAAqB,EAAE,yCAAyC;YAChE,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,OAAO;SACd,EACD,uBAAuB,EAAE;YACvB,OAAO,EAAE,OAAO;YAChB,GAAG,EAAE,yBAAyB;SAC/B,WACD,EACF;AACJ;;;;"}