@popsure/dirty-swan 0.32.0 → 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 (244) hide show
  1. package/dist/cjs/index.d.ts +1 -1
  2. package/dist/cjs/index.js +62 -14
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/lib/components/downloadButton/index.d.ts +3 -3
  5. package/dist/cjs/lib/components/downloadButton/index.stories.d.ts +36 -0
  6. package/dist/cjs/lib/components/input/checkbox/index.d.ts +17 -0
  7. package/dist/cjs/lib/components/input/checkbox/index.stories.d.ts +64 -0
  8. package/dist/cjs/lib/components/markdown/index.d.ts +9 -8
  9. package/dist/cjs/lib/components/markdown/index.stories.d.ts +44 -0
  10. package/dist/cjs/lib/components/signaturePad/index.d.ts +4 -4
  11. package/dist/cjs/lib/components/signaturePad/index.stories.d.ts +21 -0
  12. package/dist/cjs/lib/index.d.ts +5 -4
  13. package/dist/index.css +4 -0
  14. package/dist/index.css.map +1 -1
  15. package/dist/lib/scss/private/components/_input.scss +4 -0
  16. package/package.json +1 -1
  17. package/src/App.tsx +1 -1
  18. package/src/global.d.ts +1 -0
  19. package/src/index.tsx +1 -0
  20. package/src/lib/components/downloadButton/index.stories.tsx +58 -0
  21. package/src/lib/components/downloadButton/index.tsx +3 -3
  22. package/src/lib/components/input/checkbox/index.stories.tsx +214 -0
  23. package/src/lib/components/input/checkbox/index.test.tsx +110 -0
  24. package/src/lib/components/input/checkbox/index.tsx +129 -0
  25. package/src/lib/components/markdown/index.stories.tsx +69 -0
  26. package/src/lib/components/markdown/index.tsx +11 -9
  27. package/src/lib/components/signaturePad/index.stories.tsx +35 -0
  28. package/src/lib/components/signaturePad/index.tsx +6 -6
  29. package/src/lib/index.tsx +5 -3
  30. package/src/lib/scss/private/components/_input.scss +4 -0
  31. package/dist/esm/App.d.ts +0 -3
  32. package/dist/esm/_commonjsHelpers-e7f67fd8.js +0 -23
  33. package/dist/esm/_commonjsHelpers-e7f67fd8.js.map +0 -1
  34. package/dist/esm/components/autocompleteAddress/index.js +0 -2062
  35. package/dist/esm/components/autocompleteAddress/index.js.map +0 -1
  36. package/dist/esm/components/autocompleteAddress/index.stories.js +0 -110
  37. package/dist/esm/components/autocompleteAddress/index.stories.js.map +0 -1
  38. package/dist/esm/components/autocompleteAddress/index.test.js +0 -115
  39. package/dist/esm/components/autocompleteAddress/index.test.js.map +0 -1
  40. package/dist/esm/components/button/index.js +0 -26
  41. package/dist/esm/components/button/index.js.map +0 -1
  42. package/dist/esm/components/cards/cardButton/index.js +0 -6
  43. package/dist/esm/components/cards/cardButton/index.js.map +0 -1
  44. package/dist/esm/components/cards/cardWithLeftIcon/index.js +0 -7
  45. package/dist/esm/components/cards/cardWithLeftIcon/index.js.map +0 -1
  46. package/dist/esm/components/cards/cardWithTopIcon/index.js +0 -7
  47. package/dist/esm/components/cards/cardWithTopIcon/index.js.map +0 -1
  48. package/dist/esm/components/cards/cardWithTopLeftIcon/index.js +0 -7
  49. package/dist/esm/components/cards/cardWithTopLeftIcon/index.js.map +0 -1
  50. package/dist/esm/components/cards/index.js +0 -125
  51. package/dist/esm/components/cards/index.js.map +0 -1
  52. package/dist/esm/components/cards/infoCard/index.js +0 -7
  53. package/dist/esm/components/cards/infoCard/index.js.map +0 -1
  54. package/dist/esm/components/chip/index.js +0 -22
  55. package/dist/esm/components/chip/index.js.map +0 -1
  56. package/dist/esm/components/comparisonTable/components/AccordionItem/AccordionItem.js +0 -32
  57. package/dist/esm/components/comparisonTable/components/AccordionItem/AccordionItem.js.map +0 -1
  58. package/dist/esm/components/comparisonTable/components/AccordionItem/index.js +0 -8
  59. package/dist/esm/components/comparisonTable/components/AccordionItem/index.js.map +0 -1
  60. package/dist/esm/components/comparisonTable/components/Chevron.js +0 -10
  61. package/dist/esm/components/comparisonTable/components/Chevron.js.map +0 -1
  62. package/dist/esm/components/comparisonTable/components/Row/index.js +0 -36
  63. package/dist/esm/components/comparisonTable/components/Row/index.js.map +0 -1
  64. package/dist/esm/components/comparisonTable/components/TableArrows/Arrow.js +0 -10
  65. package/dist/esm/components/comparisonTable/components/TableArrows/Arrow.js.map +0 -1
  66. package/dist/esm/components/comparisonTable/components/TableArrows/index.js +0 -24
  67. package/dist/esm/components/comparisonTable/components/TableArrows/index.js.map +0 -1
  68. package/dist/esm/components/comparisonTable/components/TableButton/index.js +0 -15
  69. package/dist/esm/components/comparisonTable/components/TableButton/index.js.map +0 -1
  70. package/dist/esm/components/comparisonTable/components/TableButton/index.test.js +0 -37
  71. package/dist/esm/components/comparisonTable/components/TableButton/index.test.js.map +0 -1
  72. package/dist/esm/components/comparisonTable/components/TableInfoButton/index.js +0 -22
  73. package/dist/esm/components/comparisonTable/components/TableInfoButton/index.js.map +0 -1
  74. package/dist/esm/components/comparisonTable/components/TableRating/StarIcon.js +0 -10
  75. package/dist/esm/components/comparisonTable/components/TableRating/StarIcon.js.map +0 -1
  76. package/dist/esm/components/comparisonTable/components/TableRating/ZapIcon.js +0 -10
  77. package/dist/esm/components/comparisonTable/components/TableRating/ZapIcon.js.map +0 -1
  78. package/dist/esm/components/comparisonTable/components/TableRating/index.js +0 -27
  79. package/dist/esm/components/comparisonTable/components/TableRating/index.js.map +0 -1
  80. package/dist/esm/components/comparisonTable/components/TableRowHeader/index.js +0 -18
  81. package/dist/esm/components/comparisonTable/components/TableRowHeader/index.js.map +0 -1
  82. package/dist/esm/components/comparisonTable/components/TableRowHeader/index.test.js +0 -82
  83. package/dist/esm/components/comparisonTable/components/TableRowHeader/index.test.js.map +0 -1
  84. package/dist/esm/components/comparisonTable/components/TableTrueFalse.js +0 -13
  85. package/dist/esm/components/comparisonTable/components/TableTrueFalse.js.map +0 -1
  86. package/dist/esm/components/comparisonTable/index.js +0 -1683
  87. package/dist/esm/components/comparisonTable/index.js.map +0 -1
  88. package/dist/esm/components/dateSelector/index.js +0 -2180
  89. package/dist/esm/components/dateSelector/index.js.map +0 -1
  90. package/dist/esm/components/dateSelector/index.test.js +0 -65
  91. package/dist/esm/components/dateSelector/index.test.js.map +0 -1
  92. package/dist/esm/components/downloadButton/index.js +0 -36
  93. package/dist/esm/components/downloadButton/index.js.map +0 -1
  94. package/dist/esm/components/input/autoSuggestInput/index.js +0 -2157
  95. package/dist/esm/components/input/autoSuggestInput/index.js.map +0 -1
  96. package/dist/esm/components/input/autoSuggestMultiSelect/index.js +0 -41
  97. package/dist/esm/components/input/autoSuggestMultiSelect/index.js.map +0 -1
  98. package/dist/esm/components/input/currency/index.js +0 -63
  99. package/dist/esm/components/input/currency/index.js.map +0 -1
  100. package/dist/esm/components/input/currency/index.test.js +0 -209
  101. package/dist/esm/components/input/currency/index.test.js.map +0 -1
  102. package/dist/esm/components/input/iban/index.js +0 -33
  103. package/dist/esm/components/input/iban/index.js.map +0 -1
  104. package/dist/esm/components/input/index.js +0 -29
  105. package/dist/esm/components/input/index.js.map +0 -1
  106. package/dist/esm/components/markdown/index.js +0 -22178
  107. package/dist/esm/components/markdown/index.js.map +0 -1
  108. package/dist/esm/components/modal/bottomModal/index.js +0 -35
  109. package/dist/esm/components/modal/bottomModal/index.js.map +0 -1
  110. package/dist/esm/components/modal/bottomOrRegularModal/index.js +0 -36
  111. package/dist/esm/components/modal/bottomOrRegularModal/index.js.map +0 -1
  112. package/dist/esm/components/modal/regularModal/index.js +0 -28
  113. package/dist/esm/components/modal/regularModal/index.js.map +0 -1
  114. package/dist/esm/components/multiDropzone/UploadFileCell/index.js +0 -6
  115. package/dist/esm/components/multiDropzone/UploadFileCell/index.js.map +0 -1
  116. package/dist/esm/components/multiDropzone/index.js +0 -2862
  117. package/dist/esm/components/multiDropzone/index.js.map +0 -1
  118. package/dist/esm/components/multiDropzone/index.test.js +0 -201
  119. package/dist/esm/components/multiDropzone/index.test.js.map +0 -1
  120. package/dist/esm/components/segmentedControl/index.js +0 -42
  121. package/dist/esm/components/segmentedControl/index.js.map +0 -1
  122. package/dist/esm/components/segmentedControl/index.stories.js +0 -62
  123. package/dist/esm/components/segmentedControl/index.stories.js.map +0 -1
  124. package/dist/esm/components/segmentedControl/index.test.js +0 -63
  125. package/dist/esm/components/segmentedControl/index.test.js.map +0 -1
  126. package/dist/esm/components/signaturePad/index.js +0 -560
  127. package/dist/esm/components/signaturePad/index.js.map +0 -1
  128. package/dist/esm/customRender-4157fcff.js +0 -24102
  129. package/dist/esm/customRender-4157fcff.js.map +0 -1
  130. package/dist/esm/extend-expect-46bdce4a.js +0 -7406
  131. package/dist/esm/extend-expect-46bdce4a.js.map +0 -1
  132. package/dist/esm/index-1463d5e9.js +0 -382
  133. package/dist/esm/index-1463d5e9.js.map +0 -1
  134. package/dist/esm/index-171a0108.js +0 -997
  135. package/dist/esm/index-171a0108.js.map +0 -1
  136. package/dist/esm/index-21239ab0.js +0 -237
  137. package/dist/esm/index-21239ab0.js.map +0 -1
  138. package/dist/esm/index-47663d39.js +0 -48
  139. package/dist/esm/index-47663d39.js.map +0 -1
  140. package/dist/esm/index-6ced5532.js +0 -69
  141. package/dist/esm/index-6ced5532.js.map +0 -1
  142. package/dist/esm/index-db2e797f.js +0 -13
  143. package/dist/esm/index-db2e797f.js.map +0 -1
  144. package/dist/esm/index-dd80248b.js +0 -91
  145. package/dist/esm/index-dd80248b.js.map +0 -1
  146. package/dist/esm/index-e9e37a34.js +0 -62
  147. package/dist/esm/index-e9e37a34.js.map +0 -1
  148. package/dist/esm/index-fb46adf9.js +0 -12
  149. package/dist/esm/index-fb46adf9.js.map +0 -1
  150. package/dist/esm/index.d.ts +0 -2
  151. package/dist/esm/index.js +0 -49
  152. package/dist/esm/index.js.map +0 -1
  153. package/dist/esm/lib/components/autocompleteAddress/index.d.ts +0 -20
  154. package/dist/esm/lib/components/autocompleteAddress/index.stories.d.ts +0 -66
  155. package/dist/esm/lib/components/autocompleteAddress/mapStyle.d.ts +0 -2
  156. package/dist/esm/lib/components/autocompleteAddress/util/index.d.ts +0 -4
  157. package/dist/esm/lib/components/button/icons/index.d.ts +0 -9
  158. package/dist/esm/lib/components/button/index.d.ts +0 -13
  159. package/dist/esm/lib/components/cards/cardButton/index.d.ts +0 -16
  160. package/dist/esm/lib/components/cards/cardWithLeftIcon/index.d.ts +0 -14
  161. package/dist/esm/lib/components/cards/cardWithTopIcon/index.d.ts +0 -15
  162. package/dist/esm/lib/components/cards/cardWithTopLeftIcon/index.d.ts +0 -14
  163. package/dist/esm/lib/components/cards/icons/index.d.ts +0 -13
  164. package/dist/esm/lib/components/cards/index.d.ts +0 -16
  165. package/dist/esm/lib/components/cards/infoCard/index.d.ts +0 -13
  166. package/dist/esm/lib/components/chip/index.d.ts +0 -6
  167. package/dist/esm/lib/components/comparisonTable/components/AccordionItem/AccordionItem.d.ts +0 -9
  168. package/dist/esm/lib/components/comparisonTable/components/AccordionItem/index.d.ts +0 -1
  169. package/dist/esm/lib/components/comparisonTable/components/Chevron.d.ts +0 -4
  170. package/dist/esm/lib/components/comparisonTable/components/Row/index.d.ts +0 -11
  171. package/dist/esm/lib/components/comparisonTable/components/TableArrows/Arrow.d.ts +0 -4
  172. package/dist/esm/lib/components/comparisonTable/components/TableArrows/index.d.ts +0 -10
  173. package/dist/esm/lib/components/comparisonTable/components/TableButton/index.d.ts +0 -8
  174. package/dist/esm/lib/components/comparisonTable/components/TableButton/index.test.d.ts +0 -1
  175. package/dist/esm/lib/components/comparisonTable/components/TableInfoButton/index.d.ts +0 -5
  176. package/dist/esm/lib/components/comparisonTable/components/TableRating/StarIcon.d.ts +0 -4
  177. package/dist/esm/lib/components/comparisonTable/components/TableRating/ZapIcon.d.ts +0 -4
  178. package/dist/esm/lib/components/comparisonTable/components/TableRating/index.d.ts +0 -7
  179. package/dist/esm/lib/components/comparisonTable/components/TableRowHeader/index.d.ts +0 -9
  180. package/dist/esm/lib/components/comparisonTable/components/TableRowHeader/index.test.d.ts +0 -1
  181. package/dist/esm/lib/components/comparisonTable/components/TableTrueFalse.d.ts +0 -5
  182. package/dist/esm/lib/components/comparisonTable/hooks/useComparisonTable.d.ts +0 -14
  183. package/dist/esm/lib/components/comparisonTable/index.d.ts +0 -52
  184. package/dist/esm/lib/components/dateSelector/index.d.ts +0 -23
  185. package/dist/esm/lib/components/dateSelector/index.test.d.ts +0 -1
  186. package/dist/esm/lib/components/downloadButton/index.d.ts +0 -10
  187. package/dist/esm/lib/components/input/autoSuggestInput/index.d.ts +0 -15
  188. package/dist/esm/lib/components/input/autoSuggestMultiSelect/index.d.ts +0 -11
  189. package/dist/esm/lib/components/input/currency/format/index.d.ts +0 -2
  190. package/dist/esm/lib/components/input/currency/index.d.ts +0 -7
  191. package/dist/esm/lib/components/input/currency/index.test.d.ts +0 -1
  192. package/dist/esm/lib/components/input/iban/formatIban/index.d.ts +0 -1
  193. package/dist/esm/lib/components/input/iban/index.d.ts +0 -6
  194. package/dist/esm/lib/components/input/index.d.ts +0 -16
  195. package/dist/esm/lib/components/markdown/index.d.ts +0 -9
  196. package/dist/esm/lib/components/modal/bottomModal/index.d.ts +0 -3
  197. package/dist/esm/lib/components/modal/bottomOrRegularModal/index.d.ts +0 -3
  198. package/dist/esm/lib/components/modal/hooks/useOnClose.d.ts +0 -9
  199. package/dist/esm/lib/components/modal/index.d.ts +0 -13
  200. package/dist/esm/lib/components/modal/regularModal/index.d.ts +0 -3
  201. package/dist/esm/lib/components/multiDropzone/UploadFileCell/index.d.ts +0 -10
  202. package/dist/esm/lib/components/multiDropzone/icons/index.d.ts +0 -11
  203. package/dist/esm/lib/components/multiDropzone/index.d.ts +0 -15
  204. package/dist/esm/lib/components/multiDropzone/index.test.d.ts +0 -1
  205. package/dist/esm/lib/components/multiDropzone/types.d.ts +0 -42
  206. package/dist/esm/lib/components/multiDropzone/utils/index.d.ts +0 -11
  207. package/dist/esm/lib/components/segmentedControl/index.d.ts +0 -12
  208. package/dist/esm/lib/components/segmentedControl/index.stories.d.ts +0 -37
  209. package/dist/esm/lib/components/segmentedControl/index.test.d.ts +0 -1
  210. package/dist/esm/lib/components/signaturePad/index.d.ts +0 -19
  211. package/dist/esm/lib/hooks/useOnClickOutside.d.ts +0 -2
  212. package/dist/esm/lib/index.d.ts +0 -21
  213. package/dist/esm/lib/models/autoSuggestInput/index.d.ts +0 -4
  214. package/dist/esm/lib/models/download.d.ts +0 -1
  215. package/dist/esm/lib/scss/private/base/demo.d.ts +0 -5
  216. package/dist/esm/lib/scss/public/demo.d.ts +0 -2
  217. package/dist/esm/lib/util/calendarDate/index.d.ts +0 -3
  218. package/dist/esm/lib/util/formatBytes/index.d.ts +0 -1
  219. package/dist/esm/lib/util/generateId/index.d.ts +0 -2
  220. package/dist/esm/lib/util/images/index.d.ts +0 -11
  221. package/dist/esm/lib/util/images/index.stories.d.ts +0 -12
  222. package/dist/esm/lib/util/testUtils/customRender.d.ts +0 -7
  223. package/dist/esm/lib/util/testUtils/index.d.ts +0 -2
  224. package/dist/esm/lib/util/zeroFill.d.ts +0 -1
  225. package/dist/esm/mapStyle-1288a869.js +0 -187
  226. package/dist/esm/mapStyle-1288a869.js.map +0 -1
  227. package/dist/esm/scss/private/base/demo.js +0 -80
  228. package/dist/esm/scss/private/base/demo.js.map +0 -1
  229. package/dist/esm/scss/public/demo.js +0 -290
  230. package/dist/esm/scss/public/demo.js.map +0 -1
  231. package/dist/esm/style-inject.es-1f59c1d0.js +0 -29
  232. package/dist/esm/style-inject.es-1f59c1d0.js.map +0 -1
  233. package/dist/esm/tslib.es6-5bc94358.js +0 -104
  234. package/dist/esm/tslib.es6-5bc94358.js.map +0 -1
  235. package/dist/esm/useOnClose-d818a54f.js +0 -46
  236. package/dist/esm/useOnClose-d818a54f.js.map +0 -1
  237. package/dist/esm/util/images/index.stories.js +0 -23
  238. package/dist/esm/util/images/index.stories.js.map +0 -1
  239. package/dist/esm/util/testUtils/customRender.js +0 -7
  240. package/dist/esm/util/testUtils/customRender.js.map +0 -1
  241. package/src/lib/components/downloadButton/index.stories.mdx +0 -59
  242. package/src/lib/components/markdown/index.stories.mdx +0 -22
  243. package/src/lib/components/signaturePad/index.stories.mdx +0 -17
  244. /package/dist/{esm/lib/components/autocompleteAddress → cjs/lib/components/input/checkbox}/index.test.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/lib/components/input/currency/format/index.ts","../../../../../../src/lib/components/input/currency/index.tsx"],"sourcesContent":["export const formatInput = (input: string): string => {\n const decimalSeparator = input.includes(',') ? ',' : '.';\n const parts = input.split(decimalSeparator);\n const floor = parts[0];\n const ceiling = parts[1];\n parts[0] = floor.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ' ');\n if (ceiling) {\n parts[1] = ceiling.slice(0, Math.min(ceiling.length, 2));\n }\n return parts.join('.');\n};\n\nexport function reverseFormatInput(input: string): number {\n return Number(input.replace(/,/, '.').replace(/\\s/g, ''));\n}\n","import { useEffect, useRef, useState } from 'react';\n\nimport { formatInput, reverseFormatInput } from './format';\nimport Input, { InputProps } from '..';\n\nconst CurrencyInput = ({\n value,\n onChange,\n type,\n ...props\n}: {\n value?: number;\n placeholder?: string;\n onChange?: (value: number) => void;\n} & Omit<InputProps, 'onChange' | 'value' | 'ref'>) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const [cursor, setCursor] = useState<number | null>(null);\n const [shadowValue, setShadowValue] = useState('');\n\n const formattedShadowValue = formatInput(\n shadowValue\n .replace(/ /g, '') // remove all whitespace\n .replace(',', '.') // change commas to dot for decimal separator\n .replace('.', 'DECIMAL_SEPARATOR') // Gymnastic to remove all the but the first decimal separators 🤸\n .replace(/\\./g, '')\n .replace('DECIMAL_SEPARATOR', '.') // End of the Gymnastic 🤸\n .replace(/[^\\d\\\\.]/g, '') // remove all non decimal and dot\n );\n\n useEffect(() => {\n if (value && value !== reverseFormatInput(shadowValue)) {\n setShadowValue(formatInput(value.toString()));\n }\n // eslint-disable-next-line\n }, [value]);\n\n useEffect(() => {\n onChange?.(reverseFormatInput(shadowValue));\n // eslint-disable-next-line\n }, [shadowValue]);\n\n useEffect(() => {\n if (!inputRef.current || !cursor) {\n return;\n }\n\n const cursorDiff = String(formattedShadowValue).length - String(shadowValue).length;\n const newCursor = cursorDiff + cursor;\n\n inputRef.current.selectionStart = newCursor;\n inputRef.current.selectionEnd = newCursor;\n },[cursor, formattedShadowValue, shadowValue])\n\n return (\n <Input\n prefix=\"€\"\n ref={inputRef}\n type=\"string\"\n value={formattedShadowValue}\n onChange={(e) => {\n setCursor(e.target.selectionStart);\n setShadowValue(e.target.value);\n }}\n {...props}\n />\n );\n};\n\nexport default CurrencyInput;\n"],"names":["_jsx"],"mappings":"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"}
@@ -1,209 +0,0 @@
1
- import { b as __awaiter, c as __generator, _ as __assign } from '../../../tslib.es6-5bc94358.js';
2
- import { jsx } from 'react/jsx-runtime';
3
- import { c as customRender } from '../../../customRender-4157fcff.js';
4
- import CurrencyInput from './index.js';
5
- import 'react';
6
- import 'react-dom';
7
- import '../../../_commonjsHelpers-e7f67fd8.js';
8
- import 'react-dom/test-utils';
9
- import '../index.js';
10
- import '../../../index-e9e37a34.js';
11
- import '../../../index-fb46adf9.js';
12
- import '../../../style-inject.es-1f59c1d0.js';
13
-
14
- var setup = function () {
15
- var utils = customRender(jsx(CurrencyInput, {}, void 0));
16
- var input = utils.getByTestId('ds-input-input');
17
- return __assign({ input: input }, utils);
18
- };
19
- describe('Currency input component', function () {
20
- it('Should correctly space thousands separators', function () { return __awaiter(void 0, void 0, void 0, function () {
21
- var _a, input, user;
22
- return __generator(this, function (_b) {
23
- switch (_b.label) {
24
- case 0:
25
- _a = setup(), input = _a.input, user = _a.user;
26
- return [4 /*yield*/, user.type(input, '1234567')];
27
- case 1:
28
- _b.sent();
29
- expect(input.value).toBe('1 234 567');
30
- return [2 /*return*/];
31
- }
32
- });
33
- }); });
34
- it('Should remove non numerical values', function () { return __awaiter(void 0, void 0, void 0, function () {
35
- var _a, input, user;
36
- return __generator(this, function (_b) {
37
- switch (_b.label) {
38
- case 0:
39
- _a = setup(), input = _a.input, user = _a.user;
40
- return [4 /*yield*/, user.type(input, '123asdf4567')];
41
- case 1:
42
- _b.sent();
43
- expect(input.value).toBe('1 234 567');
44
- return [2 /*return*/];
45
- }
46
- });
47
- }); });
48
- it('Should remove non numerical values', function () { return __awaiter(void 0, void 0, void 0, function () {
49
- var _a, input, user;
50
- return __generator(this, function (_b) {
51
- switch (_b.label) {
52
- case 0:
53
- _a = setup(), input = _a.input, user = _a.user;
54
- return [4 /*yield*/, user.type(input, '123asdf4567')];
55
- case 1:
56
- _b.sent();
57
- expect(input.value).toBe('1 234 567');
58
- return [2 /*return*/];
59
- }
60
- });
61
- }); });
62
- it('Should allow decimal separator', function () { return __awaiter(void 0, void 0, void 0, function () {
63
- var _a, input, user;
64
- return __generator(this, function (_b) {
65
- switch (_b.label) {
66
- case 0:
67
- _a = setup(), input = _a.input, user = _a.user;
68
- return [4 /*yield*/, user.type(input, '1234567.34')];
69
- case 1:
70
- _b.sent();
71
- expect(input.value).toBe('1 234 567.34');
72
- return [2 /*return*/];
73
- }
74
- });
75
- }); });
76
- it('Should replace comma decimal seprator with a dot', function () { return __awaiter(void 0, void 0, void 0, function () {
77
- var _a, input, user;
78
- return __generator(this, function (_b) {
79
- switch (_b.label) {
80
- case 0:
81
- _a = setup(), input = _a.input, user = _a.user;
82
- return [4 /*yield*/, user.type(input, '1234567,34')];
83
- case 1:
84
- _b.sent();
85
- expect(input.value).toBe('1 234 567.34');
86
- return [2 /*return*/];
87
- }
88
- });
89
- }); });
90
- it('Should only allow one decimal separator', function () { return __awaiter(void 0, void 0, void 0, function () {
91
- var _a, input, user;
92
- return __generator(this, function (_b) {
93
- switch (_b.label) {
94
- case 0:
95
- _a = setup(), input = _a.input, user = _a.user;
96
- return [4 /*yield*/, user.type(input, '1234567..34')];
97
- case 1:
98
- _b.sent();
99
- expect(input.value).toBe('1 234 567.34');
100
- return [2 /*return*/];
101
- }
102
- });
103
- }); });
104
- it('Should only allow one decimal separator after a sequence of number', function () { return __awaiter(void 0, void 0, void 0, function () {
105
- var _a, input, user;
106
- return __generator(this, function (_b) {
107
- switch (_b.label) {
108
- case 0:
109
- _a = setup(), input = _a.input, user = _a.user;
110
- return [4 /*yield*/, user.type(input, '1234567..34.4')];
111
- case 1:
112
- _b.sent();
113
- expect(input.value).toBe('1 234 567.34');
114
- return [2 /*return*/];
115
- }
116
- });
117
- }); });
118
- it('Should have correct selection start when no spaces are added', function () { return __awaiter(void 0, void 0, void 0, function () {
119
- var _a, input, user;
120
- return __generator(this, function (_b) {
121
- switch (_b.label) {
122
- case 0:
123
- _a = setup(), input = _a.input, user = _a.user;
124
- return [4 /*yield*/, user.type(input, '123')];
125
- case 1:
126
- _b.sent();
127
- // Should be: 123|
128
- expect(input.selectionStart).toBe(3);
129
- return [2 /*return*/];
130
- }
131
- });
132
- }); });
133
- it('Should have correct selection start when spaces are added', function () { return __awaiter(void 0, void 0, void 0, function () {
134
- var _a, input, user;
135
- return __generator(this, function (_b) {
136
- switch (_b.label) {
137
- case 0:
138
- _a = setup(), input = _a.input, user = _a.user;
139
- return [4 /*yield*/, user.type(input, '1234')];
140
- case 1:
141
- _b.sent();
142
- // Should be: 123 4|
143
- expect(input.selectionStart).toBe(5);
144
- return [2 /*return*/];
145
- }
146
- });
147
- }); });
148
- it('Should have correct selection start when typing in middle of input', function () { return __awaiter(void 0, void 0, void 0, function () {
149
- var _a, input, user;
150
- return __generator(this, function (_b) {
151
- switch (_b.label) {
152
- case 0:
153
- _a = setup(), input = _a.input, user = _a.user;
154
- return [4 /*yield*/, user.type(input, '123{arrowleft}4')];
155
- case 1:
156
- _b.sent();
157
- // Should be: 1 24|3
158
- expect(input.selectionStart).toBe(4);
159
- return [2 /*return*/];
160
- }
161
- });
162
- }); });
163
- it('Should have correct selection start when typing in beginning of input', function () { return __awaiter(void 0, void 0, void 0, function () {
164
- var _a, input, user;
165
- return __generator(this, function (_b) {
166
- switch (_b.label) {
167
- case 0:
168
- _a = setup(), input = _a.input, user = _a.user;
169
- return [4 /*yield*/, user.type(input, '123{arrowleft}{arrowleft}{arrowleft}4')];
170
- case 1:
171
- _b.sent();
172
- // Should be: 4 |123
173
- expect(input.selectionStart).toBe(2);
174
- return [2 /*return*/];
175
- }
176
- });
177
- }); });
178
- it('Should have correct selection start when typing in input and has currency values', function () { return __awaiter(void 0, void 0, void 0, function () {
179
- var _a, input, user;
180
- return __generator(this, function (_b) {
181
- switch (_b.label) {
182
- case 0:
183
- _a = setup(), input = _a.input, user = _a.user;
184
- return [4 /*yield*/, user.type(input, '123.2{arrowleft}{arrowleft}{arrowleft}24')];
185
- case 1:
186
- _b.sent();
187
- // Should be: 12 24|3.2
188
- expect(input.selectionStart).toBe(5);
189
- return [2 /*return*/];
190
- }
191
- });
192
- }); });
193
- it('Should have correct selection start when deleting', function () { return __awaiter(void 0, void 0, void 0, function () {
194
- var _a, input, user;
195
- return __generator(this, function (_b) {
196
- switch (_b.label) {
197
- case 0:
198
- _a = setup(), input = _a.input, user = _a.user;
199
- return [4 /*yield*/, user.type(input, '12345{arrowleft}{backspace}67')];
200
- case 1:
201
- _b.sent();
202
- // Should be: 123 67|5
203
- expect(input.selectionStart).toBe(6);
204
- return [2 /*return*/];
205
- }
206
- });
207
- }); });
208
- });
209
- //# sourceMappingURL=index.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.js","sources":["../../../../../../src/lib/components/input/currency/index.test.tsx"],"sourcesContent":["import { render } from '../../../util/testUtils';\n\nimport CurrencyInput from '.';\n\nconst setup = () => {\n const utils = render(<CurrencyInput />);\n const input = utils.getByTestId('ds-input-input') as HTMLInputElement;\n return {\n input,\n ...utils,\n };\n};\n\ndescribe('Currency input component', () => {\n it('Should correctly space thousands separators', async () => {\n const { input, user } = setup();\n await user.type(input, '1234567');\n expect(input.value).toBe('1 234 567');\n });\n\n it('Should remove non numerical values', async () => {\n const { input, user } = setup();\n await user.type(input, '123asdf4567');\n expect(input.value).toBe('1 234 567');\n });\n\n it('Should remove non numerical values', async () => {\n const { input, user } = setup();\n await user.type(input, '123asdf4567');\n expect(input.value).toBe('1 234 567');\n });\n\n it('Should allow decimal separator', async () => {\n const { input, user } = setup();\n await user.type(input, '1234567.34');\n expect(input.value).toBe('1 234 567.34');\n });\n\n it('Should replace comma decimal seprator with a dot', async () => {\n const { input, user } = setup();\n await user.type(input, '1234567,34');\n expect(input.value).toBe('1 234 567.34');\n });\n\n it('Should only allow one decimal separator', async () => {\n const { input, user } = setup();\n await user.type(input, '1234567..34');\n expect(input.value).toBe('1 234 567.34');\n });\n\n it('Should only allow one decimal separator after a sequence of number', async () => {\n const { input, user } = setup();\n await user.type(input, '1234567..34.4');\n expect(input.value).toBe('1 234 567.34');\n });\n\n it('Should have correct selection start when no spaces are added', async () => {\n const { input, user } = setup();\n\n await user.type(input, '123');\n // Should be: 123|\n expect(input.selectionStart).toBe(3);\n });\n\n it('Should have correct selection start when spaces are added', async () => {\n const { input, user } = setup();\n\n await user.type(input, '1234');\n // Should be: 123 4|\n expect(input.selectionStart).toBe(5);\n });\n\n it('Should have correct selection start when typing in middle of input', async () => {\n const { input, user } = setup();\n\n await user.type(input, '123{arrowleft}4');\n\n // Should be: 1 24|3\n expect(input.selectionStart).toBe(4);\n });\n\n it('Should have correct selection start when typing in beginning of input', async () => {\n const { input, user } = setup();\n\n await user.type(input, '123{arrowleft}{arrowleft}{arrowleft}4');\n\n // Should be: 4 |123\n expect(input.selectionStart).toBe(2);\n });\n\n it('Should have correct selection start when typing in input and has currency values', async () => {\n const { input, user } = setup();\n\n await user.type(input, '123.2{arrowleft}{arrowleft}{arrowleft}24');\n\n // Should be: 12 24|3.2\n expect(input.selectionStart).toBe(5);\n });\n\n it('Should have correct selection start when deleting', async () => {\n const { input, user } = setup();\n\n await user.type(input, '12345{arrowleft}{backspace}67');\n\n // Should be: 123 67|5\n expect(input.selectionStart).toBe(6);\n });\n});\n"],"names":["render","_jsx"],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import { a as __rest, _ as __assign } from '../../../tslib.es6-5bc94358.js';
2
- import { jsx } from 'react/jsx-runtime';
3
- import Input from '../index.js';
4
- import 'react';
5
- import '../../../index-e9e37a34.js';
6
- import '../../../index-fb46adf9.js';
7
- import '../../../style-inject.es-1f59c1d0.js';
8
-
9
- var IBAN_CHAR_LIMIT = 4;
10
- var formatIban = function (iban) {
11
- if (iban) {
12
- var cleanIban_1 = iban
13
- .replace(/\s\s+/g, ' ')
14
- .replace(/[^0-9a-zA-Z]/gi, '')
15
- .toUpperCase();
16
- var values_1 = [];
17
- cleanIban_1.split('').forEach(function (char, idx) {
18
- if (idx % IBAN_CHAR_LIMIT === 0) {
19
- values_1.push(cleanIban_1.substring(idx, idx + IBAN_CHAR_LIMIT));
20
- }
21
- });
22
- return values_1.join(' ');
23
- }
24
- return '';
25
- };
26
-
27
- var IbanInput = function (_a) {
28
- var value = _a.value, onChange = _a.onChange, props = __rest(_a, ["value", "onChange"]);
29
- return (jsx(Input, __assign({ value: formatIban(value), onChange: function (e) { return onChange(formatIban(e.target.value)); } }, props), void 0));
30
- };
31
-
32
- export default IbanInput;
33
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/lib/components/input/iban/formatIban/index.ts","../../../../../../src/lib/components/input/iban/index.tsx"],"sourcesContent":["const IBAN_CHAR_LIMIT = 4;\n\nexport const formatIban = (iban?: string): string => {\n if (iban) {\n const cleanIban = iban\n .replace(/\\s\\s+/g, ' ')\n .replace(/[^0-9a-zA-Z]/gi, '')\n .toUpperCase();\n\n const values: string[] = [];\n\n cleanIban.split('').forEach((char, idx) => {\n if (idx % IBAN_CHAR_LIMIT === 0) {\n values.push(cleanIban.substring(idx, idx + IBAN_CHAR_LIMIT));\n }\n });\n\n return values.join(' ');\n }\n\n return '';\n};\n","import Input, { InputProps } from '..';\n\nimport { formatIban } from './formatIban';\n\nconst IbanInput = ({\n value,\n onChange,\n ...props\n}: {\n value?: string;\n onChange: (value: string) => void;\n} & Omit<InputProps, 'onChange' | 'value' | 'ref'>) => (\n <Input\n value={formatIban(value)}\n onChange={(e) => onChange(formatIban(e.target.value))}\n {...props}\n />\n);\n\nexport default IbanInput;\n"],"names":["_jsx"],"mappings":";;;;;;;;AAAA,IAAM,eAAe,GAAG,CAAC,CAAC;AAEnB,IAAM,UAAU,GAAG,UAAC,IAAa;IACtC,IAAI,IAAI,EAAE;QACR,IAAM,WAAS,GAAG,IAAI;aACnB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;aACtB,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;aAC7B,WAAW,EAAE,CAAC;QAEjB,IAAM,QAAM,GAAa,EAAE,CAAC;QAE5B,WAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,GAAG;YACpC,IAAI,GAAG,GAAG,eAAe,KAAK,CAAC,EAAE;gBAC/B,QAAM,CAAC,IAAI,CAAC,WAAS,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC;aAC9D;SACF,CAAC,CAAC;QAEH,OAAO,QAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACzB;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;;ICjBK,SAAS,GAAG,UAAC,EAO+B;IANhD,IAAA,KAAK,WAAA,EACL,QAAQ,cAAA,EACL,KAAK,cAHS,qBAIlB,CADS;IAI6C,QACrDA,IAAC,KAAK,aACJ,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EACxB,QAAQ,EAAE,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAA,IACjD,KAAK,UACT,EACH;;;;;"}
@@ -1,29 +0,0 @@
1
- import { a as __rest, _ as __assign } from '../../tslib.es6-5bc94358.js';
2
- import { jsxs, jsx } from 'react/jsx-runtime';
3
- import React__default, { useState } from 'react';
4
- import { c as classnames } from '../../index-e9e37a34.js';
5
- import { g as generateId } from '../../index-fb46adf9.js';
6
- import { s as styleInject } from '../../style-inject.es-1f59c1d0.js';
7
-
8
- var css_248z = ".style-module_container__2L4SP {\n position: relative;\n}\n\n.style-module_prefix__3jAFZ {\n position: absolute;\n left: 16px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--ds-grey-500);\n transition: 0.3s top;\n}\n.style-module_prefix--with-error__1yTTM {\n color: var(--ds-red-500);\n}\n.style-module_prefix--disabled__2-gcw {\n color: var(--ds-grey-600);\n}\n\n.style-module_input__1eJO5:not(:placeholder-shown) ~ .style-module_placeholder__1U2z0,\n.style-module_input__1eJO5:focus ~ .style-module_placeholder__1U2z0 {\n top: 7px;\n left: 16px;\n transform: translateY(0);\n font-size: 10px;\n line-height: 12px;\n opacity: 1;\n}\n\n.style-module_input__1eJO5:focus ~ .style-module_placeholder__1U2z0 {\n color: var(--ds-primary-500);\n}\n.style-module_input__1eJO5:focus ~ .style-module_placeholder--with-error__2ieRU {\n color: var(--ds-red-500);\n}\n\n.style-module_input__1eJO5:focus ~ .style-module_prefix__3jAFZ {\n color: var(--ds-primary-500);\n}\n.style-module_input__1eJO5:focus ~ .style-module_prefix--with-error__1yTTM {\n color: var(--ds-red-500);\n}\n\n.style-module_input__1eJO5:not(:placeholder-shown) ~ .style-module_prefix__3jAFZ,\n.style-module_input__1eJO5:focus ~ .style-module_prefix__3jAFZ {\n top: 28px;\n}\n\n.style-module_input__1eJO5 {\n box-sizing: border-box;\n padding-top: 9px;\n font-family: inherit;\n}\n.style-module_input--no-placeholder__3EGwh {\n padding-top: 0px;\n}\n.style-module_input--with-prefix__38e0j {\n padding-left: 32px !important;\n}\n\n.style-module_placeholder__1U2z0 {\n position: absolute;\n pointer-events: none;\n left: 16px;\n top: 50%;\n transform: translateY(-50%);\n transition: 0.3s ease all;\n color: var(--ds-grey-500);\n}\n.style-module_placeholder--with-prefix__2PquQ {\n left: 32px;\n}\n.style-module_placeholder--with-error__2ieRU {\n color: var(--ds-red-500);\n}\n\n.style-module_label__3FEZ1 {\n display: inline-block;\n margin-bottom: 8px;\n color: var(--ds-grey-600);\n}\n.style-module_label--with-error__166bP {\n color: var(--ds-red-500);\n}\n\n.style-module_error__167Zc {\n margin-top: 4px;\n}";
9
- var styles = {"container":"style-module_container__2L4SP","prefix":"style-module_prefix__3jAFZ","prefix--with-error":"style-module_prefix--with-error__1yTTM","prefix--disabled":"style-module_prefix--disabled__2-gcw","input":"style-module_input__1eJO5","placeholder":"style-module_placeholder__1U2z0","placeholder--with-error":"style-module_placeholder--with-error__2ieRU","input--no-placeholder":"style-module_input--no-placeholder__3EGwh","input--with-prefix":"style-module_input--with-prefix__38e0j","placeholder--with-prefix":"style-module_placeholder--with-prefix__2PquQ","label":"style-module_label__3FEZ1","label--with-error":"style-module_label--with-error__166bP","error":"style-module_error__167Zc"};
10
- styleInject(css_248z);
11
-
12
- var Input = React__default.forwardRef(function (_a, ref) {
13
- var _b, _c, _d, _e, _f, _g;
14
- var className = _a.className, placeholder = _a.placeholder, label = _a.label, id = _a.id, prefix = _a.prefix, error = _a.error, disabled = _a.disabled, _h = _a.hideLabel, hideLabel = _h === void 0 ? false : _h, props = __rest(_a, ["className", "placeholder", "label", "id", "prefix", "error", "disabled", "hideLabel"]);
15
- var uniqueId = useState(id !== null && id !== void 0 ? id : generateId())[0];
16
- return (jsxs("div", __assign({ className: styles.container + " " + (className !== null && className !== void 0 ? className : '') }, { children: [label && (jsx("label", __assign({ htmlFor: uniqueId, className: classnames('p-p', styles.label, (_b = {},
17
- _b[styles['label--with-error']] = error,
18
- _b['sr-only'] = hideLabel,
19
- _b)) }, { children: label }), void 0)),
20
- jsxs("div", __assign({ style: { position: 'relative' } }, { children: [jsx("input", __assign({ id: uniqueId, "data-testid": "ds-input-input", type: "text", ref: ref, className: classnames(error ? 'p-input--error' : 'p-input', !label && placeholder && placeholder.length > 0
21
- ? styles.input
22
- : styles['input--no-placeholder'], (_c = {}, _c[styles['input--with-prefix']] = prefix, _c)), placeholder: label ? placeholder : ' ', disabled: disabled }, props), void 0),
23
- prefix && (jsx("span", __assign({ className: classnames(styles.prefix, (_d = {}, _d[styles['prefix--with-error']] = error, _d), (_e = {}, _e[styles['prefix--disabled']] = disabled, _e)) }, { children: prefix }), void 0)),
24
- !label && (jsx("label", __assign({ htmlFor: uniqueId, className: classnames(styles.placeholder, (_f = {}, _f[styles['placeholder--with-prefix']] = prefix, _f), (_g = {}, _g[styles['placeholder--with-error']] = error, _g)) }, { children: placeholder }), void 0))] }), void 0),
25
- error && (jsx("p", __assign({ className: "p-p--small tc-red-500 w100 " + styles.error }, { children: error }), void 0))] }), void 0));
26
- });
27
-
28
- export default Input;
29
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/lib/components/input/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport classnames from 'classnames';\nimport generateId from '../../util/generateId';\n\nimport styles from './style.module.scss';\n\n// Something weird is going on with enterKeyHint that makes it a required field under certain circumstances. The & Omit<…> and & Pick<…> is a hacky way to go around that.\nexport type InputProps = {\n error?: string;\n prefix?: string;\n label?: string;\n id?: string;\n hideLabel?: boolean;\n} & Omit<JSX.IntrinsicElements['input'], 'enterKeyHint'> &\n Partial<Pick<JSX.IntrinsicElements['input'], 'enterKeyHint'>>;\n\nexport default React.forwardRef(\n (\n {\n className,\n placeholder,\n label,\n id,\n prefix,\n error,\n disabled,\n hideLabel = false,\n ...props\n }: InputProps,\n ref?: React.ForwardedRef<HTMLInputElement>\n ) => {\n const [uniqueId] = useState(id ?? generateId());\n return (\n <div className={`${styles.container} ${className ?? ''}`}>\n {label && (\n <label\n htmlFor={uniqueId}\n className={classnames('p-p', styles.label, {\n [styles['label--with-error']]: error,\n 'sr-only': hideLabel,\n })}\n >\n {label}\n </label>\n )}\n <div style={{ position: 'relative' }}>\n <input\n id={uniqueId}\n data-testid=\"ds-input-input\"\n type=\"text\"\n ref={ref}\n className={classnames(\n error ? 'p-input--error' : 'p-input',\n !label && placeholder && placeholder.length > 0\n ? styles.input\n : styles['input--no-placeholder'],\n { [styles['input--with-prefix']]: prefix }\n )}\n placeholder={label ? placeholder : ' '}\n disabled={disabled}\n {...props}\n />\n {prefix && (\n <span\n className={classnames(\n styles.prefix,\n { [styles['prefix--with-error']]: error },\n { [styles['prefix--disabled']]: disabled }\n )}\n >\n {prefix}\n </span>\n )}\n {!label && (\n <label\n htmlFor={uniqueId}\n className={classnames(\n styles.placeholder,\n { [styles['placeholder--with-prefix']]: prefix },\n { [styles['placeholder--with-error']]: error }\n )}\n >\n {placeholder}\n </label>\n )}\n </div>\n {error && (\n <p className={`p-p--small tc-red-500 w100 ${styles.error}`}>\n {error}\n </p>\n )}\n </div>\n );\n }\n);\n"],"names":["React","_jsxs","_jsx"],"mappings":";;;;;;;;;;;AAgBA,YAAeA,cAAK,CAAC,UAAU,CAC7B,UACE,EAUa,EACb,GAA0C;;IAVxC,IAAA,SAAS,eAAA,EACT,WAAW,iBAAA,EACX,KAAK,WAAA,EACL,EAAE,QAAA,EACF,MAAM,YAAA,EACN,KAAK,WAAA,EACL,QAAQ,cAAA,EACR,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACd,KAAK,cATV,uFAUC,CADS;IAIH,IAAA,QAAQ,GAAI,QAAQ,CAAC,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,UAAU,EAAE,CAAC,GAAhC,CAAiC;IAChD,QACEC,uBAAK,SAAS,EAAK,MAAM,CAAC,SAAS,UAAI,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAE,iBACrD,KAAK,KACJC,wBACE,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK;oBACvC,GAAC,MAAM,CAAC,mBAAmB,CAAC,IAAG,KAAK;oBACpC,aAAS,GAAE,SAAS;wBACpB,gBAED,KAAK,YACA,CACT;YACDD,uBAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAClCC,wBACE,EAAE,EAAE,QAAQ,iBACA,gBAAgB,EAC5B,IAAI,EAAC,MAAM,EACX,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,UAAU,CACnB,KAAK,GAAG,gBAAgB,GAAG,SAAS,EACpC,CAAC,KAAK,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;8BAC3C,MAAM,CAAC,KAAK;8BACZ,MAAM,CAAC,uBAAuB,CAAC,YACjC,GAAC,MAAM,CAAC,oBAAoB,CAAC,IAAG,MAAM,MACzC,EACD,WAAW,EAAE,KAAK,GAAG,WAAW,GAAG,GAAG,EACtC,QAAQ,EAAE,QAAQ,IACd,KAAK,UACT;oBACD,MAAM,KACLA,uBACE,SAAS,EAAE,UAAU,CACnB,MAAM,CAAC,MAAM,YACX,GAAC,MAAM,CAAC,oBAAoB,CAAC,IAAG,KAAK,iBACrC,GAAC,MAAM,CAAC,kBAAkB,CAAC,IAAG,QAAQ,MACzC,gBAEA,MAAM,YACF,CACR;oBACA,CAAC,KAAK,KACLA,wBACE,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAE,UAAU,CACnB,MAAM,CAAC,WAAW,YAChB,GAAC,MAAM,CAAC,0BAA0B,CAAC,IAAG,MAAM,iBAC5C,GAAC,MAAM,CAAC,yBAAyB,CAAC,IAAG,KAAK,MAC7C,gBAEA,WAAW,YACN,CACT,aACG;YACL,KAAK,KACJA,oBAAG,SAAS,EAAE,gCAA8B,MAAM,CAAC,KAAO,gBACvD,KAAK,YACJ,CACL,aACG,EACN;AACJ,CAAC,CACF;;;;"}