@chayns-components/core 5.0.0-beta.314 → 5.0.0-beta.320

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 (57) hide show
  1. package/lib/components/code-highlighter/CodeHighlighter.d.ts +27 -0
  2. package/lib/components/code-highlighter/CodeHighlighter.js +70 -0
  3. package/lib/components/code-highlighter/CodeHighlighter.js.map +1 -0
  4. package/lib/components/code-highlighter/CodeHighlighter.styles.d.ts +16 -0
  5. package/lib/components/code-highlighter/CodeHighlighter.styles.js +84 -0
  6. package/lib/components/code-highlighter/CodeHighlighter.styles.js.map +1 -0
  7. package/lib/components/code-highlighter/copy-to-clipboard/CopyToClipboard.d.ts +8 -0
  8. package/lib/components/code-highlighter/copy-to-clipboard/CopyToClipboard.js +38 -0
  9. package/lib/components/code-highlighter/copy-to-clipboard/CopyToClipboard.js.map +1 -0
  10. package/lib/components/code-highlighter/copy-to-clipboard/CopyToClipboard.styles.d.ts +274 -0
  11. package/lib/components/code-highlighter/copy-to-clipboard/CopyToClipboard.styles.js +10 -0
  12. package/lib/components/code-highlighter/copy-to-clipboard/CopyToClipboard.styles.js.map +1 -0
  13. package/lib/components/file-input/FileInput.d.ts +21 -0
  14. package/lib/components/file-input/FileInput.js +104 -0
  15. package/lib/components/file-input/FileInput.js.map +1 -0
  16. package/lib/components/file-input/FileInput.styles.d.ts +546 -0
  17. package/lib/components/file-input/FileInput.styles.js +35 -0
  18. package/lib/components/file-input/FileInput.styles.js.map +1 -0
  19. package/lib/components/file-input/file-list/FileListItem.d.ts +9 -0
  20. package/lib/components/file-input/file-list/FileListItem.js +36 -0
  21. package/lib/components/file-input/file-list/FileListItem.js.map +1 -0
  22. package/lib/components/file-input/file-list/FileListItem.styles.d.ts +274 -0
  23. package/lib/components/file-input/file-list/FileListItem.styles.js +10 -0
  24. package/lib/components/file-input/file-list/FileListItem.styles.js.map +1 -0
  25. package/lib/components/setup-wizard/SetupWizard.d.ts +23 -0
  26. package/lib/components/setup-wizard/SetupWizard.js +79 -0
  27. package/lib/components/setup-wizard/SetupWizard.js.map +1 -0
  28. package/lib/components/setup-wizard/SetupWizard.styles.d.ts +274 -0
  29. package/lib/components/setup-wizard/SetupWizard.styles.js +10 -0
  30. package/lib/components/setup-wizard/SetupWizard.styles.js.map +1 -0
  31. package/lib/components/setup-wizard/setup-wizard-item/SetupWizardItem.d.ts +25 -0
  32. package/lib/components/setup-wizard/setup-wizard-item/SetupWizardItem.js +60 -0
  33. package/lib/components/setup-wizard/setup-wizard-item/SetupWizardItem.js.map +1 -0
  34. package/lib/components/setup-wizard/setup-wizard-item/SetupWizardItem.styles.d.ts +546 -0
  35. package/lib/components/setup-wizard/setup-wizard-item/SetupWizardItem.styles.js +14 -0
  36. package/lib/components/setup-wizard/setup-wizard-item/SetupWizardItem.styles.js.map +1 -0
  37. package/lib/components/text-area/TextArea.styles.js +3 -3
  38. package/lib/components/text-area/TextArea.styles.js.map +1 -1
  39. package/lib/components/truncation/Truncation.d.ts +25 -0
  40. package/lib/components/truncation/Truncation.js +76 -0
  41. package/lib/components/truncation/Truncation.js.map +1 -0
  42. package/lib/components/truncation/Truncation.styles.d.ts +820 -0
  43. package/lib/components/truncation/Truncation.styles.js +18 -0
  44. package/lib/components/truncation/Truncation.styles.js.map +1 -0
  45. package/lib/index.d.ts +7 -0
  46. package/lib/index.js +35 -0
  47. package/lib/index.js.map +1 -1
  48. package/lib/types/codeHighlighter.d.ts +10 -0
  49. package/lib/types/codeHighlighter.js +12 -0
  50. package/lib/types/codeHighlighter.js.map +1 -0
  51. package/lib/utils/file.d.ts +363 -0
  52. package/lib/utils/file.js +402 -0
  53. package/lib/utils/file.js.map +1 -0
  54. package/lib/utils/truncation.d.ts +1 -0
  55. package/lib/utils/truncation.js +34 -0
  56. package/lib/utils/truncation.js.map +1 -0
  57. package/package.json +4 -2
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _framerMotion = require("framer-motion");
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _file = require("../../utils/file");
10
+ var _fileDialog = require("../../utils/fileDialog");
11
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
12
+ var _List = _interopRequireDefault(require("../list/List"));
13
+ var _FileListItem = _interopRequireDefault(require("./file-list/FileListItem"));
14
+ var _FileInput = require("./FileInput.styles");
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
+ const FileInput = _ref => {
19
+ let {
20
+ icons = ['fa fa-upload'],
21
+ onRemove,
22
+ onAdd,
23
+ placeholder = 'Dateien hinzufügen'
24
+ } = _ref;
25
+ const [internalFiles, setInternalFiles] = (0, _react.useState)([]);
26
+ const handleAddFiles = (0, _react.useCallback)(files => {
27
+ const newFileItems = [];
28
+ files.forEach(file => {
29
+ if (file && !(0, _file.filterDuplicateFile)({
30
+ files: internalFiles,
31
+ newFile: file
32
+ })) {
33
+ newFileItems.push(file);
34
+ }
35
+ });
36
+ if (newFileItems.length > 0 && typeof onAdd === 'function') {
37
+ onAdd(newFileItems);
38
+ }
39
+ setInternalFiles(prevState => [...prevState, ...newFileItems]);
40
+ }, [internalFiles, onAdd]);
41
+ const handleDeleteFile = (0, _react.useCallback)(fileName => {
42
+ let fileToDelete;
43
+ const filteredFiles = internalFiles.filter(file => {
44
+ const {
45
+ name
46
+ } = file;
47
+ if (name === fileName) {
48
+ fileToDelete = file;
49
+ }
50
+ return name !== fileName;
51
+ });
52
+ setInternalFiles(filteredFiles);
53
+ if (!fileToDelete || typeof onRemove !== 'function') {
54
+ return;
55
+ }
56
+ onRemove(fileToDelete);
57
+ }, [internalFiles, onRemove]);
58
+ const handleClick = (0, _react.useCallback)(async () => {
59
+ const files = await (0, _fileDialog.selectFiles)({
60
+ multiple: true
61
+ });
62
+ handleAddFiles(files);
63
+ }, [handleAddFiles]);
64
+ const handleDrop = (0, _react.useCallback)(e => {
65
+ e.preventDefault();
66
+ const draggedFiles = Array.from(e.dataTransfer.files);
67
+ handleAddFiles(draggedFiles);
68
+ }, [handleAddFiles]);
69
+ const content = (0, _react.useMemo)(() => {
70
+ const items = internalFiles.map(file => /*#__PURE__*/_react.default.createElement(_FileInput.StyledMotionFileInputList, {
71
+ animate: {
72
+ height: 'auto',
73
+ opacity: 1
74
+ },
75
+ exit: {
76
+ height: 0,
77
+ opacity: 0
78
+ },
79
+ key: file.name,
80
+ transition: {
81
+ duration: 0.25,
82
+ type: 'tween'
83
+ }
84
+ }, /*#__PURE__*/_react.default.createElement(_FileListItem.default, {
85
+ fileType: file.type,
86
+ fileName: file.name,
87
+ fileSize: file.size,
88
+ onRemove: handleDeleteFile
89
+ })));
90
+ return items;
91
+ }, [handleDeleteFile, internalFiles]);
92
+ return (0, _react.useMemo)(() => /*#__PURE__*/_react.default.createElement(_FileInput.StyledFileInput, null, /*#__PURE__*/_react.default.createElement(_FileInput.StyledFileInputContainer, {
93
+ onClick: () => void handleClick(),
94
+ onDragOver: e => e.preventDefault(),
95
+ onDrop: e => void handleDrop(e)
96
+ }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
97
+ icons: icons
98
+ }), /*#__PURE__*/_react.default.createElement(_FileInput.StyledFileInputText, null, placeholder)), /*#__PURE__*/_react.default.createElement(_List.default, null, /*#__PURE__*/_react.default.createElement(_framerMotion.AnimatePresence, {
99
+ initial: false
100
+ }, content))), [content, handleClick, handleDrop, icons, placeholder]);
101
+ };
102
+ FileInput.displayName = 'FileInput';
103
+ var _default = exports.default = FileInput;
104
+ //# sourceMappingURL=FileInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileInput.js","names":["_framerMotion","require","_react","_interopRequireWildcard","_file","_fileDialog","_Icon","_interopRequireDefault","_List","_FileListItem","_FileInput","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","FileInput","_ref","icons","onRemove","onAdd","placeholder","internalFiles","setInternalFiles","useState","handleAddFiles","useCallback","files","newFileItems","forEach","file","filterDuplicateFile","newFile","push","length","prevState","handleDeleteFile","fileName","fileToDelete","filteredFiles","filter","name","handleClick","selectFiles","multiple","handleDrop","preventDefault","draggedFiles","Array","from","dataTransfer","content","useMemo","items","map","createElement","StyledMotionFileInputList","animate","height","opacity","exit","key","transition","duration","type","fileType","fileSize","size","StyledFileInput","StyledFileInputContainer","onClick","onDragOver","onDrop","StyledFileInputText","AnimatePresence","initial","displayName","_default","exports"],"sources":["../../../src/components/file-input/FileInput.tsx"],"sourcesContent":["import { AnimatePresence } from 'framer-motion';\nimport React, { DragEvent, FC, ReactElement, useCallback, useMemo, useState } from 'react';\nimport { filterDuplicateFile } from '../../utils/file';\nimport { selectFiles } from '../../utils/fileDialog';\nimport Icon from '../icon/Icon';\nimport List from '../list/List';\nimport FileListItem from './file-list/FileListItem';\nimport {\n StyledFileInput,\n StyledFileInputContainer,\n StyledFileInputText,\n StyledMotionFileInputList,\n} from './FileInput.styles';\n\nexport type FileInputProps = {\n /**\n * An array of icons that should be displayed inside the FileInput\n */\n icons?: string[];\n /**\n * A function to be executed when files are added.\n */\n onAdd?: (files: File[]) => void;\n /**\n * A function to be executed when a file is removed.\n */\n onRemove?: (file: File) => void;\n /**\n * The text that should be displayed inside the FileInput\n */\n placeholder?: string;\n};\n\nconst FileInput: FC<FileInputProps> = ({\n icons = ['fa fa-upload'],\n onRemove,\n onAdd,\n placeholder = 'Dateien hinzufügen',\n}) => {\n const [internalFiles, setInternalFiles] = useState<File[]>([]);\n\n const handleAddFiles = useCallback(\n (files: File[]) => {\n const newFileItems: File[] = [];\n\n files.forEach((file) => {\n if (file && !filterDuplicateFile({ files: internalFiles, newFile: file })) {\n newFileItems.push(file);\n }\n });\n\n if (newFileItems.length > 0 && typeof onAdd === 'function') {\n onAdd(newFileItems);\n }\n\n setInternalFiles((prevState) => [...prevState, ...newFileItems]);\n },\n [internalFiles, onAdd],\n );\n\n const handleDeleteFile = useCallback(\n (fileName?: string) => {\n let fileToDelete: File | undefined;\n\n const filteredFiles = internalFiles.filter((file) => {\n const { name } = file;\n\n if (name === fileName) {\n fileToDelete = file;\n }\n\n return name !== fileName;\n });\n\n setInternalFiles(filteredFiles);\n\n if (!fileToDelete || typeof onRemove !== 'function') {\n return;\n }\n\n onRemove(fileToDelete);\n },\n [internalFiles, onRemove],\n );\n\n const handleClick = useCallback(async () => {\n const files = await selectFiles({\n multiple: true,\n });\n\n handleAddFiles(files);\n }, [handleAddFiles]);\n\n const handleDrop = useCallback(\n (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n const draggedFiles = Array.from(e.dataTransfer.files);\n\n handleAddFiles(draggedFiles);\n },\n [handleAddFiles],\n );\n\n const content = useMemo(() => {\n const items: ReactElement[] = internalFiles.map((file) => (\n <StyledMotionFileInputList\n animate={{ height: 'auto', opacity: 1 }}\n exit={{ height: 0, opacity: 0 }}\n key={file.name}\n transition={{ duration: 0.25, type: 'tween' }}\n >\n <FileListItem\n fileType={file.type}\n fileName={file.name}\n fileSize={file.size}\n onRemove={handleDeleteFile}\n />\n </StyledMotionFileInputList>\n ));\n\n return items;\n }, [handleDeleteFile, internalFiles]);\n\n return useMemo(\n () => (\n <StyledFileInput>\n <StyledFileInputContainer\n onClick={() => void handleClick()}\n onDragOver={(e: DragEvent<HTMLDivElement>) => e.preventDefault()}\n onDrop={(e: DragEvent<HTMLDivElement>) => void handleDrop(e)}\n >\n <Icon icons={icons} />\n <StyledFileInputText>{placeholder}</StyledFileInputText>\n </StyledFileInputContainer>\n <List>\n <AnimatePresence initial={false}>{content}</AnimatePresence>\n </List>\n </StyledFileInput>\n ),\n [content, handleClick, handleDrop, icons, placeholder],\n );\n};\n\nFileInput.displayName = 'FileInput';\n\nexport default FileInput;\n"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,KAAA,GAAAD,sBAAA,CAAAN,OAAA;AACA,IAAAQ,aAAA,GAAAF,sBAAA,CAAAN,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AAK4B,SAAAM,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAZ,wBAAAY,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAqB5B,MAAMY,SAA6B,GAAGC,IAAA,IAKhC;EAAA,IALiC;IACnCC,KAAK,GAAG,CAAC,cAAc,CAAC;IACxBC,QAAQ;IACRC,KAAK;IACLC,WAAW,GAAG;EAClB,CAAC,GAAAJ,IAAA;EACG,MAAM,CAACK,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAAS,EAAE,CAAC;EAE9D,MAAMC,cAAc,GAAG,IAAAC,kBAAW,EAC7BC,KAAa,IAAK;IACf,MAAMC,YAAoB,GAAG,EAAE;IAE/BD,KAAK,CAACE,OAAO,CAAEC,IAAI,IAAK;MACpB,IAAIA,IAAI,IAAI,CAAC,IAAAC,yBAAmB,EAAC;QAAEJ,KAAK,EAAEL,aAAa;QAAEU,OAAO,EAAEF;MAAK,CAAC,CAAC,EAAE;QACvEF,YAAY,CAACK,IAAI,CAACH,IAAI,CAAC;MAC3B;IACJ,CAAC,CAAC;IAEF,IAAIF,YAAY,CAACM,MAAM,GAAG,CAAC,IAAI,OAAOd,KAAK,KAAK,UAAU,EAAE;MACxDA,KAAK,CAACQ,YAAY,CAAC;IACvB;IAEAL,gBAAgB,CAAEY,SAAS,IAAK,CAAC,GAAGA,SAAS,EAAE,GAAGP,YAAY,CAAC,CAAC;EACpE,CAAC,EACD,CAACN,aAAa,EAAEF,KAAK,CACzB,CAAC;EAED,MAAMgB,gBAAgB,GAAG,IAAAV,kBAAW,EAC/BW,QAAiB,IAAK;IACnB,IAAIC,YAA8B;IAElC,MAAMC,aAAa,GAAGjB,aAAa,CAACkB,MAAM,CAAEV,IAAI,IAAK;MACjD,MAAM;QAAEW;MAAK,CAAC,GAAGX,IAAI;MAErB,IAAIW,IAAI,KAAKJ,QAAQ,EAAE;QACnBC,YAAY,GAAGR,IAAI;MACvB;MAEA,OAAOW,IAAI,KAAKJ,QAAQ;IAC5B,CAAC,CAAC;IAEFd,gBAAgB,CAACgB,aAAa,CAAC;IAE/B,IAAI,CAACD,YAAY,IAAI,OAAOnB,QAAQ,KAAK,UAAU,EAAE;MACjD;IACJ;IAEAA,QAAQ,CAACmB,YAAY,CAAC;EAC1B,CAAC,EACD,CAAChB,aAAa,EAAEH,QAAQ,CAC5B,CAAC;EAED,MAAMuB,WAAW,GAAG,IAAAhB,kBAAW,EAAC,YAAY;IACxC,MAAMC,KAAK,GAAG,MAAM,IAAAgB,uBAAW,EAAC;MAC5BC,QAAQ,EAAE;IACd,CAAC,CAAC;IAEFnB,cAAc,CAACE,KAAK,CAAC;EACzB,CAAC,EAAE,CAACF,cAAc,CAAC,CAAC;EAEpB,MAAMoB,UAAU,GAAG,IAAAnB,kBAAW,EACzB5B,CAA4B,IAAK;IAC9BA,CAAC,CAACgD,cAAc,CAAC,CAAC;IAClB,MAAMC,YAAY,GAAGC,KAAK,CAACC,IAAI,CAACnD,CAAC,CAACoD,YAAY,CAACvB,KAAK,CAAC;IAErDF,cAAc,CAACsB,YAAY,CAAC;EAChC,CAAC,EACD,CAACtB,cAAc,CACnB,CAAC;EAED,MAAM0B,OAAO,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC1B,MAAMC,KAAqB,GAAG/B,aAAa,CAACgC,GAAG,CAAExB,IAAI,iBACjD7C,MAAA,CAAAW,OAAA,CAAA2D,aAAA,CAAC9D,UAAA,CAAA+D,yBAAyB;MACtBC,OAAO,EAAE;QAAEC,MAAM,EAAE,MAAM;QAAEC,OAAO,EAAE;MAAE,CAAE;MACxCC,IAAI,EAAE;QAAEF,MAAM,EAAE,CAAC;QAAEC,OAAO,EAAE;MAAE,CAAE;MAChCE,GAAG,EAAE/B,IAAI,CAACW,IAAK;MACfqB,UAAU,EAAE;QAAEC,QAAQ,EAAE,IAAI;QAAEC,IAAI,EAAE;MAAQ;IAAE,gBAE9C/E,MAAA,CAAAW,OAAA,CAAA2D,aAAA,CAAC/D,aAAA,CAAAI,OAAY;MACTqE,QAAQ,EAAEnC,IAAI,CAACkC,IAAK;MACpB3B,QAAQ,EAAEP,IAAI,CAACW,IAAK;MACpByB,QAAQ,EAAEpC,IAAI,CAACqC,IAAK;MACpBhD,QAAQ,EAAEiB;IAAiB,CAC9B,CACsB,CAC9B,CAAC;IAEF,OAAOiB,KAAK;EAChB,CAAC,EAAE,CAACjB,gBAAgB,EAAEd,aAAa,CAAC,CAAC;EAErC,OAAO,IAAA8B,cAAO,EACV,mBACInE,MAAA,CAAAW,OAAA,CAAA2D,aAAA,CAAC9D,UAAA,CAAA2E,eAAe,qBACZnF,MAAA,CAAAW,OAAA,CAAA2D,aAAA,CAAC9D,UAAA,CAAA4E,wBAAwB;IACrBC,OAAO,EAAEA,CAAA,KAAM,KAAK5B,WAAW,CAAC,CAAE;IAClC6B,UAAU,EAAGzE,CAA4B,IAAKA,CAAC,CAACgD,cAAc,CAAC,CAAE;IACjE0B,MAAM,EAAG1E,CAA4B,IAAK,KAAK+C,UAAU,CAAC/C,CAAC;EAAE,gBAE7Db,MAAA,CAAAW,OAAA,CAAA2D,aAAA,CAAClE,KAAA,CAAAO,OAAI;IAACsB,KAAK,EAAEA;EAAM,CAAE,CAAC,eACtBjC,MAAA,CAAAW,OAAA,CAAA2D,aAAA,CAAC9D,UAAA,CAAAgF,mBAAmB,QAAEpD,WAAiC,CACjC,CAAC,eAC3BpC,MAAA,CAAAW,OAAA,CAAA2D,aAAA,CAAChE,KAAA,CAAAK,OAAI,qBACDX,MAAA,CAAAW,OAAA,CAAA2D,aAAA,CAACxE,aAAA,CAAA2F,eAAe;IAACC,OAAO,EAAE;EAAM,GAAExB,OAAyB,CACzD,CACO,CACpB,EACD,CAACA,OAAO,EAAET,WAAW,EAAEG,UAAU,EAAE3B,KAAK,EAAEG,WAAW,CACzD,CAAC;AACL,CAAC;AAEDL,SAAS,CAAC4D,WAAW,GAAG,WAAW;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAlF,OAAA,GAErBoB,SAAS"}