spotlibs-components 0.1.13 → 0.1.14

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/legacy/atoms/icons/arrow-left.jsx","../src/components/legacy/atoms/icons/add.jsx","../src/components/legacy/atoms/icons/arrow-right.jsx","../src/components/legacy/atoms/icons/auction-hammer.jsx","../src/components/legacy/atoms/icons/biometric-scan.jsx","../src/components/legacy/atoms/icons/broken-image.jsx","../src/components/legacy/atoms/icons/calculator.jsx","../src/components/legacy/atoms/icons/calendar.jsx","../src/components/legacy/atoms/icons/capslock-on.jsx","../src/components/legacy/atoms/icons/card.jsx","../src/components/legacy/atoms/icons/cash.jsx","../src/components/atoms/colors/primitive/primitive.jsx","../src/components/legacy/atoms/icons/checkbox-border.jsx","../src/components/legacy/atoms/icons/checkbox-checked.jsx","../src/components/legacy/atoms/icons/checklist-green.jsx","../src/components/legacy/atoms/icons/chevron-left.jsx","../src/components/legacy/atoms/icons/chevron-right.jsx","../src/components/legacy/atoms/icons/circle-check.jsx","../src/components/legacy/atoms/icons/circle-cross.jsx","../src/components/legacy/atoms/icons/comment-buble.jsx","../src/components/legacy/atoms/icons/confeti.jsx","../src/components/legacy/atoms/icons/cross-line.jsx","../src/components/legacy/atoms/icons/cross.jsx","../src/components/legacy/atoms/icons/dashboard.jsx","../src/components/legacy/atoms/icons/delete-bin.jsx","../src/components/legacy/atoms/icons/document-add-outline.jsx","../src/components/legacy/atoms/icons/document-add.jsx","../src/components/legacy/atoms/icons/document-not-found.jsx","../src/components/legacy/atoms/icons/document-sleve.jsx","../src/components/legacy/atoms/icons/document.jsx","../src/components/legacy/atoms/icons/download-document.jsx","../src/components/legacy/atoms/icons/download-icon.jsx","../src/components/legacy/atoms/icons/download-outline.jsx","../src/components/legacy/atoms/icons/download.jsx","../src/components/legacy/atoms/icons/duplicate.jsx","../src/components/legacy/atoms/icons/edit.jsx","../src/components/legacy/atoms/icons/exclamation.jsx","../src/components/legacy/atoms/icons/file-outline-custom.jsx","../src/components/legacy/atoms/icons/file-outline.jsx","../src/components/legacy/atoms/icons/file-sleve.jsx","../src/components/legacy/atoms/icons/file.jsx","../src/components/legacy/atoms/icons/finger-scan.jsx","../src/components/legacy/atoms/icons/generate-document.jsx","../src/components/legacy/atoms/icons/grading-rounded.jsx","../src/components/legacy/atoms/icons/handstop-sign.jsx","../src/components/legacy/atoms/icons/home-asset.jsx","../src/components/legacy/atoms/icons/home-outlined.jsx","../src/components/legacy/atoms/icons/image.jsx","../src/components/legacy/atoms/icons/info-bg-putih.jsx","../src/components/legacy/atoms/icons/info-hover.jsx","../src/components/legacy/atoms/icons/info.jsx","../src/components/legacy/atoms/icons/list-document.jsx","../src/components/legacy/atoms/icons/modal-close.jsx","../src/components/legacy/atoms/icons/money-icon.jsx","../src/components/legacy/atoms/icons/money-one.jsx","../src/components/legacy/atoms/icons/money-two.jsx","../src/components/legacy/atoms/icons/money.jsx","../src/components/legacy/atoms/icons/no-data.jsx","../src/components/legacy/atoms/icons/not-found.jsx","../src/components/legacy/atoms/icons/people-group.jsx","../src/components/legacy/atoms/icons/people.jsx","../src/components/legacy/atoms/icons/person.jsx","../src/components/legacy/atoms/icons/phone.jsx","../src/components/legacy/atoms/icons/plus.jsx","../src/components/legacy/atoms/icons/progress.jsx","../src/components/legacy/atoms/icons/recycle.jsx","../src/components/legacy/atoms/icons/reset.jsx","../src/components/legacy/atoms/icons/save-outlined.jsx","../src/components/legacy/atoms/icons/save.jsx","../src/components/legacy/atoms/icons/search.jsx","../src/components/legacy/atoms/icons/send-blue.jsx","../src/components/legacy/atoms/icons/send-orange.jsx","../src/components/legacy/atoms/icons/send-white-full.jsx","../src/components/legacy/atoms/icons/send-white.jsx","../src/components/legacy/atoms/icons/shuffle.jsx","../src/components/legacy/atoms/icons/step-on-progress.jsx","../src/components/legacy/atoms/icons/target-dart.jsx","../src/components/legacy/atoms/icons/thumbs-up.jsx","../src/components/legacy/atoms/icons/trash-outline.jsx","../src/components/legacy/atoms/icons/trash.jsx","../src/components/legacy/atoms/icons/upload.jsx","../src/components/legacy/atoms/icons/user-scan.jsx","../src/components/legacy/atoms/icons/user.jsx","../src/components/legacy/atoms/icons/users-icon.jsx","../src/components/legacy/atoms/icons/verification.jsx","../src/components/legacy/atoms/icons/wallet.jsx","../src/components/legacy/atoms/icons/warning-triangle.jsx","../src/components/legacy/atoms/icons/loader-icon.jsx","../src/components/legacy/atoms/icons/upload-icon.jsx","../src/components/legacy/atoms/icons/arrow-up-down-icon.jsx","../src/components/legacy/atoms/icons/maximize-icon.jsx","../src/components/legacy/atoms/icons/minimize-icon.jsx","../src/components/legacy/atoms/icons/suffle-icon.jsx","../src/components/legacy/atoms/icons/refresh-icon.jsx","../src/components/legacy/atoms/icons/reload-icon.jsx","../src/components/legacy/atoms/icons/logout-icon.jsx","../src/components/legacy/atoms/icons/arrow-chevron-down-icon.jsx","../src/components/legacy/atoms/icons/arrow-chevron-up-icon.jsx","../src/components/legacy/atoms/icons/arrow-standard-down-icon.jsx","../src/components/legacy/atoms/icons/arrow-standard-left-icon.jsx","../src/components/legacy/atoms/icons/arrow-standard-right-icon.jsx","../src/components/legacy/atoms/icons/arrow-standard-up-right-icon.jsx","../src/components/legacy/atoms/icons/arrow-standard-up-icon.jsx","../src/components/legacy/atoms/icons/arrow-frame-outline-up-icon.jsx","../src/components/legacy/atoms/icons/arrow-frame-outline-right-icon.jsx","../src/components/legacy/atoms/icons/arrow-frame-outline-down-icon.jsx","../src/components/legacy/atoms/icons/arrow-frame-outline-left-icon.jsx","../src/components/legacy/molecules/table/serverside-pagination-actions/serverside-pagination-actions.jsx","../src/components/atoms/colors/derived/derived.jsx","../src/components/atoms/radius/radius/radius.jsx","../src/components/atoms/typography/typography/typography.jsx","../src/components/atoms/spacing_layout/spacing/spacing.jsx","../src/components/atoms/alerts/alert/alert.jsx","../src/components/atoms/shadow/shadow/shadow.jsx","../src/components/atoms/buttons/button/button.jsx","../src/components/atoms/cards/card/card.jsx","../src/components/atoms/switch/switch/switch.jsx","../src/components/molecules/checkbox/checkbox/checkbox.jsx","../src/components/molecules/datatable/base-datatable/base-datatable.jsx","../src/components/molecules/datepicker/datepicker/datepicker.jsx","../src/components/molecules/dropdown/dropdown/dropdown.jsx","../src/components/molecules/dropzone/dropzone/dropzone.jsx","../src/components/molecules/radio/radio/radio.jsx","../src/components/molecules/stepper/stepper/stepper.jsx","../src/components/molecules/textfields/textfield/textfield.jsx","../src/components/molecules/textfields/textfield-upload/textfield-upload.jsx","../src/components/molecules/textfields/textfield-area/imports.jsx","../src/components/molecules/textfields/textfield-area/textfield-area.jsx","../src/components/organisms/modals/modal/modal.jsx","../src/components/organisms/modals/modal-stepper/modal-stepper.jsx","../src/components/organisms/modals/modal-otp/modal-otp.jsx"],"names":["jsx","jsxs","_a","_b","Box","BoxRaw","IconButton","IconButtonRaw","useState","CheckboxRaw","id","useMemo","IconSquare","IconSquareCheckFilled","_c","_d","_e","PropTypes","React","TypographyRaw","DatePickerRaw","DateTimePickerRaw","TimePickerRaw","useEffect","Fragment","CloseIcon","Typography","useController","IconTrash","IconUpload","IconAlertTriangle","FormControlLabel","FormControlLabelRaw","CheckIconRaw","styled","steps","InputAdornment","InputAdornmentRaw","TextField","TextFieldRaw","useRef","useCallback","allowedKeys","e","pastedData","selectionStart","selectionEnd","IconInfoCircle","Button","ButtonRaw","CloseIconRaw","CheckIcon","FailedIconRaw","Dialog","DialogRaw","DialogTitle","DialogTitleRaw","DialogContent","DialogContentRaw","DialogActions","DialogActionsRaw","Stepper","StepperRaw","Step","StepRaw","StepLabel","StepLabelRaw","Tooltip","TooltipRaw","CircularProgress","CircularProgressRaw","HtmlTooltip","tooltipClasses","CustomCheckIcon","ColorlibStepIcon","props"],"mappings":"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","file":"index.mjs","sourcesContent":["export const ArrowLeft = ({ color }) => {\r\n return (\r\n // <svg\r\n // width='18'\r\n // height='19'\r\n // viewBox='0 0 18 19'\r\n // fill={color ? color : 'none'}\r\n // xmlns='http://www.w3.org/2000/svg'\r\n // >\r\n // <circle cx='9' cy='9.41992' r='9' fill='#E84040' />\r\n // <path\r\n // d='M5.30914 5.66992L12.5625 12.9824M12.5034 5.66992L5.25 12.9824'\r\n // stroke='white'\r\n // strokeWidth='1.51198'\r\n // strokeLinecap='round'\r\n // />\r\n // </svg>\r\n <svg \r\n width=\"8\" \r\n height=\"15\" \r\n viewBox=\"0 0 8 15\" \r\n fill={color ? color : 'none'} \r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n\r\n <path \r\n d=\"M7.40185 14.5137C7.49633 14.42 7.57132 14.3085 7.62249 14.1856C7.67366 14.0628 7.70001 13.9311 7.70001 13.798C7.70001 13.6649 7.67366 13.5332 7.62249 13.4104C7.57132 13.2875 7.49633 13.176 7.40185 13.0823L2.78528 8.46574C2.6908 8.37204 2.61582 8.26055 2.56464 8.13772C2.51347 8.01489 2.48712 7.88314 2.48712 7.75007C2.48712 7.61701 2.51347 7.48526 2.56464 7.36242C2.61582 7.23959 2.6908 7.12811 2.78528 7.0344L7.40185 2.41782C7.49633 2.32411 7.57132 2.21263 7.62249 2.08979C7.67367 1.96696 7.70001 1.83521 7.70001 1.70215C7.70001 1.56908 7.67367 1.43733 7.62249 1.3145C7.57132 1.19166 7.49633 1.08018 7.40185 0.986475C7.21299 0.798736 6.95752 0.693359 6.69122 0.693359C6.42493 0.693359 6.16945 0.798736 5.98059 0.986475L1.35394 5.61314C0.787654 6.18013 0.469575 6.94872 0.469575 7.75007C0.469575 8.55143 0.787654 9.32001 1.35394 9.88701L5.98059 14.5137C6.16945 14.7014 6.42493 14.8068 6.69122 14.8068C6.95752 14.8068 7.21299 14.7014 7.40185 14.5137Z\" \r\n fill=\"#004B8F\"/>\r\n </svg>\r\n )\r\n}\r\n","export const IconAdd = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clipPath=\"url(#clip0_3991_92058)\">\r\n <path d=\"M5 12H19\" stroke={color ?? \"#ffffff\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path d=\"M12 5L12 19\" stroke={color ?? \"#ffffff\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3991_92058\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n );\r\n};\r\n","export const ArrowRight = (color) => {\r\n return (\r\n <svg width=\"90\" height=\"18\" viewBox=\"0 0 90 18\" fill={color ? color : 'none'} xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M89.3624 9L74.3624 0.339746V17.6603L89.3624 9ZM0.339966 10.5H75.8624V7.5H0.339966V10.5Z\" fill=\"#00529C\"/>\r\n </svg>\r\n )\r\n }\r\n ","export const AuctionHammerIcon = ({ color, outline }) => {\r\n return (\r\n <svg\r\n width='18'\r\n height='18'\r\n viewBox='0 0 16 16'\r\n fill={color ? color : 'none'}\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M8.80719 6.48498L14.5222 12.2272C15.1593 12.862 15.1593 13.89 14.5222 14.5239C14.2162 14.8284 13.802 14.9992 13.3704 14.9992C12.9387 14.9992 12.5246 14.8284 12.2185 14.5239L6.48496 8.80726M8.80719 6.48498L5.71089 3.38861M8.80719 6.48498L9.19421 6.8721L10.9692 5.09711C11.1143 4.95194 11.1958 4.75508 11.1958 4.54982C11.1958 4.34456 11.1143 4.1477 10.9692 4.00254L8.19333 1.22664C8.04817 1.08152 7.85131 1 7.64606 1C7.4408 1 7.24394 1.08152 7.09878 1.22664L5.32383 3.00164L5.71089 3.38861M8.80719 6.48498L6.48496 8.80726M6.48496 8.80726L3.38866 5.71089M6.48496 8.80726L6.87198 9.19438L5.09702 10.9694C4.95186 11.1145 4.75501 11.196 4.54975 11.196C4.34449 11.196 4.14764 11.1145 4.00248 10.9694L1.22664 8.19348C1.08152 8.04831 1 7.85145 1 7.64619C1 7.44093 1.08152 7.24407 1.22664 7.09891L3.0016 5.32392L3.38866 5.71089M3.38866 5.71089L5.71089 3.38861M1.06643 15H6.48496'\r\n stroke={outline ? outline : '#00529C'}\r\n strokeWidth='1.35'\r\n strokeLinecap='round'\r\n strokeLinejoin='round'\r\n />\r\n </svg>\r\n )\r\n}\r\n","export const IconBiometricScan = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"64\" height=\"64\" viewBox=\"0 0 64 64\" fill=\"none\">\r\n <path d=\"M8 17V14C8 12.4087 8.63214 10.8826 9.75736 9.75736C10.8826 8.63214 12.4087 8 14 8H20M8 47V50C8 51.5913 8.63214 53.1174 9.75736 54.2426C10.8826 55.3679 12.4087 56 14 56H20M44 8H50C51.5913 8 53.1174 8.63214 54.2426 9.75736C55.3679 10.8826 56 12.4087 56 14V17M44 56H50C51.5913 56 53.1174 55.3679 54.2426 54.2426C55.3679 53.1174 56 51.5913 56 50V47\" stroke=\"#00529C\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path d=\"M28 29.3333H28.0133M36 29.3333H36.0133M28.6667 36C29.1012 36.4435 29.6198 36.7958 30.1922 37.0363C30.7645 37.2768 31.3791 37.4007 32 37.4007C32.6209 37.4007 33.2355 37.2768 33.8078 37.0363C34.3802 36.7958 34.8988 36.4435 35.3333 36M20 32C20 33.5759 20.3104 35.1363 20.9134 36.5922C21.5165 38.0481 22.4004 39.371 23.5147 40.4853C24.629 41.5996 25.9519 42.4835 27.4078 43.0866C28.8637 43.6896 30.4241 44 32 44C33.5759 44 35.1363 43.6896 36.5922 43.0866C38.0481 42.4835 39.371 41.5996 40.4853 40.4853C41.5996 39.371 42.4835 38.0481 43.0866 36.5922C43.6896 35.1363 44 33.5759 44 32C44 30.4241 43.6896 28.8637 43.0866 27.4078C42.4835 25.9519 41.5996 24.629 40.4853 23.5147C39.371 22.4004 38.0481 21.5165 36.5922 20.9134C35.1363 20.3104 33.5759 20 32 20C30.4241 20 28.8637 20.3104 27.4078 20.9134C25.9519 21.5165 24.629 22.4004 23.5147 23.5147C22.4004 24.629 21.5165 25.9519 20.9134 27.4078C20.3104 28.8637 20 30.4241 20 32Z\" stroke={color ?? \"none\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n };","export const IconBrokenImage = ({ color }) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <g clipPath=\"url(#clip0_7033_1971)\">\r\n <path d=\"M15 8H15.01\" stroke={color ?? '#999999'} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path d=\"M7 3H18C18.7956 3 19.5587 3.31607 20.1213 3.87868C20.6839 4.44129 21 5.20435 21 6V17M20.144 20.099C19.8649 20.3847 19.5314 20.6117 19.1632 20.7664C18.7949 20.9212 18.3994 21.0006 18 21H6C5.20435 21 4.44129 20.6839 3.87868 20.1213C3.31607 19.5587 3 18.7956 3 18V6C3 5.155 3.349 4.392 3.91 3.847\" stroke={color ?? '#999999'} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path d=\"M3 15.9979L8 10.9979C8.928 10.1049 10.072 10.1049 11 10.9979L16 15.9979\" stroke={color ?? '#999999'} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path d=\"M16.3281 12.3361C16.9021 12.2821 17.4831 12.5021 17.9981 12.9981L20.9981 15.9981\" stroke={color ?? '#999999'} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path d=\"M3 3L21 21\" stroke={color ?? '#999999'} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_7033_1971\">\r\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n )\r\n}","import * as React from \"react\";\r\n\r\nexport const CalculatorIcon = (color) => {\r\n return (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"18\"\r\n height=\"20\"\r\n fill={color ? color : \"none\"} // <-- bisa pakai color prop\r\n viewBox=\"0 0 23 25\"\r\n >\r\n <path\r\n d=\"M17.375 24.058H5.615a4.906 4.906 0 0 1-4.9-4.9V5.438a4.906 4.906 0 0 1 4.9-4.9h11.76a4.906 4.906 0 0 1 4.9 4.9v13.72a4.906 4.906 0 0 1-4.9 4.9M5.615 2.498a2.94 2.94 0 0 0-2.94 2.94v13.72a2.94 2.94 0 0 0 2.94 2.94h11.76a2.94 2.94 0 0 0 2.94-2.94V5.438a2.94 2.94 0 0 0-2.94-2.94zm9.8 7.84h-7.84a2.94 2.94 0 1 1 0-5.88h7.84a2.94 2.94 0 1 1 0 5.88m-7.84-3.92a.98.98 0 0 0 0 1.96h7.84a.98.98 0 0 0 0-1.96zm-1.96 6.86a.98.98 0 1 0 0 1.96.98.98 0 0 0 0-1.96m3.92 0a.98.98 0 1 0 0 1.96.98.98 0 0 0 0-1.96m3.92 0a.98.98 0 1 0 0 1.96.98.98 0 0 0 0-1.96m-7.84 3.92a.98.98 0 1 0 0 1.96.98.98 0 0 0 0-1.96m3.92 0a.98.98 0 1 0 0 1.96.98.98 0 0 0 0-1.96m7.84-3.92a.98.98 0 1 0 0 1.96.98.98 0 0 0 0-1.96m.98 4.9a.98.98 0 0 0-.98-.98h-3.92a.98.98 0 0 0 0 1.96h3.92a.98.98 0 0 0 .98-.98\"\r\n fill={color ? color : \"#fff\"} // <-- default putih kalau ga dikasih color\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconCalendar = ({ color }) => {\r\n return (\r\n <svg\r\n width='20'\r\n height='20'\r\n viewBox='0 0 20 20'\r\n fill='none'\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M17.0455 0C17.8291 0 18.5805 0.311281 19.1346 0.865366C19.6887 1.41945 20 2.17095 20 2.95455V17.0455C20 17.8291 19.6887 18.5805 19.1346 19.1346C18.5805 19.6887 17.8291 20 17.0455 20H2.95455C2.17095 20 1.41945 19.6887 0.865366 19.1346C0.311281 18.5805 0 17.8291 0 17.0455V2.95455C0 2.17095 0.311281 1.41945 0.865366 0.865366C1.41945 0.311281 2.17095 0 2.95455 0H17.0455ZM18.6364 5.91182H1.36364V17.0455C1.36364 17.9236 2.07636 18.6364 2.95455 18.6364H17.0455C17.4674 18.6364 17.872 18.4688 18.1704 18.1704C18.4688 17.872 18.6364 17.4674 18.6364 17.0455V5.91182ZM5.22636 13.1827C5.52775 13.1827 5.81678 13.3025 6.02989 13.5156C6.243 13.7287 6.36273 14.0177 6.36273 14.3191C6.36273 14.6205 6.243 14.9095 6.02989 15.1226C5.81678 15.3357 5.52775 15.4555 5.22636 15.4555C4.92498 15.4555 4.63594 15.3357 4.42283 15.1226C4.20972 14.9095 4.09 14.6205 4.09 14.3191C4.09 14.0177 4.20972 13.7287 4.42283 13.5156C4.63594 13.3025 4.92498 13.1827 5.22636 13.1827ZM10.0027 13.1827C10.3041 13.1827 10.5931 13.3025 10.8063 13.5156C11.0194 13.7287 11.1391 14.0177 11.1391 14.3191C11.1391 14.6205 11.0194 14.9095 10.8063 15.1226C10.5931 15.3357 10.3041 15.4555 10.0027 15.4555C9.70135 15.4555 9.41231 15.3357 9.1992 15.1226C8.98609 14.9095 8.86636 14.6205 8.86636 14.3191C8.86636 14.0177 8.98609 13.7287 9.1992 13.5156C9.41231 13.3025 9.70135 13.1827 10.0027 13.1827ZM5.22636 8.63727C5.52775 8.63727 5.81678 8.757 6.02989 8.97011C6.243 9.18322 6.36273 9.47225 6.36273 9.77364C6.36273 10.075 6.243 10.3641 6.02989 10.5772C5.81678 10.7903 5.52775 10.91 5.22636 10.91C4.92498 10.91 4.63594 10.7903 4.42283 10.5772C4.20972 10.3641 4.09 10.075 4.09 9.77364C4.09 9.47225 4.20972 9.18322 4.42283 8.97011C4.63594 8.757 4.92498 8.63727 5.22636 8.63727ZM10.0027 8.63727C10.3041 8.63727 10.5931 8.757 10.8063 8.97011C11.0194 9.18322 11.1391 9.47225 11.1391 9.77364C11.1391 10.075 11.0194 10.3641 10.8063 10.5772C10.5931 10.7903 10.3041 10.91 10.0027 10.91C9.70135 10.91 9.41231 10.7903 9.1992 10.5772C8.98609 10.3641 8.86636 10.075 8.86636 9.77364C8.86636 9.47225 8.98609 9.18322 9.1992 8.97011C9.41231 8.757 9.70135 8.63727 10.0027 8.63727ZM14.78 8.63727C15.0814 8.63727 15.3704 8.757 15.5835 8.97011C15.7966 9.18322 15.9164 9.47225 15.9164 9.77364C15.9164 10.075 15.7966 10.3641 15.5835 10.5772C15.3704 10.7903 15.0814 10.91 14.78 10.91C14.4786 10.91 14.1896 10.7903 13.9765 10.5772C13.7634 10.3641 13.6436 10.075 13.6436 9.77364C13.6436 9.47225 13.7634 9.18322 13.9765 8.97011C14.1896 8.757 14.4786 8.63727 14.78 8.63727ZM17.0455 1.36364H2.95455C2.53261 1.36364 2.12796 1.53125 1.8296 1.8296C1.53125 2.12796 1.36364 2.53261 1.36364 2.95455V4.54818H18.6364V2.95455C18.6364 2.53261 18.4688 2.12796 18.1704 1.8296C17.872 1.53125 17.4674 1.36364 17.0455 1.36364Z'\r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n )\r\n}\r\n","export const CapsLockOn = ({ color }) => {\r\n return (\r\n <svg\r\n width=\"18\"\r\n height=\"18\"\r\n viewBox=\"0 0 18 18\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <rect width=\"18\" height=\"18\" rx=\"3\" fill=\"#A0A0A0\" />\r\n <path\r\n d=\"M4.38533 9.0119H6.20667V11.1484C6.20667 11.3498 6.27432 11.5194 6.40965 11.6574C6.54497 11.7954 6.70772 11.8643 6.89789 11.8643H11.1111C11.3013 11.8643 11.4659 11.7954 11.6048 11.6574C11.7438 11.5194 11.8133 11.3498 11.8133 11.1484V9.0119H13.6127C13.7005 9.0119 13.7736 8.96342 13.8321 8.86648C13.8907 8.76953 13.9163 8.65394 13.9089 8.51971C13.9016 8.38548 13.8541 8.27361 13.7663 8.18413L9.49823 3.48597C9.36657 3.34428 9.20199 3.27344 9.0045 3.27344C8.807 3.27344 8.63877 3.34428 8.49979 3.48597L4.24269 8.18413C4.15492 8.27361 4.10555 8.38548 4.09457 8.51971C4.0836 8.65394 4.10738 8.76953 4.16589 8.86648C4.22441 8.96342 4.29755 9.0119 4.38533 9.0119ZM11.1111 12.5691H6.89789C6.70772 12.5691 6.54497 12.6399 6.40965 12.7816C6.27432 12.9233 6.20667 13.0911 6.20667 13.285V14.0121C6.20667 14.206 6.27432 14.3738 6.40965 14.5154C6.54497 14.6571 6.70772 14.728 6.89789 14.728H11.1111C11.3013 14.728 11.4659 14.659 11.6048 14.521C11.7438 14.3831 11.8133 14.2134 11.8133 14.0121V13.285C11.8133 13.0911 11.7438 12.9233 11.6048 12.7816C11.4659 12.6399 11.3013 12.5691 11.1111 12.5691Z\"\r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconCardOrange = ({ color }) => {\r\n return (\r\n <svg \r\n width=\"39\" \r\n height=\"30\" \r\n viewBox=\"0 0 39 30\" \r\n fill=\"none\" \r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path \r\n d=\"M0.666016 25C0.666016 26.3261 1.17085 27.5979 2.06946 28.5355C2.96807 29.4732 4.18685 30 5.45768 30H34.2077C35.4785 30 36.6973 29.4732 37.5959 28.5355C38.4945 27.5979 38.9993 26.3261 38.9993 25V12.5H0.666016V25ZM28.2181 22.5C27.9004 22.5 27.5957 22.3683 27.371 22.1339C27.1464 21.8995 27.0202 21.5815 27.0202 21.25V18.75C27.0202 18.4185 27.1464 18.1005 27.371 17.8661C27.5957 17.6317 27.9004 17.5 28.2181 17.5H33.0098C33.3275 17.5 33.6322 17.6317 33.8568 17.8661C34.0815 18.1005 34.2077 18.4185 34.2077 18.75V21.25C34.2077 21.5815 34.0815 21.8995 33.8568 22.1339C33.6322 22.3683 33.3275 22.5 33.0098 22.5H28.2181ZM0.666016 7.5V5C0.666016 3.67392 1.17085 2.40215 2.06946 1.46447C2.96807 0.526785 4.18685 0 5.45768 0H34.2077C35.4785 0 36.6973 0.526785 37.5959 1.46447C38.4945 2.40215 38.9993 3.67392 38.9993 5V7.5H0.666016Z\" \r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n )\r\n}","export const CashIcon = ({ color, outline }) => {\r\n return (\r\n <svg\r\n width='20'\r\n height='20'\r\n viewBox='0 0 16 16'\r\n fill={color ? color : 'none'}\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M12 8H12.0067M4 8H4.00667M6 8C6 8.53043 6.21071 9.03914 6.58579 9.41421C6.96086 9.78929 7.46957 10 8 10C8.53043 10 9.03914 9.78929 9.41421 9.41421C9.78929 9.03914 10 8.53043 10 8C10 7.46957 9.78929 6.96086 9.41421 6.58579C9.03914 6.21071 8.53043 6 8 6C7.46957 6 6.96086 6.21071 6.58579 6.58579C6.21071 6.96086 6 7.46957 6 8ZM2 5.33333C2 4.97971 2.14048 4.64057 2.39052 4.39052C2.64057 4.14048 2.97971 4 3.33333 4H12.6667C13.0203 4 13.3594 4.14048 13.6095 4.39052C13.8595 4.64057 14 4.97971 14 5.33333V10.6667C14 11.0203 13.8595 11.3594 13.6095 11.6095C13.3594 11.8595 13.0203 12 12.6667 12H3.33333C2.97971 12 2.64057 11.8595 2.39052 11.6095C2.14048 11.3594 2 11.0203 2 10.6667V5.33333Z'\r\n stroke={outline ? outline : '#00529C'}\r\n strokeWidth='1.5'\r\n strokeLinecap='round'\r\n strokeLinejoin='round'\r\n />\r\n </svg>\r\n )\r\n}\r\n","const RAW_COLORS = {\r\n neutral: {\r\n 50: \"#FFFFFF\",\r\n 100: \"#F5F7FB\",\r\n 200: \"#E9EEF6\",\r\n 300: \"#E0E5EB\",\r\n 400: \"#B3BECC\",\r\n 500: \"#A3B1C1\",\r\n 600: \"#7B90A6\",\r\n 700: \"#465668\",\r\n 900: \"#181C21\",\r\n },\r\n\r\n blue_cakrawala: {\r\n 100: \"#EAF2FC\",\r\n 200: \"#E6EEFF\",\r\n 300: \"#83B2EE\",\r\n 400: \"#5999E8\",\r\n 500: \"#307FE2\",\r\n 600: \"#2666B5\",\r\n 700: \"#1D4C88\",\r\n 800: \"#0E2644\",\r\n 900: \"#0A192D\",\r\n },\r\n\r\n blue_mentari: {\r\n 100: \"#E5F3FB\",\r\n 300: \"#ADDBF2\",\r\n 400: \"#8CD0EE\",\r\n 500: \"#71C5E8\",\r\n 600: \"#5799B5\",\r\n 700: \"#3E7186\",\r\n 900: \"#132831\",\r\n },\r\n\r\n blue_neon: {\r\n 100: \"#F0FCFF\",\r\n 300: \"#CDF5FE\",\r\n 400: \"#9BEBFD\",\r\n 500: \"#14D1FB\",\r\n 600: \"#04B1D8\",\r\n 700: \"#0388A5\",\r\n 900: \"#025F73\",\r\n },\r\n\r\n blue_sky: {\r\n 100: \"#EBF8FF\",\r\n 300: \"#BDE7FF\",\r\n 400: \"#80D1FF\",\r\n 500: \"#15A9F4\",\r\n 600: \"#0A8BCD\",\r\n 700: \"#076A9C\",\r\n 900: \"#032436\",\r\n },\r\n\r\n green: {\r\n 100: \"#DEF7EA\",\r\n 300: \"#C9F3DB\",\r\n 400: \"#A1DDBB\",\r\n 500: \"#27AE60\",\r\n 600: \"#1E8549\",\r\n 700: \"#145C33\",\r\n 900: \"#0A2E19\",\r\n },\r\n\r\n red: {\r\n 100: \"#FDEDED\",\r\n 300: \"#F8C4C4\",\r\n 400: \"#F28D8D\",\r\n 500: \"#E84040\",\r\n 600: \"#DA1A1A\",\r\n 700: \"#AD1414\",\r\n 900: \"#320606\",\r\n },\r\n\r\n yellow: {\r\n 100: \"#FFF9EB\",\r\n 300: \"#FFEBBD\",\r\n 400: \"#FFD980\",\r\n 500: \"#FFBE26\",\r\n 600: \"#F0A800\",\r\n 700: \"#BD8400\",\r\n 900: \"#382700\",\r\n },\r\n\r\n briva: {\r\n 100: \"#EFFAFA\",\r\n 300: \"#CCF0F0\",\r\n 400: \"#9CE2E2\",\r\n 500: \"#58CFCF\",\r\n 600: \"#37BEBE\",\r\n 700: \"#2B9696\",\r\n 900: \"#0D2C2C\",\r\n },\r\n\r\n brizzi: {\r\n 100: \"#EBFFF8\",\r\n 300: \"#BEFDE8\",\r\n 400: \"#83FBD3\",\r\n 500: \"#05D78F\",\r\n 600: \"#04A46D\",\r\n 700: \"#03734D\",\r\n 900: \"#013724\",\r\n },\r\n\r\n};\r\n\r\nexport const PrimitiveColor = Object.entries(RAW_COLORS).reduce(\r\n (acc, [category, values]) => {\r\n Object.entries(values).forEach(([key, value]) => {\r\n if (\r\n category === \"neutral\" ||\r\n category === \"blue_cakrawala\" ||\r\n category === \"blue_mentari\" ||\r\n category === \"blue_neon\" ||\r\n category === \"blue_sky\" ||\r\n category === \"green\" ||\r\n category === \"red\" ||\r\n category === \"yellow\" ||\r\n category === \"briva\" ||\r\n category === \"brizzi\"\r\n ) {\r\n acc[`color_${category}_${key}`] = value;\r\n return;\r\n }\r\n\r\n acc[`color_${key}`] = value;\r\n });\r\n\r\n return acc;\r\n },\r\n {}\r\n);","import { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\n\r\nexport const CheckboxBorder = ({\r\n disabled,\r\n color,\r\n size = 20,\r\n}) => {\r\n const strokeColor = disabled\r\n ? PrimitiveColor.color_palette_neutral_30\r\n : color || PrimitiveColor.color_palette_neutral_40;\r\n\r\n return (\r\n <svg\r\n width={size}\r\n height={size}\r\n viewBox=\"0 0 20 20\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <rect\r\n x=\"1\"\r\n y=\"1\"\r\n width=\"18\"\r\n height=\"18\"\r\n rx=\"5\"\r\n stroke={strokeColor}\r\n strokeWidth=\"2\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","import { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\n\r\nexport const CheckboxChecked = ({\r\n disabled,\r\n color,\r\n size = 20,\r\n}) => {\r\n const fillColor = disabled\r\n ? PrimitiveColor.color_palette_neutral_70\r\n : color || PrimitiveColor.color_palette_blue;\r\n\r\n return (\r\n <svg\r\n width={size}\r\n height={size}\r\n viewBox=\"0 0 20 20\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <rect\r\n width=\"20\"\r\n height=\"20\"\r\n rx=\"6\"\r\n fill={fillColor}\r\n />\r\n\r\n <path\r\n d=\"M14.8652 4.97761C15.0876 4.77982 15.3834 4.67047 15.6903 4.67264C15.9973 4.67481 16.2913 4.78833 16.5104 4.98924C16.7295 5.19016 16.8565 5.46275 16.8646 5.74951C16.8727 6.03626 16.7613 6.31475 16.5539 6.5262L10.257 13.8857C10.1487 13.9947 10.018 14.0822 9.87275 14.1429C9.72748 14.2036 9.57059 14.2363 9.41148 14.239C9.25237 14.2418 9.0943 14.2145 8.94672 14.1589C8.79914 14.1033 8.66508 14.0204 8.55256 13.9152L4.37672 10.0127C4.26043 9.91148 4.16716 9.78937 4.10247 9.65368C4.03777 9.51799 4.00299 9.37152 4.00018 9.223C3.99738 9.07448 4.02662 8.92695 4.08615 8.78922C4.14568 8.65148 4.23428 8.52637 4.34668 8.42133C4.45907 8.31629 4.59295 8.23349 4.74034 8.17786C4.88772 8.12222 5.04558 8.0949 5.20451 8.09752C5.36344 8.10014 5.52017 8.13265 5.66536 8.19311C5.81055 8.25356 5.94122 8.34073 6.04958 8.44941L9.35427 11.5363L14.8353 5.01006Z\"\r\n fill={PrimitiveColor.color_palette_neutral_10}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const ChecklistGreen = () => {\r\n return (\r\n <svg\r\n width=\"18\"\r\n height=\"18\"\r\n viewBox=\"0 0 74 74\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <circle cx=\"37\" cy=\"37\" r=\"37\" fill=\"#00871F\" />\r\n <path\r\n d=\"M50.7324 22.9838C51.3839 22.3635 52.2509 22.0206 53.1504 22.0274C54.05 22.0342 54.9117 22.3902 55.5537 23.0203C56.1958 23.6503 56.568 24.5052 56.5917 25.4044C56.6155 26.3037 56.289 27.177 55.6812 27.8401L37.2274 50.9188C36.9101 51.2606 36.5271 51.5349 36.1014 51.7253C35.6756 51.9156 35.2159 52.0182 34.7496 52.0268C34.2833 52.0355 33.82 51.95 33.3875 51.7755C32.955 51.601 32.5622 51.3411 32.2324 51.0113L19.9947 38.7736C19.6538 38.456 19.3805 38.073 19.1909 37.6475C19.0013 37.222 18.8994 36.7627 18.8912 36.297C18.8829 35.8312 18.9686 35.3686 19.1431 34.9367C19.3175 34.5047 19.5772 34.1124 19.9066 33.783C20.236 33.4536 20.6283 33.194 21.0603 33.0195C21.4922 32.845 21.9548 32.7594 22.4206 32.7676C22.8863 32.7758 23.3456 32.8777 23.7711 33.0673C24.1966 33.2569 24.5796 33.5303 24.8972 33.8711L34.5819 43.5512L50.6445 23.0856C50.6735 23.05 50.7043 23.016 50.737 22.9838H50.7324Z\"\r\n fill=\"white\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconChevronLeft = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M12.5 5L7.5 10L12.5 15\" stroke={color ?? \"white\"} strokeWidth=\"1.67\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n};\r\n","export const IconChevronRight = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"><path d=\"M7.5 5L12.5 10L7.5 15\" stroke={color ?? \"white\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/></svg>\r\n );\r\n};\r\n","export const CircleCheck = ({\r\n color = \"#27AE60\",\r\n width = \"18\",\r\n height = \"18\",\r\n}) => (\r\n <svg\r\n width={width}\r\n height={height}\r\n viewBox=\"0 0 18 18\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M13.167 1.78357C14.4239 2.50928 15.4694 3.55067 16.2002 4.80465C16.9309 6.05863 17.3215 7.48171 17.3332 8.93302C17.3449 10.3843 16.9774 11.8135 16.267 13.0791C15.5566 14.3448 14.528 15.4029 13.283 16.1488C12.038 16.8948 10.6198 17.3026 9.16874 17.332C7.71768 17.3613 6.28412 17.0112 5.00995 16.3163C3.73579 15.6213 2.66522 14.6057 1.90421 13.3698C1.14321 12.134 0.718167 10.7208 0.671159 9.27024L0.666992 9.00024L0.671159 8.73024C0.717828 7.29106 1.13662 5.88854 1.88669 4.6594C2.63677 3.43026 3.69254 2.41645 4.95107 1.7168C6.2096 1.01716 7.62795 0.655567 9.06783 0.667267C10.5077 0.678968 11.92 1.06357 13.167 1.78357ZM12.0895 6.7444C11.946 6.60092 11.7551 6.51473 11.5526 6.502C11.35 6.48926 11.1498 6.55086 10.9895 6.67524L10.9112 6.7444L8.16699 9.48774L7.08949 8.41107L7.01116 8.3419C6.85081 8.21761 6.65064 8.15609 6.44816 8.16886C6.24569 8.18164 6.05483 8.26783 5.91138 8.41129C5.76792 8.55474 5.68173 8.7456 5.66895 8.94807C5.65618 9.15054 5.71771 9.35072 5.84199 9.51107L5.91116 9.5894L7.57783 11.2561L7.65616 11.3252C7.8023 11.4386 7.98202 11.5002 8.16699 11.5002C8.35197 11.5002 8.53168 11.4386 8.67783 11.3252L8.75616 11.2561L12.0895 7.92274L12.1587 7.8444C12.283 7.68407 12.3446 7.48386 12.3319 7.28133C12.3192 7.07881 12.233 6.8879 12.0895 6.7444Z\"\r\n fill={color}\r\n />\r\n </svg>\r\n);\r\n","export const CircleCross = ({\r\n color = \"#E84040\",\r\n width = \"17\",\r\n height = \"18\",\r\n}) => (\r\n <svg\r\n width={width}\r\n height={height}\r\n viewBox=\"0 0 17 18\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n fillRule=\"evenodd\"\r\n clipRule=\"evenodd\"\r\n d=\"M8.25195 0.751953C7.16855 0.751953 6.09575 0.965346 5.09481 1.37995C4.09388 1.79455 3.18441 2.40224 2.41832 3.16832C1.65224 3.93441 1.04455 4.84388 0.629947 5.84481C0.215346 6.84575 0.00195312 7.91855 0.00195312 9.00195C0.00195312 10.0854 0.215346 11.1582 0.629947 12.1591C1.04455 13.16 1.65224 14.0695 2.41832 14.8356C3.1844 15.6017 4.09388 16.2094 5.09481 16.624C6.09575 17.0386 7.16855 17.252 8.25195 17.252C9.33536 17.252 10.4082 17.0386 11.4091 16.624C12.41 16.2094 13.3195 15.6017 14.0856 14.8356C14.8517 14.0695 15.4594 13.16 15.874 12.1591C16.2886 11.1582 16.502 10.0854 16.502 9.00195C16.502 7.91855 16.2886 6.84575 15.874 5.84481C15.4594 4.84388 14.8517 3.9344 14.0856 3.16832C13.3195 2.40224 12.41 1.79455 11.4091 1.37995C10.4082 0.965346 9.33536 0.751953 8.25195 0.751953ZM6.05496 6.80496C6.34785 6.51206 6.82272 6.51206 7.11562 6.80496L8.25195 7.94129L9.38829 6.80496C9.68118 6.51206 10.1561 6.51206 10.4489 6.80496C10.7418 7.09785 10.7418 7.57272 10.4489 7.86562L9.31261 9.00195L10.4489 10.1383C10.7418 10.4312 10.7418 10.9061 10.4489 11.1989C10.1561 11.4918 9.68118 11.4918 9.38829 11.1989L8.25195 10.0626L7.11562 11.1989C6.82272 11.4918 6.34785 11.4918 6.05496 11.1989C5.76206 10.9061 5.76206 10.4312 6.05496 10.1383L7.19129 9.00195L6.05496 7.86562C5.76206 7.57272 5.76206 7.09785 6.05496 6.80496Z\"\r\n fill={color}\r\n />\r\n </svg>\r\n);\r\n","export const CommentBuble = () => {\r\n return (\r\n <svg width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clipPath=\"url(#clip0_10455_26601)\">\r\n <path d=\"M4.017 18.341C4.1727 18.4973 4.292 18.686 4.36641 18.8937C4.44082 19.1014 4.46851 19.3229 4.4475 19.5425C4.34182 20.5588 4.14196 21.5631 3.8505 22.5425C5.943 22.058 7.221 21.497 7.8015 21.203C8.13076 21.0362 8.50993 20.9967 8.8665 21.092C9.88845 21.3655 10.9421 21.5027 12 21.5C17.994 21.5 22.5 17.2895 22.5 12.5C22.5 7.7105 17.994 3.5 12 3.5C6.006 3.5 1.5 7.712 1.5 12.5C1.5 14.702 2.4255 16.745 4.017 18.341ZM3.2775 24.1985C2.92209 24.2689 2.56554 24.3334 2.208 24.392C1.908 24.44 1.68 24.128 1.7985 23.849C1.93133 23.5348 2.0534 23.2161 2.1645 22.8935L2.169 22.8785C2.541 21.7985 2.844 20.5565 2.955 19.4C1.1145 17.555 0 15.14 0 12.5C0 6.701 5.373 2 12 2C18.627 2 24 6.701 24 12.5C24 18.299 18.627 23 12 23C10.8114 23.0026 9.62768 22.8483 8.4795 22.541C7.6995 22.9355 6.021 23.654 3.2775 24.1985Z\" fill=\"#00529C\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10455_26601\">\r\n <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0 0.5)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n )\r\n }\r\n ","export const IconConfeti = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M4 5H6M5 4V6M11.5 4L11 6M18 5H20M19 4V6M15 9L14 10M18 13L20 12.5M18 19H20M19 18V20M14.0018 16.518L7.48376 10L3.09376 19.58C3.00699 19.766 2.97955 19.9742 3.01518 20.1763C3.0508 20.3785 3.14776 20.5647 3.29289 20.7099C3.43802 20.855 3.6243 20.952 3.82643 20.9876C4.02856 21.0232 4.23676 20.9958 4.42276 20.909L14.0018 16.518Z\" stroke={color ?? \"none\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n };","export const IconCrossLine = ({ color }) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M18 6L6 18M6 6L18 18\" stroke={color ?? \"#E84040\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n )\r\n}\r\n","export const IconCross = ({ color }) => {\r\n return (\r\n <svg\r\n width='18'\r\n height='19'\r\n viewBox='0 0 18 19'\r\n fill={color ? color : 'none'}\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <circle cx='9' cy='9.41992' r='9' fill='#E84040' />\r\n <path\r\n d='M5.30914 5.66992L12.5625 12.9824M12.5034 5.66992L5.25 12.9824'\r\n stroke='white'\r\n strokeWidth='1.51198'\r\n strokeLinecap='round'\r\n />\r\n </svg>\r\n )\r\n}\r\n","export const Dashboard = (color) => {\r\n return (\r\n <svg width=\"26\" height=\"26\" viewBox=\"0 0 26 26\" fill={color ? color : 'none'} xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M5.69938 22.3589C5.12745 22.3589 4.63767 22.1554 4.23004 21.7485C3.8231 21.3409 3.61963 20.8511 3.61963 20.2792V5.72087C3.61963 5.14894 3.8231 4.65915 4.23004 4.25152C4.63767 3.84458 5.12745 3.64111 5.69938 3.64111H11.9386V22.3589H5.69938ZM14.0184 22.3589V13H22.3374V20.2792C22.3374 20.8511 22.134 21.3409 21.727 21.7485C21.3194 22.1554 20.8296 22.3589 20.2577 22.3589H14.0184ZM14.0184 10.9203V3.64111H20.2577C20.8296 3.64111 21.3194 3.84458 21.727 4.25152C22.134 4.65915 22.3374 5.14894 22.3374 5.72087V10.9203H14.0184Z\" fill=\"#00529C\"/>\r\n </svg>\r\n )\r\n}\r\n","export const IconDeleteBin = ({color, isSmall}) => {\r\n return (\r\n <svg\r\n width={`${isSmall ? \"14\" : \"21\"}`}\r\n height={`${isSmall ? \"16\" : \"24\"}`}\r\n viewBox=\"0 0 21 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M19.0485 4.53905H16.0346C15.5695 2.27727 13.5798 0.653094 11.2707 0.650177H9.32625C7.01712 0.653094 5.02749 2.27727 4.56238 4.53905H1.5485C1.01156 4.53905 0.576294 4.97432 0.576294 5.51126C0.576294 6.0482 1.01156 6.48351 1.5485 6.48351H2.52071V19.1224C2.52394 21.8058 4.69846 23.9803 7.38184 23.9835H13.2152C15.8986 23.9803 18.0731 21.8058 18.0763 19.1224V6.48351H19.0485C19.5854 6.48351 20.0207 6.04824 20.0207 5.5113C20.0207 4.97436 19.5854 4.53905 19.0485 4.53905ZM9.3263 17.178C9.3263 17.7149 8.89103 18.1502 8.35409 18.1502C7.8171 18.1502 7.38184 17.7149 7.38184 17.178V11.3446C7.38184 10.8077 7.8171 10.3724 8.35404 10.3724C8.89098 10.3724 9.32625 10.8077 9.32625 11.3446V17.178H9.3263ZM13.2152 17.178C13.2152 17.7149 12.7799 18.1502 12.243 18.1502C11.706 18.1502 11.2708 17.7149 11.2708 17.178V11.3446C11.2708 10.8077 11.706 10.3724 12.243 10.3724C12.7799 10.3724 13.2152 10.8077 13.2152 11.3446V17.178ZM6.57588 4.53905C6.98941 3.37462 8.09063 2.5961 9.3263 2.59459H11.2708C12.5064 2.5961 13.6076 3.37462 14.0212 4.53905H6.57588Z\"\r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconDocumentAddOutline = ({color}) => {\r\n return (\r\n <svg width=\"25\" height=\"24\" viewBox=\"0 0 25 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M14.5 3V7C14.5 7.26522 14.6054 7.51957 14.7929 7.70711C14.9804 7.89464 15.2348 8 15.5 8H19.5M14.5 3H7.5C6.96957 3 6.46086 3.21071 6.08579 3.58579C5.71071 3.96086 5.5 4.46957 5.5 5V19C5.5 19.5304 5.71071 20.0391 6.08579 20.4142C6.46086 20.7893 6.96957 21 7.5 21H17.5C18.0304 21 18.5391 20.7893 18.9142 20.4142C19.2893 20.0391 19.5 19.5304 19.5 19V8M14.5 3L19.5 8\" stroke={color} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path d=\"M12.5 11.5V17.5M9.5 14.5H15.5\" stroke=\"#00529C\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n};","export const IconDocumentAdd = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\r\n <path d=\"M19.001 7.501H15.001L15 3.5L19.001 7.501Z\" fill={color ?? \"#00529C\"}/>\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12.117 2.507L12 2.5H7L6.824 2.505C6.06011 2.54989 5.34224 2.88499 4.81728 3.44174C4.29233 3.99849 3.99996 4.73479 4 5.5V19.5L4.005 19.676C4.04989 20.4399 4.38499 21.1578 4.94174 21.6827C5.49849 22.2077 6.23479 22.5 7 22.5H17L17.176 22.495C17.9399 22.4501 18.6578 22.115 19.1827 21.5583C19.7077 21.0015 20 20.2652 20 19.5V10.5L19.993 10.383C19.9667 10.1598 19.8659 9.95194 19.707 9.79301C19.5481 9.63408 19.3402 9.53332 19.117 9.507L19 9.5H15L14.843 9.494C14.3669 9.45666 13.92 9.25023 13.5829 8.91203C13.2458 8.57383 13.0408 8.12617 13.005 7.65L13 7.5V3.5L12.993 3.383C12.9667 3.15978 12.8659 2.95194 12.707 2.79301C12.5481 2.63408 12.3402 2.53332 12.117 2.507ZM12.0016 11.1016C12.4986 11.1016 12.9016 11.5045 12.9016 12.0016V14.1016H15.0016C15.4986 14.1016 15.9016 14.5045 15.9016 15.0016C15.9016 15.4986 15.4986 15.9016 15.0016 15.9016H12.9016V18.0016C12.9016 18.4986 12.4986 18.9016 12.0016 18.9016C11.5045 18.9016 11.1016 18.4986 11.1016 18.0016V15.9016H9.00156C8.50451 15.9016 8.10156 15.4986 8.10156 15.0016C8.10156 14.5045 8.50451 14.1016 9.00156 14.1016H11.1016V12.0016C11.1016 11.5045 11.5045 11.1016 12.0016 11.1016Z\" fill={color ?? \"#00529C\"}/>\r\n <path d=\"M19.001 7.501H15.001L15 3.5L19.001 7.501Z\" stroke={color ?? \"#00529C\"}/>\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12.117 2.507L12 2.5H7L6.824 2.505C6.06011 2.54989 5.34224 2.88499 4.81728 3.44174C4.29233 3.99849 3.99996 4.73479 4 5.5V19.5L4.005 19.676C4.04989 20.4399 4.38499 21.1578 4.94174 21.6827C5.49849 22.2077 6.23479 22.5 7 22.5H17L17.176 22.495C17.9399 22.4501 18.6578 22.115 19.1827 21.5583C19.7077 21.0015 20 20.2652 20 19.5V10.5L19.993 10.383C19.9667 10.1598 19.8659 9.95194 19.707 9.79301C19.5481 9.63408 19.3402 9.53332 19.117 9.507L19 9.5H15L14.843 9.494C14.3669 9.45666 13.92 9.25023 13.5829 8.91203C13.2458 8.57383 13.0408 8.12617 13.005 7.65L13 7.5V3.5L12.993 3.383C12.9667 3.15978 12.8659 2.95194 12.707 2.79301C12.5481 2.63408 12.3402 2.53332 12.117 2.507ZM12.0016 11.1016C12.4986 11.1016 12.9016 11.5045 12.9016 12.0016V14.1016H15.0016C15.4986 14.1016 15.9016 14.5045 15.9016 15.0016C15.9016 15.4986 15.4986 15.9016 15.0016 15.9016H12.9016V18.0016C12.9016 18.4986 12.4986 18.9016 12.0016 18.9016C11.5045 18.9016 11.1016 18.4986 11.1016 18.0016V15.9016H9.00156C8.50451 15.9016 8.10156 15.4986 8.10156 15.0016C8.10156 14.5045 8.50451 14.1016 9.00156 14.1016H11.1016V12.0016C11.1016 11.5045 11.5045 11.1016 12.0016 11.1016Z\" stroke={color ?? \"#00529C\"}/>\r\n </svg>\r\n );\r\n};","export const DocumentNotFound = () => {\r\n return (\r\n <svg width=\"241\" height=\"241\" viewBox=\"0 0 241 241\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g opacity=\"0.5\">\r\n <path d=\"M223.354 171.649C223.354 179.477 220.274 186.558 215.261 191.672C210.268 196.81 203.361 199.962 195.721 199.962H71.3697V199.899C70.56 199.938 69.7695 199.962 68.9597 199.962C40.6133 199.962 17.6412 176.421 17.6412 147.376C17.6412 138.637 19.7331 130.385 23.4059 123.126C30.5492 109.071 43.7174 98.7324 59.4065 95.7199C61.6767 65.1177 87.4734 41.0273 118.919 41.0273C150.365 41.0273 177.501 66.4095 178.567 98.1443C196.372 103.061 209.458 119.748 209.458 139.548C209.458 141.997 209.26 144.402 208.865 146.73C210.721 147.761 212.437 148.995 213.998 150.432C219.744 155.589 223.354 163.195 223.354 171.649Z\" fill=\"url(#paint0_radial_12925_138165)\"/>\r\n <path d=\"M213.998 150.436C193.745 170.28 162.815 182.961 128.178 182.961C79.4818 182.961 38.1503 157.921 23.4059 123.13C30.5492 109.075 43.7174 98.7363 59.4065 95.7238C61.6767 65.1216 87.4734 41.0312 118.919 41.0312C150.365 41.0312 177.501 66.4134 178.567 98.1483C196.372 103.065 209.458 119.751 209.458 139.552C209.458 142.001 209.26 144.406 208.865 146.734C210.721 147.765 212.437 148.999 213.998 150.436Z\" fill=\"url(#paint1_radial_12925_138165)\"/>\r\n </g>\r\n <path d=\"M200.377 88.0473C200.377 88.8137 199.644 89.503 198.473 89.9801C197.577 90.3465 196.878 91.0646 196.521 91.9804C196.054 93.1758 195.384 93.9277 194.636 93.9277C193.889 93.9277 193.215 93.1758 192.752 91.9804C192.395 91.0646 191.696 90.3416 190.8 89.9801C189.633 89.503 188.896 88.8137 188.896 88.0473C188.896 87.2809 189.628 86.5917 190.795 86.1145C191.691 85.7482 192.395 85.03 192.747 84.1094C193.21 82.914 193.885 82.1621 194.632 82.1621C195.379 82.1621 196.054 82.914 196.516 84.1094C196.873 85.03 197.577 85.7482 198.473 86.1145C199.64 86.5917 200.372 87.2761 200.372 88.0425L200.377 88.0473Z\" fill=\"#2A61A1\"/>\r\n <path d=\"M49.0821 82.5127C49.0821 82.8742 48.735 83.1971 48.1855 83.4236C47.7614 83.5972 47.4336 83.9345 47.2649 84.3683C47.0432 84.9323 46.7299 85.289 46.3732 85.289C46.0165 85.289 45.7032 84.9323 45.4815 84.3683C45.3128 83.9345 44.9851 83.5972 44.5609 83.4236C44.0114 83.1971 43.6644 82.8742 43.6644 82.5127C43.6644 82.1512 44.0114 81.8234 44.5609 81.6017C44.9851 81.4282 45.3128 81.0907 45.4815 80.6569C45.6984 80.093 46.0165 79.7363 46.3732 79.7363C46.7299 79.7363 47.0432 80.093 47.2649 80.6569C47.4336 81.0907 47.7662 81.4282 48.1855 81.6017C48.735 81.8282 49.0821 82.1512 49.0821 82.5127Z\" fill=\"#86C5F6\"/>\r\n <path d=\"M56.0132 179.584C56.0132 180.606 55.0348 181.527 53.4731 182.163C52.2777 182.65 51.3426 183.609 50.8703 184.833C50.2485 186.429 49.352 187.436 48.3494 187.436C47.3469 187.436 46.4503 186.433 45.8334 184.838C45.3562 183.614 44.4211 182.655 43.2258 182.163C41.6641 181.527 40.6856 180.606 40.6856 179.584C40.6856 178.562 41.6641 177.642 43.2209 177.006C44.4163 176.519 45.3562 175.559 45.8286 174.33C46.4503 172.735 47.3469 171.732 48.3446 171.732C49.3423 171.732 50.2437 172.735 50.8655 174.335C51.3426 175.564 52.2777 176.523 53.4779 177.01C55.0348 177.647 56.0132 178.562 56.0132 179.589V179.584Z\" fill=\"#63A3EF\"/>\r\n <path d=\"M62.1298 74.2525V167.785C62.1298 171.65 65.1809 174.778 68.9549 174.778H143.53C147.299 174.778 150.355 171.65 150.355 167.785V96.8246C150.355 94.7617 149.463 92.7999 147.921 91.4744L121.71 68.8975C120.481 67.8419 118.929 67.2539 117.324 67.2539H68.9549C65.1857 67.2539 62.1298 70.3821 62.1298 74.2477V74.2525Z\" fill=\"#FF9D24\"/>\r\n <path d=\"M96.6988 85.7715H75.1534C72.1906 85.7715 69.7888 88.1733 69.7888 91.1361C69.7888 94.099 72.1906 96.5008 75.1534 96.5008H96.6988C99.6617 96.5008 102.063 94.099 102.063 91.1361C102.063 88.1733 99.6617 85.7715 96.6988 85.7715Z\" fill=\"#ED6E14\"/>\r\n <path d=\"M96.6988 100.535H75.1534C72.1906 100.535 69.7888 102.937 69.7888 105.9C69.7888 108.863 72.1906 111.264 75.1534 111.264H96.6988C99.6617 111.264 102.063 108.863 102.063 105.9C102.063 102.937 99.6617 100.535 96.6988 100.535Z\" fill=\"#ED6E14\"/>\r\n <path d=\"M176.855 145.516V107.274C176.855 105.211 175.964 103.249 174.421 101.924L148.21 79.3467C146.981 78.2912 145.429 77.7031 143.824 77.7031H88.4904C84.7211 77.7031 81.6653 80.8313 81.6653 84.6969V159.499C99.3498 162.844 144.831 168.406 176.855 145.511V145.516Z\" fill=\"url(#paint2_radial_12925_138165)\"/>\r\n <path d=\"M88.4904 185.223H170.03C173.8 185.223 176.855 182.095 176.855 178.229V142.527C144.836 165.422 99.3498 159.86 81.6653 156.515V178.229C81.6653 182.095 84.7163 185.223 88.4904 185.223Z\" fill=\"#2A61A1\"/>\r\n <path d=\"M125.224 185.97H88.2687C84.215 185.97 80.9182 182.673 80.9182 178.619V138.372C80.9182 137.962 81.2507 137.625 81.6652 137.625C82.0798 137.625 82.4123 137.958 82.4123 138.372V178.619C82.4123 181.848 85.0393 184.475 88.2687 184.475H125.224C125.633 184.475 125.971 184.808 125.971 185.223C125.971 185.637 125.638 185.97 125.224 185.97Z\" fill=\"black\"/>\r\n <path d=\"M120.799 93.9648H99.2534C96.2906 93.9648 93.8888 96.3667 93.8888 99.3295C93.8888 102.292 96.2906 104.694 99.2534 104.694H120.799C123.762 104.694 126.163 102.292 126.163 99.3295C126.163 96.3667 123.762 93.9648 120.799 93.9648Z\" fill=\"#E4F2FF\"/>\r\n <path d=\"M120.799 110.176H99.2534C96.2906 110.176 93.8888 112.578 93.8888 115.54C93.8888 118.503 96.2906 120.905 99.2534 120.905H120.799C123.762 120.905 126.163 118.503 126.163 115.54C126.163 112.578 123.762 110.176 120.799 110.176Z\" fill=\"#E4F2FF\"/>\r\n <g opacity=\"0.25\">\r\n <path d=\"M177.93 158.384C176.884 160.139 175.622 161.797 174.142 163.315C172.662 164.833 171.043 166.125 169.331 167.2C159.431 173.384 146.33 172.092 137.77 163.315C127.725 153.024 127.725 136.337 137.77 126.042C147.815 115.746 164.102 115.746 174.147 126.042C182.712 134.819 183.97 148.238 177.935 158.389L177.93 158.384Z\" fill=\"white\"/>\r\n </g>\r\n <path d=\"M184.052 124.842C182.895 123.121 181.565 121.487 180.075 119.954C166.753 106.304 145.159 106.304 131.837 119.954C118.514 133.605 118.514 155.733 131.837 169.384C133.514 171.1 135.321 172.603 137.23 173.89C145.072 179.183 154.573 180.807 163.441 178.773C167.206 177.91 170.859 176.387 174.214 174.204C174.373 174.102 174.527 173.996 174.686 173.89C174.923 173.731 175.159 173.567 175.395 173.399C177.043 172.227 178.61 170.887 180.08 169.384C181.203 168.232 182.239 167.017 183.17 165.749C183.454 165.369 183.734 164.978 183.999 164.583C184.018 164.554 184.037 164.525 184.057 164.496C192.077 152.596 192.077 136.738 184.057 124.837L184.052 124.842ZM177.93 158.38C176.884 160.134 175.622 161.792 174.142 163.306C172.657 164.824 171.043 166.12 169.331 167.19C159.431 173.375 146.33 172.083 137.765 163.306C127.72 153.01 127.72 136.323 137.765 126.033C147.81 115.737 164.097 115.737 174.142 126.033C182.702 134.81 183.965 148.233 177.93 158.38Z\" fill=\"#FF9D24\"/>\r\n <path d=\"M155.956 171.032C170.16 171.032 181.675 159.232 181.675 144.676C181.675 130.12 170.16 118.32 155.956 118.32C141.751 118.32 130.236 130.12 130.236 144.676C130.236 159.232 141.751 171.032 155.956 171.032Z\" fill=\"#E4F2FF\"/>\r\n <path d=\"M198.492 185.651L193.981 190.273C192.853 191.43 191.021 191.43 189.894 190.273L174.214 174.208C174.614 173.948 175.005 173.683 175.395 173.403C177.043 172.232 178.61 170.892 180.08 169.388C181.203 168.236 182.239 167.022 183.17 165.754L198.497 181.457C199.625 182.614 199.625 184.489 198.497 185.646L198.492 185.651Z\" fill=\"#ED6E14\"/>\r\n <path d=\"M155.956 170.969C155.609 170.969 155.329 170.679 155.329 170.327C155.329 169.976 155.609 169.686 155.956 169.686C169.413 169.686 180.36 158.47 180.36 144.68C180.36 137.87 177.733 131.502 172.966 126.75C172.72 126.504 172.71 126.094 172.951 125.844C173.192 125.588 173.587 125.583 173.838 125.829C178.851 130.823 181.613 137.518 181.613 144.68C181.613 159.179 170.103 170.973 155.956 170.973V170.969Z\" fill=\"black\"/>\r\n <path d=\"M128.689 166.381C128.501 166.381 128.318 166.294 128.193 166.13C122.52 158.63 120.037 149.313 121.199 139.895C122.365 130.481 127.036 122.09 134.358 116.277C149.468 104.275 171.293 107.109 183.006 122.596C183.218 122.875 183.17 123.28 182.895 123.497C182.62 123.714 182.225 123.661 182.018 123.382C170.729 108.459 149.695 105.726 135.129 117.294C128.072 122.9 123.57 130.983 122.447 140.059C121.324 149.135 123.72 158.115 129.186 165.345C129.398 165.624 129.35 166.029 129.075 166.246C128.959 166.337 128.824 166.381 128.689 166.381Z\" fill=\"black\"/>\r\n <path d=\"M158.125 154.332C157.349 153.623 156.375 153.271 155.209 153.271C154.042 153.271 153.078 153.623 152.298 154.332C151.522 155.045 151.126 155.947 151.126 157.05C151.126 158.154 151.517 159.06 152.298 159.764C153.074 160.473 154.047 160.824 155.209 160.824C156.37 160.824 157.344 160.473 158.125 159.764C158.901 159.06 159.291 158.154 159.291 157.05C159.291 155.947 158.906 155.04 158.125 154.332Z\" fill=\"#0F77CA\"/>\r\n <path d=\"M163.075 129.861C161.296 128.323 158.78 126.877 155.537 126.877C152.293 126.877 149.743 128.39 147.945 130.049C147.343 130.603 146.836 131.229 146.432 131.933C145.135 134.179 146.841 137.018 149.386 137.018H149.945C151.271 137.018 152.408 136.189 153.016 134.979C153.127 134.753 153.262 134.55 153.416 134.362C153.951 133.707 154.659 133.379 155.532 133.379C157.421 133.379 158.366 134.507 158.366 136.758C158.366 137.683 158.086 138.527 157.527 139.293C156.963 140.064 156.149 140.908 155.074 141.833C153.994 142.759 153.223 143.848 152.741 145.111C152.601 145.473 152.486 145.877 152.384 146.316C151.936 148.336 153.464 150.264 155.484 150.264H155.522C156.963 150.264 158.173 149.256 158.588 147.844C158.626 147.709 158.67 147.579 158.718 147.458C158.993 146.721 159.489 146.003 160.202 145.299L162.714 142.908C163.774 141.853 164.55 140.812 165.027 139.799C165.504 138.787 165.745 137.664 165.745 136.425C165.745 133.596 164.854 131.408 163.07 129.875L163.075 129.861Z\" fill=\"#0F77CA\"/>\r\n <defs>\r\n <radialGradient id=\"paint0_radial_12925_138165\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(38.2835 183.195) scale(149.148 153.161)\">\r\n <stop stopColor=\"#E4F2FF\"/>\r\n <stop offset=\"1\" stopColor=\"#86C5F6\"/>\r\n </radialGradient>\r\n <radialGradient id=\"paint1_radial_12925_138165\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(145.813 188.592) scale(127.704 131.14)\">\r\n <stop stopColor=\"#63A3EF\"/>\r\n <stop offset=\"0.09\" stopColor=\"#6BAAF0\"/>\r\n <stop offset=\"0.32\" stopColor=\"#7AB9F3\"/>\r\n <stop offset=\"0.6\" stopColor=\"#83C2F5\"/>\r\n <stop offset=\"1\" stopColor=\"#86C5F6\"/>\r\n </radialGradient>\r\n <radialGradient id=\"paint2_radial_12925_138165\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(185.931 196.979) scale(141.689 141.689)\">\r\n <stop stopColor=\"#045394\"/>\r\n <stop offset=\"0.15\" stopColor=\"#065CA2\"/>\r\n <stop offset=\"0.45\" stopColor=\"#0B6BB8\"/>\r\n <stop offset=\"0.74\" stopColor=\"#0E73C5\"/>\r\n <stop offset=\"1\" stopColor=\"#0F77CA\"/>\r\n </radialGradient>\r\n </defs>\r\n </svg>\r\n )\r\n}\r\n","export const IconDocumentSleve = ({ color }) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\r\n <path d=\"M19.001 7.501H15.001L15 3.5L19.001 7.501Z\" fill={color ? color :'#084F8C'}/>\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12 2.5L12.117 2.507C12.3402 2.53332 12.5481 2.63408 12.707 2.79301C12.8659 2.95194 12.9667 3.15978 12.993 3.383L13 3.5V7.5L13.005 7.65C13.0408 8.12617 13.2458 8.57383 13.5829 8.91203C13.92 9.25023 14.3669 9.45666 14.843 9.494L15 9.5H19L19.117 9.507C19.3402 9.53332 19.5481 9.63408 19.707 9.79301C19.8659 9.95194 19.9667 10.1598 19.993 10.383L20 10.5V19.5C20 20.2652 19.7077 21.0015 19.1827 21.5583C18.6578 22.115 17.9399 22.4501 17.176 22.495L17 22.5H7C6.23479 22.5 5.49849 22.2077 4.94174 21.6827C4.38499 21.1578 4.04989 20.4399 4.005 19.676L4 19.5V5.5C3.99996 4.73479 4.29233 3.99849 4.81728 3.44174C5.34224 2.88499 6.06011 2.54989 6.824 2.505L7 2.5H12ZM9 12.5C8.44772 12.5 8 12.9477 8 13.5C8 14.0523 8.44772 14.5 9 14.5H15C15.5523 14.5 16 14.0523 16 13.5C16 12.9477 15.5523 12.5 15 12.5H9ZM8 17.5C8 16.9477 8.44772 16.5 9 16.5H15C15.5523 16.5 16 16.9477 16 17.5C16 18.0523 15.5523 18.5 15 18.5H9C8.44772 18.5 8 18.0523 8 17.5Z\" fill={color ? color :'#084F8C'}/>\r\n <path d=\"M19.001 7.501H15.001L15 3.5L19.001 7.501Z\" stroke={color ? color :'#084F8C'}/>\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12 2.5L12.117 2.507C12.3402 2.53332 12.5481 2.63408 12.707 2.79301C12.8659 2.95194 12.9667 3.15978 12.993 3.383L13 3.5V7.5L13.005 7.65C13.0408 8.12617 13.2458 8.57383 13.5829 8.91203C13.92 9.25023 14.3669 9.45666 14.843 9.494L15 9.5H19L19.117 9.507C19.3402 9.53332 19.5481 9.63408 19.707 9.79301C19.8659 9.95194 19.9667 10.1598 19.993 10.383L20 10.5V19.5C20 20.2652 19.7077 21.0015 19.1827 21.5583C18.6578 22.115 17.9399 22.4501 17.176 22.495L17 22.5H7C6.23479 22.5 5.49849 22.2077 4.94174 21.6827C4.38499 21.1578 4.04989 20.4399 4.005 19.676L4 19.5V5.5C3.99996 4.73479 4.29233 3.99849 4.81728 3.44174C5.34224 2.88499 6.06011 2.54989 6.824 2.505L7 2.5H12ZM9 12.5C8.44772 12.5 8 12.9477 8 13.5C8 14.0523 8.44772 14.5 9 14.5H15C15.5523 14.5 16 14.0523 16 13.5C16 12.9477 15.5523 12.5 15 12.5H9ZM8 17.5C8 16.9477 8.44772 16.5 9 16.5H15C15.5523 16.5 16 16.9477 16 17.5C16 18.0523 15.5523 18.5 15 18.5H9C8.44772 18.5 8 18.0523 8 17.5Z\" stroke={color ? color :'#084F8C'}/>\r\n </svg>\r\n )\r\n}\r\n","export const IconDocument = ({ color }) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\r\n <path d=\"M19.001 7.501H15.001L15 3.5L19.001 7.501Z\" fill={color ?? \"white\"}/>\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12 2.5L12.117 2.507C12.3402 2.53332 12.5481 2.63408 12.707 2.79301C12.8659 2.95194 12.9667 3.15978 12.993 3.383L13 3.5V7.5L13.005 7.65C13.0408 8.12617 13.2458 8.57383 13.5829 8.91203C13.92 9.25023 14.3669 9.45666 14.843 9.494L15 9.5H19L19.117 9.507C19.3402 9.53332 19.5481 9.63408 19.707 9.79301C19.8659 9.95194 19.9667 10.1598 19.993 10.383L20 10.5V19.5C20 20.2652 19.7077 21.0015 19.1827 21.5583C18.6578 22.115 17.9399 22.4501 17.176 22.495L17 22.5H7C6.23479 22.5 5.49849 22.2077 4.94174 21.6827C4.38499 21.1578 4.04989 20.4399 4.005 19.676L4 19.5V5.5C3.99996 4.73479 4.29233 3.99849 4.81728 3.44174C5.34224 2.88499 6.06011 2.54989 6.824 2.505L7 2.5H12ZM9 12.5C8.44772 12.5 8 12.9477 8 13.5C8 14.0523 8.44772 14.5 9 14.5H15C15.5523 14.5 16 14.0523 16 13.5C16 12.9477 15.5523 12.5 15 12.5H9ZM8 17.5C8 16.9477 8.44772 16.5 9 16.5H15C15.5523 16.5 16 16.9477 16 17.5C16 18.0523 15.5523 18.5 15 18.5H9C8.44772 18.5 8 18.0523 8 17.5Z\" fill={color ?? \"white\"}/>\r\n <path d=\"M19.001 7.501H15.001L15 3.5L19.001 7.501Z\" stroke={color ?? \"white\"}/>\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12 2.5L12.117 2.507C12.3402 2.53332 12.5481 2.63408 12.707 2.79301C12.8659 2.95194 12.9667 3.15978 12.993 3.383L13 3.5V7.5L13.005 7.65C13.0408 8.12617 13.2458 8.57383 13.5829 8.91203C13.92 9.25023 14.3669 9.45666 14.843 9.494L15 9.5H19L19.117 9.507C19.3402 9.53332 19.5481 9.63408 19.707 9.79301C19.8659 9.95194 19.9667 10.1598 19.993 10.383L20 10.5V19.5C20 20.2652 19.7077 21.0015 19.1827 21.5583C18.6578 22.115 17.9399 22.4501 17.176 22.495L17 22.5H7C6.23479 22.5 5.49849 22.2077 4.94174 21.6827C4.38499 21.1578 4.04989 20.4399 4.005 19.676L4 19.5V5.5C3.99996 4.73479 4.29233 3.99849 4.81728 3.44174C5.34224 2.88499 6.06011 2.54989 6.824 2.505L7 2.5H12ZM9 12.5C8.44772 12.5 8 12.9477 8 13.5C8 14.0523 8.44772 14.5 9 14.5H15C15.5523 14.5 16 14.0523 16 13.5C16 12.9477 15.5523 12.5 15 12.5H9ZM8 17.5C8 16.9477 8.44772 16.5 9 16.5H15C15.5523 16.5 16 16.9477 16 17.5C16 18.0523 15.5523 18.5 15 18.5H9C8.44772 18.5 8 18.0523 8 17.5Z\" stroke={color ?? \"white\"}/>\r\n </svg>\r\n )\r\n}","export const DownloadDocumentIcon = ({color}) => {\r\n return (\r\n <svg width=\"14\" height=\"17\" viewBox=\"0 0 14 17\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M8.39844 0.899902V4.23324C8.39844 4.45425 8.48623 4.66621 8.64252 4.82249C8.7988 4.97877 9.01076 5.06657 9.23177 5.06657H12.5651M8.39844 0.899902H2.5651C2.12308 0.899902 1.69915 1.0755 1.38659 1.38806C1.07403 1.70062 0.898438 2.12454 0.898438 2.56657V14.2332C0.898438 14.6753 1.07403 15.0992 1.38659 15.4117C1.69915 15.7243 2.12308 15.8999 2.5651 15.8999H10.8984C11.3405 15.8999 11.7644 15.7243 12.0769 15.4117C12.3895 15.0992 12.5651 14.6753 12.5651 14.2332V5.06657M8.39844 0.899902L12.5651 5.06657M6.73177 12.5666V7.56657M6.73177 12.5666L4.64844 10.4832M6.73177 12.5666L8.8151 10.4832\" stroke={color ?? 'white'} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n};","export const DownloadIconSmall = (color) => {\r\n return (\r\n <svg width=\"19\" height=\"18\" viewBox=\"0 0 19 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M3.5 12.75V14.25C3.5 14.6478 3.65804 15.0294 3.93934 15.3107C4.22064 15.592 4.60218 15.75 5 15.75H14C14.3978 15.75 14.7794 15.592 15.0607 15.3107C15.342 15.0294 15.5 14.6478 15.5 14.25V12.75M5.75 8.25L9.5 12M9.5 12L13.25 8.25M9.5 12V3\" stroke={color.color} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n};","export const IconDownloadOutline = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"><path d=\"M3.33398 14.1668V15.8335C3.33398 16.2755 3.50958 16.6994 3.82214 17.012C4.1347 17.3246 4.55862 17.5002 5.00065 17.5002H15.0006C15.4427 17.5002 15.8666 17.3246 16.1792 17.012C16.4917 16.6994 16.6673 16.2755 16.6673 15.8335V14.1668M5.83398 9.16683L10.0006 13.3335M10.0006 13.3335L14.1673 9.16683M10.0006 13.3335V3.3335\" stroke={color ?? \"white\"} strokeWidth=\"1.67\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/></svg>\r\n );\r\n};\r\n","export const DownloadIconLarge = ({\r\n color = \"#00529C\",\r\n width = \"21\",\r\n height = \"21\",\r\n}) => {\r\n return (\r\n <svg\r\n width={width}\r\n height={height}\r\n viewBox=\"0 0 21 22\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M21 20.1875C21 20.9124 20.4124 21.5 19.6875 21.5H1.3125C0.587631 21.5 0 20.9124 0 20.1875C0 19.4626 0.587631 18.875 1.3125 18.875H19.6875C20.4124 18.875 21 19.4626 21 20.1875ZM9.57194 16.0297C9.82825 16.286 10.1641 16.4141 10.5 16.4141C10.8358 16.4141 11.1718 16.2859 11.4281 16.0297L16.0783 11.3794C16.5909 10.8669 16.5909 10.0358 16.0783 9.52327C15.5658 9.0107 14.7347 9.0107 14.2222 9.52327L11.8125 11.9329V1.8125C11.8125 1.08763 11.2249 0.5 10.5 0.5C9.77513 0.5 9.1875 1.08763 9.1875 1.8125V11.9329L6.77783 9.52327C6.26526 9.0107 5.43424 9.0107 4.92167 9.52327C4.4091 10.0358 4.4091 10.8669 4.92167 11.3794L9.57194 16.0297Z\"\r\n fill={color}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconDuplicate = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M19.414 19.415C19.0389 19.7897 18.5302 20.0002 18 20H10C9.46957 20 8.96086 19.7893 8.58579 19.4142C8.21071 19.0391 8 18.5304 8 18V10C8 9.446 8.225 8.945 8.589 8.583M12 8H18C18.5304 8 19.0391 8.21071 19.4142 8.58579C19.7893 8.96086 20 9.46957 20 10V16M16 8V6C16 5.46957 15.7893 4.96086 15.4142 4.58579C15.0391 4.21071 14.5304 4 14 4H8M4.582 4.59C4.222 4.95 4 5.45 4 6V14C4 14.5304 4.21071 15.0391 4.58579 15.4142C4.96086 15.7893 5.46957 16 6 16H8M3 3L21 21\" stroke={color ?? \"#E84040\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n};\r\n","export const IconEdit = ({ color, isSmall }) => {\r\n return (\r\n <svg\r\n width={isSmall ? \"16px\" : \"20px\"}\r\n height={isSmall ? \"20px\" : \"24px\"}\r\n viewBox=\"0 0 20 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n fillRule=\"evenodd\"\r\n clipRule=\"evenodd\"\r\n d=\"M2.02018 21.5197H18.3535C18.6629 21.5197 18.9597 21.6426 19.1785 21.8614C19.3973 22.0802 19.5202 22.3769 19.5202 22.6863C19.5202 22.9958 19.3973 23.2925 19.1785 23.5113C18.9597 23.7301 18.6629 23.853 18.3535 23.853H2.02018C1.71076 23.853 1.41402 23.7301 1.19522 23.5113C0.976432 23.2925 0.853516 22.9958 0.853516 22.6863C0.853516 22.3769 0.976432 22.0802 1.19522 21.8614C1.41402 21.6426 1.71076 21.5197 2.02018 21.5197ZM0.853516 15.6863L12.5202 4.01968L16.0202 7.51968L4.35352 19.1863H0.853516V15.6863ZM13.6868 2.85302L16.0202 0.519684L19.5202 4.01968L17.1857 6.35418L13.6868 2.85302Z\"\r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconExclamation = ({\r\n size = 20,\r\n color = \"#E84040\",\r\n}) => {\r\n return (\r\n <svg\r\n width={size}\r\n height={size}\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <circle cx=\"12\" cy=\"12\" r=\"12\" fill={color} opacity=\"0.15\" />\r\n <rect x=\"11\" y=\"6\" width=\"2\" height=\"9\" rx=\"1\" fill={color} />\r\n <circle cx=\"12\" cy=\"18\" r=\"1.5\" fill={color} />\r\n </svg>\r\n );\r\n};\r\n","import * as React from \"react\";\r\nexport const FileOutlineCustom = (props) => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"14\"\r\n height=\"18\"\r\n fill=\"none\"\r\n viewBox=\"0 0 14 18\"\r\n {...props}\r\n >\r\n <path\r\n stroke={props.color || \"#080606\"}\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n strokeWidth=\"1.8\"\r\n d=\"M8.666 1.5v3.333a.833.833 0 0 0 .833.834h3.334M8.666 1.5H2.833a1.667 1.667 0 0 0-1.667 1.667v11.666A1.666 1.666 0 0 0 2.833 16.5h8.333a1.666 1.666 0 0 0 1.667-1.667V5.667M8.666 1.5l4.167 4.167\"\r\n ></path>\r\n </svg>\r\n);\r\n","export const IconFileOutline = ({ color }) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"15\" viewBox=\"0 0 18 15\" fill=\"none\">\r\n <path d=\"M3.16667 0.833496H6.5L9 3.3335H14.8333C15.2754 3.3335 15.6993 3.50909 16.0118 3.82165C16.3244 4.13421 16.5 4.55813 16.5 5.00016V11.6668C16.5 12.1089 16.3244 12.5328 16.0118 12.8453C15.6993 13.1579 15.2754 13.3335 14.8333 13.3335H3.16667C2.72464 13.3335 2.30072 13.1579 1.98816 12.8453C1.67559 12.5328 1.5 12.1089 1.5 11.6668V2.50016C1.5 2.05814 1.67559 1.63421 1.98816 1.32165C2.30072 1.00909 2.72464 0.833496 3.16667 0.833496Z\" stroke={color ?? \"white\"} strokeWidth=\"1.67\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n )\r\n}\r\n","export const IconFileSleve = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\r\n <g clipPath=\"url(#clip0_4150_6509)\">\r\n <path d=\"M12 2.5L12.117 2.507C12.3402 2.53332 12.5481 2.63408 12.707 2.79301C12.8659 2.95194 12.9667 3.15978 12.993 3.383L13 3.5V7.5L13.005 7.65C13.0408 8.12617 13.2458 8.57383 13.5829 8.91203C13.92 9.25023 14.3669 9.45666 14.843 9.494L15 9.5H19L19.117 9.507C19.3402 9.53332 19.5481 9.63408 19.707 9.79301C19.8659 9.95194 19.9667 10.1598 19.993 10.383L20 10.5V19.5C20 20.2652 19.7077 21.0015 19.1827 21.5583C18.6578 22.115 17.9399 22.4501 17.176 22.495L17 22.5H7C6.23479 22.5 5.49849 22.2077 4.94174 21.6827C4.38499 21.1578 4.04989 20.4399 4.005 19.676L4 19.5V5.5C3.99996 4.73479 4.29233 3.99849 4.81728 3.44174C5.34224 2.88499 6.06011 2.54989 6.824 2.505L7 2.5H12Z\" fill={color ?? \"#00529C\"}/>\r\n <path d=\"M19.001 7.501H15.001L15 3.5L19.001 7.501Z\" fill={color ?? \"#00529C\"}/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4150_6509\">\r\n <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0 0.5)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n );\r\n};","export const IconFile = ({ color }) => {\r\n return (\r\n <svg\r\n width='36'\r\n height='36'\r\n viewBox='0 0 36 36'\r\n fill='none'\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M13.5718 2.91919C14.968 2.90484 16.2712 3.53241 17.126 4.59781L18.4457 6.30538C18.8656 6.81619 19.4954 7.12268 20.1703 7.12268H24.7742C30.3079 7.12268 33.0073 9.99781 32.9924 15.894V23.0016C32.9924 28.6351 29.4231 32.1086 23.6195 32.1086H12.3571C6.58344 32.1086 2.99927 28.6351 2.99927 22.987V12.0265C2.99927 5.9843 5.75863 2.91919 11.2024 2.91919H13.5718ZM24.9392 20.1265H11.0524C10.4225 20.1265 9.92766 20.6081 9.92766 21.2211C9.92766 21.8194 10.4225 22.3156 11.0524 22.3156H24.9392C25.554 22.3156 26.0489 21.8194 26.0489 21.2211C26.0489 20.6081 25.554 20.1265 24.9392 20.1265Z'\r\n fill={color ? color :'#084F8C'}\r\n />\r\n </svg>\r\n )\r\n}\r\n","export const IconFingerScan = ({color, isBordered = true}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"64\" height=\"64\" viewBox=\"0 0 64 64\" fill=\"none\">\r\n {\r\n isBordered && <path d=\"M8 17V14C8 12.4087 8.63214 10.8826 9.75736 9.75736C10.8826 8.63214 12.4087 8 14 8H20M8 47V50C8 51.5913 8.63214 53.1174 9.75736 54.2426C10.8826 55.3679 12.4087 56 14 56H20M44 8H50C51.5913 8 53.1174 8.63214 54.2426 9.75736C55.3679 10.8826 56 12.4087 56 14V17M44 56H50C51.5913 56 53.1174 55.3679 54.2426 54.2426C55.3679 53.1174 56 51.5913 56 50V47\" stroke={color ?? \"none\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n }\r\n <path d=\"M40.2559 25.3561C41.4036 27.3552 41.894 29.6946 41.6517 32.0146V33.3463C41.6502 34.7485 42.0003 36.1263 42.6668 37.3415M26.4241 30.6829C26.4241 29.2702 26.9588 27.9153 27.9107 26.9163C28.8626 25.9173 30.1536 25.3561 31.4998 25.3561C32.8459 25.3561 34.137 25.9173 35.0888 26.9163C36.0407 27.9153 36.5755 29.2702 36.5755 30.6829V32.0146C36.5755 34.896 37.466 37.6997 39.1133 40.0049M31.4998 30.6829V33.3463C31.4957 37.1542 32.6028 40.8721 34.6721 44M26.4241 36.0098C26.7346 38.7928 27.5076 41.4972 28.7081 44M22.4909 41.3364C21.6347 38.3138 21.2491 35.166 21.3489 32.0144V30.6827C21.344 28.8101 21.8096 26.9693 22.6985 25.3457C23.5875 23.7221 24.8686 22.3731 26.4126 21.4346C27.9566 20.4961 29.7091 20.0013 31.4934 20C33.2777 19.9987 35.0308 20.491 36.576 21.4273\" stroke={color ?? \"none\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n };","export const GenerateDocumentIcon = ({color}) => {\r\n return (\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M11.6641 2.5V5.83333C11.6641 6.05435 11.7519 6.26631 11.9081 6.42259C12.0644 6.57887 12.2764 6.66667 12.4974 6.66667H15.8307M11.6641 2.5H5.83073C5.3887 2.5 4.96478 2.67559 4.65222 2.98816C4.33966 3.30072 4.16406 3.72464 4.16406 4.16667V15.8333C4.16406 16.2754 4.33966 16.6993 4.65222 17.0118C4.96478 17.3244 5.3887 17.5 5.83073 17.5H14.1641C14.6061 17.5 15.03 17.3244 15.3426 17.0118C15.6551 16.6993 15.8307 16.2754 15.8307 15.8333V6.66667M11.6641 2.5L15.8307 6.66667\" stroke={color ?? \"#ffffff\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path d=\"M10 9.58325V14.5833M7.5 12.0833H12.5\" stroke={color ?? \"#ffffff\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n};","export const IconGradingRounded = ({color, width, height}) => {\r\n return (\r\n <svg \r\n width={width ?? \"24\"} \r\n height={height ?? \"24\"} \r\n viewBox=\"0 0 24 24\" \r\n fill=\"none\" \r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path \r\n d=\"M19.8684 18.3838L17.7283 20.5239L16.7388 19.5352C16.4458 19.2422 15.9712 19.2422 15.6782 19.5352C15.3853 19.8281 15.3853 20.3027 15.6782 20.5957L17.198 22.1147C17.3445 22.2612 17.5364 22.3345 17.7283 22.3345C17.9202 22.3345 18.1121 22.2612 18.2585 22.1147L20.929 19.4443C21.2219 19.1514 21.2219 18.6768 20.929 18.3838C20.636 18.0908 20.1614 18.0908 19.8684 18.3838Z\" \r\n fill={color ?? \"#00529C\"}\r\n />\r\n <path \r\n d=\"M17.1016 1.5H6.60156C4.53156 1.5 2.85156 3.17999 2.85156 5.25V18.75C2.85156 20.82 4.53156 22.5 6.60156 22.5H15.4591L14.6191 21.66C13.7416 20.7825 13.7416 19.3575 14.6191 18.4725C15.4741 17.6175 16.8465 17.595 17.7241 18.405L18.8116 17.325C19.3666 16.77 20.1391 16.5675 20.8516 16.7175V5.25C20.8516 3.17999 19.1716 1.5 17.1016 1.5ZM16.3516 16.5H7.35156C6.93907 16.5 6.60156 16.1625 6.60156 15.75C6.60156 15.3375 6.93907 15 7.35156 15H16.3516C16.7641 15 17.1016 15.3375 17.1016 15.75C17.1016 16.1625 16.7641 16.5 16.3516 16.5ZM16.3516 12.75H7.35156C6.93907 12.75 6.60156 12.4125 6.60156 12C6.60156 11.5875 6.93907 11.25 7.35156 11.25H16.3516C16.7641 11.25 17.1016 11.5875 17.1016 12C17.1016 12.4125 16.7641 12.75 16.3516 12.75ZM16.3516 9H7.35156C6.93907 9 6.60156 8.66249 6.60156 8.25C6.60156 7.83751 6.93907 7.5 7.35156 7.5H16.3516C16.7641 7.5 17.1016 7.83751 17.1016 8.25C17.1016 8.66249 16.7641 9 16.3516 9Z\" \r\n fill={color ?? \"#00529C\"}\r\n />\r\n </svg>\r\n );\r\n };","export const HandstopSign = ({\r\n color = \"#E84040\",\r\n width = \"13\",\r\n height = \"16\",\r\n}) => {\r\n return (\r\n <svg\r\n width={width}\r\n height={height}\r\n viewBox=\"0 0 13 16\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M4.33301 8.66634V3.66634C4.33301 3.40112 4.43836 3.14677 4.6259 2.95923C4.81344 2.7717 5.06779 2.66634 5.33301 2.66634C5.59822 2.66634 5.85258 2.7717 6.04011 2.95923C6.22765 3.14677 6.33301 3.40112 6.33301 3.66634M6.33301 3.66634V7.99967M6.33301 3.66634V2.33301C6.33301 2.20169 6.35887 2.07165 6.40913 1.95032C6.45938 1.829 6.53304 1.71876 6.6259 1.6259C6.71876 1.53304 6.829 1.45938 6.95032 1.40913C7.07165 1.35887 7.20169 1.33301 7.33301 1.33301C7.46433 1.33301 7.59437 1.35887 7.71569 1.40913C7.83702 1.45938 7.94726 1.53304 8.04011 1.6259C8.13297 1.71876 8.20663 1.829 8.25689 1.95032C8.30714 2.07165 8.33301 2.20169 8.33301 2.33301V7.99967M8.33301 3.66634C8.33301 3.40112 8.43836 3.14677 8.6259 2.95923C8.81344 2.7717 9.06779 2.66634 9.33301 2.66634C9.59822 2.66634 9.85258 2.7717 10.0401 2.95923C10.2277 3.14677 10.333 3.40112 10.333 3.66634V7.99967M10.3344 4.99967C10.3344 4.73446 10.4398 4.4801 10.6273 4.29257C10.8149 4.10503 11.0692 3.99967 11.3344 3.99967C11.5996 3.99967 11.854 4.10503 12.0415 4.29257C12.2291 4.4801 12.3344 4.73446 12.3344 4.99967V10.6663C12.3344 11.7272 11.913 12.7446 11.1629 13.4948C10.4127 14.2449 9.3953 14.6663 8.33443 14.6663H7.0011H7.13977C6.47732 14.6665 5.82522 14.502 5.24202 14.1879C4.65882 13.8737 4.16278 13.4196 3.79843 12.8663C3.75471 12.7998 3.71115 12.7331 3.66777 12.6663C3.45977 12.347 2.72977 11.0743 1.4771 8.84767C1.3494 8.6207 1.31529 8.35285 1.38202 8.10111C1.44875 7.84937 1.61106 7.63359 1.83443 7.49967C2.07235 7.35692 2.35115 7.29775 2.62654 7.33157C2.90193 7.36539 3.15813 7.49026 3.35443 7.68634L4.33443 8.66634\"\r\n stroke={color}\r\n strokeWidth=\"1.2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const HomeAssetIcon = ({ color, outline }) => {\r\n return (\r\n <svg\r\n width='24'\r\n height='24'\r\n viewBox='0 0 16 16'\r\n fill={color ? color : 'none'}\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M6 14V10C6 9.64638 6.14048 9.30724 6.39052 9.05719C6.64057 8.80714 6.97971 8.66667 7.33333 8.66667H8.66667C9.02029 8.66667 9.35943 8.80714 9.60948 9.05719C9.85952 9.30724 10 9.64638 10 10V14M3.33333 8H2L8 2L14 8H12.6667V12.6667C12.6667 13.0203 12.5262 13.3594 12.2761 13.6095C12.0261 13.8595 11.687 14 11.3333 14H4.66667C4.31304 14 3.97391 13.8595 3.72386 13.6095C3.47381 13.3594 3.33333 13.0203 3.33333 12.6667V8Z'\r\n stroke={outline ? outline : '#00529C'}\r\n strokeWidth='1.35'\r\n strokeLinecap='round'\r\n strokeLinejoin='round'\r\n />\r\n </svg>\r\n )\r\n}\r\n","export const IconHomeOutlined = () => {\r\n return (\r\n <svg\r\n width=\"16\"\r\n height=\"17\"\r\n viewBox=\"0 0 16 17\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M6.79167 1.10998C7.12981 0.824999 7.55779 0.668701 8 0.668701C8.44221 0.668701 8.87019 0.824999 9.20833 1.10998L14.8333 5.85331C15.2558 6.20998 15.5 6.73415 15.5 7.28665V15.4558C15.5 15.8426 15.3464 16.2135 15.0729 16.487C14.7994 16.7605 14.4284 16.9141 14.0417 16.9141H11.125C10.7382 16.9141 10.3673 16.7605 10.0938 16.487C9.82031 16.2135 9.66667 15.8426 9.66667 15.4558V10.8725C9.66667 10.8172 9.64472 10.7642 9.60565 10.7252C9.56658 10.6861 9.51359 10.6641 9.45833 10.6641H6.54167C6.48641 10.6641 6.43342 10.6861 6.39435 10.7252C6.35528 10.7642 6.33333 10.8172 6.33333 10.8725V15.4558C6.33333 15.8426 6.17969 16.2135 5.9062 16.487C5.63271 16.7605 5.26177 16.9141 4.875 16.9141H1.95833C1.76682 16.9141 1.57719 16.8764 1.40025 16.8031C1.22332 16.7298 1.06255 16.6224 0.927136 16.487C0.791717 16.3516 0.684297 16.1908 0.611009 16.0139C0.537721 15.837 0.5 15.6473 0.5 15.4558V7.28665C0.5 6.73415 0.744167 6.20998 1.16667 5.85331L6.79167 1.10998ZM8.4025 2.06581C8.28983 1.97097 8.14728 1.91895 8 1.91895C7.85272 1.91895 7.71017 1.97097 7.5975 2.06581L1.9725 6.80831C1.90289 6.86691 1.84691 6.94 1.80848 7.02248C1.77005 7.10495 1.75009 7.19482 1.75 7.28581V15.455C1.75 15.57 1.84333 15.6633 1.95833 15.6633H4.875C4.93025 15.6633 4.98324 15.6414 5.02231 15.6023C5.06138 15.5632 5.08333 15.5102 5.08333 15.455V10.8716C5.08333 10.0658 5.73667 9.41331 6.54167 9.41331H9.45833C10.2633 9.41331 10.9167 10.0658 10.9167 10.8716V15.455C10.9167 15.57 11.01 15.6633 11.125 15.6633H14.0417C14.0969 15.6633 14.1499 15.6414 14.189 15.6023C14.2281 15.5632 14.25 15.5102 14.25 15.455V7.28665C14.2499 7.19566 14.2299 7.10578 14.1915 7.02331C14.1531 6.94083 14.0971 6.86774 14.0275 6.80915L8.4025 2.06581Z\"\r\n fill=\"#999999\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconImage = ({ color }) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\r\n <g clipPath=\"url(#clip0_8793_79855)\">\r\n <path d=\"M8.813 12.112C9.27 11.732 9.731 11.732 10.199 12.123L10.307 12.221L15.293 17.207L15.387 17.29C15.5794 17.4391 15.8196 17.513 16.0626 17.4976C16.3056 17.4823 16.5346 17.3789 16.7067 17.2067C16.8789 17.0346 16.9823 16.8056 16.9976 16.5626C17.013 16.3196 16.9391 16.0794 16.79 15.887L16.707 15.793L15.415 14.5L15.707 14.207L15.813 14.112C16.27 13.732 16.731 13.732 17.199 14.123L17.307 14.221L21.981 18.896C21.8863 19.8483 21.4534 20.735 20.7608 21.3954C20.0681 22.0557 19.1617 22.4459 18.206 22.495L18 22.5H6C5.00791 22.4999 4.05124 22.1312 3.31576 21.4654C2.58028 20.7996 2.11847 19.8842 2.02 18.897L8.707 12.207L8.813 12.112ZM18 2.5C19.0262 2.5 20.0132 2.89444 20.7568 3.60172C21.5004 4.30901 21.9437 5.27504 21.995 6.3L22 6.5V16.085L18.707 12.793L18.557 12.656C17.301 11.561 15.707 11.559 14.461 12.639L14.307 12.779L14 13.085L11.707 10.793L11.557 10.656C10.301 9.561 8.707 9.559 7.461 10.639L7.307 10.779L2 16.085V6.5C2 5.47376 2.39444 4.48677 3.10172 3.74319C3.80901 2.9996 4.77504 2.55631 5.8 2.505L6 2.5H18ZM15.01 7.5L14.883 7.507C14.64 7.53591 14.4159 7.65296 14.2534 7.83596C14.0909 8.01897 14.0011 8.25524 14.0011 8.5C14.0011 8.74476 14.0909 8.98103 14.2534 9.16403C14.4159 9.34704 14.64 9.46409 14.883 9.493L15 9.5L15.127 9.493C15.37 9.46409 15.5941 9.34704 15.7566 9.16403C15.9191 8.98103 16.0089 8.74476 16.0089 8.5C16.0089 8.25524 15.9191 8.01897 15.7566 7.83596C15.5941 7.65296 15.37 7.53591 15.127 7.507L15.01 7.5Z\" fill={color ?? '#00529C'}/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_8793_79855\">\r\n <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0 0.5)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n )\r\n}","export const IconInfoBgPutih = ({ isSmall }) => {\r\n const size = isSmall ? 20 : 28;\r\n return (\r\n <svg\r\n width={size}\r\n height={size}\r\n viewBox=\"0 0 28 28\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n\r\n <circle cx=\"14\" cy=\"15\" r=\"12.5\" fill=\"white\" stroke=\"#00529C\" strokeWidth=\"2\" />\r\n\r\n <path\r\n d=\"M14 6.3C13.54 6.3 13.09 6.48 12.76 6.81C12.43 7.14 12.25 7.59 12.25 8.05C12.25 8.52 12.43 8.96 12.76 9.29C13.09 9.62 13.54 9.8 14 9.8C14.46 9.8 14.91 9.62 15.24 9.29C15.57 8.96 15.75 8.52 15.75 8.05C15.75 7.59 15.57 7.14 15.24 6.81C14.91 6.48 14.46 6.3 14 6.3ZM13.99 11.55C13.65 11.55 13.32 11.68 13.06 11.9C12.81 12.13 12.65 12.45 12.61 12.79L12.6 12.95L12.6 20.65C12.65 21.16 12.81 21.47 13.07 21.7C13.33 21.93 13.66 22.05 14 22.05C14.34 22.05 14.68 21.93 14.93 21.7C15.19 21.47 15.35 21.15 15.39 20.81L15.4 20.65V12.95C15.35 12.44 15.18 12.13 14.92 11.9C14.67 11.67 14.34 11.55 13.99 11.55Z\"\r\n fill=\"#00529C\"\r\n />\r\n </svg>\r\n );\r\n};","export const IconInfoHover = (color) => {\r\n return (\r\n <svg\r\n width=\"4\"\r\n height=\"13\"\r\n viewBox=\"0 0 4 13\"\r\n fill={color ? color : 'white'} \r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M1.75473 0.948997C1.2913 0.948997 0.846844 1.08623 0.519147 1.33051C0.19145 1.57479 0.00735188 1.90611 0.00735188 2.25158C0.00735188 2.59704 0.19145 2.92836 0.519147 3.17264C0.846844 3.41692 1.2913 3.55416 1.75473 3.55416C2.21816 3.55416 2.66261 3.41692 2.99031 3.17264C3.31801 2.92836 3.50211 2.59704 3.50211 2.25158C3.50211 1.90611 3.31801 1.57479 2.99031 1.33051C2.66261 1.08623 2.21816 0.948997 1.75473 0.948997Z\"\r\n />\r\n <path\r\n d=\"M1.74914 4.85102C1.40697 4.85137 1.07689 4.94537 0.82156 5.11517C0.566231 5.28498 0.403437 5.51876 0.364087 5.77214L0.354314 5.89287L0.358502 11.6194L0.368277 11.7412C0.407638 11.9951 0.570887 12.2292 0.826923 12.3991C1.08296 12.569 1.41389 12.6628 1.75667 12.6625C2.09946 12.6623 2.43013 12.568 2.68571 12.3977C2.94129 12.2275 3.1039 11.993 3.14258 11.7391L3.15096 11.6174L3.14677 5.89183L3.13699 5.77006C3.09664 5.51689 2.93303 5.28357 2.67721 5.11435C2.42139 4.94514 2.09115 4.85181 1.74914 4.85206V4.85102Z\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconInfo = ({color, isSmall}) => {\r\n return (\r\n <svg\r\n width={`${isSmall ? \"20\" : \"28\"}`}\r\n height={`${isSmall ? \"20\" : \"28\"}`}\r\n viewBox=\"0 0 28 28\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M14 0C21.7321 0 28 6.26826 28 14.0007C28 21.7317 21.7321 28 14 28C6.26795 28 0 21.7317 0 14.0007C0 6.26826 6.26795 0 14 0ZM13.9944 11.5483C13.6514 11.5487 13.3205 11.6752 13.0645 11.9035C12.8085 12.1319 12.6453 12.4463 12.6059 12.7871L12.5961 12.9495L12.6003 20.6511L12.6101 20.8149C12.6495 21.1563 12.8132 21.4712 13.0699 21.6997C13.3265 21.9282 13.6583 22.0543 14.0019 22.0539C14.3456 22.0536 14.6771 21.9268 14.9333 21.6978C15.1895 21.4688 15.3525 21.1535 15.3913 20.8121L15.3997 20.6483L15.3955 12.9481L15.3857 12.7843C15.3453 12.4438 15.1812 12.13 14.9248 11.9024C14.6683 11.6749 14.3373 11.5493 13.9944 11.5497V11.5483ZM14 6.30046C13.5354 6.30046 13.0898 6.48502 12.7613 6.81356C12.4328 7.14209 12.2482 7.58768 12.2482 8.05229C12.2482 8.51691 12.4328 8.96249 12.7613 9.29103C13.0898 9.61956 13.5354 9.80413 14 9.80413C14.4646 9.80413 14.9102 9.61956 15.2387 9.29103C15.5672 8.96249 15.7517 8.51691 15.7517 8.05229C15.7517 7.58768 15.5672 7.14209 15.2387 6.81356C14.9102 6.48502 14.4646 6.30046 14 6.30046Z\"\r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconListDocument = ({ color }) => {\r\n return (\r\n <svg\r\n width=\"21\"\r\n height=\"22\"\r\n viewBox=\"0 0 21 22\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M0 3.93103C0 3.13538 0.31607 2.37232 0.87868 1.80971C1.44129 1.2471 2.20435 0.93103 3 0.93103H13.5C14.2956 0.93103 15.0587 1.2471 15.6213 1.80971C16.1839 2.37232 16.5 3.13538 16.5 3.93103V14.431H21V17.431C21 18.6245 20.5259 19.7691 19.682 20.613C18.8381 21.4569 17.6935 21.931 16.5 21.931H4.5C3.30653 21.931 2.16193 21.4569 1.31802 20.613C0.474106 19.7691 0 18.6245 0 17.431V3.93103ZM16.5 20.431C17.2956 20.431 18.0587 20.115 18.6213 19.5523C19.1839 18.9897 19.5 18.2267 19.5 17.431V15.931H16.5V20.431ZM5.25 5.43103C5.05109 5.43103 4.86032 5.51005 4.71967 5.6507C4.57902 5.79135 4.5 5.98212 4.5 6.18103C4.5 6.37994 4.57902 6.57071 4.71967 6.71136C4.86032 6.85201 5.05109 6.93103 5.25 6.93103H11.25C11.4489 6.93103 11.6397 6.85201 11.7803 6.71136C11.921 6.57071 12 6.37994 12 6.18103C12 5.98212 11.921 5.79135 11.7803 5.6507C11.6397 5.51005 11.4489 5.43103 11.25 5.43103H5.25ZM5.25 9.93103C5.05109 9.93103 4.86032 10.01 4.71967 10.1507C4.57902 10.2914 4.5 10.4821 4.5 10.681C4.5 10.8799 4.57902 11.0707 4.71967 11.2114C4.86032 11.352 5.05109 11.431 5.25 11.431H11.25C11.4489 11.431 11.6397 11.352 11.7803 11.2114C11.921 11.0707 12 10.8799 12 10.681C12 10.4821 11.921 10.2914 11.7803 10.1507C11.6397 10.01 11.4489 9.93103 11.25 9.93103H5.25ZM5.25 14.431C5.05109 14.431 4.86032 14.51 4.71967 14.6507C4.57902 14.7914 4.5 14.9821 4.5 15.181C4.5 15.3799 4.57902 15.5707 4.71967 15.7114C4.86032 15.852 5.05109 15.931 5.25 15.931H8.25C8.44891 15.931 8.63968 15.852 8.78033 15.7114C8.92098 15.5707 9 15.3799 9 15.181C9 14.9821 8.92098 14.7914 8.78033 14.6507C8.63968 14.51 8.44891 14.431 8.25 14.431H5.25Z\"\r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconModalClose = ({ color }) => {\r\n return (\r\n <svg\r\n width=\"16\"\r\n height=\"16\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color={color ? color : \"white\"}\r\n >\r\n <path\r\n d=\"M21.0003 0.000976562L11.9989 9.00018L2.99973 0.000976562L0 3.00071L8.9992 11.9999L0 20.9991L2.99973 23.9989L11.9989 14.9997L21.0003 23.9989L24 20.9991L15.0008 11.9999L24 3.00071L21.0003 0.000976562Z\"\r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const MoneyIcon = ({ color, width, height }) => {\r\n return (\r\n <svg\r\n width={width ? width : \"25\"}\r\n height={height ? height : \"24\"}\r\n viewBox=\"0 0 25 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M2.5 5.75C2.5 4.784 3.284 4 4.25 4H17.75C18.716 4 19.5 4.784 19.5 5.75V14.25C19.5 14.7141 19.3156 15.1592 18.9874 15.4874C18.6592 15.8156 18.2141 16 17.75 16H4.25C3.78587 16 3.34075 15.8156 3.01256 15.4874C2.68437 15.1592 2.5 14.7141 2.5 14.25V5.75ZM5.5 5.25V6.25C5.5 6.44891 5.42098 6.63968 5.28033 6.78033C5.13968 6.92098 4.94891 7 4.75 7H3.75V8.5H4.75C5.04547 8.5 5.33806 8.4418 5.61104 8.32873C5.88402 8.21566 6.13206 8.04992 6.34099 7.84099C6.54992 7.63206 6.71566 7.38402 6.82873 7.11104C6.9418 6.83805 7 6.54547 7 6.25V5.25H5.5ZM11 12.5C11.5967 12.5 12.169 12.2629 12.591 11.841C13.0129 11.419 13.25 10.8467 13.25 10.25C13.25 9.65326 13.0129 9.08097 12.591 8.65901C12.169 8.23705 11.5967 8 11 8C10.4033 8 9.83097 8.23705 9.40901 8.65901C8.98705 9.08097 8.75 9.65326 8.75 10.25C8.75 10.8467 8.98705 11.419 9.40901 11.841C9.83097 12.2629 10.4033 12.5 11 12.5ZM3.75 13H4.75C4.94891 13 5.13968 13.079 5.28033 13.2197C5.42098 13.3603 5.5 13.5511 5.5 13.75V14.75H7V13.75C7 13.1533 6.76295 12.581 6.34099 12.159C5.91903 11.7371 5.34674 11.5 4.75 11.5H3.75V13ZM16.5 13.75C16.5 13.5511 16.579 13.3603 16.7197 13.2197C16.8603 13.079 17.0511 13 17.25 13H18.25V11.5H17.25C16.6533 11.5 16.081 11.7371 15.659 12.159C15.2371 12.581 15 13.1533 15 13.75V14.75H16.5V13.75ZM16.5 6.25V5.25H15V6.25C15 6.54547 15.0582 6.83805 15.1713 7.11104C15.2843 7.38402 15.4501 7.63206 15.659 7.84099C16.081 8.26295 16.6533 8.5 17.25 8.5H18.25V7H17.25C17.0511 7 16.8603 6.92098 16.7197 6.78033C16.579 6.63968 16.5 6.44891 16.5 6.25Z\"\r\n fill={color ? color : \"#00529C\"}\r\n />\r\n <path\r\n d=\"M4.90137 17.4999C5.16467 17.9561 5.54351 18.335 5.99977 18.5983C6.45602 18.8616 6.97358 19.0001 7.50037 18.9999H17.7504C18.3741 18.9999 18.9918 18.877 19.5681 18.6383C20.1444 18.3996 20.668 18.0497 21.1091 17.6086C21.5502 17.1676 21.9001 16.6439 22.1388 16.0676C22.3775 15.4913 22.5004 14.8737 22.5004 14.2499V8.99988C22.5004 7.88988 21.8974 6.91988 21.0004 6.40088V14.2499C21.0004 15.1118 20.658 15.9385 20.0485 16.548C19.439 17.1575 18.6123 17.4999 17.7504 17.4999H4.90137Z\"\r\n fill={color ? color : \"#00529C\"}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconMoneyOne = ({ width, height }) => {\r\n return (\r\n <svg \r\n width={width ? width : \"25\"} \r\n height={height ? height : \"37\"} \r\n viewBox=\"0 0 25 37\" \r\n fill=\"none\" \r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path \r\n d=\"M18.3335 18.5H18.3435M6.3335 18.5H6.3435M9.3335 18.5C9.3335 19.2956 9.64957 20.0587 10.2122 20.6213C10.7748 21.1839 11.5378 21.5 12.3335 21.5C13.1291 21.5 13.8922 21.1839 14.4548 20.6213C15.0174 20.0587 15.3335 19.2956 15.3335 18.5C15.3335 17.7044 15.0174 16.9413 14.4548 16.3787C13.8922 15.8161 13.1291 15.5 12.3335 15.5C11.5378 15.5 10.7748 15.8161 10.2122 16.3787C9.64957 16.9413 9.3335 17.7044 9.3335 18.5ZM3.3335 14.5C3.3335 13.9696 3.54421 13.4609 3.91928 13.0858C4.29436 12.7107 4.80306 12.5 5.3335 12.5H19.3335C19.8639 12.5 20.3726 12.7107 20.7477 13.0858C21.1228 13.4609 21.3335 13.9696 21.3335 14.5V22.5C21.3335 23.0304 21.1228 23.5391 20.7477 23.9142C20.3726 24.2893 19.8639 24.5 19.3335 24.5H5.3335C4.80306 24.5 4.29436 24.2893 3.91928 23.9142C3.54421 23.5391 3.3335 23.0304 3.3335 22.5V14.5Z\" \r\n stroke=\"#00529C\" \r\n strokeWidth=\"1.8\" \r\n strokeLinecap=\"round\" \r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconMoneyTwo = ({ width, height }) => {\r\n return (\r\n <svg \r\n width={width ? width : \"25\"} \r\n height={height ? height : \"37\"} \r\n viewBox=\"0 0 25 37\" \r\n fill=\"none\" \r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path \r\n d=\"M17.6665 15.5V13.5C17.6665 12.9696 17.4558 12.4609 17.0807 12.0858C16.7056 11.7107 16.1969 11.5 15.6665 11.5H5.6665C5.13607 11.5 4.62736 11.7107 4.25229 12.0858C3.87722 12.4609 3.6665 12.9696 3.6665 13.5V19.5C3.6665 20.0304 3.87722 20.5391 4.25229 20.9142C4.62736 21.2893 5.13607 21.5 5.6665 21.5H7.6665M7.6665 17.5C7.6665 16.9696 7.87722 16.4609 8.25229 16.0858C8.62736 15.7107 9.13607 15.5 9.6665 15.5H19.6665C20.1969 15.5 20.7056 15.7107 21.0807 16.0858C21.4558 16.4609 21.6665 16.9696 21.6665 17.5V23.5C21.6665 24.0304 21.4558 24.5391 21.0807 24.9142C20.7056 25.2893 20.1969 25.5 19.6665 25.5H9.6665C9.13607 25.5 8.62736 25.2893 8.25229 24.9142C7.87722 24.5391 7.6665 24.0304 7.6665 23.5V17.5ZM12.6665 20.5C12.6665 21.0304 12.8772 21.5391 13.2523 21.9142C13.6274 22.2893 14.1361 22.5 14.6665 22.5C15.1969 22.5 15.7056 22.2893 16.0807 21.9142C16.4558 21.5391 16.6665 21.0304 16.6665 20.5C16.6665 19.9696 16.4558 19.4609 16.0807 19.0858C15.7056 18.7107 15.1969 18.5 14.6665 18.5C14.1361 18.5 13.6274 18.7107 13.2523 19.0858C12.8772 19.4609 12.6665 19.9696 12.6665 20.5Z\" \r\n stroke=\"#00529C\" \r\n strokeWidth=\"1.8\" \r\n strokeLinecap=\"round\" \r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconMoney = ({color, width, height}) => {\r\n return (\r\n <svg \r\n width={width ? width :\"32\"} \r\n height={height ? height : \"33\"} \r\n viewBox=\"0 0 32 33\" \r\n fill=\"none\" \r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path \r\n d=\"M2.66602 8.16683C2.66602 6.87883 3.71135 5.8335 4.99935 5.8335H22.9993C24.2873 5.8335 25.3327 6.87883 25.3327 8.16683V19.5002C25.3327 20.119 25.0868 20.7125 24.6493 21.1501C24.2117 21.5877 23.6182 21.8335 22.9993 21.8335H4.99935C4.38051 21.8335 3.78702 21.5877 3.34943 21.1501C2.91185 20.7125 2.66602 20.119 2.66602 19.5002V8.16683ZM6.66602 7.50016V8.8335C6.66602 9.09871 6.56066 9.35307 6.37312 9.5406C6.18559 9.72814 5.93123 9.8335 5.66602 9.8335H4.33268V11.8335H5.66602C6.05998 11.8335 6.45009 11.7559 6.81407 11.6051C7.17804 11.4544 7.50876 11.2334 7.78734 10.9548C8.06591 10.6762 8.28689 10.3455 8.43765 9.98155C8.58842 9.61757 8.66602 9.22746 8.66602 8.8335V7.50016H6.66602ZM13.9993 17.1668C14.795 17.1668 15.5581 16.8508 16.1207 16.2881C16.6833 15.7255 16.9993 14.9625 16.9993 14.1668C16.9993 13.3712 16.6833 12.6081 16.1207 12.0455C15.5581 11.4829 14.795 11.1668 13.9993 11.1668C13.2037 11.1668 12.4406 11.4829 11.878 12.0455C11.3154 12.6081 10.9993 13.3712 10.9993 14.1668C10.9993 14.9625 11.3154 15.7255 11.878 16.2881C12.4406 16.8508 13.2037 17.1668 13.9993 17.1668ZM4.33268 17.8335H5.66602C5.93123 17.8335 6.18559 17.9389 6.37312 18.1264C6.56066 18.3139 6.66602 18.5683 6.66602 18.8335V20.1668H8.66602V18.8335C8.66602 18.0378 8.34995 17.2748 7.78734 16.7122C7.22473 16.1496 6.46167 15.8335 5.66602 15.8335H4.33268V17.8335ZM21.3327 18.8335C21.3327 18.5683 21.438 18.3139 21.6256 18.1264C21.8131 17.9389 22.0675 17.8335 22.3327 17.8335H23.666V15.8335H22.3327C21.537 15.8335 20.774 16.1496 20.2114 16.7122C19.6488 17.2748 19.3327 18.0378 19.3327 18.8335V20.1668H21.3327V18.8335ZM21.3327 8.8335V7.50016H19.3327V8.8335C19.3327 9.22746 19.4103 9.61757 19.561 9.98155C19.7118 10.3455 19.9328 10.6762 20.2114 10.9548C20.774 11.5174 21.537 11.8335 22.3327 11.8335H23.666V9.8335H22.3327C22.0675 9.8335 21.8131 9.72814 21.6256 9.5406C21.438 9.35307 21.3327 9.09871 21.3327 8.8335Z\" \r\n fill=\"#ED6E12\"\r\n />\r\n <path \r\n d=\"M5.86719 23.8333C6.21826 24.4417 6.72338 24.9468 7.33172 25.2979C7.94005 25.649 8.63014 25.8337 9.33252 25.8333H22.9992C23.8309 25.8333 24.6545 25.6695 25.4229 25.3512C26.1912 25.033 26.8894 24.5665 27.4775 23.9783C28.0656 23.3902 28.5321 22.6921 28.8504 21.9237C29.1687 21.1553 29.3325 20.3317 29.3325 19.5V12.5C29.3325 11.02 28.5285 9.72667 27.3325 9.03467V19.5C27.3325 20.6493 26.876 21.7515 26.0633 22.5641C25.2507 23.3768 24.1485 23.8333 22.9992 23.8333H5.86719Z\" \r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n );\r\n};","export const IconNoData = ({width, height}) => {\r\n return (\r\n <svg width={width ? width :\"161\"} height={height ? height : \"160\"} viewBox=\"0 0 161 160\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g opacity=\"0.5\">\r\n <path d=\"M148.869 113.958C148.869 119.155 146.824 123.856 143.496 127.251C140.181 130.662 135.595 132.755 130.523 132.755H47.9663V132.713C47.4287 132.739 46.9039 132.755 46.3663 132.755C27.5471 132.755 12.2959 117.126 12.2959 97.8431C12.2959 92.0415 13.6847 86.5631 16.1231 81.7439C20.8655 72.4127 29.6079 65.5487 40.0239 63.5487C41.5311 43.2319 58.6575 27.2383 79.5343 27.2383C100.974 27.2383 118.427 44.0895 119.134 65.1583C130.955 68.4223 139.643 79.5007 139.643 92.6463C139.643 94.2719 139.512 95.8687 139.249 97.4143C140.481 98.0991 141.621 98.9183 142.658 99.8719C146.472 103.299 148.869 108.345 148.869 113.958Z\" fill=\"url(#paint0_radial_25248_49246)\"/>\r\n <path d=\"M142.657 99.8748C129.211 113.049 108.677 121.468 85.6814 121.468C53.3518 121.468 25.9118 104.844 16.123 81.7468C20.8654 72.4156 29.6078 65.5516 40.0238 63.5516C41.531 43.2348 58.6574 27.2412 79.5342 27.2412C100.974 27.2412 118.427 44.0924 119.134 65.1612C130.955 68.4252 139.643 79.5036 139.643 92.6492C139.643 94.2748 139.512 95.8716 139.249 97.4172C140.485 98.102 141.624 98.9212 142.657 99.8748Z\" fill=\"url(#paint1_radial_25248_49246)\"/>\r\n </g>\r\n <path d=\"M26.1419 60.374C26.1419 60.8828 25.6555 61.3404 24.8779 61.6572C24.2827 61.9004 23.8187 62.3772 23.5819 62.9852C23.2715 63.7788 22.8267 64.278 22.3307 64.278C21.8347 64.278 21.3867 63.7788 21.0795 62.9852C20.8427 62.3772 20.3787 61.8972 19.7835 61.6572C19.0091 61.3404 18.5195 60.8828 18.5195 60.374C18.5195 59.8652 19.0059 59.4076 19.7803 59.0908C20.3755 58.8476 20.8427 58.3708 21.0763 57.7596C21.3835 56.966 21.8315 56.4668 22.3275 56.4668C22.8235 56.4668 23.2715 56.966 23.5787 57.7596C23.8155 58.3708 24.2827 58.8476 24.8779 59.0908C25.6555 59.4108 26.1419 59.8652 26.1419 60.374Z\" fill=\"#2A61A1\"/>\r\n <path d=\"M118.824 34.9282C118.824 35.1682 118.594 35.3826 118.229 35.533C117.948 35.6482 117.73 35.8722 117.618 36.1602C117.471 36.5346 117.263 36.7714 117.026 36.7714C116.792 36.7714 116.581 36.5346 116.434 36.1602C116.322 35.8722 116.104 35.6482 115.823 35.533C115.458 35.3826 115.228 35.1682 115.228 34.9282C115.228 34.6882 115.458 34.4706 115.823 34.3234C116.104 34.2082 116.322 33.9842 116.434 33.6962C116.578 33.3218 116.789 33.085 117.026 33.085C117.26 33.085 117.471 33.3218 117.618 33.6962C117.73 33.9842 117.951 34.2082 118.229 34.3234C118.597 34.4706 118.824 34.6882 118.824 34.9282Z\" fill=\"#86C5F6\"/>\r\n <path d=\"M141.903 113.754C141.903 114.432 141.253 115.043 140.216 115.466C139.423 115.789 138.802 116.426 138.488 117.239C138.075 118.298 137.48 118.967 136.815 118.967C136.152 118.967 135.554 118.301 135.144 117.242C134.827 116.429 134.207 115.792 133.413 115.466C132.376 115.043 131.727 114.432 131.727 113.754C131.727 113.075 132.376 112.464 133.41 112.042C134.203 111.719 134.827 111.082 135.141 110.266C135.554 109.207 136.149 108.541 136.811 108.541C137.474 108.541 138.072 109.207 138.485 110.269C138.802 111.085 139.423 111.722 140.219 112.045C141.253 112.464 141.903 113.075 141.903 113.754Z\" fill=\"#CBE6FD\"/>\r\n <path d=\"M121.505 48.5763V50.2435H43.3198C41.3006 50.2435 39.6622 51.9235 39.6622 53.9907V107.796H37.0446C36.9422 107.796 36.8398 107.792 36.7374 107.783C34.8622 107.623 33.3838 106.013 33.3838 104.048V48.5763C33.3838 46.5059 35.0222 44.8291 37.0414 44.8291H117.845C119.867 44.8291 121.505 46.5059 121.505 48.5763Z\" fill=\"#FF9D24\"/>\r\n <path d=\"M127.781 60.3809H39.6592V61.1009H127.781V60.3809Z\" fill=\"#A7D0F9\"/>\r\n <path d=\"M127.784 53.9906V109.459C127.784 111.533 126.146 113.21 124.126 113.21H106.958C107.118 113.104 107.275 112.995 107.429 112.887C108.523 112.106 109.566 111.219 110.539 110.221C111.288 109.453 111.97 108.647 112.59 107.808C112.779 107.552 112.962 107.296 113.141 107.034C113.154 107.018 113.166 106.992 113.179 106.976C118.098 99.6802 118.472 90.1378 114.306 82.4994C113.96 81.8658 113.582 81.2482 113.179 80.6434C112.411 79.4978 111.528 78.413 110.539 77.3954C101.698 68.333 87.3552 68.333 78.5136 77.3986C74.5424 81.4722 72.3536 86.6818 71.9504 92.0034C71.4576 98.5282 73.6432 105.226 78.5136 110.218C79.6272 111.357 80.8272 112.352 82.0944 113.207H43.3168C41.2976 113.207 39.6592 111.53 39.6592 109.456V53.9906C39.6592 51.9234 41.2976 50.2402 43.3168 50.2402H124.12C126.142 50.2402 127.778 51.9202 127.778 53.9906H127.784Z\" fill=\"url(#paint2_radial_25248_49246)\"/>\r\n <path d=\"M124.123 50.2432H43.3197C41.3005 50.2432 39.6621 51.9232 39.6621 53.9904V60.7392H127.784V53.9904C127.781 51.92 126.142 50.2432 124.123 50.2432ZM45.4125 57.232C44.6989 57.232 44.1197 56.64 44.1197 55.9072C44.1197 55.1744 44.6989 54.5824 45.4125 54.5824C46.1261 54.5824 46.7053 55.1744 46.7053 55.9072C46.7085 56.6368 46.1261 57.232 45.4125 57.232ZM51.1053 57.232C50.3917 57.232 49.8125 56.64 49.8125 55.9072C49.8125 55.1744 50.3917 54.5824 51.1053 54.5824C51.8189 54.5824 52.3981 55.1744 52.3981 55.9072C52.3981 56.6368 51.8189 57.232 51.1053 57.232ZM56.7949 57.232C56.0813 57.232 55.5021 56.64 55.5021 55.9072C55.5021 55.1744 56.0813 54.5824 56.7949 54.5824C57.5085 54.5824 58.0877 55.1744 58.0877 55.9072C58.0909 56.6368 57.5117 57.232 56.7949 57.232Z\" fill=\"#2A61A1\"/>\r\n <path d=\"M127.784 74.4131V109.459C127.784 111.533 126.145 113.21 124.126 113.21H106.958C107.118 113.104 107.275 112.995 107.428 112.887C108.523 112.106 109.566 111.219 110.539 110.221C111.288 109.453 111.969 108.647 112.59 107.808C112.779 107.552 112.961 107.296 113.14 107.034C113.153 107.018 113.166 106.992 113.179 106.976C118.097 99.6803 118.472 90.1379 114.305 82.4995C118.939 80.2979 123.46 77.6291 127.784 74.4131Z\" fill=\"#2A61A1\"/>\r\n <path d=\"M78.5104 110.221C79.624 111.36 80.824 112.355 82.0912 113.21H43.3168C41.2976 113.21 39.6592 111.533 39.6592 109.459V89.4688C46.9072 90.8319 58.5776 92.4319 71.9472 92.0063C71.4544 98.5311 73.64 105.229 78.5104 110.221Z\" fill=\"#2A61A1\"/>\r\n <path d=\"M46.3691 68.17V80.7844C46.3691 81.306 46.7819 81.7284 47.2907 81.7284H58.2859C58.7947 81.7284 59.2075 81.306 59.2075 80.7844V71.2164C59.2075 70.938 59.0859 70.6724 58.8779 70.4964L55.3419 67.4532C55.1755 67.3092 54.9675 67.2324 54.7499 67.2324H47.2875C46.7787 67.2292 46.3691 67.6484 46.3691 68.17Z\" fill=\"#E4F2FF\"/>\r\n <path d=\"M46.3691 88.173V100.787C46.3691 101.309 46.7819 101.731 47.2907 101.731H58.2859C58.7947 101.731 59.2075 101.309 59.2075 100.787V91.2194C59.2075 90.941 59.0859 90.6754 58.8779 90.4994L55.3419 87.4562C55.1755 87.3122 54.9675 87.2354 54.7499 87.2354H47.2875C46.7787 87.229 46.3691 87.6514 46.3691 88.173Z\" fill=\"#E4F2FF\"/>\r\n <g opacity=\"0.25\">\r\n <path d=\"M109.112 102.912C108.418 104.077 107.579 105.177 106.597 106.185C105.615 107.193 104.539 108.051 103.403 108.765C96.8306 112.87 88.133 112.013 82.4498 106.185C75.781 99.3535 75.781 88.2751 82.4498 81.4399C89.1186 74.6047 99.9314 74.6047 106.6 81.4399C112.283 87.2639 113.119 96.1759 109.112 102.912Z\" fill=\"white\"/>\r\n </g>\r\n <path d=\"M113.176 80.6432C112.408 79.5008 111.525 78.416 110.536 77.3984C101.691 68.336 87.3554 68.336 78.5106 77.3984C69.6658 86.4608 69.6658 101.152 78.5106 110.214C79.6242 111.354 80.8242 112.352 82.0914 113.206C87.2978 116.72 93.6049 117.798 99.493 116.448C101.992 115.875 104.418 114.864 106.645 113.414C106.751 113.347 106.853 113.277 106.959 113.206C107.115 113.101 107.272 112.992 107.429 112.88C108.523 112.102 109.563 111.213 110.539 110.214C111.285 109.45 111.973 108.643 112.591 107.802C112.779 107.549 112.965 107.29 113.141 107.027C113.154 107.008 113.167 106.989 113.179 106.97C118.498 99.0752 118.498 88.5472 113.176 80.6432ZM109.112 102.912C108.418 104.077 107.579 105.178 106.597 106.182C105.611 107.19 104.539 108.051 103.403 108.762C96.8306 112.867 88.133 112.01 82.4466 106.182C75.7778 99.3472 75.7778 88.2688 82.4466 81.4368C89.1154 74.6016 99.9282 74.6016 106.597 81.4336C112.28 87.2608 113.119 96.1728 109.112 102.912Z\" fill=\"#FF9D24\"/>\r\n <path d=\"M94.5229 110.842C103.701 110.842 111.14 103.217 111.14 93.8117C111.14 84.406 103.701 76.7812 94.5229 76.7812C85.3452 76.7812 77.9053 84.406 77.9053 93.8117C77.9053 103.217 85.3452 110.842 94.5229 110.842Z\" fill=\"#E4F2FF\"/>\r\n <path d=\"M122.763 121.014L119.768 124.083C119.019 124.851 117.803 124.851 117.054 124.083L106.645 113.417C106.91 113.245 107.169 113.069 107.429 112.883C108.523 112.105 109.563 111.216 110.539 110.217C111.285 109.453 111.973 108.646 112.59 107.805L122.766 118.23C123.512 119.001 123.512 120.246 122.763 121.014Z\" fill=\"#ED6E14\"/>\r\n <path d=\"M96.2831 100.541C95.7679 100.071 95.1215 99.8369 94.3471 99.8369C93.5727 99.8369 92.9327 100.071 92.4143 100.541C91.8991 101.015 91.6367 101.613 91.6367 102.346C91.6367 103.079 91.8959 103.68 92.4143 104.147C92.9295 104.618 93.5759 104.851 94.3471 104.851C95.1183 104.851 95.7647 104.618 96.2831 104.147C96.7983 103.68 97.0575 103.079 97.0575 102.346C97.0575 101.613 96.7983 101.015 96.2831 100.541Z\" fill=\"#0F77CA\"/>\r\n <path d=\"M99.5694 84.2943C98.3886 83.2735 96.7182 82.3135 94.5646 82.3135C92.411 82.3135 90.7182 83.3183 89.5246 84.4191C89.1246 84.7871 88.7886 85.2031 88.5198 85.6703C87.659 87.1615 88.7918 89.0463 90.4814 89.0463H90.8526C91.7326 89.0463 92.4878 88.4959 92.891 87.6927C92.9646 87.5423 93.0542 87.4079 93.1566 87.2831C93.5118 86.8479 93.9822 86.6303 94.5614 86.6303C95.8158 86.6303 96.443 87.3791 96.443 88.8735C96.443 89.4879 96.2574 90.0479 95.8862 90.5567C95.5118 91.0687 94.971 91.6287 94.2574 92.2431C93.5406 92.8575 93.0286 93.5807 92.7086 94.4191C92.6158 94.6591 92.539 94.9279 92.4718 95.2191C92.1742 96.5599 93.1886 97.8399 94.5294 97.8399H94.555C95.5118 97.8399 96.315 97.1711 96.5902 96.2335C96.6158 96.1439 96.6446 96.0575 96.6766 95.9775C96.859 95.4879 97.1886 95.0111 97.6622 94.5439L99.3294 92.9567C100.033 92.2559 100.549 91.5647 100.865 90.8927C101.182 90.2207 101.342 89.4751 101.342 88.6527C101.345 86.7647 100.753 85.3119 99.5694 84.2943Z\" fill=\"#0F77CA\"/>\r\n <path d=\"M94.5234 111.267C94.293 111.267 94.1074 111.075 94.1074 110.841C94.1074 110.608 94.293 110.416 94.5234 110.416C103.458 110.416 110.725 102.969 110.725 93.814C110.725 89.2924 108.981 85.062 105.816 81.91C105.653 81.7468 105.647 81.4748 105.807 81.3084C105.967 81.1388 106.229 81.1356 106.395 81.2988C109.723 84.614 111.557 89.0588 111.557 93.814C111.557 103.436 103.915 111.267 94.5234 111.267Z\" fill=\"black\"/>\r\n <path d=\"M76.7405 108.541C76.6157 108.541 76.4941 108.483 76.4109 108.374C72.6445 103.395 70.9965 97.2095 71.7677 90.9567C72.5421 84.7071 75.6429 79.1359 80.5037 75.2767C90.5357 67.3087 105.025 69.1903 112.801 79.4719C112.942 79.6575 112.91 79.9263 112.728 80.0703C112.545 80.2143 112.283 80.1791 112.145 79.9935C104.651 70.0863 90.6861 68.2719 81.0157 75.9519C76.3309 79.6735 73.3421 85.0399 72.5965 91.0655C71.8509 97.0911 73.4413 103.053 77.0701 107.853C77.2109 108.038 77.1789 108.307 76.9964 108.451C76.9197 108.512 76.8301 108.541 76.7405 108.541Z\" fill=\"black\"/>\r\n <path d=\"M67.9439 113.546H43.5343C41.2175 113.546 39.3359 111.616 39.3359 109.242V84.544C39.3359 84.3584 39.4831 84.208 39.6623 84.208C39.8415 84.208 39.9887 84.3584 39.9887 84.544V109.242C39.9887 111.245 41.5791 112.877 43.5343 112.877H67.9439C68.1231 112.877 68.2703 113.027 68.2703 113.213C68.2703 113.398 68.1231 113.546 67.9439 113.546Z\" fill=\"black\"/>\r\n <defs>\r\n <radialGradient id=\"paint0_radial_25248_49246\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(25.814 121.626) scale(99.2427 101.694)\">\r\n <stop stopColor=\"#E4F2FF\"/>\r\n <stop offset=\"1\" stopColor=\"#86C5F6\"/>\r\n </radialGradient>\r\n <radialGradient id=\"paint1_radial_25248_49246\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(97.3656 125.205) scale(84.9763 87.0751)\">\r\n <stop stopColor=\"#63A3EF\"/>\r\n <stop offset=\"0.0909\" stopColor=\"#6BABF1\"/>\r\n <stop offset=\"0.3236\" stopColor=\"#7ABAF4\"/>\r\n <stop offset=\"0.5959\" stopColor=\"#83C2F5\"/>\r\n <stop offset=\"1\" stopColor=\"#86C5F6\"/>\r\n </radialGradient>\r\n <radialGradient id=\"paint2_radial_25248_49246\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(115.511 106.401) scale(54.9315 56.286)\">\r\n <stop stopColor=\"#045394\"/>\r\n <stop offset=\"0.3922\" stopColor=\"#0A66B0\"/>\r\n <stop offset=\"0.7499\" stopColor=\"#0E72C3\"/>\r\n <stop offset=\"1\" stopColor=\"#0F77CA\"/>\r\n </radialGradient>\r\n </defs>\r\n </svg>\r\n\r\n );\r\n};","export const NotFoundIcon = ({ width, height }) => {\r\n return (\r\n <svg\r\n width={width ?? \"250\"}\r\n height={height ?? \"250\"}\r\n viewBox=\"0 0 250 250\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <g opacity=\"0.5\">\r\n <path\r\n d=\"M231.695 178.06C231.695 186.18 228.5 193.525 223.3 198.83C218.12 204.16 210.955 207.43 203.03 207.43H74.0348V207.365C73.1948 207.405 72.3748 207.43 71.5348 207.43C42.1298 207.43 18.2998 183.01 18.2998 152.88C18.2998 143.815 20.4698 135.255 24.2798 127.725C31.6898 113.145 45.3498 102.42 61.6248 99.2951C63.9798 67.5501 90.7398 42.5601 123.36 42.5601C156.86 42.5601 184.13 68.8901 185.235 101.81C203.705 106.91 217.28 124.22 217.28 144.76C217.28 147.3 217.075 149.795 216.665 152.21C218.59 153.28 220.37 154.56 221.99 156.05C227.95 161.405 231.695 169.29 231.695 178.06Z\"\r\n fill=\"url(#paint0_radial_7463_128151)\"\r\n />\r\n <path\r\n d=\"M221.99 156.055C200.98 176.64 168.895 189.795 132.965 189.795C82.4503 189.795 39.5753 163.82 24.2803 127.73C31.6903 113.15 45.3503 102.425 61.6253 99.2999C63.9803 67.5549 90.7403 42.5649 123.36 42.5649C156.86 42.5649 184.13 68.8949 185.235 101.815C203.705 106.915 217.28 124.225 217.28 144.765C217.28 147.305 217.075 149.8 216.665 152.215C218.595 153.285 220.375 154.565 221.99 156.055Z\"\r\n fill=\"url(#paint1_radial_7463_128151)\"\r\n />\r\n </g>\r\n <path\r\n d=\"M39.9344 94.335C39.9344 95.13 39.1744 95.845 37.9594 96.34C37.0294 96.72 36.3044 97.465 35.9344 98.415C35.4494 99.655 34.7544 100.435 33.9794 100.435C33.2044 100.435 32.5044 99.655 32.0244 98.415C31.6544 97.465 30.9294 96.715 29.9994 96.34C28.7894 95.845 28.0244 95.13 28.0244 94.335C28.0244 93.54 28.7844 92.825 29.9944 92.33C30.9244 91.95 31.6544 91.205 32.0194 90.25C32.4994 89.01 33.1994 88.23 33.9744 88.23C34.7494 88.23 35.4494 89.01 35.9294 90.25C36.2994 91.205 37.0294 91.95 37.9594 92.33C39.1744 92.83 39.9344 93.54 39.9344 94.335Z\"\r\n fill=\"#2A61A1\"\r\n />\r\n <path\r\n d=\"M184.75 54.5751C184.75 54.9501 184.39 55.2851 183.82 55.5201C183.38 55.7001 183.04 56.0501 182.865 56.5001C182.635 57.0851 182.31 57.4551 181.94 57.4551C181.575 57.4551 181.245 57.0851 181.015 56.5001C180.84 56.0501 180.5 55.7001 180.06 55.5201C179.49 55.2851 179.13 54.9501 179.13 54.5751C179.13 54.2001 179.49 53.8601 180.06 53.6301C180.5 53.4501 180.84 53.1001 181.015 52.6501C181.24 52.0651 181.57 51.6951 181.94 51.6951C182.305 51.6951 182.635 52.0651 182.865 52.6501C183.04 53.1001 183.385 53.4501 183.82 53.6301C184.395 53.8601 184.75 54.2001 184.75 54.5751Z\"\r\n fill=\"#86C5F6\"\r\n />\r\n <path\r\n d=\"M220.81 177.74C220.81 178.8 219.795 179.755 218.175 180.415C216.935 180.92 215.965 181.915 215.475 183.185C214.83 184.84 213.9 185.885 212.86 185.885C211.825 185.885 210.89 184.845 210.25 183.19C209.755 181.92 208.785 180.925 207.545 180.415C205.925 179.755 204.91 178.8 204.91 177.74C204.91 176.68 205.925 175.725 207.54 175.065C208.78 174.56 209.755 173.565 210.245 172.29C210.89 170.635 211.82 169.595 212.855 169.595C213.89 169.595 214.825 170.635 215.47 172.295C215.965 173.57 216.935 174.565 218.18 175.07C219.795 175.725 220.81 176.68 220.81 177.74Z\"\r\n fill=\"#CBE6FD\"\r\n />\r\n <path\r\n d=\"M188.94 75.9002V78.5052H66.775C63.62 78.5052 61.06 81.1302 61.06 84.3602V168.43H56.97C56.81 168.43 56.65 168.425 56.49 168.41C53.56 168.16 51.25 165.645 51.25 162.575V75.9002C51.25 72.6652 53.81 70.0452 56.965 70.0452H183.22C186.38 70.0452 188.94 72.6652 188.94 75.9002Z\"\r\n fill=\"#FF9D24\"\r\n />\r\n <path d=\"M198.745 94.345H61.0547V95.47H198.745V94.345Z\" fill=\"#A7D0F9\" />\r\n <path\r\n d=\"M198.75 84.36V171.03C198.75 174.27 196.19 176.89 193.035 176.89H166.21C166.46 176.725 166.705 176.555 166.945 176.385C168.655 175.165 170.285 173.78 171.805 172.22C172.975 171.02 174.04 169.76 175.01 168.45C175.305 168.05 175.59 167.65 175.87 167.24C175.89 167.215 175.91 167.175 175.93 167.15C183.615 155.75 184.2 140.84 177.69 128.905C177.15 127.915 176.56 126.95 175.93 126.005C174.73 124.215 173.35 122.52 171.805 120.93C157.99 106.77 135.58 106.77 121.765 120.935C115.56 127.3 112.14 135.44 111.51 143.755C110.74 153.95 114.155 164.415 121.765 172.215C123.505 173.995 125.38 175.55 127.36 176.885H66.7697C63.6147 176.885 61.0547 174.265 61.0547 171.025V84.36C61.0547 81.13 63.6147 78.5 66.7697 78.5H193.025C196.185 78.5 198.74 81.125 198.74 84.36H198.75Z\"\r\n fill=\"url(#paint2_radial_7463_128151)\"\r\n />\r\n <path\r\n d=\"M193.03 78.5046H66.7746C63.6196 78.5046 61.0596 81.1296 61.0596 84.3596V94.9046H198.75V84.3596C198.745 81.1246 196.185 78.5046 193.03 78.5046ZM70.0446 89.4246C68.9296 89.4246 68.0246 88.4996 68.0246 87.3546C68.0246 86.2096 68.9296 85.2846 70.0446 85.2846C71.1596 85.2846 72.0646 86.2096 72.0646 87.3546C72.0696 88.4946 71.1596 89.4246 70.0446 89.4246ZM78.9396 89.4246C77.8246 89.4246 76.9196 88.4996 76.9196 87.3546C76.9196 86.2096 77.8246 85.2846 78.9396 85.2846C80.0546 85.2846 80.9596 86.2096 80.9596 87.3546C80.9596 88.4946 80.0546 89.4246 78.9396 89.4246ZM87.8296 89.4246C86.7146 89.4246 85.8096 88.4996 85.8096 87.3546C85.8096 86.2096 86.7146 85.2846 87.8296 85.2846C88.9446 85.2846 89.8496 86.2096 89.8496 87.3546C89.8546 88.4946 88.9496 89.4246 87.8296 89.4246Z\"\r\n fill=\"#2A61A1\"\r\n />\r\n <path\r\n d=\"M198.75 116.27V171.03C198.75 174.27 196.19 176.89 193.035 176.89H166.21C166.46 176.725 166.705 176.555 166.945 176.385C168.655 175.165 170.285 173.78 171.805 172.22C172.975 171.02 174.04 169.76 175.01 168.45C175.305 168.05 175.59 167.65 175.87 167.24C175.89 167.215 175.91 167.175 175.93 167.15C183.615 155.75 184.2 140.84 177.69 128.905C184.93 125.465 191.995 121.295 198.75 116.27Z\"\r\n fill=\"#2A61A1\"\r\n />\r\n <path\r\n d=\"M121.76 172.22C123.5 174 125.375 175.555 127.355 176.89H66.7697C63.6147 176.89 61.0547 174.27 61.0547 171.03V139.795C72.3797 141.925 90.6147 144.425 111.505 143.76C110.735 153.955 114.15 164.42 121.76 172.22Z\"\r\n fill=\"#2A61A1\"\r\n />\r\n <path\r\n d=\"M71.54 106.515V126.225C71.54 127.04 72.185 127.7 72.98 127.7H90.16C90.955 127.7 91.6 127.04 91.6 126.225V111.275C91.6 110.84 91.41 110.425 91.085 110.15L85.56 105.395C85.3 105.17 84.975 105.05 84.635 105.05H72.975C72.18 105.045 71.54 105.7 71.54 106.515Z\"\r\n fill=\"#E4F2FF\"\r\n />\r\n <path\r\n d=\"M71.54 137.77V157.48C71.54 158.295 72.185 158.955 72.98 158.955H90.16C90.955 158.955 91.6 158.295 91.6 157.48V142.53C91.6 142.095 91.41 141.68 91.085 141.405L85.56 136.65C85.3 136.425 84.975 136.305 84.635 136.305H72.975C72.18 136.295 71.54 136.955 71.54 137.77Z\"\r\n fill=\"#E4F2FF\"\r\n />\r\n <g opacity=\"0.25\">\r\n <path\r\n d=\"M169.575 160.8C168.49 162.62 167.18 164.34 165.645 165.915C164.11 167.49 162.43 168.83 160.655 169.945C150.385 176.36 136.795 175.02 127.915 165.915C117.495 155.24 117.495 137.93 127.915 127.25C138.335 116.57 155.23 116.57 165.65 127.25C174.53 136.35 175.835 150.275 169.575 160.8Z\"\r\n fill=\"white\"\r\n />\r\n </g>\r\n <path\r\n d=\"M175.925 126.005C174.725 124.22 173.345 122.525 171.8 120.935C157.98 106.775 135.58 106.775 121.76 120.935C107.94 135.095 107.94 158.05 121.76 172.21C123.5 173.99 125.375 175.55 127.355 176.885C135.49 182.375 145.345 184.06 154.545 181.95C158.45 181.055 162.24 179.475 165.72 177.21C165.885 177.105 166.045 176.995 166.21 176.885C166.455 176.72 166.7 176.55 166.945 176.375C168.655 175.16 170.28 173.77 171.805 172.21C172.97 171.015 174.045 169.755 175.01 168.44C175.305 168.045 175.595 167.64 175.87 167.23C175.89 167.2 175.91 167.17 175.93 167.14C184.24 154.805 184.24 138.355 175.925 126.005ZM169.575 160.8C168.49 162.62 167.18 164.34 165.645 165.91C164.105 167.485 162.43 168.83 160.655 169.94C150.385 176.355 136.795 175.015 127.91 165.91C117.49 155.23 117.49 137.92 127.91 127.245C138.33 116.565 155.225 116.565 165.645 127.24C174.525 136.345 175.835 150.27 169.575 160.8Z\"\r\n fill=\"#FF9D24\"\r\n />\r\n <path\r\n d=\"M146.779 173.19C161.12 173.19 172.744 161.276 172.744 146.58C172.744 131.884 161.12 119.97 146.779 119.97C132.439 119.97 120.814 131.884 120.814 146.58C120.814 161.276 132.439 173.19 146.779 173.19Z\"\r\n fill=\"#E4F2FF\"\r\n />\r\n <path\r\n d=\"M190.905 189.085L186.225 193.88C185.055 195.08 183.155 195.08 181.985 193.88L165.72 177.215C166.135 176.945 166.54 176.67 166.945 176.38C168.655 175.165 170.28 173.775 171.805 172.215C172.97 171.02 174.045 169.76 175.01 168.445L190.91 184.735C192.075 185.94 192.075 187.885 190.905 189.085Z\"\r\n fill=\"#ED6E14\"\r\n />\r\n <path\r\n d=\"M149.53 157.095C148.725 156.36 147.715 155.995 146.505 155.995C145.295 155.995 144.295 156.36 143.485 157.095C142.68 157.835 142.27 158.77 142.27 159.915C142.27 161.06 142.675 162 143.485 162.73C144.29 163.465 145.3 163.83 146.505 163.83C147.71 163.83 148.72 163.465 149.53 162.73C150.335 162 150.74 161.06 150.74 159.915C150.74 158.77 150.335 157.835 149.53 157.095Z\"\r\n fill=\"#0F77CA\"\r\n />\r\n <path\r\n d=\"M154.665 131.71C152.82 130.115 150.21 128.615 146.845 128.615C143.48 128.615 140.835 130.185 138.97 131.905C138.345 132.48 137.82 133.13 137.4 133.86C136.055 136.19 137.825 139.135 140.465 139.135H141.045C142.42 139.135 143.6 138.275 144.23 137.02C144.345 136.785 144.485 136.575 144.645 136.38C145.2 135.7 145.935 135.36 146.84 135.36C148.8 135.36 149.78 136.53 149.78 138.865C149.78 139.825 149.49 140.7 148.91 141.495C148.325 142.295 147.48 143.17 146.365 144.13C145.245 145.09 144.445 146.22 143.945 147.53C143.8 147.905 143.68 148.325 143.575 148.78C143.11 150.875 144.695 152.875 146.79 152.875H146.83C148.325 152.875 149.58 151.83 150.01 150.365C150.05 150.225 150.095 150.09 150.145 149.965C150.43 149.2 150.945 148.455 151.685 147.725L154.29 145.245C155.39 144.15 156.195 143.07 156.69 142.02C157.185 140.97 157.435 139.805 157.435 138.52C157.44 135.57 156.515 133.3 154.665 131.71Z\"\r\n fill=\"#0F77CA\"\r\n />\r\n <path\r\n d=\"M146.78 173.855C146.42 173.855 146.13 173.555 146.13 173.19C146.13 172.825 146.42 172.525 146.78 172.525C160.74 172.525 172.095 160.89 172.095 146.585C172.095 139.52 169.37 132.91 164.425 127.985C164.17 127.73 164.16 127.305 164.41 127.045C164.66 126.78 165.07 126.775 165.33 127.03C170.53 132.21 173.395 139.155 173.395 146.585C173.395 161.62 161.455 173.855 146.78 173.855Z\"\r\n fill=\"black\"\r\n />\r\n <path\r\n d=\"M118.995 169.595C118.8 169.595 118.61 169.505 118.48 169.335C112.595 161.555 110.02 151.89 111.225 142.12C112.435 132.355 117.28 123.65 124.875 117.62C140.55 105.17 163.19 108.11 175.34 124.175C175.56 124.465 175.51 124.885 175.225 125.11C174.94 125.335 174.53 125.28 174.315 124.99C162.605 109.51 140.785 106.675 125.675 118.675C118.355 124.49 113.685 132.875 112.52 142.29C111.355 151.705 113.84 161.02 119.51 168.52C119.73 168.81 119.68 169.23 119.395 169.455C119.275 169.55 119.135 169.595 118.995 169.595Z\"\r\n fill=\"black\"\r\n />\r\n <path\r\n d=\"M105.25 177.415H67.1098C63.4898 177.415 60.5498 174.4 60.5498 170.69V132.1C60.5498 131.81 60.7798 131.575 61.0598 131.575C61.3398 131.575 61.5698 131.81 61.5698 132.1V170.69C61.5698 173.82 64.0548 176.37 67.1098 176.37H105.25C105.53 176.37 105.76 176.605 105.76 176.895C105.76 177.185 105.53 177.415 105.25 177.415Z\"\r\n fill=\"black\"\r\n />\r\n <defs>\r\n <radialGradient\r\n id=\"paint0_radial_7463_128151\"\r\n cx=\"0\"\r\n cy=\"0\"\r\n r=\"1\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n gradientTransform=\"translate(39.4219 190.041) scale(155.067 158.896)\"\r\n >\r\n <stop stopColor=\"#E4F2FF\" />\r\n <stop offset=\"1\" stopColor=\"#86C5F6\" />\r\n </radialGradient>\r\n <radialGradient\r\n id=\"paint1_radial_7463_128151\"\r\n cx=\"0\"\r\n cy=\"0\"\r\n r=\"1\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n gradientTransform=\"translate(151.222 195.633) scale(132.776 136.055)\"\r\n >\r\n <stop stopColor=\"#63A3EF\" />\r\n <stop offset=\"0.0909\" stopColor=\"#6BABF1\" />\r\n <stop offset=\"0.3236\" stopColor=\"#7ABAF4\" />\r\n <stop offset=\"0.5959\" stopColor=\"#83C2F5\" />\r\n <stop offset=\"1\" stopColor=\"#86C5F6\" />\r\n </radialGradient>\r\n <radialGradient\r\n id=\"paint2_radial_7463_128151\"\r\n cx=\"0\"\r\n cy=\"0\"\r\n r=\"1\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n gradientTransform=\"translate(179.573 166.25) scale(85.8305 87.9468)\"\r\n >\r\n <stop stopColor=\"#045394\" />\r\n <stop offset=\"0.3922\" stopColor=\"#0A66B0\" />\r\n <stop offset=\"0.7499\" stopColor=\"#0E72C3\" />\r\n <stop offset=\"1\" stopColor=\"#0F77CA\" />\r\n </radialGradient>\r\n </defs>\r\n </svg>\r\n );\r\n};\r\n","export const IconPeopleGroup = () => {\r\n return (\r\n <svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M1 19.5V17.5C1 16.4391 1.42143 15.4217 2.17157 14.6716C2.92172 13.9214 3.93913 13.5 5 13.5H9C10.0609 13.5 11.0783 13.9214 11.8284 14.6716C12.5786 15.4217 13 16.4391 13 17.5V19.5M14 1.63C14.8604 1.85031 15.623 2.35071 16.1676 3.05232C16.7122 3.75392 17.0078 4.61683 17.0078 5.505C17.0078 6.39318 16.7122 7.25608 16.1676 7.95769C15.623 8.6593 14.8604 9.1597 14 9.38M19 19.5V17.5C18.9949 16.6172 18.6979 15.7608 18.1553 15.0644C17.6126 14.368 16.8548 13.8707 16 13.65M3 5.5C3 6.56087 3.42143 7.57828 4.17157 8.32843C4.92172 9.07857 5.93913 9.5 7 9.5C8.06087 9.5 9.07828 9.07857 9.82843 8.32843C10.5786 7.57828 11 6.56087 11 5.5C11 4.43913 10.5786 3.42172 9.82843 2.67157C9.07828 1.92143 8.06087 1.5 7 1.5C5.93913 1.5 4.92172 1.92143 4.17157 2.67157C3.42143 3.42172 3 4.43913 3 5.5Z\" stroke=\"#00529C\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\r\n </svg>\r\n )\r\n}\r\n","export const IconPeople = () => {\r\n return (\r\n <svg \r\n width=\"18\" \r\n height=\"26\"\r\n viewBox=\"0 0 18 26\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path \r\n d=\"M9 0.5C10.2361 0.5 11.4445 0.866556 12.4723 1.55331C13.5001 2.24007 14.3012 3.21619 14.7742 4.35823C15.2473 5.50027 15.3711 6.75693 15.1299 7.96931C14.8888 9.1817 14.2935 10.2953 13.4194 11.1694C12.5453 12.0435 11.4317 12.6388 10.2193 12.8799C9.00693 13.1211 7.75027 12.9973 6.60823 12.5242C5.46619 12.0512 4.49007 11.2501 3.80331 10.2223C3.11656 9.19451 2.75 7.98613 2.75 6.75L2.75625 6.47875C2.82615 4.86969 3.51451 3.34972 4.67778 2.23582C5.84105 1.12193 7.38942 0.500093 9 0.5Z\" \r\n fill=\"#00529C\"\r\n />\r\n <path \r\n d=\"M11.5 15.5C13.1576 15.5 14.7473 16.1585 15.9194 17.3306C17.0915 18.5027 17.75 20.0924 17.75 21.75V23C17.75 23.663 17.4866 24.2989 17.0178 24.7678C16.5489 25.2366 15.913 25.5 15.25 25.5H2.75C2.08696 25.5 1.45107 25.2366 0.982233 24.7678C0.513392 24.2989 0.25 23.663 0.25 23V21.75C0.25 20.0924 0.90848 18.5027 2.08058 17.3306C3.25269 16.1585 4.8424 15.5 6.5 15.5H11.5Z\" \r\n fill=\"#00529C\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const PersonIcon = ({ color, outline }) => {\r\n return (\r\n <svg\r\n width='18'\r\n height='18'\r\n viewBox='0 0 16 16'\r\n fill={color ? color : 'none'}\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M2 14V12.6667C2 11.9594 2.28095 11.2811 2.78105 10.781C3.28115 10.281 3.95942 10 4.66667 10H7.33333C8.04058 10 8.71885 10.281 9.21895 10.781C9.71905 11.2811 10 11.9594 10 12.6667V14M10.6667 2.08667C11.2403 2.23354 11.7487 2.56714 12.1118 3.03488C12.4748 3.50262 12.6719 4.07789 12.6719 4.67C12.6719 5.26212 12.4748 5.83739 12.1118 6.30513C11.7487 6.77287 11.2403 7.10647 10.6667 7.25334M14 14V12.6667C13.9966 12.0781 13.7986 11.5072 13.4368 11.043C13.0751 10.5787 12.5699 10.2471 12 10.1M3.33333 4.66667C3.33333 5.37391 3.61428 6.05219 4.11438 6.55228C4.61448 7.05238 5.29276 7.33333 6 7.33333C6.70724 7.33333 7.38552 7.05238 7.88562 6.55228C8.38572 6.05219 8.66667 5.37391 8.66667 4.66667C8.66667 3.95942 8.38572 3.28115 7.88562 2.78105C7.38552 2.28095 6.70724 2 6 2C5.29276 2 4.61448 2.28095 4.11438 2.78105C3.61428 3.28115 3.33333 3.95942 3.33333 4.66667Z'\r\n stroke={outline ? outline : '#00529C'}\r\n strokeWidth='1.35'\r\n strokeLinecap='round'\r\n strokeLinejoin='round'\r\n />\r\n </svg>\r\n )\r\n}\r\n","export const IconPhone = ({ color, width, height }) => {\r\n return (\r\n <svg \r\n width={width ? width : \"11\"} \r\n height={height ? height : \"14\"} \r\n viewBox=\"0 0 11 14\" \r\n fill=\"none\" \r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path \r\n d=\"M4.26135 1.39182L4.85686 2.67927C4.97267 2.92891 5.00505 3.20752 4.94946 3.47596C4.89387 3.7444 4.75311 3.98918 4.54694 4.1759L3.60457 5.02836C3.00094 5.58237 3.20095 6.53023 4.01089 7.89383C4.77398 9.1769 5.4695 9.81056 6.21637 9.70028L6.32809 9.67752L8.20924 9.12001C8.29915 9.09318 8.39546 9.09436 8.48465 9.1234C8.57384 9.15244 8.65143 9.20787 8.70655 9.28192L9.92821 10.9273C10.0561 11.0993 10.1154 11.3105 10.095 11.5217C10.0747 11.7329 9.97599 11.9298 9.8174 12.0756L9.32819 12.5255C9.01498 12.8135 8.62325 13.008 8.19955 13.0861C7.77585 13.1641 7.338 13.1223 6.93802 12.9657C5.40824 12.3671 3.96224 10.9431 2.61534 8.67715C1.26575 6.40595 0.719783 4.47434 0.954025 2.88582C1.01496 2.47299 1.19609 2.08567 1.47606 1.7695C1.75602 1.45333 2.12318 1.22148 2.53426 1.10125L3.18023 0.912203C3.38966 0.851068 3.61483 0.866018 3.81375 0.954265C4.01267 1.04251 4.17176 1.19803 4.26135 1.39182Z\" \r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n );\r\n };","export const IconPlus = ({ color }) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M4.16797 10H15.8346\" stroke={color ? color : 'white'} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path d=\"M10 4.1665L10 15.8332\" stroke={color ? color : 'white'} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n )\r\n}\r\n","export const IconProgress = ({width, height, color}) => {\r\n return (\r\n <svg \r\n width={width ? width : \"34\"} \r\n height={height ? height : \"34\"} \r\n viewBox=\"0 0 34 34\" \r\n fill=\"none\" \r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <rect \r\n width={width ? width : \"34\"} \r\n height={height ? height : \"34\"} \r\n rx=\"17\" \r\n fill={color ? color : \"#E0FAEC\"}\r\n />\r\n <path \r\n d=\"M17 17C15.9391 17 14.9217 17.4214 14.1716 18.1716C13.4214 18.9217 13 19.9391 13 21V22.3333C13 22.5101 13.0702 22.6797 13.1953 22.8047C13.3203 22.9298 13.4899 23 13.6667 23H20.3333C20.5101 23 20.6797 22.9298 20.8047 22.8047C20.9298 22.6797 21 22.5101 21 22.3333V21C21 19.9391 20.5786 18.9217 19.8284 18.1716C19.0783 17.4214 18.0609 17 17 17ZM17 17C15.9391 17 14.9217 16.5786 14.1716 15.8284C13.4214 15.0783 13 14.0609 13 13V11.6667C13 11.4899 13.0702 11.3203 13.1953 11.1953C13.3203 11.0702 13.4899 11 13.6667 11H20.3333C20.5101 11 20.6797 11.0702 20.8047 11.1953C20.9298 11.3203 21 11.4899 21 11.6667V13C21 14.0609 20.5786 15.0783 19.8284 15.8284C19.0783 16.5786 18.0609 17 17 17Z\" \r\n stroke=\"#27AE60\" \r\n strokeWidth=\"1.8\" \r\n strokeLinecap=\"round\" \r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconRecycle = ({ color }) => {\r\n return (\r\n <svg \r\n xmlns=\"http://www.w3.org/2000/svg\" \r\n width=\"20\" \r\n height=\"20\" \r\n viewBox=\"0 0 20 20\" \r\n fill=\"none\"\r\n >\r\n <path \r\n d=\"M16.6693 9.16707C16.4655 7.70059 15.7852 6.34179 14.7331 5.29999C13.6811 4.25818 12.3157 3.59117 10.8473 3.4017C9.37892 3.21223 7.88896 3.51081 6.60694 4.25144C5.32492 4.99208 4.32198 6.13369 3.7526 7.50041M3.33594 4.16707V7.50041H6.66927M3.33594 10.8337C3.53974 12.3002 4.22005 13.659 5.27207 14.7008C6.3241 15.7426 7.68947 16.4096 9.15788 16.5991C10.6263 16.7886 12.1163 16.49 13.3983 15.7494C14.6803 15.0087 15.6832 13.8671 16.2526 12.5004M16.6693 15.8337V12.5004H13.3359\" \r\n stroke={color ? color : \"#ED6E12\"} \r\n strokeWidth=\"1.5\" \r\n strokeLinecap=\"round\" \r\n strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n };\r\n \r\n","export const IconReset = ({ color }) => {\r\n return (\r\n <svg\r\n width=\"18\"\r\n height=\"16\"\r\n viewBox=\"0 0 28 26\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M15.035 0.0343246C9.92115 0.0343246 5.40812 2.98511 3.30659 7.45833L1.84471 4.42288L0 5.31142L3.03597 11.6134L9.33792 8.57723L8.44921 6.73286L5.16626 8.31408C6.93971 4.5577 10.735 2.08185 15.035 2.08185C21.0553 2.08185 25.9529 6.97973 25.9529 13C25.9529 19.0202 21.0553 23.9182 15.035 23.9182C11.4901 23.9182 8.15224 22.1864 6.10662 19.2858L4.43308 20.4661C6.86269 23.9097 10.8258 25.9656 15.035 25.9656C22.1837 25.9656 27.9999 20.1493 27.9999 13C27.9999 5.85065 22.1837 0.0343246 15.035 0.0343246Z\"\r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconSaveOutlined = ({ color }) => {\r\n return (\r\n <svg\r\n width=\"20\"\r\n height=\"20\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M0 3.05556C0 2.24517 0.321924 1.46798 0.894952 0.894952C1.46798 0.321924 2.24517 1.11011e-07 3.05556 1.11011e-07H14.1267C14.6011 -0.000117513 15.0708 0.0932395 15.5091 0.274737C15.9474 0.456235 16.3457 0.722316 16.6811 1.05778L18.9422 3.31889C19.62 3.99667 20 4.91556 20 5.87333V16.9444C20 17.7548 19.6781 18.532 19.105 19.105C18.532 19.6781 17.7548 20 16.9444 20H3.05556C2.24517 20 1.46798 19.6781 0.894952 19.105C0.321924 18.532 0 17.7548 0 16.9444V3.05556ZM3.05556 1.66667C2.28889 1.66667 1.66667 2.28889 1.66667 3.05556V16.9444C1.66667 17.7111 2.28889 18.3333 3.05556 18.3333H3.33333V12.5C3.33333 11.837 3.59673 11.2011 4.06557 10.7322C4.53441 10.2634 5.17029 10 5.83333 10H14.1667C14.8297 10 15.4656 10.2634 15.9344 10.7322C16.4033 11.2011 16.6667 11.837 16.6667 12.5V18.3333H16.9444C17.7111 18.3333 18.3333 17.7111 18.3333 16.9444V5.87333C18.3333 5.35667 18.1289 4.86222 17.7633 4.49778L15.5022 2.23667C15.2152 1.94913 14.8453 1.75873 14.4444 1.69222V4.72222C14.4444 5.05053 14.3798 5.37562 14.2541 5.67893C14.1285 5.98224 13.9444 6.25784 13.7122 6.48999C13.4801 6.72214 13.2045 6.90628 12.9012 7.03192C12.5978 7.15756 12.2727 7.22222 11.9444 7.22222H6.94444C6.2814 7.22222 5.64552 6.95883 5.17668 6.48999C4.70784 6.02115 4.44444 5.38526 4.44444 4.72222V1.66667H3.05556ZM15 18.3333V12.5C15 12.279 14.9122 12.067 14.7559 11.9107C14.5996 11.7545 14.3877 11.6667 14.1667 11.6667H5.83333C5.61232 11.6667 5.40036 11.7545 5.24408 11.9107C5.0878 12.067 5 12.279 5 12.5V18.3333H15ZM6.11111 1.66667V4.72222C6.11111 5.18222 6.48444 5.55556 6.94444 5.55556H11.9444C12.1655 5.55556 12.3774 5.46776 12.5337 5.31148C12.69 5.1552 12.7778 4.94324 12.7778 4.72222V1.66667H6.11111Z\"\r\n fill={color ?? \"#ED6E12\"}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconSave = ({color, width = \"21\", height = \"21\" }) => {\r\n return (\r\n <svg\r\n width={width}\r\n height={height}\r\n viewBox=\"0 0 21 21\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M0.5 2.9487C0.5 2.19093 0.801019 1.46421 1.33684 0.92839C1.87266 0.392572 2.59938 0.0915527 3.35714 0.0915527H4.78571V5.09155C4.78571 5.65987 5.01148 6.20492 5.41334 6.60678C5.81521 7.00865 6.36025 7.23441 6.92857 7.23441H12.6429C13.2112 7.23441 13.7562 7.00865 14.1581 6.60678C14.5599 6.20492 14.7857 5.65987 14.7857 5.09155V0.0915527H15.3271C16.0848 0.0917146 16.8115 0.39284 17.3471 0.928696L19.6629 3.24441C20.1987 3.7801 20.4998 4.50671 20.5 5.26441V17.2344C20.5 17.9922 20.199 18.7189 19.6632 19.2547C19.1273 19.7905 18.4006 20.0916 17.6429 20.0916V12.2344C17.6429 11.6661 17.4171 11.121 17.0152 10.7192C16.6134 10.3173 16.0683 10.0916 15.5 10.0916H5.5C4.93168 10.0916 4.38663 10.3173 3.98477 10.7192C3.58291 11.121 3.35714 11.6661 3.35714 12.2344V20.0916C2.59938 20.0916 1.87266 19.7905 1.33684 19.2547C0.801019 18.7189 0.5 17.9922 0.5 17.2344V2.9487Z\"\r\n fill={color ? color : \"white\"}\r\n />\r\n <path\r\n d=\"M13.3572 0.0915527H6.21436V5.09155C6.21436 5.28099 6.28961 5.46267 6.42357 5.59663C6.55752 5.73058 6.7392 5.80584 6.92864 5.80584H12.6429C12.8324 5.80584 13.0141 5.73058 13.148 5.59663C13.282 5.46267 13.3572 5.28099 13.3572 5.09155V0.0915527Z\"\r\n fill={color ? color : \"white\"}\r\n />\r\n <path\r\n d=\"M16.2142 12.2345V20.0917H4.78564V12.2345C4.78564 12.0451 4.8609 11.8634 4.99485 11.7295C5.12881 11.5955 5.31049 11.5203 5.49993 11.5203H15.4999C15.6894 11.5203 15.871 11.5955 16.005 11.7295C16.139 11.8634 16.2142 12.0451 16.2142 12.2345Z\"\r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconSearch = ({ color }) => {\r\n return (\r\n <svg \r\n width=\"24\" \r\n height=\"24\" \r\n viewBox=\"0 0 24 24\" \r\n fill=\"none\" \r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path \r\n d=\"M11 19C15.4183 19 19 15.4183 19 11C19 6.58172 15.4183 3 11 3C6.58172 3 3 6.58172 3 11C3 15.4183 6.58172 19 11 19Z\" \r\n stroke={color ? color : 'white'} \r\n strokeWidth=\"2\" \r\n strokeLinecap=\"round\" \r\n strokeLinejoin=\"round\"\r\n />\r\n <path \r\n d=\"M21.0004 20.9999L16.6504 16.6499\" \r\n stroke={color ? color : 'white'} \r\n strokeWidth=\"2\" \r\n strokeLinecap=\"round\" \r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconSendBlue = () => {\r\n return (\r\n <svg\r\n width=\"21\"\r\n height=\"22\"\r\n viewBox=\"0 0 21 22\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M20.746 0.753732C20.6279 0.636196 20.4787 0.554818 20.316 0.519167C20.1532 0.483516 19.9837 0.495074 19.8273 0.552482L0.577257 7.55248C0.411241 7.61545 0.268311 7.72744 0.167451 7.87357C0.0665909 8.0197 0.0125732 8.19305 0.0125732 8.37061C0.0125732 8.54816 0.0665909 8.72152 0.167451 8.86765C0.268311 9.01377 0.411241 9.12576 0.577257 9.18873L8.97726 12.5487L12.3373 20.9487C12.4004 21.1075 12.5086 21.2442 12.6485 21.3422C12.7885 21.4401 12.954 21.495 13.1248 21.5C13.3016 21.4964 13.4732 21.4392 13.6169 21.3361C13.7606 21.233 13.8697 21.0888 13.9298 20.9225L20.9298 1.67248C20.9894 1.51767 21.0037 1.34911 20.9712 1.18644C20.9387 1.02377 20.8606 0.873703 20.746 0.753732ZM13.1248 18.175L10.6835 12.05L14.8748 7.85873L13.641 6.62498L9.41476 10.8512L3.32476 8.37498L18.6635 2.83623L13.1248 18.175Z\"\r\n fill=\"#00529C\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconSendOrange = () => {\r\n return (\r\n <svg\r\n width=\"21\"\r\n height=\"22\"\r\n viewBox=\"0 0 21 22\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M20.746 0.753732C20.6279 0.636196 20.4787 0.554818 20.316 0.519167C20.1532 0.483516 19.9837 0.495074 19.8273 0.552482L0.577257 7.55248C0.411241 7.61545 0.268311 7.72744 0.167451 7.87357C0.0665909 8.0197 0.0125732 8.19305 0.0125732 8.37061C0.0125732 8.54816 0.0665909 8.72152 0.167451 8.86765C0.268311 9.01377 0.411241 9.12576 0.577257 9.18873L8.97726 12.5487L12.3373 20.9487C12.4004 21.1075 12.5086 21.2442 12.6485 21.3422C12.7885 21.4401 12.954 21.495 13.1248 21.5C13.3016 21.4964 13.4732 21.4392 13.6169 21.3361C13.7606 21.233 13.8697 21.0888 13.9298 20.9225L20.9298 1.67248C20.9894 1.51767 21.0037 1.34911 20.9712 1.18644C20.9387 1.02377 20.8606 0.873703 20.746 0.753732ZM13.1248 18.175L10.6835 12.05L14.8748 7.85873L13.641 6.62498L9.41476 10.8512L3.32476 8.37498L18.6635 2.83623L13.1248 18.175Z\"\r\n fill=\"#ED6E12\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconSendWhiteFull = (color) => {\r\n return (\r\n <svg\r\n width=\"21\"\r\n height=\"21\"\r\n viewBox=\"0 0 21 21\"\r\n fill={color ? color : 'white'} \r\n\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M20.7334 0.25483C20.6153 0.137294 20.4662 0.0559167 20.3034 0.0202658C20.1406 -0.0153851 19.9711 -0.00382733 19.8147 0.0535802L0.564683 7.05358C0.398668 7.11655 0.255738 7.22854 0.154878 7.37467C0.0540177 7.52079 0 7.69415 0 7.87171C0 8.04926 0.0540177 8.22262 0.154878 8.36875C0.255738 8.51487 0.398668 8.62686 0.564683 8.68983L8.08093 11.6911L13.6284 6.12608L14.8622 7.35983L9.28843 12.9336L12.2984 20.4498C12.3633 20.6126 12.4755 20.7522 12.6206 20.8505C12.7657 20.9488 12.9369 21.0013 13.1122 21.0011C13.289 20.9975 13.4606 20.9403 13.6043 20.8372C13.748 20.7341 13.8571 20.5899 13.9172 20.4236L20.9172 1.17358C20.9768 1.01877 20.9912 0.850207 20.9586 0.687538C20.9261 0.52487 20.848 0.374802 20.7334 0.25483Z\"\r\n />\r\n </svg>\r\n );\r\n};","export const IconSendWhite = (color) => {\r\n return (\r\n <svg\r\n width=\"21\"\r\n height=\"22\"\r\n viewBox=\"0 0 21 22\"\r\n fill={color ? color : 'white'} \r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M20.746 0.753732C20.6279 0.636196 20.4787 0.554818 20.316 0.519167C20.1532 0.483516 19.9837 0.495074 19.8273 0.552482L0.577257 7.55248C0.411241 7.61545 0.268311 7.72744 0.167451 7.87357C0.0665909 8.0197 0.0125732 8.19305 0.0125732 8.37061C0.0125732 8.54816 0.0665909 8.72152 0.167451 8.86765C0.268311 9.01377 0.411241 9.12576 0.577257 9.18873L8.97726 12.5487L12.3373 20.9487C12.4004 21.1075 12.5086 21.2442 12.6485 21.3422C12.7885 21.4401 12.954 21.495 13.1248 21.5C13.3016 21.4964 13.4732 21.4392 13.6169 21.3361C13.7606 21.233 13.8697 21.0888 13.9298 20.9225L20.9298 1.67248C20.9894 1.51767 21.0037 1.34911 20.9712 1.18644C20.9387 1.02377 20.8606 0.873703 20.746 0.753732ZM13.1248 18.175L10.6835 12.05L14.8748 7.85873L13.641 6.62498L9.41476 10.8512L3.32476 8.37498L18.6635 2.83623L13.1248 18.175Z\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconShuffle = ({\r\n width = \"20\",\r\n height = \"20\",\r\n color = \"#00529C\",\r\n}) => {\r\n return (\r\n <svg\r\n width={width}\r\n height={height}\r\n viewBox=\"0 0 20 20\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <g clipPath=\"url(#clip0_4835_8616)\">\r\n <path\r\n d=\"M15 3.33301L17.5 5.83301L15 8.33301\"\r\n stroke={color}\r\n strokeWidth=\"1.67\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path\r\n d=\"M15 16.667L17.5 14.167L15 11.667\"\r\n stroke={color}\r\n strokeWidth=\"1.67\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path\r\n d=\"M2.5 5.83301H5C6.10507 5.83301 7.16488 6.27199 7.94628 7.0534C8.72768 7.8348 9.16667 8.89461 9.16667 9.99967C9.16667 11.1047 9.60565 12.1646 10.3871 12.946C11.1685 13.7274 12.2283 14.1663 13.3333 14.1663H17.5\"\r\n stroke={color}\r\n strokeWidth=\"1.67\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path\r\n d=\"M17.5 5.83301H13.3333C12.4316 5.83168 11.5539 6.12423 10.8333 6.66635M7.5 13.333C6.77922 13.8748 5.9017 14.1673 5 14.1663H2.5\"\r\n stroke={color}\r\n strokeWidth=\"1.67\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4835_8616\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n );\r\n};\r\n","import * as React from \"react\";\r\n\r\nexport const StepOnProgress = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"24\"\r\n height=\"24\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n >\r\n <path\r\n stroke=\"#00529C\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n strokeWidth=\"1.5\"\r\n d=\"M12 5V1.5m4.958 5.542 2.509-2.509M19 12h3.5m-5.542 4.958 2.509 2.509M12 19v3.5m-4.958-5.542-2.509 2.509M5 12H1.5m5.542-4.958L4.533 4.533\"\r\n ></path>\r\n </svg>\r\n); ","export const TargetDartIcon = ({ color, outline }) => {\r\n return (\r\n <svg\r\n width='18'\r\n height='18'\r\n viewBox='0 0 16 16'\r\n fill={color ? color : 'none'}\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M7.99996 4.66659C7.34069 4.66659 6.69622 4.86208 6.14806 5.22835C5.5999 5.59462 5.17265 6.11522 4.92036 6.72431C4.66807 7.33339 4.60206 8.00362 4.73068 8.65022C4.85929 9.29682 5.17676 9.89077 5.64294 10.3569C6.10911 10.8231 6.70306 11.1406 7.34966 11.2692C7.99626 11.3978 8.66648 11.3318 9.27557 11.0795C9.88466 10.8272 10.4053 10.4 10.7715 9.85182C11.1378 9.30366 11.3333 8.65919 11.3333 7.99992M8.66662 2.03668C7.43066 1.89802 6.18216 2.14687 5.09382 2.74879C4.00547 3.35072 3.13107 4.27598 2.59158 5.39659C2.05208 6.51719 1.87415 7.77775 2.08239 9.0039C2.29063 10.2301 2.87476 11.3612 3.75398 12.2408C4.63319 13.1205 5.76403 13.7052 6.99008 13.9141C8.21612 14.1229 9.47678 13.9456 10.5977 13.4067C11.7185 12.8678 12.6442 11.9938 13.2467 10.9058C13.8492 9.81775 14.0987 8.56937 13.9606 7.33335M9.99996 5.99992V3.99992L12 1.99992V3.99992H14L12 5.99992H9.99996ZM9.99996 5.99992L7.99996 7.99992M7.33329 7.99992C7.33329 8.17673 7.40353 8.3463 7.52855 8.47132C7.65358 8.59635 7.82315 8.66659 7.99996 8.66659C8.17677 8.66659 8.34634 8.59635 8.47136 8.47132C8.59639 8.3463 8.66663 8.17673 8.66663 7.99992C8.66663 7.82311 8.59639 7.65354 8.47136 7.52851C8.34634 7.40349 8.17677 7.33325 7.99996 7.33325C7.82315 7.33325 7.65358 7.40349 7.52855 7.52851C7.40353 7.65354 7.33329 7.82311 7.33329 7.99992Z'\r\n stroke={outline ? outline : '#00529C'}\r\n strokeWidth='1.5'\r\n strokeLinecap='round'\r\n strokeLinejoin='round'\r\n />\r\n </svg>\r\n )\r\n}\r\n","export const ThumbsUp = ({\r\n color = \"#27AE60\",\r\n width = \"13\",\r\n height = \"12\",\r\n}) => {\r\n return (\r\n <svg\r\n width={width}\r\n height={height}\r\n viewBox=\"0 0 13 12\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M3.66667 5.33366V10.667C3.66667 10.8438 3.59643 11.0134 3.4714 11.1384C3.34638 11.2634 3.17681 11.3337 3 11.3337H1.66667C1.48986 11.3337 1.32029 11.2634 1.19526 11.1384C1.07024 11.0134 1 10.8438 1 10.667V6.00033C1 5.82351 1.07024 5.65395 1.19526 5.52892C1.32029 5.4039 1.48986 5.33366 1.66667 5.33366H3.66667ZM3.66667 5.33366C4.37391 5.33366 5.05219 5.05271 5.55228 4.55261C6.05238 4.05251 6.33333 3.37424 6.33333 2.66699V2.00033C6.33333 1.6467 6.47381 1.30756 6.72386 1.05752C6.97391 0.807468 7.31304 0.666992 7.66667 0.666992C8.02029 0.666992 8.35943 0.807468 8.60948 1.05752C8.85952 1.30756 9 1.6467 9 2.00033V5.33366H11C11.3536 5.33366 11.6928 5.47413 11.9428 5.72418C12.1929 5.97423 12.3333 6.31337 12.3333 6.66699L11.6667 10.0003C11.5708 10.4093 11.3889 10.7605 11.1484 11.001C10.908 11.2414 10.6219 11.3582 10.3333 11.3337H5.66667C5.13623 11.3337 4.62753 11.1229 4.25245 10.7479C3.87738 10.3728 3.66667 9.86409 3.66667 9.33366\"\r\n stroke={color}\r\n strokeWidth=\"1.2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconTrashOutline = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <path d=\"M3 5.25H15M3.75 5.25L4.5 14.25C4.5 14.6478 4.65804 15.0294 4.93934 15.3107C5.22064 15.592 5.60218 15.75 6 15.75H12C12.3978 15.75 12.7794 15.592 13.0607 15.3107C13.342 15.0294 13.5 14.6478 13.5 14.25L14.25 5.25M6.75 5.25V3C6.75 2.80109 6.82902 2.61032 6.96967 2.46967C7.11032 2.32902 7.30109 2.25 7.5 2.25H10.5C10.6989 2.25 10.8897 2.32902 11.0303 2.46967C11.171 2.61032 11.25 2.80109 11.25 3V5.25M7.5 9L10.5 12M10.5 9L7.5 12\" stroke={color ?? \"white\"} strokeWidth=\"1.35\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n};\r\n","export const IconTrash = ({ color, width = \"20\", height = \"21\" }) => {\r\n return (\r\n <svg\r\n width={width}\r\n height={height}\r\n viewBox=\"0 0 20 21\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M9.99995 0.5C10.8233 0.499884 11.617 0.807566 12.2251 1.36263C12.8332 1.9177 13.2119 2.68005 13.2868 3.5H18.4C18.628 3.50007 18.8475 3.58669 19.0141 3.74237C19.1807 3.89804 19.282 4.11116 19.2976 4.33866C19.3131 4.56615 19.2417 4.79107 19.0978 4.96796C18.9539 5.14485 18.7482 5.26052 18.5223 5.2916L18.4 5.3H17.7003L16.1799 18.476C16.1122 19.0609 15.8319 19.6005 15.3922 19.9921C14.9526 20.3837 14.3843 20.6001 13.7956 20.6H6.20435C5.61557 20.6001 5.0473 20.3837 4.60765 19.9921C4.16801 19.6005 3.88766 19.0609 3.81995 18.476L2.29835 5.3H1.59995C1.38247 5.29999 1.17234 5.22123 1.00843 5.07828C0.844528 4.93533 0.737929 4.73786 0.708351 4.5224L0.699951 4.4C0.69996 4.18251 0.778722 3.97239 0.921672 3.80848C1.06462 3.64458 1.26209 3.53798 1.47755 3.5084L1.59995 3.5H6.71315C6.788 2.68005 7.16667 1.9177 7.7748 1.36263C8.38293 0.807566 9.17659 0.499884 9.99995 0.5ZM8.19995 8C7.90595 8 7.65995 8.186 7.60955 8.4308L7.59995 8.5256V15.8756L7.60955 15.9692C7.65995 16.214 7.90595 16.4 8.19995 16.4C8.49395 16.4 8.73995 16.214 8.79035 15.9692L8.79995 15.8744V8.5268L8.79035 8.4308C8.73995 8.1872 8.49395 8 8.19995 8ZM11.8 8C11.506 8 11.26 8.186 11.2096 8.4308L11.2 8.5256V15.8756L11.2096 15.9692C11.26 16.214 11.506 16.4 11.8 16.4C12.094 16.4 12.3399 16.214 12.3904 15.9692L12.4 15.8744V8.5268L12.3904 8.4308C12.3399 8.1872 12.094 8.0012 11.8 8.0012V8ZM9.99995 2.3C9.27395 2.3 8.66795 2.816 8.52995 3.5H11.47C11.3308 2.816 10.726 2.3 9.99995 2.3Z\"\r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconUpload = ({ color }) => {\r\n return (\r\n <svg\r\n width=\"34\"\r\n height=\"28\"\r\n viewBox=\"0 0 34 28\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M22.7368 19.9472L16.9998 14.2103L11.2628 19.9472\"\r\n stroke={color ? color : \"#00529C\"}\r\n strokeWidth=\"1.6549\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path\r\n d=\"M16.9996 14.2103V27.1185\"\r\n stroke={color ? color : \"#00529C\"}\r\n strokeWidth=\"1.6549\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path\r\n d=\"M29.0332 23.3745C30.4321 22.6119 31.5372 21.4051 32.174 19.9447C32.8109 18.4842 32.9433 16.8533 32.5503 15.3093C32.1573 13.7653 31.2613 12.3961 30.0037 11.4178C28.7462 10.4396 27.1986 9.90799 25.6054 9.90694H23.7982C23.3641 8.22778 22.555 6.66889 21.4317 5.34746C20.3083 4.02603 18.9001 2.97645 17.3127 2.27763C15.7254 1.5788 14.0003 1.24892 12.2671 1.31277C10.5339 1.37663 8.83772 1.83257 7.30611 2.64631C5.77449 3.46005 4.44728 4.61042 3.42425 6.01093C2.40121 7.41144 1.70899 9.02564 1.39961 10.7322C1.09022 12.4387 1.17174 14.1932 1.63803 15.8637C2.10431 17.5342 2.94323 19.0773 4.09171 20.3769\"\r\n stroke={color ? color : \"#00529C\"}\r\n strokeWidth=\"1.6549\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path\r\n d=\"M22.7368 19.9472L16.9998 14.2103L11.2628 19.9472\"\r\n stroke={color ? color : \"#00529C\"}\r\n strokeWidth=\"1.6549\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconUserScan = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\r\n <path d=\"M8 16.5C8 15.9696 8.21071 15.4609 8.58579 15.0858C8.96086 14.7107 9.46957 14.5 10 14.5H14C14.5304 14.5 15.0391 14.7107 15.4142 15.0858C15.7893 15.4609 16 15.9696 16 16.5H8Z\" fill={color ?? \"none\"}/>\r\n <path d=\"M10 9.5C10 10.0304 10.2107 10.5391 10.5858 10.9142C10.9609 11.2893 11.4696 11.5 12 11.5C12.5304 11.5 13.0391 11.2893 13.4142 10.9142C13.7893 10.5391 14 10.0304 14 9.5C14 8.96957 13.7893 8.46086 13.4142 8.08579C13.0391 7.71071 12.5304 7.5 12 7.5C11.4696 7.5 10.9609 7.71071 10.5858 8.08579C10.2107 8.46086 10 8.96957 10 9.5Z\" fill={color ?? \"none\"}/>\r\n <path d=\"M4 8.5V6.5C4 5.96957 4.21071 5.46086 4.58579 5.08579C4.96086 4.71071 5.46957 4.5 6 4.5H8M4 16.5V18.5C4 19.0304 4.21071 19.5391 4.58579 19.9142C4.96086 20.2893 5.46957 20.5 6 20.5H8M16 4.5H18C18.5304 4.5 19.0391 4.71071 19.4142 5.08579C19.7893 5.46086 20 5.96957 20 6.5V8.5M16 20.5H18C18.5304 20.5 19.0391 20.2893 19.4142 19.9142C19.7893 19.5391 20 19.0304 20 18.5V16.5M10 9.5C10 10.0304 10.2107 10.5391 10.5858 10.9142C10.9609 11.2893 11.4696 11.5 12 11.5C12.5304 11.5 13.0391 11.2893 13.4142 10.9142C13.7893 10.5391 14 10.0304 14 9.5C14 8.96957 13.7893 8.46086 13.4142 8.08579C13.0391 7.71071 12.5304 7.5 12 7.5C11.4696 7.5 10.9609 7.71071 10.5858 8.08579C10.2107 8.46086 10 8.96957 10 9.5ZM8 16.5C8 15.9696 8.21071 15.4609 8.58579 15.0858C8.96086 14.7107 9.46957 14.5 10 14.5H14C14.5304 14.5 15.0391 14.7107 15.4142 15.0858C15.7893 15.4609 16 15.9696 16 16.5H8Z\" stroke={color ?? \"none\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n };","export const IconUser = ({ color }) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"20\" viewBox=\"0 0 14 20\" fill={color ? color : '#00529C'} >\r\n <path d=\"M7 0C7.98891 0 8.95561 0.293245 9.77785 0.842652C10.6001 1.39206 11.241 2.17295 11.6194 3.08658C11.9978 4.00021 12.0969 5.00555 11.9039 5.97545C11.711 6.94536 11.2348 7.83627 10.5355 8.53553C9.83627 9.2348 8.94536 9.711 7.97545 9.90393C7.00555 10.0969 6.00021 9.99784 5.08658 9.6194C4.17295 9.24096 3.39206 8.6001 2.84265 7.77785C2.29324 6.95561 2 5.98891 2 5L2.005 4.783C2.06092 3.49575 2.61161 2.27978 3.54222 1.38866C4.47284 0.497541 5.71154 7.44425e-05 7 0Z\" fill=\"#00529C\"/>\r\n <path d=\"M9 12C10.3261 12 11.5979 12.5268 12.5355 13.4645C13.4732 14.4021 14 15.6739 14 17V18C14 18.5304 13.7893 19.0391 13.4142 19.4142C13.0391 19.7893 12.5304 20 12 20H2C1.46957 20 0.960859 19.7893 0.585786 19.4142C0.210714 19.0391 0 18.5304 0 18V17C0 15.6739 0.526784 14.4021 1.46447 13.4645C2.40215 12.5268 3.67392 12 5 12H9Z\" fill=\"#00529C\"/>\r\n </svg>\r\n )\r\n}\r\n","export const UsersIcon = () => {\r\n return (\r\n <svg\r\n width=\"25\"\r\n height=\"24\"\r\n viewBox=\"0 0 25 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M12.5 9.79688C14.3769 9.79688 15.8984 8.27535 15.8984 6.39844C15.8984 4.52153 14.3769 3 12.5 3C10.6231 3 9.10156 4.52153 9.10156 6.39844C9.10156 8.27535 10.6231 9.79688 12.5 9.79688Z\"\r\n fill=\"#00529C\"\r\n />\r\n <path\r\n d=\"M19.375 9.79688C20.5615 9.79688 21.5234 8.83499 21.5234 7.64844C21.5234 6.46189 20.5615 5.5 19.375 5.5C18.1885 5.5 17.2266 6.46189 17.2266 7.64844C17.2266 8.83499 18.1885 9.79688 19.375 9.79688Z\"\r\n fill=\"#00529C\"\r\n />\r\n <path\r\n d=\"M5.625 9.79688C6.81155 9.79688 7.77344 8.83499 7.77344 7.64844C7.77344 6.46189 6.81155 5.5 5.625 5.5C4.43845 5.5 3.47656 6.46189 3.47656 7.64844C3.47656 8.83499 4.43845 9.79688 5.625 9.79688Z\"\r\n fill=\"#00529C\"\r\n />\r\n <path\r\n d=\"M7.7418 11.7263C6.89609 11.0334 6.1302 11.1251 5.15234 11.1251C3.68984 11.1251 2.5 12.3079 2.5 13.7614V18.0274C2.5 18.6587 3.01523 19.172 3.64883 19.172C6.38422 19.172 6.05469 19.2215 6.05469 19.054C6.05469 16.0311 5.69664 13.8143 7.7418 11.7263Z\"\r\n fill=\"#00529C\"\r\n />\r\n <path\r\n d=\"M13.4307 11.1408C11.7227 10.9984 10.2381 11.1425 8.95763 12.1994C6.81478 13.9158 7.22717 16.2269 7.22717 19.0541C7.22717 19.8021 7.83576 20.4221 8.59513 20.4221C16.8405 20.4221 17.1687 20.688 17.6576 19.6053C17.818 19.2391 17.774 19.3555 17.774 15.8525C17.774 13.0703 15.3649 11.1408 13.4307 11.1408Z\"\r\n fill=\"#00529C\"\r\n />\r\n <path\r\n d=\"M19.8473 11.125C18.8641 11.125 18.1024 11.0342 17.2578 11.7262C19.2877 13.7987 18.9449 15.8643 18.9449 19.0539C18.9449 19.2224 18.6714 19.1719 21.3098 19.1719C21.966 19.1719 22.4996 18.6402 22.4996 17.9867V13.7613C22.4996 12.3078 21.3098 11.125 19.8473 11.125Z\"\r\n fill=\"#00529C\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconVerification = ({ color }) => {\r\n return (\r\n <svg\r\n width=\"18\"\r\n height=\"18\"\r\n viewBox=\"0 0 18 18\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M16.5 16.5L11.5 11.5M4.83333 7.33333L6.5 9L9.83333 5.66667M1.5 7.33333C1.5 8.09938 1.65088 8.85792 1.94404 9.56565C2.23719 10.2734 2.66687 10.9164 3.20854 11.4581C3.75022 11.9998 4.39328 12.4295 5.10101 12.7226C5.80875 13.0158 6.56729 13.1667 7.33333 13.1667C8.09938 13.1667 8.85792 13.0158 9.56565 12.7226C10.2734 12.4295 10.9164 11.9998 11.4581 11.4581C11.9998 10.9164 12.4295 10.2734 12.7226 9.56565C13.0158 8.85792 13.1667 8.09938 13.1667 7.33333C13.1667 6.56729 13.0158 5.80875 12.7226 5.10101C12.4295 4.39328 11.9998 3.75022 11.4581 3.20854C10.9164 2.66687 10.2734 2.23719 9.56565 1.94404C8.85792 1.65088 8.09938 1.5 7.33333 1.5C6.56729 1.5 5.80875 1.65088 5.10101 1.94404C4.39328 2.23719 3.75022 2.66687 3.20854 3.20854C2.66687 3.75022 2.23719 4.39328 1.94404 5.10101C1.65088 5.80875 1.5 6.56729 1.5 7.33333Z\"\r\n stroke={color ? color : \"white\"}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconWallet = ({width, height, color}) => {\r\n return (\r\n <svg \r\n width={width ? width : \"34\"} \r\n height={height ? height : \"34\"} \r\n viewBox=\"0 0 34 34\" \r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect \r\n width=\"34\" \r\n height=\"34\" \r\n rx=\"17\" \r\n fill={color ? color : \"#E0FAEC\"}\r\n />\r\n <path \r\n d=\"M20.3332 14.3334V12.3334C20.3332 12.1565 20.2629 11.987 20.1379 11.8619C20.0129 11.7369 19.8433 11.6667 19.6665 11.6667H12.9998C12.6462 11.6667 12.3071 11.8072 12.057 12.0572C11.807 12.3073 11.6665 12.6464 11.6665 13M11.6665 13C11.6665 13.3536 11.807 13.6928 12.057 13.9428C12.3071 14.1929 12.6462 14.3334 12.9998 14.3334H20.9998C21.1766 14.3334 21.3462 14.4036 21.4712 14.5286C21.5963 14.6536 21.6665 14.8232 21.6665 15V17M11.6665 13V21C11.6665 21.3536 11.807 21.6928 12.057 21.9428C12.3071 22.1929 12.6462 22.3334 12.9998 22.3334H20.9998C21.1766 22.3334 21.3462 22.2631 21.4712 22.1381C21.5963 22.0131 21.6665 21.8435 21.6665 21.6667V19.6667M22.3332 17V19.6667H19.6665C19.3129 19.6667 18.9737 19.5262 18.7237 19.2762C18.4736 19.0261 18.3332 18.687 18.3332 18.3334C18.3332 17.9797 18.4736 17.6406 18.7237 17.3905C18.9737 17.1405 19.3129 17 19.6665 17H22.3332Z\" \r\n stroke=\"#27AE60\" \r\n strokeWidth=\"1.8\" \r\n strokeLinecap=\"round\" \r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n};","export const IconWarningTriangle = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <g clipPath=\"url(#clip0_4038_8399)\">\r\n <path d=\"M12 9V13\" stroke={color ?? \"#E84040\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path d=\"M10.3625 3.58728L2.2565 17.1213C2.08939 17.4107 2.00096 17.7388 2.00001 18.0729C1.99905 18.4071 2.0856 18.7357 2.25104 19.026C2.41649 19.3164 2.65506 19.5583 2.94304 19.7278C3.23101 19.8974 3.55835 19.9885 3.8925 19.9923H20.1065C20.4405 19.9884 20.7677 19.8972 21.0555 19.7278C21.3433 19.5583 21.5818 19.3165 21.7472 19.0263C21.9126 18.7361 21.9992 18.4077 21.9984 18.0736C21.9976 17.7396 21.9094 17.4116 21.7425 17.1223L13.6365 3.58628C13.466 3.30479 13.2257 3.07203 12.9389 2.91048C12.6522 2.74893 12.3286 2.66406 11.9995 2.66406C11.6704 2.66406 11.3468 2.74893 11.06 2.91048C10.7733 3.07203 10.533 3.30479 10.3625 3.58628V3.58728Z\" stroke={color ?? \"#E84040\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path d=\"M12 16H12.01\" stroke={color ?? \"#E84040\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4038_8399\">\r\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n );\r\n };\r\n","export const LoaderIcon = ({\r\n color = \"#999999\",\r\n width = \"18\",\r\n height = \"18\",\r\n}) => {\r\n return (\r\n <svg\r\n width={width}\r\n height={height}\r\n viewBox=\"0 0 18 18\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M9 4.5V2.25M12.1875 5.81248L13.8 4.19998M13.5 9H15.75M12.1875 12.1875L13.8 13.8M9 13.5V15.75M5.81257 12.1875L4.20007 13.8M4.5 9H2.25M5.81257 5.81248L4.20007 4.19998\"\r\n stroke={color}\r\n strokeWidth=\"1.8\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","// UploadIcon.jsx\r\nexport const UploadIcon = ({\r\n color = \"currentColor\",\r\n width = \"27\",\r\n height = \"26\",\r\n}) => {\r\n return (\r\n <svg\r\n width={width}\r\n height={height}\r\n viewBox=\"0 0 27 26\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M25.25 17V22.3333C25.25 23.0406 24.969 23.7189 24.469 24.219C23.9689 24.719 23.2906 25 22.5833 25H3.91667C3.20942 25 2.53115 24.719 2.03105 24.219C1.53095 23.7189 1.25 23.0406 1.25 22.3333V17\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path\r\n d=\"M19.9167 7.66667L13.25 1L6.58337 7.66667\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path\r\n d=\"M13.25 1V17\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const ArrowUpDown = ({ color }) => (\r\n <svg\r\n width=\"24\"\r\n height=\"24\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M7 3V21M7 3L10 6M7 3L4 6M20 18L17 21M17 21L14 18M17 21V3\"\r\n stroke={color || \"#999999\"}\r\n strokeWidth=\"1.8\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n);\r\n","export const MaximizeIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<g clipPath=\"url(#clip0_5021_2966)\">\r\n<path d=\"M16 4H20V8\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M14 10L20 4\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M8 20H4V16\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M4 20L10 14\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M16 20H20V16\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M14 14L20 20\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M8 4H4V8\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M4 4L10 10\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</g>\r\n<defs>\r\n<clipPath id=\"clip0_5021_2966\">\r\n<rect width=\"24\" height=\"24\" fill=\"white\"/>\r\n</clipPath>\r\n</defs>\r\n</svg>\r\n\r\n)","export const MinimizeIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<g clipPath=\"url(#clip0_5021_2951)\">\r\n<path d=\"M5 9H9V5\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M3 3L9 9\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M5 15H9V19\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M3 21L9 15\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M19 9H15V5\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M15 9L21 3\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M19 15H15V19\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M15 15L21 21\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</g>\r\n<defs>\r\n<clipPath id=\"clip0_5021_2951\">\r\n<rect width=\"24\" height=\"24\" fill=\"white\"/>\r\n</clipPath>\r\n</defs>\r\n</svg>\r\n\r\n)","export const SuffleIcon = ({ color }) => (\r\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<g clipPath=\"url(#clip0_5021_2875)\">\r\n<path d=\"M18 4L21 7L18 10\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M18 20L21 17L18 14\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M3 7H6C7.32608 7 8.59785 7.52678 9.53553 8.46447C10.4732 9.40215 11 10.6739 11 12C11 13.3261 11.5268 14.5979 12.4645 15.5355C13.4021 16.4732 14.6739 17 16 17H21\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M21 7.00001H16C14.9179 6.99841 13.8647 7.34946 13 8.00001M9 16C8.13506 16.6502 7.08204 17.0012 6 17H3\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</g>\r\n<defs>\r\n<clipPath id=\"clip0_5021_2875\">\r\n<rect width=\"24\" height=\"24\" fill=\"white\"/>\r\n</clipPath>\r\n</defs>\r\n</svg>\r\n\r\n)\r\n","export const RefreshIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M20 11.0007C19.7554 9.2409 18.9391 7.61034 17.6766 6.36018C16.4142 5.11001 14.7758 4.3096 13.0137 4.08224C11.2516 3.85487 9.46362 4.21316 7.9252 5.10193C6.38678 5.99069 5.18325 7.36062 4.5 9.00068M4 5.00068V9.00068H8M4 13.0007C4.24456 14.7605 5.06093 16.391 6.32336 17.6412C7.58579 18.8913 9.22424 19.6918 10.9863 19.9191C12.7484 20.1465 14.5364 19.7882 16.0748 18.8994C17.6132 18.0107 18.8168 16.6407 19.5 15.0007M20 19.0007V15.0007H16\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)\r\n","export const ReloadIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M19.9321 13.0436C19.7433 14.4836 19.166 15.845 18.2622 16.9818C17.3585 18.1186 16.1623 18.988 14.802 19.4966C13.4418 20.0053 11.9687 20.1341 10.5407 19.8692C9.11282 19.6043 7.78395 18.9557 6.69664 17.9929C5.60933 17.0302 4.8046 15.7896 4.36876 14.4043C3.93292 13.0189 3.8824 11.5411 4.22264 10.1292C4.56287 8.71733 5.28102 7.42471 6.30006 6.38996C7.3191 5.35522 8.60059 4.61739 10.0071 4.25561C13.9061 3.25561 17.9421 5.26261 19.4321 9.00261M19.999 4.00262V9.00262H14.999\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)\r\n","export const LogoutIcon = ({ color }) => (\r\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M14 8V6C14 5.46957 13.7893 4.96086 13.4142 4.58579C13.0391 4.21071 12.5304 4 12 4H5C4.46957 4 3.96086 4.21071 3.58579 4.58579C3.21071 4.96086 3 5.46957 3 6V18C3 18.5304 3.21071 19.0391 3.58579 19.4142C3.96086 19.7893 4.46957 20 5 20H12C12.5304 20 13.0391 19.7893 13.4142 19.4142C13.7893 19.0391 14 18.5304 14 18V16M9 12H21M21 12L18 9M21 12L18 15\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n)\r\n","export const IconChevronDown = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M6 9L12 15L18 9\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)","export const IconChevronUp = ({ color }) => (\r\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M6 15L12 9L18 15\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)","export const ArrowStandardDownIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M12 5V19M12 19L18 13M12 19L6 13\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)","export const ArrowStandardLeftIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M5 12H19M5 12L11 18M5 12L11 6\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)","export const ArrowStandardRightIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M5 12H19M19 12L13 18M19 12L13 6\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)\r\n","export const ArrowStandardUpRightIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M17 7L7 17M17 7H8M17 7V16\" stroke={color || \"#999999\"} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)\r\n","export const ArrowStandardUpIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M12 5V19M12 5L18 11M12 5L6 11\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)","export const ArrowFrameOutlineUpIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M9 13L12 10L15 13M12 3C19.2 3 21 4.8 21 12C21 19.2 19.2 21 12 21C4.8 21 3 19.2 3 12C3 4.8 4.8 3 12 3Z\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n)","export const ArrowFrameOutlineRightIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M11 9L14 12L11 15M12 3C19.2 3 21 4.8 21 12C21 19.2 19.2 21 12 21C4.8 21 3 19.2 3 12C3 4.8 4.8 3 12 3Z\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)","export const ArrowFrameOutlineDownIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M15 11L12 14L9 11M12 3C19.2 3 21 4.8 21 12C21 19.2 19.2 21 12 21C4.8 21 3 19.2 3 12C3 4.8 4.8 3 12 3Z\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)","export const ArrowFrameOutlineLeftIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M13 15L10 12L13 9M12 3C19.2 3 21 4.8 21 12C21 19.2 19.2 21 12 21C4.8 21 3 19.2 3 12C3 4.8 4.8 3 12 3Z\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)","import KeyboardArrowRightRaw from \"@mui/icons-material/KeyboardArrowRight\";\r\nimport KeyboardArrowLeftRaw from \"@mui/icons-material/KeyboardArrowLeft\";\r\nimport IconButtonRaw from \"@mui/material/IconButton\";\r\n\r\nconst KeyboardArrowRight =\r\n KeyboardArrowRightRaw?.default ?? KeyboardArrowRightRaw;\r\nconst KeyboardArrowLeft =\r\n KeyboardArrowLeftRaw?.default ?? KeyboardArrowLeftRaw;\r\nconst IconButton = IconButtonRaw?.default ?? IconButtonRaw;\r\n\r\nexport const ServerSidePaginationActions = (props) => {\r\n const { page, onPageChange, rowsPerPage, currentPageData } = props;\r\n\r\n const handleBackButtonClick = () => {\r\n onPageChange(null, page - 1);\r\n };\r\n\r\n const handleNextButtonClick = () => {\r\n onPageChange(null, page + 1);\r\n };\r\n\r\n return (\r\n <>\r\n <IconButton onClick={handleBackButtonClick} disabled={page === 0}>\r\n <KeyboardArrowLeft />\r\n </IconButton>\r\n <IconButton\r\n onClick={handleNextButtonClick}\r\n disabled={\r\n !currentPageData?.length || currentPageData?.length < rowsPerPage\r\n }\r\n >\r\n <KeyboardArrowRight />\r\n </IconButton>\r\n </>\r\n );\r\n};\r\n","import { PrimitiveColor } from \"../primitive\";\r\n\r\nexport const DerivedColor = {\r\n /* ================= BACKGROUND ================= */\r\n\r\n color_bg_page: PrimitiveColor.color_neutral_100,\r\n color_bg_surface: PrimitiveColor.color_neutral_50,\r\n color_bg_inverse: PrimitiveColor.color_neutral_900,\r\n color_bg_disabled: PrimitiveColor.color_neutral_300,\r\n\r\n color_bg_brand_primary_strong: PrimitiveColor.color_blue_cakrawala_600,\r\n color_bg_brand_primary: PrimitiveColor.color_blue_cakrawala_500,\r\n color_bg_brand_primary_subtle: PrimitiveColor.color_blue_cakrawala_100,\r\n color_bg_brand_secondary_strong: PrimitiveColor.color_blue_mentari_600,\r\n color_bg_brand_secondary: PrimitiveColor.color_blue_mentari_500,\r\n color_bg_brand_secondary_subtle: PrimitiveColor.color_blue_mentari_100,\r\n\r\n color_bg_success_strong: PrimitiveColor.color_green_600,\r\n color_bg_success: PrimitiveColor.color_green_500,\r\n color_bg_success_subtle: PrimitiveColor.color_green_300,\r\n\r\n color_bg_danger_strong: PrimitiveColor.color_red_600,\r\n color_bg_danger: PrimitiveColor.color_red_500,\r\n color_bg_danger_subtle: PrimitiveColor.color_red_300,\r\n\r\n color_bg_warning_strong: PrimitiveColor.color_yellow_600,\r\n color_bg_warning: PrimitiveColor.color_yellow_500,\r\n color_bg_warning_subtle: PrimitiveColor.color_yellow_300,\r\n\r\n /* ================= BORDER ================= */\r\n\r\n color_border_default: PrimitiveColor.color_neutral_300,\r\n color_border_strong: PrimitiveColor.color_neutral_500,\r\n color_border_inverse: PrimitiveColor.color_neutral_900,\r\n\r\n color_border_brand_primary: PrimitiveColor.color_blue_cakrawala_500,\r\n color_border_brand_secondary: PrimitiveColor.color_blue_mentari_500,\r\n color_border_success: PrimitiveColor.color_green_500,\r\n color_border_danger: PrimitiveColor.color_red_500,\r\n color_border_warning: PrimitiveColor.color_yellow_500,\r\n\r\n /* ================= TEXT ================= */\r\n\r\n color_text_default: PrimitiveColor.color_neutral_900,\r\n color_text_subtle: PrimitiveColor.color_neutral_700,\r\n color_text_disabled: PrimitiveColor.color_neutral_600,\r\n color_text_placeholder: PrimitiveColor.color_neutral_400,\r\n color_text_inverse: PrimitiveColor.color_neutral_50,\r\n\r\n color_text_brand_primary: PrimitiveColor.color_blue_cakrawala_500,\r\n color_text_brand_secondary: PrimitiveColor.color_blue_mentari_500,\r\n color_text_success: PrimitiveColor.color_green_500,\r\n color_text_danger: PrimitiveColor.color_red_500,\r\n color_text_warning: PrimitiveColor.color_yellow_600,\r\n\r\n /* ================= ICON ================= */\r\n\r\n color_icon_subtle: PrimitiveColor.color_neutral_600,\r\n color_icon_strong: PrimitiveColor.color_neutral_700,\r\n color_icon_disabled: PrimitiveColor.color_neutral_200,\r\n color_icon_inverse: PrimitiveColor.color_neutral_50,\r\n\r\n color_icon_brand_primary: PrimitiveColor.color_blue_cakrawala_500,\r\n color_icon_brand_secondary: PrimitiveColor.color_blue_mentari_500,\r\n\r\n color_icon_success: PrimitiveColor.color_green_500,\r\n color_icon_danger: PrimitiveColor.color_red_500,\r\n color_icon_warning: PrimitiveColor.color_yellow_600,\r\n};\r\n","import BoxRaw from \"@mui/material/Box\";\r\n\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\n\r\nexport const Radius = {\r\n radius_0: \"0px\",\r\n radius_1: \"4px\",\r\n radius_2: \"8px\",\r\n radius_3: \"12px\",\r\n radius_4: \"16px\",\r\n radius_x: \"999px\",\r\n};\r\n\r\nexport const RadiusToken = ({\r\n radius = \"radius_0\",\r\n children,\r\n sx = {},\r\n ...rest\r\n}) => {\r\n const borderRadius = Radius[radius] ?? Radius.radius_0;\r\n\r\n return (\r\n <Box\r\n sx={{\r\n borderRadius,\r\n backgroundColor: \"#f5f5f5\",\r\n padding: \"16px\",\r\n display: \"inline-flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {children}\r\n </Box>\r\n );\r\n};\r\n\r\nexport default RadiusToken;\r\n","import MuiTypographyRaw from \"@mui/material/Typography\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\n\r\nconst MuiTypography = MuiTypographyRaw?.default ?? MuiTypographyRaw;\r\n\r\nconst BASE_LINE_HEIGHT = 1.4;\r\nconst LETTER_SPACING = \"0px\";\r\n\r\nexport const TYPOGRAPHY_COLORS = {\r\n default: {\r\n value: DerivedColor.color_text_default,\r\n token: \"color_text_default\",\r\n alias: \"color_neutral_900\",\r\n },\r\n subtle: {\r\n value: DerivedColor.color_text_subtle,\r\n token: \"color_text_subtle\",\r\n alias: \"color_neutral_700\",\r\n },\r\n disabled: {\r\n value: DerivedColor.color_text_disabled,\r\n token: \"color_text_disabled\",\r\n alias: \"color_neutral_600\",\r\n },\r\n placeholder: {\r\n value: DerivedColor.color_text_placeholder,\r\n token: \"color_text_placeholder\",\r\n alias: \"color_neutral_400\",\r\n },\r\n inverse: {\r\n value: DerivedColor.color_text_inverse,\r\n token: \"color_text_inverse\",\r\n alias: \"color_neutral_50\",\r\n },\r\n primary: {\r\n value: DerivedColor.color_text_brand_primary,\r\n token: \"color_text_brand_primary\",\r\n alias: \"color_blue_cakrawala_500\",\r\n },\r\n secondary: {\r\n value: DerivedColor.color_text_brand_secondary,\r\n token: \"color_text_brand_secondary\",\r\n alias: \"color_blue_mentari_500\",\r\n },\r\n success: {\r\n value: DerivedColor.color_text_success,\r\n token: \"color_text_success\",\r\n alias: \"color_green_500\",\r\n },\r\n danger: {\r\n value: DerivedColor.color_text_danger,\r\n token: \"color_text_danger\",\r\n alias: \"color_red_500\",\r\n },\r\n warning: {\r\n value: DerivedColor.color_text_warning,\r\n token: \"color_text_warning\",\r\n alias: \"color_yellow_600\",\r\n },\r\n};\r\n\r\nexport const VariantStyles = {\r\n /* ================= HEADING (MUI standard) ================= */\r\n h1: {\r\n fontSize: \"96px\",\r\n fontWeight: 300,\r\n },\r\n h2: {\r\n fontSize: \"60px\",\r\n fontWeight: 300,\r\n },\r\n h3: {\r\n fontSize: \"48px\",\r\n fontWeight: 400,\r\n },\r\n h4: {\r\n fontSize: \"34px\",\r\n fontWeight: 400,\r\n },\r\n h5: {\r\n fontSize: \"24px\",\r\n fontWeight: 400,\r\n },\r\n h6: {\r\n fontSize: \"20px\",\r\n fontWeight: 500,\r\n },\r\n\r\n /* ================= HEADER 1 ================= */\r\n header1_regular: {\r\n fontSize: \"18px\",\r\n fontWeight: 400,\r\n },\r\n header1_semibold: {\r\n fontSize: \"18px\",\r\n fontWeight: 600,\r\n },\r\n header1_bold: {\r\n fontSize: \"18px\",\r\n fontWeight: 700,\r\n },\r\n\r\n /* ================= HEADER 2 ================= */\r\n header2_regular: {\r\n fontSize: \"20px\",\r\n fontWeight: 400,\r\n },\r\n header2_semibold: {\r\n fontSize: \"20px\",\r\n fontWeight: 600,\r\n },\r\n header2_bold: {\r\n fontSize: \"20px\",\r\n fontWeight: 700,\r\n },\r\n\r\n /* ================= BODY ================= */\r\n body1_regular: {\r\n fontSize: \"14px\",\r\n fontWeight: 400,\r\n },\r\n body2_regular: {\r\n fontSize: \"16px\",\r\n fontWeight: 400,\r\n },\r\n\r\n /* ================= CAPTION ================= */\r\n caption_regular: {\r\n fontSize: \"12px\",\r\n fontWeight: 400,\r\n },\r\n};\r\n\r\n\r\nexport const BaseTypography = ({\r\n variant = \"body1_regular.default\",\r\n children,\r\n sx,\r\n ...props\r\n}) => {\r\n let actualVariant = variant;\r\n let actualColor = \"default\";\r\n\r\n if (typeof variant === \"string\" && variant.includes(\".\")) {\r\n const [v, c] = variant.split(\".\");\r\n actualVariant = v;\r\n actualColor = c;\r\n }\r\n\r\n const variantStyle = VariantStyles[actualVariant];\r\n const colorStyle = TYPOGRAPHY_COLORS[actualColor];\r\n\r\n if (!variantStyle) {\r\n console.warn(`Unknown typography variant: ${actualVariant}`);\r\n return null;\r\n }\r\n if (!colorStyle) {\r\n console.warn(`Unknown typography color: ${actualColor}`);\r\n return null;\r\n }\r\n\r\n return (\r\n <MuiTypography\r\n {...props}\r\n sx={{\r\n fontFamily: \"inherit\",\r\n lineHeight: BASE_LINE_HEIGHT,\r\n letterSpacing: LETTER_SPACING,\r\n color: colorStyle.value,\r\n ...variantStyle,\r\n ...sx,\r\n }}\r\n >\r\n {children}\r\n </MuiTypography>\r\n );\r\n};\r\n\r\n","import BoxRaw from \"@mui/material/Box\";\r\n\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\n\r\n/* ================================\r\n * SPACING TOKENS\r\n * ================================ */\r\n\r\nexport const SpacingToken = {\r\n spacing0: \"0px\",\r\n spacing1: \"4px\",\r\n spacing2: \"8px\",\r\n spacing3: \"12px\",\r\n spacing4: \"16px\",\r\n spacing5: \"20px\",\r\n spacing6: \"24px\",\r\n spacing7: \"28px\",\r\n spacing8: \"32px\",\r\n spacing9: \"36px\",\r\n spacing10: \"40px\",\r\n};\r\n\r\nexport const CONTENT_SPACING_TOKENS = {\r\n spacing_1: {\r\n mobile: \"8px\",\r\n tablet: \"16px\",\r\n web: \"24px\",\r\n },\r\n spacing_2: {\r\n mobile: \"16px\",\r\n tablet: \"24px\",\r\n web: \"32px\",\r\n },\r\n spacing_3: {\r\n mobile: \"24px\",\r\n tablet: \"32px\",\r\n web: \"40px\",\r\n },\r\n};\r\n\r\nconst resolveSpacingValue = (value, tokens) => {\r\n if (typeof value === \"number\") return `${value}px`;\r\n if (typeof value === \"string\") return tokens[value] ?? value;\r\n return 0;\r\n};\r\n\r\n/* ================================\r\n * SPACING (UTILITY GAP)\r\n * ================================ */\r\nconst Spacing = ({\r\n size = \"spacing2\",\r\n axis = \"vertical\",\r\n sx = {},\r\n ...rest\r\n}) => {\r\n const value = resolveSpacingValue(size, SpacingToken);\r\n\r\n return (\r\n <Box\r\n aria-hidden\r\n sx={{\r\n ...(axis === \"vertical\"\r\n ? { height: value }\r\n : { width: value, display: \"inline-block\" }),\r\n ...sx,\r\n }}\r\n {...rest}\r\n />\r\n );\r\n};\r\n\r\n/* ================================\r\n * CONTENT SPACING (LAYOUT)\r\n * ================================ */\r\nexport const ContentSpacing = ({\r\n size = \"spacing_2\",\r\n breakpoint = \"web\",\r\n children,\r\n sx = {},\r\n ...rest\r\n}) => {\r\n const token =\r\n typeof size === \"string\" ? CONTENT_SPACING_TOKENS[size] : size;\r\n\r\n if (!token) return null;\r\n\r\n const value = token[breakpoint] ?? token.web;\r\n\r\n return (\r\n <Box\r\n sx={{\r\n padding: value,\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {children}\r\n </Box>\r\n );\r\n};\r\n\r\nexport default Spacing;\r\n","import { createElement, isValidElement, useMemo } from \"react\";\r\nimport AlertRaw from \"@mui/material/Alert\";\r\nimport AlertTitleRaw from \"@mui/material/AlertTitle\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { VariantStyles } from \"@/components/atoms/typography/typography\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\n\r\nimport { IconAlertCircle, IconCircleCheck, IconInfoCircle, IconAlertTriangle } from \"@tabler/icons-react\";\r\n\r\nconst Alert = AlertRaw?.default ?? AlertRaw;\r\nconst AlertTitle = AlertTitleRaw?.default ?? AlertTitleRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\n\r\nconst ALERT_CONFIG = {\r\n default: {\r\n bg: PrimitiveColor.color_neutral_200,\r\n iconColor: DerivedColor.color_icon_strong,\r\n defaultIcon: IconAlertCircle,\r\n },\r\n error: {\r\n bg: PrimitiveColor.color_red_100,\r\n iconColor: DerivedColor.color_icon_danger,\r\n defaultIcon: IconAlertCircle,\r\n },\r\n info: {\r\n bg: DerivedColor.color_bg_brand_primary_subtle,\r\n iconColor: DerivedColor.color_icon_brand_primary,\r\n defaultIcon: IconInfoCircle,\r\n },\r\n success: {\r\n bg: PrimitiveColor.color_green_100,\r\n iconColor: DerivedColor.color_icon_success,\r\n defaultIcon: IconCircleCheck,\r\n },\r\n warning: {\r\n bg: PrimitiveColor.color_yellow_100,\r\n iconColor: DerivedColor.color_icon_warning,\r\n defaultIcon: IconAlertTriangle,\r\n },\r\n};\r\n\r\nexport const BaseAlert = ({\r\n variant = \"default\",\r\n type = \"standard\",\r\n title,\r\n children,\r\n icon,\r\n color,\r\n sx = {},\r\n onClose,\r\n childrenSx = {},\r\n ...props\r\n}) => {\r\n const config = ALERT_CONFIG[variant] ?? ALERT_CONFIG.default;\r\n const hasChildrenSx = Object.keys(childrenSx).length > 0;\r\n\r\n const renderIcon = useMemo(() => {\r\n if (!icon) return false; // no icon prop = hide icon entirely\r\n if (isValidElement(icon)) return icon;\r\n if (typeof icon === \"function\")\r\n return createElement(icon, {\r\n size: 20,\r\n color: config.iconColor,\r\n });\r\n return false;\r\n }, [icon, config]);\r\n\r\n return (\r\n <Alert\r\n severity={variant === \"default\" ? undefined : variant}\r\n variant={type}\r\n icon={renderIcon}\r\n onClose={onClose}\r\n sx={{\r\n backgroundColor: color ?? config.bg,\r\n borderRadius: Radius.radius_2,\r\n \".MuiAlert-message\": { width: \"100%\" },\r\n ...sx,\r\n }}\r\n {...props}\r\n >\r\n {title && (\r\n <AlertTitle\r\n sx={{\r\n ...VariantStyles.body2_regular,\r\n marginBottom: SpacingToken.spacing2,\r\n fontWeight: 600,\r\n }}\r\n >\r\n {title}\r\n </AlertTitle>\r\n )}\r\n {hasChildrenSx ? (\r\n <Box component=\"span\" sx={childrenSx}>\r\n {children}\r\n </Box>\r\n ) : (\r\n children\r\n )}\r\n </Alert>\r\n );\r\n};\r\n","import BoxRaw from \"@mui/material/Box\";\r\n\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\n\r\nexport const Shadow = {\r\n elevation_0: {\r\n shadow: \"none\",\r\n surface: \"#FFFFFF\",\r\n },\r\n elevation_1: {\r\n shadow: \"0px 1px 2px rgba(0, 0, 0, 0.06)\",\r\n surface: \"#FFFFFF\",\r\n },\r\n elevation_2: {\r\n shadow: \"0px 2px 6px rgba(0, 0, 0, 0.08)\",\r\n surface: \"#FFFFFF\",\r\n },\r\n elevation_3: {\r\n shadow: \"0px 2px 6px rgba(0, 0, 0, 0.08)\",\r\n surface: \"#FFFFFF\",\r\n },\r\n elevation_4: {\r\n shadow: \"0px 6px 20px rgba(0, 0, 0, 0.16)\",\r\n surface: \"#FFFFFF\",\r\n },\r\n};\r\n\r\nexport const ShadowToken = ({\r\n level = \"elevation_0\",\r\n children,\r\n sx = {},\r\n ...rest\r\n}) => {\r\n const token = Shadow[level] || Shadow.elevation_0;\r\n\r\n return (\r\n <Box\r\n sx={{\r\n backgroundColor: token.surface,\r\n boxShadow: token.shadow,\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {children}\r\n </Box>\r\n );\r\n};\r\n\r\nexport default ShadowToken;\r\n","import ButtonBaseRaw from \"@mui/material/ButtonBase\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { VariantStyles } from \"@/components/atoms/typography/typography\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\n\r\nconst ButtonBase = ButtonBaseRaw?.default ?? ButtonBaseRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\n\r\nconst WHITE = DerivedColor.color_text_inverse;\r\n\r\nconst SIZE_TYPOGRAPHY = {\r\n large: \"body2_regular\",\r\n small: \"body1_regular\",\r\n};\r\n\r\nconst DISABLED_BG = DerivedColor.color_bg_disabled;\r\nconst DISABLED_TEXT = DerivedColor.color_text_disabled;\r\n\r\n// ============================================================\r\n// COLOR MAPPING (color prop → DerivedColor tokens)\r\n// ============================================================\r\n\r\nconst FILL_COLORS = {\r\n primary: {\r\n bg: DerivedColor.color_bg_brand_primary,\r\n hover: DerivedColor.color_bg_brand_primary_strong,\r\n },\r\n secondary: {\r\n bg: DerivedColor.color_bg_brand_secondary,\r\n hover: DerivedColor.color_bg_brand_secondary_strong,\r\n },\r\n success: {\r\n bg: DerivedColor.color_bg_success,\r\n hover: DerivedColor.color_bg_success_strong,\r\n },\r\n warning: {\r\n bg: DerivedColor.color_bg_warning,\r\n hover: DerivedColor.color_bg_warning_strong,\r\n },\r\n danger: {\r\n bg: DerivedColor.color_bg_danger,\r\n hover: DerivedColor.color_bg_danger_strong,\r\n },\r\n};\r\n\r\nconst OUTLINE_COLORS = {\r\n primary: {\r\n border: DerivedColor.color_border_brand_primary,\r\n text: DerivedColor.color_text_brand_primary,\r\n hoverBg: DerivedColor.color_bg_brand_primary_subtle,\r\n },\r\n secondary: {\r\n border: DerivedColor.color_border_brand_secondary,\r\n text: DerivedColor.color_text_brand_secondary,\r\n hoverBg: DerivedColor.color_bg_brand_secondary_subtle,\r\n },\r\n success: {\r\n border: DerivedColor.color_border_success,\r\n text: DerivedColor.color_text_success,\r\n hoverBg: DerivedColor.color_bg_success_subtle,\r\n },\r\n warning: {\r\n border: DerivedColor.color_border_warning,\r\n text: DerivedColor.color_text_warning,\r\n hoverBg: DerivedColor.color_bg_warning_subtle,\r\n },\r\n danger: {\r\n border: DerivedColor.color_border_danger,\r\n text: DerivedColor.color_text_danger,\r\n hoverBg: DerivedColor.color_bg_danger_subtle,\r\n },\r\n};\r\n\r\n// ============================================================\r\n// CUSTOM COLOR HOVER UTILITY\r\n// Naik 1 tingkat dari PrimitiveColor scale (500 → 600, 300 → 400, dll)\r\n// ============================================================\r\n\r\nconst SCALE_ORDER = [100, 200, 300, 400, 500, 600, 700, 800, 900];\r\n\r\nfunction getHoverColor(primitiveKey) {\r\n if (!primitiveKey || !PrimitiveColor[primitiveKey]) return null;\r\n\r\n // Parse: \"color_blue_cakrawala_500\" → prefix=\"color_blue_cakrawala\", level=500\r\n const parts = primitiveKey.split(\"_\");\r\n const level = parseInt(parts[parts.length - 1], 10);\r\n\r\n if (isNaN(level)) return null;\r\n\r\n const prefix = parts.slice(0, -1).join(\"_\");\r\n const currentIndex = SCALE_ORDER.indexOf(level);\r\n\r\n if (currentIndex === -1) return null;\r\n\r\n // Naik 1 tingkat (index + 1 = darker)\r\n const nextLevel = SCALE_ORDER[Math.min(currentIndex + 1, SCALE_ORDER.length - 1)];\r\n const hoverKey = `${prefix}_${nextLevel}`;\r\n\r\n return PrimitiveColor[hoverKey] || PrimitiveColor[primitiveKey];\r\n}\r\n\r\n// ============================================================\r\n// COMPONENT\r\n// ============================================================\r\n\r\nexport const BaseButton = ({\r\n onClick = () => {},\r\n children = null,\r\n variant = \"fill\",\r\n color = \"primary\",\r\n customColor = null,\r\n size = \"large\",\r\n disabled = false,\r\n startIcon = null,\r\n endIcon = null,\r\n width = \"100%\",\r\n sx = {},\r\n ...rest\r\n}) => {\r\n const isFill = variant.includes(\"fill\") || variant === \"fab\";\r\n const isOutline = variant.includes(\"outline\");\r\n const isText = variant === \"text\";\r\n\r\n // Jika customColor dipakai, color prop diabaikan\r\n const useCustom = !!customColor;\r\n const customColorValue = useCustom ? PrimitiveColor[customColor] : null;\r\n const customHoverValue = useCustom ? getHoverColor(customColor) : null;\r\n\r\n // Resolve warna berdasarkan variant + color/customColor\r\n const getBackgroundColor = () => {\r\n if (disabled) return isFill ? DISABLED_BG : \"transparent\";\r\n if (useCustom) return isFill ? customColorValue : \"transparent\";\r\n if (isFill) return FILL_COLORS[color]?.bg || FILL_COLORS.primary.bg;\r\n return \"transparent\";\r\n };\r\n\r\n const getTextColor = () => {\r\n if (disabled) return DISABLED_TEXT;\r\n if (isFill) return WHITE;\r\n if (useCustom) return customColorValue;\r\n if (isOutline) return OUTLINE_COLORS[color]?.text || OUTLINE_COLORS.primary.text;\r\n if (isText) return OUTLINE_COLORS[color]?.text || OUTLINE_COLORS.primary.text;\r\n return DerivedColor.color_text_default;\r\n };\r\n\r\n const getBorderColor = () => {\r\n if (!isOutline) return \"none\";\r\n if (disabled) return `1.5px solid ${DISABLED_BG}`;\r\n if (useCustom) return `1.5px solid ${customColorValue}`;\r\n return `1.5px solid ${OUTLINE_COLORS[color]?.border || OUTLINE_COLORS.primary.border}`;\r\n };\r\n\r\n const getHoverBg = () => {\r\n if (disabled) return undefined;\r\n if (useCustom) {\r\n return isFill ? customHoverValue : customColorValue + \"1A\"; // 10% opacity for outline\r\n }\r\n if (isFill) return FILL_COLORS[color]?.hover || FILL_COLORS.primary.hover;\r\n if (isOutline) return OUTLINE_COLORS[color]?.hoverBg || OUTLINE_COLORS.primary.hoverBg;\r\n return undefined;\r\n };\r\n\r\n const getRadius = () => {\r\n switch (variant) {\r\n case \"text\":\r\n return Radius.radius_0;\r\n case \"fill\":\r\n case \"outline\":\r\n return Radius.radius_2;\r\n case \"fab\":\r\n case \"ellipse-fill\":\r\n case \"ellipse-outline\":\r\n return Radius.radius_x;\r\n default:\r\n return Radius.radius_2;\r\n }\r\n };\r\n\r\n const typographyStyle = VariantStyles[SIZE_TYPOGRAPHY[size]];\r\n\r\n return (\r\n <ButtonBase\r\n disabled={disabled}\r\n onClick={onClick}\r\n sx={{\r\n width,\r\n height: \"40px\",\r\n padding: `${SpacingToken.spacing0} ${SpacingToken.spacing4}`,\r\n borderRadius: getRadius(),\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n ...typographyStyle,\r\n\r\n backgroundColor: getBackgroundColor(),\r\n color: getTextColor(),\r\n border: getBorderColor(),\r\n\r\n cursor: disabled ? \"not-allowed\" : \"pointer\",\r\n opacity: 1,\r\n userSelect: \"none\",\r\n transition: \"all 0.15s ease-in-out\",\r\n\r\n \"&:hover\": {\r\n boxShadow: !disabled ? \"0 2px 4px rgba(0,0,0,0.1)\" : \"none\",\r\n backgroundColor: getHoverBg(),\r\n },\r\n\r\n \"&:active\": {\r\n transform: !disabled ? \"scale(0.97)\" : \"none\",\r\n },\r\n\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {startIcon && (\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n lineHeight: 0,\r\n mr: children ? \"4px\" : 0,\r\n }}\r\n >\r\n {startIcon}\r\n </Box>\r\n )}\r\n\r\n {children}\r\n\r\n {endIcon && (\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n lineHeight: 0,\r\n ml: children ? \"4px\" : 0,\r\n }}\r\n >\r\n {endIcon}\r\n </Box>\r\n )}\r\n </ButtonBase>\r\n );\r\n};\r\n","import { useState } from \"react\";\r\nimport MuiCardRaw from \"@mui/material/Card\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport CollapseRaw from \"@mui/material/Collapse\";\r\nimport IconButtonRaw from \"@mui/material/IconButton\";\r\nimport KeyboardArrowDownIconRaw from \"@mui/icons-material/KeyboardArrowDown\";\r\nimport KeyboardArrowUpIconRaw from \"@mui/icons-material/KeyboardArrowUp\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\n\r\nconst MuiCard = MuiCardRaw?.default ?? MuiCardRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\nconst Collapse = CollapseRaw?.default ?? CollapseRaw;\r\nconst IconButton = IconButtonRaw?.default ?? IconButtonRaw;\r\nconst KeyboardArrowDownIcon =\r\n KeyboardArrowDownIconRaw?.default ?? KeyboardArrowDownIconRaw;\r\nconst KeyboardArrowUpIcon =\r\n KeyboardArrowUpIconRaw?.default ?? KeyboardArrowUpIconRaw;\r\n\r\n// ============================================================\r\n// COLOR MAPPING\r\n// ============================================================\r\n\r\nconst HEADER_COLORS = {\r\n primary: DerivedColor.color_bg_brand_primary,\r\n secondary: DerivedColor.color_bg_brand_secondary,\r\n success: DerivedColor.color_bg_success,\r\n warning: DerivedColor.color_bg_warning,\r\n danger: DerivedColor.color_bg_danger,\r\n};\r\n\r\n// ============================================================\r\n// COMPONENT\r\n// ============================================================\r\n\r\nexport const BaseCard = ({\r\n variant = \"default\",\r\n children = null,\r\n color = \"primary\",\r\n title = \"\",\r\n subtitle = \"\",\r\n boldTitle = false,\r\n boldSubtitle = false,\r\n showSubtitle = false,\r\n isCollapsible = true,\r\n startIcon = null,\r\n endIcon = null,\r\n showStartIcon = false,\r\n showEndIcon = false,\r\n footer = null,\r\n sx = {},\r\n ...rest\r\n}) => {\r\n const [open, setOpen] = useState(true);\r\n\r\n const headerBg = HEADER_COLORS[color] || HEADER_COLORS.primary;\r\n const headerTextColor = DerivedColor.color_bg_surface;\r\n const cardBg = DerivedColor.color_bg_surface;\r\n const borderColor = DerivedColor.color_border_default;\r\n\r\n // ====================== DEFAULT ======================\r\n if (variant === \"default\") {\r\n return (\r\n <MuiCard\r\n sx={{\r\n borderRadius: Radius.radius_2,\r\n backgroundColor: cardBg,\r\n border: `1px solid ${borderColor}`,\r\n overflow: \"visible\",\r\n boxShadow: \"none\",\r\n padding: SpacingToken.spacing4,\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {children}\r\n </MuiCard>\r\n );\r\n }\r\n\r\n // ====================== WITH-HEADER ======================\r\n if (variant === \"with-header\") {\r\n return (\r\n <MuiCard\r\n sx={{\r\n borderRadius: Radius.radius_2,\r\n border: `1px solid ${borderColor}`,\r\n overflow: \"hidden\",\r\n boxShadow: \"none\",\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {/* Header */}\r\n <Box\r\n onClick={() => isCollapsible && setOpen(!open)}\r\n sx={{\r\n backgroundColor: headerBg,\r\n padding: SpacingToken.spacing4,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"space-between\",\r\n cursor: isCollapsible ? \"pointer\" : \"default\",\r\n borderTopLeftRadius: Radius.radius_2,\r\n borderTopRightRadius: Radius.radius_2,\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\r\n {showStartIcon && startIcon && (\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", lineHeight: 0 }}>\r\n {startIcon}\r\n </Box>\r\n )}\r\n\r\n <Box>\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n color: headerTextColor,\r\n fontWeight: boldTitle ? 700 : 400,\r\n fontSize: \"16px\",\r\n display: \"block\",\r\n }}\r\n >\r\n {title}\r\n </Box>\r\n\r\n {showSubtitle && subtitle && (\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n color: headerTextColor,\r\n fontWeight: boldSubtitle ? 700 : 400,\r\n fontSize: \"13px\",\r\n display: \"block\",\r\n mt: \"2px\",\r\n }}\r\n >\r\n {subtitle}\r\n </Box>\r\n )}\r\n </Box>\r\n </Box>\r\n\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\r\n {showEndIcon && endIcon && (\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", lineHeight: 0 }}>\r\n {endIcon}\r\n </Box>\r\n )}\r\n\r\n {isCollapsible && (\r\n <IconButton\r\n size=\"small\"\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n setOpen(!open);\r\n }}\r\n sx={{ color: headerTextColor }}\r\n >\r\n {open ? <KeyboardArrowUpIcon /> : <KeyboardArrowDownIcon />}\r\n </IconButton>\r\n )}\r\n </Box>\r\n </Box>\r\n\r\n {/* Content */}\r\n <Collapse in={!isCollapsible || open} timeout={300}>\r\n <Box\r\n sx={{\r\n padding: SpacingToken.spacing4,\r\n backgroundColor: cardBg,\r\n }}\r\n >\r\n {children}\r\n </Box>\r\n </Collapse>\r\n </MuiCard>\r\n );\r\n }\r\n\r\n // ====================== WITH-HEADER-FOOTER ======================\r\n if (variant === \"with-header-footer\") {\r\n return (\r\n <MuiCard\r\n sx={{\r\n borderRadius: Radius.radius_2,\r\n border: `1px solid ${borderColor}`,\r\n overflow: \"hidden\",\r\n boxShadow: \"none\",\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {/* Header */}\r\n <Box\r\n onClick={() => isCollapsible && setOpen(!open)}\r\n sx={{\r\n backgroundColor: headerBg,\r\n padding: SpacingToken.spacing4,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"space-between\",\r\n cursor: isCollapsible ? \"pointer\" : \"default\",\r\n borderTopLeftRadius: Radius.radius_2,\r\n borderTopRightRadius: Radius.radius_2,\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\r\n {showStartIcon && startIcon && (\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", lineHeight: 0 }}>\r\n {startIcon}\r\n </Box>\r\n )}\r\n\r\n <Box>\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n color: headerTextColor,\r\n fontWeight: boldTitle ? 700 : 400,\r\n fontSize: \"16px\",\r\n display: \"block\",\r\n }}\r\n >\r\n {title}\r\n </Box>\r\n\r\n {showSubtitle && subtitle && (\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n color: headerTextColor,\r\n fontWeight: boldSubtitle ? 700 : 400,\r\n fontSize: \"13px\",\r\n display: \"block\",\r\n mt: \"2px\",\r\n }}\r\n >\r\n {subtitle}\r\n </Box>\r\n )}\r\n </Box>\r\n </Box>\r\n\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\r\n {showEndIcon && endIcon && (\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", lineHeight: 0 }}>\r\n {endIcon}\r\n </Box>\r\n )}\r\n\r\n {isCollapsible && (\r\n <IconButton\r\n size=\"small\"\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n setOpen(!open);\r\n }}\r\n sx={{ color: headerTextColor }}\r\n >\r\n {open ? <KeyboardArrowUpIcon /> : <KeyboardArrowDownIcon />}\r\n </IconButton>\r\n )}\r\n </Box>\r\n </Box>\r\n\r\n {/* Content */}\r\n <Collapse in={!isCollapsible || open} timeout={300}>\r\n <Box\r\n sx={{\r\n padding: SpacingToken.spacing4,\r\n backgroundColor: cardBg,\r\n }}\r\n >\r\n {children}\r\n </Box>\r\n </Collapse>\r\n\r\n {/* Footer */}\r\n {footer && (\r\n <Box\r\n sx={{\r\n padding: SpacingToken.spacing4,\r\n borderTop: `1px solid ${borderColor}`,\r\n backgroundColor: cardBg,\r\n }}\r\n >\r\n {footer}\r\n </Box>\r\n )}\r\n </MuiCard>\r\n );\r\n }\r\n\r\n // Fallback\r\n return (\r\n <MuiCard\r\n sx={{\r\n borderRadius: Radius.radius_2,\r\n backgroundColor: cardBg,\r\n border: `1px solid ${borderColor}`,\r\n overflow: \"visible\",\r\n boxShadow: \"none\",\r\n padding: SpacingToken.spacing4,\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {children}\r\n </MuiCard>\r\n );\r\n};\r\n","'use client';\r\nimport SwitchRaw from \"@mui/material/Switch\";\r\nimport { styled } from \"@mui/material/styles\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\nimport { VariantStyles } from \"@/components/atoms/typography/typography\";\r\n\r\nconst Switch = SwitchRaw?.default ?? SwitchRaw;\r\n\r\nconst AntSwitch = styled(Switch)(({ theme }) => ({\r\n width: \"34px\",\r\n height: \"18px\",\r\n padding: 0,\r\n display: \"flex\",\r\n\r\n \"&:active\": {\r\n \"& .MuiSwitch-thumb\": { width: 15 },\r\n \"& .MuiSwitch-switchBase.Mui-checked\": {\r\n transform: \"translateX(9px)\",\r\n },\r\n },\r\n\r\n \"& .MuiSwitch-switchBase\": {\r\n padding: SpacingToken.spacing1,\r\n\r\n \"&.Mui-checked\": {\r\n transform: \"translateX(16px)\",\r\n color: DerivedColor.color_bg_surface,\r\n\r\n \"& + .MuiSwitch-track\": {\r\n opacity: 1,\r\n backgroundColor: DerivedColor.color_bg_brand_primary,\r\n },\r\n },\r\n },\r\n\r\n \"& .MuiSwitch-thumb\": {\r\n boxShadow: \"0 2px 4px 0 rgb(0 35 11 / 20%)\",\r\n width: \"10px\",\r\n height: \"10px\",\r\n borderRadius: Radius.radius_x,\r\n transition: theme.transitions.create([\"width\"], { duration: 200 }),\r\n backgroundColor: DerivedColor.color_bg_surface,\r\n },\r\n\r\n \"& .MuiSwitch-track\": {\r\n borderRadius: Radius.radius_x,\r\n opacity: 1,\r\n backgroundColor:\r\n theme.palette.mode === \"dark\"\r\n ? DerivedColor.color_text_disabled\r\n : DerivedColor.color_text_placeholder,\r\n boxSizing: \"border-box\",\r\n },\r\n}));\r\n\r\nexport const BaseSwitch = ({\r\n status = false,\r\n label,\r\n labelPlacement = \"end\", // start | end | top | bottom\r\n isDisabled = false,\r\n onChange,\r\n}) => {\r\n const [checked, setChecked] = useState(status);\r\n\r\n useEffect(() => {\r\n setChecked(status);\r\n }, [status]);\r\n\r\n const handleChange = (event) => {\r\n setChecked(event.target.checked);\r\n onChange?.(event);\r\n };\r\n\r\n const layoutMap = {\r\n start: {\r\n gridAutoFlow: \"column dense\",\r\n direction: \"rtl\",\r\n },\r\n end: {\r\n gridAutoFlow: \"column\",\r\n direction: \"ltr\",\r\n },\r\n top: {\r\n gridAutoFlow: \"row\",\r\n direction: \"ltr\",\r\n },\r\n bottom: {\r\n gridAutoFlow: \"row dense\",\r\n direction: \"rtl\",\r\n },\r\n };\r\n\r\n const layout = layoutMap[labelPlacement] || layoutMap.end;\r\n\r\n return (\r\n <div\r\n style={{\r\n display: \"grid\",\r\n gap: SpacingToken.spacing2,\r\n alignItems: \"center\",\r\n justifyItems: \"start\",\r\n gridAutoFlow: layout.gridAutoFlow,\r\n direction: layout.direction,\r\n }}\r\n >\r\n <AntSwitch\r\n checked={checked}\r\n onChange={handleChange}\r\n disabled={isDisabled}\r\n inputProps={{ \"aria-label\": \"controlled\" }}\r\n />\r\n\r\n {label ? (\r\n <p\r\n style={{\r\n ...VariantStyles.body1_regular,\r\n color: isDisabled\r\n ? DerivedColor.color_text_placeholder\r\n : DerivedColor.color_text_default,\r\n margin: 0,\r\n }}\r\n >\r\n {label}\r\n </p>\r\n ) : null}\r\n </div>\r\n );\r\n};\r\n","import MuiCheckboxRaw from \"@mui/material/Checkbox\";\r\nimport FormControlLabelRaw from \"@mui/material/FormControlLabel\";\r\nimport FormGroupRaw from \"@mui/material/FormGroup\";\r\nimport { IconSquare, IconSquareCheckFilled } from \"@tabler/icons-react\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\n\r\nconst MuiCheckbox = MuiCheckboxRaw?.default ?? MuiCheckboxRaw;\r\nconst FormControlLabel = FormControlLabelRaw?.default ?? FormControlLabelRaw;\r\nconst FormGroup = FormGroupRaw?.default ?? FormGroupRaw;\r\n\r\nexport const BaseCheckbox = ({\r\n checked,\r\n onChange,\r\n options,\r\n label,\r\n disabled = false,\r\n labelPlacement = \"end\",\r\n isHorizontal = false,\r\n sx,\r\n ...restProps\r\n}) => {\r\n const isGroup = Array.isArray(options);\r\n\r\n const handleGroupChange = (optionValue, nextChecked) => {\r\n let newChecked = checked ? [...checked] : [];\r\n if (nextChecked) {\r\n if (!newChecked.includes(optionValue)) newChecked.push(optionValue);\r\n } else {\r\n newChecked = newChecked.filter((v) => v !== optionValue);\r\n }\r\n onChange?.(newChecked);\r\n };\r\n\r\n const handleSingleChange = (e) => {\r\n onChange?.(e.target.checked, e);\r\n };\r\n\r\n if (isGroup) {\r\n return (\r\n <FormGroup row={isHorizontal} sx={{ gap: isHorizontal ? 2 : 0 }}>\r\n {options.map((option) => (\r\n <FormControlLabel\r\n key={option.value}\r\n label={option.label}\r\n labelPlacement={labelPlacement}\r\n control={\r\n <MuiCheckbox\r\n checked={(checked || []).includes(option.value)}\r\n onChange={(e) => handleGroupChange(option.value, e.target.checked)}\r\n icon={<IconSquare size={22} color={DerivedColor.color_border_default} />}\r\n checkedIcon={<IconSquareCheckFilled size={22} color={(option.disabled ?? disabled) ? DerivedColor.color_bg_disabled : DerivedColor.color_bg_brand_primary} />}\r\n disabled={option.disabled ?? disabled}\r\n sx={{\r\n \":hover\": { backgroundColor: \"#C0DBF1\" },\r\n ...sx,\r\n }}\r\n {...restProps}\r\n />\r\n }\r\n />\r\n ))}\r\n </FormGroup>\r\n );\r\n }\r\n\r\n return (\r\n <FormControlLabel\r\n label={label}\r\n labelPlacement={labelPlacement}\r\n control={\r\n <MuiCheckbox\r\n checked={!!checked}\r\n onChange={handleSingleChange}\r\n icon={<IconSquare size={22} color={DerivedColor.color_border_default} />}\r\n checkedIcon={<IconSquareCheckFilled size={22} color={disabled ? DerivedColor.color_bg_disabled : DerivedColor.color_bg_brand_primary} />}\r\n disabled={disabled}\r\n sx={{\r\n \":hover\": { backgroundColor: \"#C0DBF1\" },\r\n ...sx,\r\n }}\r\n {...restProps}\r\n />\r\n }\r\n />\r\n );\r\n};\r\n","import React, { useCallback, useMemo, useState } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport CheckboxRaw from \"@mui/material/Checkbox\";\r\nimport CircularProgressRaw from \"@mui/material/CircularProgress\";\r\nimport PaperRaw from \"@mui/material/Paper\";\r\nimport TableRaw from \"@mui/material/Table\";\r\nimport TableBodyRaw from \"@mui/material/TableBody\";\r\nimport TableCellRaw from \"@mui/material/TableCell\";\r\nimport TableContainerRaw from \"@mui/material/TableContainer\";\r\nimport TableHeadRaw from \"@mui/material/TableHead\";\r\nimport TablePaginationRaw from \"@mui/material/TablePagination\";\r\nimport TableRowRaw from \"@mui/material/TableRow\";\r\n\r\nimport {\r\n IconArrowsUpDown,\r\n IconArrowUp,\r\n IconArrowDown,\r\n IconSquare,\r\n IconSquareCheckFilled,\r\n IconSquareMinusFilled,\r\n} from \"@tabler/icons-react\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { ServerSidePaginationActions } from \"@/components/legacy/molecules/table/serverside-pagination-actions\";\r\n\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\nconst Checkbox = CheckboxRaw?.default ?? CheckboxRaw;\r\nconst CircularProgress = CircularProgressRaw?.default ?? CircularProgressRaw;\r\nconst Paper = PaperRaw?.default ?? PaperRaw;\r\nconst Table = TableRaw?.default ?? TableRaw;\r\nconst TableBody = TableBodyRaw?.default ?? TableBodyRaw;\r\nconst TableCell = TableCellRaw?.default ?? TableCellRaw;\r\nconst TableContainer = TableContainerRaw?.default ?? TableContainerRaw;\r\nconst TableHead = TableHeadRaw?.default ?? TableHeadRaw;\r\nconst TablePagination =\r\n TablePaginationRaw?.default ?? TablePaginationRaw;\r\nconst TableRow = TableRowRaw?.default ?? TableRowRaw;\r\n\r\nconst DEFAULT_COLUMN_WIDTH = 160;\r\nconst HEADER_ROW_HEIGHT = 48;\r\nconst SELECTION_COLUMN_WIDTH = 56;\r\nconst EMPTY_ARRAY = [];\r\nconst EMPTY_OBJECT = {};\r\n\r\nconst COLORS = {\r\n headerBg: DerivedColor.color_bg_brand_primary,\r\n headerText: DerivedColor.color_text_inverse,\r\n headerBorder: DerivedColor.color_border_default,\r\n headerHoverBg: DerivedColor.color_bg_brand_primary_strong,\r\n headerHoverText: DerivedColor.color_text_inverse,\r\n bodyBg: DerivedColor.color_bg_surface,\r\n bodyText: DerivedColor.color_text_default,\r\n bodyBorder: DerivedColor.color_border_default,\r\n rowHoverBg: PrimitiveColor.color_neutral_200,\r\n stickyShadow: \"rgba(19, 19, 19, 0.08)\",\r\n};\r\n\r\nconst getValueByPath = (obj, path) =>\r\n String(path)\r\n .split(\".\")\r\n .reduce((acc, key) => acc?.[key], obj);\r\n\r\nconst getLastPathSegment = (value = \"\") => String(value).trim().split(\".\").pop();\r\n\r\nconst formatHeader = (value = \"\") =>\r\n getLastPathSegment(value)\r\n .replace(/[_-]+/g, \" \")\r\n .replace(/([a-z0-9])([A-Z])/g, \"$1 $2\")\r\n .replace(/\\b\\w/g, (char) => char.toUpperCase());\r\n\r\nconst compareValue = (a, b) => {\r\n if (a == null && b == null) return 0;\r\n if (a == null) return -1;\r\n if (b == null) return 1;\r\n\r\n if (typeof a === \"number\" && typeof b === \"number\") {\r\n return a - b;\r\n }\r\n\r\n return String(a).localeCompare(String(b), \"id\", {\r\n numeric: true,\r\n sensitivity: \"base\",\r\n });\r\n};\r\n\r\nconst getColumnWidth = (column) =>\r\n Number(column.width ?? column.minWidth ?? DEFAULT_COLUMN_WIDTH);\r\n\r\nconst getStickyLeft = (widths, index) =>\r\n widths.slice(0, index).reduce((sum, width) => sum + width, 0);\r\n\r\nconst getStickyRight = (widths, index) =>\r\n widths.slice(index + 1).reduce((sum, width) => sum + width, 0);\r\n\r\nconst normalizeColumn = (column, index, sortingEnabled) => {\r\n if (typeof column === \"string\") {\r\n return {\r\n id: getLastPathSegment(column) || `column-${index}`,\r\n key: column,\r\n accessorKey: column,\r\n header: formatHeader(column),\r\n width: DEFAULT_COLUMN_WIDTH,\r\n sortable: sortingEnabled,\r\n align: \"left\",\r\n headerAlign: \"center\",\r\n };\r\n }\r\n\r\n const accessorKey = column.accessorKey ?? column.key ?? column.field ?? column.id;\r\n const id = column.id ?? getLastPathSegment(accessorKey) ?? `column-${index}`;\r\n\r\n return {\r\n width: DEFAULT_COLUMN_WIDTH,\r\n align: \"left\",\r\n ...column,\r\n id,\r\n key: accessorKey,\r\n accessorKey,\r\n header: column.header ?? column.label ?? formatHeader(accessorKey ?? id),\r\n headerAlign: column.headerAlign ?? column.align ?? \"center\",\r\n sortable: column.sortable ?? sortingEnabled,\r\n };\r\n};\r\n\r\nconst normalizeHeaderRows = (header, columns) => {\r\n if (Array.isArray(header) && header.length > 0) {\r\n return header;\r\n }\r\n\r\n return [\r\n columns.map((column) => ({\r\n id: column.id,\r\n key: column.id,\r\n label: column.header,\r\n align: column.headerAlign ?? column.align ?? \"center\",\r\n rowSpan: 1,\r\n })),\r\n ];\r\n};\r\n\r\nconst buildHeaderLayout = (headerRows) => {\r\n const occupied = [];\r\n\r\n return headerRows.map((row, rowIndex) => {\r\n occupied[rowIndex] ??= [];\r\n let pointer = 0;\r\n\r\n return row.map((cell, cellIndex) => {\r\n while (occupied[rowIndex][pointer]) pointer += 1;\r\n\r\n const colSpan = cell.colSpan ?? cell.colspan ?? 1;\r\n const rowSpan = cell.rowSpan ?? cell.rowspan ?? 1;\r\n const start = pointer;\r\n\r\n for (let r = rowIndex; r < rowIndex + rowSpan; r += 1) {\r\n occupied[r] ??= [];\r\n for (let c = start; c < start + colSpan; c += 1) {\r\n occupied[r][c] = true;\r\n }\r\n }\r\n\r\n pointer = start + colSpan;\r\n\r\n return {\r\n ...cell,\r\n id: cell.id ?? cell.key ?? `${rowIndex}-${cellIndex}`,\r\n colSpan,\r\n rowSpan,\r\n start,\r\n end: start + colSpan - 1,\r\n };\r\n });\r\n });\r\n};\r\n\r\nconst getCellValue = (row, column) => {\r\n if (typeof column.accessorFn === \"function\") return column.accessorFn(row);\r\n if (column.accessorKey) return getValueByPath(row, column.accessorKey);\r\n if (column.key) return getValueByPath(row, column.key);\r\n return row?.[column.id];\r\n};\r\n\r\nconst getHeaderCellWidth = (columns, cell) =>\r\n columns\r\n .slice(cell.start, cell.end + 1)\r\n .reduce((sum, column) => sum + getColumnWidth(column), 0);\r\n\r\nconst renderSortIcon = (sortKey, sortState) => {\r\n const idleColor = DerivedColor.color_text_inverse;\r\n const activeColor = DerivedColor.color_text_inverse;\r\n\r\n if (!sortState || sortState.key !== sortKey) {\r\n return <IconArrowsUpDown size={16} color={idleColor} />;\r\n }\r\n\r\n return sortState.direction === \"asc\" ? (\r\n <IconArrowUp size={16} color={activeColor} />\r\n ) : (\r\n <IconArrowDown size={16} color={activeColor} />\r\n );\r\n};\r\n\r\nconst getSortField = (column) =>\r\n column.sortField ?? column.accessorKey ?? column.key ?? column.id;\r\n\r\nexport const BaseDatatable = ({\r\n columns = EMPTY_ARRAY,\r\n data = EMPTY_ARRAY,\r\n header,\r\n features = EMPTY_OBJECT,\r\n layout = EMPTY_OBJECT,\r\n selection = EMPTY_OBJECT,\r\n pagination = EMPTY_OBJECT,\r\n renderRow,\r\n onRowClick,\r\n getRowId,\r\n emptyState = \"Tidak ada data\",\r\n loading = false,\r\n loadingText = \"Memuat data...\",\r\n rowHover = true,\r\n activeRowId = null,\r\n containerSx = EMPTY_OBJECT,\r\n tableSx = EMPTY_OBJECT,\r\n}) => {\r\n const featureConfig = useMemo(\r\n () => ({\r\n sorting: false,\r\n sortingMode: \"client\",\r\n defaultSort: null,\r\n sortState: undefined,\r\n resetPageOnSort: true,\r\n onSortChange: undefined,\r\n headerInteractive: undefined,\r\n ...features,\r\n }),\r\n [features],\r\n );\r\n\r\n const layoutConfig = useMemo(\r\n () => ({\r\n stickyHeader: true,\r\n stickyOffset: 0,\r\n freezeLeft: 0,\r\n freezeRight: 0,\r\n maxHeight: 600,\r\n ...layout,\r\n }),\r\n [layout],\r\n );\r\n\r\n const selectionConfig = useMemo(\r\n () => ({\r\n enabled: false,\r\n position: \"left\",\r\n selectRowOnClick: true,\r\n defaultSelectedRowIds: EMPTY_ARRAY,\r\n ...selection,\r\n }),\r\n [selection],\r\n );\r\n\r\n const paginationConfig = useMemo(\r\n () => ({\r\n enabled: false,\r\n serverSide: false,\r\n rowsPerPage: 5,\r\n rowsPerPageOptions: [5, 10, 25],\r\n labelRowsPerPage: \"Rows per page:\",\r\n ...pagination,\r\n }),\r\n [pagination],\r\n );\r\n\r\n const [internalSortState, setInternalSortState] = useState(\r\n featureConfig.defaultSort,\r\n );\r\n const [internalSelectedIds, setInternalSelectedIds] = useState(\r\n selectionConfig.defaultSelectedRowIds,\r\n );\r\n const [internalPage, setInternalPage] = useState(paginationConfig.page ?? 0);\r\n const [internalRowsPerPage, setInternalRowsPerPage] = useState(\r\n paginationConfig.rowsPerPage,\r\n );\r\n\r\n const controlledSelectedIds = selectionConfig.selectedRowIds;\r\n const onSelectionChange = selectionConfig.onChange;\r\n const isRowSelectable = selectionConfig.isRowSelectable;\r\n const selectionPosition = selectionConfig.position;\r\n const selectedIds = controlledSelectedIds ?? internalSelectedIds;\r\n const sortState = featureConfig.sortState ?? internalSortState;\r\n const currentPage = pagination.page ?? internalPage;\r\n const currentRowsPerPage = pagination.rowsPerPage ?? internalRowsPerPage;\r\n const isHeaderInteractive =\r\n typeof featureConfig.headerInteractive === \"boolean\"\r\n ? featureConfig.headerInteractive\r\n : featureConfig.sorting;\r\n\r\n const normalizedColumns = useMemo(\r\n () =>\r\n columns.map((column, index) =>\r\n normalizeColumn(column, index, featureConfig.sorting),\r\n ),\r\n [columns, featureConfig.sorting],\r\n );\r\n\r\n const selectionColumn = useMemo(\r\n () => ({\r\n id: \"__selection__\",\r\n key: \"__selection__\",\r\n header: \"\",\r\n width: SELECTION_COLUMN_WIDTH,\r\n minWidth: SELECTION_COLUMN_WIDTH,\r\n align: \"center\",\r\n headerAlign: \"center\",\r\n sortable: false,\r\n isSelection: true,\r\n sticky: selectionPosition === \"left\" ? \"left\" : \"right\",\r\n }),\r\n [selectionPosition],\r\n );\r\n\r\n const stickyLeftCount =\r\n layoutConfig.freezeLeft + (selectionConfig.enabled && selectionPosition === \"left\" ? 1 : 0);\r\n const stickyRightCount =\r\n layoutConfig.freezeRight +\r\n (selectionConfig.enabled && selectionPosition === \"right\" ? 1 : 0);\r\n\r\n const visibleColumns = useMemo(() => {\r\n if (!selectionConfig.enabled) return normalizedColumns;\r\n\r\n return selectionPosition === \"right\"\r\n ? [...normalizedColumns, selectionColumn]\r\n : [selectionColumn, ...normalizedColumns];\r\n }, [normalizedColumns, selectionColumn, selectionConfig.enabled, selectionPosition]);\r\n\r\n const columnWidths = useMemo(\r\n () => visibleColumns.map((column) => getColumnWidth(column)),\r\n [visibleColumns],\r\n );\r\n\r\n const resolveRowId = useCallback(\r\n (row, rowIndex) => getRowId?.(row, rowIndex) ?? row?.id ?? rowIndex,\r\n [getRowId],\r\n );\r\n\r\n const selectableRowIds = useMemo(() => {\r\n if (!selectionConfig.enabled) return EMPTY_ARRAY;\r\n\r\n return data.reduce((acc, row, rowIndex) => {\r\n const isSelectable = isRowSelectable ? isRowSelectable(row, rowIndex) : true;\r\n\r\n if (isSelectable) {\r\n acc.push(resolveRowId(row, rowIndex));\r\n }\r\n\r\n return acc;\r\n }, []);\r\n }, [data, isRowSelectable, resolveRowId, selectionConfig.enabled]);\r\n\r\n const allSelected =\r\n selectableRowIds.length > 0 &&\r\n selectableRowIds.every((rowId) => selectedIds.includes(rowId));\r\n\r\n const isIndeterminate =\r\n selectableRowIds.some((rowId) => selectedIds.includes(rowId)) && !allSelected;\r\n\r\n const updateSelection = useCallback(\r\n (nextSelectedIds) => {\r\n if (controlledSelectedIds === undefined) {\r\n setInternalSelectedIds(nextSelectedIds);\r\n }\r\n\r\n onSelectionChange?.(nextSelectedIds);\r\n },\r\n [controlledSelectedIds, onSelectionChange],\r\n );\r\n\r\n const toggleAllRows = useCallback(() => {\r\n updateSelection(allSelected ? [] : selectableRowIds);\r\n }, [allSelected, selectableRowIds, updateSelection]);\r\n\r\n const toggleRow = useCallback(\r\n (rowId) => {\r\n const nextSelectedIds = selectedIds.includes(rowId)\r\n ? selectedIds.filter((id) => id !== rowId)\r\n : [...selectedIds, rowId];\r\n\r\n updateSelection(nextSelectedIds);\r\n },\r\n [selectedIds, updateSelection],\r\n );\r\n\r\n const headerRows = useMemo(\r\n () => normalizeHeaderRows(header, normalizedColumns),\r\n [header, normalizedColumns],\r\n );\r\n\r\n const headerLayout = useMemo(() => buildHeaderLayout(headerRows), [headerRows]);\r\n const headerDepth = headerLayout.length;\r\n\r\n const rowsForHeader = useMemo(() => {\r\n if (!selectionConfig.enabled) return headerLayout;\r\n\r\n const selectionIndex = selectionPosition === \"right\" ? visibleColumns.length - 1 : 0;\r\n\r\n const selectionHeaderCell = {\r\n id: selectionColumn.id,\r\n key: selectionColumn.key,\r\n label: (\r\n <Checkbox\r\n checked={allSelected}\r\n indeterminate={isIndeterminate}\r\n onChange={toggleAllRows}\r\n onClick={(event) => event.stopPropagation()}\r\n icon={<IconSquare size={22} color={DerivedColor.color_text_inverse} />}\r\n checkedIcon={<IconSquareCheckFilled size={22} color={DerivedColor.color_text_inverse} />}\r\n indeterminateIcon={<IconSquareMinusFilled size={22} color={DerivedColor.color_text_inverse} />}\r\n sx={{ color: DerivedColor.color_text_inverse }}\r\n />\r\n ),\r\n align: \"center\",\r\n rowSpan: headerDepth,\r\n colSpan: 1,\r\n start: selectionIndex,\r\n end: selectionIndex,\r\n sticky: selectionPosition,\r\n width: selectionColumn.width,\r\n minWidth: selectionColumn.minWidth,\r\n isSelection: true,\r\n };\r\n\r\n return headerLayout.map((row, rowIndex) => {\r\n const shiftedRow = row.map((cell) => ({\r\n ...cell,\r\n start: selectionPosition === \"left\" ? cell.start + 1 : cell.start,\r\n end: selectionPosition === \"left\" ? cell.end + 1 : cell.end,\r\n }));\r\n\r\n if (rowIndex !== 0) return shiftedRow;\r\n\r\n return selectionPosition === \"right\"\r\n ? [...shiftedRow, selectionHeaderCell]\r\n : [selectionHeaderCell, ...shiftedRow];\r\n });\r\n }, [\r\n allSelected,\r\n headerDepth,\r\n headerLayout,\r\n isIndeterminate,\r\n selectionColumn,\r\n selectionConfig.enabled,\r\n selectionPosition,\r\n toggleAllRows,\r\n visibleColumns.length,\r\n ]);\r\n\r\n const sortedData = useMemo(() => {\r\n if (!featureConfig.sorting || !sortState?.key) return data;\r\n if (featureConfig.sortingMode === \"server\") return data;\r\n\r\n const targetColumn = normalizedColumns.find((column) => column.id === sortState.key);\r\n if (!targetColumn) return data;\r\n\r\n return [...data].sort((rowA, rowB) => {\r\n const result = compareValue(\r\n getCellValue(rowA, targetColumn),\r\n getCellValue(rowB, targetColumn),\r\n );\r\n\r\n return sortState.direction === \"asc\" ? result : result * -1;\r\n });\r\n }, [\r\n data,\r\n featureConfig.sorting,\r\n featureConfig.sortingMode,\r\n normalizedColumns,\r\n sortState,\r\n ]);\r\n\r\n const totalRowCount = paginationConfig.serverSide\r\n ? paginationConfig.count ?? data.length\r\n : sortedData.length;\r\n\r\n const displayedData = useMemo(() => {\r\n if (!paginationConfig.enabled) return sortedData;\r\n if (paginationConfig.serverSide) return sortedData;\r\n\r\n const startIndex = currentPage * currentRowsPerPage;\r\n return sortedData.slice(startIndex, startIndex + currentRowsPerPage);\r\n }, [\r\n currentPage,\r\n currentRowsPerPage,\r\n paginationConfig.enabled,\r\n paginationConfig.serverSide,\r\n sortedData,\r\n ]);\r\n\r\n const handlePaginationPageChange = useCallback(\r\n (event, nextPage) => {\r\n if (pagination.page === undefined) {\r\n setInternalPage(nextPage);\r\n }\r\n\r\n paginationConfig.onPageChange?.(event, nextPage);\r\n },\r\n [pagination.page, paginationConfig],\r\n );\r\n\r\n const handleRowsPerPageChange = useCallback(\r\n (event) => {\r\n const nextRowsPerPage = Number(event.target.value);\r\n\r\n if (pagination.rowsPerPage === undefined) {\r\n setInternalRowsPerPage(nextRowsPerPage);\r\n }\r\n\r\n if (pagination.page === undefined) {\r\n setInternalPage(0);\r\n }\r\n\r\n paginationConfig.onRowsPerPageChange?.(event, nextRowsPerPage);\r\n },\r\n [pagination.page, pagination.rowsPerPage, paginationConfig],\r\n );\r\n\r\n const handleSort = useCallback(\r\n (cell) => {\r\n if (!featureConfig.sorting) return;\r\n if ((cell.colSpan ?? 1) > 1 || (cell.rowSpan ?? 1) > 1) return;\r\n\r\n const sortKey = cell.sortKey ?? cell.key ?? cell.id;\r\n const targetColumn = normalizedColumns.find((column) => column.id === sortKey);\r\n\r\n if (!targetColumn?.sortable) return;\r\n\r\n const nextSort =\r\n sortState?.key === targetColumn.id\r\n ? {\r\n key: targetColumn.id,\r\n direction: sortState.direction === \"asc\" ? \"desc\" : \"asc\",\r\n }\r\n : {\r\n key: targetColumn.id,\r\n direction: \"asc\",\r\n };\r\n\r\n const nextPage =\r\n paginationConfig.enabled && featureConfig.resetPageOnSort ? 0 : currentPage;\r\n\r\n if (featureConfig.sortState === undefined) {\r\n setInternalSortState(nextSort);\r\n }\r\n\r\n if (paginationConfig.enabled && featureConfig.resetPageOnSort) {\r\n if (pagination.page === undefined) {\r\n setInternalPage(0);\r\n }\r\n\r\n if (currentPage !== 0) {\r\n paginationConfig.onPageChange?.(null, 0);\r\n }\r\n }\r\n\r\n featureConfig.onSortChange?.(\r\n {\r\n orderBy: getSortField(targetColumn),\r\n order: nextSort.direction,\r\n page: nextPage,\r\n rowsPerPage: currentRowsPerPage,\r\n },\r\n targetColumn,\r\n cell,\r\n );\r\n },\r\n [\r\n currentPage,\r\n currentRowsPerPage,\r\n featureConfig,\r\n normalizedColumns,\r\n pagination.page,\r\n paginationConfig,\r\n sortState,\r\n ],\r\n );\r\n\r\n const renderBodyCell = useCallback(\r\n (\r\n column,\r\n row,\r\n rowIndex,\r\n columnIndex,\r\n rowId,\r\n rowActive,\r\n cellOverrides = EMPTY_OBJECT,\r\n ) => {\r\n const resolvedColumn =\r\n column.isSelection || column.id === selectionColumn.id\r\n ? selectionColumn\r\n : visibleColumns.find((item) => item.id === column.id) ?? column;\r\n\r\n if (resolvedColumn.isSelection) {\r\n const isSelectable = isRowSelectable ? isRowSelectable(row, rowIndex) : true;\r\n\r\n return (\r\n <TableCell\r\n key={`${rowId}-${resolvedColumn.id}-${columnIndex}`}\r\n align=\"center\"\r\n rowSpan={cellOverrides.rowSpan}\r\n colSpan={cellOverrides.colSpan}\r\n sx={{\r\n minWidth: resolvedColumn.width,\r\n width: resolvedColumn.width,\r\n maxWidth: resolvedColumn.width,\r\n backgroundColor: rowActive ? COLORS.rowHoverBg : COLORS.bodyBg,\r\n borderBottom: `1px solid ${COLORS.bodyBorder}`,\r\n borderRight: `1px solid ${COLORS.bodyBorder}`,\r\n position: \"sticky\",\r\n left:\r\n selectionPosition === \"left\"\r\n ? getStickyLeft(columnWidths, columnIndex)\r\n : \"auto\",\r\n right:\r\n selectionPosition === \"right\"\r\n ? getStickyRight(columnWidths, columnIndex)\r\n : \"auto\",\r\n zIndex: 3,\r\n boxShadow:\r\n selectionPosition === \"left\" &&\r\n columnIndex === stickyLeftCount - 1\r\n ? `2px 0 6px ${COLORS.stickyShadow}`\r\n : selectionPosition === \"right\" &&\r\n columnIndex === visibleColumns.length - stickyRightCount\r\n ? `-2px 0 6px ${COLORS.stickyShadow}`\r\n : \"none\",\r\n ...cellOverrides.sx,\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\",\r\n }}\r\n onClick={(event) => event.stopPropagation()}\r\n >\r\n <Checkbox\r\n checked={selectedIds.includes(rowId)}\r\n disabled={!isSelectable}\r\n onChange={() => toggleRow(rowId)}\r\n onClick={(event) => event.stopPropagation()}\r\n icon={<IconSquare size={22} color={DerivedColor.color_border_default} />}\r\n checkedIcon={<IconSquareCheckFilled size={22} color={DerivedColor.color_bg_brand_primary} />}\r\n />\r\n </Box>\r\n </TableCell>\r\n );\r\n }\r\n\r\n const value = getCellValue(row, resolvedColumn);\r\n const shouldStickLeft =\r\n resolvedColumn.sticky === \"left\" || columnIndex < stickyLeftCount;\r\n const shouldStickRight =\r\n resolvedColumn.sticky === \"right\" ||\r\n columnIndex >= visibleColumns.length - stickyRightCount;\r\n\r\n return (\r\n <TableCell\r\n key={`${rowId}-${resolvedColumn.id}-${columnIndex}`}\r\n align={resolvedColumn.align ?? \"left\"}\r\n rowSpan={cellOverrides.rowSpan}\r\n colSpan={cellOverrides.colSpan}\r\n sx={{\r\n minWidth: getColumnWidth(resolvedColumn),\r\n width: getColumnWidth(resolvedColumn),\r\n maxWidth: getColumnWidth(resolvedColumn),\r\n backgroundColor:\r\n resolvedColumn.cellBg ?? (rowActive ? COLORS.rowHoverBg : COLORS.bodyBg),\r\n color: resolvedColumn.cellText ?? COLORS.bodyText,\r\n borderBottom: `1px solid ${COLORS.bodyBorder}`,\r\n borderRight: `1px solid ${COLORS.bodyBorder}`,\r\n whiteSpace: resolvedColumn.noWrap ? \"nowrap\" : \"normal\",\r\n boxSizing: \"border-box\",\r\n position: shouldStickLeft || shouldStickRight ? \"sticky\" : \"static\",\r\n left: shouldStickLeft ? getStickyLeft(columnWidths, columnIndex) : \"auto\",\r\n right: shouldStickRight ? getStickyRight(columnWidths, columnIndex) : \"auto\",\r\n zIndex: shouldStickLeft || shouldStickRight ? 2 : 1,\r\n boxShadow:\r\n shouldStickLeft && columnIndex === stickyLeftCount - 1\r\n ? `2px 0 6px ${COLORS.stickyShadow}`\r\n : shouldStickRight &&\r\n columnIndex === visibleColumns.length - stickyRightCount\r\n ? `-2px 0 6px ${COLORS.stickyShadow}`\r\n : \"none\",\r\n ...resolvedColumn.cellSx,\r\n ...cellOverrides.sx,\r\n }}\r\n >\r\n {cellOverrides.content ??\r\n (typeof resolvedColumn.renderCell === \"function\"\r\n ? resolvedColumn.renderCell({\r\n value,\r\n row,\r\n rowIndex,\r\n column: resolvedColumn,\r\n columnIndex,\r\n checked: selectedIds.includes(rowId),\r\n })\r\n : (value ?? \"-\"))}\r\n </TableCell>\r\n );\r\n },\r\n [\r\n columnWidths,\r\n isRowSelectable,\r\n selectedIds,\r\n selectionColumn,\r\n selectionPosition,\r\n stickyLeftCount,\r\n stickyRightCount,\r\n toggleRow,\r\n visibleColumns,\r\n ],\r\n );\r\n\r\n return (\r\n <Paper\r\n sx={{\r\n width: \"100%\",\r\n border: `1px solid ${COLORS.bodyBorder}`,\r\n borderRadius: 2,\r\n boxShadow: \"none\",\r\n }}\r\n >\r\n <TableContainer\r\n sx={{\r\n width: \"100%\",\r\n maxHeight: layoutConfig.maxHeight,\r\n overflow: \"auto\",\r\n ...containerSx,\r\n }}\r\n >\r\n <Table\r\n stickyHeader={false}\r\n sx={{\r\n width: \"100%\",\r\n borderCollapse: \"separate\",\r\n borderSpacing: 0,\r\n tableLayout: \"fixed\",\r\n minWidth: \"max-content\",\r\n ...tableSx,\r\n }}\r\n >\r\n <TableHead>\r\n {rowsForHeader.map((row, rowIndex) => (\r\n <TableRow key={`header-${rowIndex}`}>\r\n {row.map((cell) => {\r\n const sortKey = cell.sortKey ?? cell.key ?? cell.id;\r\n const targetColumn = normalizedColumns.find((column) => column.id === sortKey);\r\n const isSortable =\r\n featureConfig.sorting &&\r\n (cell.colSpan ?? 1) === 1 &&\r\n (cell.rowSpan ?? 1) === 1 &&\r\n targetColumn?.sortable;\r\n const shouldStickLeft =\r\n cell.sticky === \"left\" || cell.end < stickyLeftCount;\r\n const shouldStickRight =\r\n cell.sticky === \"right\" ||\r\n cell.start >= visibleColumns.length - stickyRightCount;\r\n const headerCellWidth = getHeaderCellWidth(visibleColumns, cell);\r\n\r\n return (\r\n <TableCell\r\n key={`${cell.id}-${rowIndex}-${cell.start}`}\r\n align={cell.align ?? \"center\"}\r\n rowSpan={cell.rowSpan}\r\n colSpan={cell.colSpan}\r\n onClick={() => {\r\n if (cell.isSelection) return;\r\n handleSort(cell);\r\n }}\r\n sx={{\r\n minWidth: cell.minWidth ?? headerCellWidth,\r\n width: cell.width ?? headerCellWidth,\r\n maxWidth: cell.width ?? headerCellWidth,\r\n height: HEADER_ROW_HEIGHT * (cell.rowSpan ?? 1),\r\n boxSizing: \"border-box\",\r\n backgroundColor: COLORS.headerBg,\r\n color: COLORS.headerText,\r\n fontWeight: 600,\r\n borderBottom: `1px solid ${COLORS.headerBorder}`,\r\n borderRight: `1px solid ${COLORS.headerBorder}`,\r\n position:\r\n layoutConfig.stickyHeader || shouldStickLeft || shouldStickRight\r\n ? \"sticky\"\r\n : \"static\",\r\n top: layoutConfig.stickyHeader\r\n ? layoutConfig.stickyOffset + rowIndex * HEADER_ROW_HEIGHT\r\n : \"auto\",\r\n left: shouldStickLeft ? getStickyLeft(columnWidths, cell.start) : \"auto\",\r\n right: shouldStickRight ? getStickyRight(columnWidths, cell.end) : \"auto\",\r\n zIndex:\r\n layoutConfig.stickyHeader && (shouldStickLeft || shouldStickRight)\r\n ? 40 - rowIndex\r\n : layoutConfig.stickyHeader\r\n ? 20 - rowIndex\r\n : shouldStickLeft || shouldStickRight\r\n ? 4\r\n : 1,\r\n cursor: isHeaderInteractive && isSortable ? \"pointer\" : \"default\",\r\n boxShadow:\r\n shouldStickLeft && cell.end === stickyLeftCount - 1\r\n ? `2px 0 6px ${COLORS.stickyShadow}`\r\n : shouldStickRight &&\r\n cell.start === visibleColumns.length - stickyRightCount\r\n ? `-2px 0 6px ${COLORS.stickyShadow}`\r\n : \"none\",\r\n // Border radius for first row corners\r\n ...(rowIndex === 0 && cell.start === 0 && { borderTopLeftRadius: 8 }),\r\n ...(rowIndex === 0 && cell.end === visibleColumns.length - 1 && { borderTopRightRadius: 8 }),\r\n \"&:hover\":\r\n isHeaderInteractive && isSortable\r\n ? {\r\n backgroundColor: COLORS.headerHoverBg,\r\n color: COLORS.headerHoverText,\r\n }\r\n : undefined,\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent:\r\n cell.align === \"left\"\r\n ? \"flex-start\"\r\n : cell.align === \"right\"\r\n ? \"flex-end\"\r\n : \"center\",\r\n gap: \"6px\",\r\n }}\r\n >\r\n {cell.label}\r\n {isSortable && renderSortIcon(sortKey, sortState)}\r\n </Box>\r\n </TableCell>\r\n );\r\n })}\r\n </TableRow>\r\n ))}\r\n </TableHead>\r\n\r\n <TableBody>\r\n {loading ? (\r\n <TableRow>\r\n <TableCell align=\"center\" colSpan={visibleColumns.length}>\r\n <Box\r\n sx={{\r\n minHeight: 120,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n gap: 1.5,\r\n color: COLORS.bodyText,\r\n }}\r\n >\r\n <CircularProgress size={20} />\r\n <span>{loadingText}</span>\r\n </Box>\r\n </TableCell>\r\n </TableRow>\r\n ) : displayedData.length === 0 ? (\r\n <TableRow>\r\n <TableCell align=\"center\" colSpan={visibleColumns.length}>\r\n {emptyState}\r\n </TableCell>\r\n </TableRow>\r\n ) : (\r\n displayedData.map((row, rowIndex) => {\r\n const rowId = resolveRowId(row, rowIndex);\r\n const rowActive = rowId === activeRowId;\r\n\r\n if (typeof renderRow === \"function\") {\r\n return renderRow({\r\n row,\r\n rowIndex,\r\n rowId,\r\n rowActive,\r\n columns: visibleColumns,\r\n dataColumns: normalizedColumns,\r\n selectedRowIds: selectedIds,\r\n renderCell: renderBodyCell,\r\n });\r\n }\r\n\r\n return (\r\n <TableRow\r\n key={rowId}\r\n hover={rowHover}\r\n onClick={(event) => {\r\n // Skip selection if click originated from interactive element (button, a, input, etc.)\r\n const target = event.target;\r\n const interactive = target.closest(\"button, a, input, [role='button'], .MuiCheckbox-root, .MuiIconButton-root\");\r\n if (interactive) return;\r\n\r\n if (selectionConfig.enabled && selectionConfig.selectRowOnClick) {\r\n const isSelectable = selectionConfig.isRowSelectable\r\n ? selectionConfig.isRowSelectable(row, rowIndex)\r\n : true;\r\n\r\n if (isSelectable) {\r\n toggleRow(rowId);\r\n }\r\n }\r\n\r\n onRowClick?.(row, rowIndex);\r\n }}\r\n sx={{\r\n cursor:\r\n onRowClick ||\r\n (selectionConfig.enabled && selectionConfig.selectRowOnClick)\r\n ? \"pointer\"\r\n : \"default\",\r\n \"&:hover td\": rowHover\r\n ? {\r\n backgroundColor: `${COLORS.rowHoverBg} !important`,\r\n }\r\n : undefined,\r\n }}\r\n >\r\n {visibleColumns.map((column, columnIndex) =>\r\n renderBodyCell(\r\n column,\r\n row,\r\n rowIndex,\r\n columnIndex,\r\n rowId,\r\n rowActive,\r\n ),\r\n )}\r\n </TableRow>\r\n );\r\n })\r\n )}\r\n </TableBody>\r\n </Table>\r\n </TableContainer>\r\n {paginationConfig.enabled && (\r\n <TablePagination\r\n component=\"div\"\r\n count={totalRowCount}\r\n page={currentPage}\r\n rowsPerPage={currentRowsPerPage}\r\n onPageChange={handlePaginationPageChange}\r\n onRowsPerPageChange={handleRowsPerPageChange}\r\n rowsPerPageOptions={paginationConfig.rowsPerPageOptions}\r\n labelRowsPerPage={paginationConfig.labelRowsPerPage}\r\n ActionsComponent={\r\n paginationConfig.serverSide\r\n ? (actionProps) => (\r\n <ServerSidePaginationActions\r\n {...actionProps}\r\n currentPageData={displayedData}\r\n />\r\n )\r\n : undefined\r\n }\r\n />\r\n )}\r\n </Paper>\r\n );\r\n};\r\n\r\nBaseDatatable.propTypes = {\r\n columns: PropTypes.array,\r\n data: PropTypes.array,\r\n header: PropTypes.array,\r\n features: PropTypes.object,\r\n layout: PropTypes.object,\r\n pagination: PropTypes.object,\r\n selection: PropTypes.object,\r\n renderRow: PropTypes.func,\r\n onRowClick: PropTypes.func,\r\n getRowId: PropTypes.func,\r\n emptyState: PropTypes.node,\r\n loading: PropTypes.bool,\r\n loadingText: PropTypes.node,\r\n rowHover: PropTypes.bool,\r\n activeRowId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n containerSx: PropTypes.object,\r\n tableSx: PropTypes.object,\r\n};\r\n\r\nexport default React.memo(BaseDatatable);\r\n","\"use client\";\r\nimport { useState, useRef, useMemo, useEffect } from \"react\";\r\nimport { useController } from \"react-hook-form\";\r\nimport dayjs from \"dayjs\";\r\nimport TextFieldRaw from \"@mui/material/TextField\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport PopoverRaw from \"@mui/material/Popover\";\r\nimport InputAdornmentRaw from \"@mui/material/InputAdornment\";\r\nimport IconButtonRaw from \"@mui/material/IconButton\";\r\nimport TypographyRaw from \"@mui/material/Typography\";\r\nimport { DatePicker as DatePickerRaw } from \"@mui/x-date-pickers/DatePicker\";\r\nimport { DateTimePicker as DateTimePickerRaw } from \"@mui/x-date-pickers/DateTimePicker\";\r\nimport { TimePicker as TimePickerRaw } from \"@mui/x-date-pickers/TimePicker\";\r\nimport { DateRange } from \"react-date-range\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport { IconCalendarWeekFilled } from \"@tabler/icons-react\";\r\nimport { id } from \"date-fns/locale\";\r\nimport \"react-date-range/dist/styles.css\";\r\nimport \"react-date-range/dist/theme/default.css\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\n\r\nconst TextField = TextFieldRaw?.default ?? TextFieldRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\nconst Popover = PopoverRaw?.default ?? PopoverRaw;\r\nconst InputAdornment = InputAdornmentRaw?.default ?? InputAdornmentRaw;\r\nconst IconButton = IconButtonRaw?.default ?? IconButtonRaw;\r\nconst Typography = TypographyRaw?.default ?? TypographyRaw;\r\nconst DatePicker = DatePickerRaw?.default ?? DatePickerRaw;\r\nconst DateTimePicker = DateTimePickerRaw?.default ?? DateTimePickerRaw;\r\nconst TimePicker = TimePickerRaw?.default ?? TimePickerRaw;\r\n\r\nexport const BaseDatePicker = ({\r\n type = \"single\",\r\n name,\r\n control,\r\n defaultValue,\r\n title,\r\n subtitle,\r\n placeholder,\r\n minDate,\r\n maxDate,\r\n isDisabled = false,\r\n clearable = false,\r\n editableDateInputs = false,\r\n format = \"DD/MM/YYYY\",\r\n openBy = \"field\",\r\n sx = {},\r\n onChange: onChangeCustom = () => {},\r\n ...props\r\n}) => {\r\n const { field, formState } = useController({\r\n name,\r\n control,\r\n defaultValue,\r\n });\r\n\r\n const errorMessage = formState.errors?.[name]?.message?.toString();\r\n const [open, setOpen] = useState(false);\r\n const inputRef = useRef(null);\r\n\r\n /* ================= RANGE ================= */\r\n const [rangeValue, setRangeValue] = useState(\r\n field.value ?? { startDate: null, endDate: null },\r\n );\r\n\r\n useEffect(() => {\r\n if (type === \"range\" && field.value) {\r\n setRangeValue(field.value);\r\n }\r\n }, [field.value, type]);\r\n\r\n const handleClear = (e) => {\r\n e?.stopPropagation();\r\n\r\n if (type === \"range\") {\r\n const empty = { startDate: null, endDate: null };\r\n setRangeValue(empty);\r\n field.onChange(empty);\r\n onChangeCustom(empty);\r\n } else {\r\n field.onChange(null);\r\n onChangeCustom(null);\r\n }\r\n };\r\n\r\n /* ================= PICKER CONFIG ================= */\r\n const pickerConfig = useMemo(() => {\r\n switch (type) {\r\n case \"day\":\r\n return {\r\n views: [\"day\"],\r\n openTo: \"day\",\r\n inputFormat: \"DD\",\r\n };\r\n\r\n case \"month\":\r\n return {\r\n views: [\"month\"],\r\n openTo: \"month\",\r\n inputFormat: \"MMMM\",\r\n };\r\n\r\n case \"year\":\r\n return {\r\n views: [\"year\"],\r\n openTo: \"year\",\r\n inputFormat: \"YYYY\",\r\n };\r\n\r\n case \"datetime\":\r\n return {\r\n component: DateTimePicker,\r\n views: [\"year\", \"month\", \"day\", \"hours\", \"minutes\"],\r\n openTo: \"day\",\r\n inputFormat: \"DD/MM/YYYY HH:mm\",\r\n };\r\n\r\n case \"time\":\r\n return {\r\n component: TimePicker,\r\n views: [\"hours\", \"minutes\", \"seconds\"],\r\n openTo: \"hours\",\r\n inputFormat: \"HH:mm:ss\",\r\n };\r\n\r\n default:\r\n return {\r\n views: [\"year\", \"month\", \"day\"],\r\n openTo: \"day\",\r\n inputFormat: format,\r\n };\r\n }\r\n }, [type, format]);\r\n\r\n /* ================= LABEL SECTION ================= */\r\n const LabelSection = () => {\r\n if (!title && !subtitle) return null;\r\n return (\r\n <Box sx={{ display: \"flex\", gap: SpacingToken.spacing2, px: SpacingToken.spacing2, mb: \"4px\" }}>\r\n {title && (\r\n <Typography variant=\"body2\" sx={{ fontWeight: 600, color: DerivedColor.color_text_default }}>\r\n {title}\r\n </Typography>\r\n )}\r\n {subtitle && (\r\n <Typography variant=\"body2\" sx={{ color: DerivedColor.color_text_subtle }}>\r\n {subtitle}\r\n </Typography>\r\n )}\r\n </Box>\r\n );\r\n };\r\n\r\n /* ================= RANGE RENDER ================= */\r\n if (type === \"range\") {\r\n return (\r\n <Box sx={sx}>\r\n <LabelSection />\r\n\r\n <TextField\r\n inputRef={inputRef}\r\n fullWidth\r\n size=\"small\"\r\n placeholder={placeholder}\r\n value={\r\n rangeValue.startDate && rangeValue.endDate\r\n ? `${dayjs(rangeValue.startDate).format(format)} - ${dayjs(\r\n rangeValue.endDate,\r\n ).format(format)}`\r\n : \"\"\r\n }\r\n onClick={() => !isDisabled && (openBy === \"field\" || openBy === \"both\") && setOpen(true)}\r\n disabled={isDisabled}\r\n sx={{\r\n \"& .MuiOutlinedInput-root\": {\r\n borderRadius: Radius.radius_2,\r\n cursor: (openBy === \"field\" || openBy === \"both\") ? \"pointer\" : \"default\",\r\n },\r\n }}\r\n InputProps={{\r\n readOnly: true,\r\n endAdornment: (\r\n <InputAdornment position=\"end\">\r\n <IconButton\r\n size=\"small\"\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n if (!isDisabled && (openBy === \"icon\" || openBy === \"both\")) setOpen(true);\r\n }}\r\n disabled={isDisabled}\r\n sx={{ p: \"4px\" }}\r\n >\r\n <IconCalendarWeekFilled size={20} color={DerivedColor.color_icon_brand_primary} />\r\n </IconButton>\r\n </InputAdornment>\r\n ),\r\n }}\r\n />\r\n\r\n <Popover\r\n open={open}\r\n anchorEl={inputRef.current}\r\n onClose={() => setOpen(false)}\r\n >\r\n <DateRange\r\n locale={id}\r\n editableDateInputs={editableDateInputs}\r\n ranges={[\r\n {\r\n ...rangeValue,\r\n key: \"selection\",\r\n },\r\n ]}\r\n onChange={(item) => {\r\n setRangeValue(item.selection);\r\n field.onChange(item.selection);\r\n onChangeCustom(item.selection);\r\n }}\r\n minDate={minDate}\r\n maxDate={maxDate}\r\n {...props}\r\n />\r\n </Popover>\r\n </Box>\r\n );\r\n }\r\n\r\n /* ================= NORMAL PICKERS ================= */\r\n const PickerComponent = pickerConfig.component ?? DatePicker;\r\n\r\n return (\r\n <Box sx={sx}>\r\n <LabelSection />\r\n\r\n <PickerComponent\r\n {...field}\r\n value={field.value ?? null}\r\n open={open}\r\n onOpen={() => {}}\r\n onClose={() => setOpen(false)}\r\n views={pickerConfig.views}\r\n openTo={pickerConfig.openTo}\r\n inputFormat={pickerConfig.inputFormat}\r\n minDate={minDate ? dayjs(minDate) : undefined}\r\n maxDate={maxDate ? dayjs(maxDate) : undefined}\r\n disabled={isDisabled}\r\n disableOpenPicker={openBy === \"field\"}\r\n components={{\r\n OpenPickerIcon: () => (\r\n <IconButton\r\n size=\"small\"\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n if (!isDisabled && (openBy === \"icon\" || openBy === \"both\")) setOpen(true);\r\n }}\r\n disabled={isDisabled}\r\n sx={{ p: 0 }}\r\n >\r\n <IconCalendarWeekFilled size={20} color={DerivedColor.color_icon_brand_primary} />\r\n </IconButton>\r\n ),\r\n }}\r\n onChange={(newValue) => {\r\n field.onChange(newValue);\r\n onChangeCustom(newValue);\r\n }}\r\n renderInput={(params) => (\r\n <TextField\r\n {...params}\r\n size=\"small\"\r\n fullWidth\r\n placeholder={placeholder}\r\n error={!!errorMessage}\r\n helperText={errorMessage}\r\n onClick={() => {\r\n if (!isDisabled && (openBy === \"field\" || openBy === \"both\")) setOpen(true);\r\n }}\r\n sx={{\r\n \"& .MuiOutlinedInput-root\": {\r\n borderRadius: Radius.radius_2,\r\n backgroundColor: DerivedColor.color_bg_surface,\r\n cursor: (openBy === \"field\" || openBy === \"both\") ? \"pointer\" : \"default\",\r\n\r\n \"& fieldset\": {\r\n borderColor: errorMessage\r\n ? DerivedColor.color_border_danger\r\n : DerivedColor.color_border_default,\r\n },\r\n\r\n \"&:hover fieldset\": {\r\n borderColor: DerivedColor.color_border_brand_primary,\r\n },\r\n\r\n \"&.Mui-focused fieldset\": {\r\n borderColor: DerivedColor.color_border_brand_primary,\r\n borderWidth: 2,\r\n },\r\n },\r\n\r\n \"& .MuiInputBase-input\": {\r\n padding: `${SpacingToken.spacing2} ${SpacingToken.spacing3}`,\r\n fontSize: \"14px\",\r\n },\r\n\r\n \"& .MuiFormHelperText-root\": {\r\n marginLeft: 0,\r\n },\r\n }}\r\n InputProps={{\r\n ...params.InputProps,\r\n endAdornment: (\r\n <>\r\n {clearable && field.value && (\r\n <InputAdornment position=\"end\">\r\n <IconButton\r\n size=\"small\"\r\n onClick={handleClear}\r\n sx={{ color: DerivedColor.color_icon_subtle }}\r\n >\r\n <CloseIcon fontSize=\"small\" />\r\n </IconButton>\r\n </InputAdornment>\r\n )}\r\n {params.InputProps?.endAdornment}\r\n </>\r\n ),\r\n }}\r\n />\r\n )}\r\n />\r\n </Box>\r\n );\r\n};\r\n","\"use client\";\r\nimport Select, { components } from \"react-select\";\r\nimport AsyncSelect from \"react-select/async\";\r\nimport { useController } from \"react-hook-form\";\r\nimport { ErrorMessage } from \"@hookform/error-message\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport ChipRaw from \"@mui/material/Chip\";\r\nimport TypographyRaw from \"@mui/material/Typography\";\r\n\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\nimport { BaseCheckbox } from \"@/components/molecules/checkbox/checkbox\";\r\n\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\nconst Chip = ChipRaw?.default ?? ChipRaw;\r\nconst Typography = TypographyRaw?.default ?? TypographyRaw;\r\n\r\n/* ================= CHECKBOX OPTION ================= */\r\nconst CheckboxOption = (props) => {\r\n const { isSelected, label, selectOption, data } = props;\r\n\r\n const handleChange = () => {\r\n selectOption(data);\r\n };\r\n\r\n return (\r\n <components.Option {...props}>\r\n <BaseCheckbox\r\n checked={isSelected}\r\n onChange={handleChange}\r\n label={label}\r\n disabled={data?.disabled}\r\n />\r\n </components.Option>\r\n );\r\n};\r\n\r\nexport const BaseDropdown = ({\r\n name = \"\",\r\n control,\r\n options = [],\r\n loadOptions,\r\n isMulti = false,\r\n isSearchable = true,\r\n showChip = false,\r\n showSelectAll = false,\r\n title,\r\n subtitle,\r\n defaultValue,\r\n isDisabled,\r\n isClearable = true,\r\n preventOverflow = false,\r\n optionColors = [\r\n PrimitiveColor.color_blue_cakrawala_100,\r\n PrimitiveColor.color_yellow_100,\r\n PrimitiveColor.color_green_100,\r\n PrimitiveColor.color_red_100,\r\n PrimitiveColor.color_blue_mentari_100,\r\n ],\r\n variant = \"select\",\r\n sx = {},\r\n ...props\r\n}) => {\r\n const { field, formState } = useController({\r\n name,\r\n control,\r\n defaultValue:\r\n defaultValue ?? (variant === \"checkbox\" || isMulti ? [] : null),\r\n });\r\n\r\n const SelectComponent = loadOptions ? AsyncSelect : Select;\r\n const hasError = !!formState.errors?.[name];\r\n\r\n const selectedValues = Array.isArray(field.value)\r\n ? field.value\r\n : field.value\r\n ? [field.value]\r\n : [];\r\n\r\n const isCheckboxMode = variant === \"checkbox\";\r\n\r\n /* ================= SELECT ALL ================= */\r\n const selectAllChecked =\r\n showSelectAll &&\r\n selectedValues.length === options.length &&\r\n options.length > 0;\r\n\r\n const selectAllIndeterminate =\r\n showSelectAll &&\r\n selectedValues.length > 0 &&\r\n selectedValues.length < options.length;\r\n\r\n const handleSelectAll = (checked) => {\r\n field.onChange(checked ? options : []);\r\n };\r\n\r\n /* ================= CHANGE ================= */\r\n const handleChange = (val) => {\r\n field.onChange(val);\r\n props.onChange?.(val);\r\n };\r\n\r\n /* ================= STYLES ================= */\r\n const customStyles = {\r\n control: (base, state) => ({\r\n ...base,\r\n borderRadius: Radius.radius_2,\r\n backgroundColor: isDisabled\r\n ? PrimitiveColor.color_neutral_200\r\n : PrimitiveColor.color_neutral_50,\r\n border: hasError\r\n ? `1px solid ${PrimitiveColor.color_red_500}`\r\n : state.isFocused\r\n ? `1px solid ${PrimitiveColor.color_blue_cakrawala_500}`\r\n : `1px solid ${PrimitiveColor.color_neutral_300}`,\r\n boxShadow: \"none\",\r\n ...(preventOverflow && { maxHeight: 120, overflowY: \"auto\" }),\r\n }),\r\n\r\n option: (base, state) => ({\r\n ...base,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n fontSize: 14,\r\n\r\n backgroundColor: isCheckboxMode\r\n ? state.isFocused\r\n ? PrimitiveColor.color_blue_cakrawala_100\r\n : \"transparent\"\r\n : state.isSelected\r\n ? PrimitiveColor.color_blue_cakrawala_500\r\n : state.isFocused\r\n ? PrimitiveColor.color_blue_cakrawala_100\r\n : \"transparent\",\r\n\r\n color: isCheckboxMode\r\n ? PrimitiveColor.color_neutral_900\r\n : state.isSelected\r\n ? PrimitiveColor.color_neutral_50\r\n : PrimitiveColor.color_neutral_900,\r\n\r\n \":active\": {\r\n backgroundColor: isCheckboxMode\r\n ? PrimitiveColor.color_blue_cakrawala_100\r\n : PrimitiveColor.color_blue_cakrawala_500,\r\n color: isCheckboxMode\r\n ? PrimitiveColor.color_neutral_900\r\n : PrimitiveColor.color_neutral_50,\r\n },\r\n }),\r\n\r\n multiValue: (base, { index }) => ({\r\n ...base,\r\n borderRadius: Radius.radius_2,\r\n backgroundColor: optionColors[index % optionColors.length],\r\n }),\r\n };\r\n\r\n return (\r\n <Box\r\n sx={{\r\n width: 356,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: SpacingToken.spacing2,\r\n ...sx,\r\n }}\r\n >\r\n {(title || subtitle || showSelectAll) && (\r\n <Box sx={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: SpacingToken.spacing2 }}>\r\n {title && (\r\n <Typography variant=\"body2\" sx={{ fontWeight: 600, color: DerivedColor.color_text_default }}>\r\n {title}\r\n </Typography>\r\n )}\r\n {subtitle && (\r\n <Typography variant=\"body2\" sx={{ color: DerivedColor.color_text_subtle }}>\r\n {subtitle}\r\n </Typography>\r\n )}\r\n </Box>\r\n\r\n {showSelectAll && (\r\n <BaseCheckbox\r\n checked={selectAllChecked}\r\n onChange={handleSelectAll}\r\n label=\"Select All\"\r\n indeterminate={selectAllIndeterminate}\r\n />\r\n )}\r\n </Box>\r\n )}\r\n\r\n <SelectComponent\r\n {...props}\r\n name={field.name}\r\n inputRef={field.ref}\r\n onBlur={field.onBlur}\r\n isMulti={isCheckboxMode ? true : isMulti}\r\n isSearchable={isSearchable}\r\n isDisabled={isDisabled}\r\n isClearable={isClearable}\r\n styles={customStyles}\r\n options={options}\r\n loadOptions={loadOptions}\r\n value={field.value}\r\n onChange={handleChange}\r\n closeMenuOnSelect={isCheckboxMode ? false : true}\r\n hideSelectedOptions={isCheckboxMode ? false : isMulti ? true : false}\r\n components={\r\n isCheckboxMode\r\n ? {\r\n Option: CheckboxOption,\r\n IndicatorSeparator: null,\r\n }\r\n : {\r\n IndicatorSeparator: null,\r\n }\r\n }\r\n />\r\n\r\n {showChip && isMulti && !isCheckboxMode && (\r\n <Box sx={{ display: \"flex\", flexWrap: \"wrap\", gap: 1, mt: 1 }}>\r\n {selectedValues.map((option) => (\r\n <Chip\r\n key={option.value}\r\n label={option.label}\r\n size=\"small\"\r\n onDelete={() =>\r\n field.onChange(\r\n selectedValues.filter((v) => v.value !== option.value),\r\n )\r\n }\r\n />\r\n ))}\r\n </Box>\r\n )}\r\n\r\n <ErrorMessage\r\n errors={formState.errors}\r\n name={name}\r\n render={({ message }) => (\r\n <Typography\r\n variant=\"caption\"\r\n sx={{ color: DerivedColor.color_text_danger, fontSize: 12 }}\r\n >\r\n {message}\r\n </Typography>\r\n )}\r\n />\r\n </Box>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport { useEffect, useState } from \"react\";\r\nimport Dropzone from \"react-dropzone\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\n\r\nimport { BaseButton } from \"@/components/atoms/buttons/button\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { VariantStyles } from \"@/components/atoms/typography/typography\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\n\r\nimport { IconUpload, IconXboxXFilled, IconAlertTriangle, IconTrash } from \"@tabler/icons-react\";\r\nimport { IconFileJPG } from \"@/components/legacy/atoms/icons/fileJPG\";\r\nimport { IconFilePDF } from \"@/components/legacy/atoms/icons/filePDF\";\r\nimport { IconFileCSV } from \"@/components/legacy/atoms/icons/fileCSV\";\r\n\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\n\r\nexport const BaseDropzone = ({\r\n autoUpload = false,\r\n settings = {\r\n allowedExtensions: {},\r\n maxSize: 5,\r\n maxFiles: 1,\r\n isImagePreview: true,\r\n previewType: \"grid\",\r\n },\r\n labels = {\r\n title: \"\",\r\n dropzoneTitle: \"Drag & Drop File\",\r\n titleButton: \"Pilih File\",\r\n allowedFileLabel: \"\",\r\n },\r\n callbacks = {\r\n uploadFile: null,\r\n removeFile: null,\r\n customError: null,\r\n },\r\n}) => {\r\n const [files, setFiles] = useState([]);\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n\r\n const isError = Boolean(errorMessage);\r\n const isSingle = settings.maxFiles === 1;\r\n\r\n /* ================================\r\n FILE READER (NO PROMISE)\r\n ================================= */\r\n const readFile = (file, callback) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n\r\n reader.onload = function () {\r\n callback({\r\n source: reader.result,\r\n originName: file.name,\r\n type: file.type,\r\n size: file.size,\r\n });\r\n };\r\n\r\n reader.onerror = function () {\r\n console.error(\"File reading failed\");\r\n };\r\n };\r\n\r\n /* ================================\r\n DROP HANDLER (NO ASYNC)\r\n ================================= */\r\n const handleDrop = (acceptedFiles) => {\r\n setErrorMessage(\"\");\r\n let tempFiles = [];\r\n let processedCount = 0;\r\n if (!acceptedFiles || acceptedFiles.length === 0) return;\r\n\r\n acceptedFiles.forEach((file) => {\r\n readFile(file, (fileData) => {\r\n tempFiles.push(fileData);\r\n processedCount++;\r\n\r\n if (processedCount === acceptedFiles.length) {\r\n setFiles((prevFiles) => {\r\n let updated;\r\n\r\n if (settings.maxFiles === 1) {\r\n updated = tempFiles.slice(0, 1);\r\n } else {\r\n updated = [...prevFiles, ...tempFiles].slice(\r\n 0,\r\n settings.maxFiles,\r\n );\r\n }\r\n\r\n if (autoUpload) {\r\n callbacks?.uploadFile?.(updated);\r\n }\r\n\r\n return updated;\r\n });\r\n }\r\n });\r\n });\r\n };\r\n\r\n /* ================================\r\n ERROR HANDLER\r\n ================================= */\r\n const handleRejected = (rejections) => {\r\n const error = rejections?.[0]?.errors?.[0]?.code;\r\n\r\n if (error === \"file-too-large\") {\r\n setErrorMessage(\r\n \"Ukuran file terlalu besar. Maksimal \" + settings.maxSize + \"MB.\",\r\n );\r\n }\r\n\r\n if (error === \"file-invalid-type\") {\r\n setErrorMessage(\"Format file tidak sesuai.\");\r\n }\r\n\r\n if (error === \"too-many-files\") {\r\n setErrorMessage(\"Maksimal upload \" + settings.maxFiles + \" file.\");\r\n }\r\n };\r\n\r\n const removeFile = (index) => {\r\n const removedFile = files[index];\r\n const updated = files.filter((_, i) => i !== index);\r\n\r\n setFiles(updated);\r\n callbacks?.removeFile?.(removedFile?.originName);\r\n callbacks?.uploadFile?.(updated);\r\n };\r\n\r\n useEffect(() => {\r\n if (callbacks?.customError) {\r\n setErrorMessage(callbacks.customError);\r\n }\r\n }, [callbacks?.customError]);\r\n\r\n const renderFileIcon = (file) => {\r\n if (file.type?.includes(\"pdf\")) return <IconFilePDF />;\r\n if (file.type?.includes(\"csv\")) return <IconFileCSV />;\r\n if (file.type?.includes(\"image\")) return <IconFileJPG />;\r\n return <IconFileJPG />;\r\n };\r\n\r\n /* ================================\r\n PREVIEW GRID\r\n ================================= */\r\n const PreviewGrid = () => (\r\n <Box\r\n sx={{ width: \"100%\", display: \"flex\", gap: 2, mt: 3, flexWrap: \"wrap\" }}\r\n >\r\n {files.map((file, index) => (\r\n <Box key={index} sx={{ position: \"relative\", width: 75 }}>\r\n <Box\r\n sx={{\r\n position: \"absolute\",\r\n right: -6,\r\n top: -6,\r\n cursor: \"pointer\",\r\n }}\r\n onClick={() => removeFile(index)}\r\n >\r\n <IconXboxXFilled size={16} color={DerivedColor.color_icon_danger} />\r\n </Box>\r\n\r\n {renderFileIcon(file)}\r\n\r\n <Box\r\n sx={{\r\n ...VariantStyles.caption_regular,\r\n mt: 1,\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n }}\r\n >\r\n {file.originName}\r\n </Box>\r\n </Box>\r\n ))}\r\n </Box>\r\n );\r\n\r\n /* ================================\r\n PREVIEW LIST\r\n ================================= */\r\n const PreviewList = () => (\r\n <Box sx={{ mt: 3 }}>\r\n {files.map((file, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"space-between\",\r\n padding: SpacingToken.spacing3,\r\n border: `1px solid ${PrimitiveColor.color_neutral_300}`,\r\n borderRadius: Radius.radius_2,\r\n mb: 2,\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 2 }}>\r\n {renderFileIcon(file)}\r\n <Box\r\n sx={{\r\n ...VariantStyles.body2_regular,\r\n maxWidth: 260,\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n }}\r\n >\r\n {file.originName}\r\n </Box>\r\n </Box>\r\n\r\n <Box sx={{ cursor: \"pointer\" }} onClick={() => removeFile(index)}>\r\n <IconTrash size={20} color={PrimitiveColor.color_red_500} />\r\n </Box>\r\n </Box>\r\n ))}\r\n </Box>\r\n );\r\n\r\n return (\r\n <Box>\r\n {labels.title && (\r\n <Box\r\n sx={{\r\n ...VariantStyles.body2_semibold,\r\n mb: 2,\r\n width: \"100%\",\r\n }}\r\n >\r\n {labels.title}\r\n </Box>\r\n )}\r\n\r\n <Box\r\n sx={{\r\n border: `2px ${files.length ? \"solid\" : \"dashed\"} ${\r\n isError\r\n ? PrimitiveColor.color_red_500\r\n : files.length\r\n ? PrimitiveColor.color_blue_cakrawala_500\r\n : PrimitiveColor.color_neutral_300\r\n }`,\r\n borderRadius: Radius.radius_2,\r\n padding: SpacingToken.spacing6,\r\n textAlign: \"center\",\r\n }}\r\n >\r\n <Dropzone\r\n onDrop={handleDrop}\r\n onDropRejected={handleRejected}\r\n maxFiles={settings.maxFiles}\r\n maxSize={settings.maxSize * 1024 * 1024}\r\n accept={settings.allowedExtensions}\r\n multiple={!isSingle}\r\n >\r\n {({ getRootProps, getInputProps }) => (\r\n <Box\r\n {...getRootProps()}\r\n sx={{\r\n cursor: \"pointer\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n textAlign: \"center\",\r\n width: \"100%\",\r\n }}\r\n >\r\n <input {...getInputProps()} />\r\n\r\n <IconUpload size={32} color={DerivedColor.color_icon_brand_primary} />\r\n\r\n <Box sx={{ ...VariantStyles.header1_semibold, mt: 1 }}>\r\n {labels.dropzoneTitle}\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n ...VariantStyles.body1_regular,\r\n color: PrimitiveColor.color_neutral_600,\r\n my: 1,\r\n }}\r\n >\r\n atau\r\n </Box>\r\n\r\n <BaseButton\r\n variant=\"fill\"\r\n color=\"primary\"\r\n disabled={files.length >= settings.maxFiles}\r\n >\r\n {labels.titleButton}\r\n </BaseButton>\r\n\r\n {labels.allowedFileLabel && (\r\n <Box\r\n sx={{\r\n ...VariantStyles.caption_regular,\r\n color: PrimitiveColor.color_neutral_600,\r\n mt: 2,\r\n width: \"100%\",\r\n textAlign: \"center\",\r\n }}\r\n >\r\n {labels.allowedFileLabel}\r\n </Box>\r\n )}\r\n </Box>\r\n )}\r\n </Dropzone>\r\n </Box>\r\n\r\n {files.length > 0 &&\r\n (settings.previewType === \"list\" ? <PreviewList /> : <PreviewGrid />)}\r\n\r\n {isError && (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1,\r\n mt: 2,\r\n color: PrimitiveColor.color_red_500,\r\n ...VariantStyles.caption_regular,\r\n }}\r\n >\r\n <IconAlertTriangle size={16} />\r\n {errorMessage}\r\n </Box>\r\n )}\r\n </Box>\r\n );\r\n};\r\n","import RadioRaw from \"@mui/material/Radio\";\r\nimport RadioGroupRaw from \"@mui/material/RadioGroup\";\r\nimport FormControlLabelRaw from \"@mui/material/FormControlLabel\";\r\nimport FormControlRaw from \"@mui/material/FormControl\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport { useController } from \"react-hook-form\";\r\n\r\nimport { BaseTypography } from \"@/components/atoms/typography\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\n\r\nimport { errorState } from \"@/utils/json\";\r\n\r\nconst Radio = RadioRaw?.default ?? RadioRaw;\r\nconst RadioGroup = RadioGroupRaw?.default ?? RadioGroupRaw;\r\nconst FormControlLabel = FormControlLabelRaw?.default ?? FormControlLabelRaw;\r\nconst FormControl = FormControlRaw?.default ?? FormControlRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\n\r\nexport const BaseRadioButton = ({\r\n name = \"\",\r\n control = null,\r\n defaultValue,\r\n label,\r\n options = [],\r\n\r\n /* ================= TYPOGRAPHY ================= */\r\n labelVariant = \"body2_regular.default\",\r\n errorVariant = \"caption_regular.danger\",\r\n\r\n /* ================= LAYOUT ================= */\r\n orientation = \"vertical\",\r\n\r\n /* ================= COLOR TOKEN ================= */\r\n radioColorToken = \"color_blue_cakrawala_500\",\r\n\r\n /* ================= STATE ================= */\r\n isDisabled,\r\n\r\n /* ================= ERROR ================= */\r\n useErrorStateHelper = false,\r\n\r\n /* ================= SX ================= */\r\n sx = {},\r\n\r\n ...restProps\r\n}) => {\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n\r\n /* ================= ERROR ================= */\r\n const errorObject = useErrorStateHelper\r\n ? errorState(name, formState.errors)\r\n : null;\r\n\r\n const errorMessage =\r\n errorObject?.message?.toString() || formState.errors?.[name]?.message;\r\n\r\n /* ================= TOKEN RESOLVE ================= */\r\n const radioColor =\r\n PrimitiveColor?.[radioColorToken] || PrimitiveColor.color_blue_cakrawala_500;\r\n\r\n const gapValue = SpacingToken?.spacing0;\r\n const isHorizontal = orientation === \"horizontal\";\r\n\r\n /* ================= Figma Item Style ================= */\r\n const radioItemSx = {\r\n minHeight: \"36px\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: SpacingToken.spacing0,\r\n px: SpacingToken.spacing0,\r\n py: SpacingToken.spacing0,\r\n borderRadius: Radius.radius_2,\r\n };\r\n\r\n /* ================= RENDER ================= */\r\n return (\r\n <Box sx={sx}>\r\n <FormControl error={!!formState.errors?.[name]}>\r\n {/* LABEL */}\r\n {label && (\r\n <BaseTypography\r\n variant={labelVariant}\r\n sx={{ mb: gapValue }}\r\n >\r\n {label}\r\n </BaseTypography>\r\n )}\r\n\r\n {/* GROUP */}\r\n <RadioGroup\r\n value={field.value}\r\n onChange={field.onChange}\r\n row={isHorizontal}\r\n sx={{ gap: gapValue }}\r\n {...restProps}\r\n >\r\n {options.length > 0\r\n ? options.map((item, index) => (\r\n <FormControlLabel\r\n key={`radio-item-${index}`}\r\n value={item.value}\r\n label={item.label}\r\n disabled={isDisabled ?? item.isDisabled}\r\n sx={radioItemSx}\r\n control={\r\n <Radio\r\n sx={{\r\n \"&.Mui-checked\": {\r\n color: radioColor,\r\n },\r\n \"&.Mui-disabled\": {\r\n color: PrimitiveColor.color_neutral_400,\r\n },\r\n \"&.Mui-checked.Mui-disabled\": {\r\n color: PrimitiveColor.color_neutral_400,\r\n },\r\n }}\r\n />\r\n }\r\n {...item}\r\n />\r\n ))\r\n : \"You must provide options props\"}\r\n </RadioGroup>\r\n\r\n {/* ERROR */}\r\n {errorMessage && (\r\n <BaseTypography variant={errorVariant} sx={{ mt: gapValue }}>\r\n {errorMessage}\r\n </BaseTypography>\r\n )}\r\n </FormControl>\r\n </Box>\r\n );\r\n};\r\n","import { Fragment } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport StepLabelRaw, { stepLabelClasses } from \"@mui/material/StepLabel\";\r\nimport StepConnectorRaw from \"@mui/material/StepConnector\";\r\nimport StepRaw from \"@mui/material/Step\";\r\nimport StepperRaw from \"@mui/material/Stepper\";\r\nimport StackRaw from \"@mui/material/Stack\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport { stepConnectorClasses } from \"@mui/material/StepConnector\";\r\nimport { styled } from \"@mui/material/styles\";\r\nimport TypographyRaw from \"@mui/material/Typography\";\r\nimport ButtonRaw from \"@mui/material/Button\";\r\nimport TooltipRaw, { tooltipClasses } from \"@mui/material/Tooltip\";\r\n\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\nimport CheckRaw from \"@mui/icons-material/Check\";\r\nimport CheckIconRaw from \"@mui/icons-material/Check\";\r\n\r\nconst Check = CheckRaw?.default ?? CheckRaw;\r\nconst CheckIcon = CheckIconRaw?.default ?? CheckIconRaw;\r\nconst StepLabel = StepLabelRaw?.default ?? StepLabelRaw;\r\nconst StepConnector = StepConnectorRaw?.default ?? StepConnectorRaw;\r\nconst Step = StepRaw?.default ?? StepRaw;\r\nconst Stepper = StepperRaw?.default ?? StepperRaw;\r\nconst Stack = StackRaw?.default ?? StackRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\nconst Typography = TypographyRaw?.default ?? TypographyRaw;\r\nconst Button = ButtonRaw?.default ?? ButtonRaw;\r\nconst Tooltip = TooltipRaw?.default ?? TooltipRaw;\r\n\r\n/* ================= SIMPLE STEP LABEL ================= */\r\nconst CustomStepLabel = styled(StepLabel)(({ orientation }) => ({\r\n ...(orientation === \"vertical\" && {\r\n alignItems: \"flex-start\",\r\n \"& .MuiStepLabel-labelContainer\": {\r\n marginLeft: 12,\r\n textAlign: \"left\",\r\n },\r\n }),\r\n \"& .MuiStepIcon-root\": {\r\n fontSize: \"28px\",\r\n },\r\n ...(orientation !== \"vertical\" && {\r\n [`&.${stepLabelClasses.alternativeLabel}`]: {\r\n textAlign: \"center\",\r\n },\r\n }),\r\n}));\r\n\r\n/* ================= SIMPLE CONNECTOR ================= */\r\nconst CustomConnector = styled(StepConnector)(({ orientation }) => ({\r\n ...(orientation === \"horizontal\" && {\r\n [`&.${stepConnectorClasses.alternativeLabel}`]: {\r\n top: 12,\r\n left: \"calc(-50% + 12px)\",\r\n right: \"calc(50% + 12px)\",\r\n },\r\n [`& .${stepConnectorClasses.line}`]: {\r\n borderColor: PrimitiveColor.color_neutral_300,\r\n borderTopWidth: 2,\r\n borderRadius: 1,\r\n },\r\n }),\r\n ...(orientation === \"vertical\" && {\r\n [`&.${stepConnectorClasses.vertical}`]: {\r\n marginLeft: 20,\r\n },\r\n [`& .${stepConnectorClasses.line}`]: {\r\n borderLeftWidth: 3,\r\n borderLeftStyle: \"solid\",\r\n borderLeftColor: PrimitiveColor.color_neutral_300,\r\n minHeight: 24,\r\n borderRadius: 1,\r\n },\r\n [`&.${stepConnectorClasses.active} .${stepConnectorClasses.line}`]: {\r\n borderLeftColor: PrimitiveColor.color_green_500,\r\n },\r\n [`&.${stepConnectorClasses.completed} .${stepConnectorClasses.line}`]: {\r\n borderLeftColor: PrimitiveColor.color_green_500,\r\n },\r\n }),\r\n}));\r\n\r\n/* ================= DASHBOARD CONNECTOR ================= */\r\nconst ColorlibConnector = styled(StepConnector)(({ orientation }) => {\r\n const isVertical = orientation === \"vertical\";\r\n\r\n return {\r\n ...(!isVertical && {\r\n [`&.${stepConnectorClasses.alternativeLabel}`]: { top: 22 },\r\n [`&.${stepConnectorClasses.active} .${stepConnectorClasses.line}`]: {\r\n backgroundColor: PrimitiveColor.color_green_500,\r\n },\r\n [`&.${stepConnectorClasses.completed} .${stepConnectorClasses.line}`]: {\r\n backgroundColor: PrimitiveColor.color_green_500,\r\n },\r\n [`& .${stepConnectorClasses.line}`]: {\r\n height: 3,\r\n border: 0,\r\n backgroundColor: PrimitiveColor.color_neutral_300,\r\n borderRadius: 1,\r\n },\r\n }),\r\n ...(isVertical && {\r\n [`&.${stepConnectorClasses.vertical}`]: {\r\n marginLeft: 25,\r\n minHeight: 50,\r\n },\r\n [`&.${stepConnectorClasses.vertical} .${stepConnectorClasses.line}`]: {\r\n borderLeftWidth: 3,\r\n borderLeftStyle: \"solid\",\r\n borderLeftColor: PrimitiveColor.color_neutral_300,\r\n minHeight: 50,\r\n borderRadius: 1,\r\n },\r\n [`&.${stepConnectorClasses.vertical}.${stepConnectorClasses.active} .${stepConnectorClasses.line}`]:\r\n {\r\n borderLeftColor: PrimitiveColor.color_green_500,\r\n },\r\n [`&.${stepConnectorClasses.vertical}.${stepConnectorClasses.completed} .${stepConnectorClasses.line}`]:\r\n {\r\n borderLeftColor: PrimitiveColor.color_green_500,\r\n },\r\n }),\r\n };\r\n});\r\n\r\n/* ================= DASHBOARD STEP ICON ================= */\r\nconst ColorlibStepIconRoot = styled(\"div\")(({ ownerState }) => ({\r\n backgroundColor: ownerState.completed\r\n ? PrimitiveColor.color_green_500\r\n : ownerState.active\r\n ? PrimitiveColor.color_blue_cakrawala_500\r\n : PrimitiveColor.color_neutral_600,\r\n zIndex: 1,\r\n color: PrimitiveColor.color_neutral_50,\r\n width: 50,\r\n height: 50,\r\n display: \"flex\",\r\n borderRadius: \"50%\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n}));\r\n\r\nfunction ColorlibStepIcon({ active, completed, index }) {\r\n return (\r\n <ColorlibStepIconRoot ownerState={{ active, completed }}>\r\n {completed ? (\r\n <Check />\r\n ) : (\r\n <Typography variant=\"h6\">{index + 1}</Typography>\r\n )}\r\n </ColorlibStepIconRoot>\r\n );\r\n}\r\n\r\nconst CustomCheckIcon = styled(CheckIcon)({\r\n backgroundColor: PrimitiveColor.color_green_500,\r\n zIndex: 1,\r\n color: PrimitiveColor.color_neutral_50,\r\n width: 20,\r\n height: 20,\r\n padding: 1,\r\n display: \"flex\",\r\n borderRadius: \"50%\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n});\r\n\r\nconst CustomProcessIcon = styled(CheckIcon)({\r\n backgroundColor: PrimitiveColor.color_neutral_300,\r\n zIndex: 1,\r\n color: PrimitiveColor.color_neutral_50,\r\n width: 20,\r\n height: 20,\r\n padding: 1,\r\n display: \"flex\",\r\n borderRadius: \"50%\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n});\r\n\r\n/* ================= TOOLTIP ================= */\r\nconst HtmlTooltip = styled(({ className, ...props }) => (\r\n <Tooltip {...props} classes={{ popper: className }} />\r\n))(() => ({\r\n [`& .${tooltipClasses.tooltip}`]: {\r\n backgroundColor: PrimitiveColor.color_neutral_200,\r\n color: PrimitiveColor.color_neutral_900,\r\n maxWidth: 400,\r\n fontSize: 12,\r\n border: `1px solid ${PrimitiveColor.color_neutral_600}`,\r\n },\r\n}));\r\n\r\n/* ================= BASE STEPPER ================= */\r\nexport const BaseStepper = ({\r\n steps = [],\r\n activeStep = 0,\r\n orientation = \"horizontal\",\r\n variant = \"simple\",\r\n sx = {},\r\n}) => {\r\n if (variant === \"dashboard\") {\r\n const countCompletedSteps = (steps) =>\r\n steps?.filter((s) => s?.is_done === 1).length || 0;\r\n\r\n return (\r\n <Stack sx={{ width: \"100%\", ...sx }} spacing={4}>\r\n <Stepper\r\n alternativeLabel={orientation === \"horizontal\"}\r\n activeStep={countCompletedSteps(steps)}\r\n connector={<ColorlibConnector orientation={orientation} />}\r\n orientation={orientation}\r\n >\r\n {steps?.map((step, index) => (\r\n <Step key={index}>\r\n <StepLabel\r\n StepIconComponent={(props) => (\r\n <ColorlibStepIcon {...props} index={index} />\r\n )}\r\n >\r\n <HtmlTooltip\r\n title={\r\n <Fragment>\r\n <Typography color=\"inherit\">{step?.title}</Typography>\r\n {step?.sublist?.map((list, subIndex) => (\r\n <Box key={subIndex} sx={{ display: \"grid\", gap: 1, mt: 0.5 }}>\r\n <Box sx={{ display: \"flex\", gap: 1, alignItems: \"center\" }}>\r\n {list?.is_done === 1 ? (\r\n <Box sx={{ display: \"flex\", alignItems: \"center\" }}>\r\n <CustomCheckIcon />\r\n </Box>\r\n ) : (\r\n <Box sx={{ display: \"flex\", alignItems: \"center\" }}>\r\n <CustomProcessIcon />\r\n </Box>\r\n )}\r\n <Box>{list?.sublist_title}</Box>\r\n </Box>\r\n </Box>\r\n ))}\r\n </Fragment>\r\n }\r\n >\r\n <Button\r\n sx={{\r\n color: PrimitiveColor.color_neutral_900,\r\n border: \"none\",\r\n cursor: \"pointer\",\r\n textTransform: \"none\",\r\n }}\r\n >\r\n {step?.title}\r\n </Button>\r\n </HtmlTooltip>\r\n </StepLabel>\r\n </Step>\r\n ))}\r\n </Stepper>\r\n </Stack>\r\n );\r\n }\r\n\r\n // Simple variant\r\n return (\r\n <Box sx={{ width: \"100%\", ...sx }}>\r\n <Stepper\r\n activeStep={activeStep}\r\n alternativeLabel={orientation === \"horizontal\"}\r\n connector={<CustomConnector />}\r\n orientation={orientation}\r\n >\r\n {steps.map((step, index) => {\r\n const isActive = index === activeStep;\r\n const isCompleted = index < activeStep;\r\n let statusColor = PrimitiveColor.color_neutral_600;\r\n if (isActive) statusColor = PrimitiveColor.color_blue_cakrawala_500;\r\n if (isCompleted) statusColor = PrimitiveColor.color_green_500;\r\n\r\n return (\r\n <Step key={index}>\r\n <CustomStepLabel orientation={orientation}>\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: orientation === \"vertical\" ? \"flex-start\" : \"center\",\r\n gap: SpacingToken.spacing4,\r\n }}\r\n >\r\n <Typography\r\n sx={{ fontSize: 14, fontWeight: 400, color: statusColor }}\r\n >\r\n {step.status}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{ fontSize: 12, fontWeight: 400, color: PrimitiveColor.color_neutral_700 }}\r\n >\r\n {step.label}\r\n </Typography>\r\n </Box>\r\n </CustomStepLabel>\r\n </Step>\r\n );\r\n })}\r\n </Stepper>\r\n </Box>\r\n );\r\n};\r\n\r\nBaseStepper.propTypes = {\r\n steps: PropTypes.array,\r\n activeStep: PropTypes.number,\r\n orientation: PropTypes.oneOf([\"horizontal\", \"vertical\"]),\r\n variant: PropTypes.oneOf([\"simple\", \"dashboard\"]),\r\n sx: PropTypes.object,\r\n};\r\n","\"use client\";\r\nimport InputAdornmentRaw from \"@mui/material/InputAdornment\";\r\nimport TextFieldRaw from \"@mui/material/TextField\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport TypographyRaw from \"@mui/material/Typography\";\r\nimport { useController } from \"react-hook-form\";\r\nimport { IconInfoCircle } from \"@tabler/icons-react\";\r\nimport { useEffect, useMemo, useRef, useState, useCallback } from \"react\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\nimport { VariantStyles } from \"@/components/atoms/typography/typography\";\r\n\r\nconst InputAdornment = InputAdornmentRaw?.default ?? InputAdornmentRaw;\r\nconst TextField = TextFieldRaw?.default ?? TextFieldRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\nconst Typography = TypographyRaw?.default ?? TypographyRaw;\r\n\r\nexport const BaseTextField = ({\r\n name = \"\",\r\n control = null,\r\n defaultValue,\r\n maxLength,\r\n showLength,\r\n isNumericOnly,\r\n isAlphaNumericOnly,\r\n isAlphaOnly,\r\n allowedSpecialCharacters = \"\",\r\n dontAllowedSpecialCharacters = \"\",\r\n isDisabled,\r\n isCantPaste,\r\n result,\r\n resultColor,\r\n noSpaceAllowed,\r\n showCountHelper = false,\r\n textMask = \"\",\r\n InputProps: externalInputProps,\r\n inputProps: externalInputPropsLower,\r\n sx = {},\r\n ...props\r\n}) => {\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n\r\n const inputRef = useRef(null);\r\n const hasMask = !!textMask;\r\n const maskSlots = useMemo(\r\n () => (hasMask ? (textMask.match(/x/gi) || []).length : 0),\r\n [textMask, hasMask],\r\n );\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n const sanitizeRaw = useCallback((s) => {\r\n const str = s || \"\";\r\n return isNumericOnly\r\n ? str.replace(/[^0-9]/g, \"\")\r\n : str.replace(/[^a-zA-Z0-9]/g, \"\");\r\n });\r\n\r\n const applyMask = (raw, mask) => {\r\n if (!mask) return raw || \"\";\r\n const chars = (raw || \"\").split(\"\");\r\n let i = 0;\r\n let out = \"\";\r\n for (let m = 0; m < mask.length; m++) {\r\n const ch = mask[m];\r\n if (ch.toLowerCase() === \"x\") {\r\n if (i < chars.length) {\r\n out += chars[i++];\r\n } else {\r\n break;\r\n }\r\n } else {\r\n if (i < chars.length) {\r\n out += ch;\r\n } else {\r\n break;\r\n }\r\n }\r\n }\r\n return out;\r\n };\r\n\r\n const extractRawFromDisplay = (display, mask) => {\r\n if (!mask) return display || \"\";\r\n const onlyAlphaNum = (display || \"\").replace(/[^a-zA-Z0-9]/g, \"\");\r\n return onlyAlphaNum.slice(0, maskSlots);\r\n };\r\n\r\n const computeCaretFromRawLen = (rawLen, mask) => {\r\n if (!mask) return rawLen;\r\n let needed = rawLen;\r\n let pos = 0;\r\n for (let i = 0; i < mask.length; i++) {\r\n const ch = mask[i];\r\n if (ch.toLowerCase() === \"x\") {\r\n if (needed > 0) {\r\n needed--;\r\n pos = i + 1;\r\n } else {\r\n break;\r\n }\r\n } else {\r\n if (needed > 0) {\r\n pos = i + 1;\r\n } else {\r\n break;\r\n }\r\n }\r\n }\r\n return pos;\r\n };\r\n\r\n const [displayValue, setDisplayValue] = useState(() =>\r\n hasMask ? applyMask(sanitizeRaw(field.value), textMask) : field.value || \"\",\r\n );\r\n\r\n useEffect(() => {\r\n if (hasMask) {\r\n const raw = sanitizeRaw(field.value);\r\n setDisplayValue(applyMask(raw.slice(0, maskSlots), textMask));\r\n }\r\n }, [field.value, hasMask, textMask, maskSlots, sanitizeRaw]);\r\n\r\n const getAllowedPattern = () => {\r\n let allowedPattern = \"a-zA-Z0-9\";\r\n\r\n if (allowedSpecialCharacters) {\r\n allowedPattern += allowedSpecialCharacters.replace(\r\n /[-/\\\\^$*+?.()|%[\\]{}]/g,\r\n \"\\\\$&\",\r\n );\r\n }\r\n\r\n if (dontAllowedSpecialCharacters) {\r\n const disallowedChars = dontAllowedSpecialCharacters.replace(\r\n /[-/\\\\^$*+?.()|%[\\]{}]/g,\r\n \"\\\\$&\",\r\n );\r\n allowedPattern = allowedPattern.replace(\r\n new RegExp(`[${disallowedChars}\\\\s]`, \"g\"),\r\n \"\",\r\n );\r\n }\r\n\r\n return new RegExp(`^[${allowedPattern}\\\\s]+$`);\r\n };\r\n\r\n const handleKeyDown = (e) => {\r\n if (hasMask) {\r\n const input = e.target;\r\n const value = input.value || \"\";\r\n const selectionStart = input.selectionStart ?? value.length;\r\n const selectionEnd = input.selectionEnd ?? value.length;\r\n\r\n const allowedKeys = [\r\n \"Tab\",\r\n \"Backspace\",\r\n \"Delete\",\r\n \"ArrowLeft\",\r\n \"ArrowRight\",\r\n \"Home\",\r\n \"End\",\r\n ];\r\n if (\r\n (e.ctrlKey || e.metaKey) &&\r\n [\"a\", \"c\", \"v\", \"x\"].includes(e.key.toLowerCase())\r\n ) {\r\n return;\r\n }\r\n if (allowedKeys.includes(e.key)) {\r\n const isBackspace = e.key === \"Backspace\";\r\n const isDelete = e.key === \"Delete\";\r\n if (selectionStart !== selectionEnd) {\r\n return;\r\n }\r\n const raw = sanitizeRaw(field.value).slice(0, maskSlots);\r\n let rawArr = raw.split(\"\");\r\n if (isBackspace && selectionStart > 0) {\r\n let pos = selectionStart - 1;\r\n while (pos > 0 && textMask[pos].toLowerCase() !== \"x\") pos--;\r\n if (rawArr.length > 0) rawArr = rawArr.slice(0, rawArr.length - 1);\r\n const newRaw = rawArr.join(\"\");\r\n const newDisplay = applyMask(newRaw, textMask);\r\n e.preventDefault();\r\n setDisplayValue(newDisplay);\r\n field.onChange(newRaw);\r\n requestAnimationFrame(() => {\r\n try {\r\n const caret = computeCaretFromRawLen(newRaw.length, textMask);\r\n input.setSelectionRange(caret, caret);\r\n } catch {\r\n // Do nothing\r\n }\r\n });\r\n return;\r\n }\r\n\r\n if (isDelete && selectionStart < value.length) {\r\n let pos = selectionStart;\r\n while (pos < textMask.length && textMask[pos].toLowerCase() !== \"x\")\r\n pos++;\r\n if (rawArr.length > 0 && pos < textMask.length) {\r\n const xBefore = (textMask.slice(0, pos).match(/x/gi) || []).length;\r\n if (xBefore < rawArr.length) {\r\n rawArr.splice(xBefore, 1);\r\n } else {\r\n rawArr = rawArr.slice(0, rawArr.length - 1);\r\n }\r\n const newRaw = rawArr.join(\"\");\r\n const newDisplay = applyMask(newRaw, textMask);\r\n e.preventDefault();\r\n setDisplayValue(newDisplay);\r\n field.onChange(newRaw);\r\n requestAnimationFrame(() => {\r\n try {\r\n const caret = computeCaretFromRawLen(newRaw.length, textMask);\r\n input.setSelectionRange(caret, caret);\r\n } catch {\r\n // Do nothing\r\n }\r\n });\r\n return;\r\n }\r\n }\r\n return;\r\n }\r\n\r\n const isChar = e.key.length === 1;\r\n if (isChar) {\r\n const allow = isNumericOnly ? /[0-9]/ : /[a-zA-Z0-9]/;\r\n if (!allow.test(e.key)) {\r\n e.preventDefault();\r\n return;\r\n }\r\n const currentRaw = sanitizeRaw(field.value).slice(0, maskSlots);\r\n let rawArr = currentRaw.split(\"\");\r\n const xBeforeCaret = (\r\n textMask.slice(0, selectionStart).match(/x/gi) || []\r\n ).length;\r\n const xBeforeEnd = (\r\n textMask\r\n .slice(0, e.target.selectionEnd ?? selectionStart)\r\n .match(/x/gi) || []\r\n ).length;\r\n\r\n const startIdx = xBeforeCaret;\r\n const endIdx = Math.min(xBeforeEnd, rawArr.length);\r\n rawArr.splice(startIdx, endIdx - startIdx, e.key);\r\n\r\n const newRaw = rawArr.join(\"\").slice(0, maskSlots);\r\n const newDisplay = applyMask(newRaw, textMask);\r\n\r\n e.preventDefault();\r\n setDisplayValue(newDisplay);\r\n field.onChange(newRaw);\r\n\r\n requestAnimationFrame(() => {\r\n try {\r\n const caret = computeCaretFromRawLen(startIdx + 1, textMask);\r\n input.setSelectionRange(caret, caret);\r\n } catch {\r\n // Do nothing\r\n }\r\n });\r\n }\r\n return;\r\n }\r\n let allowedPattern;\r\n const allowedKeys = [\r\n \"Tab\",\r\n \"Backspace\",\r\n \"Delete\",\r\n \"ArrowLeft\",\r\n \"ArrowRight\",\r\n ];\r\n const alphanumericWithUnderscorePattern = /^[a-zA-Z0-9_]+$/;\r\n\r\n if ((e.ctrlKey || e.metaKey) && e.key === \"v\") {\r\n return;\r\n }\r\n\r\n if (noSpaceAllowed && e.code === \"Space\") {\r\n e.preventDefault();\r\n }\r\n if (isNumericOnly) {\r\n allowedPattern = /^[0-9]+$/;\r\n if (!allowedKeys.includes(e.key) && !allowedPattern.test(e.key)) {\r\n e.preventDefault();\r\n }\r\n }\r\n if (isAlphaNumericOnly) {\r\n allowedPattern = /^[a-zA-Z0-9]+$/;\r\n if (!allowedKeys.includes(e.key) && !allowedPattern.test(e.key)) {\r\n e.preventDefault();\r\n }\r\n }\r\n if (isAlphaOnly) {\r\n allowedPattern = /^[a-zA-Z\\s]+$/;\r\n if (!allowedKeys.includes(e.key) && !allowedPattern.test(e.key)) {\r\n e.preventDefault();\r\n }\r\n }\r\n if (allowedSpecialCharacters) {\r\n allowedPattern = getAllowedPattern();\r\n if (!allowedKeys.includes(e.key) && !allowedPattern.test(e.key)) {\r\n e.preventDefault();\r\n }\r\n }\r\n if (dontAllowedSpecialCharacters) {\r\n const disallowedChars = dontAllowedSpecialCharacters.replace(\r\n /[-/\\\\^$*+?.()|%[\\]{}]/g,\r\n \"\\\\$&\",\r\n );\r\n const pattern = new RegExp(`[${disallowedChars}\\\\s]`, \"g\");\r\n if (!allowedKeys.includes(e.key) && pattern.test(e.key)) {\r\n e.preventDefault();\r\n }\r\n }\r\n };\r\n\r\n const handlePaste = (e) => {\r\n if (hasMask) {\r\n if (isCantPaste) {\r\n e.preventDefault();\r\n return;\r\n }\r\n const pastedData = e.clipboardData.getData(\"Text\") || \"\";\r\n const cleaned = sanitizeRaw(pastedData);\r\n const input = e.target;\r\n const selectionStart = input.selectionStart ?? 0;\r\n const selectionEnd = input.selectionEnd ?? 0;\r\n\r\n const currentRaw = sanitizeRaw(field.value).slice(0, maskSlots);\r\n let rawArr = currentRaw.split(\"\");\r\n\r\n const xStart = (textMask.slice(0, selectionStart).match(/x/gi) || [])\r\n .length;\r\n const xEnd = (textMask.slice(0, selectionEnd).match(/x/gi) || []).length;\r\n\r\n rawArr.splice(xStart, Math.max(0, xEnd - xStart), ...cleaned.split(\"\"));\r\n\r\n const newRaw = rawArr.join(\"\").slice(0, maskSlots);\r\n const newDisplay = applyMask(newRaw, textMask);\r\n\r\n e.preventDefault();\r\n setDisplayValue(newDisplay);\r\n field.onChange(newRaw);\r\n\r\n requestAnimationFrame(() => {\r\n try {\r\n const caret = computeCaretFromRawLen(\r\n xStart + cleaned.length,\r\n textMask,\r\n );\r\n input.setSelectionRange(caret, caret);\r\n } catch {\r\n // Do nothing\r\n }\r\n });\r\n return;\r\n }\r\n\r\n const pastedData = e.clipboardData.getData(\"Text\");\r\n let sanitizedData = pastedData;\r\n\r\n if (isCantPaste) {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n if (noSpaceAllowed) {\r\n sanitizedData = sanitizedData.replace(/\\s+/g, \"\");\r\n }\r\n\r\n if (allowedSpecialCharacters) {\r\n const specialChars = allowedSpecialCharacters\r\n ? allowedSpecialCharacters.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\")\r\n : \"\";\r\n const pattern = new RegExp(`[^a-zA-Z0-9${specialChars}\\\\s]`, \"g\");\r\n sanitizedData = pastedData.replace(pattern, \"\");\r\n }\r\n\r\n if (dontAllowedSpecialCharacters) {\r\n const dontAllowedChars = dontAllowedSpecialCharacters\r\n ? dontAllowedSpecialCharacters.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\")\r\n : \"\";\r\n const pattern = new RegExp(`[^a-zA-Z0-9${dontAllowedChars}\\\\s]`, \"g\");\r\n sanitizedData = pastedData.replace(pattern, \"\");\r\n }\r\n\r\n if (isNumericOnly) {\r\n sanitizedData = sanitizedData.replace(/[^0-9]/g, \"\");\r\n }\r\n\r\n if (isAlphaOnly) {\r\n sanitizedData = sanitizedData.replace(/[^a-zA-Z\\s]/g, \"\");\r\n }\r\n\r\n const { selectionStart, selectionEnd } = e.target;\r\n const value = e.target.value;\r\n\r\n // Check maxLength before creating newValue\r\n if (\r\n maxLength &&\r\n value.length - (selectionEnd - selectionStart) + sanitizedData.length >\r\n maxLength\r\n ) {\r\n sanitizedData = sanitizedData.substring(\r\n 0,\r\n maxLength - (value.length - (selectionEnd - selectionStart)),\r\n );\r\n }\r\n\r\n const newValue =\r\n value.substring(0, selectionStart) +\r\n sanitizedData +\r\n value.substring(selectionEnd);\r\n\r\n e.target.value = newValue;\r\n\r\n const newPosition = selectionStart + sanitizedData.length;\r\n e.target.setSelectionRange(newPosition, newPosition);\r\n\r\n field.onChange(e);\r\n e.preventDefault();\r\n };\r\n\r\n const handleChangeMasked = (e) => {\r\n const nextDisplay = e.target.value || \"\";\r\n const raw = extractRawFromDisplay(nextDisplay, textMask).slice(\r\n 0,\r\n maskSlots,\r\n );\r\n const newDisplay = applyMask(raw, textMask);\r\n setDisplayValue(newDisplay);\r\n field.onChange(raw);\r\n\r\n requestAnimationFrame(() => {\r\n try {\r\n const caret = computeCaretFromRawLen(raw.length, textMask);\r\n inputRef.current?.setSelectionRange(caret, caret);\r\n } catch {\r\n // Do nothing\r\n }\r\n });\r\n };\r\n\r\n return (\r\n <Box sx={sx}>\r\n {props.title && (\r\n <Typography\r\n variant=\"body2\"\r\n sx={{ fontWeight: 600, color: DerivedColor.color_text_default, mb: \"4px\" }}\r\n >\r\n {props.title}\r\n </Typography>\r\n )}\r\n <TextField\r\n id={props.id || `field-${name}`}\r\n variant=\"outlined\"\r\n fullWidth\r\n error={!!formState.errors?.[name]}\r\n helperText={\r\n <>\r\n <Box component=\"span\">\r\n {formState.errors?.[name]?.message ||\r\n (maxLength && showLength\r\n ? `Maksimal ${maxLength} Karakter`\r\n : \"\")}\r\n </Box>\r\n {maxLength && showCountHelper && (\r\n <Box component=\"span\" sx={{ ml: \"auto\" }}>\r\n {field.value?.length || 0}/{maxLength}\r\n </Box>\r\n )}\r\n </>\r\n }\r\n FormHelperTextProps={{\r\n sx: {\r\n fontSize: 14,\r\n ml: 0,\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n },\r\n }}\r\n size=\"small\"\r\n disabled={isDisabled}\r\n onKeyDown={\r\n hasMask\r\n ? handleKeyDown\r\n : noSpaceAllowed ||\r\n isAlphaOnly ||\r\n isNumericOnly ||\r\n isAlphaNumericOnly ||\r\n allowedSpecialCharacters ||\r\n dontAllowedSpecialCharacters\r\n ? handleKeyDown\r\n : null\r\n }\r\n onPaste={\r\n hasMask\r\n ? handlePaste\r\n : noSpaceAllowed ||\r\n isAlphaOnly ||\r\n isNumericOnly ||\r\n isCantPaste ||\r\n allowedSpecialCharacters ||\r\n dontAllowedSpecialCharacters\r\n ? handlePaste\r\n : null\r\n }\r\n inputRef={inputRef}\r\n inputProps={{\r\n maxLength: hasMask ? textMask.length : maxLength,\r\n ...externalInputPropsLower,\r\n }}\r\n InputProps={{\r\n ...externalInputProps,\r\n sx: {\r\n borderRadius: Radius.radius_2,\r\n backgroundColor: isDisabled\r\n ? PrimitiveColor.color_neutral_200\r\n : PrimitiveColor.color_neutral_50,\r\n color: isDisabled\r\n ? PrimitiveColor.color_neutral_600\r\n : PrimitiveColor.color_neutral_900,\r\n ...externalInputProps?.sx,\r\n },\r\n startAdornment: externalInputProps?.startAdornment,\r\n endAdornment: (\r\n <>\r\n {!!formState.errors?.[name] && (\r\n <InputAdornment position=\"end\">\r\n <IconInfoCircle size={18} color={PrimitiveColor.color_red_500} />\r\n </InputAdornment>\r\n )}\r\n {externalInputProps?.endAdornment}\r\n </>\r\n ),\r\n }}\r\n value={hasMask ? (displayValue ?? \"\") : (field.value ?? \"\")}\r\n onChange={hasMask ? handleChangeMasked : field.onChange}\r\n {...props}\r\n {...(hasMask ? {} : field)}\r\n />\r\n {result && (\r\n <Typography\r\n sx={{\r\n ...VariantStyles.body1_regular,\r\n color: resultColor,\r\n mt: SpacingToken.spacing1,\r\n }}\r\n >\r\n {result}\r\n </Typography>\r\n )}\r\n </Box>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport { useRef, useState } from \"react\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport ButtonRaw from \"@mui/material/Button\";\r\nimport InputRaw from \"@mui/material/Input\";\r\nimport TextFieldRaw from \"@mui/material/TextField\";\r\nimport TypographyRaw from \"@mui/material/Typography\";\r\nimport { useController, useForm } from \"react-hook-form\";\r\n\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\nimport { VariantStyles } from \"@/components/atoms/typography/typography\";\r\nimport { IconInfo } from \"@/components/legacy/atoms/icons/info\";\r\nimport UploadFileRaw from \"@mui/icons-material/UploadFile\";\r\n\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\nconst Button = ButtonRaw?.default ?? ButtonRaw;\r\nconst Input = InputRaw?.default ?? InputRaw;\r\nconst TextField = TextFieldRaw?.default ?? TextFieldRaw;\r\nconst Typography = TypographyRaw?.default ?? TypographyRaw;\r\nconst UploadFile = UploadFileRaw?.default ?? UploadFileRaw;\r\n\r\nexport const TextFieldUpload = ({\r\n name = \"upload\",\r\n control,\r\n defaultValue = \"\",\r\n title,\r\n accept = \"\",\r\n maxSize = 5,\r\n isDisabled = false,\r\n buttonLabel = \"Upload\",\r\n buttonPosition = \"end\",\r\n uploadFile,\r\n iconPosition = \"start\",\r\n}) => {\r\n const fallbackForm = useForm({\r\n defaultValues: { [name]: defaultValue },\r\n });\r\n const inputRef = useRef(null);\r\n\r\n const { field, fieldState } = useController({\r\n name,\r\n control: control || fallbackForm.control,\r\n defaultValue,\r\n });\r\n\r\n const [fileSizeError, setFileSizeError] = useState(false);\r\n const [unsupportedFile, setUnsupportedFile] = useState(false);\r\n\r\n const handleFileChange = (event) => {\r\n const file = event.target.files?.[0];\r\n\r\n if (!file) {\r\n field.onChange(\"\");\r\n uploadFile?.(\"\", null);\r\n return;\r\n }\r\n\r\n const extension = file.name.split(\".\").pop()?.toLowerCase();\r\n const acceptedExtensions = accept\r\n ? accept.split(\",\").map((ext) => ext.trim().toLowerCase())\r\n : [];\r\n\r\n if (\r\n acceptedExtensions.length > 0 &&\r\n !acceptedExtensions.includes(`.${extension}`)\r\n ) {\r\n setUnsupportedFile(true);\r\n setFileSizeError(false);\r\n field.onChange(\"\");\r\n return;\r\n }\r\n\r\n if (file.size > maxSize * 1024 * 1024) {\r\n setFileSizeError(true);\r\n setUnsupportedFile(false);\r\n field.onChange(\"\");\r\n return;\r\n }\r\n\r\n setFileSizeError(false);\r\n setUnsupportedFile(false);\r\n field.onChange(file.name);\r\n uploadFile?.(file.name, file);\r\n };\r\n\r\n const isError = !!fieldState.error || fileSizeError || unsupportedFile;\r\n const isSuccess = !!field.value && !isError;\r\n const borderColor = isError\r\n ? PrimitiveColor.color_red_500\r\n : isSuccess\r\n ? PrimitiveColor.color_blue_cakrawala_500\r\n : PrimitiveColor.color_neutral_300;\r\n\r\n const helperText = fileSizeError\r\n ? `Ukuran file melebihi ${maxSize} MB`\r\n : unsupportedFile\r\n ? \"Format file tidak didukung\"\r\n : `Format ${accept || \"-\"} ukuran maks. ${maxSize} MB`;\r\n\r\n const handleButtonClick = () => {\r\n inputRef.current?.click();\r\n };\r\n\r\n const uploadButton = (\r\n <Button\r\n onClick={handleButtonClick}\r\n disabled={isDisabled}\r\n variant=\"contained\"\r\n startIcon={iconPosition === \"start\" ? <UploadFile /> : undefined}\r\n endIcon={iconPosition === \"end\" ? <UploadFile /> : undefined}\r\n sx={{\r\n transition: \"none\",\r\n px: SpacingToken.spacing4,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: SpacingToken.spacing2,\r\n boxShadows: 0,\r\n borderRadius:\r\n buttonPosition === \"start\"\r\n ? `${Radius.radius_2} 0 0 ${Radius.radius_2}`\r\n : `0 ${Radius.radius_2} ${Radius.radius_2} 0`,\r\n backgroundColor: isError\r\n ? PrimitiveColor.color_red_500\r\n : PrimitiveColor.color_blue_cakrawala_500,\r\n \"&:hover\": {\r\n boxShadows: 0,\r\n backgroundColor: isError\r\n ? PrimitiveColor.color_red_600\r\n : PrimitiveColor.color_blue_cakrawala_600,\r\n },\r\n textTransform: \"none\",\r\n \"& .MuiButton-startIcon, & .MuiButton-endIcon\": {\r\n margin: 0,\r\n },\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n ...VariantStyles.body2_regular,\r\n fontWeight: 600,\r\n }}\r\n >\r\n {buttonLabel}\r\n </Typography>\r\n </Button>\r\n );\r\n\r\n return (\r\n <Box width=\"100%\">\r\n {title && (\r\n <Typography\r\n sx={{\r\n ...VariantStyles.body2_regular,\r\n fontWeight: 600,\r\n mb: SpacingToken.spacing2,\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n )}\r\n\r\n <Box width=\"100%\">\r\n <Box display=\"flex\" width=\"100%\">\r\n {buttonPosition === \"start\" && uploadButton}\r\n\r\n <TextField\r\n value={field.value || \"\"}\r\n error={isError}\r\n fullWidth\r\n size=\"small\"\r\n disabled={isDisabled}\r\n InputProps={{\r\n readOnly: true,\r\n }}\r\n sx={{\r\n \"& .MuiOutlinedInput-root\": {\r\n borderTopLeftRadius:\r\n buttonPosition === \"start\" ? 0 : Radius.radius_2,\r\n borderBottomLeftRadius:\r\n buttonPosition === \"start\" ? 0 : Radius.radius_2,\r\n borderTopRightRadius:\r\n buttonPosition === \"end\" ? 0 : Radius.radius_2,\r\n borderBottomRightRadius:\r\n buttonPosition === \"end\" ? 0 : Radius.radius_2,\r\n ...(isDisabled && {\r\n backgroundColor: PrimitiveColor.color_neutral_200,\r\n }),\r\n },\r\n \"& .MuiOutlinedInput-notchedOutline\": {\r\n borderColor,\r\n },\r\n \"&:hover .MuiOutlinedInput-notchedOutline\": {\r\n boxShadows: 0,\r\n borderColor,\r\n },\r\n \"& .Mui-focused .MuiOutlinedInput-notchedOutline\": {\r\n borderColor,\r\n borderWidth: 1,\r\n },\r\n }}\r\n />\r\n\r\n {buttonPosition === \"end\" && uploadButton}\r\n </Box>\r\n\r\n <Box\r\n display=\"flex\"\r\n alignItems=\"center\"\r\n mt={SpacingToken.spacing2}\r\n gap={SpacingToken.spacing2}\r\n >\r\n {isError && (\r\n <IconInfo color={PrimitiveColor.color_red_500} isSmall />\r\n )}\r\n\r\n <Typography\r\n sx={{\r\n ...VariantStyles.caption_regular,\r\n color: isError\r\n ? PrimitiveColor.color_red_500\r\n : PrimitiveColor.color_neutral_600,\r\n }}\r\n >\r\n {helperText}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n\r\n <Input\r\n inputRef={inputRef}\r\n type=\"file\"\r\n inputProps={{ accept }}\r\n sx={{ display: \"none\" }}\r\n onChange={handleFileChange}\r\n disabled={isDisabled}\r\n />\r\n </Box>\r\n );\r\n};\r\n","'use client';\r\n\r\nimport { useState, useEffect } from \"react\";\r\n\r\n/**\r\n * Wrapper component yang load TinyMCE Editor secara lazy di client-side.\r\n * Jalan di Next.js maupun Storybook tanpa next/dynamic.\r\n *\r\n * PENTING — Kenapa pakai pendekatan ini:\r\n * File JS bawaan TinyMCE untuk skin/content (misal tinymce/skins/ui/oxide/skin)\r\n * memanggil `tinymce.Resource.add(...)` di top-level saat module di-evaluate.\r\n * Vite/Rollup bisa pre-load chunk-chunk tersebut sebelum core TinyMCE selesai\r\n * register ke `window.tinymce`, menyebabkan \"ReferenceError: tinymce is not defined\".\r\n *\r\n * Solusi: kita set `skin: false` dan `content_css: false` di TinyMCE init config,\r\n * lalu inject CSS yang dibutuhkan via `content_style`. Dengan begitu kita tidak\r\n * perlu import file JS wrapper yang bermasalah.\r\n */\r\n\r\nfunction Editor(props) {\r\n const [TinyEditor, setTinyEditor] = useState(null);\r\n const [error, setError] = useState(null);\r\n\r\n useEffect(() => {\r\n let cancelled = false;\r\n\r\n async function load() {\r\n const alreadyLoaded =\r\n typeof window !== \"undefined\" && window.tinymce;\r\n\r\n if (!alreadyLoaded) {\r\n // 1. Load TinyMCE core — MUST complete first\r\n try {\r\n const tinymceModule = await import(\"tinymce/tinymce\");\r\n\r\n if (typeof window !== \"undefined\" && !window.tinymce) {\r\n const core = tinymceModule.default ?? tinymceModule;\r\n if (core && typeof core === \"object\" && core.tinymce) {\r\n window.tinymce = core.tinymce;\r\n } else {\r\n window.tinymce = core;\r\n }\r\n }\r\n } catch {\r\n throw new Error(\r\n \"Package 'tinymce' tidak ditemukan. \" +\r\n \"Install dengan: npm install tinymce @tinymce/tinymce-react\"\r\n );\r\n }\r\n\r\n // Tunggu sampai global benar-benar ready\r\n await new Promise((resolve, reject) => {\r\n if (window.tinymce) return resolve();\r\n const start = Date.now();\r\n const iv = setInterval(() => {\r\n if (window.tinymce) { clearInterval(iv); resolve(); }\r\n else if (Date.now() - start > 5000) {\r\n clearInterval(iv);\r\n reject(new Error(\r\n \"TinyMCE core gagal register ke window.tinymce. \" +\r\n \"Pastikan package 'tinymce' sudah ter-install.\"\r\n ));\r\n }\r\n }, 50);\r\n });\r\n\r\n // 2. Load model, theme, icons — these also reference window.tinymce\r\n // but since core is now loaded, sequential import is safe.\r\n await import(\"tinymce/models/dom/model\");\r\n await import(\"tinymce/themes/silver\");\r\n await import(\"tinymce/icons/default\");\r\n\r\n // 3. Load plugins\r\n await Promise.all([\r\n import(\"tinymce/plugins/advlist\"),\r\n import(\"tinymce/plugins/anchor\"),\r\n import(\"tinymce/plugins/autolink\"),\r\n import(\"tinymce/plugins/code\"),\r\n import(\"tinymce/plugins/charmap\"),\r\n import(\"tinymce/plugins/emoticons\"),\r\n import(\"tinymce/plugins/help\"),\r\n import(\"tinymce/plugins/image\"),\r\n import(\"tinymce/plugins/insertdatetime\"),\r\n import(\"tinymce/plugins/link\"),\r\n import(\"tinymce/plugins/lists\"),\r\n import(\"tinymce/plugins/media\"),\r\n import(\"tinymce/plugins/table\"),\r\n import(\"tinymce/plugins/wordcount\"),\r\n ]);\r\n\r\n // 4. Skin & content CSS — kita SKIP import JS wrapper-nya\r\n // (tinymce/skins/ui/oxide/skin, tinymce/skins/content/default/content)\r\n // karena Vite bisa pre-load chunk sebelum core ready.\r\n // Sebagai gantinya, kita inject CSS langsung via <style> tag\r\n // dan set skin:false + content_css:false di init config.\r\n try {\r\n const [skinMod, contentMod, oxideContentMod] = await Promise.all([\r\n import(\"tinymce/skins/ui/oxide/skin.min.css\"),\r\n import(\"tinymce/skins/content/default/content.min.css\"),\r\n import(\"tinymce/skins/ui/oxide/content.min.css\"),\r\n ]);\r\n\r\n // Vite returns CSS modules with .default as the CSS string\r\n // or auto-injects them. Either way, we're good.\r\n const skinCss = skinMod?.default ?? \"\";\r\n const contentCss = contentMod?.default ?? \"\";\r\n const oxideContentCss = oxideContentMod?.default ?? \"\";\r\n\r\n // Inject skin CSS into document head if not already there\r\n const combinedCss = [skinCss, contentCss, oxideContentCss]\r\n .filter(Boolean)\r\n .join(\"\\n\");\r\n\r\n if (combinedCss && !document.getElementById(\"tinymce-skin-css\")) {\r\n const style = document.createElement(\"style\");\r\n style.id = \"tinymce-skin-css\";\r\n style.textContent = combinedCss;\r\n document.head.appendChild(style);\r\n }\r\n } catch {\r\n // CSS imports gagal — TinyMCE akan fallback ke content_style\r\n }\r\n }\r\n\r\n // 5. Load the React wrapper\r\n const mod = await import(\"@tinymce/tinymce-react\");\r\n const Comp = mod.Editor ?? mod.default?.Editor ?? mod.default;\r\n\r\n if (!cancelled) {\r\n setTinyEditor(() => Comp);\r\n }\r\n }\r\n\r\n load().catch((err) => {\r\n if (!cancelled) {\r\n console.error(\"[Editor] Failed to load TinyMCE:\", err);\r\n setError(err);\r\n }\r\n });\r\n\r\n return () => {\r\n cancelled = true;\r\n };\r\n }, []);\r\n\r\n if (error) {\r\n return (\r\n <div style={{ color: \"red\", padding: 12, border: \"1px solid red\", borderRadius: 4 }}>\r\n Gagal memuat editor: {error.message}\r\n </div>\r\n );\r\n }\r\n\r\n if (!TinyEditor) {\r\n return null;\r\n }\r\n\r\n return <TinyEditor {...props} />;\r\n}\r\n\r\nexport { Editor };\r\n","\"use client\";\r\n\r\nimport InputAdornmentRaw from \"@mui/material/InputAdornment\";\r\nimport TextFieldRaw from \"@mui/material/TextField\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport TypographyRaw from \"@mui/material/Typography\";\r\nimport { useController } from \"react-hook-form\";\r\nimport { useId } from \"react\";\r\nimport { IconInfoCircle } from \"@tabler/icons-react\";\r\n\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\nimport { VariantStyles } from \"@/components/atoms/typography/typography\";\r\nimport { Editor } from \"./imports\";\r\n\r\nconst InputAdornment = InputAdornmentRaw?.default ?? InputAdornmentRaw;\r\nconst TextField = TextFieldRaw?.default ?? TextFieldRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\nconst Typography = TypographyRaw?.default ?? TypographyRaw;\r\n\r\nexport const BaseTextArea = ({\r\n name = \"\",\r\n control = null,\r\n defaultValue = \"\",\r\n helperText,\r\n rules,\r\n exactLength,\r\n maxLength,\r\n title,\r\n isDisabled = false,\r\n useRichText = false,\r\n init,\r\n handleImageUpload,\r\n sx = {},\r\n ...props\r\n}) => {\r\n const computedMaxLength = exactLength ?? maxLength ?? rules?.maxLength?.value;\r\n\r\n const { field, fieldState } = useController({\r\n control,\r\n name,\r\n defaultValue,\r\n rules: exactLength\r\n ? {\r\n minLength: {\r\n value: exactLength,\r\n message: `Harus tepat ${exactLength} karakter`,\r\n },\r\n maxLength: {\r\n value: exactLength,\r\n message: `Tidak boleh lebih dari ${exactLength} karakter`,\r\n },\r\n ...rules,\r\n }\r\n : rules,\r\n });\r\n\r\n const hasError = !!fieldState.error;\r\n const errorMessage = fieldState.error?.message;\r\n\r\n const rawValue = field?.value ?? \"\";\r\n const plainText =\r\n useRichText && typeof rawValue === \"string\"\r\n ? rawValue.replace(/<[^>]*>/g, \"\")\r\n : rawValue;\r\n const currentLength = plainText.length || 0;\r\n const remaining =\r\n computedMaxLength !== undefined ? computedMaxLength - currentLength : null;\r\n\r\n let dynamicHelper = helperText;\r\n\r\n if (!hasError && computedMaxLength) {\r\n dynamicHelper =\r\n remaining >= 0\r\n ? `${currentLength}/${computedMaxLength} karakter`\r\n : helperText;\r\n }\r\n\r\n const handleKeyDown = (event) => {\r\n if (event.key !== \"Tab\") return;\r\n\r\n event.preventDefault();\r\n const nextValue = field.value ? `${field.value} - ` : \"- \";\r\n\r\n if (computedMaxLength && nextValue.length > computedMaxLength) {\r\n return;\r\n }\r\n\r\n field.onChange(nextValue);\r\n };\r\n\r\n const baseSx = {\r\n \"& .MuiOutlinedInput-root\": {\r\n borderRadius: Radius.radius_3,\r\n backgroundColor: isDisabled\r\n ? PrimitiveColor.color_neutral_200\r\n : PrimitiveColor.color_neutral_50,\r\n },\r\n \"& .MuiOutlinedInput-notchedOutline\": {\r\n borderColor: hasError\r\n ? PrimitiveColor.color_red_500\r\n : PrimitiveColor.color_neutral_300,\r\n },\r\n \"&:hover .MuiOutlinedInput-notchedOutline\": {\r\n borderColor: hasError\r\n ? PrimitiveColor.color_red_500\r\n : PrimitiveColor.color_neutral_600,\r\n },\r\n \"& .MuiFormHelperText-root\": {\r\n ...VariantStyles.caption_regular,\r\n color: hasError\r\n ? PrimitiveColor.color_red_500\r\n : PrimitiveColor.color_neutral_600,\r\n marginLeft: 0,\r\n marginTop: SpacingToken.spacing1,\r\n },\r\n };\r\n\r\n const reactId = useId();\r\n const uniqueSuffix = reactId.replace(/:/g, \"\");\r\n const editorId = props.id ?? `textarea-${name}-${uniqueSuffix}`;\r\n const wrapperId = `editor-wrap-${uniqueSuffix}`;\r\n\r\n // ─── Rich Text Mode ───\r\n if (useRichText) {\r\n return (\r\n <Box id={wrapperId} sx={sx}>\r\n {title && (\r\n <Typography\r\n variant=\"body2\"\r\n sx={{ fontWeight: 600, color: DerivedColor.color_text_default, mb: \"4px\" }}\r\n >\r\n {title}{\" \"}\r\n {hasError && (\r\n <Box component=\"small\" sx={{ color: PrimitiveColor.color_red_500 }}>\r\n *{errorMessage}\r\n </Box>\r\n )}\r\n </Typography>\r\n )}\r\n\r\n <style>{`\r\n .tox-notifications-container {\r\n z-index: 9999 !important;\r\n position: fixed !important;\r\n top: 10px !important;\r\n }\r\n #${wrapperId} .tox .tox-editor-header {\r\n z-index: 0 !important;\r\n }\r\n ${\r\n isDisabled\r\n ? `\r\n #${wrapperId} .tox-tinymce .tox-edit-area__iframe {\r\n background-color: #f5f5f5 !important;\r\n user-select: none !important;\r\n }\r\n #${wrapperId} .tox-tinymce .tox-editor-container {\r\n background-color: #f5f5f5 !important;\r\n }\r\n #${wrapperId} .mce-content-body {\r\n background-color: #f5f5f5 !important;\r\n color: #666 !important;\r\n pointer-events: none !important;\r\n user-select: none !important;\r\n }\r\n #${wrapperId} .tox-toolbar,\r\n #${wrapperId} .tox-editor-header {\r\n pointer-events: none !important;\r\n opacity: 0.5 !important;\r\n }`\r\n : \"\"\r\n }\r\n `}</style>\r\n\r\n <Editor\r\n onInit={props.onInit}\r\n id={editorId}\r\n initialValue={defaultValue}\r\n onDrop={props.onDrop}\r\n disabled={isDisabled}\r\n init={{\r\n ...init,\r\n placeholder: init?.placeholder ?? \"\",\r\n license_key: \"gpl\",\r\n menubar: false,\r\n branding: false,\r\n promotion: false,\r\n elementpath: false,\r\n statusbar: false,\r\n skin: false,\r\n content_css: false,\r\n min_height: 200,\r\n plugins: [\r\n \"code\",\r\n \"lists\",\r\n \"advlist\",\r\n \"anchor\",\r\n \"autolink\",\r\n \"help\",\r\n \"image\",\r\n \"link\",\r\n \"table\",\r\n \"wordcount\",\r\n \"emoticons\",\r\n \"charmap\",\r\n ],\r\n toolbar:\r\n \"code | cut copy paste | \" +\r\n \"bold italic underline strikethrough | \" +\r\n \"alignleft aligncenter alignright alignjustify | \" +\r\n \"blocks fontsize | \" +\r\n \"numlist bullist | \" +\r\n \"table image emoticons charmap\",\r\n image_title: true,\r\n images_replace_blob_uris: true,\r\n images_upload_base_path: \"/\",\r\n image_prepend_url: init?.prefixUrl ?? \"\",\r\n file_picker_types: \"image\",\r\n paste_data_images: true,\r\n automatic_uploads: true,\r\n content_style:\r\n \"body { font-family: 'BRI Digital Text', Inter, sans-serif; font-size: 14px; margin: 12px; }\",\r\n file_picker_callback: handleImageUpload,\r\n }}\r\n onEditorChange={(content) => {\r\n field.onChange(content);\r\n }}\r\n scriptLoading={{ async: true }}\r\n />\r\n\r\n {!hasError && dynamicHelper && (\r\n <Typography\r\n sx={{\r\n ...VariantStyles.caption_regular,\r\n color: PrimitiveColor.color_neutral_600,\r\n mt: SpacingToken.spacing1,\r\n display: \"block\",\r\n }}\r\n >\r\n {dynamicHelper}\r\n </Typography>\r\n )}\r\n </Box>\r\n );\r\n }\r\n\r\n // ─── Plain Mode (MUI TextField) ───\r\n return (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: SpacingToken.spacing2,\r\n ...sx,\r\n }}\r\n >\r\n {title && (\r\n <Typography\r\n variant=\"body2\"\r\n sx={{ fontWeight: 600, color: DerivedColor.color_text_default }}\r\n >\r\n {title}\r\n </Typography>\r\n )}\r\n\r\n <TextField\r\n id={name}\r\n multiline\r\n minRows={4}\r\n fullWidth\r\n disabled={isDisabled}\r\n onKeyDown={handleKeyDown}\r\n error={hasError}\r\n helperText={errorMessage ?? dynamicHelper}\r\n sx={baseSx}\r\n inputProps={{\r\n maxLength: computedMaxLength,\r\n }}\r\n InputProps={{\r\n endAdornment: hasError && (\r\n <InputAdornment position=\"end\">\r\n <IconInfoCircle size={18} color={PrimitiveColor.color_red_500} />\r\n </InputAdornment>\r\n ),\r\n }}\r\n {...props}\r\n {...field}\r\n />\r\n </Box>\r\n );\r\n};\r\n","\"use client\";\r\nimport { useCallback } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport DialogRaw from \"@mui/material/Dialog\";\r\nimport DialogTitleRaw from \"@mui/material/DialogTitle\";\r\nimport DialogContentRaw from \"@mui/material/DialogContent\";\r\nimport DialogActionsRaw from \"@mui/material/DialogActions\";\r\nimport IconButtonRaw from \"@mui/material/IconButton\";\r\nimport CloseIconRaw from \"@mui/icons-material/Close\";\r\nimport Image from \"next/image\";\r\n\r\nimport { callAsset } from \"@/utils/asset\";\r\nimport { BaseButton } from \"@/components/atoms/buttons/button\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\nimport { VariantStyles } from \"@/components/atoms/typography/typography\";\r\n\r\nconst CloseIcon = CloseIconRaw?.default ?? CloseIconRaw;\r\nconst Dialog = DialogRaw?.default ?? DialogRaw;\r\nconst DialogTitle = DialogTitleRaw?.default ?? DialogTitleRaw;\r\nconst DialogContent = DialogContentRaw?.default ?? DialogContentRaw;\r\nconst DialogActions = DialogActionsRaw?.default ?? DialogActionsRaw;\r\nconst IconButton = IconButtonRaw?.default ?? IconButtonRaw;\r\n\r\nexport const BaseModal = ({\r\n open,\r\n onClose,\r\n onConfirm,\r\n onCancel,\r\n icon,\r\n title,\r\n description,\r\n children,\r\n footer,\r\n showConfirm = true,\r\n showCancel = false,\r\n confirmLabel = \"Confirm\",\r\n cancelLabel = \"Cancel\",\r\n confirmVariant = \"fill\",\r\n cancelVariant = \"outline\",\r\n confirmColor = \"color_palette_blue\",\r\n cancelColor = \"color_palette_neutral_50\",\r\n confirmSize = \"large\",\r\n cancelSize = \"large\",\r\n align = \"center\",\r\n modalWidth = \"w-[350px]\",\r\n showCloseIcon = true,\r\n ...props\r\n}) => {\r\n const executeAndClose = useCallback(\r\n (callback) => {\r\n const result = callback?.();\r\n if (result !== false) {\r\n onClose?.();\r\n }\r\n },\r\n [onClose],\r\n );\r\n\r\n const contentStyle = {\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: 16,\r\n width: \"100%\",\r\n alignItems: align === \"center\" ? \"center\" : \"flex-start\",\r\n textAlign: align === \"center\" ? \"center\" : \"left\",\r\n };\r\n\r\n const footerWrapperStyle = {\r\n display: \"flex\",\r\n gap: 16,\r\n width: \"100%\",\r\n padding: \"0 24px 24px\",\r\n };\r\n\r\n return (\r\n <Dialog\r\n open={open}\r\n onClose={onClose}\r\n maxWidth={false}\r\n {...props}\r\n sx={{\r\n \"& .MuiDialog-paper\": {\r\n borderRadius: Radius.radius_2,\r\n },\r\n }}\r\n PaperProps={{ className: modalWidth }}\r\n >\r\n {(title || showCloseIcon) && (\r\n <DialogTitle sx={{ p: SpacingToken.spacing4 }}>\r\n {showCloseIcon && (\r\n <IconButton\r\n aria-label=\"close\"\r\n onClick={onClose}\r\n sx={{\r\n position: \"absolute\",\r\n right: SpacingToken.spacing3,\r\n top: SpacingToken.spacing3,\r\n color: PrimitiveColor.color_palette_neutral_70,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n )}\r\n </DialogTitle>\r\n )}\r\n\r\n <DialogContent\r\n style={contentStyle}\r\n sx={{\r\n pt: SpacingToken.spacing2,\r\n pb: SpacingToken.spacing4,\r\n }}\r\n >\r\n {icon && (\r\n <div className=\"flex justify-center mb-4 w-full\">\r\n {typeof icon === \"string\" ? (\r\n <Image\r\n src={callAsset(icon)}\r\n width={160}\r\n height={140}\r\n alt=\"modal-icon\"\r\n priority\r\n />\r\n ) : (\r\n icon\r\n )}\r\n </div>\r\n )}\r\n\r\n {(title || description) && (\r\n <div className=\"w-full text-center space-y-2\">\r\n {title && <div style={VariantStyles.header2_bold}>{title}</div>}\r\n\r\n {description && (\r\n <div style={VariantStyles.body2_regular}>{description}</div>\r\n )}\r\n </div>\r\n )}\r\n\r\n {children && <div className=\"w-full\">{children}</div>}\r\n </DialogContent>\r\n\r\n {(footer || showConfirm || showCancel) && (\r\n <DialogActions sx={{ p: 0, width: \"100%\" }}>\r\n {footer ? (\r\n footer\r\n ) : (\r\n <div style={footerWrapperStyle}>\r\n {showCancel && (\r\n <BaseButton\r\n onClick={() => executeAndClose(onCancel)}\r\n variant={cancelVariant}\r\n color={cancelColor}\r\n size={cancelSize}\r\n sx={{ flex: 1, minWidth: 0 }}\r\n >\r\n {cancelLabel}\r\n </BaseButton>\r\n )}\r\n\r\n {showConfirm && (\r\n <BaseButton\r\n onClick={() => executeAndClose(onConfirm)}\r\n variant={confirmVariant}\r\n color={confirmColor}\r\n size={confirmSize}\r\n sx={{ flex: 1, minWidth: 0 }}\r\n >\r\n {confirmLabel}\r\n </BaseButton>\r\n )}\r\n </div>\r\n )}\r\n </DialogActions>\r\n )}\r\n </Dialog>\r\n );\r\n};\r\n\r\nBaseModal.propTypes = {\r\n open: PropTypes.bool.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n onConfirm: PropTypes.func,\r\n onCancel: PropTypes.func,\r\n\r\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\r\n title: PropTypes.string,\r\n description: PropTypes.string,\r\n children: PropTypes.node,\r\n footer: PropTypes.node,\r\n\r\n showConfirm: PropTypes.bool,\r\n showCancel: PropTypes.bool,\r\n\r\n confirmLabel: PropTypes.string,\r\n cancelLabel: PropTypes.string,\r\n\r\n confirmVariant: PropTypes.string,\r\n cancelVariant: PropTypes.string,\r\n\r\n confirmColor: PropTypes.string,\r\n cancelColor: PropTypes.string,\r\n\r\n confirmSize: PropTypes.string,\r\n cancelSize: PropTypes.string,\r\n\r\n align: PropTypes.oneOf([\"center\", \"left\"]),\r\n modalWidth: PropTypes.string,\r\n showCloseIcon: PropTypes.bool,\r\n};\r\n","\"use client\";\r\nimport { Fragment, useEffect, useState } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport DialogRaw from \"@mui/material/Dialog\";\r\nimport DialogTitleRaw from \"@mui/material/DialogTitle\";\r\nimport DialogContentRaw from \"@mui/material/DialogContent\";\r\nimport DialogActionsRaw from \"@mui/material/DialogActions\";\r\nimport IconButtonRaw from \"@mui/material/IconButton\";\r\nimport TypographyRaw from \"@mui/material/Typography\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport StepperRaw from \"@mui/material/Stepper\";\r\nimport StepRaw from \"@mui/material/Step\";\r\nimport StepLabelRaw from \"@mui/material/StepLabel\";\r\nimport StepContentRaw from \"@mui/material/StepContent\";\r\nimport TooltipRaw, { tooltipClasses } from \"@mui/material/Tooltip\";\r\nimport CloseIconRaw from \"@mui/icons-material/Close\";\r\nimport CheckIconRaw from \"@mui/icons-material/Check\";\r\nimport FailedIconRaw from \"@mui/icons-material/Close\";\r\nimport InfoIconRaw from \"@mui/icons-material/Info\";\r\n// import Image from \"next/image\";\r\nimport Link from \"next/link\";\r\nimport { styled } from \"@mui/material/styles\";\r\n\r\n// import { callAsset } from \"@/utils/asset\";\r\nimport { BaseButton } from \"@/components/atoms/buttons/button\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\n// import { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\nimport { VariantStyles } from \"@/components/atoms/typography/typography\";\r\n\r\nconst CloseIcon = CloseIconRaw?.default ?? CloseIconRaw;\r\nconst CheckIcon = CheckIconRaw?.default ?? CheckIconRaw;\r\nconst FailedIcon = FailedIconRaw?.default ?? FailedIconRaw;\r\nconst InfoIcon = InfoIconRaw?.default ?? InfoIconRaw;\r\nimport CircularProgressRaw from \"@mui/material/CircularProgress\";\r\nconst Dialog = DialogRaw?.default ?? DialogRaw;\r\nconst DialogTitle = DialogTitleRaw?.default ?? DialogTitleRaw;\r\nconst DialogContent = DialogContentRaw?.default ?? DialogContentRaw;\r\nconst DialogActions = DialogActionsRaw?.default ?? DialogActionsRaw;\r\nconst IconButton = IconButtonRaw?.default ?? IconButtonRaw;\r\nconst Typography = TypographyRaw?.default ?? TypographyRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\nconst Stepper = StepperRaw?.default ?? StepperRaw;\r\nconst Step = StepRaw?.default ?? StepRaw;\r\nconst StepLabel = StepLabelRaw?.default ?? StepLabelRaw;\r\nconst StepContent = StepContentRaw?.default ?? StepContentRaw;\r\nconst Tooltip = TooltipRaw?.default ?? TooltipRaw;\r\nconst CircularProgress = CircularProgressRaw?.default ?? CircularProgressRaw;\r\n/* =========================\r\n TOOLTIP STYLE\r\n========================= */\r\n\r\nconst HtmlTooltip = styled(({ className, ...props }) => (\r\n <Tooltip {...props} classes={{ popper: className }} />\r\n))(({ theme }) => ({\r\n [`& .${tooltipClasses.tooltip}`]: {\r\n backgroundColor: PrimitiveColor.color_palette_neutral_10,\r\n color: \"rgba(0,0,0,0.87)\",\r\n maxWidth: 220,\r\n fontSize: theme.typography.pxToRem(12),\r\n border: \"1px solid #dadde9\",\r\n },\r\n}));\r\n\r\n/* =========================\r\n ICON STYLE\r\n========================= */\r\n\r\nconst ICON_SIZE = 24;\r\n\r\nconst CustomCheckIcon = styled(CheckIcon)({\r\n backgroundColor: PrimitiveColor.color_palette_dark_green,\r\n color: PrimitiveColor.color_palette_neutral_10,\r\n width: ICON_SIZE,\r\n height: ICON_SIZE,\r\n borderRadius: \"50%\",\r\n padding: 4,\r\n});\r\n\r\nconst CustomFailedIcon = styled(FailedIcon)({\r\n backgroundColor: PrimitiveColor.color_palette_red,\r\n color: PrimitiveColor.color_palette_neutral_10,\r\n width: ICON_SIZE,\r\n height: ICON_SIZE,\r\n borderRadius: \"50%\",\r\n padding: 4,\r\n});\r\n\r\nconst CustomInfoIcon = styled(InfoIcon)({\r\n backgroundColor: PrimitiveColor.color_palette_blue,\r\n marginRight: \"5px\",\r\n zIndex: 1,\r\n color: PrimitiveColor.color_palette_neutral_10,\r\n width: 22,\r\n height: 22,\r\n display: \"flex\",\r\n borderRadius: \"50%\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n cursor: \"pointer\",\r\n});\r\n\r\nconst StepIconWrapper = styled(\"div\")(({ ownerState }) => ({\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n minHeight: ICON_SIZE,\r\n ...(ownerState.active && { backgroundColor: \"transparent\" }),\r\n}));\r\n\r\n/* =========================\r\n COMPONENT\r\n========================= */\r\n\r\nexport const BaseModalStepper = ({\r\n open,\r\n onClose,\r\n title = \"\",\r\n stepper = [],\r\n navState = null,\r\n lengthUpload = 0,\r\n id_pengajuan = null,\r\n showFooter = true,\r\n children,\r\n modalWidth = \"max-w-md\",\r\n ...props\r\n}) => {\r\n const [activeStep, setActiveStep] = useState(0);\r\n\r\n /* =========================\r\n STEP ICON COMPONENT\r\n ========================= */\r\n const ColorlibStepIcon = (props) => {\r\n const { active, completed, icon, className } = props;\r\n\r\n const [hovered, setHovered] = useState(false);\r\n\r\n const iconStyles = {\r\n color: hovered\r\n ? PrimitiveColor.color_palette_blue\r\n : PrimitiveColor.color_palette_neutral_10,\r\n backgroundColor: hovered\r\n ? PrimitiveColor.color_palette_neutral_10\r\n : PrimitiveColor.color_palette_blue,\r\n transition: \"all 0.3s ease\",\r\n };\r\n\r\n const handleMouseEnter = () => setHovered(true);\r\n const handleMouseLeave = () => setHovered(false);\r\n\r\n /* =========================\r\n LOADING ICON\r\n ========================= */\r\n\r\n const icons = stepper.reduce((acc, _, index) => {\r\n acc[index + 1] = <CircularProgress size={20} />;\r\n return acc;\r\n }, {});\r\n\r\n /* =========================\r\n CHECKLIST ICON\r\n ========================= */\r\n\r\n const checklist = stepper.reduce((acc, item, index) => {\r\n const isSuccess = item.responseCode === \"00\";\r\n\r\n acc[index + 1] = (\r\n <>\r\n <HtmlTooltip\r\n title={\r\n <Fragment>\r\n <Typography fontSize={12}>\r\n {item.responseDesc || \"Tidak ada deskripsi\"}\r\n </Typography>\r\n </Fragment>\r\n }\r\n arrow\r\n >\r\n <CustomInfoIcon\r\n style={iconStyles}\r\n onMouseEnter={handleMouseEnter}\r\n onMouseLeave={handleMouseLeave}\r\n />\r\n </HtmlTooltip>\r\n\r\n {isSuccess ? <CustomCheckIcon /> : <CustomFailedIcon />}\r\n </>\r\n );\r\n\r\n return acc;\r\n }, {});\r\n\r\n return (\r\n <StepIconWrapper\r\n ownerState={{ active, completed }}\r\n className={className}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: 1 }}\r\n >\r\n {completed\r\n ? checklist[String(icon)]\r\n : active\r\n ? icons[String(icon)]\r\n : \"\"}\r\n </StepIconWrapper>\r\n );\r\n };\r\n\r\n ColorlibStepIcon.propTypes = {\r\n active: PropTypes.bool,\r\n completed: PropTypes.bool,\r\n icon: PropTypes.node,\r\n };\r\n\r\n /* =========================\r\n AUTO INCREMENT STEP\r\n ========================= */\r\n\r\n useEffect(() => {\r\n if (!open) {\r\n setActiveStep(0);\r\n return;\r\n }\r\n\r\n if (stepper.length === 0) return;\r\n\r\n const incrementStep = () =>\r\n setActiveStep((prev) => (prev < stepper.length ? prev + 1 : prev));\r\n\r\n const delay =\r\n activeStep > 0 ? stepper[activeStep - 1]?.responseTime || 800 : 800;\r\n\r\n const timer = setTimeout(incrementStep, delay);\r\n\r\n return () => clearTimeout(timer);\r\n }, [activeStep, stepper, open]);\r\n\r\n const handleClose = (event, reason) => {\r\n if (reason !== \"backdropClick\" && reason !== \"escapeKeyDown\") {\r\n onClose(event, reason);\r\n }\r\n };\r\n\r\n /* =========================\r\n FOOTER BUTTON\r\n ========================= */\r\n\r\n const renderFooterButton = () => {\r\n if (!showFooter) return null;\r\n\r\n const hrefMap = {\r\n 2: \"/pipeline/pipeline-international\",\r\n 3: id_pengajuan\r\n ? `/prakarsa/prakarsa-international/dashboard/${id_pengajuan}`\r\n : `/prakarsa/prakarsa-international/`,\r\n 4: id_pengajuan\r\n ? `/monitoring/monitoring-korporasi/internasional/dashboard/${id_pengajuan}`\r\n : `/monitoring/monitoring-korporasi/`,\r\n 5: id_pengajuan\r\n ? `/approval/approval-korporasi/internasional/dashboard/${id_pengajuan}`\r\n : `/approval/approval-korporasi/`,\r\n };\r\n\r\n const href = hrefMap[navState] || null;\r\n\r\n const button = (\r\n <BaseButton\r\n sx={{ padding: \"8px 24px\" }}\r\n variant=\"fill\"\r\n color=\"primary\"\r\n onClick={() => onClose()}\r\n disabled={lengthUpload !== 0}\r\n width=\"fit-content\"\r\n >\r\n Oke\r\n </BaseButton>\r\n );\r\n\r\n return href ? <Link href={href}>{button}</Link> : button;\r\n };\r\n\r\n /* =========================\r\n RENDER\r\n ========================= */\r\n\r\n return (\r\n <Dialog\r\n open={open}\r\n onClose={handleClose}\r\n PaperProps={{\r\n className: modalWidth,\r\n sx: {\r\n width: \"100%\",\r\n maxWidth: modalWidth === \"w-full\" ? \"100%\" : 550,\r\n borderRadius: Radius.radius_l,\r\n },\r\n }}\r\n {...props}\r\n >\r\n <DialogTitle sx={{ textAlign: \"center\", pt: 4 }}>\r\n {title && (\r\n <Typography style={VariantStyles.header1_bold}>{title}</Typography>\r\n )}\r\n\r\n <IconButton\r\n aria-label=\"close\"\r\n onClick={onClose}\r\n sx={{\r\n position: \"absolute\",\r\n right: 12,\r\n top: 12,\r\n color: PrimitiveColor.color_palette_neutral_60,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </DialogTitle>\r\n\r\n <DialogContent sx={{ px: 4, pb: 3 }}>\r\n {children ? (\r\n children\r\n ) : (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1.5,\r\n backgroundColor: \"#EAF3FA\",\r\n padding: 2,\r\n borderRadius: Radius.radius_m,\r\n mb: 3,\r\n }}\r\n >\r\n <InfoIcon\r\n sx={{\r\n color: PrimitiveColor.color_palette_blue,\r\n fontSize: 22,\r\n }}\r\n />\r\n <Typography sx={{ fontSize: 14 }}>\r\n Harap tunggu dan jangan menutup layar hingga proses selesai.\r\n </Typography>\r\n </Box>\r\n )}\r\n\r\n <Box sx={{ width: \"100%\", maxWidth: 500 }}>\r\n <Stepper activeStep={activeStep} orientation=\"vertical\">\r\n {stepper.map((step) => (\r\n <Step key={step.label}>\r\n <StepLabel StepIconComponent={ColorlibStepIcon}>\r\n {step.label}\r\n </StepLabel>\r\n <StepContent>\r\n <Typography sx={{ fontSize: 14 }}>\r\n {step.description}\r\n </Typography>\r\n </StepContent>\r\n </Step>\r\n ))}\r\n </Stepper>\r\n </Box>\r\n </DialogContent>\r\n\r\n <DialogActions\r\n sx={{\r\n justifyContent: \"center\",\r\n pb: 4,\r\n }}\r\n >\r\n {renderFooterButton()}\r\n </DialogActions>\r\n </Dialog>\r\n );\r\n};\r\n\r\nBaseModalStepper.propTypes = {\r\n open: PropTypes.bool.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n title: PropTypes.string,\r\n stepper: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n label: PropTypes.string,\r\n description: PropTypes.string,\r\n responseCode: PropTypes.string,\r\n responseDesc: PropTypes.string,\r\n responseTime: PropTypes.number,\r\n }),\r\n ),\r\n navState: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n lengthUpload: PropTypes.number,\r\n id_pengajuan: PropTypes.number,\r\n showFooter: PropTypes.bool,\r\n children: PropTypes.node,\r\n};\r\n","\"use client\";\r\nimport { useState, useRef, useEffect, useCallback } from \"react\";\r\nimport DialogRaw from \"@mui/material/Dialog\";\r\nimport DialogContentRaw from \"@mui/material/DialogContent\";\r\nimport DialogTitleRaw from \"@mui/material/DialogTitle\";\r\nimport IconButtonRaw from \"@mui/material/IconButton\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport TypographyRaw from \"@mui/material/Typography\";\r\nimport CloseIconRaw from \"@mui/icons-material/Close\";\r\nimport dynamic from \"next/dynamic\";\r\n\r\nimport { BaseButton } from \"@/components/atoms/buttons/button\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\nimport { VariantStyles } from \"@/components/atoms/typography/typography\";\r\n\r\nimport { Thumblock } from \"@/components/legacy/atoms/icons/thumb-lock-icon\";\r\n\r\nconst Countdown = dynamic(\r\n () => import(\"react-countdown\").then((mod) => mod.default ?? mod),\r\n { ssr: false },\r\n);\r\n\r\nconst CloseIcon = CloseIconRaw?.default ?? CloseIconRaw;\r\nconst Dialog = DialogRaw?.default ?? DialogRaw;\r\nconst DialogContent = DialogContentRaw?.default ?? DialogContentRaw;\r\nconst DialogTitle = DialogTitleRaw?.default ?? DialogTitleRaw;\r\nconst IconButton = IconButtonRaw?.default ?? IconButtonRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\nconst Typography = TypographyRaw?.default ?? TypographyRaw;\r\n\r\n/** Inline styles for OTP input — no external CSS dependency */\r\nconst otpInputBase = {\r\n height: 40,\r\n width: 30,\r\n border: \"none\",\r\n borderRadius: 0,\r\n marginLeft: 6,\r\n marginRight: 6,\r\n fontSize: 20,\r\n fontWeight: 700,\r\n color: \"#1078ca\",\r\n textAlign: \"center\",\r\n outline: \"none\",\r\n background: \"transparent\",\r\n};\r\n\r\nconst otpInputNormal = {\r\n ...otpInputBase,\r\n borderBottom: \"3px solid #e0e0e0\",\r\n};\r\n\r\nconst otpInputError = {\r\n ...otpInputBase,\r\n borderBottom: \"3px solid #e84040\",\r\n color: \"#e84040\",\r\n};\r\n\r\nconst otpInputFocused = {\r\n borderBottom: \"3px solid #1078ca\",\r\n};\r\n\r\n/**\r\n * Native OTP input component — replaces react-otp-input for React 19 compatibility.\r\n */\r\nconst NativeOTPInput = ({ value, onChange, numInputs, hasError }) => {\r\n const inputRefs = useRef([]);\r\n const [focusedIndex, setFocusedIndex] = useState(-1);\r\n const digits = value.split(\"\");\r\n\r\n const handleChange = useCallback(\r\n (index, e) => {\r\n const val = e.target.value;\r\n if (!/^\\d*$/.test(val)) return;\r\n\r\n const newDigits = [...digits];\r\n // Pad array to numInputs length\r\n while (newDigits.length < numInputs) newDigits.push(\"\");\r\n\r\n newDigits[index] = val.slice(-1);\r\n const newValue = newDigits.join(\"\");\r\n onChange(newValue.slice(0, numInputs));\r\n\r\n if (val && index < numInputs - 1) {\r\n inputRefs.current[index + 1]?.focus();\r\n }\r\n },\r\n [digits, numInputs, onChange],\r\n );\r\n\r\n const handleKeyDown = useCallback(\r\n (index, e) => {\r\n if (e.key === \"Backspace\" && !digits[index] && index > 0) {\r\n inputRefs.current[index - 1]?.focus();\r\n }\r\n if (e.key === \"ArrowLeft\" && index > 0) {\r\n e.preventDefault();\r\n inputRefs.current[index - 1]?.focus();\r\n }\r\n if (e.key === \"ArrowRight\" && index < numInputs - 1) {\r\n e.preventDefault();\r\n inputRefs.current[index + 1]?.focus();\r\n }\r\n },\r\n [digits, numInputs],\r\n );\r\n\r\n const handlePaste = useCallback(\r\n (e) => {\r\n e.preventDefault();\r\n const pasted = e.clipboardData\r\n .getData(\"text\")\r\n .replace(/\\D/g, \"\")\r\n .slice(0, numInputs);\r\n if (!pasted) return;\r\n onChange(pasted);\r\n const nextIdx = Math.min(pasted.length, numInputs - 1);\r\n inputRefs.current[nextIdx]?.focus();\r\n },\r\n [numInputs, onChange],\r\n );\r\n\r\n // Auto-focus first input on mount\r\n useEffect(() => {\r\n const timer = setTimeout(() => inputRefs.current[0]?.focus(), 100);\r\n return () => clearTimeout(timer);\r\n }, []);\r\n\r\n return (\r\n <div\r\n style={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n }}\r\n onPaste={handlePaste}\r\n >\r\n {Array.from({ length: numInputs }).map((_, index) => {\r\n const isFocused = focusedIndex === index;\r\n const baseStyle = hasError ? otpInputError : otpInputNormal;\r\n const style = isFocused\r\n ? { ...baseStyle, ...otpInputFocused }\r\n : baseStyle;\r\n\r\n return (\r\n <input\r\n key={index}\r\n ref={(el) => {\r\n inputRefs.current[index] = el;\r\n }}\r\n type=\"tel\"\r\n inputMode=\"numeric\"\r\n maxLength={1}\r\n autoComplete=\"off\"\r\n value={digits[index] || \"\"}\r\n onChange={(e) => handleChange(index, e)}\r\n onKeyDown={(e) => handleKeyDown(index, e)}\r\n onFocus={(e) => {\r\n setFocusedIndex(index);\r\n e.target.select();\r\n }}\r\n onBlur={() => setFocusedIndex(-1)}\r\n style={style}\r\n aria-label={`${index === 0 ? \"Please enter verification code. \" : \"\"}Digit ${index + 1}`}\r\n />\r\n );\r\n })}\r\n </div>\r\n );\r\n};\r\n\r\nexport const BaseModalOTP = ({\r\n isOpen,\r\n phone,\r\n setIsOpen,\r\n otpLength = 6,\r\n onValidateOtp = () => null,\r\n onRequestOtp = () => null,\r\n}) => {\r\n const [countOn, setCountOn] = useState(\"on\");\r\n const [date, setDate] = useState(Date.now() + 120000);\r\n const [otp, setOtp] = useState(\"\");\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n\r\n const handleClose = () => setIsOpen(false);\r\n\r\n const handleChange = (value) => {\r\n setErrorMessage(\"\");\r\n setOtp(value);\r\n\r\n if (value.length === otpLength) {\r\n onValidateOtp(value);\r\n }\r\n };\r\n\r\n const setTime = () => {\r\n setCountOn(\"on\");\r\n setDate(Date.now() + 120000);\r\n setOtp(\"\");\r\n onRequestOtp();\r\n };\r\n\r\n const setOff = () => setCountOn(\"off\");\r\n\r\n return (\r\n <Dialog\r\n open={isOpen}\r\n onClose={handleClose}\r\n maxWidth=\"xs\"\r\n fullWidth\r\n sx={{\r\n \"& .MuiPaper-root\": {\r\n borderRadius: Radius.radius_4,\r\n padding: SpacingToken.spacing4,\r\n maxWidth: 350,\r\n },\r\n }}\r\n >\r\n <DialogTitle sx={{ p: 0 }}>\r\n <IconButton\r\n onClick={handleClose}\r\n sx={{\r\n position: \"absolute\",\r\n right: SpacingToken.spacing2,\r\n top: SpacingToken.spacing2,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </DialogTitle>\r\n\r\n <DialogContent sx={{ p: 0 }}>\r\n <Box\r\n display=\"flex\"\r\n flexDirection=\"column\"\r\n alignItems=\"center\"\r\n textAlign=\"center\"\r\n gap={SpacingToken.spacing4}\r\n >\r\n <Thumblock />\r\n\r\n <Typography\r\n sx={{\r\n ...VariantStyles.header1_semibold,\r\n color: PrimitiveColor.color_palette_neutral_100,\r\n }}\r\n >\r\n Verifikasi OTP\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n ...VariantStyles.body1_regular,\r\n color: PrimitiveColor.color_palette_neutral_70,\r\n maxWidth: 280,\r\n }}\r\n >\r\n Masukkan kode OTP yang telah dikirim ke nomor {phone}\r\n </Typography>\r\n\r\n {/* OTP INPUT */}\r\n <Box width=\"100%\" display=\"flex\" justifyContent=\"center\">\r\n <form\r\n autoComplete=\"off\"\r\n style={{\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n <input type=\"hidden\" name=\"otp\" value={otp} />\r\n <NativeOTPInput\r\n value={otp}\r\n onChange={handleChange}\r\n numInputs={otpLength}\r\n hasError={!!errorMessage}\r\n />\r\n </form>\r\n </Box>\r\n\r\n {errorMessage && (\r\n <Typography\r\n sx={{\r\n ...VariantStyles.caption_regular,\r\n color: PrimitiveColor.color_palette_red,\r\n }}\r\n >\r\n {errorMessage}\r\n </Typography>\r\n )}\r\n\r\n {/* COUNTDOWN */}\r\n {countOn === \"on\" && (\r\n <Countdown\r\n date={date}\r\n onComplete={setOff}\r\n renderer={({ minutes, seconds }) => (\r\n <Typography\r\n sx={{\r\n ...VariantStyles.body1_regular,\r\n color: PrimitiveColor.color_palette_neutral_60,\r\n }}\r\n >\r\n Waktu tersisa {minutes < 10 ? `0${minutes}` : minutes}:\r\n {seconds < 10 ? `0${seconds}` : seconds}\r\n </Typography>\r\n )}\r\n />\r\n )}\r\n\r\n {countOn === \"off\" && (\r\n <Typography\r\n sx={{\r\n ...VariantStyles.body1_regular,\r\n color: PrimitiveColor.color_palette_neutral_60,\r\n }}\r\n >\r\n Waktu habis\r\n </Typography>\r\n )}\r\n\r\n {/* BUTTON */}\r\n {countOn === \"on\" ? (\r\n <BaseButton\r\n variant=\"text\"\r\n color=\"color_palette_blue\"\r\n onClick={handleClose}\r\n >\r\n Batalkan\r\n </BaseButton>\r\n ) : (\r\n <BaseButton\r\n variant=\"fill\"\r\n color=\"color_palette_blue\"\r\n onClick={setTime}\r\n >\r\n Kirim Ulang\r\n </BaseButton>\r\n )}\r\n </Box>\r\n </DialogContent>\r\n </Dialog>\r\n );\r\n};\r\n"]}
1
+ {"version":3,"sources":["../src/components/legacy/atoms/icons/arrow-left.jsx","../src/components/legacy/atoms/icons/add.jsx","../src/components/legacy/atoms/icons/arrow-right.jsx","../src/components/legacy/atoms/icons/auction-hammer.jsx","../src/components/legacy/atoms/icons/biometric-scan.jsx","../src/components/legacy/atoms/icons/broken-image.jsx","../src/components/legacy/atoms/icons/calculator.jsx","../src/components/legacy/atoms/icons/calendar.jsx","../src/components/legacy/atoms/icons/capslock-on.jsx","../src/components/legacy/atoms/icons/card.jsx","../src/components/legacy/atoms/icons/cash.jsx","../src/components/atoms/colors/primitive/primitive.jsx","../src/components/legacy/atoms/icons/checkbox-border.jsx","../src/components/legacy/atoms/icons/checkbox-checked.jsx","../src/components/legacy/atoms/icons/checklist-green.jsx","../src/components/legacy/atoms/icons/chevron-left.jsx","../src/components/legacy/atoms/icons/chevron-right.jsx","../src/components/legacy/atoms/icons/circle-check.jsx","../src/components/legacy/atoms/icons/circle-cross.jsx","../src/components/legacy/atoms/icons/comment-buble.jsx","../src/components/legacy/atoms/icons/confeti.jsx","../src/components/legacy/atoms/icons/cross-line.jsx","../src/components/legacy/atoms/icons/cross.jsx","../src/components/legacy/atoms/icons/dashboard.jsx","../src/components/legacy/atoms/icons/delete-bin.jsx","../src/components/legacy/atoms/icons/document-add-outline.jsx","../src/components/legacy/atoms/icons/document-add.jsx","../src/components/legacy/atoms/icons/document-not-found.jsx","../src/components/legacy/atoms/icons/document-sleve.jsx","../src/components/legacy/atoms/icons/document.jsx","../src/components/legacy/atoms/icons/download-document.jsx","../src/components/legacy/atoms/icons/download-icon.jsx","../src/components/legacy/atoms/icons/download-outline.jsx","../src/components/legacy/atoms/icons/download.jsx","../src/components/legacy/atoms/icons/duplicate.jsx","../src/components/legacy/atoms/icons/edit.jsx","../src/components/legacy/atoms/icons/exclamation.jsx","../src/components/legacy/atoms/icons/file-outline-custom.jsx","../src/components/legacy/atoms/icons/file-outline.jsx","../src/components/legacy/atoms/icons/file-sleve.jsx","../src/components/legacy/atoms/icons/file.jsx","../src/components/legacy/atoms/icons/finger-scan.jsx","../src/components/legacy/atoms/icons/generate-document.jsx","../src/components/legacy/atoms/icons/grading-rounded.jsx","../src/components/legacy/atoms/icons/handstop-sign.jsx","../src/components/legacy/atoms/icons/home-asset.jsx","../src/components/legacy/atoms/icons/home-outlined.jsx","../src/components/legacy/atoms/icons/image.jsx","../src/components/legacy/atoms/icons/info-bg-putih.jsx","../src/components/legacy/atoms/icons/info-hover.jsx","../src/components/legacy/atoms/icons/info.jsx","../src/components/legacy/atoms/icons/list-document.jsx","../src/components/legacy/atoms/icons/modal-close.jsx","../src/components/legacy/atoms/icons/money-icon.jsx","../src/components/legacy/atoms/icons/money-one.jsx","../src/components/legacy/atoms/icons/money-two.jsx","../src/components/legacy/atoms/icons/money.jsx","../src/components/legacy/atoms/icons/no-data.jsx","../src/components/legacy/atoms/icons/not-found.jsx","../src/components/legacy/atoms/icons/people-group.jsx","../src/components/legacy/atoms/icons/people.jsx","../src/components/legacy/atoms/icons/person.jsx","../src/components/legacy/atoms/icons/phone.jsx","../src/components/legacy/atoms/icons/plus.jsx","../src/components/legacy/atoms/icons/progress.jsx","../src/components/legacy/atoms/icons/recycle.jsx","../src/components/legacy/atoms/icons/reset.jsx","../src/components/legacy/atoms/icons/save-outlined.jsx","../src/components/legacy/atoms/icons/save.jsx","../src/components/legacy/atoms/icons/search.jsx","../src/components/legacy/atoms/icons/send-blue.jsx","../src/components/legacy/atoms/icons/send-orange.jsx","../src/components/legacy/atoms/icons/send-white-full.jsx","../src/components/legacy/atoms/icons/send-white.jsx","../src/components/legacy/atoms/icons/shuffle.jsx","../src/components/legacy/atoms/icons/step-on-progress.jsx","../src/components/legacy/atoms/icons/target-dart.jsx","../src/components/legacy/atoms/icons/thumbs-up.jsx","../src/components/legacy/atoms/icons/trash-outline.jsx","../src/components/legacy/atoms/icons/trash.jsx","../src/components/legacy/atoms/icons/upload.jsx","../src/components/legacy/atoms/icons/user-scan.jsx","../src/components/legacy/atoms/icons/user.jsx","../src/components/legacy/atoms/icons/users-icon.jsx","../src/components/legacy/atoms/icons/verification.jsx","../src/components/legacy/atoms/icons/wallet.jsx","../src/components/legacy/atoms/icons/warning-triangle.jsx","../src/components/legacy/atoms/icons/loader-icon.jsx","../src/components/legacy/atoms/icons/upload-icon.jsx","../src/components/legacy/atoms/icons/arrow-up-down-icon.jsx","../src/components/legacy/atoms/icons/maximize-icon.jsx","../src/components/legacy/atoms/icons/minimize-icon.jsx","../src/components/legacy/atoms/icons/suffle-icon.jsx","../src/components/legacy/atoms/icons/refresh-icon.jsx","../src/components/legacy/atoms/icons/reload-icon.jsx","../src/components/legacy/atoms/icons/logout-icon.jsx","../src/components/legacy/atoms/icons/arrow-chevron-down-icon.jsx","../src/components/legacy/atoms/icons/arrow-chevron-up-icon.jsx","../src/components/legacy/atoms/icons/arrow-standard-down-icon.jsx","../src/components/legacy/atoms/icons/arrow-standard-left-icon.jsx","../src/components/legacy/atoms/icons/arrow-standard-right-icon.jsx","../src/components/legacy/atoms/icons/arrow-standard-up-right-icon.jsx","../src/components/legacy/atoms/icons/arrow-standard-up-icon.jsx","../src/components/legacy/atoms/icons/arrow-frame-outline-up-icon.jsx","../src/components/legacy/atoms/icons/arrow-frame-outline-right-icon.jsx","../src/components/legacy/atoms/icons/arrow-frame-outline-down-icon.jsx","../src/components/legacy/atoms/icons/arrow-frame-outline-left-icon.jsx","../src/components/atoms/colors/derived/derived.jsx","../src/components/atoms/radius/radius/radius.jsx","../src/components/atoms/typography/typography/typography.jsx","../src/components/atoms/spacing_layout/spacing/spacing.jsx","../src/components/atoms/alerts/alert/alert.jsx","../src/components/atoms/shadow/shadow/shadow.jsx","../src/components/atoms/buttons/button/button.jsx","../src/components/atoms/skeleton/skeleton/skeleton.jsx","../src/components/atoms/switch/switch/switch.jsx","../src/components/molecules/cards/card/card.jsx","../src/components/molecules/snackbar/snackbar/snackbar.jsx","../src/components/molecules/checkbox/checkbox/checkbox.jsx","../src/components/molecules/datatable/serverside-pagination-actions/serverside-pagination-actions.jsx","../src/components/molecules/datatable/base-datatable/base-datatable.jsx","../src/components/molecules/datepicker/datepicker/datepicker.jsx","../src/components/molecules/dropdown/dropdown/dropdown.jsx","../src/components/molecules/dropzone/dropzone/dropzone.jsx","../src/components/molecules/radio/radio/radio.jsx","../src/components/molecules/stepper/stepper/stepper.jsx","../src/components/molecules/textfields/textfield/textfield.jsx","../src/components/molecules/textfields/textfield-upload/textfield-upload.jsx","../src/components/molecules/textfields/textfield-area/imports.jsx","../src/components/molecules/textfields/textfield-area/textfield-area.jsx","../src/components/organisms/modals/modal/modal.jsx","../src/components/organisms/modals/modal-alert/modal-alert.jsx","../src/components/legacy/atoms/icons/loading-dots.jsx","../src/components/organisms/modals/modal-loading/modal-loading.jsx","../src/components/organisms/modals/modal-popup/modal-popup.jsx","../src/components/organisms/modals/modal-stepper/modal-stepper.jsx","../src/components/organisms/modals/modal-otp/modal-otp.jsx"],"names":["jsx","jsxs","_a","_b","Box","BoxRaw","useState","Alert","AlertRaw","IconButton","IconButtonRaw","useMemo","isValidElement","createElement","CheckboxRaw","id","IconSquare","IconSquareCheckFilled","_c","_d","_e","PropTypes","React","TypographyRaw","DatePickerRaw","DateTimePickerRaw","TimePickerRaw","useController","useEffect","Fragment","CloseIcon","Typography","IconTrash","IconUpload","IconAlertTriangle","FormControlLabel","FormControlLabelRaw","CheckIconRaw","styled","steps","InputAdornment","InputAdornmentRaw","TextField","TextFieldRaw","useRef","useCallback","allowedKeys","e","pastedData","selectionStart","selectionEnd","IconAlertCircleFilled","Button","ButtonRaw","Dialog","DialogRaw","DialogContent","DialogContentRaw","DialogActions","DialogActionsRaw","IconCircleCheck","IconAlertCircle","IconInfoCircle","IconX","_modalRef","setModalRef","show","hide","HEADER_COLORS","Watermark","CloseIconRaw","CheckIcon","FailedIconRaw","DialogTitle","DialogTitleRaw","Stepper","StepperRaw","Step","StepRaw","StepLabel","StepLabelRaw","Tooltip","TooltipRaw","CircularProgress","CircularProgressRaw","HtmlTooltip","tooltipClasses","CustomCheckIcon","ColorlibStepIcon","props"],"mappings":"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","file":"index.mjs","sourcesContent":["export const ArrowLeft = ({ color }) => {\r\n return (\r\n // <svg\r\n // width='18'\r\n // height='19'\r\n // viewBox='0 0 18 19'\r\n // fill={color ? color : 'none'}\r\n // xmlns='http://www.w3.org/2000/svg'\r\n // >\r\n // <circle cx='9' cy='9.41992' r='9' fill='#E84040' />\r\n // <path\r\n // d='M5.30914 5.66992L12.5625 12.9824M12.5034 5.66992L5.25 12.9824'\r\n // stroke='white'\r\n // strokeWidth='1.51198'\r\n // strokeLinecap='round'\r\n // />\r\n // </svg>\r\n <svg \r\n width=\"8\" \r\n height=\"15\" \r\n viewBox=\"0 0 8 15\" \r\n fill={color ? color : 'none'} \r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n\r\n <path \r\n d=\"M7.40185 14.5137C7.49633 14.42 7.57132 14.3085 7.62249 14.1856C7.67366 14.0628 7.70001 13.9311 7.70001 13.798C7.70001 13.6649 7.67366 13.5332 7.62249 13.4104C7.57132 13.2875 7.49633 13.176 7.40185 13.0823L2.78528 8.46574C2.6908 8.37204 2.61582 8.26055 2.56464 8.13772C2.51347 8.01489 2.48712 7.88314 2.48712 7.75007C2.48712 7.61701 2.51347 7.48526 2.56464 7.36242C2.61582 7.23959 2.6908 7.12811 2.78528 7.0344L7.40185 2.41782C7.49633 2.32411 7.57132 2.21263 7.62249 2.08979C7.67367 1.96696 7.70001 1.83521 7.70001 1.70215C7.70001 1.56908 7.67367 1.43733 7.62249 1.3145C7.57132 1.19166 7.49633 1.08018 7.40185 0.986475C7.21299 0.798736 6.95752 0.693359 6.69122 0.693359C6.42493 0.693359 6.16945 0.798736 5.98059 0.986475L1.35394 5.61314C0.787654 6.18013 0.469575 6.94872 0.469575 7.75007C0.469575 8.55143 0.787654 9.32001 1.35394 9.88701L5.98059 14.5137C6.16945 14.7014 6.42493 14.8068 6.69122 14.8068C6.95752 14.8068 7.21299 14.7014 7.40185 14.5137Z\" \r\n fill=\"#004B8F\"/>\r\n </svg>\r\n )\r\n}\r\n","export const IconAdd = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clipPath=\"url(#clip0_3991_92058)\">\r\n <path d=\"M5 12H19\" stroke={color ?? \"#ffffff\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path d=\"M12 5L12 19\" stroke={color ?? \"#ffffff\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3991_92058\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n );\r\n};\r\n","export const ArrowRight = (color) => {\r\n return (\r\n <svg width=\"90\" height=\"18\" viewBox=\"0 0 90 18\" fill={color ? color : 'none'} xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M89.3624 9L74.3624 0.339746V17.6603L89.3624 9ZM0.339966 10.5H75.8624V7.5H0.339966V10.5Z\" fill=\"#00529C\"/>\r\n </svg>\r\n )\r\n }\r\n ","export const AuctionHammerIcon = ({ color, outline }) => {\r\n return (\r\n <svg\r\n width='18'\r\n height='18'\r\n viewBox='0 0 16 16'\r\n fill={color ? color : 'none'}\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M8.80719 6.48498L14.5222 12.2272C15.1593 12.862 15.1593 13.89 14.5222 14.5239C14.2162 14.8284 13.802 14.9992 13.3704 14.9992C12.9387 14.9992 12.5246 14.8284 12.2185 14.5239L6.48496 8.80726M8.80719 6.48498L5.71089 3.38861M8.80719 6.48498L9.19421 6.8721L10.9692 5.09711C11.1143 4.95194 11.1958 4.75508 11.1958 4.54982C11.1958 4.34456 11.1143 4.1477 10.9692 4.00254L8.19333 1.22664C8.04817 1.08152 7.85131 1 7.64606 1C7.4408 1 7.24394 1.08152 7.09878 1.22664L5.32383 3.00164L5.71089 3.38861M8.80719 6.48498L6.48496 8.80726M6.48496 8.80726L3.38866 5.71089M6.48496 8.80726L6.87198 9.19438L5.09702 10.9694C4.95186 11.1145 4.75501 11.196 4.54975 11.196C4.34449 11.196 4.14764 11.1145 4.00248 10.9694L1.22664 8.19348C1.08152 8.04831 1 7.85145 1 7.64619C1 7.44093 1.08152 7.24407 1.22664 7.09891L3.0016 5.32392L3.38866 5.71089M3.38866 5.71089L5.71089 3.38861M1.06643 15H6.48496'\r\n stroke={outline ? outline : '#00529C'}\r\n strokeWidth='1.35'\r\n strokeLinecap='round'\r\n strokeLinejoin='round'\r\n />\r\n </svg>\r\n )\r\n}\r\n","export const IconBiometricScan = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"64\" height=\"64\" viewBox=\"0 0 64 64\" fill=\"none\">\r\n <path d=\"M8 17V14C8 12.4087 8.63214 10.8826 9.75736 9.75736C10.8826 8.63214 12.4087 8 14 8H20M8 47V50C8 51.5913 8.63214 53.1174 9.75736 54.2426C10.8826 55.3679 12.4087 56 14 56H20M44 8H50C51.5913 8 53.1174 8.63214 54.2426 9.75736C55.3679 10.8826 56 12.4087 56 14V17M44 56H50C51.5913 56 53.1174 55.3679 54.2426 54.2426C55.3679 53.1174 56 51.5913 56 50V47\" stroke=\"#00529C\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path d=\"M28 29.3333H28.0133M36 29.3333H36.0133M28.6667 36C29.1012 36.4435 29.6198 36.7958 30.1922 37.0363C30.7645 37.2768 31.3791 37.4007 32 37.4007C32.6209 37.4007 33.2355 37.2768 33.8078 37.0363C34.3802 36.7958 34.8988 36.4435 35.3333 36M20 32C20 33.5759 20.3104 35.1363 20.9134 36.5922C21.5165 38.0481 22.4004 39.371 23.5147 40.4853C24.629 41.5996 25.9519 42.4835 27.4078 43.0866C28.8637 43.6896 30.4241 44 32 44C33.5759 44 35.1363 43.6896 36.5922 43.0866C38.0481 42.4835 39.371 41.5996 40.4853 40.4853C41.5996 39.371 42.4835 38.0481 43.0866 36.5922C43.6896 35.1363 44 33.5759 44 32C44 30.4241 43.6896 28.8637 43.0866 27.4078C42.4835 25.9519 41.5996 24.629 40.4853 23.5147C39.371 22.4004 38.0481 21.5165 36.5922 20.9134C35.1363 20.3104 33.5759 20 32 20C30.4241 20 28.8637 20.3104 27.4078 20.9134C25.9519 21.5165 24.629 22.4004 23.5147 23.5147C22.4004 24.629 21.5165 25.9519 20.9134 27.4078C20.3104 28.8637 20 30.4241 20 32Z\" stroke={color ?? \"none\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n };","export const IconBrokenImage = ({ color }) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <g clipPath=\"url(#clip0_7033_1971)\">\r\n <path d=\"M15 8H15.01\" stroke={color ?? '#999999'} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path d=\"M7 3H18C18.7956 3 19.5587 3.31607 20.1213 3.87868C20.6839 4.44129 21 5.20435 21 6V17M20.144 20.099C19.8649 20.3847 19.5314 20.6117 19.1632 20.7664C18.7949 20.9212 18.3994 21.0006 18 21H6C5.20435 21 4.44129 20.6839 3.87868 20.1213C3.31607 19.5587 3 18.7956 3 18V6C3 5.155 3.349 4.392 3.91 3.847\" stroke={color ?? '#999999'} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path d=\"M3 15.9979L8 10.9979C8.928 10.1049 10.072 10.1049 11 10.9979L16 15.9979\" stroke={color ?? '#999999'} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path d=\"M16.3281 12.3361C16.9021 12.2821 17.4831 12.5021 17.9981 12.9981L20.9981 15.9981\" stroke={color ?? '#999999'} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path d=\"M3 3L21 21\" stroke={color ?? '#999999'} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_7033_1971\">\r\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n )\r\n}","import * as React from \"react\";\r\n\r\nexport const CalculatorIcon = (color) => {\r\n return (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"18\"\r\n height=\"20\"\r\n fill={color ? color : \"none\"} // <-- bisa pakai color prop\r\n viewBox=\"0 0 23 25\"\r\n >\r\n <path\r\n d=\"M17.375 24.058H5.615a4.906 4.906 0 0 1-4.9-4.9V5.438a4.906 4.906 0 0 1 4.9-4.9h11.76a4.906 4.906 0 0 1 4.9 4.9v13.72a4.906 4.906 0 0 1-4.9 4.9M5.615 2.498a2.94 2.94 0 0 0-2.94 2.94v13.72a2.94 2.94 0 0 0 2.94 2.94h11.76a2.94 2.94 0 0 0 2.94-2.94V5.438a2.94 2.94 0 0 0-2.94-2.94zm9.8 7.84h-7.84a2.94 2.94 0 1 1 0-5.88h7.84a2.94 2.94 0 1 1 0 5.88m-7.84-3.92a.98.98 0 0 0 0 1.96h7.84a.98.98 0 0 0 0-1.96zm-1.96 6.86a.98.98 0 1 0 0 1.96.98.98 0 0 0 0-1.96m3.92 0a.98.98 0 1 0 0 1.96.98.98 0 0 0 0-1.96m3.92 0a.98.98 0 1 0 0 1.96.98.98 0 0 0 0-1.96m-7.84 3.92a.98.98 0 1 0 0 1.96.98.98 0 0 0 0-1.96m3.92 0a.98.98 0 1 0 0 1.96.98.98 0 0 0 0-1.96m7.84-3.92a.98.98 0 1 0 0 1.96.98.98 0 0 0 0-1.96m.98 4.9a.98.98 0 0 0-.98-.98h-3.92a.98.98 0 0 0 0 1.96h3.92a.98.98 0 0 0 .98-.98\"\r\n fill={color ? color : \"#fff\"} // <-- default putih kalau ga dikasih color\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconCalendar = ({ color }) => {\r\n return (\r\n <svg\r\n width='20'\r\n height='20'\r\n viewBox='0 0 20 20'\r\n fill='none'\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M17.0455 0C17.8291 0 18.5805 0.311281 19.1346 0.865366C19.6887 1.41945 20 2.17095 20 2.95455V17.0455C20 17.8291 19.6887 18.5805 19.1346 19.1346C18.5805 19.6887 17.8291 20 17.0455 20H2.95455C2.17095 20 1.41945 19.6887 0.865366 19.1346C0.311281 18.5805 0 17.8291 0 17.0455V2.95455C0 2.17095 0.311281 1.41945 0.865366 0.865366C1.41945 0.311281 2.17095 0 2.95455 0H17.0455ZM18.6364 5.91182H1.36364V17.0455C1.36364 17.9236 2.07636 18.6364 2.95455 18.6364H17.0455C17.4674 18.6364 17.872 18.4688 18.1704 18.1704C18.4688 17.872 18.6364 17.4674 18.6364 17.0455V5.91182ZM5.22636 13.1827C5.52775 13.1827 5.81678 13.3025 6.02989 13.5156C6.243 13.7287 6.36273 14.0177 6.36273 14.3191C6.36273 14.6205 6.243 14.9095 6.02989 15.1226C5.81678 15.3357 5.52775 15.4555 5.22636 15.4555C4.92498 15.4555 4.63594 15.3357 4.42283 15.1226C4.20972 14.9095 4.09 14.6205 4.09 14.3191C4.09 14.0177 4.20972 13.7287 4.42283 13.5156C4.63594 13.3025 4.92498 13.1827 5.22636 13.1827ZM10.0027 13.1827C10.3041 13.1827 10.5931 13.3025 10.8063 13.5156C11.0194 13.7287 11.1391 14.0177 11.1391 14.3191C11.1391 14.6205 11.0194 14.9095 10.8063 15.1226C10.5931 15.3357 10.3041 15.4555 10.0027 15.4555C9.70135 15.4555 9.41231 15.3357 9.1992 15.1226C8.98609 14.9095 8.86636 14.6205 8.86636 14.3191C8.86636 14.0177 8.98609 13.7287 9.1992 13.5156C9.41231 13.3025 9.70135 13.1827 10.0027 13.1827ZM5.22636 8.63727C5.52775 8.63727 5.81678 8.757 6.02989 8.97011C6.243 9.18322 6.36273 9.47225 6.36273 9.77364C6.36273 10.075 6.243 10.3641 6.02989 10.5772C5.81678 10.7903 5.52775 10.91 5.22636 10.91C4.92498 10.91 4.63594 10.7903 4.42283 10.5772C4.20972 10.3641 4.09 10.075 4.09 9.77364C4.09 9.47225 4.20972 9.18322 4.42283 8.97011C4.63594 8.757 4.92498 8.63727 5.22636 8.63727ZM10.0027 8.63727C10.3041 8.63727 10.5931 8.757 10.8063 8.97011C11.0194 9.18322 11.1391 9.47225 11.1391 9.77364C11.1391 10.075 11.0194 10.3641 10.8063 10.5772C10.5931 10.7903 10.3041 10.91 10.0027 10.91C9.70135 10.91 9.41231 10.7903 9.1992 10.5772C8.98609 10.3641 8.86636 10.075 8.86636 9.77364C8.86636 9.47225 8.98609 9.18322 9.1992 8.97011C9.41231 8.757 9.70135 8.63727 10.0027 8.63727ZM14.78 8.63727C15.0814 8.63727 15.3704 8.757 15.5835 8.97011C15.7966 9.18322 15.9164 9.47225 15.9164 9.77364C15.9164 10.075 15.7966 10.3641 15.5835 10.5772C15.3704 10.7903 15.0814 10.91 14.78 10.91C14.4786 10.91 14.1896 10.7903 13.9765 10.5772C13.7634 10.3641 13.6436 10.075 13.6436 9.77364C13.6436 9.47225 13.7634 9.18322 13.9765 8.97011C14.1896 8.757 14.4786 8.63727 14.78 8.63727ZM17.0455 1.36364H2.95455C2.53261 1.36364 2.12796 1.53125 1.8296 1.8296C1.53125 2.12796 1.36364 2.53261 1.36364 2.95455V4.54818H18.6364V2.95455C18.6364 2.53261 18.4688 2.12796 18.1704 1.8296C17.872 1.53125 17.4674 1.36364 17.0455 1.36364Z'\r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n )\r\n}\r\n","export const CapsLockOn = ({ color }) => {\r\n return (\r\n <svg\r\n width=\"18\"\r\n height=\"18\"\r\n viewBox=\"0 0 18 18\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <rect width=\"18\" height=\"18\" rx=\"3\" fill=\"#A0A0A0\" />\r\n <path\r\n d=\"M4.38533 9.0119H6.20667V11.1484C6.20667 11.3498 6.27432 11.5194 6.40965 11.6574C6.54497 11.7954 6.70772 11.8643 6.89789 11.8643H11.1111C11.3013 11.8643 11.4659 11.7954 11.6048 11.6574C11.7438 11.5194 11.8133 11.3498 11.8133 11.1484V9.0119H13.6127C13.7005 9.0119 13.7736 8.96342 13.8321 8.86648C13.8907 8.76953 13.9163 8.65394 13.9089 8.51971C13.9016 8.38548 13.8541 8.27361 13.7663 8.18413L9.49823 3.48597C9.36657 3.34428 9.20199 3.27344 9.0045 3.27344C8.807 3.27344 8.63877 3.34428 8.49979 3.48597L4.24269 8.18413C4.15492 8.27361 4.10555 8.38548 4.09457 8.51971C4.0836 8.65394 4.10738 8.76953 4.16589 8.86648C4.22441 8.96342 4.29755 9.0119 4.38533 9.0119ZM11.1111 12.5691H6.89789C6.70772 12.5691 6.54497 12.6399 6.40965 12.7816C6.27432 12.9233 6.20667 13.0911 6.20667 13.285V14.0121C6.20667 14.206 6.27432 14.3738 6.40965 14.5154C6.54497 14.6571 6.70772 14.728 6.89789 14.728H11.1111C11.3013 14.728 11.4659 14.659 11.6048 14.521C11.7438 14.3831 11.8133 14.2134 11.8133 14.0121V13.285C11.8133 13.0911 11.7438 12.9233 11.6048 12.7816C11.4659 12.6399 11.3013 12.5691 11.1111 12.5691Z\"\r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconCardOrange = ({ color }) => {\r\n return (\r\n <svg \r\n width=\"39\" \r\n height=\"30\" \r\n viewBox=\"0 0 39 30\" \r\n fill=\"none\" \r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path \r\n d=\"M0.666016 25C0.666016 26.3261 1.17085 27.5979 2.06946 28.5355C2.96807 29.4732 4.18685 30 5.45768 30H34.2077C35.4785 30 36.6973 29.4732 37.5959 28.5355C38.4945 27.5979 38.9993 26.3261 38.9993 25V12.5H0.666016V25ZM28.2181 22.5C27.9004 22.5 27.5957 22.3683 27.371 22.1339C27.1464 21.8995 27.0202 21.5815 27.0202 21.25V18.75C27.0202 18.4185 27.1464 18.1005 27.371 17.8661C27.5957 17.6317 27.9004 17.5 28.2181 17.5H33.0098C33.3275 17.5 33.6322 17.6317 33.8568 17.8661C34.0815 18.1005 34.2077 18.4185 34.2077 18.75V21.25C34.2077 21.5815 34.0815 21.8995 33.8568 22.1339C33.6322 22.3683 33.3275 22.5 33.0098 22.5H28.2181ZM0.666016 7.5V5C0.666016 3.67392 1.17085 2.40215 2.06946 1.46447C2.96807 0.526785 4.18685 0 5.45768 0H34.2077C35.4785 0 36.6973 0.526785 37.5959 1.46447C38.4945 2.40215 38.9993 3.67392 38.9993 5V7.5H0.666016Z\" \r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n )\r\n}","export const CashIcon = ({ color, outline }) => {\r\n return (\r\n <svg\r\n width='20'\r\n height='20'\r\n viewBox='0 0 16 16'\r\n fill={color ? color : 'none'}\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M12 8H12.0067M4 8H4.00667M6 8C6 8.53043 6.21071 9.03914 6.58579 9.41421C6.96086 9.78929 7.46957 10 8 10C8.53043 10 9.03914 9.78929 9.41421 9.41421C9.78929 9.03914 10 8.53043 10 8C10 7.46957 9.78929 6.96086 9.41421 6.58579C9.03914 6.21071 8.53043 6 8 6C7.46957 6 6.96086 6.21071 6.58579 6.58579C6.21071 6.96086 6 7.46957 6 8ZM2 5.33333C2 4.97971 2.14048 4.64057 2.39052 4.39052C2.64057 4.14048 2.97971 4 3.33333 4H12.6667C13.0203 4 13.3594 4.14048 13.6095 4.39052C13.8595 4.64057 14 4.97971 14 5.33333V10.6667C14 11.0203 13.8595 11.3594 13.6095 11.6095C13.3594 11.8595 13.0203 12 12.6667 12H3.33333C2.97971 12 2.64057 11.8595 2.39052 11.6095C2.14048 11.3594 2 11.0203 2 10.6667V5.33333Z'\r\n stroke={outline ? outline : '#00529C'}\r\n strokeWidth='1.5'\r\n strokeLinecap='round'\r\n strokeLinejoin='round'\r\n />\r\n </svg>\r\n )\r\n}\r\n","const RAW_COLORS = {\r\n neutral: {\r\n 50: \"#FFFFFF\",\r\n 100: \"#F5F7FB\",\r\n 200: \"#E9EEF6\",\r\n 300: \"#E0E5EB\",\r\n 400: \"#B3BECC\",\r\n 500: \"#A3B1C1\",\r\n 600: \"#7B90A6\",\r\n 700: \"#465668\",\r\n 900: \"#181C21\",\r\n },\r\n\r\n blue_cakrawala: {\r\n 100: \"#EAF2FC\",\r\n 200: \"#E6EEFF\",\r\n 300: \"#83B2EE\",\r\n 400: \"#5999E8\",\r\n 500: \"#307FE2\",\r\n 600: \"#2666B5\",\r\n 700: \"#1D4C88\",\r\n 800: \"#0E2644\",\r\n 900: \"#0A192D\",\r\n },\r\n\r\n blue_mentari: {\r\n 100: \"#E5F3FB\",\r\n 300: \"#ADDBF2\",\r\n 400: \"#8CD0EE\",\r\n 500: \"#71C5E8\",\r\n 600: \"#5799B5\",\r\n 700: \"#3E7186\",\r\n 900: \"#132831\",\r\n },\r\n\r\n blue_neon: {\r\n 100: \"#F0FCFF\",\r\n 300: \"#CDF5FE\",\r\n 400: \"#9BEBFD\",\r\n 500: \"#14D1FB\",\r\n 600: \"#04B1D8\",\r\n 700: \"#0388A5\",\r\n 900: \"#025F73\",\r\n },\r\n\r\n blue_sky: {\r\n 100: \"#EBF8FF\",\r\n 300: \"#BDE7FF\",\r\n 400: \"#80D1FF\",\r\n 500: \"#15A9F4\",\r\n 600: \"#0A8BCD\",\r\n 700: \"#076A9C\",\r\n 900: \"#032436\",\r\n },\r\n\r\n green: {\r\n 100: \"#DEF7EA\",\r\n 300: \"#C9F3DB\",\r\n 400: \"#A1DDBB\",\r\n 500: \"#27AE60\",\r\n 600: \"#1E8549\",\r\n 700: \"#145C33\",\r\n 900: \"#0A2E19\",\r\n },\r\n\r\n red: {\r\n 100: \"#FDEDED\",\r\n 300: \"#F8C4C4\",\r\n 400: \"#F28D8D\",\r\n 500: \"#E84040\",\r\n 600: \"#DA1A1A\",\r\n 700: \"#AD1414\",\r\n 900: \"#320606\",\r\n },\r\n\r\n yellow: {\r\n 100: \"#FFF9EB\",\r\n 300: \"#FFEBBD\",\r\n 400: \"#FFD980\",\r\n 500: \"#FFBE26\",\r\n 600: \"#F0A800\",\r\n 700: \"#BD8400\",\r\n 900: \"#382700\",\r\n },\r\n\r\n briva: {\r\n 100: \"#EFFAFA\",\r\n 300: \"#CCF0F0\",\r\n 400: \"#9CE2E2\",\r\n 500: \"#58CFCF\",\r\n 600: \"#37BEBE\",\r\n 700: \"#2B9696\",\r\n 900: \"#0D2C2C\",\r\n },\r\n\r\n brizzi: {\r\n 100: \"#EBFFF8\",\r\n 300: \"#BEFDE8\",\r\n 400: \"#83FBD3\",\r\n 500: \"#05D78F\",\r\n 600: \"#04A46D\",\r\n 700: \"#03734D\",\r\n 900: \"#013724\",\r\n },\r\n\r\n};\r\n\r\nexport const PrimitiveColor = Object.entries(RAW_COLORS).reduce(\r\n (acc, [category, values]) => {\r\n Object.entries(values).forEach(([key, value]) => {\r\n if (\r\n category === \"neutral\" ||\r\n category === \"blue_cakrawala\" ||\r\n category === \"blue_mentari\" ||\r\n category === \"blue_neon\" ||\r\n category === \"blue_sky\" ||\r\n category === \"green\" ||\r\n category === \"red\" ||\r\n category === \"yellow\" ||\r\n category === \"briva\" ||\r\n category === \"brizzi\"\r\n ) {\r\n acc[`color_${category}_${key}`] = value;\r\n return;\r\n }\r\n\r\n acc[`color_${key}`] = value;\r\n });\r\n\r\n return acc;\r\n },\r\n {}\r\n);","import { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\n\r\nexport const CheckboxBorder = ({\r\n disabled,\r\n color,\r\n size = 20,\r\n}) => {\r\n const strokeColor = disabled\r\n ? PrimitiveColor.color_palette_neutral_30\r\n : color || PrimitiveColor.color_palette_neutral_40;\r\n\r\n return (\r\n <svg\r\n width={size}\r\n height={size}\r\n viewBox=\"0 0 20 20\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <rect\r\n x=\"1\"\r\n y=\"1\"\r\n width=\"18\"\r\n height=\"18\"\r\n rx=\"5\"\r\n stroke={strokeColor}\r\n strokeWidth=\"2\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","import { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\n\r\nexport const CheckboxChecked = ({\r\n disabled,\r\n color,\r\n size = 20,\r\n}) => {\r\n const fillColor = disabled\r\n ? PrimitiveColor.color_palette_neutral_70\r\n : color || PrimitiveColor.color_palette_blue;\r\n\r\n return (\r\n <svg\r\n width={size}\r\n height={size}\r\n viewBox=\"0 0 20 20\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <rect\r\n width=\"20\"\r\n height=\"20\"\r\n rx=\"6\"\r\n fill={fillColor}\r\n />\r\n\r\n <path\r\n d=\"M14.8652 4.97761C15.0876 4.77982 15.3834 4.67047 15.6903 4.67264C15.9973 4.67481 16.2913 4.78833 16.5104 4.98924C16.7295 5.19016 16.8565 5.46275 16.8646 5.74951C16.8727 6.03626 16.7613 6.31475 16.5539 6.5262L10.257 13.8857C10.1487 13.9947 10.018 14.0822 9.87275 14.1429C9.72748 14.2036 9.57059 14.2363 9.41148 14.239C9.25237 14.2418 9.0943 14.2145 8.94672 14.1589C8.79914 14.1033 8.66508 14.0204 8.55256 13.9152L4.37672 10.0127C4.26043 9.91148 4.16716 9.78937 4.10247 9.65368C4.03777 9.51799 4.00299 9.37152 4.00018 9.223C3.99738 9.07448 4.02662 8.92695 4.08615 8.78922C4.14568 8.65148 4.23428 8.52637 4.34668 8.42133C4.45907 8.31629 4.59295 8.23349 4.74034 8.17786C4.88772 8.12222 5.04558 8.0949 5.20451 8.09752C5.36344 8.10014 5.52017 8.13265 5.66536 8.19311C5.81055 8.25356 5.94122 8.34073 6.04958 8.44941L9.35427 11.5363L14.8353 5.01006Z\"\r\n fill={PrimitiveColor.color_palette_neutral_10}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const ChecklistGreen = () => {\r\n return (\r\n <svg\r\n width=\"18\"\r\n height=\"18\"\r\n viewBox=\"0 0 74 74\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <circle cx=\"37\" cy=\"37\" r=\"37\" fill=\"#00871F\" />\r\n <path\r\n d=\"M50.7324 22.9838C51.3839 22.3635 52.2509 22.0206 53.1504 22.0274C54.05 22.0342 54.9117 22.3902 55.5537 23.0203C56.1958 23.6503 56.568 24.5052 56.5917 25.4044C56.6155 26.3037 56.289 27.177 55.6812 27.8401L37.2274 50.9188C36.9101 51.2606 36.5271 51.5349 36.1014 51.7253C35.6756 51.9156 35.2159 52.0182 34.7496 52.0268C34.2833 52.0355 33.82 51.95 33.3875 51.7755C32.955 51.601 32.5622 51.3411 32.2324 51.0113L19.9947 38.7736C19.6538 38.456 19.3805 38.073 19.1909 37.6475C19.0013 37.222 18.8994 36.7627 18.8912 36.297C18.8829 35.8312 18.9686 35.3686 19.1431 34.9367C19.3175 34.5047 19.5772 34.1124 19.9066 33.783C20.236 33.4536 20.6283 33.194 21.0603 33.0195C21.4922 32.845 21.9548 32.7594 22.4206 32.7676C22.8863 32.7758 23.3456 32.8777 23.7711 33.0673C24.1966 33.2569 24.5796 33.5303 24.8972 33.8711L34.5819 43.5512L50.6445 23.0856C50.6735 23.05 50.7043 23.016 50.737 22.9838H50.7324Z\"\r\n fill=\"white\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconChevronLeft = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M12.5 5L7.5 10L12.5 15\" stroke={color ?? \"white\"} strokeWidth=\"1.67\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n};\r\n","export const IconChevronRight = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"><path d=\"M7.5 5L12.5 10L7.5 15\" stroke={color ?? \"white\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/></svg>\r\n );\r\n};\r\n","export const CircleCheck = ({\r\n color = \"#27AE60\",\r\n width = \"18\",\r\n height = \"18\",\r\n}) => (\r\n <svg\r\n width={width}\r\n height={height}\r\n viewBox=\"0 0 18 18\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M13.167 1.78357C14.4239 2.50928 15.4694 3.55067 16.2002 4.80465C16.9309 6.05863 17.3215 7.48171 17.3332 8.93302C17.3449 10.3843 16.9774 11.8135 16.267 13.0791C15.5566 14.3448 14.528 15.4029 13.283 16.1488C12.038 16.8948 10.6198 17.3026 9.16874 17.332C7.71768 17.3613 6.28412 17.0112 5.00995 16.3163C3.73579 15.6213 2.66522 14.6057 1.90421 13.3698C1.14321 12.134 0.718167 10.7208 0.671159 9.27024L0.666992 9.00024L0.671159 8.73024C0.717828 7.29106 1.13662 5.88854 1.88669 4.6594C2.63677 3.43026 3.69254 2.41645 4.95107 1.7168C6.2096 1.01716 7.62795 0.655567 9.06783 0.667267C10.5077 0.678968 11.92 1.06357 13.167 1.78357ZM12.0895 6.7444C11.946 6.60092 11.7551 6.51473 11.5526 6.502C11.35 6.48926 11.1498 6.55086 10.9895 6.67524L10.9112 6.7444L8.16699 9.48774L7.08949 8.41107L7.01116 8.3419C6.85081 8.21761 6.65064 8.15609 6.44816 8.16886C6.24569 8.18164 6.05483 8.26783 5.91138 8.41129C5.76792 8.55474 5.68173 8.7456 5.66895 8.94807C5.65618 9.15054 5.71771 9.35072 5.84199 9.51107L5.91116 9.5894L7.57783 11.2561L7.65616 11.3252C7.8023 11.4386 7.98202 11.5002 8.16699 11.5002C8.35197 11.5002 8.53168 11.4386 8.67783 11.3252L8.75616 11.2561L12.0895 7.92274L12.1587 7.8444C12.283 7.68407 12.3446 7.48386 12.3319 7.28133C12.3192 7.07881 12.233 6.8879 12.0895 6.7444Z\"\r\n fill={color}\r\n />\r\n </svg>\r\n);\r\n","export const CircleCross = ({\r\n color = \"#E84040\",\r\n width = \"17\",\r\n height = \"18\",\r\n}) => (\r\n <svg\r\n width={width}\r\n height={height}\r\n viewBox=\"0 0 17 18\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n fillRule=\"evenodd\"\r\n clipRule=\"evenodd\"\r\n d=\"M8.25195 0.751953C7.16855 0.751953 6.09575 0.965346 5.09481 1.37995C4.09388 1.79455 3.18441 2.40224 2.41832 3.16832C1.65224 3.93441 1.04455 4.84388 0.629947 5.84481C0.215346 6.84575 0.00195312 7.91855 0.00195312 9.00195C0.00195312 10.0854 0.215346 11.1582 0.629947 12.1591C1.04455 13.16 1.65224 14.0695 2.41832 14.8356C3.1844 15.6017 4.09388 16.2094 5.09481 16.624C6.09575 17.0386 7.16855 17.252 8.25195 17.252C9.33536 17.252 10.4082 17.0386 11.4091 16.624C12.41 16.2094 13.3195 15.6017 14.0856 14.8356C14.8517 14.0695 15.4594 13.16 15.874 12.1591C16.2886 11.1582 16.502 10.0854 16.502 9.00195C16.502 7.91855 16.2886 6.84575 15.874 5.84481C15.4594 4.84388 14.8517 3.9344 14.0856 3.16832C13.3195 2.40224 12.41 1.79455 11.4091 1.37995C10.4082 0.965346 9.33536 0.751953 8.25195 0.751953ZM6.05496 6.80496C6.34785 6.51206 6.82272 6.51206 7.11562 6.80496L8.25195 7.94129L9.38829 6.80496C9.68118 6.51206 10.1561 6.51206 10.4489 6.80496C10.7418 7.09785 10.7418 7.57272 10.4489 7.86562L9.31261 9.00195L10.4489 10.1383C10.7418 10.4312 10.7418 10.9061 10.4489 11.1989C10.1561 11.4918 9.68118 11.4918 9.38829 11.1989L8.25195 10.0626L7.11562 11.1989C6.82272 11.4918 6.34785 11.4918 6.05496 11.1989C5.76206 10.9061 5.76206 10.4312 6.05496 10.1383L7.19129 9.00195L6.05496 7.86562C5.76206 7.57272 5.76206 7.09785 6.05496 6.80496Z\"\r\n fill={color}\r\n />\r\n </svg>\r\n);\r\n","export const CommentBuble = () => {\r\n return (\r\n <svg width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clipPath=\"url(#clip0_10455_26601)\">\r\n <path d=\"M4.017 18.341C4.1727 18.4973 4.292 18.686 4.36641 18.8937C4.44082 19.1014 4.46851 19.3229 4.4475 19.5425C4.34182 20.5588 4.14196 21.5631 3.8505 22.5425C5.943 22.058 7.221 21.497 7.8015 21.203C8.13076 21.0362 8.50993 20.9967 8.8665 21.092C9.88845 21.3655 10.9421 21.5027 12 21.5C17.994 21.5 22.5 17.2895 22.5 12.5C22.5 7.7105 17.994 3.5 12 3.5C6.006 3.5 1.5 7.712 1.5 12.5C1.5 14.702 2.4255 16.745 4.017 18.341ZM3.2775 24.1985C2.92209 24.2689 2.56554 24.3334 2.208 24.392C1.908 24.44 1.68 24.128 1.7985 23.849C1.93133 23.5348 2.0534 23.2161 2.1645 22.8935L2.169 22.8785C2.541 21.7985 2.844 20.5565 2.955 19.4C1.1145 17.555 0 15.14 0 12.5C0 6.701 5.373 2 12 2C18.627 2 24 6.701 24 12.5C24 18.299 18.627 23 12 23C10.8114 23.0026 9.62768 22.8483 8.4795 22.541C7.6995 22.9355 6.021 23.654 3.2775 24.1985Z\" fill=\"#00529C\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10455_26601\">\r\n <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0 0.5)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n )\r\n }\r\n ","export const IconConfeti = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M4 5H6M5 4V6M11.5 4L11 6M18 5H20M19 4V6M15 9L14 10M18 13L20 12.5M18 19H20M19 18V20M14.0018 16.518L7.48376 10L3.09376 19.58C3.00699 19.766 2.97955 19.9742 3.01518 20.1763C3.0508 20.3785 3.14776 20.5647 3.29289 20.7099C3.43802 20.855 3.6243 20.952 3.82643 20.9876C4.02856 21.0232 4.23676 20.9958 4.42276 20.909L14.0018 16.518Z\" stroke={color ?? \"none\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n };","export const IconCrossLine = ({ color }) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M18 6L6 18M6 6L18 18\" stroke={color ?? \"#E84040\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n )\r\n}\r\n","export const IconCross = ({ color }) => {\r\n return (\r\n <svg\r\n width='18'\r\n height='19'\r\n viewBox='0 0 18 19'\r\n fill={color ? color : 'none'}\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <circle cx='9' cy='9.41992' r='9' fill='#E84040' />\r\n <path\r\n d='M5.30914 5.66992L12.5625 12.9824M12.5034 5.66992L5.25 12.9824'\r\n stroke='white'\r\n strokeWidth='1.51198'\r\n strokeLinecap='round'\r\n />\r\n </svg>\r\n )\r\n}\r\n","export const Dashboard = (color) => {\r\n return (\r\n <svg width=\"26\" height=\"26\" viewBox=\"0 0 26 26\" fill={color ? color : 'none'} xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M5.69938 22.3589C5.12745 22.3589 4.63767 22.1554 4.23004 21.7485C3.8231 21.3409 3.61963 20.8511 3.61963 20.2792V5.72087C3.61963 5.14894 3.8231 4.65915 4.23004 4.25152C4.63767 3.84458 5.12745 3.64111 5.69938 3.64111H11.9386V22.3589H5.69938ZM14.0184 22.3589V13H22.3374V20.2792C22.3374 20.8511 22.134 21.3409 21.727 21.7485C21.3194 22.1554 20.8296 22.3589 20.2577 22.3589H14.0184ZM14.0184 10.9203V3.64111H20.2577C20.8296 3.64111 21.3194 3.84458 21.727 4.25152C22.134 4.65915 22.3374 5.14894 22.3374 5.72087V10.9203H14.0184Z\" fill=\"#00529C\"/>\r\n </svg>\r\n )\r\n}\r\n","export const IconDeleteBin = ({color, isSmall}) => {\r\n return (\r\n <svg\r\n width={`${isSmall ? \"14\" : \"21\"}`}\r\n height={`${isSmall ? \"16\" : \"24\"}`}\r\n viewBox=\"0 0 21 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M19.0485 4.53905H16.0346C15.5695 2.27727 13.5798 0.653094 11.2707 0.650177H9.32625C7.01712 0.653094 5.02749 2.27727 4.56238 4.53905H1.5485C1.01156 4.53905 0.576294 4.97432 0.576294 5.51126C0.576294 6.0482 1.01156 6.48351 1.5485 6.48351H2.52071V19.1224C2.52394 21.8058 4.69846 23.9803 7.38184 23.9835H13.2152C15.8986 23.9803 18.0731 21.8058 18.0763 19.1224V6.48351H19.0485C19.5854 6.48351 20.0207 6.04824 20.0207 5.5113C20.0207 4.97436 19.5854 4.53905 19.0485 4.53905ZM9.3263 17.178C9.3263 17.7149 8.89103 18.1502 8.35409 18.1502C7.8171 18.1502 7.38184 17.7149 7.38184 17.178V11.3446C7.38184 10.8077 7.8171 10.3724 8.35404 10.3724C8.89098 10.3724 9.32625 10.8077 9.32625 11.3446V17.178H9.3263ZM13.2152 17.178C13.2152 17.7149 12.7799 18.1502 12.243 18.1502C11.706 18.1502 11.2708 17.7149 11.2708 17.178V11.3446C11.2708 10.8077 11.706 10.3724 12.243 10.3724C12.7799 10.3724 13.2152 10.8077 13.2152 11.3446V17.178ZM6.57588 4.53905C6.98941 3.37462 8.09063 2.5961 9.3263 2.59459H11.2708C12.5064 2.5961 13.6076 3.37462 14.0212 4.53905H6.57588Z\"\r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconDocumentAddOutline = ({color}) => {\r\n return (\r\n <svg width=\"25\" height=\"24\" viewBox=\"0 0 25 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M14.5 3V7C14.5 7.26522 14.6054 7.51957 14.7929 7.70711C14.9804 7.89464 15.2348 8 15.5 8H19.5M14.5 3H7.5C6.96957 3 6.46086 3.21071 6.08579 3.58579C5.71071 3.96086 5.5 4.46957 5.5 5V19C5.5 19.5304 5.71071 20.0391 6.08579 20.4142C6.46086 20.7893 6.96957 21 7.5 21H17.5C18.0304 21 18.5391 20.7893 18.9142 20.4142C19.2893 20.0391 19.5 19.5304 19.5 19V8M14.5 3L19.5 8\" stroke={color} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path d=\"M12.5 11.5V17.5M9.5 14.5H15.5\" stroke=\"#00529C\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n};","export const IconDocumentAdd = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\r\n <path d=\"M19.001 7.501H15.001L15 3.5L19.001 7.501Z\" fill={color ?? \"#00529C\"}/>\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12.117 2.507L12 2.5H7L6.824 2.505C6.06011 2.54989 5.34224 2.88499 4.81728 3.44174C4.29233 3.99849 3.99996 4.73479 4 5.5V19.5L4.005 19.676C4.04989 20.4399 4.38499 21.1578 4.94174 21.6827C5.49849 22.2077 6.23479 22.5 7 22.5H17L17.176 22.495C17.9399 22.4501 18.6578 22.115 19.1827 21.5583C19.7077 21.0015 20 20.2652 20 19.5V10.5L19.993 10.383C19.9667 10.1598 19.8659 9.95194 19.707 9.79301C19.5481 9.63408 19.3402 9.53332 19.117 9.507L19 9.5H15L14.843 9.494C14.3669 9.45666 13.92 9.25023 13.5829 8.91203C13.2458 8.57383 13.0408 8.12617 13.005 7.65L13 7.5V3.5L12.993 3.383C12.9667 3.15978 12.8659 2.95194 12.707 2.79301C12.5481 2.63408 12.3402 2.53332 12.117 2.507ZM12.0016 11.1016C12.4986 11.1016 12.9016 11.5045 12.9016 12.0016V14.1016H15.0016C15.4986 14.1016 15.9016 14.5045 15.9016 15.0016C15.9016 15.4986 15.4986 15.9016 15.0016 15.9016H12.9016V18.0016C12.9016 18.4986 12.4986 18.9016 12.0016 18.9016C11.5045 18.9016 11.1016 18.4986 11.1016 18.0016V15.9016H9.00156C8.50451 15.9016 8.10156 15.4986 8.10156 15.0016C8.10156 14.5045 8.50451 14.1016 9.00156 14.1016H11.1016V12.0016C11.1016 11.5045 11.5045 11.1016 12.0016 11.1016Z\" fill={color ?? \"#00529C\"}/>\r\n <path d=\"M19.001 7.501H15.001L15 3.5L19.001 7.501Z\" stroke={color ?? \"#00529C\"}/>\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12.117 2.507L12 2.5H7L6.824 2.505C6.06011 2.54989 5.34224 2.88499 4.81728 3.44174C4.29233 3.99849 3.99996 4.73479 4 5.5V19.5L4.005 19.676C4.04989 20.4399 4.38499 21.1578 4.94174 21.6827C5.49849 22.2077 6.23479 22.5 7 22.5H17L17.176 22.495C17.9399 22.4501 18.6578 22.115 19.1827 21.5583C19.7077 21.0015 20 20.2652 20 19.5V10.5L19.993 10.383C19.9667 10.1598 19.8659 9.95194 19.707 9.79301C19.5481 9.63408 19.3402 9.53332 19.117 9.507L19 9.5H15L14.843 9.494C14.3669 9.45666 13.92 9.25023 13.5829 8.91203C13.2458 8.57383 13.0408 8.12617 13.005 7.65L13 7.5V3.5L12.993 3.383C12.9667 3.15978 12.8659 2.95194 12.707 2.79301C12.5481 2.63408 12.3402 2.53332 12.117 2.507ZM12.0016 11.1016C12.4986 11.1016 12.9016 11.5045 12.9016 12.0016V14.1016H15.0016C15.4986 14.1016 15.9016 14.5045 15.9016 15.0016C15.9016 15.4986 15.4986 15.9016 15.0016 15.9016H12.9016V18.0016C12.9016 18.4986 12.4986 18.9016 12.0016 18.9016C11.5045 18.9016 11.1016 18.4986 11.1016 18.0016V15.9016H9.00156C8.50451 15.9016 8.10156 15.4986 8.10156 15.0016C8.10156 14.5045 8.50451 14.1016 9.00156 14.1016H11.1016V12.0016C11.1016 11.5045 11.5045 11.1016 12.0016 11.1016Z\" stroke={color ?? \"#00529C\"}/>\r\n </svg>\r\n );\r\n};","export const DocumentNotFound = () => {\r\n return (\r\n <svg width=\"241\" height=\"241\" viewBox=\"0 0 241 241\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g opacity=\"0.5\">\r\n <path d=\"M223.354 171.649C223.354 179.477 220.274 186.558 215.261 191.672C210.268 196.81 203.361 199.962 195.721 199.962H71.3697V199.899C70.56 199.938 69.7695 199.962 68.9597 199.962C40.6133 199.962 17.6412 176.421 17.6412 147.376C17.6412 138.637 19.7331 130.385 23.4059 123.126C30.5492 109.071 43.7174 98.7324 59.4065 95.7199C61.6767 65.1177 87.4734 41.0273 118.919 41.0273C150.365 41.0273 177.501 66.4095 178.567 98.1443C196.372 103.061 209.458 119.748 209.458 139.548C209.458 141.997 209.26 144.402 208.865 146.73C210.721 147.761 212.437 148.995 213.998 150.432C219.744 155.589 223.354 163.195 223.354 171.649Z\" fill=\"url(#paint0_radial_12925_138165)\"/>\r\n <path d=\"M213.998 150.436C193.745 170.28 162.815 182.961 128.178 182.961C79.4818 182.961 38.1503 157.921 23.4059 123.13C30.5492 109.075 43.7174 98.7363 59.4065 95.7238C61.6767 65.1216 87.4734 41.0312 118.919 41.0312C150.365 41.0312 177.501 66.4134 178.567 98.1483C196.372 103.065 209.458 119.751 209.458 139.552C209.458 142.001 209.26 144.406 208.865 146.734C210.721 147.765 212.437 148.999 213.998 150.436Z\" fill=\"url(#paint1_radial_12925_138165)\"/>\r\n </g>\r\n <path d=\"M200.377 88.0473C200.377 88.8137 199.644 89.503 198.473 89.9801C197.577 90.3465 196.878 91.0646 196.521 91.9804C196.054 93.1758 195.384 93.9277 194.636 93.9277C193.889 93.9277 193.215 93.1758 192.752 91.9804C192.395 91.0646 191.696 90.3416 190.8 89.9801C189.633 89.503 188.896 88.8137 188.896 88.0473C188.896 87.2809 189.628 86.5917 190.795 86.1145C191.691 85.7482 192.395 85.03 192.747 84.1094C193.21 82.914 193.885 82.1621 194.632 82.1621C195.379 82.1621 196.054 82.914 196.516 84.1094C196.873 85.03 197.577 85.7482 198.473 86.1145C199.64 86.5917 200.372 87.2761 200.372 88.0425L200.377 88.0473Z\" fill=\"#2A61A1\"/>\r\n <path d=\"M49.0821 82.5127C49.0821 82.8742 48.735 83.1971 48.1855 83.4236C47.7614 83.5972 47.4336 83.9345 47.2649 84.3683C47.0432 84.9323 46.7299 85.289 46.3732 85.289C46.0165 85.289 45.7032 84.9323 45.4815 84.3683C45.3128 83.9345 44.9851 83.5972 44.5609 83.4236C44.0114 83.1971 43.6644 82.8742 43.6644 82.5127C43.6644 82.1512 44.0114 81.8234 44.5609 81.6017C44.9851 81.4282 45.3128 81.0907 45.4815 80.6569C45.6984 80.093 46.0165 79.7363 46.3732 79.7363C46.7299 79.7363 47.0432 80.093 47.2649 80.6569C47.4336 81.0907 47.7662 81.4282 48.1855 81.6017C48.735 81.8282 49.0821 82.1512 49.0821 82.5127Z\" fill=\"#86C5F6\"/>\r\n <path d=\"M56.0132 179.584C56.0132 180.606 55.0348 181.527 53.4731 182.163C52.2777 182.65 51.3426 183.609 50.8703 184.833C50.2485 186.429 49.352 187.436 48.3494 187.436C47.3469 187.436 46.4503 186.433 45.8334 184.838C45.3562 183.614 44.4211 182.655 43.2258 182.163C41.6641 181.527 40.6856 180.606 40.6856 179.584C40.6856 178.562 41.6641 177.642 43.2209 177.006C44.4163 176.519 45.3562 175.559 45.8286 174.33C46.4503 172.735 47.3469 171.732 48.3446 171.732C49.3423 171.732 50.2437 172.735 50.8655 174.335C51.3426 175.564 52.2777 176.523 53.4779 177.01C55.0348 177.647 56.0132 178.562 56.0132 179.589V179.584Z\" fill=\"#63A3EF\"/>\r\n <path d=\"M62.1298 74.2525V167.785C62.1298 171.65 65.1809 174.778 68.9549 174.778H143.53C147.299 174.778 150.355 171.65 150.355 167.785V96.8246C150.355 94.7617 149.463 92.7999 147.921 91.4744L121.71 68.8975C120.481 67.8419 118.929 67.2539 117.324 67.2539H68.9549C65.1857 67.2539 62.1298 70.3821 62.1298 74.2477V74.2525Z\" fill=\"#FF9D24\"/>\r\n <path d=\"M96.6988 85.7715H75.1534C72.1906 85.7715 69.7888 88.1733 69.7888 91.1361C69.7888 94.099 72.1906 96.5008 75.1534 96.5008H96.6988C99.6617 96.5008 102.063 94.099 102.063 91.1361C102.063 88.1733 99.6617 85.7715 96.6988 85.7715Z\" fill=\"#ED6E14\"/>\r\n <path d=\"M96.6988 100.535H75.1534C72.1906 100.535 69.7888 102.937 69.7888 105.9C69.7888 108.863 72.1906 111.264 75.1534 111.264H96.6988C99.6617 111.264 102.063 108.863 102.063 105.9C102.063 102.937 99.6617 100.535 96.6988 100.535Z\" fill=\"#ED6E14\"/>\r\n <path d=\"M176.855 145.516V107.274C176.855 105.211 175.964 103.249 174.421 101.924L148.21 79.3467C146.981 78.2912 145.429 77.7031 143.824 77.7031H88.4904C84.7211 77.7031 81.6653 80.8313 81.6653 84.6969V159.499C99.3498 162.844 144.831 168.406 176.855 145.511V145.516Z\" fill=\"url(#paint2_radial_12925_138165)\"/>\r\n <path d=\"M88.4904 185.223H170.03C173.8 185.223 176.855 182.095 176.855 178.229V142.527C144.836 165.422 99.3498 159.86 81.6653 156.515V178.229C81.6653 182.095 84.7163 185.223 88.4904 185.223Z\" fill=\"#2A61A1\"/>\r\n <path d=\"M125.224 185.97H88.2687C84.215 185.97 80.9182 182.673 80.9182 178.619V138.372C80.9182 137.962 81.2507 137.625 81.6652 137.625C82.0798 137.625 82.4123 137.958 82.4123 138.372V178.619C82.4123 181.848 85.0393 184.475 88.2687 184.475H125.224C125.633 184.475 125.971 184.808 125.971 185.223C125.971 185.637 125.638 185.97 125.224 185.97Z\" fill=\"black\"/>\r\n <path d=\"M120.799 93.9648H99.2534C96.2906 93.9648 93.8888 96.3667 93.8888 99.3295C93.8888 102.292 96.2906 104.694 99.2534 104.694H120.799C123.762 104.694 126.163 102.292 126.163 99.3295C126.163 96.3667 123.762 93.9648 120.799 93.9648Z\" fill=\"#E4F2FF\"/>\r\n <path d=\"M120.799 110.176H99.2534C96.2906 110.176 93.8888 112.578 93.8888 115.54C93.8888 118.503 96.2906 120.905 99.2534 120.905H120.799C123.762 120.905 126.163 118.503 126.163 115.54C126.163 112.578 123.762 110.176 120.799 110.176Z\" fill=\"#E4F2FF\"/>\r\n <g opacity=\"0.25\">\r\n <path d=\"M177.93 158.384C176.884 160.139 175.622 161.797 174.142 163.315C172.662 164.833 171.043 166.125 169.331 167.2C159.431 173.384 146.33 172.092 137.77 163.315C127.725 153.024 127.725 136.337 137.77 126.042C147.815 115.746 164.102 115.746 174.147 126.042C182.712 134.819 183.97 148.238 177.935 158.389L177.93 158.384Z\" fill=\"white\"/>\r\n </g>\r\n <path d=\"M184.052 124.842C182.895 123.121 181.565 121.487 180.075 119.954C166.753 106.304 145.159 106.304 131.837 119.954C118.514 133.605 118.514 155.733 131.837 169.384C133.514 171.1 135.321 172.603 137.23 173.89C145.072 179.183 154.573 180.807 163.441 178.773C167.206 177.91 170.859 176.387 174.214 174.204C174.373 174.102 174.527 173.996 174.686 173.89C174.923 173.731 175.159 173.567 175.395 173.399C177.043 172.227 178.61 170.887 180.08 169.384C181.203 168.232 182.239 167.017 183.17 165.749C183.454 165.369 183.734 164.978 183.999 164.583C184.018 164.554 184.037 164.525 184.057 164.496C192.077 152.596 192.077 136.738 184.057 124.837L184.052 124.842ZM177.93 158.38C176.884 160.134 175.622 161.792 174.142 163.306C172.657 164.824 171.043 166.12 169.331 167.19C159.431 173.375 146.33 172.083 137.765 163.306C127.72 153.01 127.72 136.323 137.765 126.033C147.81 115.737 164.097 115.737 174.142 126.033C182.702 134.81 183.965 148.233 177.93 158.38Z\" fill=\"#FF9D24\"/>\r\n <path d=\"M155.956 171.032C170.16 171.032 181.675 159.232 181.675 144.676C181.675 130.12 170.16 118.32 155.956 118.32C141.751 118.32 130.236 130.12 130.236 144.676C130.236 159.232 141.751 171.032 155.956 171.032Z\" fill=\"#E4F2FF\"/>\r\n <path d=\"M198.492 185.651L193.981 190.273C192.853 191.43 191.021 191.43 189.894 190.273L174.214 174.208C174.614 173.948 175.005 173.683 175.395 173.403C177.043 172.232 178.61 170.892 180.08 169.388C181.203 168.236 182.239 167.022 183.17 165.754L198.497 181.457C199.625 182.614 199.625 184.489 198.497 185.646L198.492 185.651Z\" fill=\"#ED6E14\"/>\r\n <path d=\"M155.956 170.969C155.609 170.969 155.329 170.679 155.329 170.327C155.329 169.976 155.609 169.686 155.956 169.686C169.413 169.686 180.36 158.47 180.36 144.68C180.36 137.87 177.733 131.502 172.966 126.75C172.72 126.504 172.71 126.094 172.951 125.844C173.192 125.588 173.587 125.583 173.838 125.829C178.851 130.823 181.613 137.518 181.613 144.68C181.613 159.179 170.103 170.973 155.956 170.973V170.969Z\" fill=\"black\"/>\r\n <path d=\"M128.689 166.381C128.501 166.381 128.318 166.294 128.193 166.13C122.52 158.63 120.037 149.313 121.199 139.895C122.365 130.481 127.036 122.09 134.358 116.277C149.468 104.275 171.293 107.109 183.006 122.596C183.218 122.875 183.17 123.28 182.895 123.497C182.62 123.714 182.225 123.661 182.018 123.382C170.729 108.459 149.695 105.726 135.129 117.294C128.072 122.9 123.57 130.983 122.447 140.059C121.324 149.135 123.72 158.115 129.186 165.345C129.398 165.624 129.35 166.029 129.075 166.246C128.959 166.337 128.824 166.381 128.689 166.381Z\" fill=\"black\"/>\r\n <path d=\"M158.125 154.332C157.349 153.623 156.375 153.271 155.209 153.271C154.042 153.271 153.078 153.623 152.298 154.332C151.522 155.045 151.126 155.947 151.126 157.05C151.126 158.154 151.517 159.06 152.298 159.764C153.074 160.473 154.047 160.824 155.209 160.824C156.37 160.824 157.344 160.473 158.125 159.764C158.901 159.06 159.291 158.154 159.291 157.05C159.291 155.947 158.906 155.04 158.125 154.332Z\" fill=\"#0F77CA\"/>\r\n <path d=\"M163.075 129.861C161.296 128.323 158.78 126.877 155.537 126.877C152.293 126.877 149.743 128.39 147.945 130.049C147.343 130.603 146.836 131.229 146.432 131.933C145.135 134.179 146.841 137.018 149.386 137.018H149.945C151.271 137.018 152.408 136.189 153.016 134.979C153.127 134.753 153.262 134.55 153.416 134.362C153.951 133.707 154.659 133.379 155.532 133.379C157.421 133.379 158.366 134.507 158.366 136.758C158.366 137.683 158.086 138.527 157.527 139.293C156.963 140.064 156.149 140.908 155.074 141.833C153.994 142.759 153.223 143.848 152.741 145.111C152.601 145.473 152.486 145.877 152.384 146.316C151.936 148.336 153.464 150.264 155.484 150.264H155.522C156.963 150.264 158.173 149.256 158.588 147.844C158.626 147.709 158.67 147.579 158.718 147.458C158.993 146.721 159.489 146.003 160.202 145.299L162.714 142.908C163.774 141.853 164.55 140.812 165.027 139.799C165.504 138.787 165.745 137.664 165.745 136.425C165.745 133.596 164.854 131.408 163.07 129.875L163.075 129.861Z\" fill=\"#0F77CA\"/>\r\n <defs>\r\n <radialGradient id=\"paint0_radial_12925_138165\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(38.2835 183.195) scale(149.148 153.161)\">\r\n <stop stopColor=\"#E4F2FF\"/>\r\n <stop offset=\"1\" stopColor=\"#86C5F6\"/>\r\n </radialGradient>\r\n <radialGradient id=\"paint1_radial_12925_138165\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(145.813 188.592) scale(127.704 131.14)\">\r\n <stop stopColor=\"#63A3EF\"/>\r\n <stop offset=\"0.09\" stopColor=\"#6BAAF0\"/>\r\n <stop offset=\"0.32\" stopColor=\"#7AB9F3\"/>\r\n <stop offset=\"0.6\" stopColor=\"#83C2F5\"/>\r\n <stop offset=\"1\" stopColor=\"#86C5F6\"/>\r\n </radialGradient>\r\n <radialGradient id=\"paint2_radial_12925_138165\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(185.931 196.979) scale(141.689 141.689)\">\r\n <stop stopColor=\"#045394\"/>\r\n <stop offset=\"0.15\" stopColor=\"#065CA2\"/>\r\n <stop offset=\"0.45\" stopColor=\"#0B6BB8\"/>\r\n <stop offset=\"0.74\" stopColor=\"#0E73C5\"/>\r\n <stop offset=\"1\" stopColor=\"#0F77CA\"/>\r\n </radialGradient>\r\n </defs>\r\n </svg>\r\n )\r\n}\r\n","export const IconDocumentSleve = ({ color }) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\r\n <path d=\"M19.001 7.501H15.001L15 3.5L19.001 7.501Z\" fill={color ? color :'#084F8C'}/>\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12 2.5L12.117 2.507C12.3402 2.53332 12.5481 2.63408 12.707 2.79301C12.8659 2.95194 12.9667 3.15978 12.993 3.383L13 3.5V7.5L13.005 7.65C13.0408 8.12617 13.2458 8.57383 13.5829 8.91203C13.92 9.25023 14.3669 9.45666 14.843 9.494L15 9.5H19L19.117 9.507C19.3402 9.53332 19.5481 9.63408 19.707 9.79301C19.8659 9.95194 19.9667 10.1598 19.993 10.383L20 10.5V19.5C20 20.2652 19.7077 21.0015 19.1827 21.5583C18.6578 22.115 17.9399 22.4501 17.176 22.495L17 22.5H7C6.23479 22.5 5.49849 22.2077 4.94174 21.6827C4.38499 21.1578 4.04989 20.4399 4.005 19.676L4 19.5V5.5C3.99996 4.73479 4.29233 3.99849 4.81728 3.44174C5.34224 2.88499 6.06011 2.54989 6.824 2.505L7 2.5H12ZM9 12.5C8.44772 12.5 8 12.9477 8 13.5C8 14.0523 8.44772 14.5 9 14.5H15C15.5523 14.5 16 14.0523 16 13.5C16 12.9477 15.5523 12.5 15 12.5H9ZM8 17.5C8 16.9477 8.44772 16.5 9 16.5H15C15.5523 16.5 16 16.9477 16 17.5C16 18.0523 15.5523 18.5 15 18.5H9C8.44772 18.5 8 18.0523 8 17.5Z\" fill={color ? color :'#084F8C'}/>\r\n <path d=\"M19.001 7.501H15.001L15 3.5L19.001 7.501Z\" stroke={color ? color :'#084F8C'}/>\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12 2.5L12.117 2.507C12.3402 2.53332 12.5481 2.63408 12.707 2.79301C12.8659 2.95194 12.9667 3.15978 12.993 3.383L13 3.5V7.5L13.005 7.65C13.0408 8.12617 13.2458 8.57383 13.5829 8.91203C13.92 9.25023 14.3669 9.45666 14.843 9.494L15 9.5H19L19.117 9.507C19.3402 9.53332 19.5481 9.63408 19.707 9.79301C19.8659 9.95194 19.9667 10.1598 19.993 10.383L20 10.5V19.5C20 20.2652 19.7077 21.0015 19.1827 21.5583C18.6578 22.115 17.9399 22.4501 17.176 22.495L17 22.5H7C6.23479 22.5 5.49849 22.2077 4.94174 21.6827C4.38499 21.1578 4.04989 20.4399 4.005 19.676L4 19.5V5.5C3.99996 4.73479 4.29233 3.99849 4.81728 3.44174C5.34224 2.88499 6.06011 2.54989 6.824 2.505L7 2.5H12ZM9 12.5C8.44772 12.5 8 12.9477 8 13.5C8 14.0523 8.44772 14.5 9 14.5H15C15.5523 14.5 16 14.0523 16 13.5C16 12.9477 15.5523 12.5 15 12.5H9ZM8 17.5C8 16.9477 8.44772 16.5 9 16.5H15C15.5523 16.5 16 16.9477 16 17.5C16 18.0523 15.5523 18.5 15 18.5H9C8.44772 18.5 8 18.0523 8 17.5Z\" stroke={color ? color :'#084F8C'}/>\r\n </svg>\r\n )\r\n}\r\n","export const IconDocument = ({ color }) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\r\n <path d=\"M19.001 7.501H15.001L15 3.5L19.001 7.501Z\" fill={color ?? \"white\"}/>\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12 2.5L12.117 2.507C12.3402 2.53332 12.5481 2.63408 12.707 2.79301C12.8659 2.95194 12.9667 3.15978 12.993 3.383L13 3.5V7.5L13.005 7.65C13.0408 8.12617 13.2458 8.57383 13.5829 8.91203C13.92 9.25023 14.3669 9.45666 14.843 9.494L15 9.5H19L19.117 9.507C19.3402 9.53332 19.5481 9.63408 19.707 9.79301C19.8659 9.95194 19.9667 10.1598 19.993 10.383L20 10.5V19.5C20 20.2652 19.7077 21.0015 19.1827 21.5583C18.6578 22.115 17.9399 22.4501 17.176 22.495L17 22.5H7C6.23479 22.5 5.49849 22.2077 4.94174 21.6827C4.38499 21.1578 4.04989 20.4399 4.005 19.676L4 19.5V5.5C3.99996 4.73479 4.29233 3.99849 4.81728 3.44174C5.34224 2.88499 6.06011 2.54989 6.824 2.505L7 2.5H12ZM9 12.5C8.44772 12.5 8 12.9477 8 13.5C8 14.0523 8.44772 14.5 9 14.5H15C15.5523 14.5 16 14.0523 16 13.5C16 12.9477 15.5523 12.5 15 12.5H9ZM8 17.5C8 16.9477 8.44772 16.5 9 16.5H15C15.5523 16.5 16 16.9477 16 17.5C16 18.0523 15.5523 18.5 15 18.5H9C8.44772 18.5 8 18.0523 8 17.5Z\" fill={color ?? \"white\"}/>\r\n <path d=\"M19.001 7.501H15.001L15 3.5L19.001 7.501Z\" stroke={color ?? \"white\"}/>\r\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M12 2.5L12.117 2.507C12.3402 2.53332 12.5481 2.63408 12.707 2.79301C12.8659 2.95194 12.9667 3.15978 12.993 3.383L13 3.5V7.5L13.005 7.65C13.0408 8.12617 13.2458 8.57383 13.5829 8.91203C13.92 9.25023 14.3669 9.45666 14.843 9.494L15 9.5H19L19.117 9.507C19.3402 9.53332 19.5481 9.63408 19.707 9.79301C19.8659 9.95194 19.9667 10.1598 19.993 10.383L20 10.5V19.5C20 20.2652 19.7077 21.0015 19.1827 21.5583C18.6578 22.115 17.9399 22.4501 17.176 22.495L17 22.5H7C6.23479 22.5 5.49849 22.2077 4.94174 21.6827C4.38499 21.1578 4.04989 20.4399 4.005 19.676L4 19.5V5.5C3.99996 4.73479 4.29233 3.99849 4.81728 3.44174C5.34224 2.88499 6.06011 2.54989 6.824 2.505L7 2.5H12ZM9 12.5C8.44772 12.5 8 12.9477 8 13.5C8 14.0523 8.44772 14.5 9 14.5H15C15.5523 14.5 16 14.0523 16 13.5C16 12.9477 15.5523 12.5 15 12.5H9ZM8 17.5C8 16.9477 8.44772 16.5 9 16.5H15C15.5523 16.5 16 16.9477 16 17.5C16 18.0523 15.5523 18.5 15 18.5H9C8.44772 18.5 8 18.0523 8 17.5Z\" stroke={color ?? \"white\"}/>\r\n </svg>\r\n )\r\n}","export const DownloadDocumentIcon = ({color}) => {\r\n return (\r\n <svg width=\"14\" height=\"17\" viewBox=\"0 0 14 17\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M8.39844 0.899902V4.23324C8.39844 4.45425 8.48623 4.66621 8.64252 4.82249C8.7988 4.97877 9.01076 5.06657 9.23177 5.06657H12.5651M8.39844 0.899902H2.5651C2.12308 0.899902 1.69915 1.0755 1.38659 1.38806C1.07403 1.70062 0.898438 2.12454 0.898438 2.56657V14.2332C0.898438 14.6753 1.07403 15.0992 1.38659 15.4117C1.69915 15.7243 2.12308 15.8999 2.5651 15.8999H10.8984C11.3405 15.8999 11.7644 15.7243 12.0769 15.4117C12.3895 15.0992 12.5651 14.6753 12.5651 14.2332V5.06657M8.39844 0.899902L12.5651 5.06657M6.73177 12.5666V7.56657M6.73177 12.5666L4.64844 10.4832M6.73177 12.5666L8.8151 10.4832\" stroke={color ?? 'white'} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n};","export const DownloadIconSmall = (color) => {\r\n return (\r\n <svg width=\"19\" height=\"18\" viewBox=\"0 0 19 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M3.5 12.75V14.25C3.5 14.6478 3.65804 15.0294 3.93934 15.3107C4.22064 15.592 4.60218 15.75 5 15.75H14C14.3978 15.75 14.7794 15.592 15.0607 15.3107C15.342 15.0294 15.5 14.6478 15.5 14.25V12.75M5.75 8.25L9.5 12M9.5 12L13.25 8.25M9.5 12V3\" stroke={color.color} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n};","export const IconDownloadOutline = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"><path d=\"M3.33398 14.1668V15.8335C3.33398 16.2755 3.50958 16.6994 3.82214 17.012C4.1347 17.3246 4.55862 17.5002 5.00065 17.5002H15.0006C15.4427 17.5002 15.8666 17.3246 16.1792 17.012C16.4917 16.6994 16.6673 16.2755 16.6673 15.8335V14.1668M5.83398 9.16683L10.0006 13.3335M10.0006 13.3335L14.1673 9.16683M10.0006 13.3335V3.3335\" stroke={color ?? \"white\"} strokeWidth=\"1.67\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/></svg>\r\n );\r\n};\r\n","export const DownloadIconLarge = ({\r\n color = \"#00529C\",\r\n width = \"21\",\r\n height = \"21\",\r\n}) => {\r\n return (\r\n <svg\r\n width={width}\r\n height={height}\r\n viewBox=\"0 0 21 22\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M21 20.1875C21 20.9124 20.4124 21.5 19.6875 21.5H1.3125C0.587631 21.5 0 20.9124 0 20.1875C0 19.4626 0.587631 18.875 1.3125 18.875H19.6875C20.4124 18.875 21 19.4626 21 20.1875ZM9.57194 16.0297C9.82825 16.286 10.1641 16.4141 10.5 16.4141C10.8358 16.4141 11.1718 16.2859 11.4281 16.0297L16.0783 11.3794C16.5909 10.8669 16.5909 10.0358 16.0783 9.52327C15.5658 9.0107 14.7347 9.0107 14.2222 9.52327L11.8125 11.9329V1.8125C11.8125 1.08763 11.2249 0.5 10.5 0.5C9.77513 0.5 9.1875 1.08763 9.1875 1.8125V11.9329L6.77783 9.52327C6.26526 9.0107 5.43424 9.0107 4.92167 9.52327C4.4091 10.0358 4.4091 10.8669 4.92167 11.3794L9.57194 16.0297Z\"\r\n fill={color}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconDuplicate = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M19.414 19.415C19.0389 19.7897 18.5302 20.0002 18 20H10C9.46957 20 8.96086 19.7893 8.58579 19.4142C8.21071 19.0391 8 18.5304 8 18V10C8 9.446 8.225 8.945 8.589 8.583M12 8H18C18.5304 8 19.0391 8.21071 19.4142 8.58579C19.7893 8.96086 20 9.46957 20 10V16M16 8V6C16 5.46957 15.7893 4.96086 15.4142 4.58579C15.0391 4.21071 14.5304 4 14 4H8M4.582 4.59C4.222 4.95 4 5.45 4 6V14C4 14.5304 4.21071 15.0391 4.58579 15.4142C4.96086 15.7893 5.46957 16 6 16H8M3 3L21 21\" stroke={color ?? \"#E84040\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n};\r\n","export const IconEdit = ({ color, isSmall }) => {\r\n return (\r\n <svg\r\n width={isSmall ? \"16px\" : \"20px\"}\r\n height={isSmall ? \"20px\" : \"24px\"}\r\n viewBox=\"0 0 20 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n fillRule=\"evenodd\"\r\n clipRule=\"evenodd\"\r\n d=\"M2.02018 21.5197H18.3535C18.6629 21.5197 18.9597 21.6426 19.1785 21.8614C19.3973 22.0802 19.5202 22.3769 19.5202 22.6863C19.5202 22.9958 19.3973 23.2925 19.1785 23.5113C18.9597 23.7301 18.6629 23.853 18.3535 23.853H2.02018C1.71076 23.853 1.41402 23.7301 1.19522 23.5113C0.976432 23.2925 0.853516 22.9958 0.853516 22.6863C0.853516 22.3769 0.976432 22.0802 1.19522 21.8614C1.41402 21.6426 1.71076 21.5197 2.02018 21.5197ZM0.853516 15.6863L12.5202 4.01968L16.0202 7.51968L4.35352 19.1863H0.853516V15.6863ZM13.6868 2.85302L16.0202 0.519684L19.5202 4.01968L17.1857 6.35418L13.6868 2.85302Z\"\r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconExclamation = ({\r\n size = 20,\r\n color = \"#E84040\",\r\n}) => {\r\n return (\r\n <svg\r\n width={size}\r\n height={size}\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <circle cx=\"12\" cy=\"12\" r=\"12\" fill={color} opacity=\"0.15\" />\r\n <rect x=\"11\" y=\"6\" width=\"2\" height=\"9\" rx=\"1\" fill={color} />\r\n <circle cx=\"12\" cy=\"18\" r=\"1.5\" fill={color} />\r\n </svg>\r\n );\r\n};\r\n","import * as React from \"react\";\r\nexport const FileOutlineCustom = (props) => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"14\"\r\n height=\"18\"\r\n fill=\"none\"\r\n viewBox=\"0 0 14 18\"\r\n {...props}\r\n >\r\n <path\r\n stroke={props.color || \"#080606\"}\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n strokeWidth=\"1.8\"\r\n d=\"M8.666 1.5v3.333a.833.833 0 0 0 .833.834h3.334M8.666 1.5H2.833a1.667 1.667 0 0 0-1.667 1.667v11.666A1.666 1.666 0 0 0 2.833 16.5h8.333a1.666 1.666 0 0 0 1.667-1.667V5.667M8.666 1.5l4.167 4.167\"\r\n ></path>\r\n </svg>\r\n);\r\n","export const IconFileOutline = ({ color }) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"15\" viewBox=\"0 0 18 15\" fill=\"none\">\r\n <path d=\"M3.16667 0.833496H6.5L9 3.3335H14.8333C15.2754 3.3335 15.6993 3.50909 16.0118 3.82165C16.3244 4.13421 16.5 4.55813 16.5 5.00016V11.6668C16.5 12.1089 16.3244 12.5328 16.0118 12.8453C15.6993 13.1579 15.2754 13.3335 14.8333 13.3335H3.16667C2.72464 13.3335 2.30072 13.1579 1.98816 12.8453C1.67559 12.5328 1.5 12.1089 1.5 11.6668V2.50016C1.5 2.05814 1.67559 1.63421 1.98816 1.32165C2.30072 1.00909 2.72464 0.833496 3.16667 0.833496Z\" stroke={color ?? \"white\"} strokeWidth=\"1.67\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n )\r\n}\r\n","export const IconFileSleve = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\r\n <g clipPath=\"url(#clip0_4150_6509)\">\r\n <path d=\"M12 2.5L12.117 2.507C12.3402 2.53332 12.5481 2.63408 12.707 2.79301C12.8659 2.95194 12.9667 3.15978 12.993 3.383L13 3.5V7.5L13.005 7.65C13.0408 8.12617 13.2458 8.57383 13.5829 8.91203C13.92 9.25023 14.3669 9.45666 14.843 9.494L15 9.5H19L19.117 9.507C19.3402 9.53332 19.5481 9.63408 19.707 9.79301C19.8659 9.95194 19.9667 10.1598 19.993 10.383L20 10.5V19.5C20 20.2652 19.7077 21.0015 19.1827 21.5583C18.6578 22.115 17.9399 22.4501 17.176 22.495L17 22.5H7C6.23479 22.5 5.49849 22.2077 4.94174 21.6827C4.38499 21.1578 4.04989 20.4399 4.005 19.676L4 19.5V5.5C3.99996 4.73479 4.29233 3.99849 4.81728 3.44174C5.34224 2.88499 6.06011 2.54989 6.824 2.505L7 2.5H12Z\" fill={color ?? \"#00529C\"}/>\r\n <path d=\"M19.001 7.501H15.001L15 3.5L19.001 7.501Z\" fill={color ?? \"#00529C\"}/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4150_6509\">\r\n <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0 0.5)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n );\r\n};","export const IconFile = ({ color }) => {\r\n return (\r\n <svg\r\n width='36'\r\n height='36'\r\n viewBox='0 0 36 36'\r\n fill='none'\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M13.5718 2.91919C14.968 2.90484 16.2712 3.53241 17.126 4.59781L18.4457 6.30538C18.8656 6.81619 19.4954 7.12268 20.1703 7.12268H24.7742C30.3079 7.12268 33.0073 9.99781 32.9924 15.894V23.0016C32.9924 28.6351 29.4231 32.1086 23.6195 32.1086H12.3571C6.58344 32.1086 2.99927 28.6351 2.99927 22.987V12.0265C2.99927 5.9843 5.75863 2.91919 11.2024 2.91919H13.5718ZM24.9392 20.1265H11.0524C10.4225 20.1265 9.92766 20.6081 9.92766 21.2211C9.92766 21.8194 10.4225 22.3156 11.0524 22.3156H24.9392C25.554 22.3156 26.0489 21.8194 26.0489 21.2211C26.0489 20.6081 25.554 20.1265 24.9392 20.1265Z'\r\n fill={color ? color :'#084F8C'}\r\n />\r\n </svg>\r\n )\r\n}\r\n","export const IconFingerScan = ({color, isBordered = true}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"64\" height=\"64\" viewBox=\"0 0 64 64\" fill=\"none\">\r\n {\r\n isBordered && <path d=\"M8 17V14C8 12.4087 8.63214 10.8826 9.75736 9.75736C10.8826 8.63214 12.4087 8 14 8H20M8 47V50C8 51.5913 8.63214 53.1174 9.75736 54.2426C10.8826 55.3679 12.4087 56 14 56H20M44 8H50C51.5913 8 53.1174 8.63214 54.2426 9.75736C55.3679 10.8826 56 12.4087 56 14V17M44 56H50C51.5913 56 53.1174 55.3679 54.2426 54.2426C55.3679 53.1174 56 51.5913 56 50V47\" stroke={color ?? \"none\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n }\r\n <path d=\"M40.2559 25.3561C41.4036 27.3552 41.894 29.6946 41.6517 32.0146V33.3463C41.6502 34.7485 42.0003 36.1263 42.6668 37.3415M26.4241 30.6829C26.4241 29.2702 26.9588 27.9153 27.9107 26.9163C28.8626 25.9173 30.1536 25.3561 31.4998 25.3561C32.8459 25.3561 34.137 25.9173 35.0888 26.9163C36.0407 27.9153 36.5755 29.2702 36.5755 30.6829V32.0146C36.5755 34.896 37.466 37.6997 39.1133 40.0049M31.4998 30.6829V33.3463C31.4957 37.1542 32.6028 40.8721 34.6721 44M26.4241 36.0098C26.7346 38.7928 27.5076 41.4972 28.7081 44M22.4909 41.3364C21.6347 38.3138 21.2491 35.166 21.3489 32.0144V30.6827C21.344 28.8101 21.8096 26.9693 22.6985 25.3457C23.5875 23.7221 24.8686 22.3731 26.4126 21.4346C27.9566 20.4961 29.7091 20.0013 31.4934 20C33.2777 19.9987 35.0308 20.491 36.576 21.4273\" stroke={color ?? \"none\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n };","export const GenerateDocumentIcon = ({color}) => {\r\n return (\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M11.6641 2.5V5.83333C11.6641 6.05435 11.7519 6.26631 11.9081 6.42259C12.0644 6.57887 12.2764 6.66667 12.4974 6.66667H15.8307M11.6641 2.5H5.83073C5.3887 2.5 4.96478 2.67559 4.65222 2.98816C4.33966 3.30072 4.16406 3.72464 4.16406 4.16667V15.8333C4.16406 16.2754 4.33966 16.6993 4.65222 17.0118C4.96478 17.3244 5.3887 17.5 5.83073 17.5H14.1641C14.6061 17.5 15.03 17.3244 15.3426 17.0118C15.6551 16.6993 15.8307 16.2754 15.8307 15.8333V6.66667M11.6641 2.5L15.8307 6.66667\" stroke={color ?? \"#ffffff\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path d=\"M10 9.58325V14.5833M7.5 12.0833H12.5\" stroke={color ?? \"#ffffff\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n};","export const IconGradingRounded = ({color, width, height}) => {\r\n return (\r\n <svg \r\n width={width ?? \"24\"} \r\n height={height ?? \"24\"} \r\n viewBox=\"0 0 24 24\" \r\n fill=\"none\" \r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path \r\n d=\"M19.8684 18.3838L17.7283 20.5239L16.7388 19.5352C16.4458 19.2422 15.9712 19.2422 15.6782 19.5352C15.3853 19.8281 15.3853 20.3027 15.6782 20.5957L17.198 22.1147C17.3445 22.2612 17.5364 22.3345 17.7283 22.3345C17.9202 22.3345 18.1121 22.2612 18.2585 22.1147L20.929 19.4443C21.2219 19.1514 21.2219 18.6768 20.929 18.3838C20.636 18.0908 20.1614 18.0908 19.8684 18.3838Z\" \r\n fill={color ?? \"#00529C\"}\r\n />\r\n <path \r\n d=\"M17.1016 1.5H6.60156C4.53156 1.5 2.85156 3.17999 2.85156 5.25V18.75C2.85156 20.82 4.53156 22.5 6.60156 22.5H15.4591L14.6191 21.66C13.7416 20.7825 13.7416 19.3575 14.6191 18.4725C15.4741 17.6175 16.8465 17.595 17.7241 18.405L18.8116 17.325C19.3666 16.77 20.1391 16.5675 20.8516 16.7175V5.25C20.8516 3.17999 19.1716 1.5 17.1016 1.5ZM16.3516 16.5H7.35156C6.93907 16.5 6.60156 16.1625 6.60156 15.75C6.60156 15.3375 6.93907 15 7.35156 15H16.3516C16.7641 15 17.1016 15.3375 17.1016 15.75C17.1016 16.1625 16.7641 16.5 16.3516 16.5ZM16.3516 12.75H7.35156C6.93907 12.75 6.60156 12.4125 6.60156 12C6.60156 11.5875 6.93907 11.25 7.35156 11.25H16.3516C16.7641 11.25 17.1016 11.5875 17.1016 12C17.1016 12.4125 16.7641 12.75 16.3516 12.75ZM16.3516 9H7.35156C6.93907 9 6.60156 8.66249 6.60156 8.25C6.60156 7.83751 6.93907 7.5 7.35156 7.5H16.3516C16.7641 7.5 17.1016 7.83751 17.1016 8.25C17.1016 8.66249 16.7641 9 16.3516 9Z\" \r\n fill={color ?? \"#00529C\"}\r\n />\r\n </svg>\r\n );\r\n };","export const HandstopSign = ({\r\n color = \"#E84040\",\r\n width = \"13\",\r\n height = \"16\",\r\n}) => {\r\n return (\r\n <svg\r\n width={width}\r\n height={height}\r\n viewBox=\"0 0 13 16\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M4.33301 8.66634V3.66634C4.33301 3.40112 4.43836 3.14677 4.6259 2.95923C4.81344 2.7717 5.06779 2.66634 5.33301 2.66634C5.59822 2.66634 5.85258 2.7717 6.04011 2.95923C6.22765 3.14677 6.33301 3.40112 6.33301 3.66634M6.33301 3.66634V7.99967M6.33301 3.66634V2.33301C6.33301 2.20169 6.35887 2.07165 6.40913 1.95032C6.45938 1.829 6.53304 1.71876 6.6259 1.6259C6.71876 1.53304 6.829 1.45938 6.95032 1.40913C7.07165 1.35887 7.20169 1.33301 7.33301 1.33301C7.46433 1.33301 7.59437 1.35887 7.71569 1.40913C7.83702 1.45938 7.94726 1.53304 8.04011 1.6259C8.13297 1.71876 8.20663 1.829 8.25689 1.95032C8.30714 2.07165 8.33301 2.20169 8.33301 2.33301V7.99967M8.33301 3.66634C8.33301 3.40112 8.43836 3.14677 8.6259 2.95923C8.81344 2.7717 9.06779 2.66634 9.33301 2.66634C9.59822 2.66634 9.85258 2.7717 10.0401 2.95923C10.2277 3.14677 10.333 3.40112 10.333 3.66634V7.99967M10.3344 4.99967C10.3344 4.73446 10.4398 4.4801 10.6273 4.29257C10.8149 4.10503 11.0692 3.99967 11.3344 3.99967C11.5996 3.99967 11.854 4.10503 12.0415 4.29257C12.2291 4.4801 12.3344 4.73446 12.3344 4.99967V10.6663C12.3344 11.7272 11.913 12.7446 11.1629 13.4948C10.4127 14.2449 9.3953 14.6663 8.33443 14.6663H7.0011H7.13977C6.47732 14.6665 5.82522 14.502 5.24202 14.1879C4.65882 13.8737 4.16278 13.4196 3.79843 12.8663C3.75471 12.7998 3.71115 12.7331 3.66777 12.6663C3.45977 12.347 2.72977 11.0743 1.4771 8.84767C1.3494 8.6207 1.31529 8.35285 1.38202 8.10111C1.44875 7.84937 1.61106 7.63359 1.83443 7.49967C2.07235 7.35692 2.35115 7.29775 2.62654 7.33157C2.90193 7.36539 3.15813 7.49026 3.35443 7.68634L4.33443 8.66634\"\r\n stroke={color}\r\n strokeWidth=\"1.2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const HomeAssetIcon = ({ color, outline }) => {\r\n return (\r\n <svg\r\n width='24'\r\n height='24'\r\n viewBox='0 0 16 16'\r\n fill={color ? color : 'none'}\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M6 14V10C6 9.64638 6.14048 9.30724 6.39052 9.05719C6.64057 8.80714 6.97971 8.66667 7.33333 8.66667H8.66667C9.02029 8.66667 9.35943 8.80714 9.60948 9.05719C9.85952 9.30724 10 9.64638 10 10V14M3.33333 8H2L8 2L14 8H12.6667V12.6667C12.6667 13.0203 12.5262 13.3594 12.2761 13.6095C12.0261 13.8595 11.687 14 11.3333 14H4.66667C4.31304 14 3.97391 13.8595 3.72386 13.6095C3.47381 13.3594 3.33333 13.0203 3.33333 12.6667V8Z'\r\n stroke={outline ? outline : '#00529C'}\r\n strokeWidth='1.35'\r\n strokeLinecap='round'\r\n strokeLinejoin='round'\r\n />\r\n </svg>\r\n )\r\n}\r\n","export const IconHomeOutlined = () => {\r\n return (\r\n <svg\r\n width=\"16\"\r\n height=\"17\"\r\n viewBox=\"0 0 16 17\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M6.79167 1.10998C7.12981 0.824999 7.55779 0.668701 8 0.668701C8.44221 0.668701 8.87019 0.824999 9.20833 1.10998L14.8333 5.85331C15.2558 6.20998 15.5 6.73415 15.5 7.28665V15.4558C15.5 15.8426 15.3464 16.2135 15.0729 16.487C14.7994 16.7605 14.4284 16.9141 14.0417 16.9141H11.125C10.7382 16.9141 10.3673 16.7605 10.0938 16.487C9.82031 16.2135 9.66667 15.8426 9.66667 15.4558V10.8725C9.66667 10.8172 9.64472 10.7642 9.60565 10.7252C9.56658 10.6861 9.51359 10.6641 9.45833 10.6641H6.54167C6.48641 10.6641 6.43342 10.6861 6.39435 10.7252C6.35528 10.7642 6.33333 10.8172 6.33333 10.8725V15.4558C6.33333 15.8426 6.17969 16.2135 5.9062 16.487C5.63271 16.7605 5.26177 16.9141 4.875 16.9141H1.95833C1.76682 16.9141 1.57719 16.8764 1.40025 16.8031C1.22332 16.7298 1.06255 16.6224 0.927136 16.487C0.791717 16.3516 0.684297 16.1908 0.611009 16.0139C0.537721 15.837 0.5 15.6473 0.5 15.4558V7.28665C0.5 6.73415 0.744167 6.20998 1.16667 5.85331L6.79167 1.10998ZM8.4025 2.06581C8.28983 1.97097 8.14728 1.91895 8 1.91895C7.85272 1.91895 7.71017 1.97097 7.5975 2.06581L1.9725 6.80831C1.90289 6.86691 1.84691 6.94 1.80848 7.02248C1.77005 7.10495 1.75009 7.19482 1.75 7.28581V15.455C1.75 15.57 1.84333 15.6633 1.95833 15.6633H4.875C4.93025 15.6633 4.98324 15.6414 5.02231 15.6023C5.06138 15.5632 5.08333 15.5102 5.08333 15.455V10.8716C5.08333 10.0658 5.73667 9.41331 6.54167 9.41331H9.45833C10.2633 9.41331 10.9167 10.0658 10.9167 10.8716V15.455C10.9167 15.57 11.01 15.6633 11.125 15.6633H14.0417C14.0969 15.6633 14.1499 15.6414 14.189 15.6023C14.2281 15.5632 14.25 15.5102 14.25 15.455V7.28665C14.2499 7.19566 14.2299 7.10578 14.1915 7.02331C14.1531 6.94083 14.0971 6.86774 14.0275 6.80915L8.4025 2.06581Z\"\r\n fill=\"#999999\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconImage = ({ color }) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\r\n <g clipPath=\"url(#clip0_8793_79855)\">\r\n <path d=\"M8.813 12.112C9.27 11.732 9.731 11.732 10.199 12.123L10.307 12.221L15.293 17.207L15.387 17.29C15.5794 17.4391 15.8196 17.513 16.0626 17.4976C16.3056 17.4823 16.5346 17.3789 16.7067 17.2067C16.8789 17.0346 16.9823 16.8056 16.9976 16.5626C17.013 16.3196 16.9391 16.0794 16.79 15.887L16.707 15.793L15.415 14.5L15.707 14.207L15.813 14.112C16.27 13.732 16.731 13.732 17.199 14.123L17.307 14.221L21.981 18.896C21.8863 19.8483 21.4534 20.735 20.7608 21.3954C20.0681 22.0557 19.1617 22.4459 18.206 22.495L18 22.5H6C5.00791 22.4999 4.05124 22.1312 3.31576 21.4654C2.58028 20.7996 2.11847 19.8842 2.02 18.897L8.707 12.207L8.813 12.112ZM18 2.5C19.0262 2.5 20.0132 2.89444 20.7568 3.60172C21.5004 4.30901 21.9437 5.27504 21.995 6.3L22 6.5V16.085L18.707 12.793L18.557 12.656C17.301 11.561 15.707 11.559 14.461 12.639L14.307 12.779L14 13.085L11.707 10.793L11.557 10.656C10.301 9.561 8.707 9.559 7.461 10.639L7.307 10.779L2 16.085V6.5C2 5.47376 2.39444 4.48677 3.10172 3.74319C3.80901 2.9996 4.77504 2.55631 5.8 2.505L6 2.5H18ZM15.01 7.5L14.883 7.507C14.64 7.53591 14.4159 7.65296 14.2534 7.83596C14.0909 8.01897 14.0011 8.25524 14.0011 8.5C14.0011 8.74476 14.0909 8.98103 14.2534 9.16403C14.4159 9.34704 14.64 9.46409 14.883 9.493L15 9.5L15.127 9.493C15.37 9.46409 15.5941 9.34704 15.7566 9.16403C15.9191 8.98103 16.0089 8.74476 16.0089 8.5C16.0089 8.25524 15.9191 8.01897 15.7566 7.83596C15.5941 7.65296 15.37 7.53591 15.127 7.507L15.01 7.5Z\" fill={color ?? '#00529C'}/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_8793_79855\">\r\n <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0 0.5)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n )\r\n}","export const IconInfoBgPutih = ({ isSmall }) => {\r\n const size = isSmall ? 20 : 28;\r\n return (\r\n <svg\r\n width={size}\r\n height={size}\r\n viewBox=\"0 0 28 28\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n\r\n <circle cx=\"14\" cy=\"15\" r=\"12.5\" fill=\"white\" stroke=\"#00529C\" strokeWidth=\"2\" />\r\n\r\n <path\r\n d=\"M14 6.3C13.54 6.3 13.09 6.48 12.76 6.81C12.43 7.14 12.25 7.59 12.25 8.05C12.25 8.52 12.43 8.96 12.76 9.29C13.09 9.62 13.54 9.8 14 9.8C14.46 9.8 14.91 9.62 15.24 9.29C15.57 8.96 15.75 8.52 15.75 8.05C15.75 7.59 15.57 7.14 15.24 6.81C14.91 6.48 14.46 6.3 14 6.3ZM13.99 11.55C13.65 11.55 13.32 11.68 13.06 11.9C12.81 12.13 12.65 12.45 12.61 12.79L12.6 12.95L12.6 20.65C12.65 21.16 12.81 21.47 13.07 21.7C13.33 21.93 13.66 22.05 14 22.05C14.34 22.05 14.68 21.93 14.93 21.7C15.19 21.47 15.35 21.15 15.39 20.81L15.4 20.65V12.95C15.35 12.44 15.18 12.13 14.92 11.9C14.67 11.67 14.34 11.55 13.99 11.55Z\"\r\n fill=\"#00529C\"\r\n />\r\n </svg>\r\n );\r\n};","export const IconInfoHover = (color) => {\r\n return (\r\n <svg\r\n width=\"4\"\r\n height=\"13\"\r\n viewBox=\"0 0 4 13\"\r\n fill={color ? color : 'white'} \r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M1.75473 0.948997C1.2913 0.948997 0.846844 1.08623 0.519147 1.33051C0.19145 1.57479 0.00735188 1.90611 0.00735188 2.25158C0.00735188 2.59704 0.19145 2.92836 0.519147 3.17264C0.846844 3.41692 1.2913 3.55416 1.75473 3.55416C2.21816 3.55416 2.66261 3.41692 2.99031 3.17264C3.31801 2.92836 3.50211 2.59704 3.50211 2.25158C3.50211 1.90611 3.31801 1.57479 2.99031 1.33051C2.66261 1.08623 2.21816 0.948997 1.75473 0.948997Z\"\r\n />\r\n <path\r\n d=\"M1.74914 4.85102C1.40697 4.85137 1.07689 4.94537 0.82156 5.11517C0.566231 5.28498 0.403437 5.51876 0.364087 5.77214L0.354314 5.89287L0.358502 11.6194L0.368277 11.7412C0.407638 11.9951 0.570887 12.2292 0.826923 12.3991C1.08296 12.569 1.41389 12.6628 1.75667 12.6625C2.09946 12.6623 2.43013 12.568 2.68571 12.3977C2.94129 12.2275 3.1039 11.993 3.14258 11.7391L3.15096 11.6174L3.14677 5.89183L3.13699 5.77006C3.09664 5.51689 2.93303 5.28357 2.67721 5.11435C2.42139 4.94514 2.09115 4.85181 1.74914 4.85206V4.85102Z\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconInfo = ({color, isSmall}) => {\r\n return (\r\n <svg\r\n width={`${isSmall ? \"20\" : \"28\"}`}\r\n height={`${isSmall ? \"20\" : \"28\"}`}\r\n viewBox=\"0 0 28 28\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M14 0C21.7321 0 28 6.26826 28 14.0007C28 21.7317 21.7321 28 14 28C6.26795 28 0 21.7317 0 14.0007C0 6.26826 6.26795 0 14 0ZM13.9944 11.5483C13.6514 11.5487 13.3205 11.6752 13.0645 11.9035C12.8085 12.1319 12.6453 12.4463 12.6059 12.7871L12.5961 12.9495L12.6003 20.6511L12.6101 20.8149C12.6495 21.1563 12.8132 21.4712 13.0699 21.6997C13.3265 21.9282 13.6583 22.0543 14.0019 22.0539C14.3456 22.0536 14.6771 21.9268 14.9333 21.6978C15.1895 21.4688 15.3525 21.1535 15.3913 20.8121L15.3997 20.6483L15.3955 12.9481L15.3857 12.7843C15.3453 12.4438 15.1812 12.13 14.9248 11.9024C14.6683 11.6749 14.3373 11.5493 13.9944 11.5497V11.5483ZM14 6.30046C13.5354 6.30046 13.0898 6.48502 12.7613 6.81356C12.4328 7.14209 12.2482 7.58768 12.2482 8.05229C12.2482 8.51691 12.4328 8.96249 12.7613 9.29103C13.0898 9.61956 13.5354 9.80413 14 9.80413C14.4646 9.80413 14.9102 9.61956 15.2387 9.29103C15.5672 8.96249 15.7517 8.51691 15.7517 8.05229C15.7517 7.58768 15.5672 7.14209 15.2387 6.81356C14.9102 6.48502 14.4646 6.30046 14 6.30046Z\"\r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconListDocument = ({ color }) => {\r\n return (\r\n <svg\r\n width=\"21\"\r\n height=\"22\"\r\n viewBox=\"0 0 21 22\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M0 3.93103C0 3.13538 0.31607 2.37232 0.87868 1.80971C1.44129 1.2471 2.20435 0.93103 3 0.93103H13.5C14.2956 0.93103 15.0587 1.2471 15.6213 1.80971C16.1839 2.37232 16.5 3.13538 16.5 3.93103V14.431H21V17.431C21 18.6245 20.5259 19.7691 19.682 20.613C18.8381 21.4569 17.6935 21.931 16.5 21.931H4.5C3.30653 21.931 2.16193 21.4569 1.31802 20.613C0.474106 19.7691 0 18.6245 0 17.431V3.93103ZM16.5 20.431C17.2956 20.431 18.0587 20.115 18.6213 19.5523C19.1839 18.9897 19.5 18.2267 19.5 17.431V15.931H16.5V20.431ZM5.25 5.43103C5.05109 5.43103 4.86032 5.51005 4.71967 5.6507C4.57902 5.79135 4.5 5.98212 4.5 6.18103C4.5 6.37994 4.57902 6.57071 4.71967 6.71136C4.86032 6.85201 5.05109 6.93103 5.25 6.93103H11.25C11.4489 6.93103 11.6397 6.85201 11.7803 6.71136C11.921 6.57071 12 6.37994 12 6.18103C12 5.98212 11.921 5.79135 11.7803 5.6507C11.6397 5.51005 11.4489 5.43103 11.25 5.43103H5.25ZM5.25 9.93103C5.05109 9.93103 4.86032 10.01 4.71967 10.1507C4.57902 10.2914 4.5 10.4821 4.5 10.681C4.5 10.8799 4.57902 11.0707 4.71967 11.2114C4.86032 11.352 5.05109 11.431 5.25 11.431H11.25C11.4489 11.431 11.6397 11.352 11.7803 11.2114C11.921 11.0707 12 10.8799 12 10.681C12 10.4821 11.921 10.2914 11.7803 10.1507C11.6397 10.01 11.4489 9.93103 11.25 9.93103H5.25ZM5.25 14.431C5.05109 14.431 4.86032 14.51 4.71967 14.6507C4.57902 14.7914 4.5 14.9821 4.5 15.181C4.5 15.3799 4.57902 15.5707 4.71967 15.7114C4.86032 15.852 5.05109 15.931 5.25 15.931H8.25C8.44891 15.931 8.63968 15.852 8.78033 15.7114C8.92098 15.5707 9 15.3799 9 15.181C9 14.9821 8.92098 14.7914 8.78033 14.6507C8.63968 14.51 8.44891 14.431 8.25 14.431H5.25Z\"\r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconModalClose = ({ color }) => {\r\n return (\r\n <svg\r\n width=\"16\"\r\n height=\"16\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color={color ? color : \"white\"}\r\n >\r\n <path\r\n d=\"M21.0003 0.000976562L11.9989 9.00018L2.99973 0.000976562L0 3.00071L8.9992 11.9999L0 20.9991L2.99973 23.9989L11.9989 14.9997L21.0003 23.9989L24 20.9991L15.0008 11.9999L24 3.00071L21.0003 0.000976562Z\"\r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const MoneyIcon = ({ color, width, height }) => {\r\n return (\r\n <svg\r\n width={width ? width : \"25\"}\r\n height={height ? height : \"24\"}\r\n viewBox=\"0 0 25 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M2.5 5.75C2.5 4.784 3.284 4 4.25 4H17.75C18.716 4 19.5 4.784 19.5 5.75V14.25C19.5 14.7141 19.3156 15.1592 18.9874 15.4874C18.6592 15.8156 18.2141 16 17.75 16H4.25C3.78587 16 3.34075 15.8156 3.01256 15.4874C2.68437 15.1592 2.5 14.7141 2.5 14.25V5.75ZM5.5 5.25V6.25C5.5 6.44891 5.42098 6.63968 5.28033 6.78033C5.13968 6.92098 4.94891 7 4.75 7H3.75V8.5H4.75C5.04547 8.5 5.33806 8.4418 5.61104 8.32873C5.88402 8.21566 6.13206 8.04992 6.34099 7.84099C6.54992 7.63206 6.71566 7.38402 6.82873 7.11104C6.9418 6.83805 7 6.54547 7 6.25V5.25H5.5ZM11 12.5C11.5967 12.5 12.169 12.2629 12.591 11.841C13.0129 11.419 13.25 10.8467 13.25 10.25C13.25 9.65326 13.0129 9.08097 12.591 8.65901C12.169 8.23705 11.5967 8 11 8C10.4033 8 9.83097 8.23705 9.40901 8.65901C8.98705 9.08097 8.75 9.65326 8.75 10.25C8.75 10.8467 8.98705 11.419 9.40901 11.841C9.83097 12.2629 10.4033 12.5 11 12.5ZM3.75 13H4.75C4.94891 13 5.13968 13.079 5.28033 13.2197C5.42098 13.3603 5.5 13.5511 5.5 13.75V14.75H7V13.75C7 13.1533 6.76295 12.581 6.34099 12.159C5.91903 11.7371 5.34674 11.5 4.75 11.5H3.75V13ZM16.5 13.75C16.5 13.5511 16.579 13.3603 16.7197 13.2197C16.8603 13.079 17.0511 13 17.25 13H18.25V11.5H17.25C16.6533 11.5 16.081 11.7371 15.659 12.159C15.2371 12.581 15 13.1533 15 13.75V14.75H16.5V13.75ZM16.5 6.25V5.25H15V6.25C15 6.54547 15.0582 6.83805 15.1713 7.11104C15.2843 7.38402 15.4501 7.63206 15.659 7.84099C16.081 8.26295 16.6533 8.5 17.25 8.5H18.25V7H17.25C17.0511 7 16.8603 6.92098 16.7197 6.78033C16.579 6.63968 16.5 6.44891 16.5 6.25Z\"\r\n fill={color ? color : \"#00529C\"}\r\n />\r\n <path\r\n d=\"M4.90137 17.4999C5.16467 17.9561 5.54351 18.335 5.99977 18.5983C6.45602 18.8616 6.97358 19.0001 7.50037 18.9999H17.7504C18.3741 18.9999 18.9918 18.877 19.5681 18.6383C20.1444 18.3996 20.668 18.0497 21.1091 17.6086C21.5502 17.1676 21.9001 16.6439 22.1388 16.0676C22.3775 15.4913 22.5004 14.8737 22.5004 14.2499V8.99988C22.5004 7.88988 21.8974 6.91988 21.0004 6.40088V14.2499C21.0004 15.1118 20.658 15.9385 20.0485 16.548C19.439 17.1575 18.6123 17.4999 17.7504 17.4999H4.90137Z\"\r\n fill={color ? color : \"#00529C\"}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconMoneyOne = ({ width, height }) => {\r\n return (\r\n <svg \r\n width={width ? width : \"25\"} \r\n height={height ? height : \"37\"} \r\n viewBox=\"0 0 25 37\" \r\n fill=\"none\" \r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path \r\n d=\"M18.3335 18.5H18.3435M6.3335 18.5H6.3435M9.3335 18.5C9.3335 19.2956 9.64957 20.0587 10.2122 20.6213C10.7748 21.1839 11.5378 21.5 12.3335 21.5C13.1291 21.5 13.8922 21.1839 14.4548 20.6213C15.0174 20.0587 15.3335 19.2956 15.3335 18.5C15.3335 17.7044 15.0174 16.9413 14.4548 16.3787C13.8922 15.8161 13.1291 15.5 12.3335 15.5C11.5378 15.5 10.7748 15.8161 10.2122 16.3787C9.64957 16.9413 9.3335 17.7044 9.3335 18.5ZM3.3335 14.5C3.3335 13.9696 3.54421 13.4609 3.91928 13.0858C4.29436 12.7107 4.80306 12.5 5.3335 12.5H19.3335C19.8639 12.5 20.3726 12.7107 20.7477 13.0858C21.1228 13.4609 21.3335 13.9696 21.3335 14.5V22.5C21.3335 23.0304 21.1228 23.5391 20.7477 23.9142C20.3726 24.2893 19.8639 24.5 19.3335 24.5H5.3335C4.80306 24.5 4.29436 24.2893 3.91928 23.9142C3.54421 23.5391 3.3335 23.0304 3.3335 22.5V14.5Z\" \r\n stroke=\"#00529C\" \r\n strokeWidth=\"1.8\" \r\n strokeLinecap=\"round\" \r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconMoneyTwo = ({ width, height }) => {\r\n return (\r\n <svg \r\n width={width ? width : \"25\"} \r\n height={height ? height : \"37\"} \r\n viewBox=\"0 0 25 37\" \r\n fill=\"none\" \r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path \r\n d=\"M17.6665 15.5V13.5C17.6665 12.9696 17.4558 12.4609 17.0807 12.0858C16.7056 11.7107 16.1969 11.5 15.6665 11.5H5.6665C5.13607 11.5 4.62736 11.7107 4.25229 12.0858C3.87722 12.4609 3.6665 12.9696 3.6665 13.5V19.5C3.6665 20.0304 3.87722 20.5391 4.25229 20.9142C4.62736 21.2893 5.13607 21.5 5.6665 21.5H7.6665M7.6665 17.5C7.6665 16.9696 7.87722 16.4609 8.25229 16.0858C8.62736 15.7107 9.13607 15.5 9.6665 15.5H19.6665C20.1969 15.5 20.7056 15.7107 21.0807 16.0858C21.4558 16.4609 21.6665 16.9696 21.6665 17.5V23.5C21.6665 24.0304 21.4558 24.5391 21.0807 24.9142C20.7056 25.2893 20.1969 25.5 19.6665 25.5H9.6665C9.13607 25.5 8.62736 25.2893 8.25229 24.9142C7.87722 24.5391 7.6665 24.0304 7.6665 23.5V17.5ZM12.6665 20.5C12.6665 21.0304 12.8772 21.5391 13.2523 21.9142C13.6274 22.2893 14.1361 22.5 14.6665 22.5C15.1969 22.5 15.7056 22.2893 16.0807 21.9142C16.4558 21.5391 16.6665 21.0304 16.6665 20.5C16.6665 19.9696 16.4558 19.4609 16.0807 19.0858C15.7056 18.7107 15.1969 18.5 14.6665 18.5C14.1361 18.5 13.6274 18.7107 13.2523 19.0858C12.8772 19.4609 12.6665 19.9696 12.6665 20.5Z\" \r\n stroke=\"#00529C\" \r\n strokeWidth=\"1.8\" \r\n strokeLinecap=\"round\" \r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconMoney = ({color, width, height}) => {\r\n return (\r\n <svg \r\n width={width ? width :\"32\"} \r\n height={height ? height : \"33\"} \r\n viewBox=\"0 0 32 33\" \r\n fill=\"none\" \r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path \r\n d=\"M2.66602 8.16683C2.66602 6.87883 3.71135 5.8335 4.99935 5.8335H22.9993C24.2873 5.8335 25.3327 6.87883 25.3327 8.16683V19.5002C25.3327 20.119 25.0868 20.7125 24.6493 21.1501C24.2117 21.5877 23.6182 21.8335 22.9993 21.8335H4.99935C4.38051 21.8335 3.78702 21.5877 3.34943 21.1501C2.91185 20.7125 2.66602 20.119 2.66602 19.5002V8.16683ZM6.66602 7.50016V8.8335C6.66602 9.09871 6.56066 9.35307 6.37312 9.5406C6.18559 9.72814 5.93123 9.8335 5.66602 9.8335H4.33268V11.8335H5.66602C6.05998 11.8335 6.45009 11.7559 6.81407 11.6051C7.17804 11.4544 7.50876 11.2334 7.78734 10.9548C8.06591 10.6762 8.28689 10.3455 8.43765 9.98155C8.58842 9.61757 8.66602 9.22746 8.66602 8.8335V7.50016H6.66602ZM13.9993 17.1668C14.795 17.1668 15.5581 16.8508 16.1207 16.2881C16.6833 15.7255 16.9993 14.9625 16.9993 14.1668C16.9993 13.3712 16.6833 12.6081 16.1207 12.0455C15.5581 11.4829 14.795 11.1668 13.9993 11.1668C13.2037 11.1668 12.4406 11.4829 11.878 12.0455C11.3154 12.6081 10.9993 13.3712 10.9993 14.1668C10.9993 14.9625 11.3154 15.7255 11.878 16.2881C12.4406 16.8508 13.2037 17.1668 13.9993 17.1668ZM4.33268 17.8335H5.66602C5.93123 17.8335 6.18559 17.9389 6.37312 18.1264C6.56066 18.3139 6.66602 18.5683 6.66602 18.8335V20.1668H8.66602V18.8335C8.66602 18.0378 8.34995 17.2748 7.78734 16.7122C7.22473 16.1496 6.46167 15.8335 5.66602 15.8335H4.33268V17.8335ZM21.3327 18.8335C21.3327 18.5683 21.438 18.3139 21.6256 18.1264C21.8131 17.9389 22.0675 17.8335 22.3327 17.8335H23.666V15.8335H22.3327C21.537 15.8335 20.774 16.1496 20.2114 16.7122C19.6488 17.2748 19.3327 18.0378 19.3327 18.8335V20.1668H21.3327V18.8335ZM21.3327 8.8335V7.50016H19.3327V8.8335C19.3327 9.22746 19.4103 9.61757 19.561 9.98155C19.7118 10.3455 19.9328 10.6762 20.2114 10.9548C20.774 11.5174 21.537 11.8335 22.3327 11.8335H23.666V9.8335H22.3327C22.0675 9.8335 21.8131 9.72814 21.6256 9.5406C21.438 9.35307 21.3327 9.09871 21.3327 8.8335Z\" \r\n fill=\"#ED6E12\"\r\n />\r\n <path \r\n d=\"M5.86719 23.8333C6.21826 24.4417 6.72338 24.9468 7.33172 25.2979C7.94005 25.649 8.63014 25.8337 9.33252 25.8333H22.9992C23.8309 25.8333 24.6545 25.6695 25.4229 25.3512C26.1912 25.033 26.8894 24.5665 27.4775 23.9783C28.0656 23.3902 28.5321 22.6921 28.8504 21.9237C29.1687 21.1553 29.3325 20.3317 29.3325 19.5V12.5C29.3325 11.02 28.5285 9.72667 27.3325 9.03467V19.5C27.3325 20.6493 26.876 21.7515 26.0633 22.5641C25.2507 23.3768 24.1485 23.8333 22.9992 23.8333H5.86719Z\" \r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n );\r\n};","export const IconNoData = ({width, height}) => {\r\n return (\r\n <svg width={width ? width :\"161\"} height={height ? height : \"160\"} viewBox=\"0 0 161 160\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g opacity=\"0.5\">\r\n <path d=\"M148.869 113.958C148.869 119.155 146.824 123.856 143.496 127.251C140.181 130.662 135.595 132.755 130.523 132.755H47.9663V132.713C47.4287 132.739 46.9039 132.755 46.3663 132.755C27.5471 132.755 12.2959 117.126 12.2959 97.8431C12.2959 92.0415 13.6847 86.5631 16.1231 81.7439C20.8655 72.4127 29.6079 65.5487 40.0239 63.5487C41.5311 43.2319 58.6575 27.2383 79.5343 27.2383C100.974 27.2383 118.427 44.0895 119.134 65.1583C130.955 68.4223 139.643 79.5007 139.643 92.6463C139.643 94.2719 139.512 95.8687 139.249 97.4143C140.481 98.0991 141.621 98.9183 142.658 99.8719C146.472 103.299 148.869 108.345 148.869 113.958Z\" fill=\"url(#paint0_radial_25248_49246)\"/>\r\n <path d=\"M142.657 99.8748C129.211 113.049 108.677 121.468 85.6814 121.468C53.3518 121.468 25.9118 104.844 16.123 81.7468C20.8654 72.4156 29.6078 65.5516 40.0238 63.5516C41.531 43.2348 58.6574 27.2412 79.5342 27.2412C100.974 27.2412 118.427 44.0924 119.134 65.1612C130.955 68.4252 139.643 79.5036 139.643 92.6492C139.643 94.2748 139.512 95.8716 139.249 97.4172C140.485 98.102 141.624 98.9212 142.657 99.8748Z\" fill=\"url(#paint1_radial_25248_49246)\"/>\r\n </g>\r\n <path d=\"M26.1419 60.374C26.1419 60.8828 25.6555 61.3404 24.8779 61.6572C24.2827 61.9004 23.8187 62.3772 23.5819 62.9852C23.2715 63.7788 22.8267 64.278 22.3307 64.278C21.8347 64.278 21.3867 63.7788 21.0795 62.9852C20.8427 62.3772 20.3787 61.8972 19.7835 61.6572C19.0091 61.3404 18.5195 60.8828 18.5195 60.374C18.5195 59.8652 19.0059 59.4076 19.7803 59.0908C20.3755 58.8476 20.8427 58.3708 21.0763 57.7596C21.3835 56.966 21.8315 56.4668 22.3275 56.4668C22.8235 56.4668 23.2715 56.966 23.5787 57.7596C23.8155 58.3708 24.2827 58.8476 24.8779 59.0908C25.6555 59.4108 26.1419 59.8652 26.1419 60.374Z\" fill=\"#2A61A1\"/>\r\n <path d=\"M118.824 34.9282C118.824 35.1682 118.594 35.3826 118.229 35.533C117.948 35.6482 117.73 35.8722 117.618 36.1602C117.471 36.5346 117.263 36.7714 117.026 36.7714C116.792 36.7714 116.581 36.5346 116.434 36.1602C116.322 35.8722 116.104 35.6482 115.823 35.533C115.458 35.3826 115.228 35.1682 115.228 34.9282C115.228 34.6882 115.458 34.4706 115.823 34.3234C116.104 34.2082 116.322 33.9842 116.434 33.6962C116.578 33.3218 116.789 33.085 117.026 33.085C117.26 33.085 117.471 33.3218 117.618 33.6962C117.73 33.9842 117.951 34.2082 118.229 34.3234C118.597 34.4706 118.824 34.6882 118.824 34.9282Z\" fill=\"#86C5F6\"/>\r\n <path d=\"M141.903 113.754C141.903 114.432 141.253 115.043 140.216 115.466C139.423 115.789 138.802 116.426 138.488 117.239C138.075 118.298 137.48 118.967 136.815 118.967C136.152 118.967 135.554 118.301 135.144 117.242C134.827 116.429 134.207 115.792 133.413 115.466C132.376 115.043 131.727 114.432 131.727 113.754C131.727 113.075 132.376 112.464 133.41 112.042C134.203 111.719 134.827 111.082 135.141 110.266C135.554 109.207 136.149 108.541 136.811 108.541C137.474 108.541 138.072 109.207 138.485 110.269C138.802 111.085 139.423 111.722 140.219 112.045C141.253 112.464 141.903 113.075 141.903 113.754Z\" fill=\"#CBE6FD\"/>\r\n <path d=\"M121.505 48.5763V50.2435H43.3198C41.3006 50.2435 39.6622 51.9235 39.6622 53.9907V107.796H37.0446C36.9422 107.796 36.8398 107.792 36.7374 107.783C34.8622 107.623 33.3838 106.013 33.3838 104.048V48.5763C33.3838 46.5059 35.0222 44.8291 37.0414 44.8291H117.845C119.867 44.8291 121.505 46.5059 121.505 48.5763Z\" fill=\"#FF9D24\"/>\r\n <path d=\"M127.781 60.3809H39.6592V61.1009H127.781V60.3809Z\" fill=\"#A7D0F9\"/>\r\n <path d=\"M127.784 53.9906V109.459C127.784 111.533 126.146 113.21 124.126 113.21H106.958C107.118 113.104 107.275 112.995 107.429 112.887C108.523 112.106 109.566 111.219 110.539 110.221C111.288 109.453 111.97 108.647 112.59 107.808C112.779 107.552 112.962 107.296 113.141 107.034C113.154 107.018 113.166 106.992 113.179 106.976C118.098 99.6802 118.472 90.1378 114.306 82.4994C113.96 81.8658 113.582 81.2482 113.179 80.6434C112.411 79.4978 111.528 78.413 110.539 77.3954C101.698 68.333 87.3552 68.333 78.5136 77.3986C74.5424 81.4722 72.3536 86.6818 71.9504 92.0034C71.4576 98.5282 73.6432 105.226 78.5136 110.218C79.6272 111.357 80.8272 112.352 82.0944 113.207H43.3168C41.2976 113.207 39.6592 111.53 39.6592 109.456V53.9906C39.6592 51.9234 41.2976 50.2402 43.3168 50.2402H124.12C126.142 50.2402 127.778 51.9202 127.778 53.9906H127.784Z\" fill=\"url(#paint2_radial_25248_49246)\"/>\r\n <path d=\"M124.123 50.2432H43.3197C41.3005 50.2432 39.6621 51.9232 39.6621 53.9904V60.7392H127.784V53.9904C127.781 51.92 126.142 50.2432 124.123 50.2432ZM45.4125 57.232C44.6989 57.232 44.1197 56.64 44.1197 55.9072C44.1197 55.1744 44.6989 54.5824 45.4125 54.5824C46.1261 54.5824 46.7053 55.1744 46.7053 55.9072C46.7085 56.6368 46.1261 57.232 45.4125 57.232ZM51.1053 57.232C50.3917 57.232 49.8125 56.64 49.8125 55.9072C49.8125 55.1744 50.3917 54.5824 51.1053 54.5824C51.8189 54.5824 52.3981 55.1744 52.3981 55.9072C52.3981 56.6368 51.8189 57.232 51.1053 57.232ZM56.7949 57.232C56.0813 57.232 55.5021 56.64 55.5021 55.9072C55.5021 55.1744 56.0813 54.5824 56.7949 54.5824C57.5085 54.5824 58.0877 55.1744 58.0877 55.9072C58.0909 56.6368 57.5117 57.232 56.7949 57.232Z\" fill=\"#2A61A1\"/>\r\n <path d=\"M127.784 74.4131V109.459C127.784 111.533 126.145 113.21 124.126 113.21H106.958C107.118 113.104 107.275 112.995 107.428 112.887C108.523 112.106 109.566 111.219 110.539 110.221C111.288 109.453 111.969 108.647 112.59 107.808C112.779 107.552 112.961 107.296 113.14 107.034C113.153 107.018 113.166 106.992 113.179 106.976C118.097 99.6803 118.472 90.1379 114.305 82.4995C118.939 80.2979 123.46 77.6291 127.784 74.4131Z\" fill=\"#2A61A1\"/>\r\n <path d=\"M78.5104 110.221C79.624 111.36 80.824 112.355 82.0912 113.21H43.3168C41.2976 113.21 39.6592 111.533 39.6592 109.459V89.4688C46.9072 90.8319 58.5776 92.4319 71.9472 92.0063C71.4544 98.5311 73.64 105.229 78.5104 110.221Z\" fill=\"#2A61A1\"/>\r\n <path d=\"M46.3691 68.17V80.7844C46.3691 81.306 46.7819 81.7284 47.2907 81.7284H58.2859C58.7947 81.7284 59.2075 81.306 59.2075 80.7844V71.2164C59.2075 70.938 59.0859 70.6724 58.8779 70.4964L55.3419 67.4532C55.1755 67.3092 54.9675 67.2324 54.7499 67.2324H47.2875C46.7787 67.2292 46.3691 67.6484 46.3691 68.17Z\" fill=\"#E4F2FF\"/>\r\n <path d=\"M46.3691 88.173V100.787C46.3691 101.309 46.7819 101.731 47.2907 101.731H58.2859C58.7947 101.731 59.2075 101.309 59.2075 100.787V91.2194C59.2075 90.941 59.0859 90.6754 58.8779 90.4994L55.3419 87.4562C55.1755 87.3122 54.9675 87.2354 54.7499 87.2354H47.2875C46.7787 87.229 46.3691 87.6514 46.3691 88.173Z\" fill=\"#E4F2FF\"/>\r\n <g opacity=\"0.25\">\r\n <path d=\"M109.112 102.912C108.418 104.077 107.579 105.177 106.597 106.185C105.615 107.193 104.539 108.051 103.403 108.765C96.8306 112.87 88.133 112.013 82.4498 106.185C75.781 99.3535 75.781 88.2751 82.4498 81.4399C89.1186 74.6047 99.9314 74.6047 106.6 81.4399C112.283 87.2639 113.119 96.1759 109.112 102.912Z\" fill=\"white\"/>\r\n </g>\r\n <path d=\"M113.176 80.6432C112.408 79.5008 111.525 78.416 110.536 77.3984C101.691 68.336 87.3554 68.336 78.5106 77.3984C69.6658 86.4608 69.6658 101.152 78.5106 110.214C79.6242 111.354 80.8242 112.352 82.0914 113.206C87.2978 116.72 93.6049 117.798 99.493 116.448C101.992 115.875 104.418 114.864 106.645 113.414C106.751 113.347 106.853 113.277 106.959 113.206C107.115 113.101 107.272 112.992 107.429 112.88C108.523 112.102 109.563 111.213 110.539 110.214C111.285 109.45 111.973 108.643 112.591 107.802C112.779 107.549 112.965 107.29 113.141 107.027C113.154 107.008 113.167 106.989 113.179 106.97C118.498 99.0752 118.498 88.5472 113.176 80.6432ZM109.112 102.912C108.418 104.077 107.579 105.178 106.597 106.182C105.611 107.19 104.539 108.051 103.403 108.762C96.8306 112.867 88.133 112.01 82.4466 106.182C75.7778 99.3472 75.7778 88.2688 82.4466 81.4368C89.1154 74.6016 99.9282 74.6016 106.597 81.4336C112.28 87.2608 113.119 96.1728 109.112 102.912Z\" fill=\"#FF9D24\"/>\r\n <path d=\"M94.5229 110.842C103.701 110.842 111.14 103.217 111.14 93.8117C111.14 84.406 103.701 76.7812 94.5229 76.7812C85.3452 76.7812 77.9053 84.406 77.9053 93.8117C77.9053 103.217 85.3452 110.842 94.5229 110.842Z\" fill=\"#E4F2FF\"/>\r\n <path d=\"M122.763 121.014L119.768 124.083C119.019 124.851 117.803 124.851 117.054 124.083L106.645 113.417C106.91 113.245 107.169 113.069 107.429 112.883C108.523 112.105 109.563 111.216 110.539 110.217C111.285 109.453 111.973 108.646 112.59 107.805L122.766 118.23C123.512 119.001 123.512 120.246 122.763 121.014Z\" fill=\"#ED6E14\"/>\r\n <path d=\"M96.2831 100.541C95.7679 100.071 95.1215 99.8369 94.3471 99.8369C93.5727 99.8369 92.9327 100.071 92.4143 100.541C91.8991 101.015 91.6367 101.613 91.6367 102.346C91.6367 103.079 91.8959 103.68 92.4143 104.147C92.9295 104.618 93.5759 104.851 94.3471 104.851C95.1183 104.851 95.7647 104.618 96.2831 104.147C96.7983 103.68 97.0575 103.079 97.0575 102.346C97.0575 101.613 96.7983 101.015 96.2831 100.541Z\" fill=\"#0F77CA\"/>\r\n <path d=\"M99.5694 84.2943C98.3886 83.2735 96.7182 82.3135 94.5646 82.3135C92.411 82.3135 90.7182 83.3183 89.5246 84.4191C89.1246 84.7871 88.7886 85.2031 88.5198 85.6703C87.659 87.1615 88.7918 89.0463 90.4814 89.0463H90.8526C91.7326 89.0463 92.4878 88.4959 92.891 87.6927C92.9646 87.5423 93.0542 87.4079 93.1566 87.2831C93.5118 86.8479 93.9822 86.6303 94.5614 86.6303C95.8158 86.6303 96.443 87.3791 96.443 88.8735C96.443 89.4879 96.2574 90.0479 95.8862 90.5567C95.5118 91.0687 94.971 91.6287 94.2574 92.2431C93.5406 92.8575 93.0286 93.5807 92.7086 94.4191C92.6158 94.6591 92.539 94.9279 92.4718 95.2191C92.1742 96.5599 93.1886 97.8399 94.5294 97.8399H94.555C95.5118 97.8399 96.315 97.1711 96.5902 96.2335C96.6158 96.1439 96.6446 96.0575 96.6766 95.9775C96.859 95.4879 97.1886 95.0111 97.6622 94.5439L99.3294 92.9567C100.033 92.2559 100.549 91.5647 100.865 90.8927C101.182 90.2207 101.342 89.4751 101.342 88.6527C101.345 86.7647 100.753 85.3119 99.5694 84.2943Z\" fill=\"#0F77CA\"/>\r\n <path d=\"M94.5234 111.267C94.293 111.267 94.1074 111.075 94.1074 110.841C94.1074 110.608 94.293 110.416 94.5234 110.416C103.458 110.416 110.725 102.969 110.725 93.814C110.725 89.2924 108.981 85.062 105.816 81.91C105.653 81.7468 105.647 81.4748 105.807 81.3084C105.967 81.1388 106.229 81.1356 106.395 81.2988C109.723 84.614 111.557 89.0588 111.557 93.814C111.557 103.436 103.915 111.267 94.5234 111.267Z\" fill=\"black\"/>\r\n <path d=\"M76.7405 108.541C76.6157 108.541 76.4941 108.483 76.4109 108.374C72.6445 103.395 70.9965 97.2095 71.7677 90.9567C72.5421 84.7071 75.6429 79.1359 80.5037 75.2767C90.5357 67.3087 105.025 69.1903 112.801 79.4719C112.942 79.6575 112.91 79.9263 112.728 80.0703C112.545 80.2143 112.283 80.1791 112.145 79.9935C104.651 70.0863 90.6861 68.2719 81.0157 75.9519C76.3309 79.6735 73.3421 85.0399 72.5965 91.0655C71.8509 97.0911 73.4413 103.053 77.0701 107.853C77.2109 108.038 77.1789 108.307 76.9964 108.451C76.9197 108.512 76.8301 108.541 76.7405 108.541Z\" fill=\"black\"/>\r\n <path d=\"M67.9439 113.546H43.5343C41.2175 113.546 39.3359 111.616 39.3359 109.242V84.544C39.3359 84.3584 39.4831 84.208 39.6623 84.208C39.8415 84.208 39.9887 84.3584 39.9887 84.544V109.242C39.9887 111.245 41.5791 112.877 43.5343 112.877H67.9439C68.1231 112.877 68.2703 113.027 68.2703 113.213C68.2703 113.398 68.1231 113.546 67.9439 113.546Z\" fill=\"black\"/>\r\n <defs>\r\n <radialGradient id=\"paint0_radial_25248_49246\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(25.814 121.626) scale(99.2427 101.694)\">\r\n <stop stopColor=\"#E4F2FF\"/>\r\n <stop offset=\"1\" stopColor=\"#86C5F6\"/>\r\n </radialGradient>\r\n <radialGradient id=\"paint1_radial_25248_49246\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(97.3656 125.205) scale(84.9763 87.0751)\">\r\n <stop stopColor=\"#63A3EF\"/>\r\n <stop offset=\"0.0909\" stopColor=\"#6BABF1\"/>\r\n <stop offset=\"0.3236\" stopColor=\"#7ABAF4\"/>\r\n <stop offset=\"0.5959\" stopColor=\"#83C2F5\"/>\r\n <stop offset=\"1\" stopColor=\"#86C5F6\"/>\r\n </radialGradient>\r\n <radialGradient id=\"paint2_radial_25248_49246\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(115.511 106.401) scale(54.9315 56.286)\">\r\n <stop stopColor=\"#045394\"/>\r\n <stop offset=\"0.3922\" stopColor=\"#0A66B0\"/>\r\n <stop offset=\"0.7499\" stopColor=\"#0E72C3\"/>\r\n <stop offset=\"1\" stopColor=\"#0F77CA\"/>\r\n </radialGradient>\r\n </defs>\r\n </svg>\r\n\r\n );\r\n};","export const NotFoundIcon = ({ width, height }) => {\r\n return (\r\n <svg\r\n width={width ?? \"250\"}\r\n height={height ?? \"250\"}\r\n viewBox=\"0 0 250 250\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <g opacity=\"0.5\">\r\n <path\r\n d=\"M231.695 178.06C231.695 186.18 228.5 193.525 223.3 198.83C218.12 204.16 210.955 207.43 203.03 207.43H74.0348V207.365C73.1948 207.405 72.3748 207.43 71.5348 207.43C42.1298 207.43 18.2998 183.01 18.2998 152.88C18.2998 143.815 20.4698 135.255 24.2798 127.725C31.6898 113.145 45.3498 102.42 61.6248 99.2951C63.9798 67.5501 90.7398 42.5601 123.36 42.5601C156.86 42.5601 184.13 68.8901 185.235 101.81C203.705 106.91 217.28 124.22 217.28 144.76C217.28 147.3 217.075 149.795 216.665 152.21C218.59 153.28 220.37 154.56 221.99 156.05C227.95 161.405 231.695 169.29 231.695 178.06Z\"\r\n fill=\"url(#paint0_radial_7463_128151)\"\r\n />\r\n <path\r\n d=\"M221.99 156.055C200.98 176.64 168.895 189.795 132.965 189.795C82.4503 189.795 39.5753 163.82 24.2803 127.73C31.6903 113.15 45.3503 102.425 61.6253 99.2999C63.9803 67.5549 90.7403 42.5649 123.36 42.5649C156.86 42.5649 184.13 68.8949 185.235 101.815C203.705 106.915 217.28 124.225 217.28 144.765C217.28 147.305 217.075 149.8 216.665 152.215C218.595 153.285 220.375 154.565 221.99 156.055Z\"\r\n fill=\"url(#paint1_radial_7463_128151)\"\r\n />\r\n </g>\r\n <path\r\n d=\"M39.9344 94.335C39.9344 95.13 39.1744 95.845 37.9594 96.34C37.0294 96.72 36.3044 97.465 35.9344 98.415C35.4494 99.655 34.7544 100.435 33.9794 100.435C33.2044 100.435 32.5044 99.655 32.0244 98.415C31.6544 97.465 30.9294 96.715 29.9994 96.34C28.7894 95.845 28.0244 95.13 28.0244 94.335C28.0244 93.54 28.7844 92.825 29.9944 92.33C30.9244 91.95 31.6544 91.205 32.0194 90.25C32.4994 89.01 33.1994 88.23 33.9744 88.23C34.7494 88.23 35.4494 89.01 35.9294 90.25C36.2994 91.205 37.0294 91.95 37.9594 92.33C39.1744 92.83 39.9344 93.54 39.9344 94.335Z\"\r\n fill=\"#2A61A1\"\r\n />\r\n <path\r\n d=\"M184.75 54.5751C184.75 54.9501 184.39 55.2851 183.82 55.5201C183.38 55.7001 183.04 56.0501 182.865 56.5001C182.635 57.0851 182.31 57.4551 181.94 57.4551C181.575 57.4551 181.245 57.0851 181.015 56.5001C180.84 56.0501 180.5 55.7001 180.06 55.5201C179.49 55.2851 179.13 54.9501 179.13 54.5751C179.13 54.2001 179.49 53.8601 180.06 53.6301C180.5 53.4501 180.84 53.1001 181.015 52.6501C181.24 52.0651 181.57 51.6951 181.94 51.6951C182.305 51.6951 182.635 52.0651 182.865 52.6501C183.04 53.1001 183.385 53.4501 183.82 53.6301C184.395 53.8601 184.75 54.2001 184.75 54.5751Z\"\r\n fill=\"#86C5F6\"\r\n />\r\n <path\r\n d=\"M220.81 177.74C220.81 178.8 219.795 179.755 218.175 180.415C216.935 180.92 215.965 181.915 215.475 183.185C214.83 184.84 213.9 185.885 212.86 185.885C211.825 185.885 210.89 184.845 210.25 183.19C209.755 181.92 208.785 180.925 207.545 180.415C205.925 179.755 204.91 178.8 204.91 177.74C204.91 176.68 205.925 175.725 207.54 175.065C208.78 174.56 209.755 173.565 210.245 172.29C210.89 170.635 211.82 169.595 212.855 169.595C213.89 169.595 214.825 170.635 215.47 172.295C215.965 173.57 216.935 174.565 218.18 175.07C219.795 175.725 220.81 176.68 220.81 177.74Z\"\r\n fill=\"#CBE6FD\"\r\n />\r\n <path\r\n d=\"M188.94 75.9002V78.5052H66.775C63.62 78.5052 61.06 81.1302 61.06 84.3602V168.43H56.97C56.81 168.43 56.65 168.425 56.49 168.41C53.56 168.16 51.25 165.645 51.25 162.575V75.9002C51.25 72.6652 53.81 70.0452 56.965 70.0452H183.22C186.38 70.0452 188.94 72.6652 188.94 75.9002Z\"\r\n fill=\"#FF9D24\"\r\n />\r\n <path d=\"M198.745 94.345H61.0547V95.47H198.745V94.345Z\" fill=\"#A7D0F9\" />\r\n <path\r\n d=\"M198.75 84.36V171.03C198.75 174.27 196.19 176.89 193.035 176.89H166.21C166.46 176.725 166.705 176.555 166.945 176.385C168.655 175.165 170.285 173.78 171.805 172.22C172.975 171.02 174.04 169.76 175.01 168.45C175.305 168.05 175.59 167.65 175.87 167.24C175.89 167.215 175.91 167.175 175.93 167.15C183.615 155.75 184.2 140.84 177.69 128.905C177.15 127.915 176.56 126.95 175.93 126.005C174.73 124.215 173.35 122.52 171.805 120.93C157.99 106.77 135.58 106.77 121.765 120.935C115.56 127.3 112.14 135.44 111.51 143.755C110.74 153.95 114.155 164.415 121.765 172.215C123.505 173.995 125.38 175.55 127.36 176.885H66.7697C63.6147 176.885 61.0547 174.265 61.0547 171.025V84.36C61.0547 81.13 63.6147 78.5 66.7697 78.5H193.025C196.185 78.5 198.74 81.125 198.74 84.36H198.75Z\"\r\n fill=\"url(#paint2_radial_7463_128151)\"\r\n />\r\n <path\r\n d=\"M193.03 78.5046H66.7746C63.6196 78.5046 61.0596 81.1296 61.0596 84.3596V94.9046H198.75V84.3596C198.745 81.1246 196.185 78.5046 193.03 78.5046ZM70.0446 89.4246C68.9296 89.4246 68.0246 88.4996 68.0246 87.3546C68.0246 86.2096 68.9296 85.2846 70.0446 85.2846C71.1596 85.2846 72.0646 86.2096 72.0646 87.3546C72.0696 88.4946 71.1596 89.4246 70.0446 89.4246ZM78.9396 89.4246C77.8246 89.4246 76.9196 88.4996 76.9196 87.3546C76.9196 86.2096 77.8246 85.2846 78.9396 85.2846C80.0546 85.2846 80.9596 86.2096 80.9596 87.3546C80.9596 88.4946 80.0546 89.4246 78.9396 89.4246ZM87.8296 89.4246C86.7146 89.4246 85.8096 88.4996 85.8096 87.3546C85.8096 86.2096 86.7146 85.2846 87.8296 85.2846C88.9446 85.2846 89.8496 86.2096 89.8496 87.3546C89.8546 88.4946 88.9496 89.4246 87.8296 89.4246Z\"\r\n fill=\"#2A61A1\"\r\n />\r\n <path\r\n d=\"M198.75 116.27V171.03C198.75 174.27 196.19 176.89 193.035 176.89H166.21C166.46 176.725 166.705 176.555 166.945 176.385C168.655 175.165 170.285 173.78 171.805 172.22C172.975 171.02 174.04 169.76 175.01 168.45C175.305 168.05 175.59 167.65 175.87 167.24C175.89 167.215 175.91 167.175 175.93 167.15C183.615 155.75 184.2 140.84 177.69 128.905C184.93 125.465 191.995 121.295 198.75 116.27Z\"\r\n fill=\"#2A61A1\"\r\n />\r\n <path\r\n d=\"M121.76 172.22C123.5 174 125.375 175.555 127.355 176.89H66.7697C63.6147 176.89 61.0547 174.27 61.0547 171.03V139.795C72.3797 141.925 90.6147 144.425 111.505 143.76C110.735 153.955 114.15 164.42 121.76 172.22Z\"\r\n fill=\"#2A61A1\"\r\n />\r\n <path\r\n d=\"M71.54 106.515V126.225C71.54 127.04 72.185 127.7 72.98 127.7H90.16C90.955 127.7 91.6 127.04 91.6 126.225V111.275C91.6 110.84 91.41 110.425 91.085 110.15L85.56 105.395C85.3 105.17 84.975 105.05 84.635 105.05H72.975C72.18 105.045 71.54 105.7 71.54 106.515Z\"\r\n fill=\"#E4F2FF\"\r\n />\r\n <path\r\n d=\"M71.54 137.77V157.48C71.54 158.295 72.185 158.955 72.98 158.955H90.16C90.955 158.955 91.6 158.295 91.6 157.48V142.53C91.6 142.095 91.41 141.68 91.085 141.405L85.56 136.65C85.3 136.425 84.975 136.305 84.635 136.305H72.975C72.18 136.295 71.54 136.955 71.54 137.77Z\"\r\n fill=\"#E4F2FF\"\r\n />\r\n <g opacity=\"0.25\">\r\n <path\r\n d=\"M169.575 160.8C168.49 162.62 167.18 164.34 165.645 165.915C164.11 167.49 162.43 168.83 160.655 169.945C150.385 176.36 136.795 175.02 127.915 165.915C117.495 155.24 117.495 137.93 127.915 127.25C138.335 116.57 155.23 116.57 165.65 127.25C174.53 136.35 175.835 150.275 169.575 160.8Z\"\r\n fill=\"white\"\r\n />\r\n </g>\r\n <path\r\n d=\"M175.925 126.005C174.725 124.22 173.345 122.525 171.8 120.935C157.98 106.775 135.58 106.775 121.76 120.935C107.94 135.095 107.94 158.05 121.76 172.21C123.5 173.99 125.375 175.55 127.355 176.885C135.49 182.375 145.345 184.06 154.545 181.95C158.45 181.055 162.24 179.475 165.72 177.21C165.885 177.105 166.045 176.995 166.21 176.885C166.455 176.72 166.7 176.55 166.945 176.375C168.655 175.16 170.28 173.77 171.805 172.21C172.97 171.015 174.045 169.755 175.01 168.44C175.305 168.045 175.595 167.64 175.87 167.23C175.89 167.2 175.91 167.17 175.93 167.14C184.24 154.805 184.24 138.355 175.925 126.005ZM169.575 160.8C168.49 162.62 167.18 164.34 165.645 165.91C164.105 167.485 162.43 168.83 160.655 169.94C150.385 176.355 136.795 175.015 127.91 165.91C117.49 155.23 117.49 137.92 127.91 127.245C138.33 116.565 155.225 116.565 165.645 127.24C174.525 136.345 175.835 150.27 169.575 160.8Z\"\r\n fill=\"#FF9D24\"\r\n />\r\n <path\r\n d=\"M146.779 173.19C161.12 173.19 172.744 161.276 172.744 146.58C172.744 131.884 161.12 119.97 146.779 119.97C132.439 119.97 120.814 131.884 120.814 146.58C120.814 161.276 132.439 173.19 146.779 173.19Z\"\r\n fill=\"#E4F2FF\"\r\n />\r\n <path\r\n d=\"M190.905 189.085L186.225 193.88C185.055 195.08 183.155 195.08 181.985 193.88L165.72 177.215C166.135 176.945 166.54 176.67 166.945 176.38C168.655 175.165 170.28 173.775 171.805 172.215C172.97 171.02 174.045 169.76 175.01 168.445L190.91 184.735C192.075 185.94 192.075 187.885 190.905 189.085Z\"\r\n fill=\"#ED6E14\"\r\n />\r\n <path\r\n d=\"M149.53 157.095C148.725 156.36 147.715 155.995 146.505 155.995C145.295 155.995 144.295 156.36 143.485 157.095C142.68 157.835 142.27 158.77 142.27 159.915C142.27 161.06 142.675 162 143.485 162.73C144.29 163.465 145.3 163.83 146.505 163.83C147.71 163.83 148.72 163.465 149.53 162.73C150.335 162 150.74 161.06 150.74 159.915C150.74 158.77 150.335 157.835 149.53 157.095Z\"\r\n fill=\"#0F77CA\"\r\n />\r\n <path\r\n d=\"M154.665 131.71C152.82 130.115 150.21 128.615 146.845 128.615C143.48 128.615 140.835 130.185 138.97 131.905C138.345 132.48 137.82 133.13 137.4 133.86C136.055 136.19 137.825 139.135 140.465 139.135H141.045C142.42 139.135 143.6 138.275 144.23 137.02C144.345 136.785 144.485 136.575 144.645 136.38C145.2 135.7 145.935 135.36 146.84 135.36C148.8 135.36 149.78 136.53 149.78 138.865C149.78 139.825 149.49 140.7 148.91 141.495C148.325 142.295 147.48 143.17 146.365 144.13C145.245 145.09 144.445 146.22 143.945 147.53C143.8 147.905 143.68 148.325 143.575 148.78C143.11 150.875 144.695 152.875 146.79 152.875H146.83C148.325 152.875 149.58 151.83 150.01 150.365C150.05 150.225 150.095 150.09 150.145 149.965C150.43 149.2 150.945 148.455 151.685 147.725L154.29 145.245C155.39 144.15 156.195 143.07 156.69 142.02C157.185 140.97 157.435 139.805 157.435 138.52C157.44 135.57 156.515 133.3 154.665 131.71Z\"\r\n fill=\"#0F77CA\"\r\n />\r\n <path\r\n d=\"M146.78 173.855C146.42 173.855 146.13 173.555 146.13 173.19C146.13 172.825 146.42 172.525 146.78 172.525C160.74 172.525 172.095 160.89 172.095 146.585C172.095 139.52 169.37 132.91 164.425 127.985C164.17 127.73 164.16 127.305 164.41 127.045C164.66 126.78 165.07 126.775 165.33 127.03C170.53 132.21 173.395 139.155 173.395 146.585C173.395 161.62 161.455 173.855 146.78 173.855Z\"\r\n fill=\"black\"\r\n />\r\n <path\r\n d=\"M118.995 169.595C118.8 169.595 118.61 169.505 118.48 169.335C112.595 161.555 110.02 151.89 111.225 142.12C112.435 132.355 117.28 123.65 124.875 117.62C140.55 105.17 163.19 108.11 175.34 124.175C175.56 124.465 175.51 124.885 175.225 125.11C174.94 125.335 174.53 125.28 174.315 124.99C162.605 109.51 140.785 106.675 125.675 118.675C118.355 124.49 113.685 132.875 112.52 142.29C111.355 151.705 113.84 161.02 119.51 168.52C119.73 168.81 119.68 169.23 119.395 169.455C119.275 169.55 119.135 169.595 118.995 169.595Z\"\r\n fill=\"black\"\r\n />\r\n <path\r\n d=\"M105.25 177.415H67.1098C63.4898 177.415 60.5498 174.4 60.5498 170.69V132.1C60.5498 131.81 60.7798 131.575 61.0598 131.575C61.3398 131.575 61.5698 131.81 61.5698 132.1V170.69C61.5698 173.82 64.0548 176.37 67.1098 176.37H105.25C105.53 176.37 105.76 176.605 105.76 176.895C105.76 177.185 105.53 177.415 105.25 177.415Z\"\r\n fill=\"black\"\r\n />\r\n <defs>\r\n <radialGradient\r\n id=\"paint0_radial_7463_128151\"\r\n cx=\"0\"\r\n cy=\"0\"\r\n r=\"1\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n gradientTransform=\"translate(39.4219 190.041) scale(155.067 158.896)\"\r\n >\r\n <stop stopColor=\"#E4F2FF\" />\r\n <stop offset=\"1\" stopColor=\"#86C5F6\" />\r\n </radialGradient>\r\n <radialGradient\r\n id=\"paint1_radial_7463_128151\"\r\n cx=\"0\"\r\n cy=\"0\"\r\n r=\"1\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n gradientTransform=\"translate(151.222 195.633) scale(132.776 136.055)\"\r\n >\r\n <stop stopColor=\"#63A3EF\" />\r\n <stop offset=\"0.0909\" stopColor=\"#6BABF1\" />\r\n <stop offset=\"0.3236\" stopColor=\"#7ABAF4\" />\r\n <stop offset=\"0.5959\" stopColor=\"#83C2F5\" />\r\n <stop offset=\"1\" stopColor=\"#86C5F6\" />\r\n </radialGradient>\r\n <radialGradient\r\n id=\"paint2_radial_7463_128151\"\r\n cx=\"0\"\r\n cy=\"0\"\r\n r=\"1\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n gradientTransform=\"translate(179.573 166.25) scale(85.8305 87.9468)\"\r\n >\r\n <stop stopColor=\"#045394\" />\r\n <stop offset=\"0.3922\" stopColor=\"#0A66B0\" />\r\n <stop offset=\"0.7499\" stopColor=\"#0E72C3\" />\r\n <stop offset=\"1\" stopColor=\"#0F77CA\" />\r\n </radialGradient>\r\n </defs>\r\n </svg>\r\n );\r\n};\r\n","export const IconPeopleGroup = () => {\r\n return (\r\n <svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M1 19.5V17.5C1 16.4391 1.42143 15.4217 2.17157 14.6716C2.92172 13.9214 3.93913 13.5 5 13.5H9C10.0609 13.5 11.0783 13.9214 11.8284 14.6716C12.5786 15.4217 13 16.4391 13 17.5V19.5M14 1.63C14.8604 1.85031 15.623 2.35071 16.1676 3.05232C16.7122 3.75392 17.0078 4.61683 17.0078 5.505C17.0078 6.39318 16.7122 7.25608 16.1676 7.95769C15.623 8.6593 14.8604 9.1597 14 9.38M19 19.5V17.5C18.9949 16.6172 18.6979 15.7608 18.1553 15.0644C17.6126 14.368 16.8548 13.8707 16 13.65M3 5.5C3 6.56087 3.42143 7.57828 4.17157 8.32843C4.92172 9.07857 5.93913 9.5 7 9.5C8.06087 9.5 9.07828 9.07857 9.82843 8.32843C10.5786 7.57828 11 6.56087 11 5.5C11 4.43913 10.5786 3.42172 9.82843 2.67157C9.07828 1.92143 8.06087 1.5 7 1.5C5.93913 1.5 4.92172 1.92143 4.17157 2.67157C3.42143 3.42172 3 4.43913 3 5.5Z\" stroke=\"#00529C\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\r\n </svg>\r\n )\r\n}\r\n","export const IconPeople = () => {\r\n return (\r\n <svg \r\n width=\"18\" \r\n height=\"26\"\r\n viewBox=\"0 0 18 26\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path \r\n d=\"M9 0.5C10.2361 0.5 11.4445 0.866556 12.4723 1.55331C13.5001 2.24007 14.3012 3.21619 14.7742 4.35823C15.2473 5.50027 15.3711 6.75693 15.1299 7.96931C14.8888 9.1817 14.2935 10.2953 13.4194 11.1694C12.5453 12.0435 11.4317 12.6388 10.2193 12.8799C9.00693 13.1211 7.75027 12.9973 6.60823 12.5242C5.46619 12.0512 4.49007 11.2501 3.80331 10.2223C3.11656 9.19451 2.75 7.98613 2.75 6.75L2.75625 6.47875C2.82615 4.86969 3.51451 3.34972 4.67778 2.23582C5.84105 1.12193 7.38942 0.500093 9 0.5Z\" \r\n fill=\"#00529C\"\r\n />\r\n <path \r\n d=\"M11.5 15.5C13.1576 15.5 14.7473 16.1585 15.9194 17.3306C17.0915 18.5027 17.75 20.0924 17.75 21.75V23C17.75 23.663 17.4866 24.2989 17.0178 24.7678C16.5489 25.2366 15.913 25.5 15.25 25.5H2.75C2.08696 25.5 1.45107 25.2366 0.982233 24.7678C0.513392 24.2989 0.25 23.663 0.25 23V21.75C0.25 20.0924 0.90848 18.5027 2.08058 17.3306C3.25269 16.1585 4.8424 15.5 6.5 15.5H11.5Z\" \r\n fill=\"#00529C\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const PersonIcon = ({ color, outline }) => {\r\n return (\r\n <svg\r\n width='18'\r\n height='18'\r\n viewBox='0 0 16 16'\r\n fill={color ? color : 'none'}\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M2 14V12.6667C2 11.9594 2.28095 11.2811 2.78105 10.781C3.28115 10.281 3.95942 10 4.66667 10H7.33333C8.04058 10 8.71885 10.281 9.21895 10.781C9.71905 11.2811 10 11.9594 10 12.6667V14M10.6667 2.08667C11.2403 2.23354 11.7487 2.56714 12.1118 3.03488C12.4748 3.50262 12.6719 4.07789 12.6719 4.67C12.6719 5.26212 12.4748 5.83739 12.1118 6.30513C11.7487 6.77287 11.2403 7.10647 10.6667 7.25334M14 14V12.6667C13.9966 12.0781 13.7986 11.5072 13.4368 11.043C13.0751 10.5787 12.5699 10.2471 12 10.1M3.33333 4.66667C3.33333 5.37391 3.61428 6.05219 4.11438 6.55228C4.61448 7.05238 5.29276 7.33333 6 7.33333C6.70724 7.33333 7.38552 7.05238 7.88562 6.55228C8.38572 6.05219 8.66667 5.37391 8.66667 4.66667C8.66667 3.95942 8.38572 3.28115 7.88562 2.78105C7.38552 2.28095 6.70724 2 6 2C5.29276 2 4.61448 2.28095 4.11438 2.78105C3.61428 3.28115 3.33333 3.95942 3.33333 4.66667Z'\r\n stroke={outline ? outline : '#00529C'}\r\n strokeWidth='1.35'\r\n strokeLinecap='round'\r\n strokeLinejoin='round'\r\n />\r\n </svg>\r\n )\r\n}\r\n","export const IconPhone = ({ color, width, height }) => {\r\n return (\r\n <svg \r\n width={width ? width : \"11\"} \r\n height={height ? height : \"14\"} \r\n viewBox=\"0 0 11 14\" \r\n fill=\"none\" \r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path \r\n d=\"M4.26135 1.39182L4.85686 2.67927C4.97267 2.92891 5.00505 3.20752 4.94946 3.47596C4.89387 3.7444 4.75311 3.98918 4.54694 4.1759L3.60457 5.02836C3.00094 5.58237 3.20095 6.53023 4.01089 7.89383C4.77398 9.1769 5.4695 9.81056 6.21637 9.70028L6.32809 9.67752L8.20924 9.12001C8.29915 9.09318 8.39546 9.09436 8.48465 9.1234C8.57384 9.15244 8.65143 9.20787 8.70655 9.28192L9.92821 10.9273C10.0561 11.0993 10.1154 11.3105 10.095 11.5217C10.0747 11.7329 9.97599 11.9298 9.8174 12.0756L9.32819 12.5255C9.01498 12.8135 8.62325 13.008 8.19955 13.0861C7.77585 13.1641 7.338 13.1223 6.93802 12.9657C5.40824 12.3671 3.96224 10.9431 2.61534 8.67715C1.26575 6.40595 0.719783 4.47434 0.954025 2.88582C1.01496 2.47299 1.19609 2.08567 1.47606 1.7695C1.75602 1.45333 2.12318 1.22148 2.53426 1.10125L3.18023 0.912203C3.38966 0.851068 3.61483 0.866018 3.81375 0.954265C4.01267 1.04251 4.17176 1.19803 4.26135 1.39182Z\" \r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n );\r\n };","export const IconPlus = ({ color }) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M4.16797 10H15.8346\" stroke={color ? color : 'white'} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path d=\"M10 4.1665L10 15.8332\" stroke={color ? color : 'white'} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n )\r\n}\r\n","export const IconProgress = ({width, height, color}) => {\r\n return (\r\n <svg \r\n width={width ? width : \"34\"} \r\n height={height ? height : \"34\"} \r\n viewBox=\"0 0 34 34\" \r\n fill=\"none\" \r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <rect \r\n width={width ? width : \"34\"} \r\n height={height ? height : \"34\"} \r\n rx=\"17\" \r\n fill={color ? color : \"#E0FAEC\"}\r\n />\r\n <path \r\n d=\"M17 17C15.9391 17 14.9217 17.4214 14.1716 18.1716C13.4214 18.9217 13 19.9391 13 21V22.3333C13 22.5101 13.0702 22.6797 13.1953 22.8047C13.3203 22.9298 13.4899 23 13.6667 23H20.3333C20.5101 23 20.6797 22.9298 20.8047 22.8047C20.9298 22.6797 21 22.5101 21 22.3333V21C21 19.9391 20.5786 18.9217 19.8284 18.1716C19.0783 17.4214 18.0609 17 17 17ZM17 17C15.9391 17 14.9217 16.5786 14.1716 15.8284C13.4214 15.0783 13 14.0609 13 13V11.6667C13 11.4899 13.0702 11.3203 13.1953 11.1953C13.3203 11.0702 13.4899 11 13.6667 11H20.3333C20.5101 11 20.6797 11.0702 20.8047 11.1953C20.9298 11.3203 21 11.4899 21 11.6667V13C21 14.0609 20.5786 15.0783 19.8284 15.8284C19.0783 16.5786 18.0609 17 17 17Z\" \r\n stroke=\"#27AE60\" \r\n strokeWidth=\"1.8\" \r\n strokeLinecap=\"round\" \r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconRecycle = ({ color }) => {\r\n return (\r\n <svg \r\n xmlns=\"http://www.w3.org/2000/svg\" \r\n width=\"20\" \r\n height=\"20\" \r\n viewBox=\"0 0 20 20\" \r\n fill=\"none\"\r\n >\r\n <path \r\n d=\"M16.6693 9.16707C16.4655 7.70059 15.7852 6.34179 14.7331 5.29999C13.6811 4.25818 12.3157 3.59117 10.8473 3.4017C9.37892 3.21223 7.88896 3.51081 6.60694 4.25144C5.32492 4.99208 4.32198 6.13369 3.7526 7.50041M3.33594 4.16707V7.50041H6.66927M3.33594 10.8337C3.53974 12.3002 4.22005 13.659 5.27207 14.7008C6.3241 15.7426 7.68947 16.4096 9.15788 16.5991C10.6263 16.7886 12.1163 16.49 13.3983 15.7494C14.6803 15.0087 15.6832 13.8671 16.2526 12.5004M16.6693 15.8337V12.5004H13.3359\" \r\n stroke={color ? color : \"#ED6E12\"} \r\n strokeWidth=\"1.5\" \r\n strokeLinecap=\"round\" \r\n strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n };\r\n \r\n","export const IconReset = ({ color }) => {\r\n return (\r\n <svg\r\n width=\"18\"\r\n height=\"16\"\r\n viewBox=\"0 0 28 26\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M15.035 0.0343246C9.92115 0.0343246 5.40812 2.98511 3.30659 7.45833L1.84471 4.42288L0 5.31142L3.03597 11.6134L9.33792 8.57723L8.44921 6.73286L5.16626 8.31408C6.93971 4.5577 10.735 2.08185 15.035 2.08185C21.0553 2.08185 25.9529 6.97973 25.9529 13C25.9529 19.0202 21.0553 23.9182 15.035 23.9182C11.4901 23.9182 8.15224 22.1864 6.10662 19.2858L4.43308 20.4661C6.86269 23.9097 10.8258 25.9656 15.035 25.9656C22.1837 25.9656 27.9999 20.1493 27.9999 13C27.9999 5.85065 22.1837 0.0343246 15.035 0.0343246Z\"\r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconSaveOutlined = ({ color }) => {\r\n return (\r\n <svg\r\n width=\"20\"\r\n height=\"20\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M0 3.05556C0 2.24517 0.321924 1.46798 0.894952 0.894952C1.46798 0.321924 2.24517 1.11011e-07 3.05556 1.11011e-07H14.1267C14.6011 -0.000117513 15.0708 0.0932395 15.5091 0.274737C15.9474 0.456235 16.3457 0.722316 16.6811 1.05778L18.9422 3.31889C19.62 3.99667 20 4.91556 20 5.87333V16.9444C20 17.7548 19.6781 18.532 19.105 19.105C18.532 19.6781 17.7548 20 16.9444 20H3.05556C2.24517 20 1.46798 19.6781 0.894952 19.105C0.321924 18.532 0 17.7548 0 16.9444V3.05556ZM3.05556 1.66667C2.28889 1.66667 1.66667 2.28889 1.66667 3.05556V16.9444C1.66667 17.7111 2.28889 18.3333 3.05556 18.3333H3.33333V12.5C3.33333 11.837 3.59673 11.2011 4.06557 10.7322C4.53441 10.2634 5.17029 10 5.83333 10H14.1667C14.8297 10 15.4656 10.2634 15.9344 10.7322C16.4033 11.2011 16.6667 11.837 16.6667 12.5V18.3333H16.9444C17.7111 18.3333 18.3333 17.7111 18.3333 16.9444V5.87333C18.3333 5.35667 18.1289 4.86222 17.7633 4.49778L15.5022 2.23667C15.2152 1.94913 14.8453 1.75873 14.4444 1.69222V4.72222C14.4444 5.05053 14.3798 5.37562 14.2541 5.67893C14.1285 5.98224 13.9444 6.25784 13.7122 6.48999C13.4801 6.72214 13.2045 6.90628 12.9012 7.03192C12.5978 7.15756 12.2727 7.22222 11.9444 7.22222H6.94444C6.2814 7.22222 5.64552 6.95883 5.17668 6.48999C4.70784 6.02115 4.44444 5.38526 4.44444 4.72222V1.66667H3.05556ZM15 18.3333V12.5C15 12.279 14.9122 12.067 14.7559 11.9107C14.5996 11.7545 14.3877 11.6667 14.1667 11.6667H5.83333C5.61232 11.6667 5.40036 11.7545 5.24408 11.9107C5.0878 12.067 5 12.279 5 12.5V18.3333H15ZM6.11111 1.66667V4.72222C6.11111 5.18222 6.48444 5.55556 6.94444 5.55556H11.9444C12.1655 5.55556 12.3774 5.46776 12.5337 5.31148C12.69 5.1552 12.7778 4.94324 12.7778 4.72222V1.66667H6.11111Z\"\r\n fill={color ?? \"#ED6E12\"}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconSave = ({color, width = \"21\", height = \"21\" }) => {\r\n return (\r\n <svg\r\n width={width}\r\n height={height}\r\n viewBox=\"0 0 21 21\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M0.5 2.9487C0.5 2.19093 0.801019 1.46421 1.33684 0.92839C1.87266 0.392572 2.59938 0.0915527 3.35714 0.0915527H4.78571V5.09155C4.78571 5.65987 5.01148 6.20492 5.41334 6.60678C5.81521 7.00865 6.36025 7.23441 6.92857 7.23441H12.6429C13.2112 7.23441 13.7562 7.00865 14.1581 6.60678C14.5599 6.20492 14.7857 5.65987 14.7857 5.09155V0.0915527H15.3271C16.0848 0.0917146 16.8115 0.39284 17.3471 0.928696L19.6629 3.24441C20.1987 3.7801 20.4998 4.50671 20.5 5.26441V17.2344C20.5 17.9922 20.199 18.7189 19.6632 19.2547C19.1273 19.7905 18.4006 20.0916 17.6429 20.0916V12.2344C17.6429 11.6661 17.4171 11.121 17.0152 10.7192C16.6134 10.3173 16.0683 10.0916 15.5 10.0916H5.5C4.93168 10.0916 4.38663 10.3173 3.98477 10.7192C3.58291 11.121 3.35714 11.6661 3.35714 12.2344V20.0916C2.59938 20.0916 1.87266 19.7905 1.33684 19.2547C0.801019 18.7189 0.5 17.9922 0.5 17.2344V2.9487Z\"\r\n fill={color ? color : \"white\"}\r\n />\r\n <path\r\n d=\"M13.3572 0.0915527H6.21436V5.09155C6.21436 5.28099 6.28961 5.46267 6.42357 5.59663C6.55752 5.73058 6.7392 5.80584 6.92864 5.80584H12.6429C12.8324 5.80584 13.0141 5.73058 13.148 5.59663C13.282 5.46267 13.3572 5.28099 13.3572 5.09155V0.0915527Z\"\r\n fill={color ? color : \"white\"}\r\n />\r\n <path\r\n d=\"M16.2142 12.2345V20.0917H4.78564V12.2345C4.78564 12.0451 4.8609 11.8634 4.99485 11.7295C5.12881 11.5955 5.31049 11.5203 5.49993 11.5203H15.4999C15.6894 11.5203 15.871 11.5955 16.005 11.7295C16.139 11.8634 16.2142 12.0451 16.2142 12.2345Z\"\r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconSearch = ({ color }) => {\r\n return (\r\n <svg \r\n width=\"24\" \r\n height=\"24\" \r\n viewBox=\"0 0 24 24\" \r\n fill=\"none\" \r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path \r\n d=\"M11 19C15.4183 19 19 15.4183 19 11C19 6.58172 15.4183 3 11 3C6.58172 3 3 6.58172 3 11C3 15.4183 6.58172 19 11 19Z\" \r\n stroke={color ? color : 'white'} \r\n strokeWidth=\"2\" \r\n strokeLinecap=\"round\" \r\n strokeLinejoin=\"round\"\r\n />\r\n <path \r\n d=\"M21.0004 20.9999L16.6504 16.6499\" \r\n stroke={color ? color : 'white'} \r\n strokeWidth=\"2\" \r\n strokeLinecap=\"round\" \r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconSendBlue = () => {\r\n return (\r\n <svg\r\n width=\"21\"\r\n height=\"22\"\r\n viewBox=\"0 0 21 22\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M20.746 0.753732C20.6279 0.636196 20.4787 0.554818 20.316 0.519167C20.1532 0.483516 19.9837 0.495074 19.8273 0.552482L0.577257 7.55248C0.411241 7.61545 0.268311 7.72744 0.167451 7.87357C0.0665909 8.0197 0.0125732 8.19305 0.0125732 8.37061C0.0125732 8.54816 0.0665909 8.72152 0.167451 8.86765C0.268311 9.01377 0.411241 9.12576 0.577257 9.18873L8.97726 12.5487L12.3373 20.9487C12.4004 21.1075 12.5086 21.2442 12.6485 21.3422C12.7885 21.4401 12.954 21.495 13.1248 21.5C13.3016 21.4964 13.4732 21.4392 13.6169 21.3361C13.7606 21.233 13.8697 21.0888 13.9298 20.9225L20.9298 1.67248C20.9894 1.51767 21.0037 1.34911 20.9712 1.18644C20.9387 1.02377 20.8606 0.873703 20.746 0.753732ZM13.1248 18.175L10.6835 12.05L14.8748 7.85873L13.641 6.62498L9.41476 10.8512L3.32476 8.37498L18.6635 2.83623L13.1248 18.175Z\"\r\n fill=\"#00529C\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconSendOrange = () => {\r\n return (\r\n <svg\r\n width=\"21\"\r\n height=\"22\"\r\n viewBox=\"0 0 21 22\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M20.746 0.753732C20.6279 0.636196 20.4787 0.554818 20.316 0.519167C20.1532 0.483516 19.9837 0.495074 19.8273 0.552482L0.577257 7.55248C0.411241 7.61545 0.268311 7.72744 0.167451 7.87357C0.0665909 8.0197 0.0125732 8.19305 0.0125732 8.37061C0.0125732 8.54816 0.0665909 8.72152 0.167451 8.86765C0.268311 9.01377 0.411241 9.12576 0.577257 9.18873L8.97726 12.5487L12.3373 20.9487C12.4004 21.1075 12.5086 21.2442 12.6485 21.3422C12.7885 21.4401 12.954 21.495 13.1248 21.5C13.3016 21.4964 13.4732 21.4392 13.6169 21.3361C13.7606 21.233 13.8697 21.0888 13.9298 20.9225L20.9298 1.67248C20.9894 1.51767 21.0037 1.34911 20.9712 1.18644C20.9387 1.02377 20.8606 0.873703 20.746 0.753732ZM13.1248 18.175L10.6835 12.05L14.8748 7.85873L13.641 6.62498L9.41476 10.8512L3.32476 8.37498L18.6635 2.83623L13.1248 18.175Z\"\r\n fill=\"#ED6E12\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconSendWhiteFull = (color) => {\r\n return (\r\n <svg\r\n width=\"21\"\r\n height=\"21\"\r\n viewBox=\"0 0 21 21\"\r\n fill={color ? color : 'white'} \r\n\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M20.7334 0.25483C20.6153 0.137294 20.4662 0.0559167 20.3034 0.0202658C20.1406 -0.0153851 19.9711 -0.00382733 19.8147 0.0535802L0.564683 7.05358C0.398668 7.11655 0.255738 7.22854 0.154878 7.37467C0.0540177 7.52079 0 7.69415 0 7.87171C0 8.04926 0.0540177 8.22262 0.154878 8.36875C0.255738 8.51487 0.398668 8.62686 0.564683 8.68983L8.08093 11.6911L13.6284 6.12608L14.8622 7.35983L9.28843 12.9336L12.2984 20.4498C12.3633 20.6126 12.4755 20.7522 12.6206 20.8505C12.7657 20.9488 12.9369 21.0013 13.1122 21.0011C13.289 20.9975 13.4606 20.9403 13.6043 20.8372C13.748 20.7341 13.8571 20.5899 13.9172 20.4236L20.9172 1.17358C20.9768 1.01877 20.9912 0.850207 20.9586 0.687538C20.9261 0.52487 20.848 0.374802 20.7334 0.25483Z\"\r\n />\r\n </svg>\r\n );\r\n};","export const IconSendWhite = (color) => {\r\n return (\r\n <svg\r\n width=\"21\"\r\n height=\"22\"\r\n viewBox=\"0 0 21 22\"\r\n fill={color ? color : 'white'} \r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M20.746 0.753732C20.6279 0.636196 20.4787 0.554818 20.316 0.519167C20.1532 0.483516 19.9837 0.495074 19.8273 0.552482L0.577257 7.55248C0.411241 7.61545 0.268311 7.72744 0.167451 7.87357C0.0665909 8.0197 0.0125732 8.19305 0.0125732 8.37061C0.0125732 8.54816 0.0665909 8.72152 0.167451 8.86765C0.268311 9.01377 0.411241 9.12576 0.577257 9.18873L8.97726 12.5487L12.3373 20.9487C12.4004 21.1075 12.5086 21.2442 12.6485 21.3422C12.7885 21.4401 12.954 21.495 13.1248 21.5C13.3016 21.4964 13.4732 21.4392 13.6169 21.3361C13.7606 21.233 13.8697 21.0888 13.9298 20.9225L20.9298 1.67248C20.9894 1.51767 21.0037 1.34911 20.9712 1.18644C20.9387 1.02377 20.8606 0.873703 20.746 0.753732ZM13.1248 18.175L10.6835 12.05L14.8748 7.85873L13.641 6.62498L9.41476 10.8512L3.32476 8.37498L18.6635 2.83623L13.1248 18.175Z\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconShuffle = ({\r\n width = \"20\",\r\n height = \"20\",\r\n color = \"#00529C\",\r\n}) => {\r\n return (\r\n <svg\r\n width={width}\r\n height={height}\r\n viewBox=\"0 0 20 20\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <g clipPath=\"url(#clip0_4835_8616)\">\r\n <path\r\n d=\"M15 3.33301L17.5 5.83301L15 8.33301\"\r\n stroke={color}\r\n strokeWidth=\"1.67\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path\r\n d=\"M15 16.667L17.5 14.167L15 11.667\"\r\n stroke={color}\r\n strokeWidth=\"1.67\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path\r\n d=\"M2.5 5.83301H5C6.10507 5.83301 7.16488 6.27199 7.94628 7.0534C8.72768 7.8348 9.16667 8.89461 9.16667 9.99967C9.16667 11.1047 9.60565 12.1646 10.3871 12.946C11.1685 13.7274 12.2283 14.1663 13.3333 14.1663H17.5\"\r\n stroke={color}\r\n strokeWidth=\"1.67\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path\r\n d=\"M17.5 5.83301H13.3333C12.4316 5.83168 11.5539 6.12423 10.8333 6.66635M7.5 13.333C6.77922 13.8748 5.9017 14.1673 5 14.1663H2.5\"\r\n stroke={color}\r\n strokeWidth=\"1.67\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4835_8616\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n );\r\n};\r\n","import * as React from \"react\";\r\n\r\nexport const StepOnProgress = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"24\"\r\n height=\"24\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n >\r\n <path\r\n stroke=\"#00529C\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n strokeWidth=\"1.5\"\r\n d=\"M12 5V1.5m4.958 5.542 2.509-2.509M19 12h3.5m-5.542 4.958 2.509 2.509M12 19v3.5m-4.958-5.542-2.509 2.509M5 12H1.5m5.542-4.958L4.533 4.533\"\r\n ></path>\r\n </svg>\r\n); ","export const TargetDartIcon = ({ color, outline }) => {\r\n return (\r\n <svg\r\n width='18'\r\n height='18'\r\n viewBox='0 0 16 16'\r\n fill={color ? color : 'none'}\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M7.99996 4.66659C7.34069 4.66659 6.69622 4.86208 6.14806 5.22835C5.5999 5.59462 5.17265 6.11522 4.92036 6.72431C4.66807 7.33339 4.60206 8.00362 4.73068 8.65022C4.85929 9.29682 5.17676 9.89077 5.64294 10.3569C6.10911 10.8231 6.70306 11.1406 7.34966 11.2692C7.99626 11.3978 8.66648 11.3318 9.27557 11.0795C9.88466 10.8272 10.4053 10.4 10.7715 9.85182C11.1378 9.30366 11.3333 8.65919 11.3333 7.99992M8.66662 2.03668C7.43066 1.89802 6.18216 2.14687 5.09382 2.74879C4.00547 3.35072 3.13107 4.27598 2.59158 5.39659C2.05208 6.51719 1.87415 7.77775 2.08239 9.0039C2.29063 10.2301 2.87476 11.3612 3.75398 12.2408C4.63319 13.1205 5.76403 13.7052 6.99008 13.9141C8.21612 14.1229 9.47678 13.9456 10.5977 13.4067C11.7185 12.8678 12.6442 11.9938 13.2467 10.9058C13.8492 9.81775 14.0987 8.56937 13.9606 7.33335M9.99996 5.99992V3.99992L12 1.99992V3.99992H14L12 5.99992H9.99996ZM9.99996 5.99992L7.99996 7.99992M7.33329 7.99992C7.33329 8.17673 7.40353 8.3463 7.52855 8.47132C7.65358 8.59635 7.82315 8.66659 7.99996 8.66659C8.17677 8.66659 8.34634 8.59635 8.47136 8.47132C8.59639 8.3463 8.66663 8.17673 8.66663 7.99992C8.66663 7.82311 8.59639 7.65354 8.47136 7.52851C8.34634 7.40349 8.17677 7.33325 7.99996 7.33325C7.82315 7.33325 7.65358 7.40349 7.52855 7.52851C7.40353 7.65354 7.33329 7.82311 7.33329 7.99992Z'\r\n stroke={outline ? outline : '#00529C'}\r\n strokeWidth='1.5'\r\n strokeLinecap='round'\r\n strokeLinejoin='round'\r\n />\r\n </svg>\r\n )\r\n}\r\n","export const ThumbsUp = ({\r\n color = \"#27AE60\",\r\n width = \"13\",\r\n height = \"12\",\r\n}) => {\r\n return (\r\n <svg\r\n width={width}\r\n height={height}\r\n viewBox=\"0 0 13 12\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M3.66667 5.33366V10.667C3.66667 10.8438 3.59643 11.0134 3.4714 11.1384C3.34638 11.2634 3.17681 11.3337 3 11.3337H1.66667C1.48986 11.3337 1.32029 11.2634 1.19526 11.1384C1.07024 11.0134 1 10.8438 1 10.667V6.00033C1 5.82351 1.07024 5.65395 1.19526 5.52892C1.32029 5.4039 1.48986 5.33366 1.66667 5.33366H3.66667ZM3.66667 5.33366C4.37391 5.33366 5.05219 5.05271 5.55228 4.55261C6.05238 4.05251 6.33333 3.37424 6.33333 2.66699V2.00033C6.33333 1.6467 6.47381 1.30756 6.72386 1.05752C6.97391 0.807468 7.31304 0.666992 7.66667 0.666992C8.02029 0.666992 8.35943 0.807468 8.60948 1.05752C8.85952 1.30756 9 1.6467 9 2.00033V5.33366H11C11.3536 5.33366 11.6928 5.47413 11.9428 5.72418C12.1929 5.97423 12.3333 6.31337 12.3333 6.66699L11.6667 10.0003C11.5708 10.4093 11.3889 10.7605 11.1484 11.001C10.908 11.2414 10.6219 11.3582 10.3333 11.3337H5.66667C5.13623 11.3337 4.62753 11.1229 4.25245 10.7479C3.87738 10.3728 3.66667 9.86409 3.66667 9.33366\"\r\n stroke={color}\r\n strokeWidth=\"1.2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconTrashOutline = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <path d=\"M3 5.25H15M3.75 5.25L4.5 14.25C4.5 14.6478 4.65804 15.0294 4.93934 15.3107C5.22064 15.592 5.60218 15.75 6 15.75H12C12.3978 15.75 12.7794 15.592 13.0607 15.3107C13.342 15.0294 13.5 14.6478 13.5 14.25L14.25 5.25M6.75 5.25V3C6.75 2.80109 6.82902 2.61032 6.96967 2.46967C7.11032 2.32902 7.30109 2.25 7.5 2.25H10.5C10.6989 2.25 10.8897 2.32902 11.0303 2.46967C11.171 2.61032 11.25 2.80109 11.25 3V5.25M7.5 9L10.5 12M10.5 9L7.5 12\" stroke={color ?? \"white\"} strokeWidth=\"1.35\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n};\r\n","export const IconTrash = ({ color, width = \"20\", height = \"21\" }) => {\r\n return (\r\n <svg\r\n width={width}\r\n height={height}\r\n viewBox=\"0 0 20 21\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M9.99995 0.5C10.8233 0.499884 11.617 0.807566 12.2251 1.36263C12.8332 1.9177 13.2119 2.68005 13.2868 3.5H18.4C18.628 3.50007 18.8475 3.58669 19.0141 3.74237C19.1807 3.89804 19.282 4.11116 19.2976 4.33866C19.3131 4.56615 19.2417 4.79107 19.0978 4.96796C18.9539 5.14485 18.7482 5.26052 18.5223 5.2916L18.4 5.3H17.7003L16.1799 18.476C16.1122 19.0609 15.8319 19.6005 15.3922 19.9921C14.9526 20.3837 14.3843 20.6001 13.7956 20.6H6.20435C5.61557 20.6001 5.0473 20.3837 4.60765 19.9921C4.16801 19.6005 3.88766 19.0609 3.81995 18.476L2.29835 5.3H1.59995C1.38247 5.29999 1.17234 5.22123 1.00843 5.07828C0.844528 4.93533 0.737929 4.73786 0.708351 4.5224L0.699951 4.4C0.69996 4.18251 0.778722 3.97239 0.921672 3.80848C1.06462 3.64458 1.26209 3.53798 1.47755 3.5084L1.59995 3.5H6.71315C6.788 2.68005 7.16667 1.9177 7.7748 1.36263C8.38293 0.807566 9.17659 0.499884 9.99995 0.5ZM8.19995 8C7.90595 8 7.65995 8.186 7.60955 8.4308L7.59995 8.5256V15.8756L7.60955 15.9692C7.65995 16.214 7.90595 16.4 8.19995 16.4C8.49395 16.4 8.73995 16.214 8.79035 15.9692L8.79995 15.8744V8.5268L8.79035 8.4308C8.73995 8.1872 8.49395 8 8.19995 8ZM11.8 8C11.506 8 11.26 8.186 11.2096 8.4308L11.2 8.5256V15.8756L11.2096 15.9692C11.26 16.214 11.506 16.4 11.8 16.4C12.094 16.4 12.3399 16.214 12.3904 15.9692L12.4 15.8744V8.5268L12.3904 8.4308C12.3399 8.1872 12.094 8.0012 11.8 8.0012V8ZM9.99995 2.3C9.27395 2.3 8.66795 2.816 8.52995 3.5H11.47C11.3308 2.816 10.726 2.3 9.99995 2.3Z\"\r\n fill={color ? color : \"white\"}\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconUpload = ({ color }) => {\r\n return (\r\n <svg\r\n width=\"34\"\r\n height=\"28\"\r\n viewBox=\"0 0 34 28\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M22.7368 19.9472L16.9998 14.2103L11.2628 19.9472\"\r\n stroke={color ? color : \"#00529C\"}\r\n strokeWidth=\"1.6549\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path\r\n d=\"M16.9996 14.2103V27.1185\"\r\n stroke={color ? color : \"#00529C\"}\r\n strokeWidth=\"1.6549\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path\r\n d=\"M29.0332 23.3745C30.4321 22.6119 31.5372 21.4051 32.174 19.9447C32.8109 18.4842 32.9433 16.8533 32.5503 15.3093C32.1573 13.7653 31.2613 12.3961 30.0037 11.4178C28.7462 10.4396 27.1986 9.90799 25.6054 9.90694H23.7982C23.3641 8.22778 22.555 6.66889 21.4317 5.34746C20.3083 4.02603 18.9001 2.97645 17.3127 2.27763C15.7254 1.5788 14.0003 1.24892 12.2671 1.31277C10.5339 1.37663 8.83772 1.83257 7.30611 2.64631C5.77449 3.46005 4.44728 4.61042 3.42425 6.01093C2.40121 7.41144 1.70899 9.02564 1.39961 10.7322C1.09022 12.4387 1.17174 14.1932 1.63803 15.8637C2.10431 17.5342 2.94323 19.0773 4.09171 20.3769\"\r\n stroke={color ? color : \"#00529C\"}\r\n strokeWidth=\"1.6549\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path\r\n d=\"M22.7368 19.9472L16.9998 14.2103L11.2628 19.9472\"\r\n stroke={color ? color : \"#00529C\"}\r\n strokeWidth=\"1.6549\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconUserScan = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\r\n <path d=\"M8 16.5C8 15.9696 8.21071 15.4609 8.58579 15.0858C8.96086 14.7107 9.46957 14.5 10 14.5H14C14.5304 14.5 15.0391 14.7107 15.4142 15.0858C15.7893 15.4609 16 15.9696 16 16.5H8Z\" fill={color ?? \"none\"}/>\r\n <path d=\"M10 9.5C10 10.0304 10.2107 10.5391 10.5858 10.9142C10.9609 11.2893 11.4696 11.5 12 11.5C12.5304 11.5 13.0391 11.2893 13.4142 10.9142C13.7893 10.5391 14 10.0304 14 9.5C14 8.96957 13.7893 8.46086 13.4142 8.08579C13.0391 7.71071 12.5304 7.5 12 7.5C11.4696 7.5 10.9609 7.71071 10.5858 8.08579C10.2107 8.46086 10 8.96957 10 9.5Z\" fill={color ?? \"none\"}/>\r\n <path d=\"M4 8.5V6.5C4 5.96957 4.21071 5.46086 4.58579 5.08579C4.96086 4.71071 5.46957 4.5 6 4.5H8M4 16.5V18.5C4 19.0304 4.21071 19.5391 4.58579 19.9142C4.96086 20.2893 5.46957 20.5 6 20.5H8M16 4.5H18C18.5304 4.5 19.0391 4.71071 19.4142 5.08579C19.7893 5.46086 20 5.96957 20 6.5V8.5M16 20.5H18C18.5304 20.5 19.0391 20.2893 19.4142 19.9142C19.7893 19.5391 20 19.0304 20 18.5V16.5M10 9.5C10 10.0304 10.2107 10.5391 10.5858 10.9142C10.9609 11.2893 11.4696 11.5 12 11.5C12.5304 11.5 13.0391 11.2893 13.4142 10.9142C13.7893 10.5391 14 10.0304 14 9.5C14 8.96957 13.7893 8.46086 13.4142 8.08579C13.0391 7.71071 12.5304 7.5 12 7.5C11.4696 7.5 10.9609 7.71071 10.5858 8.08579C10.2107 8.46086 10 8.96957 10 9.5ZM8 16.5C8 15.9696 8.21071 15.4609 8.58579 15.0858C8.96086 14.7107 9.46957 14.5 10 14.5H14C14.5304 14.5 15.0391 14.7107 15.4142 15.0858C15.7893 15.4609 16 15.9696 16 16.5H8Z\" stroke={color ?? \"none\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </svg>\r\n );\r\n };","export const IconUser = ({ color }) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"20\" viewBox=\"0 0 14 20\" fill={color ? color : '#00529C'} >\r\n <path d=\"M7 0C7.98891 0 8.95561 0.293245 9.77785 0.842652C10.6001 1.39206 11.241 2.17295 11.6194 3.08658C11.9978 4.00021 12.0969 5.00555 11.9039 5.97545C11.711 6.94536 11.2348 7.83627 10.5355 8.53553C9.83627 9.2348 8.94536 9.711 7.97545 9.90393C7.00555 10.0969 6.00021 9.99784 5.08658 9.6194C4.17295 9.24096 3.39206 8.6001 2.84265 7.77785C2.29324 6.95561 2 5.98891 2 5L2.005 4.783C2.06092 3.49575 2.61161 2.27978 3.54222 1.38866C4.47284 0.497541 5.71154 7.44425e-05 7 0Z\" fill=\"#00529C\"/>\r\n <path d=\"M9 12C10.3261 12 11.5979 12.5268 12.5355 13.4645C13.4732 14.4021 14 15.6739 14 17V18C14 18.5304 13.7893 19.0391 13.4142 19.4142C13.0391 19.7893 12.5304 20 12 20H2C1.46957 20 0.960859 19.7893 0.585786 19.4142C0.210714 19.0391 0 18.5304 0 18V17C0 15.6739 0.526784 14.4021 1.46447 13.4645C2.40215 12.5268 3.67392 12 5 12H9Z\" fill=\"#00529C\"/>\r\n </svg>\r\n )\r\n}\r\n","export const UsersIcon = () => {\r\n return (\r\n <svg\r\n width=\"25\"\r\n height=\"24\"\r\n viewBox=\"0 0 25 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M12.5 9.79688C14.3769 9.79688 15.8984 8.27535 15.8984 6.39844C15.8984 4.52153 14.3769 3 12.5 3C10.6231 3 9.10156 4.52153 9.10156 6.39844C9.10156 8.27535 10.6231 9.79688 12.5 9.79688Z\"\r\n fill=\"#00529C\"\r\n />\r\n <path\r\n d=\"M19.375 9.79688C20.5615 9.79688 21.5234 8.83499 21.5234 7.64844C21.5234 6.46189 20.5615 5.5 19.375 5.5C18.1885 5.5 17.2266 6.46189 17.2266 7.64844C17.2266 8.83499 18.1885 9.79688 19.375 9.79688Z\"\r\n fill=\"#00529C\"\r\n />\r\n <path\r\n d=\"M5.625 9.79688C6.81155 9.79688 7.77344 8.83499 7.77344 7.64844C7.77344 6.46189 6.81155 5.5 5.625 5.5C4.43845 5.5 3.47656 6.46189 3.47656 7.64844C3.47656 8.83499 4.43845 9.79688 5.625 9.79688Z\"\r\n fill=\"#00529C\"\r\n />\r\n <path\r\n d=\"M7.7418 11.7263C6.89609 11.0334 6.1302 11.1251 5.15234 11.1251C3.68984 11.1251 2.5 12.3079 2.5 13.7614V18.0274C2.5 18.6587 3.01523 19.172 3.64883 19.172C6.38422 19.172 6.05469 19.2215 6.05469 19.054C6.05469 16.0311 5.69664 13.8143 7.7418 11.7263Z\"\r\n fill=\"#00529C\"\r\n />\r\n <path\r\n d=\"M13.4307 11.1408C11.7227 10.9984 10.2381 11.1425 8.95763 12.1994C6.81478 13.9158 7.22717 16.2269 7.22717 19.0541C7.22717 19.8021 7.83576 20.4221 8.59513 20.4221C16.8405 20.4221 17.1687 20.688 17.6576 19.6053C17.818 19.2391 17.774 19.3555 17.774 15.8525C17.774 13.0703 15.3649 11.1408 13.4307 11.1408Z\"\r\n fill=\"#00529C\"\r\n />\r\n <path\r\n d=\"M19.8473 11.125C18.8641 11.125 18.1024 11.0342 17.2578 11.7262C19.2877 13.7987 18.9449 15.8643 18.9449 19.0539C18.9449 19.2224 18.6714 19.1719 21.3098 19.1719C21.966 19.1719 22.4996 18.6402 22.4996 17.9867V13.7613C22.4996 12.3078 21.3098 11.125 19.8473 11.125Z\"\r\n fill=\"#00529C\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconVerification = ({ color }) => {\r\n return (\r\n <svg\r\n width=\"18\"\r\n height=\"18\"\r\n viewBox=\"0 0 18 18\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M16.5 16.5L11.5 11.5M4.83333 7.33333L6.5 9L9.83333 5.66667M1.5 7.33333C1.5 8.09938 1.65088 8.85792 1.94404 9.56565C2.23719 10.2734 2.66687 10.9164 3.20854 11.4581C3.75022 11.9998 4.39328 12.4295 5.10101 12.7226C5.80875 13.0158 6.56729 13.1667 7.33333 13.1667C8.09938 13.1667 8.85792 13.0158 9.56565 12.7226C10.2734 12.4295 10.9164 11.9998 11.4581 11.4581C11.9998 10.9164 12.4295 10.2734 12.7226 9.56565C13.0158 8.85792 13.1667 8.09938 13.1667 7.33333C13.1667 6.56729 13.0158 5.80875 12.7226 5.10101C12.4295 4.39328 11.9998 3.75022 11.4581 3.20854C10.9164 2.66687 10.2734 2.23719 9.56565 1.94404C8.85792 1.65088 8.09938 1.5 7.33333 1.5C6.56729 1.5 5.80875 1.65088 5.10101 1.94404C4.39328 2.23719 3.75022 2.66687 3.20854 3.20854C2.66687 3.75022 2.23719 4.39328 1.94404 5.10101C1.65088 5.80875 1.5 6.56729 1.5 7.33333Z\"\r\n stroke={color ? color : \"white\"}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const IconWallet = ({width, height, color}) => {\r\n return (\r\n <svg \r\n width={width ? width : \"34\"} \r\n height={height ? height : \"34\"} \r\n viewBox=\"0 0 34 34\" \r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect \r\n width=\"34\" \r\n height=\"34\" \r\n rx=\"17\" \r\n fill={color ? color : \"#E0FAEC\"}\r\n />\r\n <path \r\n d=\"M20.3332 14.3334V12.3334C20.3332 12.1565 20.2629 11.987 20.1379 11.8619C20.0129 11.7369 19.8433 11.6667 19.6665 11.6667H12.9998C12.6462 11.6667 12.3071 11.8072 12.057 12.0572C11.807 12.3073 11.6665 12.6464 11.6665 13M11.6665 13C11.6665 13.3536 11.807 13.6928 12.057 13.9428C12.3071 14.1929 12.6462 14.3334 12.9998 14.3334H20.9998C21.1766 14.3334 21.3462 14.4036 21.4712 14.5286C21.5963 14.6536 21.6665 14.8232 21.6665 15V17M11.6665 13V21C11.6665 21.3536 11.807 21.6928 12.057 21.9428C12.3071 22.1929 12.6462 22.3334 12.9998 22.3334H20.9998C21.1766 22.3334 21.3462 22.2631 21.4712 22.1381C21.5963 22.0131 21.6665 21.8435 21.6665 21.6667V19.6667M22.3332 17V19.6667H19.6665C19.3129 19.6667 18.9737 19.5262 18.7237 19.2762C18.4736 19.0261 18.3332 18.687 18.3332 18.3334C18.3332 17.9797 18.4736 17.6406 18.7237 17.3905C18.9737 17.1405 19.3129 17 19.6665 17H22.3332Z\" \r\n stroke=\"#27AE60\" \r\n strokeWidth=\"1.8\" \r\n strokeLinecap=\"round\" \r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n};","export const IconWarningTriangle = ({color}) => {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <g clipPath=\"url(#clip0_4038_8399)\">\r\n <path d=\"M12 9V13\" stroke={color ?? \"#E84040\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path d=\"M10.3625 3.58728L2.2565 17.1213C2.08939 17.4107 2.00096 17.7388 2.00001 18.0729C1.99905 18.4071 2.0856 18.7357 2.25104 19.026C2.41649 19.3164 2.65506 19.5583 2.94304 19.7278C3.23101 19.8974 3.55835 19.9885 3.8925 19.9923H20.1065C20.4405 19.9884 20.7677 19.8972 21.0555 19.7278C21.3433 19.5583 21.5818 19.3165 21.7472 19.0263C21.9126 18.7361 21.9992 18.4077 21.9984 18.0736C21.9976 17.7396 21.9094 17.4116 21.7425 17.1223L13.6365 3.58628C13.466 3.30479 13.2257 3.07203 12.9389 2.91048C12.6522 2.74893 12.3286 2.66406 11.9995 2.66406C11.6704 2.66406 11.3468 2.74893 11.06 2.91048C10.7733 3.07203 10.533 3.30479 10.3625 3.58628V3.58728Z\" stroke={color ?? \"#E84040\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n <path d=\"M12 16H12.01\" stroke={color ?? \"#E84040\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4038_8399\">\r\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n );\r\n };\r\n","export const LoaderIcon = ({\r\n color = \"#999999\",\r\n width = \"18\",\r\n height = \"18\",\r\n}) => {\r\n return (\r\n <svg\r\n width={width}\r\n height={height}\r\n viewBox=\"0 0 18 18\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M9 4.5V2.25M12.1875 5.81248L13.8 4.19998M13.5 9H15.75M12.1875 12.1875L13.8 13.8M9 13.5V15.75M5.81257 12.1875L4.20007 13.8M4.5 9H2.25M5.81257 5.81248L4.20007 4.19998\"\r\n stroke={color}\r\n strokeWidth=\"1.8\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","// UploadIcon.jsx\r\nexport const UploadIcon = ({\r\n color = \"currentColor\",\r\n width = \"27\",\r\n height = \"26\",\r\n}) => {\r\n return (\r\n <svg\r\n width={width}\r\n height={height}\r\n viewBox=\"0 0 27 26\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M25.25 17V22.3333C25.25 23.0406 24.969 23.7189 24.469 24.219C23.9689 24.719 23.2906 25 22.5833 25H3.91667C3.20942 25 2.53115 24.719 2.03105 24.219C1.53095 23.7189 1.25 23.0406 1.25 22.3333V17\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path\r\n d=\"M19.9167 7.66667L13.25 1L6.58337 7.66667\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path\r\n d=\"M13.25 1V17\"\r\n stroke={color}\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n};\r\n","export const ArrowUpDown = ({ color }) => (\r\n <svg\r\n width=\"24\"\r\n height=\"24\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M7 3V21M7 3L10 6M7 3L4 6M20 18L17 21M17 21L14 18M17 21V3\"\r\n stroke={color || \"#999999\"}\r\n strokeWidth=\"1.8\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n);\r\n","export const MaximizeIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<g clipPath=\"url(#clip0_5021_2966)\">\r\n<path d=\"M16 4H20V8\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M14 10L20 4\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M8 20H4V16\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M4 20L10 14\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M16 20H20V16\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M14 14L20 20\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M8 4H4V8\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M4 4L10 10\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</g>\r\n<defs>\r\n<clipPath id=\"clip0_5021_2966\">\r\n<rect width=\"24\" height=\"24\" fill=\"white\"/>\r\n</clipPath>\r\n</defs>\r\n</svg>\r\n\r\n)","export const MinimizeIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<g clipPath=\"url(#clip0_5021_2951)\">\r\n<path d=\"M5 9H9V5\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M3 3L9 9\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M5 15H9V19\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M3 21L9 15\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M19 9H15V5\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M15 9L21 3\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M19 15H15V19\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M15 15L21 21\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</g>\r\n<defs>\r\n<clipPath id=\"clip0_5021_2951\">\r\n<rect width=\"24\" height=\"24\" fill=\"white\"/>\r\n</clipPath>\r\n</defs>\r\n</svg>\r\n\r\n)","export const SuffleIcon = ({ color }) => (\r\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<g clipPath=\"url(#clip0_5021_2875)\">\r\n<path d=\"M18 4L21 7L18 10\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M18 20L21 17L18 14\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M3 7H6C7.32608 7 8.59785 7.52678 9.53553 8.46447C10.4732 9.40215 11 10.6739 11 12C11 13.3261 11.5268 14.5979 12.4645 15.5355C13.4021 16.4732 14.6739 17 16 17H21\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n<path d=\"M21 7.00001H16C14.9179 6.99841 13.8647 7.34946 13 8.00001M9 16C8.13506 16.6502 7.08204 17.0012 6 17H3\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</g>\r\n<defs>\r\n<clipPath id=\"clip0_5021_2875\">\r\n<rect width=\"24\" height=\"24\" fill=\"white\"/>\r\n</clipPath>\r\n</defs>\r\n</svg>\r\n\r\n)\r\n","export const RefreshIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M20 11.0007C19.7554 9.2409 18.9391 7.61034 17.6766 6.36018C16.4142 5.11001 14.7758 4.3096 13.0137 4.08224C11.2516 3.85487 9.46362 4.21316 7.9252 5.10193C6.38678 5.99069 5.18325 7.36062 4.5 9.00068M4 5.00068V9.00068H8M4 13.0007C4.24456 14.7605 5.06093 16.391 6.32336 17.6412C7.58579 18.8913 9.22424 19.6918 10.9863 19.9191C12.7484 20.1465 14.5364 19.7882 16.0748 18.8994C17.6132 18.0107 18.8168 16.6407 19.5 15.0007M20 19.0007V15.0007H16\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)\r\n","export const ReloadIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M19.9321 13.0436C19.7433 14.4836 19.166 15.845 18.2622 16.9818C17.3585 18.1186 16.1623 18.988 14.802 19.4966C13.4418 20.0053 11.9687 20.1341 10.5407 19.8692C9.11282 19.6043 7.78395 18.9557 6.69664 17.9929C5.60933 17.0302 4.8046 15.7896 4.36876 14.4043C3.93292 13.0189 3.8824 11.5411 4.22264 10.1292C4.56287 8.71733 5.28102 7.42471 6.30006 6.38996C7.3191 5.35522 8.60059 4.61739 10.0071 4.25561C13.9061 3.25561 17.9421 5.26261 19.4321 9.00261M19.999 4.00262V9.00262H14.999\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)\r\n","export const LogoutIcon = ({ color }) => (\r\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M14 8V6C14 5.46957 13.7893 4.96086 13.4142 4.58579C13.0391 4.21071 12.5304 4 12 4H5C4.46957 4 3.96086 4.21071 3.58579 4.58579C3.21071 4.96086 3 5.46957 3 6V18C3 18.5304 3.21071 19.0391 3.58579 19.4142C3.96086 19.7893 4.46957 20 5 20H12C12.5304 20 13.0391 19.7893 13.4142 19.4142C13.7893 19.0391 14 18.5304 14 18V16M9 12H21M21 12L18 9M21 12L18 15\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n)\r\n","export const IconChevronDown = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M6 9L12 15L18 9\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)","export const IconChevronUp = ({ color }) => (\r\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M6 15L12 9L18 15\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)","export const ArrowStandardDownIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M12 5V19M12 19L18 13M12 19L6 13\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)","export const ArrowStandardLeftIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M5 12H19M5 12L11 18M5 12L11 6\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)","export const ArrowStandardRightIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M5 12H19M19 12L13 18M19 12L13 6\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)\r\n","export const ArrowStandardUpRightIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M17 7L7 17M17 7H8M17 7V16\" stroke={color || \"#999999\"} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)\r\n","export const ArrowStandardUpIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M12 5V19M12 5L18 11M12 5L6 11\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)","export const ArrowFrameOutlineUpIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M9 13L12 10L15 13M12 3C19.2 3 21 4.8 21 12C21 19.2 19.2 21 12 21C4.8 21 3 19.2 3 12C3 4.8 4.8 3 12 3Z\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n)","export const ArrowFrameOutlineRightIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M11 9L14 12L11 15M12 3C19.2 3 21 4.8 21 12C21 19.2 19.2 21 12 21C4.8 21 3 19.2 3 12C3 4.8 4.8 3 12 3Z\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)","export const ArrowFrameOutlineDownIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M15 11L12 14L9 11M12 3C19.2 3 21 4.8 21 12C21 19.2 19.2 21 12 21C4.8 21 3 19.2 3 12C3 4.8 4.8 3 12 3Z\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)","export const ArrowFrameOutlineLeftIcon = ({ color }) => (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M13 15L10 12L13 9M12 3C19.2 3 21 4.8 21 12C21 19.2 19.2 21 12 21C4.8 21 3 19.2 3 12C3 4.8 4.8 3 12 3Z\" stroke={color || \"#999999\"} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\r\n</svg>\r\n\r\n)","import { PrimitiveColor } from \"../primitive\";\r\n\r\nexport const DerivedColor = {\r\n /* ================= BACKGROUND ================= */\r\n\r\n color_bg_page: PrimitiveColor.color_neutral_100,\r\n color_bg_surface: PrimitiveColor.color_neutral_50,\r\n color_bg_inverse: PrimitiveColor.color_neutral_900,\r\n color_bg_disabled: PrimitiveColor.color_neutral_300,\r\n\r\n color_bg_brand_primary_strong: PrimitiveColor.color_blue_cakrawala_600,\r\n color_bg_brand_primary: PrimitiveColor.color_blue_cakrawala_500,\r\n color_bg_brand_primary_subtle: PrimitiveColor.color_blue_cakrawala_100,\r\n color_bg_brand_secondary_strong: PrimitiveColor.color_blue_mentari_600,\r\n color_bg_brand_secondary: PrimitiveColor.color_blue_mentari_500,\r\n color_bg_brand_secondary_subtle: PrimitiveColor.color_blue_mentari_100,\r\n\r\n color_bg_success_strong: PrimitiveColor.color_green_600,\r\n color_bg_success: PrimitiveColor.color_green_500,\r\n color_bg_success_subtle: PrimitiveColor.color_green_300,\r\n\r\n color_bg_danger_strong: PrimitiveColor.color_red_600,\r\n color_bg_danger: PrimitiveColor.color_red_500,\r\n color_bg_danger_subtle: PrimitiveColor.color_red_300,\r\n\r\n color_bg_warning_strong: PrimitiveColor.color_yellow_600,\r\n color_bg_warning: PrimitiveColor.color_yellow_500,\r\n color_bg_warning_subtle: PrimitiveColor.color_yellow_300,\r\n\r\n /* ================= BORDER ================= */\r\n\r\n color_border_default: PrimitiveColor.color_neutral_300,\r\n color_border_strong: PrimitiveColor.color_neutral_500,\r\n color_border_inverse: PrimitiveColor.color_neutral_900,\r\n\r\n color_border_brand_primary: PrimitiveColor.color_blue_cakrawala_500,\r\n color_border_brand_secondary: PrimitiveColor.color_blue_mentari_500,\r\n color_border_success: PrimitiveColor.color_green_500,\r\n color_border_danger: PrimitiveColor.color_red_500,\r\n color_border_warning: PrimitiveColor.color_yellow_500,\r\n\r\n /* ================= TEXT ================= */\r\n\r\n color_text_default: PrimitiveColor.color_neutral_900,\r\n color_text_subtle: PrimitiveColor.color_neutral_700,\r\n color_text_disabled: PrimitiveColor.color_neutral_600,\r\n color_text_placeholder: PrimitiveColor.color_neutral_400,\r\n color_text_inverse: PrimitiveColor.color_neutral_50,\r\n\r\n color_text_brand_primary: PrimitiveColor.color_blue_cakrawala_500,\r\n color_text_brand_secondary: PrimitiveColor.color_blue_mentari_500,\r\n color_text_success: PrimitiveColor.color_green_500,\r\n color_text_danger: PrimitiveColor.color_red_500,\r\n color_text_warning: PrimitiveColor.color_yellow_600,\r\n\r\n /* ================= ICON ================= */\r\n\r\n color_icon_subtle: PrimitiveColor.color_neutral_600,\r\n color_icon_strong: PrimitiveColor.color_neutral_700,\r\n color_icon_disabled: PrimitiveColor.color_neutral_200,\r\n color_icon_inverse: PrimitiveColor.color_neutral_50,\r\n\r\n color_icon_brand_primary: PrimitiveColor.color_blue_cakrawala_500,\r\n color_icon_brand_secondary: PrimitiveColor.color_blue_mentari_500,\r\n\r\n color_icon_success: PrimitiveColor.color_green_500,\r\n color_icon_danger: PrimitiveColor.color_red_500,\r\n color_icon_warning: PrimitiveColor.color_yellow_600,\r\n};\r\n","import BoxRaw from \"@mui/material/Box\";\r\n\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\n\r\nexport const Radius = {\r\n radius_0: \"0px\",\r\n radius_1: \"4px\",\r\n radius_2: \"8px\",\r\n radius_3: \"12px\",\r\n radius_4: \"16px\",\r\n radius_x: \"999px\",\r\n};\r\n\r\nexport const RadiusToken = ({\r\n radius = \"radius_0\",\r\n children,\r\n sx = {},\r\n ...rest\r\n}) => {\r\n const borderRadius = Radius[radius] ?? Radius.radius_0;\r\n\r\n return (\r\n <Box\r\n sx={{\r\n borderRadius,\r\n backgroundColor: \"#f5f5f5\",\r\n padding: \"16px\",\r\n display: \"inline-flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {children}\r\n </Box>\r\n );\r\n};\r\n\r\nexport default RadiusToken;\r\n","import MuiTypographyRaw from \"@mui/material/Typography\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\n\r\nconst MuiTypography = MuiTypographyRaw?.default ?? MuiTypographyRaw;\r\n\r\nconst BASE_LINE_HEIGHT = 1.4;\r\nconst LETTER_SPACING = \"0px\";\r\n\r\nexport const TYPOGRAPHY_COLORS = {\r\n default: {\r\n value: DerivedColor.color_text_default,\r\n token: \"color_text_default\",\r\n alias: \"color_neutral_900\",\r\n },\r\n subtle: {\r\n value: DerivedColor.color_text_subtle,\r\n token: \"color_text_subtle\",\r\n alias: \"color_neutral_700\",\r\n },\r\n disabled: {\r\n value: DerivedColor.color_text_disabled,\r\n token: \"color_text_disabled\",\r\n alias: \"color_neutral_600\",\r\n },\r\n placeholder: {\r\n value: DerivedColor.color_text_placeholder,\r\n token: \"color_text_placeholder\",\r\n alias: \"color_neutral_400\",\r\n },\r\n inverse: {\r\n value: DerivedColor.color_text_inverse,\r\n token: \"color_text_inverse\",\r\n alias: \"color_neutral_50\",\r\n },\r\n primary: {\r\n value: DerivedColor.color_text_brand_primary,\r\n token: \"color_text_brand_primary\",\r\n alias: \"color_blue_cakrawala_500\",\r\n },\r\n secondary: {\r\n value: DerivedColor.color_text_brand_secondary,\r\n token: \"color_text_brand_secondary\",\r\n alias: \"color_blue_mentari_500\",\r\n },\r\n success: {\r\n value: DerivedColor.color_text_success,\r\n token: \"color_text_success\",\r\n alias: \"color_green_500\",\r\n },\r\n danger: {\r\n value: DerivedColor.color_text_danger,\r\n token: \"color_text_danger\",\r\n alias: \"color_red_500\",\r\n },\r\n warning: {\r\n value: DerivedColor.color_text_warning,\r\n token: \"color_text_warning\",\r\n alias: \"color_yellow_600\",\r\n },\r\n};\r\n\r\nexport const VariantStyles = {\r\n /* ================= HEADING (MUI standard) ================= */\r\n h1: {\r\n fontSize: \"96px\",\r\n fontWeight: 300,\r\n },\r\n h2: {\r\n fontSize: \"60px\",\r\n fontWeight: 300,\r\n },\r\n h3: {\r\n fontSize: \"48px\",\r\n fontWeight: 400,\r\n },\r\n h4: {\r\n fontSize: \"34px\",\r\n fontWeight: 400,\r\n },\r\n h5: {\r\n fontSize: \"24px\",\r\n fontWeight: 400,\r\n },\r\n h6: {\r\n fontSize: \"20px\",\r\n fontWeight: 500,\r\n },\r\n\r\n /* ================= HEADER 1 ================= */\r\n header1_regular: {\r\n fontSize: \"18px\",\r\n fontWeight: 400,\r\n },\r\n header1_semibold: {\r\n fontSize: \"18px\",\r\n fontWeight: 600,\r\n },\r\n header1_bold: {\r\n fontSize: \"18px\",\r\n fontWeight: 700,\r\n },\r\n\r\n /* ================= HEADER 2 ================= */\r\n header2_regular: {\r\n fontSize: \"20px\",\r\n fontWeight: 400,\r\n },\r\n header2_semibold: {\r\n fontSize: \"20px\",\r\n fontWeight: 600,\r\n },\r\n header2_bold: {\r\n fontSize: \"20px\",\r\n fontWeight: 700,\r\n },\r\n\r\n /* ================= BODY ================= */\r\n body1_regular: {\r\n fontSize: \"14px\",\r\n fontWeight: 400,\r\n },\r\n body2_regular: {\r\n fontSize: \"16px\",\r\n fontWeight: 400,\r\n },\r\n\r\n /* ================= CAPTION ================= */\r\n caption_regular: {\r\n fontSize: \"12px\",\r\n fontWeight: 400,\r\n },\r\n};\r\n\r\n\r\nexport const BaseTypography = ({\r\n variant = \"body1_regular.default\",\r\n children,\r\n sx,\r\n ...props\r\n}) => {\r\n let actualVariant = variant;\r\n let actualColor = \"default\";\r\n\r\n if (typeof variant === \"string\" && variant.includes(\".\")) {\r\n const [v, c] = variant.split(\".\");\r\n actualVariant = v;\r\n actualColor = c;\r\n }\r\n\r\n const variantStyle = VariantStyles[actualVariant];\r\n const colorStyle = TYPOGRAPHY_COLORS[actualColor];\r\n\r\n if (!variantStyle) {\r\n console.warn(`Unknown typography variant: ${actualVariant}`);\r\n return null;\r\n }\r\n if (!colorStyle) {\r\n console.warn(`Unknown typography color: ${actualColor}`);\r\n return null;\r\n }\r\n\r\n return (\r\n <MuiTypography\r\n {...props}\r\n sx={{\r\n fontFamily: \"inherit\",\r\n lineHeight: BASE_LINE_HEIGHT,\r\n letterSpacing: LETTER_SPACING,\r\n color: colorStyle.value,\r\n ...variantStyle,\r\n ...sx,\r\n }}\r\n >\r\n {children}\r\n </MuiTypography>\r\n );\r\n};\r\n\r\n","import BoxRaw from \"@mui/material/Box\";\r\n\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\n\r\n/* ================================\r\n * SPACING TOKENS\r\n * ================================ */\r\n\r\nexport const SpacingToken = {\r\n spacing0: \"0px\",\r\n spacing1: \"4px\",\r\n spacing2: \"8px\",\r\n spacing3: \"12px\",\r\n spacing4: \"16px\",\r\n spacing5: \"20px\",\r\n spacing6: \"24px\",\r\n spacing7: \"28px\",\r\n spacing8: \"32px\",\r\n spacing9: \"36px\",\r\n spacing10: \"40px\",\r\n};\r\n\r\nexport const CONTENT_SPACING_TOKENS = {\r\n spacing_1: {\r\n mobile: \"8px\",\r\n tablet: \"16px\",\r\n web: \"24px\",\r\n },\r\n spacing_2: {\r\n mobile: \"16px\",\r\n tablet: \"24px\",\r\n web: \"32px\",\r\n },\r\n spacing_3: {\r\n mobile: \"24px\",\r\n tablet: \"32px\",\r\n web: \"40px\",\r\n },\r\n};\r\n\r\nconst resolveSpacingValue = (value, tokens) => {\r\n if (typeof value === \"number\") return `${value}px`;\r\n if (typeof value === \"string\") return tokens[value] ?? value;\r\n return 0;\r\n};\r\n\r\n/* ================================\r\n * SPACING (UTILITY GAP)\r\n * ================================ */\r\nconst Spacing = ({\r\n size = \"spacing2\",\r\n axis = \"vertical\",\r\n sx = {},\r\n ...rest\r\n}) => {\r\n const value = resolveSpacingValue(size, SpacingToken);\r\n\r\n return (\r\n <Box\r\n aria-hidden\r\n sx={{\r\n ...(axis === \"vertical\"\r\n ? { height: value }\r\n : { width: value, display: \"inline-block\" }),\r\n ...sx,\r\n }}\r\n {...rest}\r\n />\r\n );\r\n};\r\n\r\n/* ================================\r\n * CONTENT SPACING (LAYOUT)\r\n * ================================ */\r\nexport const ContentSpacing = ({\r\n size = \"spacing_2\",\r\n breakpoint = \"web\",\r\n children,\r\n sx = {},\r\n ...rest\r\n}) => {\r\n const token =\r\n typeof size === \"string\" ? CONTENT_SPACING_TOKENS[size] : size;\r\n\r\n if (!token) return null;\r\n\r\n const value = token[breakpoint] ?? token.web;\r\n\r\n return (\r\n <Box\r\n sx={{\r\n padding: value,\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {children}\r\n </Box>\r\n );\r\n};\r\n\r\nexport default Spacing;\r\n","import { createElement, isValidElement, useMemo } from \"react\";\r\nimport AlertRaw from \"@mui/material/Alert\";\r\nimport AlertTitleRaw from \"@mui/material/AlertTitle\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { VariantStyles } from \"@/components/atoms/typography/typography\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\n\r\nimport { IconAlertCircle, IconCircleCheck, IconInfoCircle, IconAlertTriangle } from \"@tabler/icons-react\";\r\n\r\nconst Alert = AlertRaw?.default ?? AlertRaw;\r\nconst AlertTitle = AlertTitleRaw?.default ?? AlertTitleRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\n\r\nconst ALERT_CONFIG = {\r\n default: {\r\n bg: PrimitiveColor.color_neutral_200,\r\n iconColor: DerivedColor.color_icon_strong,\r\n defaultIcon: IconAlertCircle,\r\n },\r\n error: {\r\n bg: PrimitiveColor.color_red_100,\r\n iconColor: DerivedColor.color_icon_danger,\r\n defaultIcon: IconAlertCircle,\r\n },\r\n info: {\r\n bg: DerivedColor.color_bg_brand_primary_subtle,\r\n iconColor: DerivedColor.color_icon_brand_primary,\r\n defaultIcon: IconInfoCircle,\r\n },\r\n success: {\r\n bg: PrimitiveColor.color_green_100,\r\n iconColor: DerivedColor.color_icon_success,\r\n defaultIcon: IconCircleCheck,\r\n },\r\n warning: {\r\n bg: PrimitiveColor.color_yellow_100,\r\n iconColor: DerivedColor.color_icon_warning,\r\n defaultIcon: IconAlertTriangle,\r\n },\r\n};\r\n\r\nexport const BaseAlert = ({\r\n variant = \"default\",\r\n type = \"standard\",\r\n title,\r\n children,\r\n icon,\r\n color,\r\n sx = {},\r\n onClose,\r\n childrenSx = {},\r\n ...props\r\n}) => {\r\n const config = ALERT_CONFIG[variant] ?? ALERT_CONFIG.default;\r\n const hasChildrenSx = Object.keys(childrenSx).length > 0;\r\n\r\n const renderIcon = useMemo(() => {\r\n if (!icon) return false; // no icon prop = hide icon entirely\r\n if (isValidElement(icon)) return icon;\r\n if (typeof icon === \"function\")\r\n return createElement(icon, {\r\n size: 20,\r\n color: config.iconColor,\r\n });\r\n return false;\r\n }, [icon, config]);\r\n\r\n return (\r\n <Alert\r\n severity={variant === \"default\" ? undefined : variant}\r\n variant={type}\r\n icon={renderIcon}\r\n onClose={onClose}\r\n sx={{\r\n backgroundColor: color ?? config.bg,\r\n borderRadius: Radius.radius_2,\r\n \".MuiAlert-message\": { width: \"100%\" },\r\n ...sx,\r\n }}\r\n {...props}\r\n >\r\n {title && (\r\n <AlertTitle\r\n sx={{\r\n ...VariantStyles.body2_regular,\r\n marginBottom: SpacingToken.spacing2,\r\n fontWeight: 600,\r\n }}\r\n >\r\n {title}\r\n </AlertTitle>\r\n )}\r\n {hasChildrenSx ? (\r\n <Box component=\"span\" sx={childrenSx}>\r\n {children}\r\n </Box>\r\n ) : (\r\n children\r\n )}\r\n </Alert>\r\n );\r\n};\r\n","import BoxRaw from \"@mui/material/Box\";\r\n\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\n\r\nexport const Shadow = {\r\n elevation_0: {\r\n shadow: \"none\",\r\n surface: \"#FFFFFF\",\r\n },\r\n elevation_1: {\r\n shadow: \"0px 1px 2px rgba(0, 0, 0, 0.06)\",\r\n surface: \"#FFFFFF\",\r\n },\r\n elevation_2: {\r\n shadow: \"0px 2px 6px rgba(0, 0, 0, 0.08)\",\r\n surface: \"#FFFFFF\",\r\n },\r\n elevation_3: {\r\n shadow: \"0px 2px 6px rgba(0, 0, 0, 0.08)\",\r\n surface: \"#FFFFFF\",\r\n },\r\n elevation_4: {\r\n shadow: \"0px 6px 20px rgba(0, 0, 0, 0.16)\",\r\n surface: \"#FFFFFF\",\r\n },\r\n};\r\n\r\nexport const ShadowToken = ({\r\n level = \"elevation_0\",\r\n children,\r\n sx = {},\r\n ...rest\r\n}) => {\r\n const token = Shadow[level] || Shadow.elevation_0;\r\n\r\n return (\r\n <Box\r\n sx={{\r\n backgroundColor: token.surface,\r\n boxShadow: token.shadow,\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {children}\r\n </Box>\r\n );\r\n};\r\n\r\nexport default ShadowToken;\r\n","import ButtonBaseRaw from \"@mui/material/ButtonBase\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { VariantStyles } from \"@/components/atoms/typography/typography\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\n\r\nconst ButtonBase = ButtonBaseRaw?.default ?? ButtonBaseRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\n\r\nconst WHITE = DerivedColor.color_text_inverse;\r\n\r\nconst SIZE_TYPOGRAPHY = {\r\n large: \"body2_regular\",\r\n small: \"body1_regular\",\r\n};\r\n\r\nconst DISABLED_BG = DerivedColor.color_bg_disabled;\r\nconst DISABLED_TEXT = DerivedColor.color_text_disabled;\r\n\r\n// ============================================================\r\n// COLOR MAPPING (color prop → DerivedColor tokens)\r\n// ============================================================\r\n\r\nconst FILL_COLORS = {\r\n primary: {\r\n bg: DerivedColor.color_bg_brand_primary,\r\n hover: DerivedColor.color_bg_brand_primary_strong,\r\n },\r\n secondary: {\r\n bg: DerivedColor.color_bg_brand_secondary,\r\n hover: DerivedColor.color_bg_brand_secondary_strong,\r\n },\r\n success: {\r\n bg: DerivedColor.color_bg_success,\r\n hover: DerivedColor.color_bg_success_strong,\r\n },\r\n warning: {\r\n bg: DerivedColor.color_bg_warning,\r\n hover: DerivedColor.color_bg_warning_strong,\r\n },\r\n danger: {\r\n bg: DerivedColor.color_bg_danger,\r\n hover: DerivedColor.color_bg_danger_strong,\r\n },\r\n};\r\n\r\nconst OUTLINE_COLORS = {\r\n primary: {\r\n border: DerivedColor.color_border_brand_primary,\r\n text: DerivedColor.color_text_brand_primary,\r\n hoverBg: DerivedColor.color_bg_brand_primary_subtle,\r\n },\r\n secondary: {\r\n border: DerivedColor.color_border_brand_secondary,\r\n text: DerivedColor.color_text_brand_secondary,\r\n hoverBg: DerivedColor.color_bg_brand_secondary_subtle,\r\n },\r\n success: {\r\n border: DerivedColor.color_border_success,\r\n text: DerivedColor.color_text_success,\r\n hoverBg: DerivedColor.color_bg_success_subtle,\r\n },\r\n warning: {\r\n border: DerivedColor.color_border_warning,\r\n text: DerivedColor.color_text_warning,\r\n hoverBg: DerivedColor.color_bg_warning_subtle,\r\n },\r\n danger: {\r\n border: DerivedColor.color_border_danger,\r\n text: DerivedColor.color_text_danger,\r\n hoverBg: DerivedColor.color_bg_danger_subtle,\r\n },\r\n};\r\n\r\n// ============================================================\r\n// CUSTOM COLOR HOVER UTILITY\r\n// Naik 1 tingkat dari PrimitiveColor scale (500 → 600, 300 → 400, dll)\r\n// ============================================================\r\n\r\nconst SCALE_ORDER = [100, 200, 300, 400, 500, 600, 700, 800, 900];\r\n\r\nfunction getHoverColor(primitiveKey) {\r\n if (!primitiveKey || !PrimitiveColor[primitiveKey]) return null;\r\n\r\n // Parse: \"color_blue_cakrawala_500\" → prefix=\"color_blue_cakrawala\", level=500\r\n const parts = primitiveKey.split(\"_\");\r\n const level = parseInt(parts[parts.length - 1], 10);\r\n\r\n if (isNaN(level)) return null;\r\n\r\n const prefix = parts.slice(0, -1).join(\"_\");\r\n const currentIndex = SCALE_ORDER.indexOf(level);\r\n\r\n if (currentIndex === -1) return null;\r\n\r\n // Naik 1 tingkat (index + 1 = darker)\r\n const nextLevel = SCALE_ORDER[Math.min(currentIndex + 1, SCALE_ORDER.length - 1)];\r\n const hoverKey = `${prefix}_${nextLevel}`;\r\n\r\n return PrimitiveColor[hoverKey] || PrimitiveColor[primitiveKey];\r\n}\r\n\r\n// ============================================================\r\n// COMPONENT\r\n// ============================================================\r\n\r\nexport const BaseButton = ({\r\n onClick = () => {},\r\n children = null,\r\n variant = \"fill\",\r\n color = \"primary\",\r\n customColor = null,\r\n size = \"large\",\r\n disabled = false,\r\n startIcon = null,\r\n endIcon = null,\r\n width = \"100%\",\r\n sx = {},\r\n ...rest\r\n}) => {\r\n const isFill = variant.includes(\"fill\") || variant === \"fab\";\r\n const isOutline = variant.includes(\"outline\");\r\n const isText = variant === \"text\";\r\n\r\n // Jika customColor dipakai, color prop diabaikan\r\n const useCustom = !!customColor;\r\n const customColorValue = useCustom ? PrimitiveColor[customColor] : null;\r\n const customHoverValue = useCustom ? getHoverColor(customColor) : null;\r\n\r\n // Resolve warna berdasarkan variant + color/customColor\r\n const getBackgroundColor = () => {\r\n if (disabled) return isFill ? DISABLED_BG : \"transparent\";\r\n if (useCustom) return isFill ? customColorValue : \"transparent\";\r\n if (isFill) return FILL_COLORS[color]?.bg || FILL_COLORS.primary.bg;\r\n return \"transparent\";\r\n };\r\n\r\n const getTextColor = () => {\r\n if (disabled) return DISABLED_TEXT;\r\n if (isFill) return WHITE;\r\n if (useCustom) return customColorValue;\r\n if (isOutline) return OUTLINE_COLORS[color]?.text || OUTLINE_COLORS.primary.text;\r\n if (isText) return OUTLINE_COLORS[color]?.text || OUTLINE_COLORS.primary.text;\r\n return DerivedColor.color_text_default;\r\n };\r\n\r\n const getBorderColor = () => {\r\n if (!isOutline) return \"none\";\r\n if (disabled) return `1.5px solid ${DISABLED_BG}`;\r\n if (useCustom) return `1.5px solid ${customColorValue}`;\r\n return `1.5px solid ${OUTLINE_COLORS[color]?.border || OUTLINE_COLORS.primary.border}`;\r\n };\r\n\r\n const getHoverBg = () => {\r\n if (disabled) return undefined;\r\n if (useCustom) {\r\n return isFill ? customHoverValue : customColorValue + \"1A\"; // 10% opacity for outline\r\n }\r\n if (isFill) return FILL_COLORS[color]?.hover || FILL_COLORS.primary.hover;\r\n if (isOutline) return OUTLINE_COLORS[color]?.hoverBg || OUTLINE_COLORS.primary.hoverBg;\r\n return undefined;\r\n };\r\n\r\n const getRadius = () => {\r\n switch (variant) {\r\n case \"text\":\r\n return Radius.radius_0;\r\n case \"fill\":\r\n case \"outline\":\r\n return Radius.radius_2;\r\n case \"fab\":\r\n case \"ellipse-fill\":\r\n case \"ellipse-outline\":\r\n return Radius.radius_x;\r\n default:\r\n return Radius.radius_2;\r\n }\r\n };\r\n\r\n const typographyStyle = VariantStyles[SIZE_TYPOGRAPHY[size]];\r\n\r\n return (\r\n <ButtonBase\r\n disabled={disabled}\r\n onClick={onClick}\r\n sx={{\r\n width,\r\n height: \"40px\",\r\n padding: `${SpacingToken.spacing0} ${SpacingToken.spacing4}`,\r\n borderRadius: getRadius(),\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n ...typographyStyle,\r\n\r\n backgroundColor: getBackgroundColor(),\r\n color: getTextColor(),\r\n border: getBorderColor(),\r\n\r\n cursor: disabled ? \"not-allowed\" : \"pointer\",\r\n opacity: 1,\r\n userSelect: \"none\",\r\n transition: \"all 0.15s ease-in-out\",\r\n\r\n \"&:hover\": {\r\n boxShadow: !disabled ? \"0 2px 4px rgba(0,0,0,0.1)\" : \"none\",\r\n backgroundColor: getHoverBg(),\r\n },\r\n\r\n \"&:active\": {\r\n transform: !disabled ? \"scale(0.97)\" : \"none\",\r\n },\r\n\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {startIcon && (\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n lineHeight: 0,\r\n mr: children ? \"4px\" : 0,\r\n }}\r\n >\r\n {startIcon}\r\n </Box>\r\n )}\r\n\r\n {children}\r\n\r\n {endIcon && (\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n lineHeight: 0,\r\n ml: children ? \"4px\" : 0,\r\n }}\r\n >\r\n {endIcon}\r\n </Box>\r\n )}\r\n </ButtonBase>\r\n );\r\n};\r\n","import SkeletonRaw from \"@mui/material/Skeleton\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\n\r\nconst Skeleton = SkeletonRaw?.default ?? SkeletonRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\n\r\n// ============================================================\r\n// COMPONENT\r\n// ============================================================\r\n\r\nexport const BaseSkeleton = ({\r\n variant = \"rectangular\",\r\n animation = \"pulse\",\r\n width,\r\n height,\r\n count = 1,\r\n gap = SpacingToken.spacing2,\r\n sx = {},\r\n ...rest\r\n}) => {\r\n const getRadius = () => {\r\n switch (variant) {\r\n case \"circular\":\r\n return \"50%\";\r\n case \"rounded\":\r\n return Radius.radius_2;\r\n case \"text\":\r\n case \"rectangular\":\r\n default:\r\n return Radius.radius_0;\r\n }\r\n };\r\n\r\n const getDefaultHeight = () => {\r\n switch (variant) {\r\n case \"text\":\r\n return \"1.2em\";\r\n case \"circular\":\r\n return width || 40;\r\n case \"rectangular\":\r\n case \"rounded\":\r\n return height || 60;\r\n default:\r\n return height;\r\n }\r\n };\r\n\r\n const getDefaultWidth = () => {\r\n switch (variant) {\r\n case \"circular\":\r\n return height || 40;\r\n case \"text\":\r\n return \"100%\";\r\n case \"rectangular\":\r\n case \"rounded\":\r\n return width || \"100%\";\r\n default:\r\n return width;\r\n }\r\n };\r\n\r\n const skeletonProps = {\r\n variant: variant === \"rounded\" ? \"rectangular\" : variant,\r\n animation: animation === \"none\" ? false : animation,\r\n width: getDefaultWidth(),\r\n height: getDefaultHeight(),\r\n sx: {\r\n borderRadius: getRadius(),\r\n ...sx,\r\n },\r\n ...rest,\r\n };\r\n\r\n if (count <= 1) {\r\n return <Skeleton {...skeletonProps} />;\r\n }\r\n\r\n return (\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap }}>\r\n {Array.from({ length: count }).map((_, index) => (\r\n <Skeleton key={index} {...skeletonProps} />\r\n ))}\r\n </Box>\r\n );\r\n};\r\n","'use client';\r\nimport SwitchRaw from \"@mui/material/Switch\";\r\nimport { styled } from \"@mui/material/styles\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\nimport { VariantStyles } from \"@/components/atoms/typography/typography\";\r\n\r\nconst Switch = SwitchRaw?.default ?? SwitchRaw;\r\n\r\nconst AntSwitch = styled(Switch)(({ theme }) => ({\r\n width: \"34px\",\r\n height: \"18px\",\r\n padding: 0,\r\n display: \"flex\",\r\n\r\n \"&:active\": {\r\n \"& .MuiSwitch-thumb\": { width: 15 },\r\n \"& .MuiSwitch-switchBase.Mui-checked\": {\r\n transform: \"translateX(9px)\",\r\n },\r\n },\r\n\r\n \"& .MuiSwitch-switchBase\": {\r\n padding: SpacingToken.spacing1,\r\n\r\n \"&.Mui-checked\": {\r\n transform: \"translateX(16px)\",\r\n color: DerivedColor.color_bg_surface,\r\n\r\n \"& + .MuiSwitch-track\": {\r\n opacity: 1,\r\n backgroundColor: DerivedColor.color_bg_brand_primary,\r\n },\r\n },\r\n },\r\n\r\n \"& .MuiSwitch-thumb\": {\r\n boxShadow: \"0 2px 4px 0 rgb(0 35 11 / 20%)\",\r\n width: \"10px\",\r\n height: \"10px\",\r\n borderRadius: Radius.radius_x,\r\n transition: theme.transitions.create([\"width\"], { duration: 200 }),\r\n backgroundColor: DerivedColor.color_bg_surface,\r\n },\r\n\r\n \"& .MuiSwitch-track\": {\r\n borderRadius: Radius.radius_x,\r\n opacity: 1,\r\n backgroundColor:\r\n theme.palette.mode === \"dark\"\r\n ? DerivedColor.color_text_disabled\r\n : DerivedColor.color_text_placeholder,\r\n boxSizing: \"border-box\",\r\n },\r\n}));\r\n\r\nexport const BaseSwitch = ({\r\n status = false,\r\n label,\r\n labelPlacement = \"end\", // start | end | top | bottom\r\n isDisabled = false,\r\n onChange,\r\n}) => {\r\n const [checked, setChecked] = useState(status);\r\n\r\n useEffect(() => {\r\n setChecked(status);\r\n }, [status]);\r\n\r\n const handleChange = (event) => {\r\n setChecked(event.target.checked);\r\n onChange?.(event);\r\n };\r\n\r\n const layoutMap = {\r\n start: {\r\n gridAutoFlow: \"column dense\",\r\n direction: \"rtl\",\r\n },\r\n end: {\r\n gridAutoFlow: \"column\",\r\n direction: \"ltr\",\r\n },\r\n top: {\r\n gridAutoFlow: \"row\",\r\n direction: \"ltr\",\r\n },\r\n bottom: {\r\n gridAutoFlow: \"row dense\",\r\n direction: \"rtl\",\r\n },\r\n };\r\n\r\n const layout = layoutMap[labelPlacement] || layoutMap.end;\r\n\r\n return (\r\n <div\r\n style={{\r\n display: \"grid\",\r\n gap: SpacingToken.spacing2,\r\n alignItems: \"center\",\r\n justifyItems: \"start\",\r\n gridAutoFlow: layout.gridAutoFlow,\r\n direction: layout.direction,\r\n }}\r\n >\r\n <AntSwitch\r\n checked={checked}\r\n onChange={handleChange}\r\n disabled={isDisabled}\r\n inputProps={{ \"aria-label\": \"controlled\" }}\r\n />\r\n\r\n {label ? (\r\n <p\r\n style={{\r\n ...VariantStyles.body1_regular,\r\n color: isDisabled\r\n ? DerivedColor.color_text_placeholder\r\n : DerivedColor.color_text_default,\r\n margin: 0,\r\n }}\r\n >\r\n {label}\r\n </p>\r\n ) : null}\r\n </div>\r\n );\r\n};\r\n","import { useState } from \"react\";\r\nimport MuiCardRaw from \"@mui/material/Card\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport CollapseRaw from \"@mui/material/Collapse\";\r\nimport IconButtonRaw from \"@mui/material/IconButton\";\r\nimport KeyboardArrowDownIconRaw from \"@mui/icons-material/KeyboardArrowDown\";\r\nimport KeyboardArrowUpIconRaw from \"@mui/icons-material/KeyboardArrowUp\";\r\nimport { Watermark } from \"@hirohe/react-watermark\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\n\r\nconst MuiCard = MuiCardRaw?.default ?? MuiCardRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\nconst Collapse = CollapseRaw?.default ?? CollapseRaw;\r\nconst IconButton = IconButtonRaw?.default ?? IconButtonRaw;\r\nconst KeyboardArrowDownIcon =\r\n KeyboardArrowDownIconRaw?.default ?? KeyboardArrowDownIconRaw;\r\nconst KeyboardArrowUpIcon =\r\n KeyboardArrowUpIconRaw?.default ?? KeyboardArrowUpIconRaw;\r\n\r\n// ============================================================\r\n// COLOR MAPPING\r\n// ============================================================\r\n\r\nconst HEADER_COLORS = {\r\n primary: DerivedColor.color_bg_brand_primary,\r\n secondary: DerivedColor.color_bg_brand_secondary,\r\n success: DerivedColor.color_bg_success,\r\n warning: DerivedColor.color_bg_warning,\r\n danger: DerivedColor.color_bg_danger,\r\n};\r\n\r\n// ============================================================\r\n// COMPONENT\r\n// ============================================================\r\n\r\nexport const BaseCard = ({\r\n variant = \"default\",\r\n children = null,\r\n color = \"primary\",\r\n title = \"\",\r\n subtitle = \"\",\r\n boldTitle = false,\r\n boldSubtitle = false,\r\n showSubtitle = false,\r\n isCollapsible = true,\r\n startIcon = null,\r\n endIcon = null,\r\n showStartIcon = false,\r\n showEndIcon = false,\r\n footer = null,\r\n isWatermark = false,\r\n watermarkText = \"\",\r\n sx = {},\r\n ...rest\r\n}) => {\r\n const [open, setOpen] = useState(true);\r\n\r\n const headerBg = HEADER_COLORS[color] || HEADER_COLORS.primary;\r\n const headerTextColor = DerivedColor.color_bg_surface;\r\n const cardBg = DerivedColor.color_bg_surface;\r\n const borderColor = DerivedColor.color_border_default;\r\n\r\n // ====================== DEFAULT ======================\r\n if (variant === \"default\") {\r\n return (\r\n <MuiCard\r\n sx={{\r\n borderRadius: Radius.radius_2,\r\n backgroundColor: cardBg,\r\n border: `1px solid ${borderColor}`,\r\n overflow: \"hidden\",\r\n boxShadow: \"none\",\r\n padding: SpacingToken.spacing4,\r\n position: \"relative\",\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {isWatermark && watermarkText ? (\r\n <Watermark\r\n text={watermarkText}\r\n textColor=\"#000000\"\r\n textSize={14}\r\n opacity={0.15}\r\n gutter={20}\r\n rotate={-30}\r\n wrapperStyle={{ minHeight: \"100px\" }}\r\n >\r\n {children}\r\n </Watermark>\r\n ) : (\r\n children\r\n )}\r\n </MuiCard>\r\n );\r\n }\r\n\r\n // ====================== WITH-HEADER ======================\r\n if (variant === \"with-header\") {\r\n return (\r\n <MuiCard\r\n sx={{\r\n borderRadius: Radius.radius_2,\r\n border: `1px solid ${borderColor}`,\r\n overflow: \"hidden\",\r\n boxShadow: \"none\",\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {/* Header */}\r\n <Box\r\n onClick={() => isCollapsible && setOpen(!open)}\r\n sx={{\r\n backgroundColor: headerBg,\r\n padding: SpacingToken.spacing4,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"space-between\",\r\n cursor: isCollapsible ? \"pointer\" : \"default\",\r\n borderTopLeftRadius: Radius.radius_2,\r\n borderTopRightRadius: Radius.radius_2,\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\r\n {showStartIcon && startIcon && (\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", lineHeight: 0 }}>\r\n {startIcon}\r\n </Box>\r\n )}\r\n\r\n <Box>\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n color: headerTextColor,\r\n fontWeight: boldTitle ? 700 : 400,\r\n fontSize: \"16px\",\r\n display: \"block\",\r\n }}\r\n >\r\n {title}\r\n </Box>\r\n\r\n {showSubtitle && subtitle && (\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n color: headerTextColor,\r\n fontWeight: boldSubtitle ? 700 : 400,\r\n fontSize: \"13px\",\r\n display: \"block\",\r\n mt: \"2px\",\r\n }}\r\n >\r\n {subtitle}\r\n </Box>\r\n )}\r\n </Box>\r\n </Box>\r\n\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\r\n {showEndIcon && endIcon && (\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", lineHeight: 0 }}>\r\n {endIcon}\r\n </Box>\r\n )}\r\n\r\n {isCollapsible && (\r\n <IconButton\r\n size=\"small\"\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n setOpen(!open);\r\n }}\r\n sx={{ color: headerTextColor }}\r\n >\r\n {open ? <KeyboardArrowUpIcon /> : <KeyboardArrowDownIcon />}\r\n </IconButton>\r\n )}\r\n </Box>\r\n </Box>\r\n\r\n {/* Content */}\r\n <Collapse in={!isCollapsible || open} timeout={300}>\r\n <Box\r\n sx={{\r\n padding: SpacingToken.spacing4,\r\n backgroundColor: cardBg,\r\n }}\r\n >\r\n {isWatermark && watermarkText ? (\r\n <Watermark\r\n text={watermarkText}\r\n textColor=\"#000000\"\r\n textSize={14}\r\n opacity={0.15}\r\n gutter={20}\r\n rotate={-30}\r\n wrapperStyle={{ minHeight: \"100px\" }}\r\n >\r\n {children}\r\n </Watermark>\r\n ) : (\r\n children\r\n )}\r\n </Box>\r\n </Collapse>\r\n </MuiCard>\r\n );\r\n }\r\n\r\n // ====================== WITH-HEADER-FOOTER ======================\r\n if (variant === \"with-header-footer\") {\r\n return (\r\n <MuiCard\r\n sx={{\r\n borderRadius: Radius.radius_2,\r\n border: `1px solid ${borderColor}`,\r\n overflow: \"hidden\",\r\n boxShadow: \"none\",\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {/* Header */}\r\n <Box\r\n onClick={() => isCollapsible && setOpen(!open)}\r\n sx={{\r\n backgroundColor: headerBg,\r\n padding: SpacingToken.spacing4,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"space-between\",\r\n cursor: isCollapsible ? \"pointer\" : \"default\",\r\n borderTopLeftRadius: Radius.radius_2,\r\n borderTopRightRadius: Radius.radius_2,\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\r\n {showStartIcon && startIcon && (\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", lineHeight: 0 }}>\r\n {startIcon}\r\n </Box>\r\n )}\r\n\r\n <Box>\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n color: headerTextColor,\r\n fontWeight: boldTitle ? 700 : 400,\r\n fontSize: \"16px\",\r\n display: \"block\",\r\n }}\r\n >\r\n {title}\r\n </Box>\r\n\r\n {showSubtitle && subtitle && (\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n color: headerTextColor,\r\n fontWeight: boldSubtitle ? 700 : 400,\r\n fontSize: \"13px\",\r\n display: \"block\",\r\n mt: \"2px\",\r\n }}\r\n >\r\n {subtitle}\r\n </Box>\r\n )}\r\n </Box>\r\n </Box>\r\n\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\r\n {showEndIcon && endIcon && (\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", lineHeight: 0 }}>\r\n {endIcon}\r\n </Box>\r\n )}\r\n\r\n {isCollapsible && (\r\n <IconButton\r\n size=\"small\"\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n setOpen(!open);\r\n }}\r\n sx={{ color: headerTextColor }}\r\n >\r\n {open ? <KeyboardArrowUpIcon /> : <KeyboardArrowDownIcon />}\r\n </IconButton>\r\n )}\r\n </Box>\r\n </Box>\r\n\r\n {/* Content */}\r\n <Collapse in={!isCollapsible || open} timeout={300}>\r\n <Box\r\n sx={{\r\n padding: SpacingToken.spacing4,\r\n backgroundColor: cardBg,\r\n }}\r\n >\r\n {isWatermark && watermarkText ? (\r\n <Watermark\r\n text={watermarkText}\r\n textColor=\"#000000\"\r\n textSize={14}\r\n opacity={0.15}\r\n gutter={20}\r\n rotate={-30}\r\n wrapperStyle={{ minHeight: \"100px\" }}\r\n >\r\n {children}\r\n </Watermark>\r\n ) : (\r\n children\r\n )}\r\n </Box>\r\n </Collapse>\r\n\r\n {/* Footer */}\r\n {footer && (\r\n <Box\r\n sx={{\r\n padding: SpacingToken.spacing4,\r\n borderTop: `1px solid ${borderColor}`,\r\n backgroundColor: cardBg,\r\n }}\r\n >\r\n {footer}\r\n </Box>\r\n )}\r\n </MuiCard>\r\n );\r\n }\r\n\r\n // Fallback\r\n return (\r\n <MuiCard\r\n sx={{\r\n borderRadius: Radius.radius_2,\r\n backgroundColor: cardBg,\r\n border: `1px solid ${borderColor}`,\r\n overflow: \"visible\",\r\n boxShadow: \"none\",\r\n padding: SpacingToken.spacing4,\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {children}\r\n </MuiCard>\r\n );\r\n};\r\n","import { isValidElement, createElement, useMemo } from \"react\";\r\nimport SnackbarRaw from \"@mui/material/Snackbar\";\r\nimport AlertRaw from \"@mui/material/Alert\";\r\nimport IconButtonRaw from \"@mui/material/IconButton\";\r\nimport { IconX } from \"@tabler/icons-react\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\n\r\nconst Snackbar = SnackbarRaw?.default ?? SnackbarRaw;\r\nconst Alert = AlertRaw?.default ?? AlertRaw;\r\nconst IconButton = IconButtonRaw?.default ?? IconButtonRaw;\r\n\r\nconst VARIANT_CONFIG = {\r\n success: {\r\n bg: PrimitiveColor.color_green_100,\r\n text: PrimitiveColor.color_green_700,\r\n },\r\n error: {\r\n bg: PrimitiveColor.color_red_100,\r\n text: PrimitiveColor.color_red_700,\r\n },\r\n info: {\r\n bg: PrimitiveColor.color_blue_cakrawala_100,\r\n text: PrimitiveColor.color_blue_cakrawala_700,\r\n },\r\n warning: {\r\n bg: PrimitiveColor.color_yellow_100,\r\n text: PrimitiveColor.color_yellow_700,\r\n },\r\n default: {\r\n bg: PrimitiveColor.color_neutral_200,\r\n text: PrimitiveColor.color_neutral_900,\r\n },\r\n};\r\n\r\nexport const BaseSnackbar = ({\r\n open = false,\r\n onClose,\r\n message,\r\n variant = \"info\",\r\n duration = 3000,\r\n position = { vertical: \"top\", horizontal: \"center\" },\r\n icon,\r\n sx = {},\r\n ...props\r\n}) => {\r\n const config = VARIANT_CONFIG[variant] ?? VARIANT_CONFIG.info;\r\n\r\n const renderIcon = useMemo(() => {\r\n if (!icon) return false;\r\n if (isValidElement(icon)) return icon;\r\n if (typeof icon === \"function\")\r\n return createElement(icon, { size: 20, color: config.text });\r\n return false;\r\n }, [icon, config]);\r\n\r\n return (\r\n <Snackbar\r\n open={open}\r\n autoHideDuration={duration}\r\n onClose={onClose}\r\n anchorOrigin={position}\r\n {...props}\r\n >\r\n <Alert\r\n severity={variant === \"default\" ? undefined : variant}\r\n variant=\"filled\"\r\n icon={renderIcon}\r\n action={\r\n onClose ? (\r\n <IconButton\r\n aria-label=\"close\"\r\n onClick={onClose}\r\n sx={{\r\n color: config.text,\r\n p: 0.5,\r\n }}\r\n >\r\n <IconX size={18} />\r\n </IconButton>\r\n ) : null\r\n }\r\n sx={{\r\n backgroundColor: config.bg,\r\n color: config.text,\r\n borderRadius: Radius.radius_2,\r\n boxShadow: \"0px 4px 12px rgba(0, 0, 0, 0.15)\",\r\n alignItems: \"center\",\r\n \"& .MuiAlert-icon\": {\r\n color: config.text,\r\n },\r\n \"& .MuiAlert-message\": {\r\n color: config.text,\r\n fontWeight: 500,\r\n },\r\n \"& .MuiAlert-action\": {\r\n pt: 0,\r\n },\r\n ...sx,\r\n }}\r\n >\r\n {message}\r\n </Alert>\r\n </Snackbar>\r\n );\r\n};\r\n","import MuiCheckboxRaw from \"@mui/material/Checkbox\";\r\nimport FormControlLabelRaw from \"@mui/material/FormControlLabel\";\r\nimport FormGroupRaw from \"@mui/material/FormGroup\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport { IconSquare, IconSquareCheckFilled } from \"@tabler/icons-react\";\r\nimport { useController } from \"react-hook-form\";\r\nimport { BaseTypography } from \"@/components/atoms/typography\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\n\r\nconst MuiCheckbox = MuiCheckboxRaw?.default ?? MuiCheckboxRaw;\r\nconst FormControlLabel = FormControlLabelRaw?.default ?? FormControlLabelRaw;\r\nconst FormGroup = FormGroupRaw?.default ?? FormGroupRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\n\r\nexport const BaseCheckbox = ({\r\n name = \"\",\r\n control = null,\r\n defaultValue,\r\n title,\r\n options,\r\n label,\r\n disabled = false,\r\n labelPlacement = \"end\",\r\n isHorizontal = false,\r\n sx,\r\n ...restProps\r\n}) => {\r\n // Use react-hook-form if control is provided\r\n const hookForm = control\r\n ? useController({ control, name, defaultValue: defaultValue ?? [] })\r\n : null;\r\n\r\n const field = hookForm?.field;\r\n const formState = hookForm?.formState;\r\n const hasError = !!formState?.errors?.[name];\r\n\r\n // Resolve checked value\r\n const checkedValue = field ? field.value : restProps.checked;\r\n const handleChange = field\r\n ? (newVal) => field.onChange(newVal)\r\n : restProps.onChange;\r\n\r\n const isGroup = Array.isArray(options);\r\n\r\n const handleGroupChange = (optionValue, nextChecked) => {\r\n let newChecked = checkedValue ? [...checkedValue] : [];\r\n if (nextChecked) {\r\n if (!newChecked.includes(optionValue)) newChecked.push(optionValue);\r\n } else {\r\n newChecked = newChecked.filter((v) => v !== optionValue);\r\n }\r\n handleChange?.(newChecked);\r\n };\r\n\r\n const handleSingleChange = (e) => {\r\n if (field) {\r\n field.onChange(e.target.checked);\r\n } else {\r\n restProps.onChange?.(e.target.checked, e);\r\n }\r\n };\r\n\r\n // Error message\r\n const errorMessage = formState?.errors?.[name]?.message;\r\n\r\n // Icon color based on error\r\n const iconColor = hasError\r\n ? DerivedColor.color_text_danger\r\n : DerivedColor.color_border_default;\r\n const checkedIconColor = hasError\r\n ? DerivedColor.color_text_danger\r\n : DerivedColor.color_bg_brand_primary;\r\n\r\n if (isGroup) {\r\n return (\r\n <Box>\r\n {/* TITLE */}\r\n {title && (\r\n <BaseTypography\r\n variant=\"body1_regular.default\"\r\n sx={{\r\n fontWeight: 600,\r\n color: hasError\r\n ? DerivedColor.color_text_danger\r\n : DerivedColor.color_text_default,\r\n mb: \"4px\",\r\n }}\r\n >\r\n {title}\r\n </BaseTypography>\r\n )}\r\n\r\n <FormGroup row={isHorizontal} sx={{ gap: isHorizontal ? 2 : 0 }}>\r\n {options.map((option) => (\r\n <FormControlLabel\r\n key={option.value}\r\n label={option.label}\r\n labelPlacement={labelPlacement}\r\n sx={{\r\n \"& .MuiFormControlLabel-label\": { fontSize: \"14px\" },\r\n }}\r\n control={\r\n <MuiCheckbox\r\n checked={(checkedValue || []).includes(option.value)}\r\n onChange={(e) => handleGroupChange(option.value, e.target.checked)}\r\n icon={<IconSquare size={22} color={iconColor} />}\r\n checkedIcon={<IconSquareCheckFilled size={22} color={(option.disabled ?? disabled) ? DerivedColor.color_bg_disabled : checkedIconColor} />}\r\n disabled={option.disabled ?? disabled}\r\n sx={{\r\n \":hover\": { backgroundColor: \"#C0DBF1\" },\r\n }}\r\n {...(field ? {} : restProps)}\r\n />\r\n }\r\n />\r\n ))}\r\n </FormGroup>\r\n\r\n {/* ERROR */}\r\n {errorMessage && (\r\n <BaseTypography variant=\"body1_regular.danger\" sx={{ mt: \"4px\" }}>\r\n {errorMessage}\r\n </BaseTypography>\r\n )}\r\n </Box>\r\n );\r\n }\r\n\r\n return (\r\n <Box>\r\n {/* TITLE */}\r\n {title && (\r\n <BaseTypography\r\n variant=\"body1_regular.default\"\r\n sx={{\r\n fontWeight: 600,\r\n color: hasError\r\n ? DerivedColor.color_text_danger\r\n : DerivedColor.color_text_default,\r\n mb: \"4px\",\r\n }}\r\n >\r\n {title}\r\n </BaseTypography>\r\n )}\r\n\r\n <FormControlLabel\r\n label={label}\r\n labelPlacement={labelPlacement}\r\n sx={{\r\n \"& .MuiFormControlLabel-label\": { fontSize: \"14px\" },\r\n }}\r\n control={\r\n <MuiCheckbox\r\n checked={!!checkedValue}\r\n onChange={handleSingleChange}\r\n icon={<IconSquare size={22} color={iconColor} />}\r\n checkedIcon={<IconSquareCheckFilled size={22} color={disabled ? DerivedColor.color_bg_disabled : checkedIconColor} />}\r\n disabled={disabled}\r\n sx={{\r\n \":hover\": { backgroundColor: \"#C0DBF1\" },\r\n ...sx,\r\n }}\r\n {...(field ? {} : restProps)}\r\n />\r\n }\r\n />\r\n\r\n {/* ERROR */}\r\n {errorMessage && (\r\n <BaseTypography variant=\"body1_regular.danger\" sx={{ mt: \"4px\" }}>\r\n {errorMessage}\r\n </BaseTypography>\r\n )}\r\n </Box>\r\n );\r\n};\r\n","import KeyboardArrowRightRaw from \"@mui/icons-material/KeyboardArrowRight\";\r\nimport KeyboardArrowLeftRaw from \"@mui/icons-material/KeyboardArrowLeft\";\r\nimport IconButtonRaw from \"@mui/material/IconButton\";\r\n\r\nconst KeyboardArrowRight =\r\n KeyboardArrowRightRaw?.default ?? KeyboardArrowRightRaw;\r\nconst KeyboardArrowLeft =\r\n KeyboardArrowLeftRaw?.default ?? KeyboardArrowLeftRaw;\r\nconst IconButton = IconButtonRaw?.default ?? IconButtonRaw;\r\n\r\nexport const ServerSidePaginationActions = (props) => {\r\n const { page, onPageChange, rowsPerPage, currentPageData } = props;\r\n\r\n const handleBackButtonClick = () => {\r\n onPageChange(null, page - 1);\r\n };\r\n\r\n const handleNextButtonClick = () => {\r\n onPageChange(null, page + 1);\r\n };\r\n\r\n return (\r\n <>\r\n <IconButton onClick={handleBackButtonClick} disabled={page === 0}>\r\n <KeyboardArrowLeft />\r\n </IconButton>\r\n <IconButton\r\n onClick={handleNextButtonClick}\r\n disabled={\r\n !currentPageData?.length || currentPageData?.length < rowsPerPage\r\n }\r\n >\r\n <KeyboardArrowRight />\r\n </IconButton>\r\n </>\r\n );\r\n};\r\n","import React, { useCallback, useMemo, useState } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport CheckboxRaw from \"@mui/material/Checkbox\";\r\nimport CircularProgressRaw from \"@mui/material/CircularProgress\";\r\nimport PaperRaw from \"@mui/material/Paper\";\r\nimport TableRaw from \"@mui/material/Table\";\r\nimport TableBodyRaw from \"@mui/material/TableBody\";\r\nimport TableCellRaw from \"@mui/material/TableCell\";\r\nimport TableContainerRaw from \"@mui/material/TableContainer\";\r\nimport TableHeadRaw from \"@mui/material/TableHead\";\r\nimport TablePaginationRaw from \"@mui/material/TablePagination\";\r\nimport TableRowRaw from \"@mui/material/TableRow\";\r\n\r\nimport {\r\n IconArrowsUpDown,\r\n IconArrowUp,\r\n IconArrowDown,\r\n IconSquare,\r\n IconSquareCheckFilled,\r\n IconSquareMinusFilled,\r\n} from \"@tabler/icons-react\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { ServerSidePaginationActions } from \"@/components/molecules/datatable/serverside-pagination-actions\";\r\n\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\nconst Checkbox = CheckboxRaw?.default ?? CheckboxRaw;\r\nconst CircularProgress = CircularProgressRaw?.default ?? CircularProgressRaw;\r\nconst Paper = PaperRaw?.default ?? PaperRaw;\r\nconst Table = TableRaw?.default ?? TableRaw;\r\nconst TableBody = TableBodyRaw?.default ?? TableBodyRaw;\r\nconst TableCell = TableCellRaw?.default ?? TableCellRaw;\r\nconst TableContainer = TableContainerRaw?.default ?? TableContainerRaw;\r\nconst TableHead = TableHeadRaw?.default ?? TableHeadRaw;\r\nconst TablePagination =\r\n TablePaginationRaw?.default ?? TablePaginationRaw;\r\nconst TableRow = TableRowRaw?.default ?? TableRowRaw;\r\n\r\nconst DEFAULT_COLUMN_WIDTH = 160;\r\nconst HEADER_ROW_HEIGHT = 48;\r\nconst SELECTION_COLUMN_WIDTH = 56;\r\nconst EMPTY_ARRAY = [];\r\nconst EMPTY_OBJECT = {};\r\n\r\nconst COLORS = {\r\n headerBg: DerivedColor.color_bg_brand_primary,\r\n headerText: DerivedColor.color_text_inverse,\r\n headerBorder: DerivedColor.color_border_default,\r\n headerHoverBg: DerivedColor.color_bg_brand_primary_strong,\r\n headerHoverText: DerivedColor.color_text_inverse,\r\n bodyBg: DerivedColor.color_bg_surface,\r\n bodyText: DerivedColor.color_text_default,\r\n bodyBorder: DerivedColor.color_border_default,\r\n rowHoverBg: PrimitiveColor.color_neutral_200,\r\n stickyShadow: \"rgba(19, 19, 19, 0.08)\",\r\n};\r\n\r\nconst getValueByPath = (obj, path) =>\r\n String(path)\r\n .split(\".\")\r\n .reduce((acc, key) => acc?.[key], obj);\r\n\r\nconst getLastPathSegment = (value = \"\") => String(value).trim().split(\".\").pop();\r\n\r\nconst formatHeader = (value = \"\") =>\r\n getLastPathSegment(value)\r\n .replace(/[_-]+/g, \" \")\r\n .replace(/([a-z0-9])([A-Z])/g, \"$1 $2\")\r\n .replace(/\\b\\w/g, (char) => char.toUpperCase());\r\n\r\nconst compareValue = (a, b) => {\r\n if (a == null && b == null) return 0;\r\n if (a == null) return -1;\r\n if (b == null) return 1;\r\n\r\n if (typeof a === \"number\" && typeof b === \"number\") {\r\n return a - b;\r\n }\r\n\r\n return String(a).localeCompare(String(b), \"id\", {\r\n numeric: true,\r\n sensitivity: \"base\",\r\n });\r\n};\r\n\r\nconst getColumnWidth = (column) =>\r\n Number(column.width ?? column.minWidth ?? DEFAULT_COLUMN_WIDTH);\r\n\r\nconst getStickyLeft = (widths, index) =>\r\n widths.slice(0, index).reduce((sum, width) => sum + width, 0);\r\n\r\nconst getStickyRight = (widths, index) =>\r\n widths.slice(index + 1).reduce((sum, width) => sum + width, 0);\r\n\r\nconst normalizeColumn = (column, index, sortingEnabled) => {\r\n if (typeof column === \"string\") {\r\n return {\r\n id: getLastPathSegment(column) || `column-${index}`,\r\n key: column,\r\n accessorKey: column,\r\n header: formatHeader(column),\r\n width: DEFAULT_COLUMN_WIDTH,\r\n sortable: sortingEnabled,\r\n align: \"left\",\r\n headerAlign: \"center\",\r\n };\r\n }\r\n\r\n const accessorKey = column.accessorKey ?? column.key ?? column.field ?? column.id;\r\n const id = column.id ?? getLastPathSegment(accessorKey) ?? `column-${index}`;\r\n\r\n return {\r\n width: DEFAULT_COLUMN_WIDTH,\r\n align: \"left\",\r\n ...column,\r\n id,\r\n key: accessorKey,\r\n accessorKey,\r\n header: column.header ?? column.label ?? formatHeader(accessorKey ?? id),\r\n headerAlign: column.headerAlign ?? column.align ?? \"center\",\r\n sortable: column.sortable ?? sortingEnabled,\r\n };\r\n};\r\n\r\nconst normalizeHeaderRows = (header, columns) => {\r\n if (Array.isArray(header) && header.length > 0) {\r\n return header;\r\n }\r\n\r\n return [\r\n columns.map((column) => ({\r\n id: column.id,\r\n key: column.id,\r\n label: column.header,\r\n align: column.headerAlign ?? column.align ?? \"center\",\r\n rowSpan: 1,\r\n })),\r\n ];\r\n};\r\n\r\nconst buildHeaderLayout = (headerRows) => {\r\n const occupied = [];\r\n\r\n return headerRows.map((row, rowIndex) => {\r\n occupied[rowIndex] ??= [];\r\n let pointer = 0;\r\n\r\n return row.map((cell, cellIndex) => {\r\n while (occupied[rowIndex][pointer]) pointer += 1;\r\n\r\n const colSpan = cell.colSpan ?? cell.colspan ?? 1;\r\n const rowSpan = cell.rowSpan ?? cell.rowspan ?? 1;\r\n const start = pointer;\r\n\r\n for (let r = rowIndex; r < rowIndex + rowSpan; r += 1) {\r\n occupied[r] ??= [];\r\n for (let c = start; c < start + colSpan; c += 1) {\r\n occupied[r][c] = true;\r\n }\r\n }\r\n\r\n pointer = start + colSpan;\r\n\r\n return {\r\n ...cell,\r\n id: cell.id ?? cell.key ?? `${rowIndex}-${cellIndex}`,\r\n colSpan,\r\n rowSpan,\r\n start,\r\n end: start + colSpan - 1,\r\n };\r\n });\r\n });\r\n};\r\n\r\nconst getCellValue = (row, column) => {\r\n if (typeof column.accessorFn === \"function\") return column.accessorFn(row);\r\n if (column.accessorKey) return getValueByPath(row, column.accessorKey);\r\n if (column.key) return getValueByPath(row, column.key);\r\n return row?.[column.id];\r\n};\r\n\r\nconst getHeaderCellWidth = (columns, cell) =>\r\n columns\r\n .slice(cell.start, cell.end + 1)\r\n .reduce((sum, column) => sum + getColumnWidth(column), 0);\r\n\r\nconst renderSortIcon = (sortKey, sortState) => {\r\n const idleColor = DerivedColor.color_text_inverse;\r\n const activeColor = DerivedColor.color_text_inverse;\r\n\r\n if (!sortState || sortState.key !== sortKey) {\r\n return <IconArrowsUpDown size={16} color={idleColor} />;\r\n }\r\n\r\n return sortState.direction === \"asc\" ? (\r\n <IconArrowUp size={16} color={activeColor} />\r\n ) : (\r\n <IconArrowDown size={16} color={activeColor} />\r\n );\r\n};\r\n\r\nconst getSortField = (column) =>\r\n column.sortField ?? column.accessorKey ?? column.key ?? column.id;\r\n\r\nexport const BaseDatatable = ({\r\n columns = EMPTY_ARRAY,\r\n data = EMPTY_ARRAY,\r\n header,\r\n features = EMPTY_OBJECT,\r\n layout = EMPTY_OBJECT,\r\n selection = EMPTY_OBJECT,\r\n pagination = EMPTY_OBJECT,\r\n renderRow,\r\n onRowClick,\r\n getRowId,\r\n emptyState = \"Tidak ada data\",\r\n loading = false,\r\n loadingText = \"Memuat data...\",\r\n rowHover = true,\r\n activeRowId = null,\r\n containerSx = EMPTY_OBJECT,\r\n tableSx = EMPTY_OBJECT,\r\n}) => {\r\n const featureConfig = useMemo(\r\n () => ({\r\n sorting: false,\r\n sortingMode: \"client\",\r\n defaultSort: null,\r\n sortState: undefined,\r\n resetPageOnSort: true,\r\n onSortChange: undefined,\r\n headerInteractive: undefined,\r\n ...features,\r\n }),\r\n [features],\r\n );\r\n\r\n const layoutConfig = useMemo(\r\n () => ({\r\n stickyHeader: true,\r\n stickyOffset: 0,\r\n freezeLeft: 0,\r\n freezeRight: 0,\r\n maxHeight: 600,\r\n ...layout,\r\n }),\r\n [layout],\r\n );\r\n\r\n const selectionConfig = useMemo(\r\n () => ({\r\n enabled: false,\r\n position: \"left\",\r\n selectRowOnClick: true,\r\n defaultSelectedRowIds: EMPTY_ARRAY,\r\n ...selection,\r\n }),\r\n [selection],\r\n );\r\n\r\n const paginationConfig = useMemo(\r\n () => ({\r\n enabled: false,\r\n serverSide: false,\r\n rowsPerPage: 5,\r\n rowsPerPageOptions: [5, 10, 25],\r\n labelRowsPerPage: \"Rows per page:\",\r\n ...pagination,\r\n }),\r\n [pagination],\r\n );\r\n\r\n const [internalSortState, setInternalSortState] = useState(\r\n featureConfig.defaultSort,\r\n );\r\n const [internalSelectedIds, setInternalSelectedIds] = useState(\r\n selectionConfig.defaultSelectedRowIds,\r\n );\r\n const [internalPage, setInternalPage] = useState(paginationConfig.page ?? 0);\r\n const [internalRowsPerPage, setInternalRowsPerPage] = useState(\r\n paginationConfig.rowsPerPage,\r\n );\r\n\r\n const controlledSelectedIds = selectionConfig.selectedRowIds;\r\n const onSelectionChange = selectionConfig.onChange;\r\n const isRowSelectable = selectionConfig.isRowSelectable;\r\n const selectionPosition = selectionConfig.position;\r\n const selectedIds = controlledSelectedIds ?? internalSelectedIds;\r\n const sortState = featureConfig.sortState ?? internalSortState;\r\n const currentPage = pagination.page ?? internalPage;\r\n const currentRowsPerPage = pagination.rowsPerPage ?? internalRowsPerPage;\r\n const isHeaderInteractive =\r\n typeof featureConfig.headerInteractive === \"boolean\"\r\n ? featureConfig.headerInteractive\r\n : featureConfig.sorting;\r\n\r\n const normalizedColumns = useMemo(\r\n () =>\r\n columns.map((column, index) =>\r\n normalizeColumn(column, index, featureConfig.sorting),\r\n ),\r\n [columns, featureConfig.sorting],\r\n );\r\n\r\n const selectionColumn = useMemo(\r\n () => ({\r\n id: \"__selection__\",\r\n key: \"__selection__\",\r\n header: \"\",\r\n width: SELECTION_COLUMN_WIDTH,\r\n minWidth: SELECTION_COLUMN_WIDTH,\r\n align: \"center\",\r\n headerAlign: \"center\",\r\n sortable: false,\r\n isSelection: true,\r\n sticky: selectionPosition === \"left\" ? \"left\" : \"right\",\r\n }),\r\n [selectionPosition],\r\n );\r\n\r\n const stickyLeftCount =\r\n layoutConfig.freezeLeft + (selectionConfig.enabled && selectionPosition === \"left\" ? 1 : 0);\r\n const stickyRightCount =\r\n layoutConfig.freezeRight +\r\n (selectionConfig.enabled && selectionPosition === \"right\" ? 1 : 0);\r\n\r\n const visibleColumns = useMemo(() => {\r\n if (!selectionConfig.enabled) return normalizedColumns;\r\n\r\n return selectionPosition === \"right\"\r\n ? [...normalizedColumns, selectionColumn]\r\n : [selectionColumn, ...normalizedColumns];\r\n }, [normalizedColumns, selectionColumn, selectionConfig.enabled, selectionPosition]);\r\n\r\n const columnWidths = useMemo(\r\n () => visibleColumns.map((column) => getColumnWidth(column)),\r\n [visibleColumns],\r\n );\r\n\r\n const resolveRowId = useCallback(\r\n (row, rowIndex) => getRowId?.(row, rowIndex) ?? row?.id ?? rowIndex,\r\n [getRowId],\r\n );\r\n\r\n const selectableRowIds = useMemo(() => {\r\n if (!selectionConfig.enabled) return EMPTY_ARRAY;\r\n\r\n return data.reduce((acc, row, rowIndex) => {\r\n const isSelectable = isRowSelectable ? isRowSelectable(row, rowIndex) : true;\r\n\r\n if (isSelectable) {\r\n acc.push(resolveRowId(row, rowIndex));\r\n }\r\n\r\n return acc;\r\n }, []);\r\n }, [data, isRowSelectable, resolveRowId, selectionConfig.enabled]);\r\n\r\n const allSelected =\r\n selectableRowIds.length > 0 &&\r\n selectableRowIds.every((rowId) => selectedIds.includes(rowId));\r\n\r\n const isIndeterminate =\r\n selectableRowIds.some((rowId) => selectedIds.includes(rowId)) && !allSelected;\r\n\r\n const updateSelection = useCallback(\r\n (nextSelectedIds) => {\r\n if (controlledSelectedIds === undefined) {\r\n setInternalSelectedIds(nextSelectedIds);\r\n }\r\n\r\n onSelectionChange?.(nextSelectedIds);\r\n },\r\n [controlledSelectedIds, onSelectionChange],\r\n );\r\n\r\n const toggleAllRows = useCallback(() => {\r\n updateSelection(allSelected ? [] : selectableRowIds);\r\n }, [allSelected, selectableRowIds, updateSelection]);\r\n\r\n const toggleRow = useCallback(\r\n (rowId) => {\r\n const nextSelectedIds = selectedIds.includes(rowId)\r\n ? selectedIds.filter((id) => id !== rowId)\r\n : [...selectedIds, rowId];\r\n\r\n updateSelection(nextSelectedIds);\r\n },\r\n [selectedIds, updateSelection],\r\n );\r\n\r\n const headerRows = useMemo(\r\n () => normalizeHeaderRows(header, normalizedColumns),\r\n [header, normalizedColumns],\r\n );\r\n\r\n const headerLayout = useMemo(() => buildHeaderLayout(headerRows), [headerRows]);\r\n const headerDepth = headerLayout.length;\r\n\r\n const rowsForHeader = useMemo(() => {\r\n if (!selectionConfig.enabled) return headerLayout;\r\n\r\n const selectionIndex = selectionPosition === \"right\" ? visibleColumns.length - 1 : 0;\r\n\r\n const selectionHeaderCell = {\r\n id: selectionColumn.id,\r\n key: selectionColumn.key,\r\n label: (\r\n <Checkbox\r\n checked={allSelected}\r\n indeterminate={isIndeterminate}\r\n onChange={toggleAllRows}\r\n onClick={(event) => event.stopPropagation()}\r\n icon={<IconSquare size={22} color={DerivedColor.color_text_inverse} />}\r\n checkedIcon={<IconSquareCheckFilled size={22} color={DerivedColor.color_text_inverse} />}\r\n indeterminateIcon={<IconSquareMinusFilled size={22} color={DerivedColor.color_text_inverse} />}\r\n sx={{ color: DerivedColor.color_text_inverse }}\r\n />\r\n ),\r\n align: \"center\",\r\n rowSpan: headerDepth,\r\n colSpan: 1,\r\n start: selectionIndex,\r\n end: selectionIndex,\r\n sticky: selectionPosition,\r\n width: selectionColumn.width,\r\n minWidth: selectionColumn.minWidth,\r\n isSelection: true,\r\n };\r\n\r\n return headerLayout.map((row, rowIndex) => {\r\n const shiftedRow = row.map((cell) => ({\r\n ...cell,\r\n start: selectionPosition === \"left\" ? cell.start + 1 : cell.start,\r\n end: selectionPosition === \"left\" ? cell.end + 1 : cell.end,\r\n }));\r\n\r\n if (rowIndex !== 0) return shiftedRow;\r\n\r\n return selectionPosition === \"right\"\r\n ? [...shiftedRow, selectionHeaderCell]\r\n : [selectionHeaderCell, ...shiftedRow];\r\n });\r\n }, [\r\n allSelected,\r\n headerDepth,\r\n headerLayout,\r\n isIndeterminate,\r\n selectionColumn,\r\n selectionConfig.enabled,\r\n selectionPosition,\r\n toggleAllRows,\r\n visibleColumns.length,\r\n ]);\r\n\r\n const sortedData = useMemo(() => {\r\n if (!featureConfig.sorting || !sortState?.key) return data;\r\n if (featureConfig.sortingMode === \"server\") return data;\r\n\r\n const targetColumn = normalizedColumns.find((column) => column.id === sortState.key);\r\n if (!targetColumn) return data;\r\n\r\n return [...data].sort((rowA, rowB) => {\r\n const result = compareValue(\r\n getCellValue(rowA, targetColumn),\r\n getCellValue(rowB, targetColumn),\r\n );\r\n\r\n return sortState.direction === \"asc\" ? result : result * -1;\r\n });\r\n }, [\r\n data,\r\n featureConfig.sorting,\r\n featureConfig.sortingMode,\r\n normalizedColumns,\r\n sortState,\r\n ]);\r\n\r\n const totalRowCount = paginationConfig.serverSide\r\n ? paginationConfig.count ?? data.length\r\n : sortedData.length;\r\n\r\n const displayedData = useMemo(() => {\r\n if (!paginationConfig.enabled) return sortedData;\r\n if (paginationConfig.serverSide) return sortedData;\r\n\r\n const startIndex = currentPage * currentRowsPerPage;\r\n return sortedData.slice(startIndex, startIndex + currentRowsPerPage);\r\n }, [\r\n currentPage,\r\n currentRowsPerPage,\r\n paginationConfig.enabled,\r\n paginationConfig.serverSide,\r\n sortedData,\r\n ]);\r\n\r\n const handlePaginationPageChange = useCallback(\r\n (event, nextPage) => {\r\n if (pagination.page === undefined) {\r\n setInternalPage(nextPage);\r\n }\r\n\r\n paginationConfig.onPageChange?.(event, nextPage);\r\n },\r\n [pagination.page, paginationConfig],\r\n );\r\n\r\n const handleRowsPerPageChange = useCallback(\r\n (event) => {\r\n const nextRowsPerPage = Number(event.target.value);\r\n\r\n if (pagination.rowsPerPage === undefined) {\r\n setInternalRowsPerPage(nextRowsPerPage);\r\n }\r\n\r\n if (pagination.page === undefined) {\r\n setInternalPage(0);\r\n }\r\n\r\n paginationConfig.onRowsPerPageChange?.(event, nextRowsPerPage);\r\n },\r\n [pagination.page, pagination.rowsPerPage, paginationConfig],\r\n );\r\n\r\n const handleSort = useCallback(\r\n (cell) => {\r\n if (!featureConfig.sorting) return;\r\n if ((cell.colSpan ?? 1) > 1 || (cell.rowSpan ?? 1) > 1) return;\r\n\r\n const sortKey = cell.sortKey ?? cell.key ?? cell.id;\r\n const targetColumn = normalizedColumns.find((column) => column.id === sortKey);\r\n\r\n if (!targetColumn?.sortable) return;\r\n\r\n const nextSort =\r\n sortState?.key === targetColumn.id\r\n ? {\r\n key: targetColumn.id,\r\n direction: sortState.direction === \"asc\" ? \"desc\" : \"asc\",\r\n }\r\n : {\r\n key: targetColumn.id,\r\n direction: \"asc\",\r\n };\r\n\r\n const nextPage =\r\n paginationConfig.enabled && featureConfig.resetPageOnSort ? 0 : currentPage;\r\n\r\n if (featureConfig.sortState === undefined) {\r\n setInternalSortState(nextSort);\r\n }\r\n\r\n if (paginationConfig.enabled && featureConfig.resetPageOnSort) {\r\n if (pagination.page === undefined) {\r\n setInternalPage(0);\r\n }\r\n\r\n if (currentPage !== 0) {\r\n paginationConfig.onPageChange?.(null, 0);\r\n }\r\n }\r\n\r\n featureConfig.onSortChange?.(\r\n {\r\n orderBy: getSortField(targetColumn),\r\n order: nextSort.direction,\r\n page: nextPage,\r\n rowsPerPage: currentRowsPerPage,\r\n },\r\n targetColumn,\r\n cell,\r\n );\r\n },\r\n [\r\n currentPage,\r\n currentRowsPerPage,\r\n featureConfig,\r\n normalizedColumns,\r\n pagination.page,\r\n paginationConfig,\r\n sortState,\r\n ],\r\n );\r\n\r\n const renderBodyCell = useCallback(\r\n (\r\n column,\r\n row,\r\n rowIndex,\r\n columnIndex,\r\n rowId,\r\n rowActive,\r\n cellOverrides = EMPTY_OBJECT,\r\n ) => {\r\n const resolvedColumn =\r\n column.isSelection || column.id === selectionColumn.id\r\n ? selectionColumn\r\n : visibleColumns.find((item) => item.id === column.id) ?? column;\r\n\r\n if (resolvedColumn.isSelection) {\r\n const isSelectable = isRowSelectable ? isRowSelectable(row, rowIndex) : true;\r\n\r\n return (\r\n <TableCell\r\n key={`${rowId}-${resolvedColumn.id}-${columnIndex}`}\r\n align=\"center\"\r\n rowSpan={cellOverrides.rowSpan}\r\n colSpan={cellOverrides.colSpan}\r\n sx={{\r\n minWidth: resolvedColumn.width,\r\n width: resolvedColumn.width,\r\n maxWidth: resolvedColumn.width,\r\n backgroundColor: rowActive ? COLORS.rowHoverBg : COLORS.bodyBg,\r\n borderBottom: `1px solid ${COLORS.bodyBorder}`,\r\n borderRight: `1px solid ${COLORS.bodyBorder}`,\r\n position: \"sticky\",\r\n left:\r\n selectionPosition === \"left\"\r\n ? getStickyLeft(columnWidths, columnIndex)\r\n : \"auto\",\r\n right:\r\n selectionPosition === \"right\"\r\n ? getStickyRight(columnWidths, columnIndex)\r\n : \"auto\",\r\n zIndex: 3,\r\n boxShadow:\r\n selectionPosition === \"left\" &&\r\n columnIndex === stickyLeftCount - 1\r\n ? `2px 0 6px ${COLORS.stickyShadow}`\r\n : selectionPosition === \"right\" &&\r\n columnIndex === visibleColumns.length - stickyRightCount\r\n ? `-2px 0 6px ${COLORS.stickyShadow}`\r\n : \"none\",\r\n ...cellOverrides.sx,\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n width: \"100%\",\r\n height: \"100%\",\r\n }}\r\n onClick={(event) => event.stopPropagation()}\r\n >\r\n <Checkbox\r\n checked={selectedIds.includes(rowId)}\r\n disabled={!isSelectable}\r\n onChange={() => toggleRow(rowId)}\r\n onClick={(event) => event.stopPropagation()}\r\n icon={<IconSquare size={22} color={DerivedColor.color_border_default} />}\r\n checkedIcon={<IconSquareCheckFilled size={22} color={DerivedColor.color_bg_brand_primary} />}\r\n />\r\n </Box>\r\n </TableCell>\r\n );\r\n }\r\n\r\n const value = getCellValue(row, resolvedColumn);\r\n const shouldStickLeft =\r\n resolvedColumn.sticky === \"left\" || columnIndex < stickyLeftCount;\r\n const shouldStickRight =\r\n resolvedColumn.sticky === \"right\" ||\r\n columnIndex >= visibleColumns.length - stickyRightCount;\r\n\r\n return (\r\n <TableCell\r\n key={`${rowId}-${resolvedColumn.id}-${columnIndex}`}\r\n align={resolvedColumn.align ?? \"left\"}\r\n rowSpan={cellOverrides.rowSpan}\r\n colSpan={cellOverrides.colSpan}\r\n sx={{\r\n minWidth: getColumnWidth(resolvedColumn),\r\n width: getColumnWidth(resolvedColumn),\r\n maxWidth: getColumnWidth(resolvedColumn),\r\n backgroundColor:\r\n resolvedColumn.cellBg ?? (rowActive ? COLORS.rowHoverBg : COLORS.bodyBg),\r\n color: resolvedColumn.cellText ?? COLORS.bodyText,\r\n borderBottom: `1px solid ${COLORS.bodyBorder}`,\r\n borderRight: `1px solid ${COLORS.bodyBorder}`,\r\n whiteSpace: resolvedColumn.noWrap ? \"nowrap\" : \"normal\",\r\n boxSizing: \"border-box\",\r\n position: shouldStickLeft || shouldStickRight ? \"sticky\" : \"static\",\r\n left: shouldStickLeft ? getStickyLeft(columnWidths, columnIndex) : \"auto\",\r\n right: shouldStickRight ? getStickyRight(columnWidths, columnIndex) : \"auto\",\r\n zIndex: shouldStickLeft || shouldStickRight ? 2 : 1,\r\n boxShadow:\r\n shouldStickLeft && columnIndex === stickyLeftCount - 1\r\n ? `2px 0 6px ${COLORS.stickyShadow}`\r\n : shouldStickRight &&\r\n columnIndex === visibleColumns.length - stickyRightCount\r\n ? `-2px 0 6px ${COLORS.stickyShadow}`\r\n : \"none\",\r\n ...resolvedColumn.cellSx,\r\n ...cellOverrides.sx,\r\n }}\r\n >\r\n {cellOverrides.content ??\r\n (typeof resolvedColumn.renderCell === \"function\"\r\n ? resolvedColumn.renderCell({\r\n value,\r\n row,\r\n rowIndex,\r\n column: resolvedColumn,\r\n columnIndex,\r\n checked: selectedIds.includes(rowId),\r\n })\r\n : (value ?? \"-\"))}\r\n </TableCell>\r\n );\r\n },\r\n [\r\n columnWidths,\r\n isRowSelectable,\r\n selectedIds,\r\n selectionColumn,\r\n selectionPosition,\r\n stickyLeftCount,\r\n stickyRightCount,\r\n toggleRow,\r\n visibleColumns,\r\n ],\r\n );\r\n\r\n return (\r\n <Paper\r\n sx={{\r\n width: \"100%\",\r\n border: `1px solid ${COLORS.bodyBorder}`,\r\n borderRadius: 2,\r\n boxShadow: \"none\",\r\n }}\r\n >\r\n <TableContainer\r\n sx={{\r\n width: \"100%\",\r\n maxHeight: layoutConfig.maxHeight,\r\n overflow: \"auto\",\r\n ...containerSx,\r\n }}\r\n >\r\n <Table\r\n stickyHeader={false}\r\n sx={{\r\n width: \"100%\",\r\n borderCollapse: \"separate\",\r\n borderSpacing: 0,\r\n tableLayout: \"fixed\",\r\n minWidth: \"max-content\",\r\n ...tableSx,\r\n }}\r\n >\r\n <TableHead>\r\n {rowsForHeader.map((row, rowIndex) => (\r\n <TableRow key={`header-${rowIndex}`}>\r\n {row.map((cell) => {\r\n const sortKey = cell.sortKey ?? cell.key ?? cell.id;\r\n const targetColumn = normalizedColumns.find((column) => column.id === sortKey);\r\n const isSortable =\r\n featureConfig.sorting &&\r\n (cell.colSpan ?? 1) === 1 &&\r\n (cell.rowSpan ?? 1) === 1 &&\r\n targetColumn?.sortable;\r\n const shouldStickLeft =\r\n cell.sticky === \"left\" || cell.end < stickyLeftCount;\r\n const shouldStickRight =\r\n cell.sticky === \"right\" ||\r\n cell.start >= visibleColumns.length - stickyRightCount;\r\n const headerCellWidth = getHeaderCellWidth(visibleColumns, cell);\r\n\r\n return (\r\n <TableCell\r\n key={`${cell.id}-${rowIndex}-${cell.start}`}\r\n align={cell.align ?? \"center\"}\r\n rowSpan={cell.rowSpan}\r\n colSpan={cell.colSpan}\r\n onClick={() => {\r\n if (cell.isSelection) return;\r\n handleSort(cell);\r\n }}\r\n sx={{\r\n minWidth: cell.minWidth ?? headerCellWidth,\r\n width: cell.width ?? headerCellWidth,\r\n maxWidth: cell.width ?? headerCellWidth,\r\n height: HEADER_ROW_HEIGHT * (cell.rowSpan ?? 1),\r\n boxSizing: \"border-box\",\r\n backgroundColor: COLORS.headerBg,\r\n color: COLORS.headerText,\r\n fontWeight: 600,\r\n borderBottom: `1px solid ${COLORS.headerBorder}`,\r\n borderRight: `1px solid ${COLORS.headerBorder}`,\r\n position:\r\n layoutConfig.stickyHeader || shouldStickLeft || shouldStickRight\r\n ? \"sticky\"\r\n : \"static\",\r\n top: layoutConfig.stickyHeader\r\n ? layoutConfig.stickyOffset + rowIndex * HEADER_ROW_HEIGHT\r\n : \"auto\",\r\n left: shouldStickLeft ? getStickyLeft(columnWidths, cell.start) : \"auto\",\r\n right: shouldStickRight ? getStickyRight(columnWidths, cell.end) : \"auto\",\r\n zIndex:\r\n layoutConfig.stickyHeader && (shouldStickLeft || shouldStickRight)\r\n ? 40 - rowIndex\r\n : layoutConfig.stickyHeader\r\n ? 20 - rowIndex\r\n : shouldStickLeft || shouldStickRight\r\n ? 4\r\n : 1,\r\n cursor: isHeaderInteractive && isSortable ? \"pointer\" : \"default\",\r\n boxShadow:\r\n shouldStickLeft && cell.end === stickyLeftCount - 1\r\n ? `2px 0 6px ${COLORS.stickyShadow}`\r\n : shouldStickRight &&\r\n cell.start === visibleColumns.length - stickyRightCount\r\n ? `-2px 0 6px ${COLORS.stickyShadow}`\r\n : \"none\",\r\n // Border radius for first row corners\r\n ...(rowIndex === 0 && cell.start === 0 && { borderTopLeftRadius: 8 }),\r\n ...(rowIndex === 0 && cell.end === visibleColumns.length - 1 && { borderTopRightRadius: 8 }),\r\n \"&:hover\":\r\n isHeaderInteractive && isSortable\r\n ? {\r\n backgroundColor: COLORS.headerHoverBg,\r\n color: COLORS.headerHoverText,\r\n }\r\n : undefined,\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent:\r\n cell.align === \"left\"\r\n ? \"flex-start\"\r\n : cell.align === \"right\"\r\n ? \"flex-end\"\r\n : \"center\",\r\n gap: \"6px\",\r\n }}\r\n >\r\n {cell.label}\r\n {isSortable && renderSortIcon(sortKey, sortState)}\r\n </Box>\r\n </TableCell>\r\n );\r\n })}\r\n </TableRow>\r\n ))}\r\n </TableHead>\r\n\r\n <TableBody>\r\n {loading ? (\r\n <TableRow>\r\n <TableCell align=\"center\" colSpan={visibleColumns.length}>\r\n <Box\r\n sx={{\r\n minHeight: 120,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n gap: 1.5,\r\n color: COLORS.bodyText,\r\n }}\r\n >\r\n <CircularProgress size={20} />\r\n <span>{loadingText}</span>\r\n </Box>\r\n </TableCell>\r\n </TableRow>\r\n ) : displayedData.length === 0 ? (\r\n <TableRow>\r\n <TableCell align=\"center\" colSpan={visibleColumns.length}>\r\n {emptyState}\r\n </TableCell>\r\n </TableRow>\r\n ) : (\r\n displayedData.map((row, rowIndex) => {\r\n const rowId = resolveRowId(row, rowIndex);\r\n const rowActive = rowId === activeRowId;\r\n\r\n if (typeof renderRow === \"function\") {\r\n return renderRow({\r\n row,\r\n rowIndex,\r\n rowId,\r\n rowActive,\r\n columns: visibleColumns,\r\n dataColumns: normalizedColumns,\r\n selectedRowIds: selectedIds,\r\n renderCell: renderBodyCell,\r\n });\r\n }\r\n\r\n return (\r\n <TableRow\r\n key={rowId}\r\n hover={rowHover}\r\n onClick={(event) => {\r\n // Skip selection if click originated from interactive element (button, a, input, etc.)\r\n const target = event.target;\r\n const interactive = target.closest(\"button, a, input, [role='button'], .MuiCheckbox-root, .MuiIconButton-root\");\r\n if (interactive) return;\r\n\r\n if (selectionConfig.enabled && selectionConfig.selectRowOnClick) {\r\n const isSelectable = selectionConfig.isRowSelectable\r\n ? selectionConfig.isRowSelectable(row, rowIndex)\r\n : true;\r\n\r\n if (isSelectable) {\r\n toggleRow(rowId);\r\n }\r\n }\r\n\r\n onRowClick?.(row, rowIndex);\r\n }}\r\n sx={{\r\n cursor:\r\n onRowClick ||\r\n (selectionConfig.enabled && selectionConfig.selectRowOnClick)\r\n ? \"pointer\"\r\n : \"default\",\r\n \"&:hover td\": rowHover\r\n ? {\r\n backgroundColor: `${COLORS.rowHoverBg} !important`,\r\n }\r\n : undefined,\r\n }}\r\n >\r\n {visibleColumns.map((column, columnIndex) =>\r\n renderBodyCell(\r\n column,\r\n row,\r\n rowIndex,\r\n columnIndex,\r\n rowId,\r\n rowActive,\r\n ),\r\n )}\r\n </TableRow>\r\n );\r\n })\r\n )}\r\n </TableBody>\r\n </Table>\r\n </TableContainer>\r\n {paginationConfig.enabled && (\r\n <TablePagination\r\n component=\"div\"\r\n count={totalRowCount}\r\n page={currentPage}\r\n rowsPerPage={currentRowsPerPage}\r\n onPageChange={handlePaginationPageChange}\r\n onRowsPerPageChange={handleRowsPerPageChange}\r\n rowsPerPageOptions={paginationConfig.rowsPerPageOptions}\r\n labelRowsPerPage={paginationConfig.labelRowsPerPage}\r\n ActionsComponent={\r\n paginationConfig.serverSide\r\n ? (actionProps) => (\r\n <ServerSidePaginationActions\r\n {...actionProps}\r\n currentPageData={displayedData}\r\n />\r\n )\r\n : undefined\r\n }\r\n />\r\n )}\r\n </Paper>\r\n );\r\n};\r\n\r\nBaseDatatable.propTypes = {\r\n columns: PropTypes.array,\r\n data: PropTypes.array,\r\n header: PropTypes.array,\r\n features: PropTypes.object,\r\n layout: PropTypes.object,\r\n pagination: PropTypes.object,\r\n selection: PropTypes.object,\r\n renderRow: PropTypes.func,\r\n onRowClick: PropTypes.func,\r\n getRowId: PropTypes.func,\r\n emptyState: PropTypes.node,\r\n loading: PropTypes.bool,\r\n loadingText: PropTypes.node,\r\n rowHover: PropTypes.bool,\r\n activeRowId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n containerSx: PropTypes.object,\r\n tableSx: PropTypes.object,\r\n};\r\n\r\nexport default React.memo(BaseDatatable);\r\n","\"use client\";\r\nimport { useState, useRef, useMemo, useEffect } from \"react\";\r\nimport { useController } from \"react-hook-form\";\r\nimport dayjs from \"dayjs\";\r\nimport TextFieldRaw from \"@mui/material/TextField\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport PopoverRaw from \"@mui/material/Popover\";\r\nimport InputAdornmentRaw from \"@mui/material/InputAdornment\";\r\nimport IconButtonRaw from \"@mui/material/IconButton\";\r\nimport TypographyRaw from \"@mui/material/Typography\";\r\nimport { DatePicker as DatePickerRaw } from \"@mui/x-date-pickers/DatePicker\";\r\nimport { DateTimePicker as DateTimePickerRaw } from \"@mui/x-date-pickers/DateTimePicker\";\r\nimport { TimePicker as TimePickerRaw } from \"@mui/x-date-pickers/TimePicker\";\r\nimport { DateRange } from \"react-date-range\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport { IconCalendarWeekFilled, IconAlertCircleFilled } from \"@tabler/icons-react\";\r\nimport { id } from \"date-fns/locale\";\r\nimport \"react-date-range/dist/styles.css\";\r\nimport \"react-date-range/dist/theme/default.css\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\n\r\nconst TextField = TextFieldRaw?.default ?? TextFieldRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\nconst Popover = PopoverRaw?.default ?? PopoverRaw;\r\nconst InputAdornment = InputAdornmentRaw?.default ?? InputAdornmentRaw;\r\nconst IconButton = IconButtonRaw?.default ?? IconButtonRaw;\r\nconst Typography = TypographyRaw?.default ?? TypographyRaw;\r\nconst DatePicker = DatePickerRaw?.default ?? DatePickerRaw;\r\nconst DateTimePicker = DateTimePickerRaw?.default ?? DateTimePickerRaw;\r\nconst TimePicker = TimePickerRaw?.default ?? TimePickerRaw;\r\n\r\nexport const BaseDatePicker = ({\r\n type = \"single\",\r\n name,\r\n control,\r\n defaultValue,\r\n title,\r\n subtitle,\r\n placeholder,\r\n minDate,\r\n maxDate,\r\n isDisabled = false,\r\n clearable = false,\r\n editableDateInputs = false,\r\n format = \"DD/MM/YYYY\",\r\n openBy = \"field\",\r\n sx = {},\r\n onChange: onChangeCustom = () => {},\r\n ...props\r\n}) => {\r\n const { field, formState } = useController({\r\n name,\r\n control,\r\n defaultValue,\r\n });\r\n\r\n const errorMessage = formState.errors?.[name]?.message?.toString();\r\n const [open, setOpen] = useState(false);\r\n const inputRef = useRef(null);\r\n\r\n /* ================= RANGE ================= */\r\n const [rangeValue, setRangeValue] = useState(\r\n field.value ?? { startDate: null, endDate: null },\r\n );\r\n\r\n useEffect(() => {\r\n if (type === \"range\" && field.value) {\r\n setRangeValue(field.value);\r\n }\r\n }, [field.value, type]);\r\n\r\n const handleClear = (e) => {\r\n e?.stopPropagation();\r\n\r\n if (type === \"range\") {\r\n const empty = { startDate: null, endDate: null };\r\n setRangeValue(empty);\r\n field.onChange(empty);\r\n onChangeCustom(empty);\r\n } else {\r\n field.onChange(null);\r\n onChangeCustom(null);\r\n }\r\n };\r\n\r\n /* ================= PICKER CONFIG ================= */\r\n const pickerConfig = useMemo(() => {\r\n switch (type) {\r\n case \"day\":\r\n return {\r\n views: [\"day\"],\r\n openTo: \"day\",\r\n inputFormat: \"DD\",\r\n };\r\n\r\n case \"month\":\r\n return {\r\n views: [\"month\"],\r\n openTo: \"month\",\r\n inputFormat: \"MMMM\",\r\n };\r\n\r\n case \"year\":\r\n return {\r\n views: [\"year\"],\r\n openTo: \"year\",\r\n inputFormat: \"YYYY\",\r\n };\r\n\r\n case \"datetime\":\r\n return {\r\n component: DateTimePicker,\r\n views: [\"year\", \"month\", \"day\", \"hours\", \"minutes\"],\r\n openTo: \"day\",\r\n inputFormat: \"DD/MM/YYYY HH:mm\",\r\n };\r\n\r\n case \"time\":\r\n return {\r\n component: TimePicker,\r\n views: [\"hours\", \"minutes\", \"seconds\"],\r\n openTo: \"hours\",\r\n inputFormat: \"HH:mm:ss\",\r\n };\r\n\r\n default:\r\n return {\r\n views: [\"year\", \"month\", \"day\"],\r\n openTo: \"day\",\r\n inputFormat: format,\r\n };\r\n }\r\n }, [type, format]);\r\n\r\n /* ================= LABEL SECTION ================= */\r\n const LabelSection = () => {\r\n if (!title && !subtitle) return null;\r\n return (\r\n <Box sx={{ display: \"flex\", gap: SpacingToken.spacing2, mb: \"4px\" }}>\r\n {title && (\r\n <Typography variant=\"body2\" sx={{ fontWeight: 600, color: !!formState.errors?.[name] ? DerivedColor.color_text_danger : DerivedColor.color_text_default }}>\r\n {title}\r\n </Typography>\r\n )}\r\n {subtitle && (\r\n <Typography variant=\"body2\" sx={{ color: DerivedColor.color_text_subtle }}>\r\n {subtitle}\r\n </Typography>\r\n )}\r\n </Box>\r\n );\r\n };\r\n\r\n /* ================= RANGE RENDER ================= */\r\n if (type === \"range\") {\r\n return (\r\n <Box sx={sx}>\r\n <LabelSection />\r\n\r\n <TextField\r\n inputRef={inputRef}\r\n fullWidth\r\n size=\"small\"\r\n placeholder={placeholder || \"DD/MM/YYYY - DD/MM/YYYY\"}\r\n error={!!errorMessage}\r\n helperText={errorMessage}\r\n value={\r\n rangeValue.startDate && rangeValue.endDate\r\n ? `${dayjs(rangeValue.startDate).format(format)} - ${dayjs(\r\n rangeValue.endDate,\r\n ).format(format)}`\r\n : \"\"\r\n }\r\n onClick={() => !isDisabled && (openBy === \"field\" || openBy === \"both\") && setOpen(true)}\r\n disabled={isDisabled}\r\n sx={{\r\n \"& .MuiOutlinedInput-root\": {\r\n borderRadius: Radius.radius_2,\r\n fontSize: 14,\r\n backgroundColor: isDisabled\r\n ? PrimitiveColor.color_neutral_200\r\n : DerivedColor.color_bg_surface,\r\n borderColor: isDisabled\r\n ? PrimitiveColor.color_neutral_200\r\n : DerivedColor.color_border_default,\r\n cursor: (openBy === \"field\" || openBy === \"both\") ? \"pointer\" : \"default\",\r\n\r\n \"& fieldset\": {\r\n borderColor: errorMessage\r\n ? DerivedColor.color_border_danger\r\n : DerivedColor.color_border_default,\r\n },\r\n\r\n \"&:hover fieldset\": {\r\n borderColor: errorMessage\r\n ? DerivedColor.color_border_danger\r\n : DerivedColor.color_border_brand_primary,\r\n },\r\n\r\n \"&.Mui-focused fieldset\": {\r\n borderColor: errorMessage\r\n ? DerivedColor.color_border_danger\r\n : DerivedColor.color_border_brand_primary,\r\n borderWidth: 2,\r\n },\r\n },\r\n \"& .MuiInputBase-input\": {\r\n fontSize: 14,\r\n \"&::placeholder\": {\r\n fontSize: 14,\r\n },\r\n },\r\n \"& .MuiFormHelperText-root\": {\r\n marginLeft: 0,\r\n fontSize: 14,\r\n letterSpacing: 0,\r\n },\r\n }}\r\n InputProps={{\r\n readOnly: true,\r\n endAdornment: (\r\n <InputAdornment position=\"end\">\r\n {!!errorMessage && (\r\n <IconAlertCircleFilled size={18} color={PrimitiveColor.color_red_500} />\r\n )}\r\n <IconButton\r\n size=\"small\"\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n if (!isDisabled && (openBy === \"icon\" || openBy === \"both\")) setOpen(true);\r\n }}\r\n disabled={isDisabled}\r\n sx={{ p: \"4px\" }}\r\n >\r\n <IconCalendarWeekFilled size={20} color={DerivedColor.color_icon_brand_primary} />\r\n </IconButton>\r\n </InputAdornment>\r\n ),\r\n }}\r\n />\r\n\r\n <Popover\r\n open={open}\r\n anchorEl={inputRef.current}\r\n onClose={() => setOpen(false)}\r\n >\r\n <DateRange\r\n locale={id}\r\n editableDateInputs={editableDateInputs}\r\n ranges={[\r\n {\r\n ...rangeValue,\r\n key: \"selection\",\r\n },\r\n ]}\r\n onChange={(item) => {\r\n setRangeValue(item.selection);\r\n field.onChange(item.selection);\r\n onChangeCustom(item.selection);\r\n }}\r\n minDate={minDate}\r\n maxDate={maxDate}\r\n {...props}\r\n />\r\n </Popover>\r\n </Box>\r\n );\r\n }\r\n\r\n /* ================= NORMAL PICKERS ================= */\r\n const PickerComponent = pickerConfig.component ?? DatePicker;\r\n\r\n return (\r\n <Box sx={sx}>\r\n <LabelSection />\r\n\r\n <PickerComponent\r\n {...field}\r\n value={field.value ?? null}\r\n open={open}\r\n onOpen={() => {}}\r\n onClose={() => setOpen(false)}\r\n views={pickerConfig.views}\r\n openTo={pickerConfig.openTo}\r\n inputFormat={pickerConfig.inputFormat}\r\n minDate={minDate ? dayjs(minDate) : undefined}\r\n maxDate={maxDate ? dayjs(maxDate) : undefined}\r\n disabled={isDisabled}\r\n disableOpenPicker={openBy === \"field\"}\r\n components={{\r\n OpenPickerIcon: () => (\r\n <IconButton\r\n size=\"small\"\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n if (!isDisabled && (openBy === \"icon\" || openBy === \"both\")) setOpen(true);\r\n }}\r\n disabled={isDisabled}\r\n sx={{ p: 0 }}\r\n >\r\n <IconCalendarWeekFilled size={20} color={DerivedColor.color_icon_brand_primary} />\r\n </IconButton>\r\n ),\r\n }}\r\n onChange={(newValue) => {\r\n field.onChange(newValue);\r\n onChangeCustom(newValue);\r\n }}\r\n renderInput={(params) => (\r\n <TextField\r\n {...params}\r\n size=\"small\"\r\n fullWidth\r\n placeholder={placeholder}\r\n error={!!errorMessage}\r\n helperText={errorMessage}\r\n onClick={() => {\r\n if (!isDisabled && (openBy === \"field\" || openBy === \"both\")) setOpen(true);\r\n }}\r\n sx={{\r\n \"& .MuiOutlinedInput-root\": {\r\n borderRadius: Radius.radius_2,\r\n fontSize: 14,\r\n backgroundColor: isDisabled\r\n ? PrimitiveColor.color_neutral_200\r\n : DerivedColor.color_bg_surface,\r\n cursor: (openBy === \"field\" || openBy === \"both\") ? \"pointer\" : \"default\",\r\n\r\n \"& fieldset\": {\r\n borderColor: errorMessage\r\n ? DerivedColor.color_border_danger\r\n : DerivedColor.color_border_default,\r\n },\r\n\r\n \"&:hover fieldset\": {\r\n borderColor: errorMessage\r\n ? DerivedColor.color_border_danger\r\n : DerivedColor.color_border_brand_primary,\r\n },\r\n\r\n \"&.Mui-focused fieldset\": {\r\n borderColor: errorMessage\r\n ? DerivedColor.color_border_danger\r\n : DerivedColor.color_border_brand_primary,\r\n borderWidth: 2,\r\n },\r\n },\r\n\r\n \"& .MuiInputBase-input\": {\r\n padding: `${SpacingToken.spacing2} ${SpacingToken.spacing3}`,\r\n fontSize: 14,\r\n \"&::placeholder\": {\r\n fontSize: 14,\r\n },\r\n },\r\n\r\n \"& .MuiFormHelperText-root\": {\r\n marginLeft: 0,\r\n fontSize: 14,\r\n letterSpacing: 0,\r\n },\r\n }}\r\n InputProps={{\r\n ...params.InputProps,\r\n endAdornment: (\r\n <>\r\n {!!errorMessage && (\r\n <InputAdornment position=\"end\">\r\n <IconAlertCircleFilled size={18} color={DerivedColor.color_icon_danger} />\r\n </InputAdornment>\r\n )}\r\n {clearable && field.value && (\r\n <InputAdornment position=\"end\">\r\n <IconButton\r\n size=\"small\"\r\n onClick={handleClear}\r\n sx={{ color: DerivedColor.color_icon_subtle }}\r\n >\r\n <CloseIcon fontSize=\"small\" />\r\n </IconButton>\r\n </InputAdornment>\r\n )}\r\n {params.InputProps?.endAdornment}\r\n </>\r\n ),\r\n }}\r\n />\r\n )}\r\n />\r\n </Box>\r\n );\r\n};\r\n","\"use client\";\r\nimport Select, { components } from \"react-select\";\r\nimport AsyncSelect from \"react-select/async\";\r\nimport { useController } from \"react-hook-form\";\r\nimport { ErrorMessage } from \"@hookform/error-message\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport ChipRaw from \"@mui/material/Chip\";\r\nimport TypographyRaw from \"@mui/material/Typography\";\r\n\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\nimport { BaseCheckbox } from \"@/components/molecules/checkbox/checkbox\";\r\n\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\nconst Chip = ChipRaw?.default ?? ChipRaw;\r\nconst Typography = TypographyRaw?.default ?? TypographyRaw;\r\n\r\n/* ================= CHECKBOX OPTION ================= */\r\nconst CheckboxOption = (props) => {\r\n const { isSelected, label, selectOption, data } = props;\r\n\r\n const handleChange = () => {\r\n selectOption(data);\r\n };\r\n\r\n return (\r\n <components.Option {...props}>\r\n <BaseCheckbox\r\n checked={isSelected}\r\n onChange={handleChange}\r\n label={label}\r\n disabled={data?.disabled}\r\n />\r\n </components.Option>\r\n );\r\n};\r\n\r\nexport const BaseDropdown = ({\r\n name = \"\",\r\n control,\r\n options = [],\r\n loadOptions,\r\n isMulti = false,\r\n isSearchable = true,\r\n showChip = false,\r\n showSelectAll = false,\r\n title,\r\n subtitle,\r\n defaultValue,\r\n isDisabled,\r\n isClearable = true,\r\n preventOverflow = false,\r\n optionColors = [\r\n PrimitiveColor.color_blue_cakrawala_100,\r\n PrimitiveColor.color_yellow_100,\r\n PrimitiveColor.color_green_100,\r\n PrimitiveColor.color_red_100,\r\n PrimitiveColor.color_blue_mentari_100,\r\n ],\r\n variant = \"select\",\r\n sx = {},\r\n ...props\r\n}) => {\r\n const { field, formState } = useController({\r\n name,\r\n control,\r\n defaultValue:\r\n defaultValue ?? (variant === \"checkbox\" || isMulti ? [] : null),\r\n });\r\n\r\n const SelectComponent = loadOptions ? AsyncSelect : Select;\r\n const hasError = !!formState.errors?.[name];\r\n\r\n const selectedValues = Array.isArray(field.value)\r\n ? field.value\r\n : field.value\r\n ? [field.value]\r\n : [];\r\n\r\n const isCheckboxMode = variant === \"checkbox\";\r\n\r\n /* ================= SELECT ALL ================= */\r\n const selectAllChecked =\r\n showSelectAll &&\r\n selectedValues.length === options.length &&\r\n options.length > 0;\r\n\r\n const selectAllIndeterminate =\r\n showSelectAll &&\r\n selectedValues.length > 0 &&\r\n selectedValues.length < options.length;\r\n\r\n const handleSelectAll = (checked) => {\r\n field.onChange(checked ? options : []);\r\n };\r\n\r\n /* ================= CHANGE ================= */\r\n const handleChange = (val) => {\r\n field.onChange(val);\r\n props.onChange?.(val);\r\n };\r\n\r\n /* ================= STYLES ================= */\r\n const customStyles = {\r\n control: (base, state) => ({\r\n ...base,\r\n borderRadius: Radius.radius_2,\r\n fontSize: 14,\r\n backgroundColor: isDisabled\r\n ? PrimitiveColor.color_neutral_200\r\n : PrimitiveColor.color_neutral_50,\r\n border: hasError\r\n ? `1px solid ${DerivedColor.color_border_danger}`\r\n : state.isFocused\r\n ? `2px solid ${DerivedColor.color_border_brand_primary}`\r\n : `1px solid ${DerivedColor.color_border_default}`,\r\n boxShadow: \"none\",\r\n \"&:hover\": {\r\n borderColor: hasError\r\n ? DerivedColor.color_border_danger\r\n : DerivedColor.color_border_brand_primary,\r\n },\r\n ...(preventOverflow && { maxHeight: 120, overflowY: \"auto\" }),\r\n }),\r\n\r\n option: (base, state) => ({\r\n ...base,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n fontSize: 14,\r\n\r\n backgroundColor: isCheckboxMode\r\n ? state.isFocused\r\n ? PrimitiveColor.color_blue_cakrawala_100\r\n : \"transparent\"\r\n : state.isSelected\r\n ? PrimitiveColor.color_blue_cakrawala_500\r\n : state.isFocused\r\n ? PrimitiveColor.color_blue_cakrawala_100\r\n : \"transparent\",\r\n\r\n color: isCheckboxMode\r\n ? PrimitiveColor.color_neutral_900\r\n : state.isSelected\r\n ? PrimitiveColor.color_neutral_50\r\n : PrimitiveColor.color_neutral_900,\r\n\r\n \":active\": {\r\n backgroundColor: isCheckboxMode\r\n ? PrimitiveColor.color_blue_cakrawala_100\r\n : PrimitiveColor.color_blue_cakrawala_500,\r\n color: isCheckboxMode\r\n ? PrimitiveColor.color_neutral_900\r\n : PrimitiveColor.color_neutral_50,\r\n },\r\n }),\r\n\r\n multiValue: (base, { index }) => ({\r\n ...base,\r\n borderRadius: Radius.radius_2,\r\n backgroundColor: optionColors[index % optionColors.length],\r\n }),\r\n };\r\n\r\n return (\r\n <Box\r\n sx={{\r\n width: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: SpacingToken.spacing2,\r\n ...sx,\r\n }}\r\n >\r\n {(title || subtitle || showSelectAll) && (\r\n <Box sx={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: SpacingToken.spacing2 }}>\r\n {title && (\r\n <Typography variant=\"body2\" sx={{ fontWeight: 600, fontSize: 14, color: hasError ? DerivedColor.color_text_danger : DerivedColor.color_text_default }}>\r\n {title}\r\n </Typography>\r\n )}\r\n {subtitle && (\r\n <Typography variant=\"body2\" sx={{ fontSize: 14, color: DerivedColor.color_text_subtle }}>\r\n {subtitle}\r\n </Typography>\r\n )}\r\n </Box>\r\n\r\n {showSelectAll && (\r\n <BaseCheckbox\r\n checked={selectAllChecked}\r\n onChange={handleSelectAll}\r\n label=\"Select All\"\r\n indeterminate={selectAllIndeterminate}\r\n />\r\n )}\r\n </Box>\r\n )}\r\n\r\n <SelectComponent\r\n {...props}\r\n name={field.name}\r\n inputRef={field.ref}\r\n onBlur={field.onBlur}\r\n isMulti={isCheckboxMode ? true : isMulti}\r\n isSearchable={isSearchable}\r\n isDisabled={isDisabled}\r\n isClearable={isClearable}\r\n styles={customStyles}\r\n options={options}\r\n loadOptions={loadOptions}\r\n value={field.value}\r\n onChange={handleChange}\r\n closeMenuOnSelect={isCheckboxMode ? false : true}\r\n hideSelectedOptions={isCheckboxMode ? false : isMulti ? true : false}\r\n components={\r\n isCheckboxMode\r\n ? {\r\n Option: CheckboxOption,\r\n IndicatorSeparator: null,\r\n }\r\n : {\r\n IndicatorSeparator: null,\r\n }\r\n }\r\n />\r\n\r\n {showChip && isMulti && !isCheckboxMode && (\r\n <Box sx={{ display: \"flex\", flexWrap: \"wrap\", gap: 1, mt: 1 }}>\r\n {selectedValues.map((option) => (\r\n <Chip\r\n key={option.value}\r\n label={option.label}\r\n size=\"small\"\r\n onDelete={() =>\r\n field.onChange(\r\n selectedValues.filter((v) => v.value !== option.value),\r\n )\r\n }\r\n />\r\n ))}\r\n </Box>\r\n )}\r\n\r\n <ErrorMessage\r\n errors={formState.errors}\r\n name={name}\r\n render={({ message }) => (\r\n <Typography\r\n variant=\"caption\"\r\n sx={{ color: DerivedColor.color_text_danger, fontSize: 14 }}\r\n >\r\n {message}\r\n </Typography>\r\n )}\r\n />\r\n </Box>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport { useEffect, useState } from \"react\";\r\nimport Dropzone from \"react-dropzone\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\n\r\nimport { BaseButton } from \"@/components/atoms/buttons/button\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { VariantStyles } from \"@/components/atoms/typography/typography\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\n\r\nimport { IconUpload, IconXboxXFilled, IconAlertTriangle, IconTrash } from \"@tabler/icons-react\";\r\nimport { IconFileJPG } from \"@/components/legacy/atoms/icons/fileJPG\";\r\nimport { IconFilePDF } from \"@/components/legacy/atoms/icons/filePDF\";\r\nimport { IconFileCSV } from \"@/components/legacy/atoms/icons/fileCSV\";\r\n\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\n\r\nexport const BaseDropzone = ({\r\n autoUpload = false,\r\n settings = {\r\n allowedExtensions: {},\r\n maxSize: 5,\r\n maxFiles: 1,\r\n isImagePreview: true,\r\n previewType: \"grid\",\r\n },\r\n labels = {\r\n title: \"\",\r\n dropzoneTitle: \"Drag & Drop File\",\r\n titleButton: \"Pilih File\",\r\n allowedFileLabel: \"\",\r\n },\r\n callbacks = {\r\n uploadFile: null,\r\n removeFile: null,\r\n customError: null,\r\n },\r\n}) => {\r\n const [files, setFiles] = useState([]);\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n\r\n const isError = Boolean(errorMessage);\r\n const isSingle = settings.maxFiles === 1;\r\n\r\n /* ================================\r\n FILE READER (NO PROMISE)\r\n ================================= */\r\n const readFile = (file, callback) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n\r\n reader.onload = function () {\r\n callback({\r\n source: reader.result,\r\n originName: file.name,\r\n type: file.type,\r\n size: file.size,\r\n });\r\n };\r\n\r\n reader.onerror = function () {\r\n console.error(\"File reading failed\");\r\n };\r\n };\r\n\r\n /* ================================\r\n DROP HANDLER (NO ASYNC)\r\n ================================= */\r\n const handleDrop = (acceptedFiles) => {\r\n setErrorMessage(\"\");\r\n let tempFiles = [];\r\n let processedCount = 0;\r\n if (!acceptedFiles || acceptedFiles.length === 0) return;\r\n\r\n acceptedFiles.forEach((file) => {\r\n readFile(file, (fileData) => {\r\n tempFiles.push(fileData);\r\n processedCount++;\r\n\r\n if (processedCount === acceptedFiles.length) {\r\n setFiles((prevFiles) => {\r\n let updated;\r\n\r\n if (settings.maxFiles === 1) {\r\n updated = tempFiles.slice(0, 1);\r\n } else {\r\n updated = [...prevFiles, ...tempFiles].slice(\r\n 0,\r\n settings.maxFiles,\r\n );\r\n }\r\n\r\n if (autoUpload) {\r\n callbacks?.uploadFile?.(updated);\r\n }\r\n\r\n return updated;\r\n });\r\n }\r\n });\r\n });\r\n };\r\n\r\n /* ================================\r\n ERROR HANDLER\r\n ================================= */\r\n const handleRejected = (rejections) => {\r\n const error = rejections?.[0]?.errors?.[0]?.code;\r\n\r\n if (error === \"file-too-large\") {\r\n setErrorMessage(\r\n \"Ukuran file terlalu besar. Maksimal \" + settings.maxSize + \"MB.\",\r\n );\r\n }\r\n\r\n if (error === \"file-invalid-type\") {\r\n setErrorMessage(\"Format file tidak sesuai.\");\r\n }\r\n\r\n if (error === \"too-many-files\") {\r\n setErrorMessage(\"Maksimal upload \" + settings.maxFiles + \" file.\");\r\n }\r\n };\r\n\r\n const removeFile = (index) => {\r\n const removedFile = files[index];\r\n const updated = files.filter((_, i) => i !== index);\r\n\r\n setFiles(updated);\r\n callbacks?.removeFile?.(removedFile?.originName);\r\n callbacks?.uploadFile?.(updated);\r\n };\r\n\r\n useEffect(() => {\r\n if (callbacks?.customError) {\r\n setErrorMessage(callbacks.customError);\r\n }\r\n }, [callbacks?.customError]);\r\n\r\n const renderFileIcon = (file) => {\r\n if (file.type?.includes(\"pdf\")) return <IconFilePDF />;\r\n if (file.type?.includes(\"csv\")) return <IconFileCSV />;\r\n if (file.type?.includes(\"image\")) return <IconFileJPG />;\r\n return <IconFileJPG />;\r\n };\r\n\r\n /* ================================\r\n PREVIEW GRID\r\n ================================= */\r\n const PreviewGrid = () => (\r\n <Box\r\n sx={{ width: \"100%\", display: \"flex\", gap: 2, mt: 3, flexWrap: \"wrap\" }}\r\n >\r\n {files.map((file, index) => (\r\n <Box key={index} sx={{ position: \"relative\", width: 75 }}>\r\n <Box\r\n sx={{\r\n position: \"absolute\",\r\n right: -6,\r\n top: -6,\r\n cursor: \"pointer\",\r\n }}\r\n onClick={() => removeFile(index)}\r\n >\r\n <IconXboxXFilled size={16} color={DerivedColor.color_icon_danger} />\r\n </Box>\r\n\r\n {renderFileIcon(file)}\r\n\r\n <Box\r\n sx={{\r\n ...VariantStyles.caption_regular,\r\n mt: 1,\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n }}\r\n >\r\n {file.originName}\r\n </Box>\r\n </Box>\r\n ))}\r\n </Box>\r\n );\r\n\r\n /* ================================\r\n PREVIEW LIST\r\n ================================= */\r\n const PreviewList = () => (\r\n <Box sx={{ mt: 3 }}>\r\n {files.map((file, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"space-between\",\r\n padding: SpacingToken.spacing3,\r\n border: `1px solid ${PrimitiveColor.color_neutral_300}`,\r\n borderRadius: Radius.radius_2,\r\n mb: 2,\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 2 }}>\r\n {renderFileIcon(file)}\r\n <Box\r\n sx={{\r\n ...VariantStyles.body2_regular,\r\n maxWidth: 260,\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n }}\r\n >\r\n {file.originName}\r\n </Box>\r\n </Box>\r\n\r\n <Box sx={{ cursor: \"pointer\" }} onClick={() => removeFile(index)}>\r\n <IconTrash size={20} color={PrimitiveColor.color_red_500} />\r\n </Box>\r\n </Box>\r\n ))}\r\n </Box>\r\n );\r\n\r\n return (\r\n <Box>\r\n {labels.title && (\r\n <Box\r\n sx={{\r\n ...VariantStyles.body1_regular,\r\n fontSize: 14,\r\n fontWeight: 600,\r\n mb: 2,\r\n width: \"100%\",\r\n color: isError\r\n ? DerivedColor.color_text_danger\r\n : DerivedColor.color_text_default,\r\n }}\r\n >\r\n {labels.title}\r\n </Box>\r\n )}\r\n\r\n <Box\r\n sx={{\r\n border: `2px ${files.length ? \"solid\" : \"dashed\"} ${\r\n isError\r\n ? DerivedColor.color_border_danger\r\n : files.length\r\n ? DerivedColor.color_border_brand_primary\r\n : DerivedColor.color_border_default\r\n }`,\r\n borderRadius: Radius.radius_2,\r\n padding: SpacingToken.spacing6,\r\n textAlign: \"center\",\r\n transition: \"border-color 0.2s\",\r\n \"&:hover\": {\r\n borderColor: isError\r\n ? DerivedColor.color_border_danger\r\n : DerivedColor.color_border_brand_primary,\r\n },\r\n }}\r\n >\r\n <Dropzone\r\n onDrop={handleDrop}\r\n onDropRejected={handleRejected}\r\n maxFiles={settings.maxFiles}\r\n maxSize={settings.maxSize * 1024 * 1024}\r\n accept={settings.allowedExtensions}\r\n multiple={!isSingle}\r\n >\r\n {({ getRootProps, getInputProps }) => (\r\n <Box\r\n {...getRootProps()}\r\n sx={{\r\n cursor: \"pointer\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n textAlign: \"center\",\r\n width: \"100%\",\r\n }}\r\n >\r\n <input {...getInputProps()} />\r\n\r\n <IconUpload size={32} color={DerivedColor.color_icon_brand_primary} />\r\n\r\n <Box sx={{ ...VariantStyles.header1_semibold, mt: 1 }}>\r\n {labels.dropzoneTitle}\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n ...VariantStyles.body1_regular,\r\n color: PrimitiveColor.color_neutral_600,\r\n my: 1,\r\n }}\r\n >\r\n atau\r\n </Box>\r\n\r\n <BaseButton\r\n variant=\"fill\"\r\n color=\"primary\"\r\n disabled={files.length >= settings.maxFiles}\r\n >\r\n {labels.titleButton}\r\n </BaseButton>\r\n\r\n {labels.allowedFileLabel && (\r\n <Box\r\n sx={{\r\n ...VariantStyles.caption_regular,\r\n color: PrimitiveColor.color_neutral_600,\r\n mt: 2,\r\n width: \"100%\",\r\n textAlign: \"center\",\r\n }}\r\n >\r\n {labels.allowedFileLabel}\r\n </Box>\r\n )}\r\n </Box>\r\n )}\r\n </Dropzone>\r\n </Box>\r\n\r\n {files.length > 0 &&\r\n (settings.previewType === \"list\" ? <PreviewList /> : <PreviewGrid />)}\r\n\r\n {isError && (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1,\r\n mt: 2,\r\n color: DerivedColor.color_text_danger,\r\n ...VariantStyles.caption_regular,\r\n fontSize: 14,\r\n }}\r\n >\r\n <IconAlertTriangle size={16} />\r\n {errorMessage}\r\n </Box>\r\n )}\r\n </Box>\r\n );\r\n};\r\n","import RadioRaw from \"@mui/material/Radio\";\r\nimport RadioGroupRaw from \"@mui/material/RadioGroup\";\r\nimport FormControlLabelRaw from \"@mui/material/FormControlLabel\";\r\nimport FormControlRaw from \"@mui/material/FormControl\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport { useController } from \"react-hook-form\";\r\n\r\nimport { BaseTypography } from \"@/components/atoms/typography\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\n\r\nimport { errorState } from \"@/utils/json\";\r\n\r\nconst Radio = RadioRaw?.default ?? RadioRaw;\r\nconst RadioGroup = RadioGroupRaw?.default ?? RadioGroupRaw;\r\nconst FormControlLabel = FormControlLabelRaw?.default ?? FormControlLabelRaw;\r\nconst FormControl = FormControlRaw?.default ?? FormControlRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\n\r\nexport const BaseRadioButton = ({\r\n name = \"\",\r\n control = null,\r\n defaultValue,\r\n title,\r\n options = [],\r\n\r\n /* ================= TYPOGRAPHY ================= */\r\n errorVariant = \"body1_regular.danger\",\r\n\r\n /* ================= LAYOUT ================= */\r\n orientation = \"vertical\",\r\n\r\n /* ================= COLOR TOKEN ================= */\r\n\r\n /* ================= STATE ================= */\r\n isDisabled,\r\n\r\n /* ================= ERROR ================= */\r\n useErrorStateHelper = false,\r\n\r\n /* ================= SX ================= */\r\n sx = {},\r\n\r\n ...restProps\r\n}) => {\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n\r\n /* ================= ERROR ================= */\r\n const errorObject = useErrorStateHelper\r\n ? errorState(name, formState.errors)\r\n : null;\r\n\r\n const errorMessage =\r\n errorObject?.message?.toString() || formState.errors?.[name]?.message;\r\n\r\n /* ================= TOKEN RESOLVE ================= */\r\n const radioColor = PrimitiveColor.color_blue_cakrawala_500;\r\n\r\n const gapValue = SpacingToken?.spacing0;\r\n const isHorizontal = orientation === \"horizontal\";\r\n\r\n /* ================= Figma Item Style ================= */\r\n const radioItemSx = {\r\n minHeight: \"36px\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: SpacingToken.spacing0,\r\n px: SpacingToken.spacing0,\r\n py: SpacingToken.spacing0,\r\n borderRadius: Radius.radius_2,\r\n };\r\n\r\n /* ================= RENDER ================= */\r\n return (\r\n <Box sx={sx}>\r\n {/* TITLE */}\r\n {title && (\r\n <BaseTypography\r\n variant=\"body1_regular.default\"\r\n sx={{\r\n fontWeight: 600,\r\n color: !!formState.errors?.[name]\r\n ? DerivedColor.color_text_danger\r\n : DerivedColor.color_text_default,\r\n mb: \"4px\",\r\n }}\r\n >\r\n {title}\r\n </BaseTypography>\r\n )}\r\n\r\n <FormControl error={!!formState.errors?.[name]}>\r\n {/* GROUP */}\r\n <RadioGroup\r\n value={field.value}\r\n onChange={field.onChange}\r\n row={isHorizontal}\r\n sx={{ gap: gapValue }}\r\n {...restProps}\r\n >\r\n {options.length > 0\r\n ? options.map((item, index) => (\r\n <FormControlLabel\r\n key={`radio-item-${index}`}\r\n value={item.value}\r\n label={item.label}\r\n disabled={isDisabled ?? item.isDisabled}\r\n sx={{\r\n ...radioItemSx,\r\n \"& .MuiFormControlLabel-label\": {\r\n fontSize: \"14px\",\r\n },\r\n }}\r\n control={\r\n <Radio\r\n sx={{\r\n \"&.Mui-checked\": {\r\n color: !!formState.errors?.[name]\r\n ? DerivedColor.color_text_danger\r\n : radioColor,\r\n },\r\n color: !!formState.errors?.[name]\r\n ? DerivedColor.color_text_danger\r\n : undefined,\r\n \"&.Mui-disabled\": {\r\n color: PrimitiveColor.color_neutral_400,\r\n },\r\n \"&.Mui-checked.Mui-disabled\": {\r\n color: PrimitiveColor.color_neutral_400,\r\n },\r\n }}\r\n />\r\n }\r\n {...item}\r\n />\r\n ))\r\n : \"You must provide options props\"}\r\n </RadioGroup>\r\n\r\n {/* ERROR */}\r\n {errorMessage && (\r\n <BaseTypography variant={errorVariant} sx={{ mt: gapValue }}>\r\n {errorMessage}\r\n </BaseTypography>\r\n )}\r\n </FormControl>\r\n </Box>\r\n );\r\n};\r\n","import { Fragment } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport StepLabelRaw, { stepLabelClasses } from \"@mui/material/StepLabel\";\r\nimport StepConnectorRaw from \"@mui/material/StepConnector\";\r\nimport StepRaw from \"@mui/material/Step\";\r\nimport StepperRaw from \"@mui/material/Stepper\";\r\nimport StackRaw from \"@mui/material/Stack\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport { stepConnectorClasses } from \"@mui/material/StepConnector\";\r\nimport { styled } from \"@mui/material/styles\";\r\nimport TypographyRaw from \"@mui/material/Typography\";\r\nimport ButtonRaw from \"@mui/material/Button\";\r\nimport TooltipRaw, { tooltipClasses } from \"@mui/material/Tooltip\";\r\n\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\nimport CheckRaw from \"@mui/icons-material/Check\";\r\nimport CheckIconRaw from \"@mui/icons-material/Check\";\r\n\r\nconst Check = CheckRaw?.default ?? CheckRaw;\r\nconst CheckIcon = CheckIconRaw?.default ?? CheckIconRaw;\r\nconst StepLabel = StepLabelRaw?.default ?? StepLabelRaw;\r\nconst StepConnector = StepConnectorRaw?.default ?? StepConnectorRaw;\r\nconst Step = StepRaw?.default ?? StepRaw;\r\nconst Stepper = StepperRaw?.default ?? StepperRaw;\r\nconst Stack = StackRaw?.default ?? StackRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\nconst Typography = TypographyRaw?.default ?? TypographyRaw;\r\nconst Button = ButtonRaw?.default ?? ButtonRaw;\r\nconst Tooltip = TooltipRaw?.default ?? TooltipRaw;\r\n\r\n/* ================= SIMPLE STEP LABEL ================= */\r\nconst CustomStepLabel = styled(StepLabel)(({ orientation }) => ({\r\n ...(orientation === \"vertical\" && {\r\n alignItems: \"flex-start\",\r\n \"& .MuiStepLabel-labelContainer\": {\r\n marginLeft: 12,\r\n textAlign: \"left\",\r\n },\r\n }),\r\n \"& .MuiStepIcon-root\": {\r\n fontSize: \"28px\",\r\n },\r\n ...(orientation !== \"vertical\" && {\r\n [`&.${stepLabelClasses.alternativeLabel}`]: {\r\n textAlign: \"center\",\r\n },\r\n }),\r\n}));\r\n\r\n/* ================= SIMPLE CONNECTOR ================= */\r\nconst CustomConnector = styled(StepConnector)(({ orientation }) => ({\r\n ...(orientation === \"horizontal\" && {\r\n [`&.${stepConnectorClasses.alternativeLabel}`]: {\r\n top: 12,\r\n left: \"calc(-50% + 12px)\",\r\n right: \"calc(50% + 12px)\",\r\n },\r\n [`& .${stepConnectorClasses.line}`]: {\r\n borderColor: PrimitiveColor.color_neutral_300,\r\n borderTopWidth: 2,\r\n borderRadius: 1,\r\n },\r\n }),\r\n ...(orientation === \"vertical\" && {\r\n [`&.${stepConnectorClasses.vertical}`]: {\r\n marginLeft: 20,\r\n },\r\n [`& .${stepConnectorClasses.line}`]: {\r\n borderLeftWidth: 3,\r\n borderLeftStyle: \"solid\",\r\n borderLeftColor: PrimitiveColor.color_neutral_300,\r\n minHeight: 24,\r\n borderRadius: 1,\r\n },\r\n [`&.${stepConnectorClasses.active} .${stepConnectorClasses.line}`]: {\r\n borderLeftColor: PrimitiveColor.color_green_500,\r\n },\r\n [`&.${stepConnectorClasses.completed} .${stepConnectorClasses.line}`]: {\r\n borderLeftColor: PrimitiveColor.color_green_500,\r\n },\r\n }),\r\n}));\r\n\r\n/* ================= DASHBOARD CONNECTOR ================= */\r\nconst ColorlibConnector = styled(StepConnector)(({ orientation }) => {\r\n const isVertical = orientation === \"vertical\";\r\n\r\n return {\r\n ...(!isVertical && {\r\n [`&.${stepConnectorClasses.alternativeLabel}`]: { top: 22 },\r\n [`&.${stepConnectorClasses.active} .${stepConnectorClasses.line}`]: {\r\n backgroundColor: PrimitiveColor.color_green_500,\r\n },\r\n [`&.${stepConnectorClasses.completed} .${stepConnectorClasses.line}`]: {\r\n backgroundColor: PrimitiveColor.color_green_500,\r\n },\r\n [`& .${stepConnectorClasses.line}`]: {\r\n height: 3,\r\n border: 0,\r\n backgroundColor: PrimitiveColor.color_neutral_300,\r\n borderRadius: 1,\r\n },\r\n }),\r\n ...(isVertical && {\r\n [`&.${stepConnectorClasses.vertical}`]: {\r\n marginLeft: 25,\r\n minHeight: 50,\r\n },\r\n [`&.${stepConnectorClasses.vertical} .${stepConnectorClasses.line}`]: {\r\n borderLeftWidth: 3,\r\n borderLeftStyle: \"solid\",\r\n borderLeftColor: PrimitiveColor.color_neutral_300,\r\n minHeight: 50,\r\n borderRadius: 1,\r\n },\r\n [`&.${stepConnectorClasses.vertical}.${stepConnectorClasses.active} .${stepConnectorClasses.line}`]:\r\n {\r\n borderLeftColor: PrimitiveColor.color_green_500,\r\n },\r\n [`&.${stepConnectorClasses.vertical}.${stepConnectorClasses.completed} .${stepConnectorClasses.line}`]:\r\n {\r\n borderLeftColor: PrimitiveColor.color_green_500,\r\n },\r\n }),\r\n };\r\n});\r\n\r\n/* ================= DASHBOARD STEP ICON ================= */\r\nconst ColorlibStepIconRoot = styled(\"div\")(({ ownerState }) => ({\r\n backgroundColor: ownerState.completed\r\n ? PrimitiveColor.color_green_500\r\n : ownerState.active\r\n ? PrimitiveColor.color_blue_cakrawala_500\r\n : PrimitiveColor.color_neutral_600,\r\n zIndex: 1,\r\n color: PrimitiveColor.color_neutral_50,\r\n width: 50,\r\n height: 50,\r\n display: \"flex\",\r\n borderRadius: \"50%\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n}));\r\n\r\nfunction ColorlibStepIcon({ active, completed, index }) {\r\n return (\r\n <ColorlibStepIconRoot ownerState={{ active, completed }}>\r\n {completed ? (\r\n <Check />\r\n ) : (\r\n <Typography variant=\"h6\">{index + 1}</Typography>\r\n )}\r\n </ColorlibStepIconRoot>\r\n );\r\n}\r\n\r\nconst CustomCheckIcon = styled(CheckIcon)({\r\n backgroundColor: PrimitiveColor.color_green_500,\r\n zIndex: 1,\r\n color: PrimitiveColor.color_neutral_50,\r\n width: 20,\r\n height: 20,\r\n padding: 1,\r\n display: \"flex\",\r\n borderRadius: \"50%\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n});\r\n\r\nconst CustomProcessIcon = styled(CheckIcon)({\r\n backgroundColor: PrimitiveColor.color_neutral_300,\r\n zIndex: 1,\r\n color: PrimitiveColor.color_neutral_50,\r\n width: 20,\r\n height: 20,\r\n padding: 1,\r\n display: \"flex\",\r\n borderRadius: \"50%\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n});\r\n\r\n/* ================= TOOLTIP ================= */\r\nconst HtmlTooltip = styled(({ className, ...props }) => (\r\n <Tooltip {...props} classes={{ popper: className }} />\r\n))(() => ({\r\n [`& .${tooltipClasses.tooltip}`]: {\r\n backgroundColor: PrimitiveColor.color_neutral_200,\r\n color: PrimitiveColor.color_neutral_900,\r\n maxWidth: 400,\r\n fontSize: 12,\r\n border: `1px solid ${PrimitiveColor.color_neutral_600}`,\r\n },\r\n}));\r\n\r\n/* ================= BASE STEPPER ================= */\r\nexport const BaseStepper = ({\r\n steps = [],\r\n activeStep = 0,\r\n orientation = \"horizontal\",\r\n variant = \"simple\",\r\n sx = {},\r\n}) => {\r\n if (variant === \"dashboard\") {\r\n const countCompletedSteps = (steps) =>\r\n steps?.filter((s) => s?.is_done === 1).length || 0;\r\n\r\n return (\r\n <Stack sx={{ width: \"100%\", ...sx }} spacing={4}>\r\n <Stepper\r\n alternativeLabel={orientation === \"horizontal\"}\r\n activeStep={countCompletedSteps(steps)}\r\n connector={<ColorlibConnector orientation={orientation} />}\r\n orientation={orientation}\r\n >\r\n {steps?.map((step, index) => (\r\n <Step key={index}>\r\n <StepLabel\r\n StepIconComponent={(props) => (\r\n <ColorlibStepIcon {...props} index={index} />\r\n )}\r\n >\r\n <HtmlTooltip\r\n title={\r\n <Fragment>\r\n <Typography color=\"inherit\">{step?.title}</Typography>\r\n {step?.sublist?.map((list, subIndex) => (\r\n <Box key={subIndex} sx={{ display: \"grid\", gap: 1, mt: 0.5 }}>\r\n <Box sx={{ display: \"flex\", gap: 1, alignItems: \"center\" }}>\r\n {list?.is_done === 1 ? (\r\n <Box sx={{ display: \"flex\", alignItems: \"center\" }}>\r\n <CustomCheckIcon />\r\n </Box>\r\n ) : (\r\n <Box sx={{ display: \"flex\", alignItems: \"center\" }}>\r\n <CustomProcessIcon />\r\n </Box>\r\n )}\r\n <Box>{list?.sublist_title}</Box>\r\n </Box>\r\n </Box>\r\n ))}\r\n </Fragment>\r\n }\r\n >\r\n <Button\r\n sx={{\r\n color: PrimitiveColor.color_neutral_900,\r\n border: \"none\",\r\n cursor: \"pointer\",\r\n textTransform: \"none\",\r\n }}\r\n >\r\n {step?.title}\r\n </Button>\r\n </HtmlTooltip>\r\n </StepLabel>\r\n </Step>\r\n ))}\r\n </Stepper>\r\n </Stack>\r\n );\r\n }\r\n\r\n // Simple variant\r\n return (\r\n <Box sx={{ width: \"100%\", ...sx }}>\r\n <Stepper\r\n activeStep={activeStep}\r\n alternativeLabel={orientation === \"horizontal\"}\r\n connector={<CustomConnector />}\r\n orientation={orientation}\r\n >\r\n {steps.map((step, index) => {\r\n const isActive = index === activeStep;\r\n const isCompleted = index < activeStep;\r\n let statusColor = PrimitiveColor.color_neutral_600;\r\n if (isActive) statusColor = PrimitiveColor.color_blue_cakrawala_500;\r\n if (isCompleted) statusColor = PrimitiveColor.color_green_500;\r\n\r\n return (\r\n <Step key={index}>\r\n <CustomStepLabel orientation={orientation}>\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: orientation === \"vertical\" ? \"flex-start\" : \"center\",\r\n gap: SpacingToken.spacing4,\r\n }}\r\n >\r\n <Typography\r\n sx={{ fontSize: 14, fontWeight: 400, color: statusColor }}\r\n >\r\n {step.status}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{ fontSize: 12, fontWeight: 400, color: PrimitiveColor.color_neutral_700 }}\r\n >\r\n {step.label}\r\n </Typography>\r\n </Box>\r\n </CustomStepLabel>\r\n </Step>\r\n );\r\n })}\r\n </Stepper>\r\n </Box>\r\n );\r\n};\r\n\r\nBaseStepper.propTypes = {\r\n steps: PropTypes.array,\r\n activeStep: PropTypes.number,\r\n orientation: PropTypes.oneOf([\"horizontal\", \"vertical\"]),\r\n variant: PropTypes.oneOf([\"simple\", \"dashboard\"]),\r\n sx: PropTypes.object,\r\n};\r\n","\"use client\";\r\nimport InputAdornmentRaw from \"@mui/material/InputAdornment\";\r\nimport TextFieldRaw from \"@mui/material/TextField\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport TypographyRaw from \"@mui/material/Typography\";\r\nimport { useController } from \"react-hook-form\";\r\nimport { IconAlertCircleFilled } from \"@tabler/icons-react\";\r\nimport { useEffect, useMemo, useRef, useState, useCallback } from \"react\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\nimport { VariantStyles } from \"@/components/atoms/typography/typography\";\r\n\r\nconst InputAdornment = InputAdornmentRaw?.default ?? InputAdornmentRaw;\r\nconst TextField = TextFieldRaw?.default ?? TextFieldRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\nconst Typography = TypographyRaw?.default ?? TypographyRaw;\r\n\r\nexport const BaseTextField = ({\r\n name = \"\",\r\n control = null,\r\n defaultValue,\r\n maxLength,\r\n showLength,\r\n isNumericOnly,\r\n isAlphaNumericOnly,\r\n isAlphaOnly,\r\n allowedSpecialCharacters = \"\",\r\n dontAllowedSpecialCharacters = \"\",\r\n isDisabled,\r\n isCantPaste,\r\n result,\r\n resultColor,\r\n noSpaceAllowed,\r\n showCountHelper = false,\r\n textMask = \"\",\r\n InputProps: externalInputProps,\r\n inputProps: externalInputPropsLower,\r\n sx = {},\r\n ...props\r\n}) => {\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n\r\n const inputRef = useRef(null);\r\n const hasMask = !!textMask;\r\n const maskSlots = useMemo(\r\n () => (hasMask ? (textMask.match(/x/gi) || []).length : 0),\r\n [textMask, hasMask],\r\n );\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n const sanitizeRaw = useCallback((s) => {\r\n const str = s || \"\";\r\n return isNumericOnly\r\n ? str.replace(/[^0-9]/g, \"\")\r\n : str.replace(/[^a-zA-Z0-9]/g, \"\");\r\n });\r\n\r\n const applyMask = (raw, mask) => {\r\n if (!mask) return raw || \"\";\r\n const chars = (raw || \"\").split(\"\");\r\n let i = 0;\r\n let out = \"\";\r\n for (let m = 0; m < mask.length; m++) {\r\n const ch = mask[m];\r\n if (ch.toLowerCase() === \"x\") {\r\n if (i < chars.length) {\r\n out += chars[i++];\r\n } else {\r\n break;\r\n }\r\n } else {\r\n if (i < chars.length) {\r\n out += ch;\r\n } else {\r\n break;\r\n }\r\n }\r\n }\r\n return out;\r\n };\r\n\r\n const extractRawFromDisplay = (display, mask) => {\r\n if (!mask) return display || \"\";\r\n const onlyAlphaNum = (display || \"\").replace(/[^a-zA-Z0-9]/g, \"\");\r\n return onlyAlphaNum.slice(0, maskSlots);\r\n };\r\n\r\n const computeCaretFromRawLen = (rawLen, mask) => {\r\n if (!mask) return rawLen;\r\n let needed = rawLen;\r\n let pos = 0;\r\n for (let i = 0; i < mask.length; i++) {\r\n const ch = mask[i];\r\n if (ch.toLowerCase() === \"x\") {\r\n if (needed > 0) {\r\n needed--;\r\n pos = i + 1;\r\n } else {\r\n break;\r\n }\r\n } else {\r\n if (needed > 0) {\r\n pos = i + 1;\r\n } else {\r\n break;\r\n }\r\n }\r\n }\r\n return pos;\r\n };\r\n\r\n const [displayValue, setDisplayValue] = useState(() =>\r\n hasMask ? applyMask(sanitizeRaw(field.value), textMask) : field.value || \"\",\r\n );\r\n\r\n useEffect(() => {\r\n if (hasMask) {\r\n const raw = sanitizeRaw(field.value);\r\n setDisplayValue(applyMask(raw.slice(0, maskSlots), textMask));\r\n }\r\n }, [field.value, hasMask, textMask, maskSlots, sanitizeRaw]);\r\n\r\n const getAllowedPattern = () => {\r\n let allowedPattern = \"a-zA-Z0-9\";\r\n\r\n if (allowedSpecialCharacters) {\r\n allowedPattern += allowedSpecialCharacters.replace(\r\n /[-/\\\\^$*+?.()|%[\\]{}]/g,\r\n \"\\\\$&\",\r\n );\r\n }\r\n\r\n if (dontAllowedSpecialCharacters) {\r\n const disallowedChars = dontAllowedSpecialCharacters.replace(\r\n /[-/\\\\^$*+?.()|%[\\]{}]/g,\r\n \"\\\\$&\",\r\n );\r\n allowedPattern = allowedPattern.replace(\r\n new RegExp(`[${disallowedChars}\\\\s]`, \"g\"),\r\n \"\",\r\n );\r\n }\r\n\r\n return new RegExp(`^[${allowedPattern}\\\\s]+$`);\r\n };\r\n\r\n const handleKeyDown = (e) => {\r\n if (hasMask) {\r\n const input = e.target;\r\n const value = input.value || \"\";\r\n const selectionStart = input.selectionStart ?? value.length;\r\n const selectionEnd = input.selectionEnd ?? value.length;\r\n\r\n const allowedKeys = [\r\n \"Tab\",\r\n \"Backspace\",\r\n \"Delete\",\r\n \"ArrowLeft\",\r\n \"ArrowRight\",\r\n \"Home\",\r\n \"End\",\r\n ];\r\n if (\r\n (e.ctrlKey || e.metaKey) &&\r\n [\"a\", \"c\", \"v\", \"x\"].includes(e.key.toLowerCase())\r\n ) {\r\n return;\r\n }\r\n if (allowedKeys.includes(e.key)) {\r\n const isBackspace = e.key === \"Backspace\";\r\n const isDelete = e.key === \"Delete\";\r\n if (selectionStart !== selectionEnd) {\r\n return;\r\n }\r\n const raw = sanitizeRaw(field.value).slice(0, maskSlots);\r\n let rawArr = raw.split(\"\");\r\n if (isBackspace && selectionStart > 0) {\r\n let pos = selectionStart - 1;\r\n while (pos > 0 && textMask[pos].toLowerCase() !== \"x\") pos--;\r\n if (rawArr.length > 0) rawArr = rawArr.slice(0, rawArr.length - 1);\r\n const newRaw = rawArr.join(\"\");\r\n const newDisplay = applyMask(newRaw, textMask);\r\n e.preventDefault();\r\n setDisplayValue(newDisplay);\r\n field.onChange(newRaw);\r\n requestAnimationFrame(() => {\r\n try {\r\n const caret = computeCaretFromRawLen(newRaw.length, textMask);\r\n input.setSelectionRange(caret, caret);\r\n } catch {\r\n // Do nothing\r\n }\r\n });\r\n return;\r\n }\r\n\r\n if (isDelete && selectionStart < value.length) {\r\n let pos = selectionStart;\r\n while (pos < textMask.length && textMask[pos].toLowerCase() !== \"x\")\r\n pos++;\r\n if (rawArr.length > 0 && pos < textMask.length) {\r\n const xBefore = (textMask.slice(0, pos).match(/x/gi) || []).length;\r\n if (xBefore < rawArr.length) {\r\n rawArr.splice(xBefore, 1);\r\n } else {\r\n rawArr = rawArr.slice(0, rawArr.length - 1);\r\n }\r\n const newRaw = rawArr.join(\"\");\r\n const newDisplay = applyMask(newRaw, textMask);\r\n e.preventDefault();\r\n setDisplayValue(newDisplay);\r\n field.onChange(newRaw);\r\n requestAnimationFrame(() => {\r\n try {\r\n const caret = computeCaretFromRawLen(newRaw.length, textMask);\r\n input.setSelectionRange(caret, caret);\r\n } catch {\r\n // Do nothing\r\n }\r\n });\r\n return;\r\n }\r\n }\r\n return;\r\n }\r\n\r\n const isChar = e.key.length === 1;\r\n if (isChar) {\r\n const allow = isNumericOnly ? /[0-9]/ : /[a-zA-Z0-9]/;\r\n if (!allow.test(e.key)) {\r\n e.preventDefault();\r\n return;\r\n }\r\n const currentRaw = sanitizeRaw(field.value).slice(0, maskSlots);\r\n let rawArr = currentRaw.split(\"\");\r\n const xBeforeCaret = (\r\n textMask.slice(0, selectionStart).match(/x/gi) || []\r\n ).length;\r\n const xBeforeEnd = (\r\n textMask\r\n .slice(0, e.target.selectionEnd ?? selectionStart)\r\n .match(/x/gi) || []\r\n ).length;\r\n\r\n const startIdx = xBeforeCaret;\r\n const endIdx = Math.min(xBeforeEnd, rawArr.length);\r\n rawArr.splice(startIdx, endIdx - startIdx, e.key);\r\n\r\n const newRaw = rawArr.join(\"\").slice(0, maskSlots);\r\n const newDisplay = applyMask(newRaw, textMask);\r\n\r\n e.preventDefault();\r\n setDisplayValue(newDisplay);\r\n field.onChange(newRaw);\r\n\r\n requestAnimationFrame(() => {\r\n try {\r\n const caret = computeCaretFromRawLen(startIdx + 1, textMask);\r\n input.setSelectionRange(caret, caret);\r\n } catch {\r\n // Do nothing\r\n }\r\n });\r\n }\r\n return;\r\n }\r\n let allowedPattern;\r\n const allowedKeys = [\r\n \"Tab\",\r\n \"Backspace\",\r\n \"Delete\",\r\n \"ArrowLeft\",\r\n \"ArrowRight\",\r\n ];\r\n const alphanumericWithUnderscorePattern = /^[a-zA-Z0-9_]+$/;\r\n\r\n if ((e.ctrlKey || e.metaKey) && e.key === \"v\") {\r\n return;\r\n }\r\n\r\n if (noSpaceAllowed && e.code === \"Space\") {\r\n e.preventDefault();\r\n }\r\n if (isNumericOnly) {\r\n allowedPattern = /^[0-9]+$/;\r\n if (!allowedKeys.includes(e.key) && !allowedPattern.test(e.key)) {\r\n e.preventDefault();\r\n }\r\n }\r\n if (isAlphaNumericOnly) {\r\n allowedPattern = /^[a-zA-Z0-9]+$/;\r\n if (!allowedKeys.includes(e.key) && !allowedPattern.test(e.key)) {\r\n e.preventDefault();\r\n }\r\n }\r\n if (isAlphaOnly) {\r\n allowedPattern = /^[a-zA-Z\\s]+$/;\r\n if (!allowedKeys.includes(e.key) && !allowedPattern.test(e.key)) {\r\n e.preventDefault();\r\n }\r\n }\r\n if (allowedSpecialCharacters) {\r\n allowedPattern = getAllowedPattern();\r\n if (!allowedKeys.includes(e.key) && !allowedPattern.test(e.key)) {\r\n e.preventDefault();\r\n }\r\n }\r\n if (dontAllowedSpecialCharacters) {\r\n const disallowedChars = dontAllowedSpecialCharacters.replace(\r\n /[-/\\\\^$*+?.()|%[\\]{}]/g,\r\n \"\\\\$&\",\r\n );\r\n const pattern = new RegExp(`[${disallowedChars}\\\\s]`, \"g\");\r\n if (!allowedKeys.includes(e.key) && pattern.test(e.key)) {\r\n e.preventDefault();\r\n }\r\n }\r\n };\r\n\r\n const handlePaste = (e) => {\r\n if (hasMask) {\r\n if (isCantPaste) {\r\n e.preventDefault();\r\n return;\r\n }\r\n const pastedData = e.clipboardData.getData(\"Text\") || \"\";\r\n const cleaned = sanitizeRaw(pastedData);\r\n const input = e.target;\r\n const selectionStart = input.selectionStart ?? 0;\r\n const selectionEnd = input.selectionEnd ?? 0;\r\n\r\n const currentRaw = sanitizeRaw(field.value).slice(0, maskSlots);\r\n let rawArr = currentRaw.split(\"\");\r\n\r\n const xStart = (textMask.slice(0, selectionStart).match(/x/gi) || [])\r\n .length;\r\n const xEnd = (textMask.slice(0, selectionEnd).match(/x/gi) || []).length;\r\n\r\n rawArr.splice(xStart, Math.max(0, xEnd - xStart), ...cleaned.split(\"\"));\r\n\r\n const newRaw = rawArr.join(\"\").slice(0, maskSlots);\r\n const newDisplay = applyMask(newRaw, textMask);\r\n\r\n e.preventDefault();\r\n setDisplayValue(newDisplay);\r\n field.onChange(newRaw);\r\n\r\n requestAnimationFrame(() => {\r\n try {\r\n const caret = computeCaretFromRawLen(\r\n xStart + cleaned.length,\r\n textMask,\r\n );\r\n input.setSelectionRange(caret, caret);\r\n } catch {\r\n // Do nothing\r\n }\r\n });\r\n return;\r\n }\r\n\r\n const pastedData = e.clipboardData.getData(\"Text\");\r\n let sanitizedData = pastedData;\r\n\r\n if (isCantPaste) {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n if (noSpaceAllowed) {\r\n sanitizedData = sanitizedData.replace(/\\s+/g, \"\");\r\n }\r\n\r\n if (allowedSpecialCharacters) {\r\n const specialChars = allowedSpecialCharacters\r\n ? allowedSpecialCharacters.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\")\r\n : \"\";\r\n const pattern = new RegExp(`[^a-zA-Z0-9${specialChars}\\\\s]`, \"g\");\r\n sanitizedData = pastedData.replace(pattern, \"\");\r\n }\r\n\r\n if (dontAllowedSpecialCharacters) {\r\n const dontAllowedChars = dontAllowedSpecialCharacters\r\n ? dontAllowedSpecialCharacters.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\")\r\n : \"\";\r\n const pattern = new RegExp(`[^a-zA-Z0-9${dontAllowedChars}\\\\s]`, \"g\");\r\n sanitizedData = pastedData.replace(pattern, \"\");\r\n }\r\n\r\n if (isNumericOnly) {\r\n sanitizedData = sanitizedData.replace(/[^0-9]/g, \"\");\r\n }\r\n\r\n if (isAlphaOnly) {\r\n sanitizedData = sanitizedData.replace(/[^a-zA-Z\\s]/g, \"\");\r\n }\r\n\r\n const { selectionStart, selectionEnd } = e.target;\r\n const value = e.target.value;\r\n\r\n // Check maxLength before creating newValue\r\n if (\r\n maxLength &&\r\n value.length - (selectionEnd - selectionStart) + sanitizedData.length >\r\n maxLength\r\n ) {\r\n sanitizedData = sanitizedData.substring(\r\n 0,\r\n maxLength - (value.length - (selectionEnd - selectionStart)),\r\n );\r\n }\r\n\r\n const newValue =\r\n value.substring(0, selectionStart) +\r\n sanitizedData +\r\n value.substring(selectionEnd);\r\n\r\n e.target.value = newValue;\r\n\r\n const newPosition = selectionStart + sanitizedData.length;\r\n e.target.setSelectionRange(newPosition, newPosition);\r\n\r\n field.onChange(e);\r\n e.preventDefault();\r\n };\r\n\r\n const handleChangeMasked = (e) => {\r\n const nextDisplay = e.target.value || \"\";\r\n const raw = extractRawFromDisplay(nextDisplay, textMask).slice(\r\n 0,\r\n maskSlots,\r\n );\r\n const newDisplay = applyMask(raw, textMask);\r\n setDisplayValue(newDisplay);\r\n field.onChange(raw);\r\n\r\n requestAnimationFrame(() => {\r\n try {\r\n const caret = computeCaretFromRawLen(raw.length, textMask);\r\n inputRef.current?.setSelectionRange(caret, caret);\r\n } catch {\r\n // Do nothing\r\n }\r\n });\r\n };\r\n\r\n return (\r\n <Box sx={sx}>\r\n {props.title && (\r\n <Typography\r\n variant=\"body2\"\r\n sx={{\r\n fontWeight: 600,\r\n color: !!formState.errors?.[name]\r\n ? DerivedColor.color_text_danger\r\n : DerivedColor.color_text_default,\r\n mb: \"4px\",\r\n }}\r\n >\r\n {props.title}\r\n </Typography>\r\n )}\r\n <TextField\r\n id={props.id || `field-${name}`}\r\n variant=\"outlined\"\r\n fullWidth\r\n error={!!formState.errors?.[name]}\r\n helperText={\r\n <>\r\n <Box component=\"span\">\r\n {formState.errors?.[name]?.message ||\r\n (maxLength && showLength\r\n ? `Maksimal ${maxLength} Karakter`\r\n : \"\")}\r\n </Box>\r\n {maxLength && showCountHelper && (\r\n <Box component=\"span\" sx={{ ml: \"auto\" }}>\r\n {field.value?.length || 0}/{maxLength}\r\n </Box>\r\n )}\r\n </>\r\n }\r\n FormHelperTextProps={{\r\n sx: {\r\n fontSize: 14,\r\n ml: 0,\r\n letterSpacing: 0,\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n },\r\n }}\r\n size=\"small\"\r\n disabled={isDisabled}\r\n onKeyDown={\r\n hasMask\r\n ? handleKeyDown\r\n : noSpaceAllowed ||\r\n isAlphaOnly ||\r\n isNumericOnly ||\r\n isAlphaNumericOnly ||\r\n allowedSpecialCharacters ||\r\n dontAllowedSpecialCharacters\r\n ? handleKeyDown\r\n : null\r\n }\r\n onPaste={\r\n hasMask\r\n ? handlePaste\r\n : noSpaceAllowed ||\r\n isAlphaOnly ||\r\n isNumericOnly ||\r\n isCantPaste ||\r\n allowedSpecialCharacters ||\r\n dontAllowedSpecialCharacters\r\n ? handlePaste\r\n : null\r\n }\r\n inputRef={inputRef}\r\n inputProps={{\r\n maxLength: hasMask ? textMask.length : maxLength,\r\n ...externalInputPropsLower,\r\n }}\r\n sx={{\r\n \"& .MuiOutlinedInput-root\": {\r\n \"& fieldset\": {\r\n borderColor: !!formState.errors?.[name]\r\n ? DerivedColor.color_border_danger\r\n : DerivedColor.color_border_default,\r\n },\r\n \"&:hover fieldset\": {\r\n borderColor: !!formState.errors?.[name]\r\n ? DerivedColor.color_border_danger\r\n : DerivedColor.color_border_brand_primary,\r\n },\r\n \"&.Mui-focused fieldset\": {\r\n borderColor: !!formState.errors?.[name]\r\n ? DerivedColor.color_border_danger\r\n : DerivedColor.color_border_brand_primary,\r\n borderWidth: 2,\r\n },\r\n },\r\n }}\r\n InputProps={{\r\n ...externalInputProps,\r\n sx: {\r\n borderRadius: Radius.radius_2,\r\n fontSize: 14,\r\n backgroundColor: isDisabled\r\n ? PrimitiveColor.color_neutral_200\r\n : PrimitiveColor.color_neutral_50,\r\n color: isDisabled\r\n ? PrimitiveColor.color_neutral_600\r\n : PrimitiveColor.color_neutral_900,\r\n \"& input::placeholder\": {\r\n fontSize: 14,\r\n },\r\n ...externalInputProps?.sx,\r\n },\r\n startAdornment: externalInputProps?.startAdornment,\r\n endAdornment: (\r\n <>\r\n {!!formState.errors?.[name] && (\r\n <InputAdornment position=\"end\">\r\n <IconAlertCircleFilled size={18} color={DerivedColor.color_icon_danger} />\r\n </InputAdornment>\r\n )}\r\n {externalInputProps?.endAdornment}\r\n </>\r\n ),\r\n }}\r\n value={hasMask ? (displayValue ?? \"\") : (field.value ?? \"\")}\r\n onChange={hasMask ? handleChangeMasked : field.onChange}\r\n {...props}\r\n {...(hasMask ? {} : field)}\r\n />\r\n {result && (\r\n <Typography\r\n sx={{\r\n ...VariantStyles.body1_regular,\r\n color: resultColor,\r\n mt: SpacingToken.spacing1,\r\n }}\r\n >\r\n {result}\r\n </Typography>\r\n )}\r\n </Box>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport { useRef, useState } from \"react\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport ButtonRaw from \"@mui/material/Button\";\r\nimport InputRaw from \"@mui/material/Input\";\r\nimport TextFieldRaw from \"@mui/material/TextField\";\r\nimport TypographyRaw from \"@mui/material/Typography\";\r\nimport { useController, useForm } from \"react-hook-form\";\r\n\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\nimport { BaseTypography, VariantStyles } from \"@/components/atoms/typography/typography\";\r\nimport { IconInfo } from \"@/components/legacy/atoms/icons/info\";\r\nimport UploadFileRaw from \"@mui/icons-material/UploadFile\";\r\n\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\nconst Button = ButtonRaw?.default ?? ButtonRaw;\r\nconst Input = InputRaw?.default ?? InputRaw;\r\nconst TextField = TextFieldRaw?.default ?? TextFieldRaw;\r\nconst Typography = TypographyRaw?.default ?? TypographyRaw;\r\nconst UploadFile = UploadFileRaw?.default ?? UploadFileRaw;\r\n\r\nexport const TextFieldUpload = ({\r\n name = \"upload\",\r\n control,\r\n defaultValue = \"\",\r\n title,\r\n accept = \"\",\r\n maxSize = 5,\r\n isDisabled = false,\r\n buttonLabel = \"Upload\",\r\n buttonPosition = \"end\",\r\n uploadFile,\r\n iconPosition = \"start\",\r\n}) => {\r\n const fallbackForm = useForm({\r\n defaultValues: { [name]: defaultValue },\r\n });\r\n const inputRef = useRef(null);\r\n\r\n const { field, fieldState } = useController({\r\n name,\r\n control: control || fallbackForm.control,\r\n defaultValue,\r\n });\r\n\r\n const [fileSizeError, setFileSizeError] = useState(false);\r\n const [unsupportedFile, setUnsupportedFile] = useState(false);\r\n\r\n const handleFileChange = (event) => {\r\n const file = event.target.files?.[0];\r\n\r\n if (!file) {\r\n field.onChange(\"\");\r\n uploadFile?.(\"\", null);\r\n return;\r\n }\r\n\r\n const extension = file.name.split(\".\").pop()?.toLowerCase();\r\n const acceptedExtensions = accept\r\n ? accept.split(\",\").map((ext) => ext.trim().toLowerCase())\r\n : [];\r\n\r\n if (\r\n acceptedExtensions.length > 0 &&\r\n !acceptedExtensions.includes(`.${extension}`)\r\n ) {\r\n setUnsupportedFile(true);\r\n setFileSizeError(false);\r\n field.onChange(\"\");\r\n return;\r\n }\r\n\r\n if (file.size > maxSize * 1024 * 1024) {\r\n setFileSizeError(true);\r\n setUnsupportedFile(false);\r\n field.onChange(\"\");\r\n return;\r\n }\r\n\r\n setFileSizeError(false);\r\n setUnsupportedFile(false);\r\n field.onChange(file.name);\r\n uploadFile?.(file.name, file);\r\n };\r\n\r\n const isError = !!fieldState.error || fileSizeError || unsupportedFile;\r\n const isSuccess = !!field.value && !isError;\r\n const borderColor = isError\r\n ? PrimitiveColor.color_red_500\r\n : isSuccess\r\n ? PrimitiveColor.color_blue_cakrawala_500\r\n : PrimitiveColor.color_neutral_300;\r\n\r\n const helperText = fileSizeError\r\n ? `Ukuran file melebihi ${maxSize} MB`\r\n : unsupportedFile\r\n ? \"Format file tidak didukung\"\r\n : `Format ${accept || \"-\"} ukuran maks. ${maxSize} MB`;\r\n\r\n const handleButtonClick = () => {\r\n inputRef.current?.click();\r\n };\r\n\r\n const uploadButton = (\r\n <Button\r\n onClick={handleButtonClick}\r\n disabled={isDisabled}\r\n variant=\"contained\"\r\n startIcon={iconPosition === \"start\" ? <UploadFile /> : undefined}\r\n endIcon={iconPosition === \"end\" ? <UploadFile /> : undefined}\r\n sx={{\r\n transition: \"none\",\r\n px: SpacingToken.spacing4,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: SpacingToken.spacing2,\r\n boxShadows: 0,\r\n borderRadius:\r\n buttonPosition === \"start\"\r\n ? `${Radius.radius_2} 0 0 ${Radius.radius_2}`\r\n : `0 ${Radius.radius_2} ${Radius.radius_2} 0`,\r\n backgroundColor: isError\r\n ? PrimitiveColor.color_red_500\r\n : PrimitiveColor.color_blue_cakrawala_500,\r\n \"&:hover\": {\r\n boxShadows: 0,\r\n backgroundColor: isError\r\n ? PrimitiveColor.color_red_600\r\n : PrimitiveColor.color_blue_cakrawala_600,\r\n },\r\n textTransform: \"none\",\r\n \"& .MuiButton-startIcon, & .MuiButton-endIcon\": {\r\n margin: 0,\r\n },\r\n }}\r\n >\r\n <BaseTypography\r\n variant=\"body1_regular.inverse\"\r\n sx={{ fontWeight: 600 }}\r\n >\r\n {buttonLabel}\r\n </BaseTypography>\r\n </Button>\r\n );\r\n\r\n return (\r\n <Box width=\"100%\">\r\n {title && (\r\n <Typography\r\n sx={{\r\n ...VariantStyles.body2_regular,\r\n fontSize: 14,\r\n fontWeight: 600,\r\n mb: SpacingToken.spacing2,\r\n color: isError\r\n ? DerivedColor.color_text_danger\r\n : DerivedColor.color_text_default,\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n )}\r\n\r\n <Box width=\"100%\">\r\n <Box display=\"flex\" width=\"100%\">\r\n {buttonPosition === \"start\" && uploadButton}\r\n\r\n <TextField\r\n value={field.value || \"\"}\r\n error={isError}\r\n fullWidth\r\n size=\"small\"\r\n disabled={isDisabled}\r\n InputProps={{\r\n readOnly: true,\r\n }}\r\n sx={{\r\n \"& .MuiOutlinedInput-root\": {\r\n borderTopLeftRadius:\r\n buttonPosition === \"start\" ? 0 : Radius.radius_2,\r\n borderBottomLeftRadius:\r\n buttonPosition === \"start\" ? 0 : Radius.radius_2,\r\n borderTopRightRadius:\r\n buttonPosition === \"end\" ? 0 : Radius.radius_2,\r\n borderBottomRightRadius:\r\n buttonPosition === \"end\" ? 0 : Radius.radius_2,\r\n ...(isDisabled && {\r\n backgroundColor: PrimitiveColor.color_neutral_200,\r\n }),\r\n \"& fieldset\": {\r\n borderColor: isError\r\n ? DerivedColor.color_border_danger\r\n : DerivedColor.color_border_default,\r\n },\r\n \"&:hover fieldset\": {\r\n borderColor: isError\r\n ? DerivedColor.color_border_danger\r\n : DerivedColor.color_border_brand_primary,\r\n },\r\n \"&.Mui-focused fieldset\": {\r\n borderColor: isError\r\n ? DerivedColor.color_border_danger\r\n : DerivedColor.color_border_brand_primary,\r\n borderWidth: 2,\r\n },\r\n },\r\n \"& .MuiInputBase-input\": {\r\n fontSize: 14,\r\n \"&::placeholder\": {\r\n fontSize: 14,\r\n },\r\n },\r\n }}\r\n />\r\n\r\n {buttonPosition === \"end\" && uploadButton}\r\n </Box>\r\n\r\n <Box\r\n display=\"flex\"\r\n alignItems=\"center\"\r\n mt={SpacingToken.spacing2}\r\n gap={SpacingToken.spacing2}\r\n >\r\n {isError && (\r\n <IconInfo color={PrimitiveColor.color_red_500} isSmall />\r\n )}\r\n\r\n <Typography\r\n sx={{\r\n ...VariantStyles.caption_regular,\r\n color: isError\r\n ? PrimitiveColor.color_red_500\r\n : PrimitiveColor.color_neutral_600,\r\n }}\r\n >\r\n {helperText}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n\r\n <Input\r\n inputRef={inputRef}\r\n type=\"file\"\r\n inputProps={{ accept }}\r\n sx={{ display: \"none\" }}\r\n onChange={handleFileChange}\r\n disabled={isDisabled}\r\n />\r\n </Box>\r\n );\r\n};\r\n","'use client';\r\n\r\nimport { useState, useEffect } from \"react\";\r\n\r\n/**\r\n * Wrapper component yang load TinyMCE Editor secara lazy di client-side.\r\n * Jalan di Next.js maupun Storybook tanpa next/dynamic.\r\n *\r\n * PENTING — Kenapa pakai pendekatan ini:\r\n * File JS bawaan TinyMCE untuk skin/content (misal tinymce/skins/ui/oxide/skin)\r\n * memanggil `tinymce.Resource.add(...)` di top-level saat module di-evaluate.\r\n * Vite/Rollup bisa pre-load chunk-chunk tersebut sebelum core TinyMCE selesai\r\n * register ke `window.tinymce`, menyebabkan \"ReferenceError: tinymce is not defined\".\r\n *\r\n * Solusi: kita set `skin: false` dan `content_css: false` di TinyMCE init config,\r\n * lalu inject CSS yang dibutuhkan via `content_style`. Dengan begitu kita tidak\r\n * perlu import file JS wrapper yang bermasalah.\r\n */\r\n\r\nfunction Editor(props) {\r\n const [TinyEditor, setTinyEditor] = useState(null);\r\n const [error, setError] = useState(null);\r\n\r\n useEffect(() => {\r\n let cancelled = false;\r\n\r\n async function load() {\r\n const alreadyLoaded =\r\n typeof window !== \"undefined\" && window.tinymce;\r\n\r\n if (!alreadyLoaded) {\r\n // 1. Load TinyMCE core — MUST complete first\r\n try {\r\n const tinymceModule = await import(\"tinymce/tinymce\");\r\n\r\n if (typeof window !== \"undefined\" && !window.tinymce) {\r\n const core = tinymceModule.default ?? tinymceModule;\r\n if (core && typeof core === \"object\" && core.tinymce) {\r\n window.tinymce = core.tinymce;\r\n } else {\r\n window.tinymce = core;\r\n }\r\n }\r\n } catch {\r\n throw new Error(\r\n \"Package 'tinymce' tidak ditemukan. \" +\r\n \"Install dengan: npm install tinymce @tinymce/tinymce-react\"\r\n );\r\n }\r\n\r\n // Tunggu sampai global benar-benar ready\r\n await new Promise((resolve, reject) => {\r\n if (window.tinymce) return resolve();\r\n const start = Date.now();\r\n const iv = setInterval(() => {\r\n if (window.tinymce) { clearInterval(iv); resolve(); }\r\n else if (Date.now() - start > 5000) {\r\n clearInterval(iv);\r\n reject(new Error(\r\n \"TinyMCE core gagal register ke window.tinymce. \" +\r\n \"Pastikan package 'tinymce' sudah ter-install.\"\r\n ));\r\n }\r\n }, 50);\r\n });\r\n\r\n // 2. Load model, theme, icons — these also reference window.tinymce\r\n // but since core is now loaded, sequential import is safe.\r\n await import(\"tinymce/models/dom/model\");\r\n await import(\"tinymce/themes/silver\");\r\n await import(\"tinymce/icons/default\");\r\n\r\n // 3. Load plugins\r\n await Promise.all([\r\n import(\"tinymce/plugins/advlist\"),\r\n import(\"tinymce/plugins/anchor\"),\r\n import(\"tinymce/plugins/autolink\"),\r\n import(\"tinymce/plugins/code\"),\r\n import(\"tinymce/plugins/charmap\"),\r\n import(\"tinymce/plugins/emoticons\"),\r\n import(\"tinymce/plugins/help\"),\r\n import(\"tinymce/plugins/image\"),\r\n import(\"tinymce/plugins/insertdatetime\"),\r\n import(\"tinymce/plugins/link\"),\r\n import(\"tinymce/plugins/lists\"),\r\n import(\"tinymce/plugins/media\"),\r\n import(\"tinymce/plugins/table\"),\r\n import(\"tinymce/plugins/wordcount\"),\r\n ]);\r\n\r\n // 4. Skin & content CSS — kita SKIP import JS wrapper-nya\r\n // (tinymce/skins/ui/oxide/skin, tinymce/skins/content/default/content)\r\n // karena Vite bisa pre-load chunk sebelum core ready.\r\n // Sebagai gantinya, kita inject CSS langsung via <style> tag\r\n // dan set skin:false + content_css:false di init config.\r\n try {\r\n const [skinMod, contentMod, oxideContentMod] = await Promise.all([\r\n import(\"tinymce/skins/ui/oxide/skin.min.css\"),\r\n import(\"tinymce/skins/content/default/content.min.css\"),\r\n import(\"tinymce/skins/ui/oxide/content.min.css\"),\r\n ]);\r\n\r\n // Vite returns CSS modules with .default as the CSS string\r\n // or auto-injects them. Either way, we're good.\r\n const skinCss = skinMod?.default ?? \"\";\r\n const contentCss = contentMod?.default ?? \"\";\r\n const oxideContentCss = oxideContentMod?.default ?? \"\";\r\n\r\n // Inject skin CSS into document head if not already there\r\n const combinedCss = [skinCss, contentCss, oxideContentCss]\r\n .filter(Boolean)\r\n .join(\"\\n\");\r\n\r\n if (combinedCss && !document.getElementById(\"tinymce-skin-css\")) {\r\n const style = document.createElement(\"style\");\r\n style.id = \"tinymce-skin-css\";\r\n style.textContent = combinedCss;\r\n document.head.appendChild(style);\r\n }\r\n } catch {\r\n // CSS imports gagal — TinyMCE akan fallback ke content_style\r\n }\r\n }\r\n\r\n // 5. Load the React wrapper\r\n const mod = await import(\"@tinymce/tinymce-react\");\r\n const Comp = mod.Editor ?? mod.default?.Editor ?? mod.default;\r\n\r\n if (!cancelled) {\r\n setTinyEditor(() => Comp);\r\n }\r\n }\r\n\r\n load().catch((err) => {\r\n if (!cancelled) {\r\n console.error(\"[Editor] Failed to load TinyMCE:\", err);\r\n setError(err);\r\n }\r\n });\r\n\r\n return () => {\r\n cancelled = true;\r\n };\r\n }, []);\r\n\r\n if (error) {\r\n return (\r\n <div style={{ color: \"red\", padding: 12, border: \"1px solid red\", borderRadius: 4 }}>\r\n Gagal memuat editor: {error.message}\r\n </div>\r\n );\r\n }\r\n\r\n if (!TinyEditor) {\r\n return null;\r\n }\r\n\r\n return <TinyEditor {...props} />;\r\n}\r\n\r\nexport { Editor };\r\n","\"use client\";\r\n\r\nimport InputAdornmentRaw from \"@mui/material/InputAdornment\";\r\nimport TextFieldRaw from \"@mui/material/TextField\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport TypographyRaw from \"@mui/material/Typography\";\r\nimport { useController } from \"react-hook-form\";\r\nimport { useId } from \"react\";\r\nimport { IconAlertCircleFilled } from \"@tabler/icons-react\";\r\n\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\nimport { VariantStyles } from \"@/components/atoms/typography/typography\";\r\nimport { Editor } from \"./imports\";\r\n\r\nconst InputAdornment = InputAdornmentRaw?.default ?? InputAdornmentRaw;\r\nconst TextField = TextFieldRaw?.default ?? TextFieldRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\nconst Typography = TypographyRaw?.default ?? TypographyRaw;\r\n\r\nexport const BaseTextArea = ({\r\n name = \"\",\r\n control = null,\r\n defaultValue = \"\",\r\n helperText,\r\n rules,\r\n exactLength,\r\n maxLength,\r\n title,\r\n isDisabled = false,\r\n useRichText = false,\r\n init,\r\n handleImageUpload,\r\n sx = {},\r\n ...props\r\n}) => {\r\n const computedMaxLength = exactLength ?? maxLength ?? rules?.maxLength?.value;\r\n\r\n const { field, fieldState } = useController({\r\n control,\r\n name,\r\n defaultValue,\r\n rules: exactLength\r\n ? {\r\n minLength: {\r\n value: exactLength,\r\n message: `Harus tepat ${exactLength} karakter`,\r\n },\r\n maxLength: {\r\n value: exactLength,\r\n message: `Tidak boleh lebih dari ${exactLength} karakter`,\r\n },\r\n ...rules,\r\n }\r\n : rules,\r\n });\r\n\r\n const hasError = !!fieldState.error;\r\n const errorMessage = fieldState.error?.message;\r\n\r\n const rawValue = field?.value ?? \"\";\r\n const plainText =\r\n useRichText && typeof rawValue === \"string\"\r\n ? rawValue.replace(/<[^>]*>/g, \"\")\r\n : rawValue;\r\n const currentLength = plainText.length || 0;\r\n const remaining =\r\n computedMaxLength !== undefined ? computedMaxLength - currentLength : null;\r\n\r\n let dynamicHelper = helperText;\r\n\r\n if (!hasError && computedMaxLength) {\r\n dynamicHelper =\r\n remaining >= 0\r\n ? `${currentLength}/${computedMaxLength} karakter`\r\n : helperText;\r\n }\r\n\r\n const handleKeyDown = (event) => {\r\n if (event.key !== \"Tab\") return;\r\n\r\n event.preventDefault();\r\n const nextValue = field.value ? `${field.value} - ` : \"- \";\r\n\r\n if (computedMaxLength && nextValue.length > computedMaxLength) {\r\n return;\r\n }\r\n\r\n field.onChange(nextValue);\r\n };\r\n\r\n const baseSx = {\r\n \"& .MuiOutlinedInput-root\": {\r\n borderRadius: Radius.radius_3,\r\n fontSize: 14,\r\n backgroundColor: isDisabled\r\n ? PrimitiveColor.color_neutral_200\r\n : PrimitiveColor.color_neutral_50,\r\n \"& fieldset\": {\r\n borderColor: hasError\r\n ? DerivedColor.color_border_danger\r\n : DerivedColor.color_border_default,\r\n },\r\n \"&:hover fieldset\": {\r\n borderColor: hasError\r\n ? DerivedColor.color_border_danger\r\n : DerivedColor.color_border_brand_primary,\r\n },\r\n \"&.Mui-focused fieldset\": {\r\n borderColor: hasError\r\n ? DerivedColor.color_border_danger\r\n : DerivedColor.color_border_brand_primary,\r\n borderWidth: 2,\r\n },\r\n },\r\n \"& .MuiInputBase-input, & .MuiInputBase-inputMultiline\": {\r\n fontSize: 14,\r\n \"&::placeholder\": {\r\n fontSize: 14,\r\n },\r\n },\r\n \"& .MuiFormHelperText-root\": {\r\n ...VariantStyles.caption_regular,\r\n fontSize: 14,\r\n color: hasError\r\n ? DerivedColor.color_text_danger\r\n : PrimitiveColor.color_neutral_600,\r\n marginLeft: 0,\r\n marginTop: SpacingToken.spacing1,\r\n },\r\n };\r\n\r\n const reactId = useId();\r\n const uniqueSuffix = reactId.replace(/:/g, \"\");\r\n const editorId = props.id ?? `textarea-${name}-${uniqueSuffix}`;\r\n const wrapperId = `editor-wrap-${uniqueSuffix}`;\r\n\r\n // ─── Rich Text Mode ───\r\n if (useRichText) {\r\n return (\r\n <Box id={wrapperId} sx={sx}>\r\n {title && (\r\n <Typography\r\n variant=\"body2\"\r\n sx={{\r\n fontWeight: 600,\r\n fontSize: 14,\r\n color: hasError\r\n ? DerivedColor.color_text_danger\r\n : DerivedColor.color_text_default,\r\n mb: \"4px\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n )}\r\n\r\n <style>{`\r\n .tox-notifications-container {\r\n z-index: 9999 !important;\r\n position: fixed !important;\r\n top: 10px !important;\r\n }\r\n #${wrapperId} .tox .tox-editor-header {\r\n z-index: 0 !important;\r\n }\r\n ${\r\n isDisabled\r\n ? `\r\n #${wrapperId} .tox-tinymce .tox-edit-area__iframe {\r\n background-color: #f5f5f5 !important;\r\n user-select: none !important;\r\n }\r\n #${wrapperId} .tox-tinymce .tox-editor-container {\r\n background-color: #f5f5f5 !important;\r\n }\r\n #${wrapperId} .mce-content-body {\r\n background-color: #f5f5f5 !important;\r\n color: #666 !important;\r\n pointer-events: none !important;\r\n user-select: none !important;\r\n }\r\n #${wrapperId} .tox-toolbar,\r\n #${wrapperId} .tox-editor-header {\r\n pointer-events: none !important;\r\n opacity: 0.5 !important;\r\n }`\r\n : \"\"\r\n }\r\n `}</style>\r\n\r\n <Editor\r\n onInit={props.onInit}\r\n id={editorId}\r\n initialValue={defaultValue}\r\n onDrop={props.onDrop}\r\n disabled={isDisabled}\r\n init={{\r\n ...init,\r\n placeholder: init?.placeholder ?? \"\",\r\n license_key: \"gpl\",\r\n menubar: false,\r\n branding: false,\r\n promotion: false,\r\n elementpath: false,\r\n statusbar: false,\r\n skin: false,\r\n content_css: false,\r\n min_height: 200,\r\n plugins: [\r\n \"code\",\r\n \"lists\",\r\n \"advlist\",\r\n \"anchor\",\r\n \"autolink\",\r\n \"help\",\r\n \"image\",\r\n \"link\",\r\n \"table\",\r\n \"wordcount\",\r\n \"emoticons\",\r\n \"charmap\",\r\n ],\r\n toolbar:\r\n \"code | cut copy paste | \" +\r\n \"bold italic underline strikethrough | \" +\r\n \"alignleft aligncenter alignright alignjustify | \" +\r\n \"blocks fontsize | \" +\r\n \"numlist bullist | \" +\r\n \"table image emoticons charmap\",\r\n image_title: true,\r\n images_replace_blob_uris: true,\r\n images_upload_base_path: \"/\",\r\n image_prepend_url: init?.prefixUrl ?? \"\",\r\n file_picker_types: \"image\",\r\n paste_data_images: true,\r\n automatic_uploads: true,\r\n content_style:\r\n \"body { font-family: 'BRI Digital Text', Inter, sans-serif; font-size: 14px; margin: 12px; }\",\r\n file_picker_callback: handleImageUpload,\r\n }}\r\n onEditorChange={(content) => {\r\n field.onChange(content);\r\n }}\r\n scriptLoading={{ async: true }}\r\n />\r\n\r\n {!hasError && dynamicHelper && (\r\n <Typography\r\n sx={{\r\n ...VariantStyles.caption_regular,\r\n color: PrimitiveColor.color_neutral_600,\r\n mt: SpacingToken.spacing1,\r\n display: \"block\",\r\n }}\r\n >\r\n {dynamicHelper}\r\n </Typography>\r\n )}\r\n </Box>\r\n );\r\n }\r\n\r\n // ─── Plain Mode (MUI TextField) ───\r\n return (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: SpacingToken.spacing2,\r\n ...sx,\r\n }}\r\n >\r\n {title && (\r\n <Typography\r\n variant=\"body2\"\r\n sx={{\r\n fontWeight: 600,\r\n fontSize: 14,\r\n color: hasError\r\n ? DerivedColor.color_text_danger\r\n : DerivedColor.color_text_default,\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n )}\r\n\r\n <TextField\r\n id={name}\r\n multiline\r\n minRows={4}\r\n fullWidth\r\n disabled={isDisabled}\r\n onKeyDown={handleKeyDown}\r\n error={hasError}\r\n helperText={errorMessage ?? dynamicHelper}\r\n sx={baseSx}\r\n inputProps={{\r\n maxLength: computedMaxLength,\r\n }}\r\n InputProps={{\r\n endAdornment: hasError && (\r\n <InputAdornment position=\"end\">\r\n <IconAlertCircleFilled size={18} color={PrimitiveColor.color_red_500} />\r\n </InputAdornment>\r\n ),\r\n }}\r\n {...props}\r\n {...field}\r\n />\r\n </Box>\r\n );\r\n};\r\n","\"use client\";\r\nimport { useCallback } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport DialogRaw from \"@mui/material/Dialog\";\r\nimport DialogTitleRaw from \"@mui/material/DialogTitle\";\r\nimport DialogContentRaw from \"@mui/material/DialogContent\";\r\nimport DialogActionsRaw from \"@mui/material/DialogActions\";\r\nimport IconButtonRaw from \"@mui/material/IconButton\";\r\nimport CloseIconRaw from \"@mui/icons-material/Close\";\r\nimport Image from \"next/image\";\r\n\r\nimport { callAsset } from \"@/utils/asset\";\r\nimport { BaseButton } from \"@/components/atoms/buttons/button\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\nimport { VariantStyles } from \"@/components/atoms/typography/typography\";\r\n\r\nconst CloseIcon = CloseIconRaw?.default ?? CloseIconRaw;\r\nconst Dialog = DialogRaw?.default ?? DialogRaw;\r\nconst DialogTitle = DialogTitleRaw?.default ?? DialogTitleRaw;\r\nconst DialogContent = DialogContentRaw?.default ?? DialogContentRaw;\r\nconst DialogActions = DialogActionsRaw?.default ?? DialogActionsRaw;\r\nconst IconButton = IconButtonRaw?.default ?? IconButtonRaw;\r\n\r\nexport const BaseModal = ({\r\n open,\r\n onClose,\r\n onConfirm,\r\n onCancel,\r\n icon,\r\n title,\r\n description,\r\n children,\r\n footer,\r\n showConfirm = true,\r\n showCancel = false,\r\n confirmLabel = \"Confirm\",\r\n cancelLabel = \"Cancel\",\r\n confirmVariant = \"fill\",\r\n cancelVariant = \"outline\",\r\n confirmColor = \"color_palette_blue\",\r\n cancelColor = \"color_palette_neutral_50\",\r\n confirmSize = \"large\",\r\n cancelSize = \"large\",\r\n align = \"center\",\r\n modalWidth = \"w-[350px]\",\r\n showCloseIcon = true,\r\n ...props\r\n}) => {\r\n const executeAndClose = useCallback(\r\n (callback) => {\r\n const result = callback?.();\r\n if (result !== false) {\r\n onClose?.();\r\n }\r\n },\r\n [onClose],\r\n );\r\n\r\n const contentStyle = {\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: 16,\r\n width: \"100%\",\r\n alignItems: align === \"center\" ? \"center\" : \"flex-start\",\r\n textAlign: align === \"center\" ? \"center\" : \"left\",\r\n };\r\n\r\n const footerWrapperStyle = {\r\n display: \"flex\",\r\n gap: 16,\r\n width: \"100%\",\r\n padding: \"0 24px 24px\",\r\n };\r\n\r\n return (\r\n <Dialog\r\n open={open}\r\n onClose={onClose}\r\n maxWidth={false}\r\n {...props}\r\n sx={{\r\n \"& .MuiDialog-paper\": {\r\n borderRadius: Radius.radius_2,\r\n },\r\n }}\r\n PaperProps={{ className: modalWidth }}\r\n >\r\n {(title || showCloseIcon) && (\r\n <DialogTitle sx={{ p: SpacingToken.spacing4 }}>\r\n {showCloseIcon && (\r\n <IconButton\r\n aria-label=\"close\"\r\n onClick={onClose}\r\n sx={{\r\n position: \"absolute\",\r\n right: SpacingToken.spacing3,\r\n top: SpacingToken.spacing3,\r\n color: PrimitiveColor.color_palette_neutral_70,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n )}\r\n </DialogTitle>\r\n )}\r\n\r\n <DialogContent\r\n style={contentStyle}\r\n sx={{\r\n pt: SpacingToken.spacing2,\r\n pb: SpacingToken.spacing4,\r\n }}\r\n >\r\n {icon && (\r\n <div className=\"flex justify-center mb-4 w-full\">\r\n {typeof icon === \"string\" ? (\r\n <Image\r\n src={callAsset(icon)}\r\n width={160}\r\n height={140}\r\n alt=\"modal-icon\"\r\n priority\r\n />\r\n ) : (\r\n icon\r\n )}\r\n </div>\r\n )}\r\n\r\n {(title || description) && (\r\n <div className=\"w-full text-center space-y-2\">\r\n {title && <div style={VariantStyles.header2_bold}>{title}</div>}\r\n\r\n {description && (\r\n <div style={VariantStyles.body2_regular}>{description}</div>\r\n )}\r\n </div>\r\n )}\r\n\r\n {children && <div className=\"w-full\">{children}</div>}\r\n </DialogContent>\r\n\r\n {(footer || showConfirm || showCancel) && (\r\n <DialogActions sx={{ p: 0, width: \"100%\" }}>\r\n {footer ? (\r\n footer\r\n ) : (\r\n <div style={footerWrapperStyle}>\r\n {showCancel && (\r\n <BaseButton\r\n onClick={() => executeAndClose(onCancel)}\r\n variant={cancelVariant}\r\n color={cancelColor}\r\n size={cancelSize}\r\n sx={{ flex: 1, minWidth: 0 }}\r\n >\r\n {cancelLabel}\r\n </BaseButton>\r\n )}\r\n\r\n {showConfirm && (\r\n <BaseButton\r\n onClick={() => executeAndClose(onConfirm)}\r\n variant={confirmVariant}\r\n color={confirmColor}\r\n size={confirmSize}\r\n sx={{ flex: 1, minWidth: 0 }}\r\n >\r\n {confirmLabel}\r\n </BaseButton>\r\n )}\r\n </div>\r\n )}\r\n </DialogActions>\r\n )}\r\n </Dialog>\r\n );\r\n};\r\n\r\nBaseModal.propTypes = {\r\n open: PropTypes.bool.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n onConfirm: PropTypes.func,\r\n onCancel: PropTypes.func,\r\n\r\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\r\n title: PropTypes.string,\r\n description: PropTypes.string,\r\n children: PropTypes.node,\r\n footer: PropTypes.node,\r\n\r\n showConfirm: PropTypes.bool,\r\n showCancel: PropTypes.bool,\r\n\r\n confirmLabel: PropTypes.string,\r\n cancelLabel: PropTypes.string,\r\n\r\n confirmVariant: PropTypes.string,\r\n cancelVariant: PropTypes.string,\r\n\r\n confirmColor: PropTypes.string,\r\n cancelColor: PropTypes.string,\r\n\r\n confirmSize: PropTypes.string,\r\n cancelSize: PropTypes.string,\r\n\r\n align: PropTypes.oneOf([\"center\", \"left\"]),\r\n modalWidth: PropTypes.string,\r\n showCloseIcon: PropTypes.bool,\r\n};\r\n","import { useState, useCallback, useRef } from \"react\";\r\nimport DialogRaw from \"@mui/material/Dialog\";\r\nimport DialogContentRaw from \"@mui/material/DialogContent\";\r\nimport DialogActionsRaw from \"@mui/material/DialogActions\";\r\nimport IconButtonRaw from \"@mui/material/IconButton\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport { IconX, IconCircleCheck, IconAlertCircle, IconInfoCircle, IconAlertTriangle, IconHelpCircle } from \"@tabler/icons-react\";\r\nimport { SuccessHero } from \"@/components/legacy/atoms/icons/success-hero\";\r\nimport { ErrorHero } from \"@/components/legacy/atoms/icons/error-hero\";\r\nimport { WarningHero } from \"@/components/legacy/atoms/icons/warning-hero\";\r\nimport { BaseButton } from \"@/components/atoms/buttons/button/button\";\r\nimport { BaseTypography } from \"@/components/atoms/typography\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\n\r\nconst Dialog = DialogRaw?.default ?? DialogRaw;\r\nconst DialogContent = DialogContentRaw?.default ?? DialogContentRaw;\r\nconst DialogActions = DialogActionsRaw?.default ?? DialogActionsRaw;\r\nconst IconButton = IconButtonRaw?.default ?? IconButtonRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\n\r\n// ============================================================\r\n// ICON MAPPING\r\n// Default: Legacy Hero SVG icons (SuccessHero, ErrorHero, WarningHero)\r\n// Fallback: Tabler icons (IconCircleCheck, IconAlertCircle, etc.)\r\n// ============================================================\r\n\r\nconst ICON_MAP = {\r\n success: {\r\n Hero: SuccessHero,\r\n FallbackIcon: IconCircleCheck,\r\n color: PrimitiveColor.color_green_500,\r\n },\r\n error: {\r\n Hero: ErrorHero,\r\n FallbackIcon: IconAlertCircle,\r\n color: PrimitiveColor.color_red_500,\r\n },\r\n info: {\r\n Hero: null,\r\n FallbackIcon: IconInfoCircle,\r\n color: PrimitiveColor.color_blue_cakrawala_500,\r\n },\r\n warning: {\r\n Hero: WarningHero,\r\n FallbackIcon: IconAlertTriangle,\r\n color: PrimitiveColor.color_yellow_500,\r\n },\r\n confirm: {\r\n Hero: null,\r\n FallbackIcon: IconHelpCircle,\r\n color: PrimitiveColor.color_blue_cakrawala_500,\r\n },\r\n};\r\n\r\n// ============================================================\r\n// DEFAULT TITLES\r\n// ============================================================\r\n\r\nconst DEFAULT_TITLES = {\r\n success: \"Success !\",\r\n error: \"Oops !\",\r\n warning: \"Oops !\",\r\n info: \"Information !\",\r\n confirm: \"Confirmation !\",\r\n};\r\n\r\n// ============================================================\r\n// MODAL ALERT COMPONENT (Controlled)\r\n// ============================================================\r\n\r\nconst ModalAlertDialog = ({\r\n open = false,\r\n onClose,\r\n icon = \"info\",\r\n title = \"\",\r\n description = \"\",\r\n cancelBtnText = \"Batal\",\r\n confirmBtnText = \"Ya\",\r\n cancelBtnProps,\r\n confirmBtnProps,\r\n showCancelBtn = true,\r\n showConfirmBtn = true,\r\n}) => {\r\n // Resolve title: use provided title or default based on icon\r\n const resolvedTitle = title || (typeof icon === \"string\" && DEFAULT_TITLES[icon.toLowerCase()]) || \"\";\r\n // Resolve icon\r\n const renderIcon = () => {\r\n // Preset icon key (success, error, info, warning, confirm)\r\n if (typeof icon === \"string\" && ICON_MAP[icon.toLowerCase()]) {\r\n const { Hero, FallbackIcon, color } = ICON_MAP[icon.toLowerCase()];\r\n // Use Hero SVG if available, otherwise Tabler icon\r\n if (Hero) {\r\n return (\r\n <Box sx={{ width: 160, height: 130, display: \"flex\", alignItems: \"center\", justifyContent: \"center\", \"& svg\": { width: \"100%\", height: \"100%\" } }}>\r\n <Hero />\r\n </Box>\r\n );\r\n }\r\n return <FallbackIcon size={64} color={color} stroke={1.5} />;\r\n }\r\n // Custom icon path (image URL like /images/thumb-dialog-warning.svg)\r\n if (typeof icon === \"string\" && (icon.startsWith(\"/\") || icon.startsWith(\"http\"))) {\r\n return (\r\n <Box\r\n component=\"img\"\r\n src={icon}\r\n alt=\"modal-icon\"\r\n sx={{ width: 120, height: 100, objectFit: \"contain\" }}\r\n />\r\n );\r\n }\r\n // Default fallback\r\n return <IconInfoCircle size={64} color={PrimitiveColor.color_blue_cakrawala_500} stroke={1.5} />;\r\n };\r\n\r\n // Resolve cancel action\r\n const handleCancel = () => {\r\n if (cancelBtnProps && typeof cancelBtnProps === \"function\") {\r\n cancelBtnProps();\r\n } else {\r\n onClose?.();\r\n }\r\n };\r\n\r\n // Resolve confirm action\r\n const handleConfirm = () => {\r\n if (confirmBtnProps && typeof confirmBtnProps === \"function\") {\r\n confirmBtnProps();\r\n }\r\n onClose?.();\r\n };\r\n\r\n return (\r\n <Dialog\r\n open={open}\r\n onClose={onClose}\r\n sx={{\r\n \"& .MuiDialog-container\": {\r\n \"& .MuiPaper-root\": {\r\n width: \"100%\",\r\n maxWidth: \"350px\",\r\n },\r\n \"& .MuiDialog-paper\": {\r\n borderRadius: Radius.radius_3,\r\n },\r\n },\r\n }}\r\n >\r\n {/* Close Button */}\r\n <Box sx={{ position: \"absolute\", right: 8, top: 8 }}>\r\n <IconButton onClick={onClose} sx={{ color: DerivedColor.color_text_subtle }}>\r\n <IconX size={20} />\r\n </IconButton>\r\n </Box>\r\n\r\n {/* Content */}\r\n <DialogContent\r\n sx={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n textAlign: \"center\",\r\n pt: SpacingToken.spacing6,\r\n px: SpacingToken.spacing5,\r\n pb: SpacingToken.spacing3,\r\n gap: SpacingToken.spacing3,\r\n }}\r\n >\r\n {/* Icon */}\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\", py: 1 }}>\r\n {renderIcon()}\r\n </Box>\r\n\r\n {/* Title */}\r\n {resolvedTitle && (\r\n <BaseTypography variant=\"header1_bold.default\" sx={{ fontSize: \"18px\" }}>\r\n {resolvedTitle}\r\n </BaseTypography>\r\n )}\r\n\r\n {/* Description */}\r\n {description && (\r\n <BaseTypography variant=\"body2_regular.default\" sx={{ textAlign: \"center\" }}>\r\n {description}\r\n </BaseTypography>\r\n )}\r\n </DialogContent>\r\n\r\n {/* Actions */}\r\n {(showCancelBtn || showConfirmBtn) && (\r\n <DialogActions\r\n sx={{\r\n justifyContent: \"center\",\r\n gap: SpacingToken.spacing2,\r\n px: SpacingToken.spacing5,\r\n pb: SpacingToken.spacing5,\r\n pt: 0,\r\n }}\r\n >\r\n {showCancelBtn && (\r\n <BaseButton\r\n variant=\"outline\"\r\n color=\"primary\"\r\n onClick={handleCancel}\r\n width=\"auto\"\r\n sx={{ minWidth: \"120px\", flex: 1 }}\r\n >\r\n {cancelBtnText}\r\n </BaseButton>\r\n )}\r\n {showConfirmBtn && (\r\n <BaseButton\r\n variant=\"fill\"\r\n color=\"primary\"\r\n onClick={handleConfirm}\r\n width=\"auto\"\r\n sx={{ minWidth: \"120px\", flex: 1 }}\r\n >\r\n {confirmBtnText}\r\n </BaseButton>\r\n )}\r\n </DialogActions>\r\n )}\r\n </Dialog>\r\n );\r\n};\r\n\r\n// ============================================================\r\n// IMPERATIVE API: BaseModalAlert.show() / BaseModalAlert.hide()\r\n// ============================================================\r\n\r\nlet _modalRef = null;\r\n\r\nconst setModalRef = (ref) => {\r\n _modalRef = ref;\r\n};\r\n\r\nconst show = (options = {}) => {\r\n if (_modalRef?.current?.show) {\r\n _modalRef.current.show(options);\r\n }\r\n};\r\n\r\nconst hide = () => {\r\n if (_modalRef?.current?.hide) {\r\n _modalRef.current.hide();\r\n }\r\n};\r\n\r\n// Static API object\r\nexport const BaseModalAlert = {\r\n show,\r\n hide,\r\n setModalRef,\r\n};\r\n\r\n// ============================================================\r\n// PROVIDER COMPONENT (mount once at app root)\r\n// ============================================================\r\n\r\nexport const BaseModalAlertProvider = () => {\r\n const [state, setState] = useState({ open: false });\r\n const ref = useRef();\r\n\r\n const handleShow = useCallback((options) => {\r\n setState({ open: true, ...options });\r\n }, []);\r\n\r\n const handleHide = useCallback(() => {\r\n setState((prev) => ({ ...prev, open: false }));\r\n }, []);\r\n\r\n // Register ref\r\n ref.current = { show: handleShow, hide: handleHide };\r\n\r\n // Set ref on mount\r\n useState(() => {\r\n BaseModalAlert.setModalRef(ref);\r\n });\r\n\r\n return (\r\n <BaseModalAlertDialog\r\n open={state.open}\r\n onClose={handleHide}\r\n icon={state.icon}\r\n title={state.title}\r\n description={state.description}\r\n cancelBtnText={state.cancelBtnText}\r\n confirmBtnText={state.confirmBtnText}\r\n cancelBtnProps={state.cancelBtnProps}\r\n confirmBtnProps={state.confirmBtnProps}\r\n showCancelBtn={state.showCancelBtn !== undefined ? state.showCancelBtn : true}\r\n showConfirmBtn={state.showConfirmBtn !== undefined ? state.showConfirmBtn : true}\r\n />\r\n );\r\n};\r\n\r\n// Export controlled component\r\nexport const BaseModalAlertDialog = ModalAlertDialog;\r\n","export const LoadingDots = () => (\r\n <svg\r\n width=\"90\"\r\n height=\"28\"\r\n viewBox=\"0 0 90 28\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <circle cx=\"14\" cy=\"14\" r=\"6\" fill=\"#F39C12\">\r\n <animateTransform\r\n attributeName=\"transform\"\r\n type=\"translate\"\r\n values=\"0 0;0 -8;0 0\"\r\n dur=\"0.8s\"\r\n begin=\"0s\"\r\n repeatCount=\"indefinite\"\r\n />\r\n </circle>\r\n\r\n <circle cx=\"32\" cy=\"14\" r=\"6\" fill=\"#E67E22\">\r\n <animateTransform\r\n attributeName=\"transform\"\r\n type=\"translate\"\r\n values=\"0 0;0 -8;0 0\"\r\n dur=\"0.8s\"\r\n begin=\"0.15s\"\r\n repeatCount=\"indefinite\"\r\n />\r\n </circle>\r\n\r\n <circle cx=\"50\" cy=\"14\" r=\"6\" fill=\"#3498DB\">\r\n <animateTransform\r\n attributeName=\"transform\"\r\n type=\"translate\"\r\n values=\"0 0;0 -8;0 0\"\r\n dur=\"0.8s\"\r\n begin=\"0.30s\"\r\n repeatCount=\"indefinite\"\r\n />\r\n </circle>\r\n\r\n <circle cx=\"68\" cy=\"14\" r=\"6\" fill=\"#2E86DE\">\r\n <animateTransform\r\n attributeName=\"transform\"\r\n type=\"translate\"\r\n values=\"0 0;0 -8;0 0\"\r\n dur=\"0.8s\"\r\n begin=\"0.45s\"\r\n repeatCount=\"indefinite\"\r\n />\r\n </circle>\r\n </svg>\r\n);\r\n","import { useState, useCallback, useRef } from \"react\";\r\nimport DialogRaw from \"@mui/material/Dialog\";\r\nimport DialogContentRaw from \"@mui/material/DialogContent\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport { LoadingDots } from \"@/components/legacy/atoms/icons/loading-dots\";\r\nimport { BaseTypography } from \"@/components/atoms/typography\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\n\r\nconst Dialog = DialogRaw?.default ?? DialogRaw;\r\nconst DialogContent = DialogContentRaw?.default ?? DialogContentRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\n\r\n// ============================================================\r\n// MODAL LOADING COMPONENT\r\n// ============================================================\r\n\r\nconst ModalLoadingDialog = ({ open = false }) => {\r\n return (\r\n <Dialog\r\n open={open}\r\n disableEscapeKeyDown\r\n sx={{\r\n \"& .MuiDialog-container\": {\r\n \"& .MuiPaper-root\": {\r\n width: \"auto\",\r\n minWidth: \"150px\",\r\n },\r\n \"& .MuiDialog-paper\": {\r\n borderRadius: Radius.radius_3,\r\n },\r\n },\r\n \"& .MuiBackdrop-root\": {\r\n backgroundColor: \"rgba(0, 0, 0, 0.5)\",\r\n },\r\n }}\r\n >\r\n <DialogContent\r\n sx={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n textAlign: \"center\",\r\n py: SpacingToken.spacing6,\r\n px: SpacingToken.spacing5,\r\n gap: SpacingToken.spacing3,\r\n }}\r\n >\r\n <LoadingDots />\r\n <BaseTypography variant=\"body2_regular.subtle\" sx={{fontWeight: \"bold\"}}>\r\n Loading...\r\n </BaseTypography>\r\n </DialogContent>\r\n </Dialog>\r\n );\r\n};\r\n\r\n// ============================================================\r\n// IMPERATIVE API: BaseModalLoading.show() / BaseModalLoading.hide()\r\n// ============================================================\r\n\r\nlet _modalRef = null;\r\n\r\nconst setModalRef = (ref) => {\r\n _modalRef = ref;\r\n};\r\n\r\nconst show = () => {\r\n if (_modalRef?.current?.show) {\r\n _modalRef.current.show();\r\n }\r\n};\r\n\r\nconst hide = () => {\r\n if (_modalRef?.current?.hide) {\r\n _modalRef.current.hide();\r\n }\r\n};\r\n\r\n// Static API object\r\nexport const BaseModalLoading = {\r\n show,\r\n hide,\r\n setModalRef,\r\n};\r\n\r\n// ============================================================\r\n// PROVIDER COMPONENT (mount once at app root)\r\n// ============================================================\r\n\r\nexport const BaseModalLoadingProvider = () => {\r\n const [open, setOpen] = useState(false);\r\n const ref = useRef();\r\n\r\n const handleShow = useCallback(() => {\r\n setOpen(true);\r\n }, []);\r\n\r\n const handleHide = useCallback(() => {\r\n setOpen(false);\r\n }, []);\r\n\r\n // Register ref\r\n ref.current = { show: handleShow, hide: handleHide };\r\n\r\n // Set ref on mount\r\n useState(() => {\r\n BaseModalLoading.setModalRef(ref);\r\n });\r\n\r\n return <ModalLoadingDialog open={open} />;\r\n};\r\n\r\n// Export controlled component\r\nexport const BaseModalLoadingDialog = ModalLoadingDialog;\r\n","import DialogRaw from \"@mui/material/Dialog\";\r\nimport DialogContentRaw from \"@mui/material/DialogContent\";\r\nimport DialogActionsRaw from \"@mui/material/DialogActions\";\r\nimport IconButtonRaw from \"@mui/material/IconButton\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport { IconX } from \"@tabler/icons-react\";\r\nimport { Watermark } from \"@hirohe/react-watermark\";\r\nimport { BaseButton } from \"@/components/atoms/buttons/button/button\";\r\nimport { DerivedColor } from \"@/components/atoms/colors/derived\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\n\r\nconst Dialog = DialogRaw?.default ?? DialogRaw;\r\nconst DialogContent = DialogContentRaw?.default ?? DialogContentRaw;\r\nconst DialogActions = DialogActionsRaw?.default ?? DialogActionsRaw;\r\nconst IconButton = IconButtonRaw?.default ?? IconButtonRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\n\r\n// ============================================================\r\n// HEADER COLOR MAPPING\r\n// ============================================================\r\n\r\nconst HEADER_COLORS = {\r\n primary: DerivedColor.color_bg_brand_primary,\r\n secondary: DerivedColor.color_bg_brand_secondary,\r\n success: DerivedColor.color_bg_success,\r\n warning: DerivedColor.color_bg_warning,\r\n danger: DerivedColor.color_bg_danger,\r\n};\r\n\r\n// ============================================================\r\n// COMPONENT\r\n// ============================================================\r\n\r\nexport const BaseModalPopup = ({\r\n open = false,\r\n onClose,\r\n variant = \"default\",\r\n color = \"primary\",\r\n title = \"\",\r\n subtitle = \"\",\r\n startIcon = null,\r\n children = null,\r\n footer = null,\r\n maxWidth = \"sm\",\r\n fullWidth = true,\r\n isWatermark = false,\r\n watermarkText = \"\",\r\n sx = {},\r\n ...rest\r\n}) => {\r\n const headerBg = HEADER_COLORS[color] || HEADER_COLORS.primary;\r\n const headerTextColor = DerivedColor.color_text_inverse;\r\n const contentBg = DerivedColor.color_bg_surface;\r\n const borderColor = DerivedColor.color_border_default;\r\n\r\n const hasHeader = variant === \"with-header\" || variant === \"with-header-footer\";\r\n const hasFooter = variant === \"with-header-footer\";\r\n\r\n // Wrap children with watermark if enabled\r\n const renderContent = () => {\r\n if (isWatermark && watermarkText) {\r\n return (\r\n <Watermark\r\n text={watermarkText}\r\n textColor=\"#000000\"\r\n textSize={14}\r\n opacity={0.15}\r\n gutter={20}\r\n rotate={-30}\r\n wrapperStyle={{ minHeight: \"100px\" }}\r\n >\r\n {children}\r\n </Watermark>\r\n );\r\n }\r\n return children;\r\n };\r\n\r\n return (\r\n <Dialog\r\n open={open}\r\n onClose={onClose}\r\n maxWidth={maxWidth}\r\n fullWidth={fullWidth}\r\n sx={{\r\n \"& .MuiDialog-paper\": {\r\n borderRadius: Radius.radius_3,\r\n overflow: \"hidden\",\r\n },\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {/* ====================== HEADER ====================== */}\r\n {hasHeader ? (\r\n <Box\r\n sx={{\r\n backgroundColor: headerBg,\r\n padding: SpacingToken.spacing4,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\r\n {startIcon && (\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", lineHeight: 0, color: headerTextColor }}>\r\n {startIcon}\r\n </Box>\r\n )}\r\n <Box>\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n color: headerTextColor,\r\n fontWeight: 700,\r\n fontSize: \"16px\",\r\n display: \"block\",\r\n }}\r\n >\r\n {title}\r\n </Box>\r\n {subtitle && (\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n color: headerTextColor,\r\n fontWeight: 400,\r\n fontSize: \"13px\",\r\n display: \"block\",\r\n mt: \"2px\",\r\n opacity: 0.85,\r\n }}\r\n >\r\n {subtitle}\r\n </Box>\r\n )}\r\n </Box>\r\n </Box>\r\n\r\n <IconButton onClick={onClose} sx={{ color: headerTextColor }}>\r\n <IconX size={20} />\r\n </IconButton>\r\n </Box>\r\n ) : (\r\n /* Default variant: close button top-right only */\r\n <Box sx={{ position: \"absolute\", right: 8, top: 8, zIndex: 1 }}>\r\n <IconButton onClick={onClose} sx={{ color: DerivedColor.color_text_subtle }}>\r\n <IconX size={20} />\r\n </IconButton>\r\n </Box>\r\n )}\r\n\r\n {/* ====================== CONTENT ====================== */}\r\n <DialogContent\r\n sx={{\r\n backgroundColor: contentBg,\r\n padding: SpacingToken.spacing5,\r\n pt: hasHeader ? SpacingToken.spacing5 : SpacingToken.spacing6,\r\n }}\r\n >\r\n {renderContent()}\r\n </DialogContent>\r\n\r\n {/* ====================== FOOTER ====================== */}\r\n {hasFooter && footer && (\r\n <DialogActions\r\n sx={{\r\n backgroundColor: contentBg,\r\n borderTop: `1px solid ${borderColor}`,\r\n padding: SpacingToken.spacing4,\r\n gap: SpacingToken.spacing2,\r\n }}\r\n >\r\n {footer}\r\n </DialogActions>\r\n )}\r\n </Dialog>\r\n );\r\n};\r\n","\"use client\";\r\nimport { Fragment, useEffect, useState } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport DialogRaw from \"@mui/material/Dialog\";\r\nimport DialogTitleRaw from \"@mui/material/DialogTitle\";\r\nimport DialogContentRaw from \"@mui/material/DialogContent\";\r\nimport DialogActionsRaw from \"@mui/material/DialogActions\";\r\nimport IconButtonRaw from \"@mui/material/IconButton\";\r\nimport TypographyRaw from \"@mui/material/Typography\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport StepperRaw from \"@mui/material/Stepper\";\r\nimport StepRaw from \"@mui/material/Step\";\r\nimport StepLabelRaw from \"@mui/material/StepLabel\";\r\nimport StepContentRaw from \"@mui/material/StepContent\";\r\nimport TooltipRaw, { tooltipClasses } from \"@mui/material/Tooltip\";\r\nimport CloseIconRaw from \"@mui/icons-material/Close\";\r\nimport CheckIconRaw from \"@mui/icons-material/Check\";\r\nimport FailedIconRaw from \"@mui/icons-material/Close\";\r\nimport InfoIconRaw from \"@mui/icons-material/Info\";\r\n// import Image from \"next/image\";\r\nimport Link from \"next/link\";\r\nimport { styled } from \"@mui/material/styles\";\r\n\r\n// import { callAsset } from \"@/utils/asset\";\r\nimport { BaseButton } from \"@/components/atoms/buttons/button\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\n// import { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\nimport { VariantStyles } from \"@/components/atoms/typography/typography\";\r\n\r\nconst CloseIcon = CloseIconRaw?.default ?? CloseIconRaw;\r\nconst CheckIcon = CheckIconRaw?.default ?? CheckIconRaw;\r\nconst FailedIcon = FailedIconRaw?.default ?? FailedIconRaw;\r\nconst InfoIcon = InfoIconRaw?.default ?? InfoIconRaw;\r\nimport CircularProgressRaw from \"@mui/material/CircularProgress\";\r\nconst Dialog = DialogRaw?.default ?? DialogRaw;\r\nconst DialogTitle = DialogTitleRaw?.default ?? DialogTitleRaw;\r\nconst DialogContent = DialogContentRaw?.default ?? DialogContentRaw;\r\nconst DialogActions = DialogActionsRaw?.default ?? DialogActionsRaw;\r\nconst IconButton = IconButtonRaw?.default ?? IconButtonRaw;\r\nconst Typography = TypographyRaw?.default ?? TypographyRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\nconst Stepper = StepperRaw?.default ?? StepperRaw;\r\nconst Step = StepRaw?.default ?? StepRaw;\r\nconst StepLabel = StepLabelRaw?.default ?? StepLabelRaw;\r\nconst StepContent = StepContentRaw?.default ?? StepContentRaw;\r\nconst Tooltip = TooltipRaw?.default ?? TooltipRaw;\r\nconst CircularProgress = CircularProgressRaw?.default ?? CircularProgressRaw;\r\n/* =========================\r\n TOOLTIP STYLE\r\n========================= */\r\n\r\nconst HtmlTooltip = styled(({ className, ...props }) => (\r\n <Tooltip {...props} classes={{ popper: className }} />\r\n))(({ theme }) => ({\r\n [`& .${tooltipClasses.tooltip}`]: {\r\n backgroundColor: PrimitiveColor.color_palette_neutral_10,\r\n color: \"rgba(0,0,0,0.87)\",\r\n maxWidth: 220,\r\n fontSize: theme.typography.pxToRem(12),\r\n border: \"1px solid #dadde9\",\r\n },\r\n}));\r\n\r\n/* =========================\r\n ICON STYLE\r\n========================= */\r\n\r\nconst ICON_SIZE = 24;\r\n\r\nconst CustomCheckIcon = styled(CheckIcon)({\r\n backgroundColor: PrimitiveColor.color_palette_dark_green,\r\n color: PrimitiveColor.color_palette_neutral_10,\r\n width: ICON_SIZE,\r\n height: ICON_SIZE,\r\n borderRadius: \"50%\",\r\n padding: 4,\r\n});\r\n\r\nconst CustomFailedIcon = styled(FailedIcon)({\r\n backgroundColor: PrimitiveColor.color_palette_red,\r\n color: PrimitiveColor.color_palette_neutral_10,\r\n width: ICON_SIZE,\r\n height: ICON_SIZE,\r\n borderRadius: \"50%\",\r\n padding: 4,\r\n});\r\n\r\nconst CustomInfoIcon = styled(InfoIcon)({\r\n backgroundColor: PrimitiveColor.color_palette_blue,\r\n marginRight: \"5px\",\r\n zIndex: 1,\r\n color: PrimitiveColor.color_palette_neutral_10,\r\n width: 22,\r\n height: 22,\r\n display: \"flex\",\r\n borderRadius: \"50%\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n cursor: \"pointer\",\r\n});\r\n\r\nconst StepIconWrapper = styled(\"div\")(({ ownerState }) => ({\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n minHeight: ICON_SIZE,\r\n ...(ownerState.active && { backgroundColor: \"transparent\" }),\r\n}));\r\n\r\n/* =========================\r\n COMPONENT\r\n========================= */\r\n\r\nexport const BaseModalStepper = ({\r\n open,\r\n onClose,\r\n title = \"\",\r\n stepper = [],\r\n navState = null,\r\n lengthUpload = 0,\r\n id_pengajuan = null,\r\n showFooter = true,\r\n children,\r\n modalWidth = \"max-w-md\",\r\n ...props\r\n}) => {\r\n const [activeStep, setActiveStep] = useState(0);\r\n\r\n /* =========================\r\n STEP ICON COMPONENT\r\n ========================= */\r\n const ColorlibStepIcon = (props) => {\r\n const { active, completed, icon, className } = props;\r\n\r\n const [hovered, setHovered] = useState(false);\r\n\r\n const iconStyles = {\r\n color: hovered\r\n ? PrimitiveColor.color_palette_blue\r\n : PrimitiveColor.color_palette_neutral_10,\r\n backgroundColor: hovered\r\n ? PrimitiveColor.color_palette_neutral_10\r\n : PrimitiveColor.color_palette_blue,\r\n transition: \"all 0.3s ease\",\r\n };\r\n\r\n const handleMouseEnter = () => setHovered(true);\r\n const handleMouseLeave = () => setHovered(false);\r\n\r\n /* =========================\r\n LOADING ICON\r\n ========================= */\r\n\r\n const icons = stepper.reduce((acc, _, index) => {\r\n acc[index + 1] = <CircularProgress size={20} />;\r\n return acc;\r\n }, {});\r\n\r\n /* =========================\r\n CHECKLIST ICON\r\n ========================= */\r\n\r\n const checklist = stepper.reduce((acc, item, index) => {\r\n const isSuccess = item.responseCode === \"00\";\r\n\r\n acc[index + 1] = (\r\n <>\r\n <HtmlTooltip\r\n title={\r\n <Fragment>\r\n <Typography fontSize={12}>\r\n {item.responseDesc || \"Tidak ada deskripsi\"}\r\n </Typography>\r\n </Fragment>\r\n }\r\n arrow\r\n >\r\n <CustomInfoIcon\r\n style={iconStyles}\r\n onMouseEnter={handleMouseEnter}\r\n onMouseLeave={handleMouseLeave}\r\n />\r\n </HtmlTooltip>\r\n\r\n {isSuccess ? <CustomCheckIcon /> : <CustomFailedIcon />}\r\n </>\r\n );\r\n\r\n return acc;\r\n }, {});\r\n\r\n return (\r\n <StepIconWrapper\r\n ownerState={{ active, completed }}\r\n className={className}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: 1 }}\r\n >\r\n {completed\r\n ? checklist[String(icon)]\r\n : active\r\n ? icons[String(icon)]\r\n : \"\"}\r\n </StepIconWrapper>\r\n );\r\n };\r\n\r\n ColorlibStepIcon.propTypes = {\r\n active: PropTypes.bool,\r\n completed: PropTypes.bool,\r\n icon: PropTypes.node,\r\n };\r\n\r\n /* =========================\r\n AUTO INCREMENT STEP\r\n ========================= */\r\n\r\n useEffect(() => {\r\n if (!open) {\r\n setActiveStep(0);\r\n return;\r\n }\r\n\r\n if (stepper.length === 0) return;\r\n\r\n const incrementStep = () =>\r\n setActiveStep((prev) => (prev < stepper.length ? prev + 1 : prev));\r\n\r\n const delay =\r\n activeStep > 0 ? stepper[activeStep - 1]?.responseTime || 800 : 800;\r\n\r\n const timer = setTimeout(incrementStep, delay);\r\n\r\n return () => clearTimeout(timer);\r\n }, [activeStep, stepper, open]);\r\n\r\n const handleClose = (event, reason) => {\r\n if (reason !== \"backdropClick\" && reason !== \"escapeKeyDown\") {\r\n onClose(event, reason);\r\n }\r\n };\r\n\r\n /* =========================\r\n FOOTER BUTTON\r\n ========================= */\r\n\r\n const renderFooterButton = () => {\r\n if (!showFooter) return null;\r\n\r\n const hrefMap = {\r\n 2: \"/pipeline/pipeline-international\",\r\n 3: id_pengajuan\r\n ? `/prakarsa/prakarsa-international/dashboard/${id_pengajuan}`\r\n : `/prakarsa/prakarsa-international/`,\r\n 4: id_pengajuan\r\n ? `/monitoring/monitoring-korporasi/internasional/dashboard/${id_pengajuan}`\r\n : `/monitoring/monitoring-korporasi/`,\r\n 5: id_pengajuan\r\n ? `/approval/approval-korporasi/internasional/dashboard/${id_pengajuan}`\r\n : `/approval/approval-korporasi/`,\r\n };\r\n\r\n const href = hrefMap[navState] || null;\r\n\r\n const button = (\r\n <BaseButton\r\n sx={{ padding: \"8px 24px\" }}\r\n variant=\"fill\"\r\n color=\"primary\"\r\n onClick={() => onClose()}\r\n disabled={lengthUpload !== 0}\r\n width=\"fit-content\"\r\n >\r\n Oke\r\n </BaseButton>\r\n );\r\n\r\n return href ? <Link href={href}>{button}</Link> : button;\r\n };\r\n\r\n /* =========================\r\n RENDER\r\n ========================= */\r\n\r\n return (\r\n <Dialog\r\n open={open}\r\n onClose={handleClose}\r\n PaperProps={{\r\n className: modalWidth,\r\n sx: {\r\n width: \"100%\",\r\n maxWidth: modalWidth === \"w-full\" ? \"100%\" : 550,\r\n borderRadius: Radius.radius_l,\r\n },\r\n }}\r\n {...props}\r\n >\r\n <DialogTitle sx={{ textAlign: \"center\", pt: 4 }}>\r\n {title && (\r\n <Typography style={VariantStyles.header1_bold}>{title}</Typography>\r\n )}\r\n\r\n <IconButton\r\n aria-label=\"close\"\r\n onClick={onClose}\r\n sx={{\r\n position: \"absolute\",\r\n right: 12,\r\n top: 12,\r\n color: PrimitiveColor.color_palette_neutral_60,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </DialogTitle>\r\n\r\n <DialogContent sx={{ px: 4, pb: 3 }}>\r\n {children ? (\r\n children\r\n ) : (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1.5,\r\n backgroundColor: \"#EAF3FA\",\r\n padding: 2,\r\n borderRadius: Radius.radius_m,\r\n mb: 3,\r\n }}\r\n >\r\n <InfoIcon\r\n sx={{\r\n color: PrimitiveColor.color_palette_blue,\r\n fontSize: 22,\r\n }}\r\n />\r\n <Typography sx={{ fontSize: 14 }}>\r\n Harap tunggu dan jangan menutup layar hingga proses selesai.\r\n </Typography>\r\n </Box>\r\n )}\r\n\r\n <Box sx={{ width: \"100%\", maxWidth: 500 }}>\r\n <Stepper activeStep={activeStep} orientation=\"vertical\">\r\n {stepper.map((step) => (\r\n <Step key={step.label}>\r\n <StepLabel StepIconComponent={ColorlibStepIcon}>\r\n {step.label}\r\n </StepLabel>\r\n <StepContent>\r\n <Typography sx={{ fontSize: 14 }}>\r\n {step.description}\r\n </Typography>\r\n </StepContent>\r\n </Step>\r\n ))}\r\n </Stepper>\r\n </Box>\r\n </DialogContent>\r\n\r\n <DialogActions\r\n sx={{\r\n justifyContent: \"center\",\r\n pb: 4,\r\n }}\r\n >\r\n {renderFooterButton()}\r\n </DialogActions>\r\n </Dialog>\r\n );\r\n};\r\n\r\nBaseModalStepper.propTypes = {\r\n open: PropTypes.bool.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n title: PropTypes.string,\r\n stepper: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n label: PropTypes.string,\r\n description: PropTypes.string,\r\n responseCode: PropTypes.string,\r\n responseDesc: PropTypes.string,\r\n responseTime: PropTypes.number,\r\n }),\r\n ),\r\n navState: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n lengthUpload: PropTypes.number,\r\n id_pengajuan: PropTypes.number,\r\n showFooter: PropTypes.bool,\r\n children: PropTypes.node,\r\n};\r\n","\"use client\";\r\nimport { useState, useRef, useEffect, useCallback } from \"react\";\r\nimport DialogRaw from \"@mui/material/Dialog\";\r\nimport DialogContentRaw from \"@mui/material/DialogContent\";\r\nimport DialogTitleRaw from \"@mui/material/DialogTitle\";\r\nimport IconButtonRaw from \"@mui/material/IconButton\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport TypographyRaw from \"@mui/material/Typography\";\r\nimport CloseIconRaw from \"@mui/icons-material/Close\";\r\nimport dynamic from \"next/dynamic\";\r\n\r\nimport { BaseButton } from \"@/components/atoms/buttons/button\";\r\nimport { PrimitiveColor } from \"@/components/atoms/colors/primitive\";\r\nimport { Radius } from \"@/components/atoms/radius/radius\";\r\nimport { SpacingToken } from \"@/components/atoms/spacing_layout/spacing\";\r\nimport { VariantStyles } from \"@/components/atoms/typography/typography\";\r\n\r\nimport { Thumblock } from \"@/components/legacy/atoms/icons/thumb-lock-icon\";\r\n\r\nconst Countdown = dynamic(\r\n () => import(\"react-countdown\").then((mod) => mod.default ?? mod),\r\n { ssr: false },\r\n);\r\n\r\nconst CloseIcon = CloseIconRaw?.default ?? CloseIconRaw;\r\nconst Dialog = DialogRaw?.default ?? DialogRaw;\r\nconst DialogContent = DialogContentRaw?.default ?? DialogContentRaw;\r\nconst DialogTitle = DialogTitleRaw?.default ?? DialogTitleRaw;\r\nconst IconButton = IconButtonRaw?.default ?? IconButtonRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\nconst Typography = TypographyRaw?.default ?? TypographyRaw;\r\n\r\n/** Inline styles for OTP input — no external CSS dependency */\r\nconst otpInputBase = {\r\n height: 40,\r\n width: 30,\r\n border: \"none\",\r\n borderRadius: 0,\r\n marginLeft: 6,\r\n marginRight: 6,\r\n fontSize: 20,\r\n fontWeight: 700,\r\n color: \"#1078ca\",\r\n textAlign: \"center\",\r\n outline: \"none\",\r\n background: \"transparent\",\r\n};\r\n\r\nconst otpInputNormal = {\r\n ...otpInputBase,\r\n borderBottom: \"3px solid #e0e0e0\",\r\n};\r\n\r\nconst otpInputError = {\r\n ...otpInputBase,\r\n borderBottom: \"3px solid #e84040\",\r\n color: \"#e84040\",\r\n};\r\n\r\nconst otpInputFocused = {\r\n borderBottom: \"3px solid #1078ca\",\r\n};\r\n\r\n/**\r\n * Native OTP input component — replaces react-otp-input for React 19 compatibility.\r\n */\r\nconst NativeOTPInput = ({ value, onChange, numInputs, hasError }) => {\r\n const inputRefs = useRef([]);\r\n const [focusedIndex, setFocusedIndex] = useState(-1);\r\n const digits = value.split(\"\");\r\n\r\n const handleChange = useCallback(\r\n (index, e) => {\r\n const val = e.target.value;\r\n if (!/^\\d*$/.test(val)) return;\r\n\r\n const newDigits = [...digits];\r\n // Pad array to numInputs length\r\n while (newDigits.length < numInputs) newDigits.push(\"\");\r\n\r\n newDigits[index] = val.slice(-1);\r\n const newValue = newDigits.join(\"\");\r\n onChange(newValue.slice(0, numInputs));\r\n\r\n if (val && index < numInputs - 1) {\r\n inputRefs.current[index + 1]?.focus();\r\n }\r\n },\r\n [digits, numInputs, onChange],\r\n );\r\n\r\n const handleKeyDown = useCallback(\r\n (index, e) => {\r\n if (e.key === \"Backspace\" && !digits[index] && index > 0) {\r\n inputRefs.current[index - 1]?.focus();\r\n }\r\n if (e.key === \"ArrowLeft\" && index > 0) {\r\n e.preventDefault();\r\n inputRefs.current[index - 1]?.focus();\r\n }\r\n if (e.key === \"ArrowRight\" && index < numInputs - 1) {\r\n e.preventDefault();\r\n inputRefs.current[index + 1]?.focus();\r\n }\r\n },\r\n [digits, numInputs],\r\n );\r\n\r\n const handlePaste = useCallback(\r\n (e) => {\r\n e.preventDefault();\r\n const pasted = e.clipboardData\r\n .getData(\"text\")\r\n .replace(/\\D/g, \"\")\r\n .slice(0, numInputs);\r\n if (!pasted) return;\r\n onChange(pasted);\r\n const nextIdx = Math.min(pasted.length, numInputs - 1);\r\n inputRefs.current[nextIdx]?.focus();\r\n },\r\n [numInputs, onChange],\r\n );\r\n\r\n // Auto-focus first input on mount\r\n useEffect(() => {\r\n const timer = setTimeout(() => inputRefs.current[0]?.focus(), 100);\r\n return () => clearTimeout(timer);\r\n }, []);\r\n\r\n return (\r\n <div\r\n style={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n }}\r\n onPaste={handlePaste}\r\n >\r\n {Array.from({ length: numInputs }).map((_, index) => {\r\n const isFocused = focusedIndex === index;\r\n const baseStyle = hasError ? otpInputError : otpInputNormal;\r\n const style = isFocused\r\n ? { ...baseStyle, ...otpInputFocused }\r\n : baseStyle;\r\n\r\n return (\r\n <input\r\n key={index}\r\n ref={(el) => {\r\n inputRefs.current[index] = el;\r\n }}\r\n type=\"tel\"\r\n inputMode=\"numeric\"\r\n maxLength={1}\r\n autoComplete=\"off\"\r\n value={digits[index] || \"\"}\r\n onChange={(e) => handleChange(index, e)}\r\n onKeyDown={(e) => handleKeyDown(index, e)}\r\n onFocus={(e) => {\r\n setFocusedIndex(index);\r\n e.target.select();\r\n }}\r\n onBlur={() => setFocusedIndex(-1)}\r\n style={style}\r\n aria-label={`${index === 0 ? \"Please enter verification code. \" : \"\"}Digit ${index + 1}`}\r\n />\r\n );\r\n })}\r\n </div>\r\n );\r\n};\r\n\r\nexport const BaseModalOTP = ({\r\n isOpen,\r\n phone,\r\n setIsOpen,\r\n otpLength = 6,\r\n onValidateOtp = () => null,\r\n onRequestOtp = () => null,\r\n}) => {\r\n const [countOn, setCountOn] = useState(\"on\");\r\n const [date, setDate] = useState(Date.now() + 120000);\r\n const [otp, setOtp] = useState(\"\");\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n\r\n const handleClose = () => setIsOpen(false);\r\n\r\n const handleChange = (value) => {\r\n setErrorMessage(\"\");\r\n setOtp(value);\r\n\r\n if (value.length === otpLength) {\r\n onValidateOtp(value);\r\n }\r\n };\r\n\r\n const setTime = () => {\r\n setCountOn(\"on\");\r\n setDate(Date.now() + 120000);\r\n setOtp(\"\");\r\n onRequestOtp();\r\n };\r\n\r\n const setOff = () => setCountOn(\"off\");\r\n\r\n return (\r\n <Dialog\r\n open={isOpen}\r\n onClose={handleClose}\r\n maxWidth=\"xs\"\r\n fullWidth\r\n sx={{\r\n \"& .MuiPaper-root\": {\r\n borderRadius: Radius.radius_4,\r\n padding: SpacingToken.spacing4,\r\n maxWidth: 350,\r\n },\r\n }}\r\n >\r\n <DialogTitle sx={{ p: 0 }}>\r\n <IconButton\r\n onClick={handleClose}\r\n sx={{\r\n position: \"absolute\",\r\n right: SpacingToken.spacing2,\r\n top: SpacingToken.spacing2,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </DialogTitle>\r\n\r\n <DialogContent sx={{ p: 0 }}>\r\n <Box\r\n display=\"flex\"\r\n flexDirection=\"column\"\r\n alignItems=\"center\"\r\n textAlign=\"center\"\r\n gap={SpacingToken.spacing4}\r\n >\r\n <Thumblock />\r\n\r\n <Typography\r\n sx={{\r\n ...VariantStyles.header1_semibold,\r\n color: PrimitiveColor.color_palette_neutral_100,\r\n }}\r\n >\r\n Verifikasi OTP\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n ...VariantStyles.body1_regular,\r\n color: PrimitiveColor.color_palette_neutral_70,\r\n maxWidth: 280,\r\n }}\r\n >\r\n Masukkan kode OTP yang telah dikirim ke nomor {phone}\r\n </Typography>\r\n\r\n {/* OTP INPUT */}\r\n <Box width=\"100%\" display=\"flex\" justifyContent=\"center\">\r\n <form\r\n autoComplete=\"off\"\r\n style={{\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n <input type=\"hidden\" name=\"otp\" value={otp} />\r\n <NativeOTPInput\r\n value={otp}\r\n onChange={handleChange}\r\n numInputs={otpLength}\r\n hasError={!!errorMessage}\r\n />\r\n </form>\r\n </Box>\r\n\r\n {errorMessage && (\r\n <Typography\r\n sx={{\r\n ...VariantStyles.caption_regular,\r\n color: PrimitiveColor.color_palette_red,\r\n }}\r\n >\r\n {errorMessage}\r\n </Typography>\r\n )}\r\n\r\n {/* COUNTDOWN */}\r\n {countOn === \"on\" && (\r\n <Countdown\r\n date={date}\r\n onComplete={setOff}\r\n renderer={({ minutes, seconds }) => (\r\n <Typography\r\n sx={{\r\n ...VariantStyles.body1_regular,\r\n color: PrimitiveColor.color_palette_neutral_60,\r\n }}\r\n >\r\n Waktu tersisa {minutes < 10 ? `0${minutes}` : minutes}:\r\n {seconds < 10 ? `0${seconds}` : seconds}\r\n </Typography>\r\n )}\r\n />\r\n )}\r\n\r\n {countOn === \"off\" && (\r\n <Typography\r\n sx={{\r\n ...VariantStyles.body1_regular,\r\n color: PrimitiveColor.color_palette_neutral_60,\r\n }}\r\n >\r\n Waktu habis\r\n </Typography>\r\n )}\r\n\r\n {/* BUTTON */}\r\n {countOn === \"on\" ? (\r\n <BaseButton\r\n variant=\"text\"\r\n color=\"color_palette_blue\"\r\n onClick={handleClose}\r\n >\r\n Batalkan\r\n </BaseButton>\r\n ) : (\r\n <BaseButton\r\n variant=\"fill\"\r\n color=\"color_palette_blue\"\r\n onClick={setTime}\r\n >\r\n Kirim Ulang\r\n </BaseButton>\r\n )}\r\n </Box>\r\n </DialogContent>\r\n </Dialog>\r\n );\r\n};\r\n"]}