spotlibs-components 0.1.10 → 0.1.12
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.
- package/dist/{chunk-OGJBPTUP.mjs → chunk-F6KSEYVB.mjs} +3 -3
- package/dist/{chunk-OGJBPTUP.mjs.map → chunk-F6KSEYVB.mjs.map} +1 -1
- package/dist/chunk-UFE7HFT2.mjs +60 -0
- package/dist/chunk-UFE7HFT2.mjs.map +1 -0
- package/dist/{chunk-NXFLMH2Q.mjs → chunk-YOSPWY5K.mjs} +3 -4
- package/dist/{chunk-NXFLMH2Q.mjs.map → chunk-YOSPWY5K.mjs.map} +1 -1
- package/dist/{atoms → components/atoms}/icons/index.mjs +2 -2
- package/dist/components/index.d.mts +449 -0
- package/dist/components/index.mjs +7053 -0
- package/dist/components/index.mjs.map +1 -0
- package/dist/{mui → components/mui}/index.mjs +1 -1
- package/dist/components/types.d.mts +4 -0
- package/dist/{types-B0iF5xX8.d.mts → types-D1akE7ak.d.mts} +334 -245
- package/dist/utils/index.d.mts +106 -0
- package/dist/utils/index.mjs +477 -0
- package/dist/utils/index.mjs.map +1 -0
- package/package.json +13 -2
- package/src/utils/admin-kuota-nasional/constant.d.ts +23 -0
- package/src/utils/admin-kuota-nasional/constant.js +95 -0
- package/src/utils/asset.d.ts +1 -0
- package/src/utils/asset.js +10 -0
- package/src/utils/booleanUtils.d.ts +2 -0
- package/src/utils/booleanUtils.js +19 -0
- package/src/utils/briguna-digital/constant.d.ts +2 -0
- package/src/utils/briguna-digital/constant.js +12 -0
- package/src/utils/compress.d.ts +2 -0
- package/src/utils/compress.js +24 -0
- package/src/utils/compressImage.d.ts +6 -0
- package/src/utils/compressImage.js +20 -0
- package/src/utils/constants.d.ts +5 -0
- package/src/utils/constants.js +20 -0
- package/src/utils/cookies.d.ts +19 -0
- package/src/utils/cookies.js +102 -0
- package/src/utils/crypto.d.ts +5 -0
- package/src/utils/crypto.js +104 -0
- package/src/utils/decodeString.d.ts +1 -0
- package/src/utils/decodeString.js +17 -0
- package/src/utils/disableFormElements.d.ts +5 -0
- package/src/utils/disableFormElements.js +19 -0
- package/src/utils/excelUtils.d.ts +25 -0
- package/src/utils/excelUtils.js +60 -0
- package/src/utils/exception.d.ts +19 -0
- package/src/utils/exception.js +86 -0
- package/src/utils/formatString.d.ts +25 -0
- package/src/utils/formatString.js +151 -0
- package/src/utils/formatters/account.d.ts +2 -0
- package/src/utils/formatters/account.js +98 -0
- package/src/utils/formatters/currency.d.ts +20 -0
- package/src/utils/formatters/currency.js +125 -0
- package/src/utils/formatters/date.d.ts +12 -0
- package/src/utils/formatters/date.js +219 -0
- package/src/utils/formatters/index.d.ts +47 -0
- package/src/utils/formatters/index.js +47 -0
- package/src/utils/formatters/string.d.ts +6 -0
- package/src/utils/formatters/string.js +114 -0
- package/src/utils/generateImportExcel.d.ts +35 -0
- package/src/utils/generateImportExcel.js +546 -0
- package/src/utils/generateTimestamp.d.ts +1 -0
- package/src/utils/generateTimestamp.js +4 -0
- package/src/utils/handleApiError.d.ts +1 -0
- package/src/utils/handleApiError.js +17 -0
- package/src/utils/index.d.ts +104 -0
- package/src/utils/index.js +92 -0
- package/src/utils/json.d.ts +4 -0
- package/src/utils/json.js +55 -0
- package/src/utils/localStorage.d.ts +1 -0
- package/src/utils/localStorage.js +8 -0
- package/src/utils/logger.d.ts +4 -0
- package/src/utils/logger.js +46 -0
- package/src/utils/schema/globalSchema.d.ts +8 -0
- package/src/utils/schema/globalSchema.js +10 -0
- package/src/utils/signature.d.ts +10 -0
- package/src/utils/signature.js +75 -0
- package/src/utils/specifics/korporasi/prakarsaKorporasiUtils.d.ts +5 -0
- package/src/utils/specifics/korporasi/prakarsaKorporasiUtils.js +87 -0
- package/src/utils/specifics/mikro/validationMaintenanceAgunanUtils.d.ts +2 -0
- package/src/utils/specifics/mikro/validationMaintenanceAgunanUtils.js +214 -0
- package/src/utils/static-data/korporasi/prakarsa/analisa-risiko-kredit-nasabah/analisa-kinerja-keuangan/listStaticData.js +290 -0
- package/src/utils/static-data/korporasi/prakarsa/appendix/proyeksi-laporan-arus-kas/listStaticData.js +7 -0
- package/src/utils/static-data/korporasi/prakarsa/appendix/proyeksi-laporan-keuangan/listStaticData.js +75 -0
- package/src/utils/static-data/korporasi/prakarsa/appendix/total-exposure-group/listStaticData.js +7 -0
- package/src/utils/static-data/korporasi/prakarsa/create/listStaticData.js +21 -0
- package/src/utils/static-data/korporasi/prakarsa/generals/listExcelConfigData.js +11 -0
- package/src/utils/static-data/korporasi/prakarsa/pengajuan-fasilitas-kredit/fasilitas-kredit/listStaticData.js +69 -0
- package/src/utils/static-data/korporasi-internasional/eksternal/listStaticData.js +193 -0
- package/src/utils/static-data/korporasi-internasional/master/listStaticData.js +24 -0
- package/src/utils/static-data/korporasi-internasional/uji-kepatuhan/listStaticData.js +250 -0
- package/src/utils/status.d.ts +37 -0
- package/src/utils/status.js +160 -0
- package/src/utils/store/adminKuotaNasional.js +7 -0
- package/src/utils/store/authStore.js +13 -0
- package/src/utils/store/bankGaransiStore.js +10 -0
- package/src/utils/store/korporasi/approval/interface/interfaceStore.js +10 -0
- package/src/utils/store/korporasi/general/generalKorporasiStore.js +13 -0
- package/src/utils/store/korporasi/loan-disbursement/loanDisbursementStore.js +77 -0
- package/src/utils/store/korporasi/prakarsa/fasilitas-kredit/fasilitasKreditStore.js +141 -0
- package/src/utils/store/migrasi-mandiri/migrasiMandiriStore.js +53 -0
- package/src/utils/store/monitoring-konsumer/monitoring-leads-KPP/monitoring-leads-kpp-internal.js +34 -0
- package/src/utils/store/prakarsaBankGaransiStore.js +21 -0
- package/src/utils/store/prognosa-crr/settingPrognosaROStore.js +9 -0
- package/src/utils/store/prognosaRMStore.js +30 -0
- package/src/utils/store/restrukStore.js +26 -0
- package/src/utils/store/verificationAccessLink.js +11 -0
- package/src/utils/store/warkat-bg-wholesale/warkatBgWholesaleStore.js +22 -0
- package/src/utils/stringUtils.d.ts +22 -0
- package/src/utils/stringUtils.js +226 -0
- package/src/utils/tipeBank.d.ts +3 -0
- package/src/utils/tipeBank.js +14 -0
- package/dist/index.css +0 -32
- package/dist/index.css.map +0 -1
- package/dist/index.d.mts +0 -1726
- package/dist/index.mjs +0 -18560
- package/dist/index.mjs.map +0 -1
- package/dist/types.d.mts +0 -4
- /package/dist/{atoms → components/atoms}/icons/index.d.mts +0 -0
- /package/dist/{atoms → components/atoms}/icons/index.mjs.map +0 -0
- /package/dist/{mui → components/mui}/index.d.mts +0 -0
- /package/dist/{mui → components/mui}/index.mjs.map +0 -0
- /package/dist/{types.mjs → components/types.mjs} +0 -0
- /package/dist/{types.mjs.map → components/types.mjs.map} +0 -0
package/dist/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/legacy/atoms/accordion/default/default.jsx","../src/components/legacy/atoms/accordion/filter-accordion-both/filter-accordion-both.jsx","../src/components/legacy/atoms/accordion/filter-accordion-right/filter-accordion-right.jsx","../src/components/legacy/atoms/accordion/filter-accordion/filter-accordion.jsx","../src/components/legacy/atoms/icons/exclamation.jsx","../src/components/legacy/atoms/alert/default/default.jsx","../src/components/legacy/atoms/icons/circle-cross.jsx","../src/components/legacy/atoms/alert/error/error.jsx","../src/components/legacy/atoms/icons/info.jsx","../src/components/legacy/atoms/alert/info/info.jsx","../src/components/legacy/atoms/icons/circle-check.jsx","../src/components/legacy/atoms/alert/success/success.jsx","../src/components/legacy/atoms/alert/warning/warning.jsx","../src/components/legacy/atoms/background-login/background-login/background-login.jsx","../src/components/legacy/atoms/buttons/contained/contained.jsx","../src/components/legacy/atoms/buttons/default/default.jsx","../src/components/legacy/atoms/icons/info-hover.jsx","../src/components/legacy/atoms/buttons/hover/hover.jsx","../src/components/legacy/atoms/buttons/icon/icon.jsx","../src/components/legacy/atoms/buttons/iconButtons/iconButtons.jsx","../src/components/legacy/atoms/buttons/loading/loading.jsx","../src/components/legacy/atoms/buttons/moreButton/moreButton.jsx","../src/components/legacy/atoms/buttons/outlined/outlined.jsx","../src/components/legacy/atoms/buttons/text-only/text-only.jsx","../src/utils/formatString.js","../src/components/legacy/atoms/card/card-summary/card-summary.jsx","../src/components/legacy/atoms/card/default/default.jsx","../src/components/legacy/atoms/card/notification/notification.jsx","../src/components/legacy/atoms/card/with-blue-header/with-blue-header.jsx","../src/components/legacy/atoms/card/with-header-form-child/with-header-form-child.jsx","../src/components/legacy/atoms/card/with-header-space-between/with-header-space-between.jsx","../src/components/legacy/atoms/card/with-header/with-header.jsx","../src/components/legacy/atoms/card/without-header/without-header.jsx","../src/components/legacy/atoms/chart/Chart/Chart.jsx","../src/components/legacy/atoms/chart/ChartCustomLegends/ChartCustomLegends.jsx","../src/components/legacy/atoms/chart/CircularScoreProgressBar/CircularScoreProgressBar.jsx","../src/components/legacy/atoms/chips/blue/blue.jsx","../src/components/legacy/atoms/chips/default/default.jsx","../src/components/legacy/atoms/chips/sticker/sticker.jsx","../src/components/legacy/atoms/loader/skeleton/skeleton.module.css","../src/components/legacy/atoms/loader/skeleton/skeleton.jsx","../src/utils/asset.js","../src/components/legacy/atoms/loader/circular-loader/circular-loader.jsx","../src/components/legacy/atoms/shape/InvertedTrapezoid/InvertedTrapezoid.jsx","../src/components/legacy/atoms/switch/default/default.jsx","../src/components/legacy/atoms/typographies/label/label.jsx","../src/components/legacy/atoms/webcam/dialog/dialog.jsx","../src/components/legacy/atoms/webcam/modal/modal.jsx","../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/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/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/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/breadcrumbs/default/default.jsx","../src/components/legacy/molecules/carousel/image-carousel/image-carousel.jsx","../src/components/legacy/molecules/checkbox/default/default.jsx","../src/components/legacy/molecules/checkbox/labelled/labelled.jsx","../src/components/legacy/molecules/date_picker/date-range/date-range.jsx","../src/components/legacy/molecules/date_picker/date-time/date-time.jsx","../src/utils/json.js","../src/components/legacy/molecules/date_picker/date-with-clear/date-with-clear.jsx","../src/components/legacy/molecules/date_picker/date/date.jsx","../src/components/legacy/molecules/date_picker/day-picker/day-picker.jsx","../src/components/legacy/molecules/date_picker/month-picker/month-picker.jsx","../src/components/legacy/molecules/date_picker/time-picker/time-picker.jsx","../src/components/legacy/molecules/date_picker/week-picker/week-picker.jsx","../src/components/legacy/molecules/date_picker/year-month-picker/year-month-picker.jsx","../src/components/legacy/molecules/date_picker/year-picker/year-picker.jsx","../src/components/legacy/molecules/dialog/detail-table/detail-table.jsx","../src/components/legacy/molecules/radio/default/default.jsx","../src/components/legacy/molecules/radio/horizontal/horizontal.jsx","../src/components/legacy/molecules/radio/vertical/vertical.jsx","../src/components/legacy/molecules/selects/async-search/async-search.jsx","../src/components/legacy/molecules/selects/default/default.jsx","../src/components/legacy/molecules/selects/multi-select-chip-async-or-default/multi-select-chip-async-or-default.jsx","../src/components/legacy/molecules/selects/normal-search/normal-search.jsx","../src/components/legacy/molecules/stepper/dynamic-progress-stepper/progressStepper.jsx","../src/components/legacy/molecules/stepper/dynamic-stepper/multistep.jsx","../src/components/legacy/molecules/stepper/default/default.jsx","../src/components/legacy/molecules/table/data-table-briguna/data-table-briguna.jsx","../src/components/legacy/molecules/table/data-table-sticky/data-table-sticky.jsx","../src/components/legacy/molecules/table/data-table-sub-header/data-table-sub-header.jsx","../src/components/legacy/molecules/table/data-table-sub/data-table-sub.jsx","../src/components/legacy/molecules/table/data-table-year/data-table-year.jsx","../src/components/legacy/molecules/table/data-table/data-table.jsx","../src/components/legacy/molecules/table/headless-table/headless-table.jsx","../src/components/legacy/molecules/table/plain-data-table/plain-data-table.jsx","../src/components/legacy/molecules/table/serverside-pagination-actions/serverside-pagination-actions.jsx","../src/components/legacy/molecules/table/submenu-data-table/submenu-data-table.jsx","../src/components/legacy/molecules/table/table-pagination-actions/table-pagination-actions.jsx","../src/components/legacy/molecules/text_fields/default-currency/default-currency.jsx","../src/components/legacy/molecules/text_fields/default/default.jsx","../src/components/legacy/molecules/text_fields/dropzone-kuota-nasional/dropzone-kuota-nasional.jsx","../src/components/legacy/molecules/text_fields/dropzone-multiple/dropzone-multiple.jsx","../src/components/legacy/molecules/text_fields/dropzone/dropzone.jsx","../src/components/legacy/molecules/text_fields/filled-icon/filled-icon.jsx","../src/components/legacy/molecules/text_fields/multiline/multiline.jsx","../src/components/legacy/molecules/text_fields/password/password.jsx","../src/components/legacy/molecules/text_fields/pasteImage/pasteImage.jsx","../src/components/legacy/molecules/text_fields/prefix-postfix-currency/prefix-postfix-currency.jsx","../src/components/legacy/molecules/text_fields/prefix-postfix-upload-pipeline-cp/prefix-postfix-upload-pipeline-cp.jsx","../src/components/legacy/molecules/text_fields/prefix-postfix-upload/prefix-postfix-upload.jsx","../src/components/legacy/molecules/text_fields/prefix-postfix/prefix-postfix.jsx","../src/components/legacy/molecules/text_fields/search/search.jsx","../src/components/legacy/molecules/text_fields/with-button/with-button.jsx","../src/components/legacy/organisms/wysiwyg/imports.js","../src/components/legacy/organisms/wysiwyg/text-editor.jsx","../src/components/legacy/organisms/forms/builder/builder.jsx","../src/components/legacy/organisms/tooltips/steps/steps.jsx","../src/components/legacy/organisms/modals/confirm-delete-with-form/confirm-delete-with-form.jsx","../src/components/legacy/organisms/modals/confirm-delete-with-textarea/confirm-delete-with-textarea.jsx","../src/components/legacy/organisms/modals/confirm-pipeline-prakarsa/confirm-pipeline-prakarsa.jsx","../src/components/legacy/organisms/modals/confirm-pipeline-to-prakarsa/confirm-pipeline-to-prakarsa.jsx","../src/components/legacy/organisms/modals/confirmation/confirmation.jsx","../src/components/legacy/organisms/modals/confirmationDinamis/confirmationDinamis.jsx","../src/components/legacy/organisms/modals/dynamic-custom-modal/dynamic-custom-modal.jsx","../src/components/legacy/organisms/modals/error/error.jsx","../src/components/legacy/organisms/modals/level-uker/level-uker.jsx","../src/components/legacy/organisms/modals/loading/loading.jsx","../src/components/legacy/organisms/modals/modal-customfield/modal-customfield.jsx","../src/components/legacy/organisms/modals/modal-multi-customfield/modal-multi-customfield.jsx","../src/components/legacy/organisms/modals/modal-textfield/modal-textfield.jsx","../src/components/legacy/organisms/modals/modal-upload/modal-upload.jsx","../src/components/legacy/organisms/modals/modal-view-custom/modal-view-custom.jsx","../src/components/legacy/organisms/modals/modal-view/modal-view.jsx","../src/components/legacy/organisms/modals/otp-custom/otp-custom.jsx","../src/components/legacy/organisms/modals/save-pipeline/save-pipeline.jsx","../src/components/legacy/organisms/modals/stepper/stepper.jsx","../src/components/legacy/organisms/modals/success-dinamis/success-dinamis.jsx","../src/components/legacy/organisms/modals/success-pipeline/success-pipeline.jsx","../src/components/legacy/organisms/modals/success/success.jsx","../src/components/legacy/organisms/modals/warning/warning.jsx","../src/helpers/modal.js","../src/components/legacy/organisms/modals/global/global.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/colors/derived/derived.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":["_a","_b","ExpandMoreIcon","Typography","jsxs","Accordion","jsx","AccordionSummary","AccordionDetails","SearchIcon","AlertTitle","Alert","Button","darken","React","id","Box","useState","IconButton","twMerge","AccountBalanceIcon","Fragment","KeyboardArrowUpIcon","KeyboardArrowDownIcon","Card","CardHeader","context","useRef","useEffect","Chart","React4","handleClick","Paper","Chip","skeleton_default","buildStyles","Image","Dialog","CloseIcon","PermissionsComponent","WebcamDialog","PersonIcon","Checkbox","dayjs","TextField","InputAdornment","useController","DatePicker","Time","MenuItem","DialogContent","FormControl","RadioGroup","FormControlLabel","FormHelperText","Radio","Select","ErrorMessage","AsyncSelect","styled","StepConnector","ownerState","Check","PropTypes","Stack","Stepper","Step","StepLabel","React13","index","UnfoldMoreIconRaw","ArrowUpwardIconRaw","ArrowDownwardIconRaw","useTable","useSortBy","useExpanded","usePagination","TableRow","TableCell","Table","TableHead","UnfoldMoreIcon","ArrowUpwardIcon","ArrowDownwardIcon","TableBody","CellTotal","FooterTotal","FooterGrandTotal","TableContainer","TableFooter","IconButtonRaw","KeyboardArrowLeft","KeyboardArrowLeftRaw","KeyboardArrowRight","KeyboardArrowRightRaw","_c","allowedKeys","e","pastedData","selectionStart","selectionEnd","Dropzone","useCallback","NumericFormat","Input","dynamic","Tooltip","tooltipClasses","Grid","Link","Fade","object","string","useForm","yupResolver","DialogTitle","DialogActions","CloseIconRaw","DescriptionIcon","Divider","mixed","array","DescriptionIconRaw","Close","CustomCheckIcon","CheckIcon","FailedIcon","React44","ColorlibStepIconRoot","ColorlibStepIcon","props","labelStep","StepContent","CustomFailedIcon","InfoIcon","HtmlTooltip","MuiTypographyRaw","useMemo","createElement","color","Collapse","Switch","AntSwitch","FormGroup","CheckboxRaw","_d","_e","Popover","InputAdornmentRaw","DatePickerRaw","DateTimePicker","DateTimePickerRaw","TimePicker","TimePickerRaw","DateRange","BoxRaw","RadioRaw","FormControlLabelRaw","CheckRaw","CheckIconRaw","TypographyRaw","CustomStepLabel","stepLabelClasses","stepConnectorClasses","ColorlibConnector","CustomProcessIcon","countCompletedSteps","steps","TextFieldRaw","ButtonRaw","Editor","FailedIconRaw","DialogRaw","DialogTitleRaw","DialogContentRaw","DialogActionsRaw","StepperRaw","StepRaw","StepLabelRaw","TooltipRaw","CircularProgress","CircularProgressRaw","CustomInfoIcon","Countdown"],"mappings":"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","file":"index.mjs","sourcesContent":["import Accordion from '@mui/material/Accordion';\r\nimport AccordionSummary from '@mui/material/AccordionSummary';\r\nimport AccordionDetails from '@mui/material/AccordionDetails';\r\nimport Typography from '@mui/material/Typography';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\n\r\nexport const AccordionDefault = ({ children, title, icon, defaultExpanded,...props}) => {\r\n return (\r\n <Accordion\r\n disableGutters\r\n defaultExpanded={defaultExpanded}\r\n sx={{\r\n border: 'none !important',\r\n boxShadow: 'none !important',\r\n marginTop: 'none !important',\r\n \"&.MuiAccordion-root:before\": {\r\n backgroundColor: \"white\"\r\n }\r\n }}\r\n >\r\n <AccordionSummary\r\n expandIcon={props.expandIcon ?? <ExpandMoreIcon />}\r\n aria-controls='panel1a-content'\r\n id='panel1a-header'\r\n sx={{\r\n backgroundColor: '#EAF3FA',\r\n border: '1px solid #EAF3FA',\r\n borderRadius: '8px',\r\n height: '64px',\r\n ...props.sx\r\n }}\r\n >\r\n <Typography variant='subtitle1' sx={{ fontWeight: '700'}}>\r\n {title}\r\n </Typography>\r\n {\r\n icon ?\r\n <span className='ml-2 text-briGreen'>\r\n {icon}\r\n </span>\r\n : null\r\n }\r\n </AccordionSummary>\r\n <AccordionDetails sx={{ px: 3, ...props.sxBody }}>\r\n {children}\r\n </AccordionDetails>\r\n </Accordion>\r\n )\r\n}\r\n","import Accordion from \"@mui/material/Accordion\";\r\nimport AccordionSummary from \"@mui/material/AccordionSummary\";\r\nimport AccordionDetails from \"@mui/material/AccordionDetails\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport ExpandMoreIcon from \"@mui/icons-material/ExpandMore\";\r\n\r\nexport const FilterAccordionBoth = ({\r\n children,\r\n title,\r\n sideTitle,\r\n customHeader,\r\n colorTitle,\r\n colorSideTitle,\r\n isClose,\r\n statusText,\r\n statusTextColor,\r\n statusBackgroundColor,\r\n onToggle,\r\n disabled,\r\n}) => {\r\n return (\r\n <Accordion\r\n disableGutters\r\n sx={{\r\n border: \"none !important\",\r\n boxShadow: \"none\",\r\n \"&.MuiAccordion-root:before\": {\r\n backgroundColor: \"white\",\r\n },\r\n \"&.MuiAccordion-rounded\": {\r\n borderRadius: \"10px 10px\",\r\n },\r\n }}\r\n defaultExpanded={isClose ? false : true}\r\n onChange={(event, expanded) => {\r\n if (!disabled) {\r\n onToggle?.(expanded);\r\n }\r\n }}\r\n >\r\n <AccordionSummary\r\n expandIcon={\r\n !disabled ? (\r\n <ExpandMoreIcon sx={{ color: `${colorSideTitle || \"white\"}` }} />\r\n ) : (\r\n <div style={{ visibility: \"hidden\", width: \"24px\" }} /> // Tetap memberikan ruang sama\r\n )\r\n }\r\n aria-controls=\"panel1a-content\"\r\n id=\"panel1a-header\"\r\n sx={{\r\n backgroundColor: `${customHeader || \"#084F8C\"}`,\r\n borderBottom: \"2px solid #EDEDED\",\r\n borderRadius: \"10px 10px 0 0\",\r\n color: `${colorSideTitle || \"white\"}`,\r\n }}\r\n >\r\n <div className=\"flex items-center justify-between gap-2 w-full\">\r\n <Typography\r\n variant=\"h6\"\r\n sx={{ color: `${colorTitle || \"white\"}`, fontWeight: \"600\" }}\r\n >\r\n {title}\r\n </Typography>\r\n {statusText && (\r\n <div\r\n style={{\r\n backgroundColor: statusBackgroundColor,\r\n borderRadius: \"8px\",\r\n width: \"200px\",\r\n height: \"40px\",\r\n alignContent: \"center\",\r\n }}\r\n >\r\n <Typography\r\n variant=\"subtitle1\"\r\n sx={{\r\n color: statusTextColor,\r\n fontWeight: \"600\",\r\n textAlign: \"center\",\r\n }}\r\n >\r\n {statusText}\r\n </Typography>\r\n </div>\r\n )}\r\n\r\n <div style={{ width: \"150px\" }}>\r\n {!disabled && (\r\n <div className=\"flex items-center justify-end\">\r\n <Typography\r\n variant=\"subtitle1\"\r\n sx={{ fontWeight: \"700\", marginRight: \"10px\" }}\r\n >\r\n {sideTitle}\r\n </Typography>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </AccordionSummary>\r\n {!disabled && (\r\n <AccordionDetails sx={{ px: 3, mt: 2 }}>{children}</AccordionDetails>\r\n )}\r\n </Accordion>\r\n );\r\n};\r\n","import Accordion from \"@mui/material/Accordion\";\r\nimport AccordionSummary from \"@mui/material/AccordionSummary\";\r\nimport AccordionDetails from \"@mui/material/AccordionDetails\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport ExpandMoreIcon from \"@mui/icons-material/ExpandMore\";\r\nimport SearchIcon from \"@mui/icons-material/Search\";\r\n\r\nexport const FilterAccordionRight = ({ children, title, icon, customHeader, colorText, endComponent }) => {\r\n return (\r\n <Accordion\r\n disableGutters\r\n sx={{\r\n border: \"none !important\",\r\n boxShadow: \"none\",\r\n marginTop: \"1.5rem\",\r\n marginBottom: \"1.5rem\",\r\n \"&.MuiAccordion-root:before\": {\r\n backgroundColor: \"white\",\r\n },\r\n \"&.MuiAccordion-rounded\": {\r\n borderRadius: \"10px 10px\",\r\n },\r\n }}\r\n defaultExpanded\r\n >\r\n <AccordionSummary\r\n expandIcon={<ExpandMoreIcon sx={{ color: `${colorText ? colorText : \"white\"}` }} />}\r\n aria-controls=\"panel1a-content\"\r\n id=\"panel1a-header\"\r\n sx={{\r\n backgroundColor: `${customHeader ? customHeader : \"#084F8C\"}`,\r\n border: `1px solid ${customHeader ? customHeader : \"#084F8C\"}`,\r\n borderRadius: \"10px 10px 0 0\",\r\n color: `${colorText ? colorText : \"white\"}`,\r\n }}\r\n >\r\n <div className=\"flex items-center justify-center gap-2 w-full\">\r\n\r\n <div className=\"ml-auto\">\r\n <div className=\"flex items-center gap-2\">\r\n {\r\n icon ? icon :\r\n <SearchIcon />\r\n }\r\n <Typography variant=\"subtitle1\" sx={{ fontWeight: \"700\", marginRight: \"10px\" }}>\r\n {title}\r\n </Typography>\r\n </div>\r\n {endComponent ? (\r\n <div className=\"flex items-center\">{endComponent}</div>\r\n ) : null}\r\n </div>\r\n </div>\r\n </AccordionSummary>\r\n <AccordionDetails sx={{ px: 3 }}>\r\n {children}\r\n </AccordionDetails>\r\n </Accordion>\r\n );\r\n};","import Accordion from \"@mui/material/Accordion\";\r\nimport AccordionSummary from \"@mui/material/AccordionSummary\";\r\nimport AccordionDetails from \"@mui/material/AccordionDetails\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport ExpandMoreIconRaw from \"@mui/icons-material/ExpandMore\";\r\nimport SearchIconRaw from \"@mui/icons-material/Search\";\r\n\r\nconst ExpandMoreIcon = ExpandMoreIconRaw?.default ?? ExpandMoreIconRaw;\r\nconst SearchIcon = SearchIconRaw?.default ?? SearchIconRaw;\r\n\r\nexport const FilterAccordion = ({ children, title, icon, customHeader, colorText, isClose}) => {\r\n return (\r\n <Accordion\r\n disableGutters\r\n sx={{\r\n border: \"none !important\",\r\n boxShadow: \"none\",\r\n marginBottom: \"1.5rem\",\r\n \"&.MuiAccordion-root:before\": {\r\n backgroundColor: \"white\",\r\n },\r\n \"&.MuiAccordion-rounded\": {\r\n borderRadius: \"10px 10px\",\r\n },\r\n }}\r\n defaultExpanded={isClose ? false : true}\r\n >\r\n <AccordionSummary\r\n expandIcon={<ExpandMoreIcon sx={{ color: `${colorText ? colorText : \"white\" }` }} />}\r\n aria-controls=\"panel1a-content\"\r\n id=\"panel1a-header\"\r\n sx={{\r\n backgroundColor: `${customHeader ? customHeader : \"#084F8C\" }`,\r\n border: `1px solid ${customHeader ? customHeader : \"#084F8C\" }`,\r\n borderRadius: \"10px 10px 0 0\",\r\n color: `${colorText ? colorText : \"white\" }`,\r\n }}\r\n >\r\n <div className=\"flex items-center justify-center gap-2\">\r\n {\r\n icon ? icon :\r\n <SearchIcon />\r\n }\r\n <Typography variant=\"subtitle1\" sx={{ fontWeight: \"700\" }}>\r\n {title}\r\n </Typography>\r\n </div>\r\n </AccordionSummary>\r\n <AccordionDetails sx={{px: 3}}>\r\n {children}\r\n </AccordionDetails>\r\n </Accordion>\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 { Box, Typography } from \"@mui/material\";\r\nimport { IconExclamation } from \"../../icons/exclamation\";\r\nexport const AlertDefault = ({\r\n children,\r\n title,\r\n color,\r\n icon,\r\n sx = {},\r\n iconStyle = {},\r\n containerStyle = {},\r\n contentStyle = {},\r\n ...props\r\n}) => {\r\n return (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n backgroundColor: color ?? \"#EDEDED\",\r\n borderRadius: \"8px\",\r\n padding: \"16px 18px\",\r\n ...sx,\r\n ...containerStyle,\r\n }}\r\n {...props}\r\n >\r\n <span\r\n style={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n marginRight: 14,\r\n background: { ...iconStyle },\r\n }}\r\n >\r\n {icon ?? <IconExclamation style={{ color: { ...iconStyle } }} />}\r\n </span>\r\n <Box sx={{ flex: 1, ...contentStyle }}>\r\n {title ? (\r\n <Typography fontWeight={600} sx={{ mb: 0.5 }}>\r\n {title}\r\n </Typography>\r\n ) : null}\r\n {children}\r\n </Box>\r\n </Box>\r\n );\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","import { Alert } from \"@mui/material\";\r\nimport AlertTitle from \"@mui/material/AlertTitle\";\r\nimport { CircleCross } from \"../../icons/circle-cross\";\r\n\r\nexport const AlertError = ({\r\n children,\r\n variant,\r\n title,\r\n color,\r\n icon,\r\n sx,\r\n onClose,\r\n childrenStyle = {},\r\n ...props\r\n}) => {\r\n const isStyled = Object.keys(childrenStyle).length > 0;\r\n return (\r\n <Alert\r\n variant={variant}\r\n icon={icon ?? <CircleCross color=\"#E84040\" />}\r\n severity=\"info\"\r\n sx={{\r\n backgroundColor: color ?? \"#FFEAEA\",\r\n borderRadius: \"8px\",\r\n ...sx,\r\n }}\r\n onClose={onClose}\r\n {...props}\r\n >\r\n {title ? <AlertTitle>{title}</AlertTitle> : null}\r\n {isStyled ? <span style={childrenStyle}>{children}</span> : children}\r\n </Alert>\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","import { Alert } from \"@mui/material\";\r\nimport AlertTitle from \"@mui/material/AlertTitle\";\r\nimport { IconInfo } from \"../../icons/info\";\r\n\r\nexport const AlertInfo = ({\r\n children,\r\n variant,\r\n title,\r\n color,\r\n icon,\r\n sx,\r\n onClose,\r\n childrenStyle = {},\r\n ...props\r\n}) => {\r\n const isStyled = Object.keys(childrenStyle).length > 0;\r\n return (\r\n <Alert\r\n variant={variant}\r\n icon={icon ?? <IconInfo color=\"#00529C\" isSmall />}\r\n severity=\"info\"\r\n sx={{\r\n backgroundColor: color ?? \"#EAF5FF\",\r\n borderRadius: \"8px\",\r\n \".MuiAlert-icon\": {\r\n alignSelf: \"center\",\r\n },\r\n \".MuiAlert-message\": {\r\n width: \"100%\",\r\n },\r\n ...sx,\r\n }}\r\n onClose={onClose}\r\n {...props}\r\n >\r\n {title ? <AlertTitle>{title}</AlertTitle> : null}\r\n {isStyled ? <span style={childrenStyle}>{children}</span> : children}\r\n </Alert>\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","import { Alert } from \"@mui/material\";\r\nimport AlertTitle from \"@mui/material/AlertTitle\";\r\nimport { CircleCheck } from \"../../icons/circle-check\";\r\n\r\nexport const AlertSuccess = ({\r\n children,\r\n variant,\r\n title,\r\n color,\r\n icon,\r\n sx,\r\n onClose,\r\n childrenStyle = {},\r\n ...props\r\n}) => {\r\n const isStyled = Object.keys(childrenStyle).length > 0;\r\n return (\r\n <Alert\r\n variant={variant}\r\n icon={icon ?? <CircleCheck color=\"#27AE60\" />}\r\n severity=\"info\"\r\n sx={{\r\n backgroundColor: color ?? \"#E6FFF3\",\r\n borderRadius: \"8px\",\r\n ...sx,\r\n }}\r\n onClose={onClose}\r\n {...props}\r\n >\r\n {title ? <AlertTitle>{title}</AlertTitle> : null}\r\n {isStyled ? <span style={childrenStyle}>{children}</span> : children}\r\n </Alert>\r\n );\r\n};\r\n","import { Alert } from \"@mui/material\";\r\nimport AlertTitle from \"@mui/material/AlertTitle\";\r\nimport { IconInfo } from \"../../icons/info\";\r\n\r\nexport const AlertWarning = ({\r\n children,\r\n variant,\r\n title,\r\n color,\r\n icon,\r\n sx,\r\n onClose,\r\n ...props\r\n}) => {\r\n return (\r\n <Alert\r\n variant={variant}\r\n icon={icon ?? <IconInfo color=\"#F2C94C\" isSmall />}\r\n severity=\"info\"\r\n sx={{\r\n backgroundColor: color ?? \"#FDF2D0\",\r\n borderRadius: \"8px\",\r\n ...sx,\r\n }}\r\n onClose={onClose}\r\n {...props}\r\n >\r\n {title ? <AlertTitle>{title}</AlertTitle> : null}\r\n {children}\r\n </Alert>\r\n );\r\n};\r\n","export const BackgroundLogin = ({ children }) => {\r\n return (\r\n <div\r\n className=\"flex flex-col h-screen bg-briMainBlue justify-between w-full overflow-auto\"\r\n style={{\r\n backgroundImage: \"url('./images/bg-login.svg')\",\r\n backgroundRepeat: \"no-repeat\",\r\n backgroundSize: \"cover\",\r\n }}\r\n >\r\n {children}\r\n </div>\r\n );\r\n};\r\n","import { Button } from \"@mui/material\";\r\nimport { darken } from \"@mui/material\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport const ButtonContained = ({\r\n onClick,\r\n sx,\r\n className,\r\n startIcon,\r\n children,\r\n colorType = \"default\",\r\n ...restProps\r\n}) => {\r\n // Fungsi untuk dapatkan warna dasar\r\n const getColor = (type) => {\r\n switch (type) {\r\n case \"primary\":\r\n return \"#00529C\";\r\n case \"secondary\":\r\n return \"#ED6E12\";\r\n case \"danger\":\r\n return \"#E84040\";\r\n case \"success\":\r\n return \"#219653\";\r\n case \"default\":\r\n default:\r\n return \"#BDBDBD\";\r\n }\r\n };\r\n\r\n const baseColor = getColor(colorType);\r\n\r\n return (\r\n <Button\r\n variant=\"contained\"\r\n sx={{\r\n borderRadius: \"10px\",\r\n fontWeight: 700,\r\n backgroundColor: baseColor,\r\n color: \"#FFFFFF\",\r\n \":hover\": {\r\n backgroundColor: darken(baseColor, 0.1),\r\n },\r\n \":active\": {\r\n backgroundColor: darken(baseColor, 0.1),\r\n },\r\n \":disabled\": {\r\n color: \"rgba(0, 0, 0, 0.26)\",\r\n boxShadow: \"none\",\r\n backgroundColor: \"rgba(0, 0, 0, 0.12)\",\r\n },\r\n ...sx, // merge props sx tambahan\r\n }}\r\n className={twMerge(\"cursor-pointer\", className)}\r\n startIcon={startIcon}\r\n onClick={onClick}\r\n disabled={restProps.disabled}\r\n {...restProps}\r\n >\r\n {children}\r\n </Button>\r\n );\r\n};\r\n","import { Button } from \"@mui/material\";\r\nimport { darken } from \"@mui/material\";\r\n\r\nexport const ButtonDefault = ({\r\n onClick,\r\n children,\r\n model,\r\n color,\r\n sx,\r\n ...restProps\r\n}) => {\r\n return (\r\n <Button\r\n sx={{\r\n borderRadius: \"10px\",\r\n fontWeight: \"700\",\r\n backgroundColor: `${\r\n model == \"fill\"\r\n ? color\r\n : model == \"outline\" || model == \"text\"\r\n ? \"#FFFFFF\"\r\n : null\r\n }`,\r\n color: `${\r\n model == \"fill\"\r\n ? \"#FFFFFF\"\r\n : model == \"outline\" || model == \"text\"\r\n ? color\r\n : null\r\n }`,\r\n border: `${model == \"outline\" ? `1px solid ${color}` : null}`,\r\n \":hover\": {\r\n backgroundColor: `${\r\n model == \"fill\"\r\n ? darken(color, 0.1)\r\n : model == \"outline\"\r\n ? darken(\"#FFFFFF\", 0.1)\r\n : darken(\"#FFFFFF\", 0.02)\r\n }`,\r\n },\r\n \":active\": {\r\n backgroundColor: `${\r\n model == \"fill\" ? darken(color, 0.1) : darken(\"#FFFFFF\", 0.1)\r\n }`,\r\n },\r\n \":disabled\": {\r\n color: \"rgba(0, 0, 0, 0.26)\",\r\n boxShadow: \"none\",\r\n ...(model === \"fill\" && { backgroundColor: \"rgba(0, 0, 0, 0.12)\" }),\r\n ...(model === \"outline\" && { border: \"1px solid rgba(0, 0, 0, 0.26)\" }),\r\n },\r\n ...sx,\r\n }}\r\n className=\"w-full cursor-pointer\"\r\n onClick={onClick}\r\n {...restProps}\r\n >\r\n {children}\r\n </Button>\r\n );\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","'use client';\r\nimport * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Popper from \"@mui/material/Popper\";\r\nimport Fade from \"@mui/material/Fade\";\r\nimport { IconInfoHover } from \"../../icons/info-hover\";\r\nimport { Button } from \"@mui/material\";\r\nimport { darken } from \"@mui/material\";\r\n\r\nexport default function ButtonHover({ children }) {\r\n const [open, setOpen] = React.useState(false);\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n\r\n const onMouseOver = (event) => {\r\n setAnchorEl(event.currentTarget);\r\n setOpen((previousOpen) => !previousOpen);\r\n };\r\n\r\n const onMouseOut = () => {\r\n setOpen(false);\r\n };\r\n\r\n const canBeOpen = open && Boolean(anchorEl);\r\n const id = canBeOpen ? \"transition-popper\" : undefined;\r\n\r\n return (\r\n <div>\r\n <Button\r\n onMouseOver={onMouseOver}\r\n onMouseOut={onMouseOut}\r\n sx={{\r\n backgroundColor: \"#FF9800\",\r\n color: \"#FFFFFF\",\r\n borderRadius: \"5px\",\r\n px: \"10px\",\r\n py: \"10px\",\r\n \":hover\": {\r\n backgroundColor: darken(\"#FF9800\", 0.1),\r\n },\r\n \":active\": {\r\n backgroundColor: darken(\"#FF9800\", 0.1),\r\n },\r\n }}\r\n variant=\"contained\"\r\n >\r\n <IconInfoHover />\r\n </Button>\r\n <Popper\r\n id={id}\r\n open={open}\r\n anchorEl={anchorEl}\r\n placement=\"top\"\r\n transition\r\n >\r\n {({ TransitionProps }) => (\r\n <Fade {...TransitionProps} timeout={350}>\r\n <Box\r\n sx={{\r\n border: 1,\r\n p: 1,\r\n borderRadius: \"5px\",\r\n bgcolor: \"background.paper\",\r\n mb: 1,\r\n }}\r\n >\r\n {children}\r\n </Box>\r\n </Fade>\r\n )}\r\n </Popper>\r\n </div>\r\n );\r\n}\r\n","import { Button } from \"@mui/material\";\r\n\r\nconst ButtonIcon = ({\r\n children,\r\n onClick,\r\n className,\r\n variant,\r\n sx,\r\n ...props\r\n}) => {\r\n return (\r\n <Button\r\n size=\"small\"\r\n onClick={onClick}\r\n className={className}\r\n sx={{\r\n padding: \"10px 16px\",\r\n borderRadius: \"10px\",\r\n width: \"57px\",\r\n height: \"36px\",\r\n ...sx,\r\n }}\r\n {...props}\r\n variant={variant || \"outlined\"}\r\n >\r\n {children}\r\n </Button>\r\n );\r\n};\r\n\r\nexport default ButtonIcon;\r\n","import { IconButton } from '@mui/material'\r\n\r\nexport const IconButtons = ({ children, sx, ...restProps }) => {\r\n return (\r\n <IconButton\r\n sx={{\r\n borderRadius: '10px',\r\n fontWeight: '800',\r\n ...sx\r\n\r\n }}\r\n className='w-full cursor-pointer'\r\n {...restProps}\r\n >\r\n {children}\r\n </IconButton>\r\n )\r\n}\r\n","import { LoadingButton } from \"@mui/lab\"\r\n\r\nexport const ButtonLoading = ({ children, loading, sx, ...restProps }) => {\r\n return (\r\n <LoadingButton\r\n sx={{\r\n borderRadius: \"11px\",\r\n ...sx,\r\n }}\r\n variant=\"contained\"\r\n className=\"text-white w-full cursor-pointer\"\r\n classes={{ loadingIndicator: \"text-white\" }}\r\n loading={loading}\r\n {...restProps}\r\n >\r\n {children}\r\n </LoadingButton>\r\n )\r\n}\r\n","'use client';\r\nimport { useState } from \"react\";\r\nimport { IconButton, Menu, MenuItem, Box } from \"@mui/material\";\r\nimport MoreVertIcon from \"@mui/icons-material/MoreVert\";\r\n\r\nexport default function MoreButton({ options = [] }) {\r\n const [anchorEl, setAnchorEl] = useState(null);\r\n const open = Boolean(anchorEl);\r\n\r\n const handleOpen = (event) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n return (\r\n <>\r\n <Box\r\n sx={{\r\n border: \"1px solid #0059A6\",\r\n width: 40,\r\n height: 40,\r\n borderRadius: \"8px\",\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n <IconButton\r\n size=\"small\"\r\n onClick={handleOpen}\r\n sx={{ color: \"#0059A6\" }}\r\n >\r\n <MoreVertIcon />\r\n </IconButton>\r\n </Box>\r\n\r\n <Menu open={open} anchorEl={anchorEl} onClose={handleClose}>\r\n {options.map((opt, idx) => (\r\n <MenuItem\r\n key={idx}\r\n onClick={() => {\r\n handleClose();\r\n opt.onClick && opt.onClick();\r\n }}\r\n disabled={opt.disabled}\r\n sx={{\r\n color: opt.disabled\r\n ? \"grey.400\"\r\n : opt.color || \"inherit\"\r\n }}\r\n >\r\n {opt.icon && <span style={{ marginRight: 8 }}>{opt.icon}</span>}\r\n {opt.label}\r\n </MenuItem>\r\n ))}\r\n </Menu>\r\n </>\r\n );\r\n}\r\n","import { Button } from \"@mui/material\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport const ButtonOutlined = ({\r\n onClick,\r\n sx,\r\n className,\r\n startIcon,\r\n children,\r\n colorType,\r\n ...restProps\r\n}) => {\r\n return (\r\n <Button\r\n variant=\"outlined\"\r\n sx={{\r\n borderRadius: \"10px\",\r\n fontWeight: \"700\",\r\n color:\r\n colorType === \"primary\"\r\n ? \"#00529C\"\r\n : colorType === \"secondary\"\r\n ? \"#ED6E12\"\r\n : colorType === \"default\"\r\n ? \"#BDBDBD\"\r\n : colorType === \"danger\"\r\n ? \"#E84040\"\r\n : colorType === \"success\"\r\n ? \"#219653\"\r\n : null,\r\n border:\r\n colorType === \"primary\"\r\n ? `1px solid #00529C`\r\n : colorType === \"secondary\"\r\n ? `1px solid #ED6E12`\r\n : colorType === \"default\"\r\n ? `1px solid #BDBDBD`\r\n : colorType === \"danger\"\r\n ? \"1px solid #E84040\"\r\n : colorType === \"success\"\r\n ? \"1px solid #219653\"\r\n : null,\r\n \":hover\": {\r\n border:\r\n colorType === \"primary\"\r\n ? `1px solid #00529C`\r\n : colorType === \"secondary\"\r\n ? `1px solid #ED6E12`\r\n : colorType === \"default\"\r\n ? `1px solid #BDBDBD`\r\n : colorType === \"danger\"\r\n ? \"1px solid #E84040\"\r\n : colorType === \"success\"\r\n ? \"1px solid #219653\"\r\n : null,\r\n },\r\n \":active\": {\r\n border:\r\n colorType === \"primary\"\r\n ? `1px solid #00529C`\r\n : colorType === \"secondary\"\r\n ? `1px solid #ED6E12`\r\n : colorType === \"default\"\r\n ? `1px solid #BDBDBD`\r\n : colorType === \"danger\"\r\n ? \"1px solid #E84040\"\r\n : colorType === \"success\"\r\n ? \"1px solid #219653\"\r\n : null,\r\n },\r\n \":disabled\": {\r\n color: \"rgba(0, 0, 0, 0.26)\",\r\n boxShadow: \"none\",\r\n backgroundColor: \"rgba(0, 0, 0, 0.12)\",\r\n },\r\n ...sx,\r\n }}\r\n className={twMerge(\"cursor-pointer\", className)}\r\n startIcon={startIcon}\r\n onClick={onClick}\r\n disabled={restProps.disabled}\r\n {...restProps}\r\n >\r\n {children}\r\n </Button>\r\n );\r\n};\r\n","import { Button } from \"@mui/material\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport const ButtonTextBorderless = ({\r\n onClick,\r\n sx,\r\n className,\r\n startIcon,\r\n children,\r\n colorType,\r\n ...restProps\r\n}) => {\r\n return (\r\n <Button\r\n variant=\"text\"\r\n sx={{\r\n borderRadius: \"10px\",\r\n fontWeight: \"700\",\r\n color:\r\n colorType === \"primary\"\r\n ? \"#00529C\"\r\n : colorType === \"secondary\"\r\n ? \"#ED6E12\"\r\n : colorType === \"danger\"\r\n ? \"#E84040\"\r\n : colorType === \"success\"\r\n ? \"#219653\"\r\n : colorType === \"default\"\r\n ? \"#BDBDBD\"\r\n : null,\r\n \":disabled\": {\r\n color: \"rgba(0, 0, 0, 0.26)\",\r\n boxShadow: \"none\",\r\n backgroundColor: \"rgba(0, 0, 0, 0.12)\",\r\n },\r\n ...sx,\r\n }}\r\n className={twMerge(\"cursor-pointer\", className)}\r\n startIcon={startIcon}\r\n onClick={onClick}\r\n disabled={restProps.disabled}\r\n {...restProps}\r\n >\r\n {children}\r\n </Button>\r\n );\r\n};\r\n","/* Formatting 500000 to Rp500.000,00\r\n implementasi di src/pages/prakarsa/prakarsa-korporasi/informasi-nasabah/pengecekan-kredit/dialog-lihat-sicd.jsx \r\n country dan curr disesuaikan dengan negara dan mata uang\r\n minFrac dan maxFrac disesuaikan dengan jumlah angka di belakang koma */\r\nexport const formatCurrency = (\r\n value,\r\n country = \"id-ID\",\r\n curr = \"IDR\",\r\n minFrac = 0,\r\n maxFrac = 0\r\n) => {\r\n if (value === undefined || value === null) return \"\";\r\n let formattedValue = new Intl.NumberFormat(country, {\r\n style: \"currency\",\r\n currency: curr,\r\n minimumFractionDigits: minFrac,\r\n maximumFractionDigits: maxFrac,\r\n }).format(value);\r\n\r\n return formattedValue.replace(/\\s/g, \"\");\r\n};\r\n\r\nexport const formatResponseDesc = (desc) => {\r\n return desc\r\n .replace(/_(\\w)/g, (_match, p1) => \" \" + p1.toUpperCase())\r\n .replace(/brispot/gi, \"BRISPOT\");\r\n};\r\n\r\nexport function dashedAccount(value) {\r\n // Remove numeric characters from the input\r\n const filteredValue = value?.replace(\r\n /[A-Za-z\\s!@#$%^&*_+{}()=`\"[\\]:;<>,?~\\\\|\\\\/-]/g,\r\n \"\"\r\n );\r\n // Replace the matched pattern with the matched group + a dash\r\n if (filteredValue?.length > 14) {\r\n const dashedValue = filteredValue.replace(\r\n /(\\d{4})(\\d{2})(\\d{6})(\\d{2})(\\d{1})/g,\r\n \"$1-$2-$3-$4-$5\"\r\n );\r\n return dashedValue ?? \"\";\r\n } else if (filteredValue?.length > 12) {\r\n const dashedValue = filteredValue.replace(\r\n /(\\d{4})(\\d{2})(\\d{6})(\\d{1})/g,\r\n \"$1-$2-$3-$4\"\r\n );\r\n return dashedValue ?? \"\";\r\n } else if (filteredValue?.length > 6) {\r\n const dashedValue = filteredValue.replace(\r\n /(\\d{4})(\\d{2})(\\d{1})/g,\r\n \"$1-$2-$3\"\r\n );\r\n return dashedValue ?? \"\";\r\n } else if (filteredValue?.length > 4) {\r\n const dashedValue = filteredValue.replace(/(\\d{4})(\\d{1})/g, \"$1-$2\");\r\n return dashedValue ?? \"\";\r\n } else {\r\n return filteredValue ?? \"\";\r\n }\r\n}\r\n\r\n/* Formatting 500000.95 to 500.000,95 \r\n implementasi di src/pages/prakarsa/prakarsa-bg/index.jsx \r\n minFrac dan maxFrac disesuaikan dengan jumlah angka di belakang koma */\r\nexport const formatNominal = (\r\n value,\r\n locale = \"id-ID\",\r\n minFrac = 0,\r\n maxFrac = 0,\r\n commaSeparator = \",\"\r\n) => {\r\n if (value === undefined || value === null || value === \"\") return \"\";\r\n\r\n let numberValue;\r\n if (typeof value === \"number\") {\r\n numberValue = value;\r\n } else if (typeof value === \"string\") {\r\n if (value.includes(\",\")) {\r\n numberValue = Number(value.replace(/\\./g, \"\").replace(\",\", \".\"));\r\n } else {\r\n numberValue = Number(value);\r\n }\r\n } else {\r\n return value;\r\n }\r\n \r\n if (isNaN(numberValue)) return value;\r\n \r\n const formatted = numberValue.toLocaleString(locale, {\r\n minimumFractionDigits: minFrac,\r\n maximumFractionDigits: maxFrac,\r\n });\r\n\r\n return formatted.replace(/,/g, commaSeparator);\r\n};\r\n\r\nexport const titleCase = (str) => {\r\n return str\r\n .toLowerCase()\r\n .split(\" \")\r\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\r\n .join(\" \");\r\n};\r\n\r\nexport const stringToBoolean = (str) => {\r\n if (str === \"true\" || str === \"false\") {\r\n return str === \"true\";\r\n } else {\r\n return;\r\n }\r\n};\r\n\r\nexport function dashedNPWP(value) {\r\n // Hapus karakter non-numerik dari input\r\n const filteredValue = value?.replace(/[^\\d]/g, \"\");\r\n\r\n // Terapkan format sesuai panjang angka\r\n if (filteredValue?.length > 15) {\r\n const dashedValue = filteredValue.replace(\r\n /(\\d{2})(\\d{3})(\\d{3})(\\d{1})(\\d{3})(\\d{4})/,\r\n \"$1.$2.$3.$4-$5.$6\"\r\n );\r\n return dashedValue ?? \"\";\r\n } else if (filteredValue?.length > 12) {\r\n const dashedValue = filteredValue.replace(\r\n /(\\d{2})(\\d{3})(\\d{3})(\\d{1})(\\d{3})/,\r\n \"$1.$2.$3.$4-$5\"\r\n );\r\n return dashedValue ?? \"\";\r\n } else if (filteredValue?.length > 9) {\r\n const dashedValue = filteredValue.replace(\r\n /(\\d{2})(\\d{3})(\\d{3})(\\d{1})/,\r\n \"$1.$2.$3.$4\"\r\n );\r\n return dashedValue ?? \"\";\r\n } else if (filteredValue?.length > 6) {\r\n const dashedValue = filteredValue.replace(\r\n /(\\d{2})(\\d{3})(\\d{1})/,\r\n \"$1.$2.$3\"\r\n );\r\n return dashedValue ?? \"\";\r\n } else if (filteredValue?.length > 2) {\r\n const dashedValue = filteredValue.replace(\r\n /(\\d{2})(\\d{3})/,\r\n \"$1.$2\"\r\n );\r\n return dashedValue ?? \"\";\r\n } else {\r\n return filteredValue ?? \"\";\r\n }\r\n}\r\n","\"use client\";\r\nimport React, { useState } from \"react\";\r\nimport { Card, IconButton, Collapse } from \"@mui/material\";\r\nimport AccountBalanceIcon from \"@mui/icons-material/AccountBalance\";\r\nimport { formatCurrency, formatNominal } from \"@/utils/formatString\";\r\nimport KeyboardArrowDownIcon from \"@mui/icons-material/KeyboardArrowDown\";\r\nimport KeyboardArrowUpIcon from \"@mui/icons-material/KeyboardArrowUp\";\r\n\r\nconst SummaryCard = ({\r\n title = \"\",\r\n subtitle = \"\",\r\n dataList = [],\r\n updateDate = \"-\",\r\n boldCountIcon = false,\r\n boldCount = false,\r\n boldTitle = false,\r\n boldUpdate = false,\r\n iconHeader = <AccountBalanceIcon sx={{ color: \"#00519C\" }} />,\r\n backgroundColor = \"#022D5A\",\r\n colorTitlte = \"#000000\",\r\n colorNominal = \"#000000\",\r\n displayIcon = true,\r\n formatNumber = \"currency\",\r\n colorCount = \"#000000\",\r\n}) => {\r\n const [open, setOpen] = useState(true);\r\n\r\n // Tentukan jumlah kolom berdasarkan jumlah item\r\n const getGridCols = (count) => {\r\n if (count <= 2) return \"grid-cols-1 sm:grid-cols-2\";\r\n if (count === 3) return \"grid-cols-1 sm:grid-cols-2 md:grid-cols-3\";\r\n if (count === 4) return \"grid-cols-1 sm:grid-cols-2 md:grid-cols-4\";\r\n return \"grid-cols-1 sm:grid-cols-2 md:grid-cols-3 xl:grid-cols-5\";\r\n };\r\n\r\n const gridClass = `grid ${getGridCols(dataList.length)} gap-4`;\r\n\r\n // fungsi pilih formatter\r\n const getFormattedNumber = (value) => {\r\n if (formatNumber === \"nominal\") {\r\n return formatNominal(value);\r\n }\r\n return formatCurrency(value);\r\n };\r\n\r\n return (\r\n <>\r\n <div className=\"flex justify-between items-center\">\r\n <div className=\"flex gap-2\">\r\n {iconHeader}\r\n <h2 className={boldTitle ? \"font-bold\" : \"\"}>\r\n {title} {subtitle}\r\n </h2>\r\n </div>\r\n <IconButton onClick={() => setOpen(!open)}>\r\n {open ? (\r\n <KeyboardArrowUpIcon color=\"primary\" />\r\n ) : (\r\n <KeyboardArrowDownIcon color=\"primary\" />\r\n )}\r\n </IconButton>\r\n </div>\r\n <p className={`py-2 ${boldUpdate ? \"font-bold\" : \"\"}`}>{updateDate}</p>\r\n\r\n <Collapse in={open} timeout={500}>\r\n <div className={gridClass}>\r\n {dataList.map((item, index) => {\r\n // Ambil semua title yang ada\r\n const titles = [item.title, item.title2, item.title3].filter(\r\n Boolean,\r\n );\r\n const counts = [item.count, item.count2, item.count3].filter(\r\n (c) => c !== undefined,\r\n );\r\n\r\n return (\r\n <Card\r\n key={index}\r\n sx={{\r\n borderRadius: \"10px\",\r\n backgroundColor: backgroundColor,\r\n px: 3,\r\n pb: 4,\r\n overflow: \"visible\",\r\n boxShadow: \"none\",\r\n paddingX: \"16px\",\r\n paddingY: \"16px\",\r\n }}\r\n >\r\n {titles.length > 1 ? (\r\n // Mode grid kalau lebih dari 1 title\r\n <div className={`grid gap-4 grid-cols-${titles.length}`}>\r\n {titles.map((t, idx) => (\r\n <div key={idx} className=\"flex flex-col items-start\">\r\n <p style={{ color: colorTitlte }}>{t}</p>\r\n <h3\r\n style={{ color: colorNominal }}\r\n className={boldCount ? \"font-bold\" : \"\"}\r\n >\r\n {getFormattedNumber(counts[idx] ?? 0)}\r\n </h3>\r\n </div>\r\n ))}\r\n </div>\r\n ) : (\r\n <>\r\n <div className=\"flex items-center justify-between \">\r\n <p style={{ color: colorTitlte }}>{item.title ?? \"-\"}</p>\r\n {displayIcon && (\r\n <div className=\"flex gap-1\">\r\n <div>{item.icon}</div>\r\n <p\r\n style={{ color: colorCount }}\r\n className={`pt-[2px] ${boldCountIcon ? \"font-bold\" : \"\"}`}\r\n >\r\n {formatNominal(item.countIcon)}\r\n </p>\r\n </div>\r\n )}\r\n </div>\r\n <div className=\"py-2\">\r\n <h3\r\n style={{ color: colorNominal }}\r\n className={boldCount ? \"font-bold\" : \"\"}\r\n >\r\n {getFormattedNumber(item.count)}\r\n </h3>\r\n </div>\r\n </>\r\n )}\r\n </Card>\r\n );\r\n })}\r\n </div>\r\n </Collapse>\r\n </>\r\n );\r\n};\r\n\r\nexport default SummaryCard;\r\n","import { Card } from \"@mui/material\";\r\n\r\nexport const CardDefault = ({ children, sx, ...restProps }) => {\r\n return (\r\n <Card\r\n sx={{ \r\n borderRadius: \"20px\", \r\n overflow: \"visible\",\r\n boxShadow: \"none\", \r\n ...sx }}\r\n >\r\n <div\r\n className='text-sm'\r\n {...restProps}\r\n >\r\n {children}\r\n </div>\r\n </Card>\r\n );\r\n};\r\n ","import { Card } from \"@mui/material\";\r\n\r\nexport const CardNotification = ({ children, sx, ...restProps }) => {\r\n return (\r\n <Card\r\n variant='outlined'\r\n sx={{ borderRadius: \"10px\", backgroundColor: \"#EAF3FA\", ...sx }}\r\n {...restProps}\r\n >\r\n <div\r\n className='text-sm'\r\n >\r\n {children} \r\n </div>\r\n\r\n </Card>\r\n );\r\n}","import { Card, CardHeader } from \"@mui/material\";\r\n\r\nexport const CardWithBlueHeader = ({ children, icon, label, sx, ...restProps }) => {\r\n return (\r\n <Card\r\n variant='outlined'\r\n sx={{ \r\n borderRadius: \"20px\",\r\n overflow: \"visible\", \r\n ...sx \r\n }}\r\n >\r\n <CardHeader \r\n sx={{ \r\n background:\"#084F8C\", \r\n color: \"#FFFFFF\", \r\n borderTopLeftRadius: \"10px\",\r\n borderTopRightRadius: \"10px\", }} \r\n avatar={icon}\r\n title={label}\r\n titleTypographyProps={{variant:'h6' }}\r\n />\r\n <div\r\n className='text-sm'\r\n {...restProps}\r\n >\r\n {children}\r\n </div>\r\n </Card>\r\n );\r\n};","import { Box, Card, CardHeader } from \"@mui/material\";\r\n\r\nexport const CardWithHeaderFormChild = ({\r\n children,\r\n icon,\r\n label,\r\n sx,\r\n endComponent,\r\n ...restProps\r\n}) => {\r\n\r\n return (\r\n <Card\r\n variant=\"outlined\"\r\n sx={{\r\n borderRadius: \"10px\",\r\n margin: \"20px 0\",\r\n padding: \"5px 20px\",\r\n overflow: \"visible\",\r\n ...sx,\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\"\r\n }}\r\n >\r\n <CardHeader\r\n sx={{ background: \"#FFFFFF\", color: \"#084F8C\" }}\r\n className=\"px-0\"\r\n avatar={icon}\r\n title={label}\r\n titleTypographyProps={{ variant: \"h6\" }}\r\n />\r\n {endComponent ? (\r\n <div className=\"flex items-center\">{endComponent}</div>\r\n ) : null}\r\n </Box>\r\n <div className=\"text-sm\" {...restProps}>\r\n {children}\r\n </div>\r\n </Card>\r\n );\r\n};\r\n","import { Box, Card } from \"@mui/material\";\r\nexport const CardWithHeaderSpaceBetween = ({\r\n children,\r\n icon,\r\n label,\r\n sx,\r\n bgColorHeader,\r\n endComponent,\r\n textColor,\r\n colorHeader,\r\n ...restProps\r\n}) => {\r\n return (\r\n <Card\r\n sx={{\r\n borderRadius: \"10px\",\r\n px: 1,\r\n pb: 4,\r\n overflow: \"visible\",\r\n boxShadow: \"none\",\r\n ...sx,\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n background: bgColorHeader || \"#FFFFFF\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"space-between\",\r\n paddingY: \"24px\",\r\n paddingX: 2,\r\n borderRadius: \"10px 10px 0 0\",\r\n }}\r\n >\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1, color: colorHeader || \"black\" }}>\r\n {icon}\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n fontSize: \"20px\",\r\n fontWeight: 600,\r\n color: textColor || \"#000000\",\r\n }}\r\n >\r\n {label}\r\n </Box>\r\n </Box>\r\n\r\n {endComponent && (\r\n <Box sx={{ display: \"flex\", alignItems: \"center\" }}>\r\n {endComponent}\r\n </Box>\r\n )}\r\n </Box>\r\n\r\n <Box className=\"text-sm\" {...restProps}>\r\n {children}\r\n </Box>\r\n </Card>\r\n );\r\n};","import { Box, Card, CardHeader } from \"@mui/material\";\r\n\r\nexport const CardWithHeader = ({\r\n children,\r\n icon,\r\n label,\r\n subLabel,\r\n subLabelColor = \"#00529C\",\r\n sx,\r\n colorHeader,\r\n endComponent,\r\n textColor,\r\n paddingX = \"0px\",\r\n ...restProps\r\n}) => {\r\n return (\r\n <Card\r\n sx={{\r\n borderRadius: \"10px\",\r\n px: 3,\r\n pb: 4,\r\n overflow: \"visible\",\r\n boxShadow: \"none\",\r\n ...sx,\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n paddingY: \"24px\",\r\n paddingX: paddingX,\r\n ...(label && label.length && {\r\n paddingY: \"24px\",\r\n })\r\n }}\r\n >\r\n <CardHeader\r\n sx={{ \r\n background: colorHeader ? colorHeader : \"#FFFFFF\", \r\n color: \"#084F8C\", \r\n p: 0\r\n }} // Fix background color syntax\r\n avatar={icon}\r\n title={\r\n <Box>\r\n <Box\r\n component=\"div\"\r\n sx={{\r\n fontSize: \"20px\",\r\n fontWeight: 600,\r\n color: textColor || \"#000000\",\r\n }}\r\n >\r\n {label}\r\n </Box>\r\n {subLabel && (\r\n <Box\r\n component=\"div\"\r\n sx={{\r\n fontSize: \"14px\",\r\n fontWeight: 600,\r\n color: subLabelColor,\r\n }}\r\n >\r\n {subLabel}\r\n </Box>\r\n )}\r\n </Box>\r\n }\r\n />\r\n {endComponent ? (\r\n <div className=\"flex items-center\">{endComponent}</div>\r\n ) : null}\r\n </Box>\r\n <div className=\"text-sm\" {...restProps}>\r\n {children}\r\n </div>\r\n </Card>\r\n );\r\n};\r\n","import { Card, Box } from \"@mui/material\";\r\n\r\nexport const CardWithoutHeader = ({ sx, children, bgColor = \"#eaf3fa\", ...restProps }) => {\r\n return (\r\n <Card\r\n sx={{\r\n borderRadius: \"10px\",\r\n overflow: \"visible\",\r\n backgroundColor: bgColor, \r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n height: \"100%\",\r\n justifyContent: \"space-between\",\r\n boxShadow: \"none\", // Menghilangkan box shadow\r\n ...sx\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n borderRadius: \"10px\",\r\n flex: 1, \r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n justifyContent: \"left\",\r\n alignItems: \"start\",\r\n paddingY: \"20px\",\r\n boxSizing: \"border-box\",\r\n }}\r\n >\r\n <div className=\"text-sm w-full\" {...restProps}>\r\n {children}\r\n </div>\r\n </Box>\r\n </Card>\r\n );\r\n};","'use client';\r\nimport { useRef, useEffect } from \"react\";\r\nimport { Chart } from \"chart.js/auto\";\r\n\r\nexport const ChartJS = ({ type, labels, datasets, options, width, height }) => {\r\n const chartRef = useRef(null);\r\n useEffect(() => {\r\n if (chartRef.current) {\r\n if (chartRef.current.chart) {\r\n chartRef.current.chart.destroy();\r\n }\r\n\r\n const context = chartRef.current.getContext(\"2d\");\r\n // const chartOptions = type === \"bar\" ? options : {}; // Set options to an empty object if type is not \"bar\"\r\n\r\n const newChart = new Chart(context, {\r\n type: type,\r\n data: {\r\n labels: labels,\r\n datasets: datasets,\r\n },\r\n options: {\r\n responsive: true,\r\n ...options,\r\n plugins: {\r\n ...options.plugins,\r\n legend: {\r\n position:\r\n /Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(\r\n window.navigator.userAgent\r\n )\r\n ? \"bottom\"\r\n : \"right\",\r\n display: options.plugins?.legend?.display ?? true,\r\n ...options.plugins?.legend,\r\n },\r\n ...(options?.plugins?.tooltip?.multipleLabel\r\n ? {\r\n tooltip: {\r\n callbacks: {\r\n label: (context) => {\r\n const visibleDataIndex = context.dataIndex; // Index of hovered data point\r\n\r\n // Access data and labels from both datasets\r\n let modifiedLabel = \"\";\r\n\r\n if (\r\n /Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(\r\n window.navigator.userAgent\r\n )\r\n ) {\r\n modifiedLabel += `${\r\n context.dataset.label\r\n }: ${context.dataset.data[\r\n visibleDataIndex\r\n ].toLocaleString()}`;\r\n } else {\r\n modifiedLabel += `${\r\n context.dataset.label\r\n }: ${context.dataset.data[\r\n visibleDataIndex\r\n ].toLocaleString()}`;\r\n modifiedLabel += ` (${\r\n newChart.data.datasets[1].label\r\n }: ${newChart.data.datasets[1].data[\r\n visibleDataIndex\r\n ].toLocaleString()})`;\r\n }\r\n\r\n // Return formatted tooltip content with labels and data\r\n return modifiedLabel;\r\n },\r\n },\r\n },\r\n }\r\n : {}),\r\n },\r\n },\r\n });\r\n\r\n chartRef.current.chart = newChart;\r\n }\r\n }, [type, labels, datasets, options]);\r\n return (\r\n <div style={{ width: width, height: height }}>\r\n <canvas ref={chartRef} />\r\n </div>\r\n );\r\n};\r\n","'use client';\r\nimport { useRef, useEffect, useState } from \"react\";\r\nimport { Chart } from \"chart.js/auto\";\r\n\r\nexport const ChartJSCustomLegends = ({\r\n type,\r\n labels,\r\n datasets,\r\n options,\r\n width,\r\n height,\r\n legendClassName,\r\n}) => {\r\n const chartRef = useRef(null);\r\n const [customLegends, setCustomLegends] = useState([]);\r\n\r\n useEffect(() => {\r\n if (chartRef.current) {\r\n if (chartRef.current.chart) {\r\n chartRef.current.chart.destroy();\r\n }\r\n\r\n const context = chartRef.current.getContext(\"2d\");\r\n\r\n const newChart = new Chart(context, {\r\n type: type,\r\n data: {\r\n labels: labels,\r\n datasets: datasets,\r\n },\r\n options: {\r\n responsive: true,\r\n ...options,\r\n plugins: {\r\n ...options.plugins,\r\n legend: {\r\n display: false, // Disable default legend\r\n },\r\n },\r\n },\r\n });\r\n\r\n chartRef.current.chart = newChart;\r\n\r\n // Generate custom legends and set state\r\n const generatedLabels =\r\n newChart.options.plugins.legend.labels.generateLabels(newChart);\r\n setCustomLegends(generatedLabels);\r\n }\r\n }, [type, labels, datasets, options]);\r\n\r\n return (\r\n <div className=\"flex-row w-full\">\r\n <div className=\"flex align-center justify-center \">\r\n <div style={{ width: width, height: height }}>\r\n <canvas ref={chartRef} />\r\n </div>\r\n </div>\r\n <div className=\"py-9\"></div>\r\n <div className={`relative w-full`}>\r\n <div className={`absolute ${legendClassName}`}>\r\n {customLegends.map((label, index) => (\r\n <div\r\n key={index}\r\n style={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n marginBottom: \"8px\",\r\n }}\r\n >\r\n <span\r\n style={{\r\n backgroundColor: label.fillStyle,\r\n width: \"20px\",\r\n height: \"20px\",\r\n display: \"inline-block\",\r\n marginRight: \"8px\",\r\n borderRadius: \"3px\",\r\n }}\r\n ></span>\r\n <span>{label.text}</span>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { CircularProgressbarWithChildren, buildStyles } from 'react-circular-progressbar';\r\n// import 'react-circular-progressbar/dist/styles.css';\r\nimport { Box, Typography, Stack } from '@mui/material';\r\nimport PersonIcon from \"@mui/icons-material/Person\";\r\n\r\nconst PRIMARY_COLOR = \"#4DAAFF\"; \r\nconst TRACK_COLOR = \"#E0E0E0\"; \r\n\r\nconst Pointer = ({ percentage, strokeWidth, trailColor, pathColor }) => {\r\n void trailColor;\r\n if (percentage <= 0) return null;\r\n\r\n const radius = 50 - strokeWidth / 2;\r\n \r\n // Posisi dihitung berdasarkan keliling\r\n const pointX = 50 + radius * Math.sin(2 * Math.PI * (percentage / 100));\r\n const pointY = 50 - radius * Math.cos(2 * Math.PI * (percentage / 100));\r\n\r\n return (\r\n <circle\r\n cx={pointX}\r\n cy={pointY}\r\n r={strokeWidth / 2 + 1}\r\n fill=\"white\"\r\n stroke={pathColor}\r\n strokeWidth={2}\r\n style={{\r\n transition: 'stroke-dashoffset 0.5s ease 0s',\r\n }}\r\n />\r\n );\r\n};\r\n\r\n\r\n// --- Komponen Utama ---\r\nexport const CircularScoreProgressBar = ({ \r\n score = 0,\r\n size = 150, \r\n strokeWidth = 5,\r\n IconComponent = PersonIcon,\r\n}) => {\r\n \r\n const normalizedScore = Math.min(100, Math.max(0, score));\r\n\r\n return (\r\n <Box sx={{ width: size, height: size, position: 'relative' }}>\r\n <CircularProgressbarWithChildren\r\n value={normalizedScore}\r\n strokeWidth={strokeWidth}\r\n styles={buildStyles({\r\n trailColor: TRACK_COLOR,\r\n pathColor: PRIMARY_COLOR,\r\n pathTransitionDuration: 0.5,\r\n rotation: 0.001, \r\n })}\r\n counterClockwise={false}\r\n className=\"progressbar-with-pointer\"\r\n >\r\n <Box sx={{ position: 'relative', width: '100%', height: '100%', display: 'flex', alignItems: 'center', justifyContent: 'center', marginTop: '10px' }}>\r\n <Stack alignItems=\"center\" spacing={0.5}>\r\n {IconComponent && (\r\n <Box\r\n sx={{\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n width: 37,\r\n height: 37,\r\n borderRadius: '50%',\r\n backgroundColor: 'rgba(77, 170, 255, 0.2)',\r\n mb: 0.5, \r\n }}\r\n >\r\n <IconComponent sx={{ color: PRIMARY_COLOR, fontSize: 20 }} />\r\n </Box>\r\n )}\r\n <Typography sx={{ fontWeight: 700, fontSize: 18 }}>\r\n {`${Math.round(normalizedScore)}%`}\r\n </Typography>\r\n </Stack>\r\n </Box>\r\n </CircularProgressbarWithChildren>\r\n\r\n <Box sx={{ position: 'absolute', top: 0, left: 0, width: '100%', height: '100%' }}>\r\n <svg viewBox=\"0 0 100 100\">\r\n <Pointer percentage={normalizedScore} strokeWidth={strokeWidth} pathColor={PRIMARY_COLOR} />\r\n </svg>\r\n </Box>\r\n </Box>\r\n );\r\n};","import { ButtonDefault } from \"../../buttons/default\";\r\n\r\nexport default function ChipsBlue({ items = [], selected, onClick, ...props }) {\r\n return (\r\n <div className=\"flex flex-wrap gap-2\">\r\n {items.map((item, index) => (\r\n <ButtonDefault\r\n key={index}\r\n sx={{\r\n position: \"sticky\",\r\n px: \"22px\",\r\n mb: \"12px\",\r\n borderRadius: \"99999px\",\r\n }}\r\n className=\"justify-center\"\r\n model={item === selected ? \"fill\" : \"outline\"}\r\n color=\"#00529C\"\r\n onClick={onClick}\r\n {...props}\r\n >\r\n {item}\r\n </ButtonDefault>\r\n ))}\r\n </div>\r\n );\r\n}\r\n","'use client';\r\n/* eslint-disable no-unused-vars */\r\nimport * as React from \"react\";\r\nimport Chip from \"@mui/material/Chip\";\r\nimport Paper from \"@mui/material/Paper\";\r\nimport { TabContext, TabList, TabPanel } from \"@mui/lab\";\r\nimport { darken } from \"@mui/material\";\r\n\r\nexport default function ChipsDefault({\r\n variant = \"outlined\",\r\n color = \"#00529C\",\r\n chipData = [],\r\n sx = {},\r\n onChange = () => {},\r\n value = 0,\r\n ...restProps\r\n}) {\r\n const [chipValue, setChipValue] = React.useState(value);\r\n\r\n React.useEffect(() => {\r\n if (value !== chipValue) {\r\n setChipValue(value);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [value]);\r\n\r\n const handleClick = (e, newValue) => {\r\n e.preventDefault();\r\n setChipValue(newValue);\r\n if (onChange) {\r\n onChange(newValue);\r\n }\r\n };\r\n\r\n return (\r\n <TabContext value={chipValue}>\r\n <Paper\r\n sx={{\r\n background: \"none\",\r\n listStyle: \"none\",\r\n boxShadow: \"none\",\r\n }}\r\n component=\"ul\"\r\n >\r\n <TabList\r\n sx={{\r\n \".MuiTabs-indicator\": {\r\n background: \"none\",\r\n },\r\n }}\r\n >\r\n {chipData?.map((data, index) => {\r\n return (\r\n <div className=\"my-2\" key={index}>\r\n <Chip\r\n variant={chipValue === index ? variant : \"outlined\"}\r\n label={data.label}\r\n onClick={(e) => handleClick(e, index)}\r\n sx={{\r\n \".MuiChip-label\": {\r\n color: chipValue === index ? \"white\" : \"#00529C\",\r\n fontWeight: 700,\r\n },\r\n \":hover\": {\r\n backgroundColor:\r\n chipValue === index\r\n ? darken(color, 0.1)\r\n : darken(\"#FFFFFF\", 0.1),\r\n },\r\n borderColor: \"#00529C\",\r\n backgroundColor: chipValue === index ? color : \"white\",\r\n ...sx,\r\n }}\r\n {...restProps}\r\n />\r\n </div>\r\n );\r\n })}\r\n </TabList>\r\n </Paper>\r\n {chipData?.map((data, index) => {\r\n return (\r\n <TabPanel\r\n key={index}\r\n sx={{\r\n padding: \"0\",\r\n }}\r\n value={index}\r\n >\r\n {data.description}\r\n </TabPanel>\r\n );\r\n })}\r\n </TabContext>\r\n );\r\n}","import { Chip } from \"@mui/material\";\r\nimport { twMerge } from \"tailwind-merge\";\r\nimport CheckCircleIcon from \"@mui/icons-material/CheckCircle\";\r\nimport CancelIcon from \"@mui/icons-material/Cancel\";\r\n\r\nexport default function ChipSticker({\r\n label,\r\n startIcon,\r\n type,\r\n className,\r\n bgColor,\r\n ...props\r\n}) {\r\n return (\r\n <Chip\r\n label={label}\r\n icon={\r\n type === \"success\" ? (\r\n <CheckCircleIcon color=\"#27AE60\" />\r\n ) : type === \"danger\" ? (\r\n <CancelIcon color=\"error\" />\r\n ) : (\r\n startIcon\r\n )\r\n }\r\n sx={{\r\n fontWeight: 600,\r\n color:\r\n type === \"success\"\r\n ? \"#27AE60\"\r\n : type === \"danger\"\r\n ? \"#E84040\"\r\n : props.color ?? \"white\",\r\n backgroundColor:\r\n type === \"success\"\r\n ? \"#E0FAEC\"\r\n : type === \"danger\"\r\n ? \"#FFEAEA\"\r\n : bgColor,\r\n borderRadius: \"8px\",\r\n padding: \"8px 0px 8px 8px\",\r\n \".MuiChip-label\": {\r\n paddingX: \"8px\",\r\n },\r\n \".MuiChip-icon\": {\r\n margin: 0,\r\n },\r\n ...props.sx,\r\n }}\r\n className={twMerge(\"text-sm cursor-auto w-fit\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n","@keyframes skeleton-loading {\r\n 0% {\r\n background-position: -134px 0;\r\n }\r\n 100% {\r\n background-position: calc(134px + 100%) 0;\r\n }\r\n}\r\n\r\n.skeleton{\r\n display: flex;\r\n min-width: 134px;\r\n height: calc(100% - 12px);\r\n min-height: 23px;\r\n overflow: hidden;\r\n margin: auto 0px;\r\n justify-content: center;\r\n border-radius: 4px;\r\n position: relative;\r\n top: -2px;\r\n opacity: .4;\r\n background-image: linear-gradient(90deg, lightgray, darkgray, lightgray);\r\n background-size: 200px 100%;\r\n animation: skeleton-loading ease-in-out 1.5s infinite;\r\n -webkit-animation: skeleton-loading ease-in-out 1.5s infinite;\r\n}","import React from 'react';\r\nimport Styles from '@/components/legacy/atoms/loader/skeleton/skeleton.module.css';\r\n\r\nconst Skeleton = () => {\r\n return (\r\n <div className={Styles.skeleton}>\r\n </div>\r\n );\r\n};\r\n\r\nexport default Skeleton;","export const callAsset = (uri = \"\") => {\r\n const basePath =\r\n typeof window === \"undefined\"\r\n ? \"\"\r\n : (window.__NEXT_DATA__?.assetPrefix ||\r\n process.env.NEXT_PUBLIC_BASE_PATH ||\r\n \"\");\r\n\r\n return `${basePath}${uri}`;\r\n};","'use client';\r\n// import \"react-circular-progressbar/dist/styles.css\";\r\nimport { CircularProgressbar, buildStyles } from \"react-circular-progressbar\";\r\nimport Image from \"next/image\";\r\nimport { Dialog, DialogContent } from \"@mui/material\";\r\nimport { callAsset } from \"@/utils/asset\";\r\n\r\nexport const CircularProgressModal = ({ open, progress = 0, title, description }) => {\r\n return (\r\n <Dialog\r\n open={open}\r\n onClose={() => {}}\r\n aria-labelledby=\"circular-progress-modal\"\r\n sx={{\r\n \"& .MuiDialog-container\": {\r\n \"& .MuiPaper-root\": {\r\n width: \"100%\",\r\n maxWidth: \"400px\",\r\n padding: \"15px 0\",\r\n },\r\n \"& .MuiDialog-paper\": {\r\n borderRadius: \"10px\",\r\n },\r\n },\r\n }}\r\n >\r\n\r\n <DialogContent\r\n sx={{\r\n display: \"grid\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\"\r\n }}\r\n >\r\n <div style={{ width: 130, height: 130 }} className=\"justify-self-center\">\r\n <CircularProgressbar\r\n value={progress}\r\n styles={buildStyles({\r\n pathColor: \"#00529C\",\r\n trailColor: \"#d6d6d6\",\r\n })}\r\n />\r\n <div\r\n style={{\r\n position: \"absolute\",\r\n top: \"36%\",\r\n left: \"50%\",\r\n transform: \"translate(-50%, -50%)\",\r\n width: 100,\r\n height: 100,\r\n borderRadius: \"50%\",\r\n overflow: \"hidden\",\r\n }}\r\n >\r\n <Image\r\n src={callAsset(\"/images/brispot-logo.png\")}\r\n alt=\"center-logo\"\r\n width={100}\r\n height={100}\r\n style={{ objectFit: \"cover\" }}\r\n priority\r\n />\r\n </div>\r\n </div>\r\n <div className=\"text-lg font-bold text-center mt-3 mb-2\"> {title} </div>\r\n <div className=\"text-center\"> {description} </div>\r\n </DialogContent>\r\n </Dialog>\r\n );\r\n};","import React from 'react';\r\n\r\nexport const InvertedTrapezoid = ({ width, height, label }) => {\r\n const path = `\r\n M 0 20\r\n Q 0 0 20 0\r\n L ${width - 20} 0\r\n Q ${width} 0 ${width} 20\r\n L ${width - 25} ${height - 20}\r\n Q ${width - 40} ${height} ${width - 50} ${height}\r\n L 50 ${height}\r\n Q 40 ${height} 25 ${height - 20}\r\n Z\r\n `;\r\n\r\n return (\r\n <svg width={width} height={height} viewBox={`0 0 ${width} ${height}`} style={{ margin: '10px 0' }}>\r\n <path d={path} fill=\"#EAF3FA\" />\r\n <text\r\n x=\"50%\"\r\n y=\"50%\"\r\n dominantBaseline=\"middle\"\r\n textAnchor=\"middle\"\r\n fill=\"#00529C\"\r\n fontSize=\"15\"\r\n fontFamily=\"Arial\"\r\n fontWeight=\"bold\"\r\n >\r\n {label}\r\n </text>\r\n </svg>\r\n );\r\n};","'use client';\r\nimport { Switch, styled } from \"@mui/material\";\r\nimport { useState } from \"react\";\r\n\r\nconst AntSwitch = styled(Switch)(({ theme }) => ({\r\n width: 28,\r\n height: 16,\r\n padding: 0,\r\n display: \"flex\",\r\n \"&:active\": {\r\n \"& .MuiSwitch-thumb\": {\r\n width: 15,\r\n },\r\n \"& .MuiSwitch-switchBase.Mui-checked\": {\r\n transform: \"translateX(9px)\",\r\n },\r\n },\r\n \"& .MuiSwitch-switchBase\": {\r\n padding: 2,\r\n \"&.Mui-checked\": {\r\n transform: \"translateX(12px)\",\r\n color: \"#fff\",\r\n \"& + .MuiSwitch-track\": {\r\n opacity: 1,\r\n backgroundColor: theme.palette.mode === \"dark\" ? \"#177ddc\" : \"#00529C\",\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: 12,\r\n height: 12,\r\n borderRadius: 6,\r\n transition: theme.transitions.create([\"width\"], {\r\n duration: 200,\r\n }),\r\n },\r\n \"& .MuiSwitch-track\": {\r\n borderRadius: 16 / 2,\r\n opacity: 1,\r\n backgroundColor:\r\n theme.palette.mode === \"dark\"\r\n ? \"rgba(255,255,255,.35)\"\r\n : \"rgba(0,0,0,.25)\",\r\n boxSizing: \"border-box\",\r\n },\r\n}));\r\n\r\nexport const SwitchDefault = ({ status, label, isDisabled = false, onChange }) => {\r\n const [checked, setChecked] = useState(status);\r\n\r\n const handleChange = (event) => {\r\n setChecked(event.target.checked);\r\n\r\n if (onChange) onChange(event)\r\n };\r\n\r\n return (\r\n <div className=\"grid grid-flow-col gap-2\">\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 {label ? (\r\n <p className=\"font-normal text-sm\">\r\n {checked ? \"Toggle ON\" : \"Toggle OFF\"}\r\n </p>\r\n ) : null}\r\n </div>\r\n );\r\n};\r\n","import React from \"react\";\r\nimport { twMerge } from \"tailwind-merge\";\r\nexport const TextLabel = ({ children, className, ...restProps }) => {\r\n return (\r\n <p\r\n className={twMerge(\"font-semibold text-base my-2\", className)}\r\n {...restProps}\r\n >\r\n {children}\r\n </p>\r\n );\r\n};\r\n","'use client';\r\nimport { useEffect, useRef, useState } from 'react';\r\nimport { Dialog, IconButton } from '@mui/material';\r\nimport CloseIcon from '@mui/icons-material/Close';\r\nimport { ButtonDefault } from '../../buttons/default';\r\n\r\n// Izin Kamera Skeleton UI\r\nconst PermissionsComponent = () => (\r\n <div className='py-[80px] bg-[#F5F5F5] flex flex-col items-center'>\r\n <div className='w-[348px] h-[164px] border-black border-[3px] p-[16px] rounded-2xl mx-auto bg-white flex flex-col justify-between'>\r\n <div className='flex flex-col'>\r\n <div className='w-[130px] h-[20px] bg-[#F5F5F5] mb-3 rounded-lg' />\r\n <div className='flex gap-2'>\r\n <div className='w-[20px] h-[20px] bg-[#F5F5F5] rounded-lg' />\r\n <div className='w-[250px] h-[20px] bg-[#F5F5F5] rounded-lg' />\r\n </div>\r\n </div>\r\n <div className='flex gap-2 mt-4'>\r\n <div className='w-1/2 h-[45px] bg-[#F5F5F5] border border-[#cecece] text-center rounded-lg flex items-center justify-center text-[#cecece]'>Deny</div>\r\n <div className='w-1/2 h-[45px] bg-[#EAF5FF] border border-[#00529C] text-center rounded-lg flex items-center justify-center text-[#00529C]'>Allow</div>\r\n </div>\r\n </div>\r\n </div>\r\n);\r\n\r\n// Komponen Kamera Capture\r\nconst CameraCapture = ({ onCapture, setErrorType, onStopStream }) => {\r\n const videoRef = useRef(null);\r\n const streamRef = useRef(null);\r\n\r\n useEffect(() => {\r\n // 👉 khusus Storybook\r\n if (\r\n typeof window !== 'undefined' &&\r\n window.__STORYBOOK_ADDONS &&\r\n !navigator.mediaDevices\r\n ) {\r\n setErrorType('GeneralError');\r\n return;\r\n }\r\n\r\n if (!navigator.mediaDevices?.getUserMedia) {\r\n setErrorType('GeneralError');\r\n return;\r\n }\r\n\r\n navigator.mediaDevices.getUserMedia({ video: true })\r\n .then((stream) => {\r\n streamRef.current = stream;\r\n if (videoRef.current) {\r\n videoRef.current.srcObject = stream;\r\n }\r\n setErrorType(null);\r\n })\r\n .catch((err) => {\r\n if (err.name === 'NotAllowedError') setErrorType('NotAllowedError');\r\n else setErrorType('GeneralError');\r\n });\r\n\r\n return () => {\r\n streamRef.current?.getTracks().forEach(track => track.stop());\r\n };\r\n }, [setErrorType]);\r\n\r\n\r\n const handleCapture = () => {\r\n if (!videoRef.current) return;\r\n const canvas = document.createElement('canvas');\r\n canvas.width = videoRef.current.videoWidth || 640;\r\n canvas.height = videoRef.current.videoHeight || 480;\r\n const ctx = canvas.getContext('2d');\r\n ctx.drawImage(videoRef.current, 0, 0, canvas.width, canvas.height);\r\n const imgData = canvas.toDataURL('image/png');\r\n\r\n // stop webcam immediately after capture\r\n streamRef.current?.getTracks().forEach(track => track.stop());\r\n onStopStream?.();\r\n onCapture(imgData);\r\n };\r\n\r\n return (\r\n <>\r\n <video\r\n ref={videoRef}\r\n autoPlay\r\n playsInline\r\n className=\"w-full h-full border scale-x-[-1]\"\r\n />\r\n <div className=\"flex justify-center p-4\">\r\n <div className=\"bg-[#00529C] w-[60px] h-[60px] flex items-center justify-center rounded-full py-[2px] px-[1px]\">\r\n <button\r\n onClick={handleCapture}\r\n className=\"border-solid border-[#ffffff] border-[2px] bg-[#00529C] text-white hover:bg-[#003f7f] w-full h-full ms-[1px] mb-[1px] rounded-full cursor-pointer\"\r\n />\r\n </div>\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\n// Preview hasil foto\r\nconst CapturedImagePreview = ({ imageData, onRetake, onConfirm }) => (\r\n <>\r\n <div className=\"flex justify-center p-4\">\r\n {/* eslint-disable-next-line @next/next/no-img-element */}\r\n <img\r\n src={imageData}\r\n alt=\"Captured\"\r\n className=\"w-full h-auto max-w-[100%] max-h-[400px] object-cover rounded-lg scale-x-[-1]\"\r\n />\r\n </div>\r\n <div className=\"flex justify-center gap-4 p-4\">\r\n <ButtonDefault\r\n sx={{ padding: \"6px 24px\" }}\r\n model=\"outlined\"\r\n color=\"#00529C\"\r\n type=\"button\"\r\n onClick={onRetake}\r\n >\r\n Ambil Ulang\r\n </ButtonDefault>\r\n <ButtonDefault\r\n sx={{ padding: \"6px 24px\" }}\r\n model=\"fill\"\r\n color=\"#00529C\"\r\n type=\"button\"\r\n onClick={onConfirm}\r\n >\r\n Gunakan Foto\r\n </ButtonDefault>\r\n </div>\r\n </>\r\n);\r\n\r\n// UI Jika error permission\r\nconst PermissionsInfo = ({ errorType }) => (\r\n <>\r\n <PermissionsComponent />\r\n <p className=\"font-bold text-center mt-6 mb-3\">\r\n {errorType === 'NotAllowedError' ? \"Mohon Izinkan Akses Kamera\" : \"Gagal mengakses webcam\"}\r\n </p>\r\n <p className=\"text-center mb-8\">\r\n {errorType === 'NotAllowedError'\r\n ? \"Izinkan browser mengakses kamera untuk melanjutkan proses berikut.\"\r\n : \"Silakan coba lagi atau periksa perangkat kamera Anda.\"}\r\n </p>\r\n </>\r\n);\r\n\r\n// Komponen utama dialog\r\nconst WebcamDialog = ({ toggle, handleClose, callbackImageData }) => {\r\n const [imageData, setImageData] = useState(null);\r\n const [errorType, setErrorType] = useState(null);\r\n\r\n const resetWebcam = () => {\r\n setImageData(null);\r\n setErrorType(null);\r\n };\r\n\r\n const handleCapture = (imgData) => {\r\n setImageData(imgData);\r\n };\r\n\r\n const handleConfirm = () => {\r\n callbackImageData(imageData);\r\n resetWebcam();\r\n handleClose();\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n useEffect(() => {\r\n if (!toggle) resetWebcam();\r\n }, [toggle]);\r\n\r\n return (\r\n <Dialog open={toggle} fullWidth keepMounted>\r\n <div className=\"flex justify-between items-center p-4\">\r\n <div className=\"font-semibold text-lg\">Ambil Bukti Kehadiran Debitur</div>\r\n <IconButton onClick={() => {\r\n resetWebcam();\r\n handleClose();\r\n }}>\r\n <CloseIcon />\r\n </IconButton>\r\n </div>\r\n <div className=\"p-0\">\r\n {toggle && (\r\n imageData ? (\r\n <CapturedImagePreview\r\n imageData={imageData}\r\n onRetake={resetWebcam}\r\n onConfirm={handleConfirm}\r\n />\r\n ) : errorType ? (\r\n <PermissionsInfo errorType={errorType} />\r\n ) : (\r\n <CameraCapture\r\n onCapture={handleCapture}\r\n setErrorType={setErrorType}\r\n />\r\n )\r\n )}\r\n </div>\r\n </Dialog>\r\n );\r\n};\r\n\r\nexport default WebcamDialog;\r\n","'use client';\r\nimport { useEffect, useRef, useState } from 'react';\r\nimport { Dialog, IconButton } from '@mui/material';\r\nimport CloseIcon from '@mui/icons-material/Close';\r\nimport { ButtonDefault } from '../../buttons/default';\r\n\r\nconst PermissionsComponent = () => (\r\n <div className='py-[80px] bg-[#F5F5F5] flex flex-col items-center'>\r\n <div className='w-[348px] h-[164px] border-black border-[3px] p-[16px] rounded-2xl mx-auto bg-white flex flex-col justify-between'>\r\n <div className='flex flex-col'>\r\n <div className='w-[130px] h-[20px] bg-[#F5F5F5] mb-3 rounded-lg'/>\r\n <div className='flex gap-2'>\r\n <div className='w-[20px] h-[20px] bg-[#F5F5F5] rounded-lg'/>\r\n <div className='w-[250px] h-[20px] bg-[#F5F5F5] rounded-lg'/>\r\n </div>\r\n </div>\r\n <div className='flex gap-2 mt-4'>\r\n <div className='w-1/2 h-[45px] bg-[#F5F5F5] border border-[#cecece] text-center rounded-lg flex items-center justify-center text-[#cecece]'>Deny</div>\r\n <div className='w-1/2 h-[45px] bg-[#EAF5FF] border-solid border-[1px] border-[#00529C] text-center rounded-lg flex items-center justify-center text-[#00529C]'>Allow</div>\r\n </div>\r\n </div>\r\n </div>\r\n);\r\n\r\nconst WebcamDialog = ({ toggle, handleClose }) => {\r\n const videoRef = useRef(null);\r\n // eslint-disable-next-line no-unused-vars\r\n const [toggleWebcam, setToggleWebcam] = useState(toggle);\r\n const [errorType, setErrorType] = useState(null);\r\n const [streamAvailable, setStreamAvailable] = useState(false);\r\n const [imageData, setImageData] = useState(null);\r\n const [mediaStream, setMediaStream] = useState(null);\r\n\r\n /* eslint-disable react-hooks/exhaustive-deps */\r\n useEffect(() => {\r\n if (toggle) {\r\n setToggleWebcam(true);\r\n navigator.mediaDevices.getUserMedia({ video: true })\r\n .then((stream) => {\r\n setMediaStream(stream);\r\n setErrorType(null);\r\n setStreamAvailable(true);\r\n })\r\n .catch((err) => {\r\n setMediaStream(null);\r\n setStreamAvailable(false);\r\n if (err.name === 'NotAllowedError') setErrorType('NotAllowedError');\r\n else setErrorType('GeneralError');\r\n });\r\n } else {\r\n if (mediaStream) {\r\n setToggleWebcam(false);\r\n mediaStream.getTracks().forEach(track => track.stop());\r\n }\r\n }\r\n\r\n return () => {\r\n if (mediaStream) {\r\n mediaStream.getTracks().forEach(track => track.stop());\r\n }\r\n setToggleWebcam(false);\r\n setMediaStream(null);\r\n setErrorType(null);\r\n setStreamAvailable(false);\r\n };\r\n }, [toggle]);\r\n\r\n useEffect(() => {\r\n if (videoRef.current && mediaStream) {\r\n videoRef.current.srcObject = mediaStream;\r\n }\r\n }, [videoRef, mediaStream]);\r\n\r\n const handleShutterPhoto = () => {\r\n if (videoRef.current && mediaStream) {\r\n const canvas = document.createElement('canvas');\r\n canvas.width = videoRef.current.videoWidth || 640;\r\n canvas.height = videoRef.current.videoHeight || 480;\r\n const context = canvas.getContext('2d');\r\n context.drawImage(videoRef.current, 0, 0, canvas.width, canvas.height);\r\n const imgData = canvas.toDataURL('image/png');\r\n setImageData(imgData);\r\n\r\n mediaStream.getTracks().forEach(track => track.stop());\r\n setMediaStream(null);\r\n }\r\n };\r\n\r\n const ComponentsWebcam = () => {\r\n if (imageData) {\r\n return (\r\n <>\r\n <div className=\"flex justify-center p-4\">\r\n {/* eslint-disable-next-line @next/next/no-img-element */}\r\n <img src={imageData} alt=\"Captured\" className=\"w-full h-auto max-w-[100%] max-h-[400px] object-cover rounded-lg\" />\r\n </div>\r\n <div className=\"flex justify-center gap-4 p-4\">\r\n <ButtonDefault\r\n sx={{ padding: \"6px 24px\" }}\r\n model=\"outlined\"\r\n color=\"#00529C\"\r\n type=\"button\"\r\n onClick={() => {\r\n setToggleWebcam(true);\r\n setImageData(null);\r\n mediaStream.getTracks().forEach(track => track.start());\r\n }}\r\n >\r\n Ambil ulang\r\n </ButtonDefault>\r\n <ButtonDefault\r\n sx={{ padding: \"6px 24px\" }}\r\n model=\"fill\"\r\n color=\"#00529C\"\r\n type=\"button\"\r\n onClick={handleClose}\r\n >\r\n Gunakan Foto\r\n </ButtonDefault>\r\n </div>\r\n </>\r\n );\r\n }\r\n\r\n if (errorType === 'NotAllowedError') {\r\n return (\r\n <>\r\n <PermissionsComponent />\r\n <p className=\"font-bold text-center mt-6 mb-3\">Mohon Izinkan Akses Kamera</p>\r\n <p className=\"text-center mb-8\">Izinkan browser mengakses kamera untuk melanjutkan proses berikut.</p>\r\n </>\r\n );\r\n }\r\n\r\n if (errorType === 'GeneralError') {\r\n return <p className=\"text-red-600 text-center\">Gagal mengakses webcam. Silakan coba lagi.</p>;\r\n }\r\n\r\n if (streamAvailable) {\r\n return (\r\n <>\r\n <video\r\n ref={videoRef}\r\n autoPlay\r\n playsInline\r\n className=\"w-full h-full border scale-x-[-1]\"\r\n />\r\n <div className=\"flex justify-center p-4\">\r\n <div className=\"border-[#00529C] border-solid bg-[#ffffff] border-[1px] w-[60px] h-[60px] flex items-center justify-center rounded-full\">\r\n <button\r\n onClick={handleShutterPhoto}\r\n className=\"bg-[#00529C] text-white hover:bg-[#003f7f] border-none w-[55px] h-[54px] flex items-center justify-center rounded-full cursor-pointer\"\r\n />\r\n </div>\r\n </div>\r\n </>\r\n );\r\n }\r\n\r\n return (\r\n <>\r\n <PermissionsComponent />\r\n <p className=\"font-bold text-center mt-6 mb-3\">Mohon Izinkan Akses Kamera</p>\r\n <p className=\"text-center mb-8\">Izinkan browser mengakses kamera untuk melanjutkan proses berikut.</p>\r\n </>\r\n );\r\n };\r\n\r\n return (\r\n <Dialog open={toggle} fullWidth keepMounted>\r\n <div className='flex justify-between items-center p-4'>\r\n <div className=\"font-semibold text-lg\">Ambil Bukti Kehadiran Debitur</div>\r\n <IconButton onClick={handleClose}>\r\n <CloseIcon />\r\n </IconButton>\r\n </div>\r\n <div className=\"p-0\">\r\n <ComponentsWebcam />\r\n </div>\r\n </Dialog>\r\n );\r\n};\r\n\r\nexport default WebcamDialog;\r\n","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 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","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 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 Breadcrumbs from \"@mui/material/Breadcrumbs\";\r\nimport Link from \"@mui/material/Link\";\r\nimport NavigateNextIconRaw from \"@mui/icons-material/NavigateNext\";\r\nimport { Box } from \"@mui/material\";\r\n\r\nconst NavigateNextIcon = NavigateNextIconRaw?.default ?? NavigateNextIconRaw;\r\n\r\nfunction handleClick(event) {\r\n event.preventDefault();\r\n console.info(\"You clicked a breadcrumb.\");\r\n}\r\n\r\nexport default function BreadcrumbsDefault({ options = [] }) {\r\n const lastIndex = options[options.length - 1];\r\n const slicedOptions = options.slice(0, options.length - 1);\r\n\r\n return (\r\n <div role=\"presentation\" onClick={handleClick}>\r\n <Breadcrumbs\r\n aria-label=\"breadcrumb\"\r\n separator={<NavigateNextIcon fontSize=\"small\" />}\r\n >\r\n {options\r\n ? slicedOptions.map((option, index) => {\r\n return (\r\n <Link\r\n key={index}\r\n underline=\"hover\"\r\n color=\"inherit\"\r\n href={option.href}\r\n sx={{ display: \"flex\" }}\r\n >\r\n {option.icon ? (\r\n <Box\r\n sx={{\r\n mr: 1,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n }}\r\n fontSize=\"inherit\"\r\n >\r\n {option.icon}\r\n </Box>\r\n ) : null}\r\n <div className=\"font-medium\">{option.label}</div>\r\n </Link>\r\n );\r\n })\r\n : \"Please provide options prop.\"}\r\n {lastIndex ? (\r\n <Link\r\n sx={{ display: \"flex\" }}\r\n color=\"#00529C\"\r\n underline=\"hover\"\r\n href={lastIndex.href}\r\n >\r\n {lastIndex.icon ? (\r\n <Box\r\n sx={{\r\n mr: 1,\r\n display: \"flex\",\r\n }}\r\n fontSize=\"inherit\"\r\n >\r\n {lastIndex.icon}\r\n </Box>\r\n ) : null}\r\n <div className=\"font-semibold\">{lastIndex.label}</div>\r\n </Link>\r\n ) : (\r\n \"Please provide options prop.\"\r\n )}\r\n </Breadcrumbs>\r\n </div>\r\n );\r\n}\r\n","'use client';\r\nimport { Box, MobileStepper } from \"@mui/material\";\r\nimport { useState } from \"react\";\r\nimport SwipeableViews from \"react-swipeable-views\";\r\nimport { autoPlay } from \"react-swipeable-views-utils\";\r\n\r\nconst AutoPlaySwipeableViews = autoPlay(SwipeableViews);\r\n\r\nconst images = [\r\n {\r\n id: 1,\r\n label: \"Selamat datang di BRISPOT Web!\",\r\n src: \"./images/thumb-slider-1.png\",\r\n },\r\n {\r\n id: 2,\r\n label: \"Instagram: @bankbri_id\",\r\n src: \"./images/thumb-slider-2.png\",\r\n },\r\n {\r\n id: 3,\r\n label: \"Our Goals\",\r\n src: \"./images/thumb-slider-3.png\",\r\n },\r\n];\r\n\r\nexport const ImageCarousel = () => {\r\n const [activeStep, setActiveStep] = useState(0);\r\n const maxSteps = images.length;\r\n\r\n const handleStepChange = (step) => {\r\n setActiveStep(step);\r\n };\r\n\r\n return (\r\n <aside className=\"relative grid lg:order-first sm:col-span-2 md:col-span-3 lg:col-span-7\">\r\n <AutoPlaySwipeableViews\r\n axis=\"x\"\r\n index={activeStep}\r\n onChangeIndex={handleStepChange}\r\n enableMouseEvents\r\n >\r\n {images.map((step, index) => (\r\n <div key={step.label}>\r\n {Math.abs(activeStep - index) <= 2 ? (\r\n <Box\r\n component=\"img\"\r\n sx={{\r\n display: \"block\",\r\n objectFit: \"contain\",\r\n width: \"100%\",\r\n }}\r\n src={step.src}\r\n alt={step.label}\r\n />\r\n ) : null}\r\n </div>\r\n ))}\r\n </AutoPlaySwipeableViews>\r\n <MobileStepper\r\n steps={maxSteps}\r\n position=\"static\"\r\n variant=\"dots\"\r\n activeStep={activeStep}\r\n sx={{\r\n position: \"absolute\",\r\n placeSelf: \"center\",\r\n alignSelf: \"flex-end\",\r\n backgroundColor: \"transparent\",\r\n }}\r\n />\r\n </aside>\r\n );\r\n};\r\n","import { CheckboxBorder } from \"@/components/legacy/atoms/icons/checkbox-border\";\r\nimport { CheckboxChecked } from \"@/components/legacy/atoms/icons/checkbox-checked\";\r\nimport { Checkbox } from \"@mui/material\";\r\n\r\nexport const CheckboxDefault = ({\r\n checked = false,\r\n onChange,\r\n disabled = false,\r\n ...restProps\r\n}) => {\r\n const handleChange = () => {\r\n onChange && onChange(!checked);\r\n };\r\n\r\n return (\r\n <Checkbox\r\n checked={checked}\r\n onChange={handleChange}\r\n icon={<CheckboxBorder />}\r\n checkedIcon={<CheckboxChecked disabled={disabled} />}\r\n {...restProps}\r\n />\r\n );\r\n};\r\n","import { CheckboxBorder } from \"@/components/legacy/atoms/icons/checkbox-border\";\r\nimport { CheckboxChecked } from \"@/components/legacy/atoms/icons/checkbox-checked\";\r\nimport { Checkbox, FormControlLabel, FormGroup } from \"@mui/material\";\r\n\r\nexport const CheckboxLabelled = ({\r\n checked = false,\r\n labelPlacement = \"end\",\r\n options,\r\n onChange,\r\n isHorizontal = false,\r\n sx,\r\n ...restProps\r\n}) => {\r\n const handleChange = (option) => {\r\n onChange && onChange(option.value, !checked.includes(option.value));\r\n };\r\n\r\n return (\r\n <FormGroup row={isHorizontal} sx={{ gap: isHorizontal ? 2 : 0, ...sx }}>\r\n {options\r\n ? options.map((option, index) => (\r\n <FormControlLabel\r\n labelPlacement={labelPlacement}\r\n key={index}\r\n control={\r\n <Checkbox\r\n defaultChecked={\r\n option.defaultChecked || restProps.defaultChecked\r\n }\r\n checked={checked.includes(option.value)}\r\n onChange={() => handleChange(option)}\r\n icon={<CheckboxBorder />}\r\n checkedIcon={<CheckboxChecked disabled={restProps.disabled} />}\r\n sx={{\r\n \":hover\": {\r\n backgroundColor: \"#C0DBF1\",\r\n },\r\n ...sx,\r\n }}\r\n />\r\n }\r\n label={option.label}\r\n required={restProps.required}\r\n disabled={option.disabled ?? restProps.disabled}\r\n {...restProps}\r\n />\r\n ))\r\n : \"Please provide options prop.\"}\r\n </FormGroup>\r\n );\r\n};\r\n","'use client';\r\nimport { useRef, useState } from \"react\";\r\nimport { Popover, TextField, InputAdornment } from \"@mui/material\";\r\nimport { DateRange } from \"react-date-range\";\r\nimport { IconCalendar } from \"@/components/legacy/atoms/icons/calendar\";\r\nimport \"react-date-range/dist/styles.css\";\r\nimport \"react-date-range/dist/theme/default.css\";\r\nimport dayjs from \"dayjs\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { twMerge } from \"tailwind-merge\";\r\nimport { id } from \"date-fns/locale\";\r\n\r\nexport default function DateRangePicker({\r\n locale = id,\r\n title,\r\n titleClassName,\r\n placeholder,\r\n value = {},\r\n onChange = () => {},\r\n format = \"\",\r\n minDate,\r\n maxDate,\r\n editableDateInputs=false,\r\n}) {\r\n const [anchorEl, setAnchorEl] = useState(null);\r\n const inputRef = useRef(null);\r\n const [hasSelected, setHasSelected] = useState(\r\n !!(value?.startDate && value?.endDate)\r\n );\r\n\r\n const startDate = value?.startDate\r\n ? dayjs(new Date(value.startDate)).format(format || \"DD/MM/YYYY\")\r\n : \"\";\r\n const endDate = value?.endDate\r\n ? dayjs(new Date(value.endDate)).format(format || \"DD/MM/YYYY\")\r\n : \"\";\r\n\r\n const handleClick = (event) => setAnchorEl(event.currentTarget);\r\n const handleClose = () => setAnchorEl(null);\r\n const handleDateChange = (item) => {\r\n setHasSelected(true);\r\n onChange(item.selection);\r\n };\r\n\r\n const open = Boolean(anchorEl);\r\n\r\n return (\r\n <>\r\n {title && (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>{title}</TextLabel>\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 value?.startDate && value?.endDate ? `${startDate} - ${endDate}` : \"\"\r\n }\r\n onClick={handleClick}\r\n InputProps={{\r\n readOnly: true,\r\n endAdornment: (\r\n <InputAdornment position=\"end\">\r\n <IconCalendar color=\"#1976d2\" />\r\n </InputAdornment>\r\n ),\r\n style: {\r\n borderRadius: \"10px\",\r\n backgroundColor: \"#fff\",\r\n },\r\n }}\r\n inputProps={{\r\n style: {\r\n color: value?.startDate && value?.endDate ? \"#000\" : \"#999\",\r\n },\r\n }}\r\n />\r\n\r\n <Popover\r\n open={open}\r\n anchorEl={anchorEl}\r\n onClose={handleClose}\r\n anchorOrigin={{ vertical: \"bottom\", horizontal: \"left\" }}\r\n >\r\n <DateRange\r\n locale={locale} \r\n editableDateInputs={editableDateInputs}\r\n onChange={handleDateChange}\r\n moveRangeOnFirstSelection={false}\r\n minDate={minDate}\r\n maxDate={maxDate}\r\n ranges={[\r\n hasSelected\r\n ? {\r\n startDate: new Date(value.startDate),\r\n endDate: new Date(value.endDate),\r\n key: \"selection\",\r\n color: \"#1976d2\",\r\n }\r\n : {\r\n startDate: new Date(),\r\n endDate: new Date(),\r\n key: \"selection\",\r\n color: \"#1976d2\",\r\n },\r\n ]}\r\n />\r\n </Popover>\r\n </>\r\n );\r\n}\r\n","'use client';\r\nimport { useState } from \"react\";\r\nimport { useController } from \"react-hook-form\";\r\nimport dayjs from \"dayjs\";\r\nimport { TextField } from \"@mui/material\";\r\nimport { DateTimePicker } from \"@mui/x-date-pickers/DateTimePicker\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { twMerge } from \"tailwind-merge\";\r\nimport { IconCalendar } from \"@/components/legacy/atoms/icons/calendar\";\r\n\r\nexport default function ResponsiveDateTimePicker({\r\n name = \"\",\r\n control = null,\r\n defaultValue = null,\r\n titleClassName,\r\n placeholder,\r\n isDisabled = false,\r\n inputFormat = \"DD/MM/YYYY HH:mm\",\r\n ...props\r\n}) {\r\n const { field, formState } = useController({\r\n name,\r\n control,\r\n defaultValue: defaultValue ? dayjs(defaultValue) : null,\r\n });\r\n\r\n const [open, setOpen] = useState(false);\r\n\r\n const onKeyDown = (e) => {\r\n if (e.keyCode !== 9) e.preventDefault();\r\n };\r\n\r\n return (\r\n <div className=\"w-full\">\r\n {props.title && (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n {props.title}\r\n </TextLabel>\r\n )}\r\n\r\n <DateTimePicker\r\n {...field}\r\n open={open}\r\n onOpen={() => !isDisabled && setOpen(true)}\r\n onClose={() => setOpen(false)}\r\n disabled={isDisabled}\r\n inputFormat={inputFormat}\r\n onChange={(newValue) => field.onChange(newValue)}\r\n value={field.value || null}\r\n disableOpenPicker={isDisabled}\r\n components={{\r\n OpenPickerIcon: () => <IconCalendar color=\"#00529C\" />,\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 onClick={() => setOpen(true)}\r\n onKeyDown={onKeyDown}\r\n helperText={formState.errors?.[name]?.message}\r\n error={!!formState.errors?.[name]}\r\n FormHelperTextProps={{\r\n style: { fontSize: \"16px\", marginLeft: 0 },\r\n }}\r\n inputProps={{\r\n ...params.inputProps,\r\n disableMaskedInput: true.toString(),\r\n style: {\r\n borderRadius: \"10px\",\r\n backgroundColor: isDisabled ? \"#EDEDED\" : \"inherit\",\r\n },\r\n }}\r\n disabled={isDisabled}\r\n />\r\n )}\r\n />\r\n </div>\r\n );\r\n}\r\n","export function parseJSON(value) {\r\n try {\r\n return JSON.parse(value);\r\n } catch (err) {\r\n return value;\r\n }\r\n}\r\n\r\nexport function jsonToStringLimiter(value = null) {\r\n try {\r\n if (value) {\r\n const convertData = JSON.stringify(value);\r\n let newData = \"\";\r\n\r\n if (convertData.length > 200) {\r\n newData = convertData.substring(0, 200) + \"***}\";\r\n } else {\r\n newData = convertData;\r\n }\r\n\r\n return newData;\r\n }\r\n\r\n return null;\r\n } catch (e) {\r\n return e;\r\n }\r\n}\r\n\r\nexport function errorState(name, errors) {\r\n const parts = name.split(\".\");\r\n let value = errors;\r\n for (let part of parts) {\r\n if (!value) {\r\n break;\r\n }\r\n\r\n const index = Number(part);\r\n value = !isNaN(index) ? value[index] : value[part];\r\n }\r\n\r\n return value;\r\n}\r\n\r\nexport function ascendingStringify(obj) {\r\n if (Array.isArray(obj)) {\r\n return '[' + obj.map(ascendingStringify).join(',') + ']';\r\n } else if (obj && typeof obj === 'object') {\r\n return '{' + Object.keys(obj).sort().map(\r\n key => JSON.stringify(key) + ':' + ascendingStringify(obj[key])\r\n ).join(',') + '}';\r\n } else {\r\n return JSON.stringify(obj);\r\n }\r\n}\r\n","'use client';\r\nimport { useState } from \"react\";\r\nimport { useController } from \"react-hook-form\";\r\nimport { TextField } from \"@mui/material\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { twMerge } from \"tailwind-merge\";\r\nimport { IconCalendar } from \"@/components/legacy/atoms/icons/calendar\";\r\nimport { errorState } from \"@/utils/json\";\r\n\r\nimport CloseIconRaw from \"@mui/icons-material/Close\";\r\nimport InputAdornmentRaw from \"@mui/material/InputAdornment\";\r\nimport IconButtonRaw from \"@mui/material/IconButton\";\r\n\r\nconst CloseIcon = CloseIconRaw?.default ?? CloseIconRaw;\r\nconst InputAdornment = InputAdornmentRaw?.default ?? InputAdornmentRaw;\r\nconst IconButton = IconButtonRaw?.default ?? IconButtonRaw;\r\n\r\nexport default function ResponsiveDatePickerWithClear({\r\n name = \"\",\r\n control = null,\r\n defaultValue = null,\r\n className,\r\n titleClassName,\r\n placeholder,\r\n maxDate,\r\n minDate,\r\n isDisabled = false,\r\n subtitleClassName,\r\n ...props\r\n}) {\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n const [open, setOpen] = useState(false);\r\n\r\n const onKeyDown = (e) => {\r\n // Hapus value dengan Backspace/Delete, tapi cegah input manual\r\n if (e.keyCode === 8 || e.keyCode === 46) {\r\n field.onChange(null);\r\n e.preventDefault();\r\n } else if (e.keyCode !== 9) {\r\n e.preventDefault();\r\n }\r\n };\r\n\r\n const errorObject = errorState(name, formState.errors);\r\n const errorMessage = errorObject?.message?.toString();\r\n\r\n return (\r\n <div\r\n className={className}\r\n style={\r\n isDisabled\r\n ? {\r\n pointerEvents: \"none\", // ✅ Matikan semua interaksi\r\n opacity: 0.7, // ✅ Efek visual disable\r\n }\r\n : {}\r\n }\r\n >\r\n <div className=\"flex px-2\">\r\n {props.title ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n {props.title}\r\n </TextLabel>\r\n ) : null}\r\n {props.subtitle ? (\r\n <TextLabel className={twMerge(\"\", subtitleClassName)}>\r\n {props.subtitle}\r\n </TextLabel>\r\n ) : null}\r\n </div>\r\n\r\n <DatePicker\r\n open={open}\r\n onOpen={() => {\r\n if (!isDisabled) setOpen(true); // ✅ Cegah open saat disable\r\n }}\r\n onClose={() => setOpen(false)}\r\n className={className}\r\n disabled={isDisabled}\r\n components={{\r\n OpenPickerIcon: () => <IconCalendar color=\"#00529C\" />,\r\n }}\r\n disableOpenPicker={isDisabled}\r\n value={field.value ?? null}\r\n maxDate={maxDate ?? null}\r\n minDate={minDate ?? null}\r\n inputFormat=\"DD/MM/YYYY\"\r\n onChange={(newValue) => {\r\n field.onChange(newValue);\r\n if (props.onChange) props.onChange(name, newValue);\r\n }}\r\n renderInput={(params) => (\r\n <TextField\r\n {...params}\r\n size=\"small\"\r\n fullWidth\r\n onClick={() => {\r\n if (!isDisabled) setOpen(true); // ✅ Cegah klik saat disable\r\n }}\r\n onKeyDown={onKeyDown}\r\n helperText={errorMessage}\r\n error={!!errorMessage}\r\n disabled={isDisabled}\r\n FormHelperTextProps={{\r\n style: {\r\n fontSize: \"16px\",\r\n marginLeft: 0,\r\n },\r\n }}\r\n inputProps={{\r\n ...params.inputProps,\r\n disableMaskedInput: true.toString(),\r\n placeholder,\r\n style: {\r\n borderRadius: \"10px\",\r\n backgroundColor: isDisabled ? \"#EDEDED\" : \"inherit\",\r\n cursor: isDisabled ? \"not-allowed\" : \"pointer\",\r\n },\r\n }}\r\n InputProps={{\r\n ...params.InputProps,\r\n endAdornment: (\r\n <>\r\n {/* ✅ Tombol clear hanya muncul jika aktif & ada value */}\r\n {!isDisabled && field.value && (\r\n <InputAdornment position=\"end\">\r\n <IconButton\r\n size=\"small\"\r\n onClick={() => field.onChange(null)}\r\n >\r\n <CloseIcon fontSize=\"small\" />\r\n </IconButton>\r\n </InputAdornment>\r\n )}\r\n {/* ✅ Icon kalender dari MUI */}\r\n {!isDisabled && params.InputProps?.endAdornment}\r\n </>\r\n ),\r\n style: {\r\n borderRadius: \"10px\",\r\n backgroundColor: isDisabled ? \"#EDEDED\" : \"inherit\",\r\n },\r\n }}\r\n />\r\n )}\r\n {...props}\r\n {...field}\r\n />\r\n </div>\r\n );\r\n}","\"use client\";\r\nimport { useState } from \"react\";\r\nimport { useController } from \"react-hook-form\";\r\nimport dayjs from \"dayjs\";\r\nimport { TextField } from \"@mui/material\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { twMerge } from \"tailwind-merge\";\r\nimport { IconCalendar } from \"@/components/legacy/atoms/icons/calendar\";\r\nimport { errorState } from \"@/utils/json\";\r\nimport { IconButton } from \"@mui/material\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\n\r\nexport default function ResponsiveDatePicker({\r\n name = \"\",\r\n control = null,\r\n defaultValue,\r\n className,\r\n titleClassName,\r\n placeholder,\r\n maxDate,\r\n minDate,\r\n isDisabled,\r\n clearable = false,\r\n ...props\r\n}) {\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n const [open, setOpen] = useState(false);\r\n\r\n const onKeyDown = (e) => {\r\n if (e.keyCode === 8 || e.keyCode === 46) {\r\n field.onChange(null);\r\n e.preventDefault();\r\n } else if (e.keyCode !== 9) {\r\n e.preventDefault();\r\n }\r\n };\r\n\r\n const errorObject = errorState(name, formState.errors);\r\n const errorMessage = errorObject?.message?.toString();\r\n\r\n const handleClear = (e) => {\r\n e.stopPropagation();\r\n field.onChange(null);\r\n };\r\n\r\n return (\r\n <div className={className}>\r\n {props.title ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n {props.title}\r\n </TextLabel>\r\n ) : null}\r\n <DatePicker\r\n placeholder={props.placeholder}\r\n open={open}\r\n onOpen={() => !isDisabled && setOpen(true)}\r\n onClose={() => setOpen(false)}\r\n className={className}\r\n disabled={isDisabled}\r\n components={{\r\n OpenPickerIcon: () => <IconCalendar color=\"#00529C\" />,\r\n }}\r\n disableOpenPicker={isDisabled}\r\n renderInput={(params) => (\r\n <TextField\r\n {...params}\r\n size=\"small\"\r\n fullWidth\r\n onClick={() => setOpen(true)}\r\n onKeyDown={onKeyDown}\r\n helperText={errorMessage}\r\n error={!!errorMessage}\r\n FormHelperTextProps={{\r\n style: {\r\n fontSize: \"16px\",\r\n marginLeft: 0,\r\n },\r\n }}\r\n inputProps={{\r\n ...params.inputProps,\r\n placeholder,\r\n style: {\r\n borderRadius: \"10px\",\r\n backgroundColor: isDisabled ? \"#EDEDED\" : \"inherit\",\r\n },\r\n }}\r\n disabled={isDisabled}\r\n InputProps={{\r\n ...params.InputProps,\r\n endAdornment: !isDisabled ? (\r\n <>\r\n {/* ✅ muncul kalau ada nilai & clearable */}\r\n {clearable && field.value ? (\r\n <IconButton\r\n size=\"small\"\r\n onClick={handleClear}\r\n tabIndex={-1}\r\n >\r\n <CloseIcon fontSize=\"small\" />\r\n </IconButton>\r\n ) : null}\r\n {params.InputProps?.endAdornment}\r\n </>\r\n ) : null,\r\n style: {\r\n borderRadius: \"10px\",\r\n },\r\n }}\r\n />\r\n )}\r\n value={field.value ? dayjs(field.value) : null}\r\n maxDate={maxDate || null}\r\n minDate={minDate || null}\r\n inputFormat=\"DD/MM/YYYY\"\r\n onChange={(newValue) => {\r\n field.onChange(newValue ? dayjs(newValue) : null);\r\n }}\r\n size=\"small\"\r\n {...props}\r\n />\r\n </div>\r\n );\r\n}\r\n","'use client';\r\nimport { useState } from \"react\";\r\nimport { useController } from \"react-hook-form\";\r\nimport dayjs from \"dayjs\";\r\nimport { TextField } from \"@mui/material\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { twMerge } from \"tailwind-merge\";\r\nimport { IconCalendar } from \"@/components/legacy/atoms/icons/calendar\";\r\n\r\nexport const DayPicker = ({\r\n name = \"\",\r\n control = null,\r\n className,\r\n titleClassName,\r\n defaultValue,\r\n placeholder,\r\n isDisabled,\r\n ...props\r\n}) => {\r\n const [open, setOpen] = useState(false);\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n const [value, setValue] = useState(dayjs());\r\n\r\n const onKeyDown = (e) => {\r\n if (e.keyCode != 9) {\r\n e.preventDefault();\r\n }\r\n };\r\n\r\n return (\r\n <div className={className}>\r\n {props.title ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n {props.title}\r\n </TextLabel>\r\n ) : null}\r\n <DatePicker\r\n orientation=\"portrait\"\r\n open={open}\r\n onOpen={() => !isDisabled && setOpen(true)}\r\n onClose={() => setOpen(false)}\r\n views={[\"day\"]}\r\n inputFormat=\"DD\"\r\n value={value}\r\n disabled= {isDisabled}\r\n components={{\r\n OpenPickerIcon: () => <IconCalendar color=\"#00529C\" />,\r\n }}\r\n disableOpenPicker={isDisabled}\r\n renderInput={(params) => (\r\n <TextField\r\n {...params}\r\n size=\"small\"\r\n fullWidth\r\n onClick={() => setOpen(true)}\r\n onKeyDown={onKeyDown}\r\n helperText={formState.errors?.[name]?.message}\r\n error={!!formState.errors?.[name]}\r\n FormHelperTextProps={{\r\n style: {\r\n fontSize: \"16px\",\r\n marginLeft: 0,\r\n },\r\n }}\r\n inputProps={{\r\n ...params.inputProps,\r\n disableMaskedInput: true.toString(),\r\n placeholder,\r\n style: {\r\n borderRadius: \"10px\",\r\n backgroundColor: isDisabled ? \"#EDEDED\" : 'inherit',\r\n },\r\n }}\r\n disabled={isDisabled}\r\n />\r\n )}\r\n onChange={(newValue) => {\r\n setValue(newValue);\r\n }}\r\n InputProps={{\r\n style: {\r\n borderRadius: \"10px\",\r\n },\r\n }}\r\n {...props}\r\n {...field}\r\n />\r\n </div>\r\n );\r\n};\r\n","'use client';\r\nimport { useState } from \"react\";\r\nimport { useController } from \"react-hook-form\";\r\nimport dayjs from \"dayjs\";\r\nimport { TextField } from \"@mui/material\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { twMerge } from \"tailwind-merge\";\r\nimport { IconCalendar } from \"@/components/legacy/atoms/icons/calendar\";\r\n\r\nexport const MonthPicker = ({\r\n name = \"\",\r\n control = null,\r\n className,\r\n titleClassName,\r\n defaultValue,\r\n placeholder,\r\n isDisabled,\r\n removePickerHeader,\r\n views = [\"month\"],\r\n ...props\r\n}) => {\r\n const [open, setOpen] = useState(false);\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n const [value, setValue] = useState(dayjs());\r\n\r\n const onKeyDown = (e) => {\r\n if (e.keyCode !== 9) {\r\n e.preventDefault();\r\n }\r\n };\r\n\r\n return (\r\n <div className={className}>\r\n {props.title ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n {props.title}\r\n </TextLabel>\r\n ) : null}\r\n <DatePicker\r\n open={open}\r\n onOpen={() => !isDisabled && setOpen(true)}\r\n onClose={() => setOpen(false)}\r\n views={views}\r\n inputFormat=\"MMMM\"\r\n value={value}\r\n disabled={isDisabled}\r\n components={{\r\n OpenPickerIcon: () => <IconCalendar color=\"#00529C\" />,\r\n }}\r\n PopperProps={{\r\n sx: {\r\n \"& .MuiPickersCalendarHeader-root\": {\r\n display: removePickerHeader ? \"none\" : \"flex\",\r\n },\r\n },\r\n }}\r\n disableOpenPicker={isDisabled}\r\n disableMaskedInput\r\n renderInput={(params) => (\r\n <TextField\r\n {...params}\r\n size=\"small\"\r\n fullWidth\r\n onClick={() => setOpen(true)}\r\n onKeyDown={onKeyDown}\r\n helperText={formState.errors?.[name]?.message}\r\n error={!!formState.errors?.[name]}\r\n FormHelperTextProps={{\r\n style: {\r\n fontSize: \"16px\",\r\n marginLeft: 0,\r\n },\r\n }}\r\n inputProps={{\r\n ...params.inputProps,\r\n placeholder,\r\n style: {\r\n borderRadius: \"10px\",\r\n backgroundColor: isDisabled ? \"#EDEDED\" : \"inherit\",\r\n },\r\n }}\r\n disabled={isDisabled}\r\n />\r\n )}\r\n onChange={(newValue) => {\r\n setValue(newValue);\r\n }}\r\n InputProps={{\r\n style: {\r\n borderRadius: \"10px\",\r\n },\r\n }}\r\n {...props}\r\n {...field}\r\n />\r\n </div>\r\n );\r\n};","'use client';\r\nimport { useState } from \"react\";\r\nimport { useController } from \"react-hook-form\";\r\nimport dayjs from \"dayjs\";\r\nimport { TextField } from \"@mui/material\";\r\nimport { TimePicker as Time } from \"@mui/x-date-pickers\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport const TimePicker = ({\r\n name = \"\",\r\n control = null,\r\n className,\r\n titleClassName,\r\n defaultValue,\r\n placeholder,\r\n isDisabled,\r\n ...props\r\n}) => {\r\n const [open, setOpen] = useState(false);\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n const [value, setValue] = useState(dayjs());\r\n\r\n const onKeyDown = (e) => {\r\n if (e.keyCode != 9) {\r\n e.preventDefault();\r\n }\r\n };\r\n\r\n return (\r\n <div className={className}>\r\n {props.title ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n {props.title}\r\n </TextLabel>\r\n ) : null}\r\n <Time\r\n ampm={true}\r\n orientation=\"portrait\"\r\n open={open}\r\n onOpen={() => !isDisabled && setOpen(true)}\r\n onClose={() => setOpen(false)}\r\n openTo=\"hours\"\r\n views={[\"hours\", \"minutes\", \"seconds\"]}\r\n inputFormat=\"HH:mm:ss\"\r\n mask=\"__:__:__\"\r\n value={value}\r\n disabled= {isDisabled}\r\n disableOpenPicker={isDisabled}\r\n renderInput={(params) => (\r\n <TextField\r\n {...params}\r\n size=\"small\"\r\n fullWidth\r\n onClick={() => setOpen(true)}\r\n onKeyDown={onKeyDown}\r\n helperText={formState.errors?.[name]?.message}\r\n error={!!formState.errors?.[name]}\r\n FormHelperTextProps={{\r\n style: {\r\n fontSize: \"16px\",\r\n marginLeft: 0,\r\n },\r\n }}\r\n inputProps={{\r\n ...params.inputProps,\r\n disableMaskedInput: true.toString(),\r\n placeholder: placeholder,\r\n style: {\r\n borderRadius: \"10px\",\r\n backgroundColor: isDisabled ? \"#EDEDED\" : 'inherit',\r\n },\r\n }}\r\n disabled={isDisabled}\r\n />\r\n )}\r\n onChange={(newValue) => {\r\n setValue(newValue);\r\n }}\r\n InputProps={{\r\n style: {\r\n borderRadius: \"10px\",\r\n },\r\n }}\r\n {...props}\r\n {...field}\r\n />\r\n </div>\r\n );\r\n};\r\n","import { useController } from \"react-hook-form\";\r\nimport {\r\n FormControl,\r\n InputLabel,\r\n MenuItem,\r\n Select,\r\n FormHelperText,\r\n OutlinedInput,\r\n IconButton\r\n} from \"@mui/material\";\r\nimport { twMerge } from \"tailwind-merge\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\n\r\nexport const WeekPicker = ({\r\n name = \"\",\r\n control = null,\r\n className,\r\n titleClassName,\r\n title,\r\n totalWeeks = 4,\r\n isDisabled = false,\r\n placeholder = \"Pilih Minggu\",\r\n defaultValue = \"\"\r\n}) => {\r\n const {\r\n field,\r\n formState: { errors },\r\n } = useController({\r\n name,\r\n control,\r\n defaultValue,\r\n });\r\n\r\n const handleClear = (e) => {\r\n e.stopPropagation(); // biar klik ❌ nggak buka dropdown\r\n field.onChange(\"\");\r\n };\r\n\r\n return (\r\n <div className={className}>\r\n {title ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>{title}</TextLabel>\r\n ) : null}\r\n <FormControl fullWidth size=\"small\" disabled={isDisabled} error={!!errors?.[name]}>\r\n <InputLabel>{placeholder}</InputLabel>\r\n <Select\r\n {...field}\r\n input={\r\n <OutlinedInput\r\n label={placeholder}\r\n endAdornment={\r\n field.value ? (\r\n <IconButton\r\n size=\"small\"\r\n onClick={handleClear}\r\n edge=\"end\"\r\n >\r\n <CloseIcon fontSize=\"small\" />\r\n </IconButton>\r\n ) : null\r\n }\r\n sx={{\r\n backgroundColor: isDisabled ? '#EDEDED' : 'inherit',\r\n borderRadius: \"10px\",\r\n paddingRight: field.value ? \"36px\" : undefined // spasi untuk ikon\r\n }}\r\n />\r\n }\r\n >\r\n {Array.from({ length: totalWeeks }, (_, i) => (\r\n <MenuItem key={i + 1} value={i + 1}>\r\n Minggu {i + 1}\r\n </MenuItem>\r\n ))}\r\n </Select>\r\n {errors?.[name] && (\r\n <FormHelperText>{errors[name].message}</FormHelperText>\r\n )}\r\n </FormControl>\r\n </div>\r\n );\r\n};","'use client';\r\nimport { useState } from \"react\";\r\nimport { useController } from \"react-hook-form\";\r\nimport dayjs from \"dayjs\";\r\nimport { TextField, Box } from \"@mui/material\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { twMerge } from \"tailwind-merge\";\r\nimport { IconCalendar } from \"@/components/legacy/atoms/icons/calendar\";\r\nimport { errorState } from \"@/utils/json\";\r\nimport \"dayjs/locale/id\";\r\ndayjs.locale(\"id\");\r\n\r\n// * Custom ActionBar component for showing \"Clear date\" in the popover\r\nconst CustomActionBar = ({ onClear, clearable }) => {\r\n if (!clearable) return null;\r\n\r\n return (\r\n <Box\r\n onClick={onClear}\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n borderTop: \"1px solid #e0e0e0\",\r\n py: 1.5,\r\n cursor: \"pointer\",\r\n \"&:hover\": {\r\n backgroundColor: \"rgba(0, 0, 0, 0.04)\",\r\n },\r\n \"&:active\": {\r\n backgroundColor: \"rgba(0, 0, 0, 0.08)\",\r\n },\r\n }}\r\n >\r\n <span\r\n style={{\r\n color: \"#1976d2\",\r\n fontSize: \"14px\",\r\n fontWeight: 500,\r\n }}\r\n >\r\n Clear date\r\n </span>\r\n </Box>\r\n );\r\n};\r\n\r\nexport const YearMonthPicker = ({\r\n name = \"\",\r\n control = null,\r\n className,\r\n titleClassName,\r\n defaultValue = null,\r\n placeholder = \"Pilih Bulan & Tahun\",\r\n isDisabled = false,\r\n minDate = dayjs(\"1970-01-01\"),\r\n maxDate = dayjs(),\r\n displayFormat = \"YYYY-MM\", // Display format in the input field: \"2025-12\", \"MMMM YYYY\" → \"Desember 2025\", \"MMM YYYY\" → \"Des 2025\"\r\n outputFormat = \"YYYY-MM\", // Format output/value: \"YYYY-MM\" → \"2025-12\", \"MM-YYYY\" → \"12-2025\", \"YYYYMM\" → \"202512\", \"YYYY/MM\" → \"2025/12\"\r\n clearable = true, // Show the \"Clear date\" button in the popover\r\n showToolbar = false, // Hide the toolbar (mobile: month label and pencil icon)\r\n ...props\r\n}) => {\r\n const [open, setOpen] = useState(false);\r\n const [currentView, setCurrentView] = useState(\"month\"); // Track current view\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n\r\n const onKeyDown = (e) => {\r\n if (e.keyCode !== 9) {\r\n e.preventDefault();\r\n }\r\n };\r\n\r\n const errorObject = errorState(name, formState.errors);\r\n const errorMessage = errorObject?.message?.toString();\r\n\r\n const displayValue = field.value ? dayjs(field.value, outputFormat) : null;\r\n\r\n const handleClear = () => {\r\n field.onChange(null);\r\n setOpen(false);\r\n };\r\n\r\n return (\r\n <div className={className}>\r\n {props.title ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n {props.title}\r\n </TextLabel>\r\n ) : null}\r\n <DatePicker\r\n open={open}\r\n onOpen={() => !isDisabled && setOpen(true)}\r\n onClose={() => setOpen(false)}\r\n views={[\"year\", \"month\"]}\r\n openTo=\"month\"\r\n inputFormat={displayFormat}\r\n value={displayValue}\r\n disabled={isDisabled}\r\n minDate={minDate ? dayjs(minDate) : undefined}\r\n maxDate={maxDate ? dayjs(maxDate) : undefined}\r\n components={{\r\n OpenPickerIcon: () => <IconCalendar color=\"#00529C\" />,\r\n ActionBar: () => (\r\n <CustomActionBar onClear={handleClear} clearable={clearable} />\r\n ),\r\n }}\r\n // Track view changes (year/month)\r\n onViewChange={(view) => setCurrentView(view)}\r\n showToolbar={showToolbar}\r\n // Override style: if the value is empty, hide the selected style on the current month\r\n PopperProps={{\r\n sx: !displayValue\r\n ? {\r\n \"& .Mui-selected\": {\r\n backgroundColor: \"transparent !important\",\r\n color: \"inherit !important\",\r\n },\r\n }\r\n : {},\r\n }}\r\n // Hide pencil (edit) icon on mobile + hide selected style when no value\r\n DialogProps={{\r\n sx: {\r\n \"& .MuiPickersToolbar-penIconButton\": {\r\n display: \"none\",\r\n },\r\n // Hide selected style when no value (mobile)\r\n ...(!displayValue && {\r\n \"& .Mui-selected\": {\r\n backgroundColor: \"transparent !important\",\r\n color: \"inherit !important\",\r\n },\r\n }),\r\n },\r\n }}\r\n disableOpenPicker={isDisabled}\r\n disableMaskedInput\r\n renderInput={(params) => (\r\n <TextField\r\n {...params}\r\n size=\"small\"\r\n fullWidth\r\n onClick={() => setOpen(true)}\r\n onKeyDown={onKeyDown}\r\n helperText={errorMessage}\r\n error={!!errorMessage}\r\n FormHelperTextProps={{\r\n style: {\r\n fontSize: \"16px\",\r\n marginLeft: 0,\r\n },\r\n }}\r\n inputProps={{\r\n ...params.inputProps,\r\n placeholder,\r\n style: {\r\n borderRadius: \"10px\",\r\n backgroundColor: isDisabled ? \"#EDEDED\" : \"inherit\",\r\n },\r\n }}\r\n disabled={isDisabled}\r\n />\r\n )}\r\n onChange={(newValue) => {\r\n if (newValue && dayjs(newValue).isValid()) {\r\n field.onChange(dayjs(newValue).format(outputFormat));\r\n // Only close when selecting month, not year\r\n if (currentView === \"month\") {\r\n setOpen(false);\r\n }\r\n } else {\r\n field.onChange(null);\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n borderRadius: \"10px\",\r\n },\r\n }}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default YearMonthPicker;\r\n","'use client';\r\nimport { useState } from \"react\";\r\nimport { useController } from \"react-hook-form\";\r\nimport dayjs from \"dayjs\";\r\nimport { TextField } from \"@mui/material\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { twMerge } from \"tailwind-merge\";\r\nimport { IconCalendar } from \"@/components/legacy/atoms/icons/calendar\";\r\n\r\nexport const YearPicker = ({\r\n name = \"\",\r\n control = null,\r\n className,\r\n titleClassName,\r\n defaultValue,\r\n placeholder,\r\n isDisabled,\r\n maxDate,\r\n ...props\r\n}) => {\r\n const [open, setOpen] = useState(false);\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n const [value, setValue] = useState(dayjs());\r\n\r\n const onKeyDown = (e) => {\r\n if (e.keyCode != 9) {\r\n e.preventDefault();\r\n }\r\n };\r\n\r\n return (\r\n <div className={className}>\r\n {props.title ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n {props.title}\r\n </TextLabel>\r\n ) : null}\r\n <DatePicker\r\n orientation=\"portrait\"\r\n open={open}\r\n onOpen={() => !isDisabled && setOpen(true)}\r\n onClose={() => setOpen(false)}\r\n views={[\"year\"]}\r\n value={value}\r\n maxDate={maxDate ? maxDate : undefined}\r\n disabled= {isDisabled}\r\n components={{\r\n OpenPickerIcon: () => <IconCalendar color=\"#00529C\" />,\r\n }}\r\n disableOpenPicker={isDisabled}\r\n renderInput={(params) => (\r\n <TextField\r\n {...params}\r\n size=\"small\"\r\n fullWidth\r\n onClick={() => setOpen(true)}\r\n onKeyDown={onKeyDown}\r\n helperText={formState.errors?.[name]?.message}\r\n error={!!formState.errors?.[name]}\r\n FormHelperTextProps={{\r\n style: {\r\n fontSize: \"16px\",\r\n marginLeft: 0,\r\n },\r\n }}\r\n inputProps={{\r\n ...params.inputProps,\r\n disableMaskedInput: true.toString(),\r\n placeholder: placeholder,\r\n style: {\r\n borderRadius: \"10px\",\r\n backgroundColor: isDisabled ? \"#EDEDED\" : 'inherit',\r\n },\r\n }}\r\n disabled={isDisabled}\r\n />\r\n )}\r\n onChange={(newValue) => {\r\n setValue(newValue);\r\n }}\r\n InputProps={{\r\n style: {\r\n borderRadius: \"10px\",\r\n },\r\n }}\r\n {...field}\r\n {...props}\r\n />\r\n </div>\r\n );\r\n};\r\n","import React from 'react'\r\nimport { Button, Dialog, DialogActions, DialogContent, DialogTitle, Divider, Grid } from '@mui/material'\r\nimport ErrorIconRaw from \"@mui/icons-material/Error\";\r\n\r\nconst ErrorIcon = ErrorIconRaw?.default ?? ErrorIconRaw;\r\n\r\nexport const DetailDialog = ({ open, setOpen }) => {\r\n\r\n const handleCloseDialog = () => {\r\n setOpen(!open);\r\n };\r\n\r\n return (\r\n <Dialog open={open} onClose={handleCloseDialog} maxWidth=\"md\">\r\n <DialogTitle className=\"cm-header-detail\">\r\n <ErrorIcon />\r\n <span className='ml-2'>\r\n Detail Calon Debitur\r\n </span> \r\n </DialogTitle>\r\n <Divider />\r\n <DialogContent>\r\n <Grid container>\r\n <Grid item xs={12} md={6} lg={4}> \r\n <p className='cm-label-detail'>Reference Number</p> \r\n <p className='cm-value-detail'>PN2307Q3X3</p> \r\n </Grid>\r\n <Grid item xs={12} md={6} lg={4}> \r\n <p className='cm-label-detail'>No KTP</p> \r\n <p className='cm-value-detail'>6450468469873648</p> \r\n </Grid>\r\n <Grid item xs={12} md={6} lg={4}> \r\n <p className='cm-label-detail'>Nama Pemohon</p> \r\n <p className='cm-value-detail'>PT Tidak Asing</p> \r\n </Grid>\r\n <Grid item xs={12} md={6} lg={4}> \r\n <p className='cm-label-detail'>Jenis Kelamin</p> \r\n <p className='cm-value-detail'>n/a</p> \r\n </Grid>\r\n </Grid>\r\n </DialogContent>\r\n <Divider />\r\n <DialogActions>\r\n <Button variant='contained' color='primary' className='mr-4 mb-4' onClick={handleCloseDialog}>Close</Button>\r\n </DialogActions>\r\n </Dialog>\r\n );\r\n};\r\n","import Radio from \"@mui/material/Radio\";\r\nimport RadioGroup from \"@mui/material/RadioGroup\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport { FormHelperText } from \"@mui/material\";\r\nimport { useController } from \"react-hook-form\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport default function RadioDefault({\r\n name = \"\",\r\n control = null,\r\n defaultValue,\r\n label,\r\n options,\r\n className,\r\n titleClassName,\r\n fieldClassName,\r\n ...restProps\r\n}) {\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n\r\n if (!control) {\r\n return <Radio id=\"outlined-basic\" variant=\"outlined\" {...restProps} />;\r\n }\r\n\r\n return (\r\n <div className={className}>\r\n <FormControl error={!!formState.errors?.[name]}>\r\n {label ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>{label}</TextLabel>\r\n ) : null}\r\n <RadioGroup\r\n aria-labelledby=\"controlled-radio-buttons-group\"\r\n name=\"controlled-radio-buttons-group\"\r\n value={field.value}\r\n onChange={field.onChange}\r\n className={fieldClassName}\r\n {...restProps}\r\n >\r\n {options\r\n ? options\r\n .map((item, index) => ({\r\n ...item,\r\n key: `radio-item-${index}`,\r\n }))\r\n .map((item) => (\r\n <FormControlLabel\r\n key={item.key}\r\n value={item.value}\r\n control={<Radio />}\r\n label={item.label}\r\n />\r\n ))\r\n : \"You must provide options props\"}\r\n </RadioGroup>\r\n <FormHelperText sx={{ fontSize: \"16px\", marginLeft: \"0\" }}>{formState.errors?.[name]?.message}</FormHelperText>\r\n </FormControl>\r\n </div>\r\n );\r\n}\r\n","import Radio from \"@mui/material/Radio\";\r\nimport RadioGroup from \"@mui/material/RadioGroup\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport { useController } from \"react-hook-form\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { twMerge } from \"tailwind-merge\";\r\nimport { errorState } from \"@/utils/json\";\r\nimport { FormHelperText } from \"@mui/material\";\r\n\r\nexport default function RadioHorizontal({\r\n name = \"\",\r\n control = null,\r\n defaultValue,\r\n label,\r\n options,\r\n className,\r\n titleClassName,\r\n fieldClassName,\r\n isDisabled,\r\n radioColor,\r\n ...restProps\r\n}) {\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n\r\n if (!control) {\r\n return <Radio id=\"outlined-basic\" variant=\"outlined\" color=\"success\" {...restProps} />;\r\n }\r\n\r\n const errorObject = errorState(name, formState.errors);\r\n const errorMessage = errorObject?.message?.toString();\r\n \r\n return (\r\n <div className={className}>\r\n <FormControl error={!!formState.errors?.[name]}>\r\n {label ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>{label}</TextLabel>\r\n ) : null}\r\n <RadioGroup\r\n aria-labelledby=\"controlled-radio-buttons-group\"\r\n name=\"controlled-radio-buttons-group\"\r\n value={field.value}\r\n onChange={field.onChange}\r\n className={fieldClassName}\r\n row\r\n {...restProps}\r\n >\r\n {options\r\n ? options\r\n .map((item, index) => ({\r\n ...item,\r\n key: `radio-item-${index}`,\r\n }))\r\n .map((item) => (\r\n <FormControlLabel\r\n key={item.key}\r\n value={item.value}\r\n disabled={isDisabled ?? item.isDisabled}\r\n control={\r\n <Radio\r\n sx={{\r\n color: radioColor || \"\",\r\n \"&.Mui-checked\": {\r\n color: radioColor || \"#00529C\",\r\n },\r\n }}\r\n />\r\n }\r\n label={item.label}\r\n {...item}\r\n />\r\n ))\r\n : \"You must provide options props\"}\r\n </RadioGroup>\r\n {errorMessage && \r\n <FormHelperText sx={{ fontSize: \"16px\", marginLeft: \"0\", color:\"#d32f2f\" }}>\r\n {errorMessage}\r\n </FormHelperText>\r\n }\r\n </FormControl>\r\n </div>\r\n );\r\n}\r\n","import Radio from \"@mui/material/Radio\";\r\nimport RadioGroup from \"@mui/material/RadioGroup\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport { FormHelperText } from \"@mui/material\";\r\nimport { useController } from \"react-hook-form\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport default function RadioVertical({\r\n name = \"\",\r\n control = null,\r\n defaultValue,\r\n label,\r\n options,\r\n isDisabled,\r\n className,\r\n titleClassName,\r\n fieldClassName,\r\n formControlLabelStyle = {}, // Renamed the prop to target FormControlLabel styles\r\n ...restProps\r\n}) {\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n\r\n if (!control) {\r\n return <Radio id=\"outlined-basic\" variant=\"outlined\" {...restProps} />;\r\n }\r\n\r\n return (\r\n <div className={className}>\r\n <FormControl error={!!formState.errors?.[name]}>\r\n {label ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>{label}</TextLabel>\r\n ) : null}\r\n <RadioGroup\r\n aria-labelledby=\"controlled-radio-buttons-group\"\r\n name=\"controlled-radio-buttons-group\"\r\n value={field.value}\r\n onChange={field.onChange}\r\n className={fieldClassName}\r\n {...restProps}\r\n >\r\n {options\r\n ? options\r\n .map((item, index) => ({\r\n ...item,\r\n key: `radio-item-${index}`,\r\n }))\r\n .map((item) => (\r\n <FormControlLabel\r\n key={item.key}\r\n value={item.value}\r\n disabled={isDisabled ?? item.isDisabled}\r\n control={\r\n <Radio sx={{ \"&.Mui-checked\": { color: \"#00529C\" } }} />\r\n }\r\n label={item.label}\r\n sx={{ ...formControlLabelStyle }} // Applied custom styles here\r\n />\r\n ))\r\n : \"You must provide options props\"}\r\n </RadioGroup>\r\n <FormHelperText sx={{ fontSize: \"16px\", marginLeft: \"0\" }}>\r\n {formState.errors?.[name]?.message}\r\n </FormHelperText>\r\n </FormControl>\r\n </div>\r\n );\r\n}\r\n","'use client';\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { useController } from \"react-hook-form\";\r\nimport { ErrorMessage } from \"@hookform/error-message\";\r\nimport AsyncSelect from \"react-select/async\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport default function SelectAsyncSearch({\r\n name = \"\",\r\n control = null,\r\n loadOptions = () => {},\r\n defaultValue,\r\n className,\r\n isClearable,\r\n isDisabled,\r\n titleClassName,\r\n loadingMessage,\r\n minCharacter,\r\n ...props\r\n}) {\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n\r\n const customStyles = {\r\n control: (base) => ({\r\n ...base,\r\n minHeight: 40,\r\n border: isDisabled ? \"1px solid #B0B0B0\" : \r\n (name in formState.errors ? \"1px solid #d32f2f\" : null),\r\n borderRadius: \"10px\",\r\n marginBottom: \"4px\",\r\n backgroundColor: isDisabled ? '#EDEDED' : '#FFFFFF',\r\n \"&:hover\": {\r\n border: isDisabled ? \"1px solid #B0B0B0\" : \r\n (name in formState.errors ? \"1px solid #d32f2f\" : null)\r\n }\r\n }),\r\n dropdownIndicator: (base) => ({\r\n ...base,\r\n color: `${name in formState.errors ? \"#D32F2F\" : isDisabled ? '#9e9e9e' : \"#004B8F\"}`,\r\n }),\r\n };\r\n\r\n return (\r\n <div className={className}>\r\n {props.title ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n {props.title}\r\n </TextLabel>\r\n ) : null}\r\n <AsyncSelect\r\n loadOptions={loadOptions}\r\n defaultValue={defaultValue}\r\n styles={customStyles}\r\n isClearable={isClearable}\r\n isDisabled={isDisabled}\r\n components={{\r\n IndicatorSeparator: () => null,\r\n }}\r\n placeholder={props.placeholder}\r\n loadingMessage={minCharacter ? () => 'Please enter ' + minCharacter + ' or more characters' : loadingMessage}\r\n {...props}\r\n {...field}\r\n onChange={(option, actionMeta) => {\r\n field.onChange(option); // update react-hook-form\r\n if (typeof props.onChange === \"function\") {\r\n props.onChange(option, actionMeta); // call parent handler\r\n }\r\n }}\r\n />\r\n\r\n <ErrorMessage\r\n errors={formState.errors}\r\n name={name}\r\n render={({ message }) => (\r\n <span\r\n style={{\r\n color: \"#d32f2f\",\r\n fontSize: \"16px\",\r\n }}\r\n >\r\n {message}\r\n </span>\r\n )}\r\n />\r\n {props.helperText ? (\r\n <p className=\"pt-1 text-[#999999] text-xs\">{props.helperText}</p>\r\n ) : null}\r\n </div>\r\n );\r\n}\r\n","'use client';\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { useController } from \"react-hook-form\";\r\nimport { ErrorMessage } from \"@hookform/error-message\";\r\nimport Select from \"react-select\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport default function SelectDefault({\r\n name = \"\",\r\n control = null,\r\n options = [],\r\n defaultValue,\r\n className,\r\n isDisabled,\r\n titleClassName,\r\n isClearable = true,\r\n ...props\r\n}) {\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n\r\n const customStyles = {\r\n control: (base) => ({\r\n ...base,\r\n height: 40,\r\n minHeight: 40,\r\n border: isDisabled ? \"1px solid #B0B0B0\" : \r\n (name in formState.errors ? \"1px solid #d32f2f\" : null),\r\n borderRadius: \"10px\",\r\n marginBottom: \"4px\",\r\n backgroundColor: isDisabled ? '#EDEDED' : '#FFFFFF',\r\n \"&:hover\": {\r\n border: isDisabled ? \"1px solid #B0B0B0\" : \r\n (name in formState.errors ? \"1px solid #d32f2f\" : null)\r\n }\r\n }),\r\n placeholder: (base) => ({\r\n ...base,\r\n color: \"#9e9e9e\",\r\n }),\r\n dropdownIndicator: (base) => ({\r\n ...base,\r\n color: `${name in formState.errors ? \"#D32F2F\" : isDisabled ? '#9e9e9e' : \"#004B8F\"}`,\r\n }),\r\n };\r\n\r\n return (\r\n <div className={className}>\r\n {props.title ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n {props.title}\r\n </TextLabel>\r\n ) : null}\r\n <Select\r\n className=\"basic-single\"\r\n isSearchable={false}\r\n classNamePrefix=\"select\"\r\n options={options}\r\n styles={customStyles}\r\n components={{\r\n IndicatorSeparator: () => null,\r\n }}\r\n isClearable={isClearable}\r\n isDisabled={isDisabled}\r\n {...field}\r\n {...props}\r\n />\r\n <ErrorMessage\r\n errors={formState.errors}\r\n name={name}\r\n render={({ message }) => (\r\n <span\r\n style={{\r\n color: \"#d32f2f\",\r\n fontSize: \"16px\",\r\n }}\r\n >\r\n {message}\r\n </span>\r\n )}\r\n />\r\n </div>\r\n );\r\n}\r\n","'use client';\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { useController } from \"react-hook-form\";\r\nimport { ErrorMessage } from \"@hookform/error-message\";\r\nimport AsyncSelect from \"react-select/async\";\r\nimport Select from \"react-select\";\r\nimport { twMerge } from \"tailwind-merge\";\r\nimport { Box, Chip } from \"@mui/material\";\r\n\r\nexport default function MultipleSelectChip({\r\n name = \"\",\r\n control = null,\r\n loadOptions = null,\r\n options = [],\r\n defaultValue = [],\r\n className,\r\n isDisabled,\r\n titleClassName,\r\n optionColors = [\"#cfe2f3\", \"#ffdfba\", \"#d9ead3\", \"#f4cccc\", \"#d9d2e9\"],\r\n onChange, // Tambahkan onChange sebagai prop\r\n ...props\r\n }) {\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n\r\n const customStyles = {\r\n control: (base) => ({\r\n ...base,\r\n minHeight: 40,\r\n border: `${name in formState.errors ? \"1px solid #d32f2f\" : \"1px solid #ced4da\"}`,\r\n borderRadius: \"10px\",\r\n marginBottom: \"4px\",\r\n backgroundColor: isDisabled ? '#EDEDED' : '#FFFFFF'\r\n }),\r\n dropdownIndicator: (base) => ({\r\n ...base,\r\n color: `${name in formState.errors ? \"#D32F2F\" : isDisabled ? '#9e9e9e' : \"#004B8F\"}`,\r\n }),\r\n multiValue: (base, { index }) => ({\r\n ...base,\r\n backgroundColor: optionColors[index % optionColors.length] || \"#e0e0e0\",\r\n }),\r\n };\r\n\r\n const SelectComponent = loadOptions ? AsyncSelect : Select;\r\n\r\n const handleChange = (selectedOptions) => {\r\n field.onChange(selectedOptions); // Sinkronisasi dengan React Hook Form\r\n if (onChange) {\r\n onChange(selectedOptions); // Panggil fungsi onChange dari prop\r\n }\r\n };\r\n\r\n return (\r\n <div className={className}>\r\n {props.title ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n {props.title}\r\n </TextLabel>\r\n ) : null}\r\n <SelectComponent\r\n isMulti\r\n loadOptions={loadOptions}\r\n options={options}\r\n value={field.value} // ✅ ambil value dari form\r\n defaultValue={defaultValue}\r\n styles={customStyles}\r\n isClearable\r\n isDisabled={isDisabled}\r\n components={{\r\n IndicatorSeparator: () => null,\r\n }}\r\n placeholder={props.placeholder}\r\n onChange={handleChange} // ✅ gunakan custom handleChange\r\n onBlur={field.onBlur} // ✅ tetap pakai onBlur dari form\r\n ref={field.ref} // ✅ ref tetap dipakai\r\n {...props} // props tambahan lain\r\n />\r\n {props.boxChip ? (\r\n <Box sx={{ display: 'flex', flexWrap: 'wrap', gap: 0.5, mt: 1 }}>\r\n {field.value?.map((option) => (\r\n <Chip\r\n key={option.value}\r\n label={option.label}\r\n onDelete={() => {\r\n const newValue = field.value.filter((v) => v.value !== option.value);\r\n field.onChange(newValue);\r\n }}\r\n />\r\n ))}\r\n </Box>\r\n ): null }\r\n\r\n <ErrorMessage\r\n errors={formState.errors}\r\n name={name}\r\n render={({ message }) => (\r\n <span\r\n style={{\r\n color: \"#d32f2f\",\r\n fontSize: \"16px\",\r\n }}\r\n >\r\n {message}\r\n </span>\r\n )}\r\n />\r\n {props.helperText ? (\r\n <p className=\"pt-1 text-[#999999] text-xs\">{props.helperText}</p>\r\n ) : null}\r\n </div>\r\n );\r\n}\r\n","import Select from \"react-select\";\r\nimport { useController } from \"react-hook-form\";\r\nimport { ErrorMessage } from \"@hookform/error-message\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport default function SelectWithSearch({\r\n name = \"\",\r\n control = null,\r\n options = [],\r\n defaultValue,\r\n className,\r\n isClearable,\r\n isDisabled,\r\n titleClassName,\r\n subtitleClassName,\r\n messageNoOption = \"Data tidak ada\",\r\n ...props\r\n}) {\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n\r\n const customStyles = {\r\n control: (base) => ({\r\n ...base,\r\n height: 40,\r\n minHeight: 40,\r\n border: isDisabled ? \"1px solid #B0B0B0\" : \r\n (name in formState.errors ? \"1px solid #d32f2f\" : null),\r\n borderRadius: \"10px\",\r\n marginBottom: \"4px\",\r\n backgroundColor: isDisabled ? \"#EDEDED\" : \"#FFFFFF\",\r\n \"&:hover\": {\r\n border: isDisabled ? \"1px solid #B0B0B0\" : \r\n (name in formState.errors ? \"1px solid #d32f2f\" : null)\r\n },\r\n }),\r\n placeholder: (base) => ({\r\n ...base,\r\n color: \"#9e9e9e\",\r\n }),\r\n dropdownIndicator: (base) => ({\r\n ...base,\r\n color: `${\r\n name in formState.errors\r\n ? \"#D32F2F\"\r\n : isDisabled\r\n ? \"#9e9e9e\"\r\n : \"#004B8F\"\r\n }`,\r\n }),\r\n menu: (base) => ({\r\n ...base,\r\n zIndex: 1000,\r\n }),\r\n noOptionsMessage: (base) => ({ ...base, color: \"black\" }),\r\n };\r\n\r\n return (\r\n <div className={className}>\r\n <div className=\"flex\">\r\n {props.title ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n {props.title}\r\n </TextLabel>\r\n ) : null}\r\n {props.subtitle ? (\r\n <TextLabel className={twMerge(\"\", subtitleClassName)}>\r\n {props.subtitle}\r\n </TextLabel>\r\n ) : ( null )}\r\n </div>\r\n <Select\r\n isClearable={isClearable}\r\n options={options}\r\n placeholder={props.placeholder}\r\n styles={customStyles}\r\n components={{\r\n IndicatorSeparator: () => null,\r\n }}\r\n tabSelectsValue\r\n isDisabled={isDisabled}\r\n noOptionsMessage={() => messageNoOption}\r\n {...field}\r\n {...props}\r\n />\r\n <ErrorMessage\r\n errors={formState.errors}\r\n name={name}\r\n render={({ message }) => (\r\n <span\r\n style={{\r\n color: \"#d32f2f\",\r\n fontSize: \"16px\",\r\n }}\r\n >\r\n {message}\r\n </span>\r\n )}\r\n />\r\n </div>\r\n );\r\n}\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { styled } from '@mui/material/styles';\r\nimport Stack from '@mui/material/Stack';\r\nimport Stepper from '@mui/material/Stepper';\r\nimport Step from '@mui/material/Step';\r\nimport StepLabel from '@mui/material/StepLabel';\r\nimport Check from '@mui/icons-material/Check';\r\nimport StepConnector, { stepConnectorClasses } from '@mui/material/StepConnector';\r\nimport { Button, Tooltip, tooltipClasses, Typography } from '@mui/material';\r\nimport CheckIcon from '@mui/icons-material/Check';\r\n\r\nconst ColorlibConnector = styled(StepConnector)(({ theme }) => ({\r\n [`&.${stepConnectorClasses.alternativeLabel}`]: {\r\n top: 22,\r\n },\r\n [`&.${stepConnectorClasses.active}`]: {\r\n [`& .${stepConnectorClasses.line}`]: {\r\n backgroundColor: '#27AE60',\r\n },\r\n },\r\n [`&.${stepConnectorClasses.completed}`]: {\r\n [`& .${stepConnectorClasses.line}`]: {\r\n backgroundColor: '#27AE60',\r\n },\r\n },\r\n [`& .${stepConnectorClasses.line}`]: {\r\n height: 3,\r\n border: 0,\r\n backgroundColor: '#FFFFFF',\r\n borderRadius: 1,\r\n ...theme.applyStyles('dark', {\r\n backgroundColor: theme.palette.grey[800],\r\n }),\r\n },\r\n}));\r\n\r\nconst ColorlibStepIconRoot = styled('div')(({ theme, ownerState }) => ({\r\n backgroundColor: ownerState.completed ? '#27AE60' : ownerState.active ? '#00529C' : '#DDDBDB',\r\n zIndex: 1,\r\n color: '#fff',\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 ...theme.applyStyles('dark', {\r\n backgroundColor: theme.palette.grey[700],\r\n }),\r\n variants: [\r\n {\r\n props: ({ ownerState }) => ownerState.active,\r\n style: {\r\n backgroundColor: ownerState.completed ? '#27AE60' : '#00529C'\r\n },\r\n },\r\n ],\r\n}));\r\n\r\nfunction ColorlibStepIcon(props) {\r\n const { active, completed, className, index } = props;\r\n\r\n return (\r\n <ColorlibStepIconRoot ownerState={{ active, completed }} className={className}>\r\n {completed ? (\r\n <Check className=\"QontoStepIcon-completedIcon\" />\r\n ) : (\r\n <Typography variant=\"h6\" component=\"p\">{index + 1}</Typography>\r\n )}\r\n </ColorlibStepIconRoot>\r\n );\r\n}\r\n\r\nColorlibStepIcon.propTypes = {\r\n active: PropTypes.bool,\r\n className: PropTypes.string,\r\n completed: PropTypes.bool,\r\n index: PropTypes.number,\r\n};\r\n\r\nfunction countCompletedSteps(steps) {\r\n let completedCount = 0;\r\n steps?.forEach(step => {\r\n if (step?.is_done === 1) {\r\n completedCount++;\r\n }\r\n });\r\n return completedCount;\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: '#f5f5f9',\r\n color: 'rgba(0, 0, 0, 0.87)',\r\n maxWidth: 400,\r\n fontSize: theme.typography.pxToRem(12),\r\n border: '1px solid #dadde9',\r\n }\r\n}));\r\n\r\nconst CustomCheckIcon = styled(CheckIcon)({\r\n backgroundColor: '#00871F',\r\n zIndex: 1,\r\n color: '#fff',\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: '#DDDBDB',\r\n zIndex: 1,\r\n color: '#fff',\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\nexport default function StepperDashboard({ data }) {\r\n return (\r\n <Stack sx={{ width: '100%' }} spacing={4}>\r\n <Stepper alternativeLabel activeStep={countCompletedSteps(data)} connector={<ColorlibConnector />}>\r\n {data?.map((step, index) => (\r\n <Step key={index}>\r\n <StepLabel\r\n StepIconComponent={(props) => <ColorlibStepIcon {...props} index={index} />}\r\n >\r\n <HtmlTooltip\r\n title={\r\n <React.Fragment>\r\n <Typography color=\"inherit\">Status MAB</Typography>\r\n {\r\n step?.sublist?.map((list, index) => (\r\n <div className=\"grid gap-2 mt-5\" key={index}>\r\n <div className=\"flex gap-2 items-center\">\r\n {\r\n list?.is_done === 1 ? (\r\n <div className=\"items-center\"><CustomCheckIcon></CustomCheckIcon></div>\r\n ) : (\r\n <div className=\"items-center\"><CustomProcessIcon></CustomProcessIcon></div>\r\n )\r\n }\r\n <div className=\"items-center\">{list?.sublist_title}</div>\r\n </div>\r\n </div>\r\n ))\r\n }\r\n </React.Fragment>\r\n }\r\n >\r\n <Button className=\"text-black border-none cursor-pointer\">\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","import React from 'react';\r\n\r\nimport Stepper from \"@mui/material/Stepper\";\r\nimport Step from \"@mui/material/Step\";\r\nimport StepLabel from \"@mui/material/StepLabel\";\r\n\r\nconst MultiStep = (props) => {\r\n return (\r\n <div className=\"w-full justify-center\">\r\n <Stepper activeStep={parseInt(props?.activeStep)-1} alternativeLabel>\r\n {props?.dataSteps.map((step) => (\r\n <Step key={step.anchor} completed={parseInt(step.anchor) < parseInt(props?.activeStep)}>\r\n <StepLabel>{step.label}</StepLabel>\r\n </Step>\r\n ))}\r\n </Stepper>\r\n </div>\r\n );\r\n};\r\n\r\nexport default MultiStep;","import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Stepper from \"@mui/material/Stepper\";\r\nimport Step from \"@mui/material/Step\";\r\nimport StepLabel from \"@mui/material/StepLabel\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { stepLabelClasses, styled } from \"@mui/material\";\r\n\r\n// const CustomStepLabel = styled(StepLabel)(() => ({\r\n// \".MuiStepLabel-alternativeLabel\": {\r\n// textAlign: \"left\",\r\n// color: \"#999999\",\r\n// },\r\n// \".Mui-completed\": {\r\n// color: \"#219653\",\r\n// },\r\n// \".Mui-active\": {\r\n// color: \"#00529C\",\r\n// },\r\n// }));\r\n\r\nconst CustomStepLabel = styled(StepLabel)(() => ({\r\n [`.${stepLabelClasses.alternativeLabel}`]: {\r\n textAlign: \"left\",\r\n color: \"#999999\",\r\n },\r\n \".Mui-completed\": {\r\n color: \"#219653\",\r\n },\r\n \".Mui-active\": {\r\n color: \"#00529C\",\r\n },\r\n}));\r\n\r\n// const CustomStepLabel2 = styled(StepLabel)(() => ({\r\n// [`.${stepLabelClasses.alternativeLabel}`]: {\r\n// textAlign: \"left\",\r\n// color: \"#999999\",\r\n// },\r\n// [`.${stepLabelClasses.active}`]: {\r\n// color: \"#00529C\",\r\n// },\r\n// [`.${stepLabelClasses.completed}`]: {\r\n// color: \"#219653\",\r\n// },\r\n// }));\r\n\r\n// const sx = {\r\n// \".MuiStepLabel-alternativeLabel\": {\r\n// textAlign: \"left\",\r\n// color: \"#999999\",\r\n// },\r\n// \".Mui-completed\": {\r\n// color: \"#219653\",\r\n// },\r\n// \".Mui-active\": {\r\n// color: \"#00529C\",\r\n// },\r\n// };\r\n\r\nexport default function DefaultStepper({ steps, activeStep }) {\r\n return (\r\n <Box sx={{ width: \"100%\" }}>\r\n <Stepper activeStep={activeStep} alternativeLabel>\r\n {steps.map((step) => (\r\n <Step key={step.label}>\r\n <CustomStepLabel>{step.status}</CustomStepLabel>\r\n <TextLabel className=\"font-normal text-sm\">{step.label}</TextLabel>\r\n </Step>\r\n ))}\r\n </Stepper>\r\n </Box>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { useTable, useSortBy, usePagination, useExpanded } from \"react-table\";\r\n\r\nimport {\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableFooter,\r\n TableHead,\r\n TableRow,\r\n} from \"@mui/material\";\r\n\r\nimport {\r\n UnfoldMore as UnfoldMoreIconRaw,\r\n ArrowUpward as ArrowUpwardIconRaw,\r\n ArrowDownward as ArrowDownwardIconRaw,\r\n} from \"@mui/icons-material\";\r\nconst UnfoldMoreIcon = UnfoldMoreIconRaw?.default ?? UnfoldMoreIconRaw;\r\nconst ArrowUpwardIcon = ArrowUpwardIconRaw?.default ?? ArrowUpwardIconRaw;\r\nconst ArrowDownwardIcon = ArrowDownwardIconRaw?.default ?? ArrowDownwardIconRaw;\r\n\r\nexport const DataTableBriguna = ({\r\n columns,\r\n data,\r\n renderRowSubComponent,\r\n onHeaderClick,\r\n thisPage,\r\n perPage,\r\n className,\r\n EmptyComponent = null,\r\n showFooter=false,\r\n showFooterSorted=false,\r\n isStickyHeader=false,\r\n columnSorted = [],\r\n autoFit = false\r\n}) => {\r\n const {\r\n getTableProps,\r\n getTableBodyProps,\r\n headerGroups,\r\n footerGroups,\r\n prepareRow,\r\n visibleColumns,\r\n rows,\r\n } = useTable(\r\n {\r\n columns,\r\n data,\r\n onHeaderClick,\r\n manualSortBy: true,\r\n thisPage,\r\n perPage,\r\n },\r\n useSortBy,\r\n useExpanded,\r\n usePagination\r\n );\r\n\r\n const listColumnSorted = columnSorted;\r\n const borderStyle = \"1px solid #E0E0E0\";\r\n\r\n if (!EmptyComponent) {\r\n EmptyComponent = (\r\n <TableRow>\r\n <TableCell colSpan={columns.length} style={{ textAlign: \"center\" }}>\r\n Data tidak ditemukan\r\n </TableCell>\r\n </TableRow>\r\n );\r\n }\r\n return (\r\n <div className={className}>\r\n <Table\r\n {...getTableProps()}\r\n sx={{\r\n ...(autoFit && {\r\n tableLayout: \"auto\", // ✅ hanya kalau autoFit true\r\n \"& th, & td\": {\r\n whiteSpace: \"nowrap\",\r\n },\r\n }),\r\n }}\r\n>\r\n <TableHead\r\n sx={{\r\n \"& th:first-of-type\": {\r\n borderTopLeftRadius: \"10px\",\r\n },\r\n \"& th:last-child\": {\r\n borderTopRightRadius: \"10px\",\r\n },\r\n }}\r\n >\r\n {headerGroups.map((headerGroup, index) => (\r\n <TableRow\r\n key={index}\r\n sx={{\r\n backgroundColor: \"#00529C\",\r\n }}\r\n {...headerGroup.getHeaderGroupProps()}\r\n >\r\n {headerGroup.headers.map((column, index) => (\r\n <TableCell\r\n key={index}\r\n rowSpan={column.rowSpan ? column.rowSpan : 1}\r\n className=\"text-base\"\r\n sx={{\r\n color: \"#FFFFFF\",\r\n borderLeft: index === 0 ? \"none\" : borderStyle,\r\n borderRight:\r\n index === headerGroup.headers.length - 1\r\n ? \"none\"\r\n : borderStyle,\r\n borderBottom: borderStyle,\r\n ...(isStickyHeader && {\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 1,\r\n background: \"#00529C\",\r\n }),\r\n }}\r\n {...column.getHeaderProps(\r\n column.getSortByToggleProps({\r\n style: {\r\n minWidth: column.minWidth,\r\n maxWidth: column.maxWidth,\r\n textAlign: \"center\",\r\n fontSize: \"13px\",\r\n width: column.width,\r\n },\r\n })\r\n )}\r\n onClick={() => onHeaderClick(column)}\r\n >\r\n <div className={listColumnSorted && listColumnSorted.length > 0 ? `flex items-center ${column.isCenter ? \"justify-center\" : \"justify-between\"} w-full` : \"\"}>\r\n <strong>{column.render(\"Header\")}</strong>\r\n <span className=\"flex ml-2\">\r\n {listColumnSorted && listColumnSorted.includes(column.id) ? (\r\n column.sortDirection === \"\" ? (\r\n <UnfoldMoreIcon\r\n className=\"text-briWhite\"\r\n fontSize=\"small\"\r\n />\r\n ) : column.sortDirection === \"asc\" ? (\r\n <ArrowUpwardIcon\r\n className=\"text-briWhite\"\r\n fontSize=\"small\"\r\n />\r\n ) : column.sortDirection === \"desc\" ? (\r\n <ArrowDownwardIcon\r\n className=\"text-briWhite\"\r\n fontSize=\"small\"\r\n />\r\n ) : null\r\n ) : null}\r\n </span>\r\n </div>\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n ))}\r\n </TableHead>\r\n <TableBody {...getTableBodyProps()}>\r\n {rows.length === 0\r\n ? EmptyComponent\r\n : rows.map((row) => {\r\n prepareRow(row);\r\n // Tambahkan logika penentuan warna\r\n let bgColor = '';\r\n let textColor = '';\r\n\r\n switch (row.original.jenis) {\r\n case 'proses':\r\n bgColor = '#EAF3FA';\r\n textColor = '#00529C';\r\n break;\r\n case 'failed':\r\n bgColor = '#FFEAEA';\r\n textColor = 'black';\r\n break;\r\n case 'done':\r\n bgColor = '#EEFBF4';\r\n textColor = 'black';\r\n break;\r\n default:\r\n bgColor = 'white';\r\n textColor = 'black';\r\n break;\r\n }\r\n\r\n return (\r\n <React.Fragment key={row.getRowProps().key}>\r\n <TableRow\r\n {...row.getRowProps()}\r\n >\r\n {row.cells.map((cell, index) => {\r\n return (\r\n <TableCell\r\n key={index}\r\n // sx={{ border: \"1px solid #E0E0E0\" }}\r\n sx={{\r\n border: \"1px solid #E0E0E0\",\r\n backgroundColor: bgColor, // Terapkan warna di sini\r\n color: textColor, // Terapkan warna teks di sini\r\n }}\r\n {...cell.getCellProps({\r\n style: {\r\n minWidth: cell.column.minWidth,\r\n maxWidth: cell.column.maxWidth,\r\n textAlign: cell.column.align,\r\n padding: \"8px 12px\"\r\n },\r\n })}\r\n >\r\n <span>{cell.render(\"Cell\")}</span>\r\n </TableCell>\r\n );\r\n })}\r\n </TableRow>\r\n {row.original.isOpenSub ? (\r\n <TableRow>\r\n <TableCell\r\n colSpan={visibleColumns.length + 1}\r\n style={{ padding: 0 }}\r\n >\r\n {renderRowSubComponent({ row })}\r\n </TableCell>\r\n </TableRow>\r\n ) : null}\r\n </React.Fragment>\r\n );\r\n })}\r\n </TableBody>\r\n {showFooter ? (\r\n <TableFooter\r\n sx={{\r\n \"& th:first-of-type\": {\r\n borderTopLeftRadius: \"10px\",\r\n },\r\n \"& th:last-child\": {\r\n borderTopRightRadius: \"10px\",\r\n },\r\n }}\r\n >\r\n {footerGroups.map((footerGroup, index) => (\r\n <TableRow key={index} {...footerGroup.getFooterGroupProps()}>\r\n {footerGroup.headers.map((column, index) => (\r\n <TableCell\r\n key={index}\r\n className=\"text-base font-bold\"\r\n sx={{\r\n color: \"#000000\",\r\n borderLeft: borderStyle,\r\n borderRight: borderStyle,\r\n borderBottom: borderStyle,\r\n }}\r\n {...column.getFooterProps(\r\n column.getSortByToggleProps({\r\n style: {\r\n minWidth: column.minWidth,\r\n maxWidth: column.maxWidth,\r\n textAlign: \"center\",\r\n fontSize: \"13px\",\r\n padding: \"8px 12px\",\r\n width: column.width,\r\n },\r\n })\r\n )}\r\n onClick={() => onHeaderClick(column)}\r\n >\r\n <strong>{column.render(\"Footer\")}</strong>\r\n {showFooterSorted ? (\r\n <span className=\"ml-2\">\r\n {listColumnSorted.includes(column.id) ? (\r\n column.sortDirection === \"\" ? (\r\n <UnfoldMoreIcon\r\n className=\"text-briRed\"\r\n fontSize=\"small\"\r\n />\r\n ) : column.sortDirection === \"asc\" ? (\r\n <ArrowUpwardIcon\r\n className=\"text-briRed\"\r\n fontSize=\"small\"\r\n />\r\n ) : column.sortDirection === \"desc\" ? (\r\n <ArrowDownwardIcon\r\n className=\"text-briRed\"\r\n fontSize=\"small\"\r\n />\r\n ) : null\r\n ) : null}\r\n </span>\r\n ) : null}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n ))}\r\n </TableFooter>\r\n ) : null}\r\n </Table>\r\n </div>\r\n );\r\n};\r\n","import React from \"react\";\r\nimport {\r\n useTable,\r\n useSortBy,\r\n usePagination,\r\n useExpanded,\r\n} from \"react-table\";\r\nimport {\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableHead,\r\n TableRow,\r\n} from \"@mui/material\";\r\nimport {\r\n UnfoldMore as UnfoldMoreIcon,\r\n ArrowUpward as ArrowUpwardIcon,\r\n ArrowDownward as ArrowDownwardIcon,\r\n} from \"@mui/icons-material\";\r\n\r\nexport const DataTableSticky = ({\r\n columns,\r\n data,\r\n onHeaderClick,\r\n thisPage,\r\n perPage,\r\n className,\r\n EmptyComponent = null,\r\n isStickyHeader = true,\r\n columnSorted = [],\r\n tableHeight = \"400px\",\r\n tableOverflowY = \"auto\",\r\n}) => {\r\n const {\r\n getTableProps,\r\n getTableBodyProps,\r\n headerGroups,\r\n prepareRow,\r\n rows,\r\n } = useTable(\r\n {\r\n columns,\r\n data,\r\n onHeaderClick,\r\n manualSortBy: true,\r\n thisPage,\r\n perPage,\r\n },\r\n useSortBy,\r\n useExpanded,\r\n usePagination\r\n );\r\n\r\n const listColumnSorted = columnSorted;\r\n const borderStyle = \"1px solid #E0E0E0\";\r\n\r\n if (!EmptyComponent) {\r\n EmptyComponent = (\r\n <TableRow>\r\n <TableCell colSpan={columns.length} style={{ textAlign: \"center\" }}>\r\n Data tidak ditemukan\r\n </TableCell>\r\n </TableRow>\r\n );\r\n }\r\n\r\n return (\r\n <div\r\n className={className}\r\n style={{\r\n overflowX: \"auto\",\r\n overflowY: tableOverflowY,\r\n maxHeight: tableHeight,\r\n position: \"relative\", // penting untuk sticky\r\n }}\r\n >\r\n <Table {...getTableProps()}>\r\n {/* ===== HEADER ===== */}\r\n <TableHead\r\n sx={{\r\n \"& th:first-of-type\": { borderTopLeftRadius: \"10px\" },\r\n \"& th:last-child\": { borderTopRightRadius: \"10px\" },\r\n }}\r\n >\r\n {headerGroups.map((headerGroup, hIndex) => (\r\n <TableRow\r\n key={hIndex}\r\n {...headerGroup.getHeaderGroupProps()}\r\n sx={{\r\n backgroundColor: \"#00529C\",\r\n }}\r\n >\r\n {headerGroup.headers.map((column, cIndex) => (\r\n <TableCell\r\n key={cIndex}\r\n sx={{\r\n color: \"#FFFFFF\",\r\n borderLeft: cIndex === 0 ? \"none\" : borderStyle,\r\n borderRight:\r\n cIndex === headerGroup.headers.length - 1\r\n ? \"none\"\r\n : borderStyle,\r\n borderBottom: borderStyle,\r\n textAlign: \"center\",\r\n fontSize: \"13px\",\r\n fontWeight: \"bold\",\r\n // Sticky header (top)\r\n ...(isStickyHeader && {\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 3,\r\n background: \"#00529C\",\r\n }),\r\n // Sticky column left/right di header\r\n ...(column.sticky === \"left\" && {\r\n position: \"sticky\",\r\n left: 0,\r\n zIndex: 4,\r\n background: \"#00529C\",\r\n }),\r\n ...(column.sticky === \"right\" && {\r\n position: \"sticky\",\r\n right: 0,\r\n zIndex: 4,\r\n background: \"#00529C\",\r\n }),\r\n }}\r\n {...column.getHeaderProps(column.getSortByToggleProps())}\r\n onClick={() => onHeaderClick && onHeaderClick(column)}\r\n >\r\n <strong>{column.render(\"Header\")}</strong>\r\n <span style={{ marginLeft: \"4px\" }}>\r\n {listColumnSorted.includes(column.id) ? (\r\n column.sortDirection === \"\" ? (\r\n <UnfoldMoreIcon fontSize=\"small\" />\r\n ) : column.sortDirection === \"asc\" ? (\r\n <ArrowUpwardIcon fontSize=\"small\" />\r\n ) : (\r\n <ArrowDownwardIcon fontSize=\"small\" />\r\n )\r\n ) : null}\r\n </span>\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n ))}\r\n </TableHead>\r\n\r\n {/* ===== BODY ===== */}\r\n <TableBody {...getTableBodyProps()}>\r\n {rows.length === 0 ? (\r\n EmptyComponent\r\n ) : (\r\n rows.map((row) => {\r\n prepareRow(row);\r\n return (\r\n <TableRow key={row.getRowProps().key}>\r\n {row.cells.map((cell, cIndex) => (\r\n <TableCell\r\n key={cIndex}\r\n sx={{\r\n border: borderStyle,\r\n backgroundColor: \"white\",\r\n color: \"black\",\r\n textAlign: cell.column.align || \"center\",\r\n padding: cell.column.noPadding ? \"0px\" : \"8px 12px\",\r\n // Sticky column left/right di body\r\n ...(cell.column.sticky === \"left\" && {\r\n position: \"sticky\",\r\n left: 0,\r\n zIndex: 2,\r\n backgroundColor: \"white\",\r\n }),\r\n ...(cell.column.sticky === \"right\" && {\r\n position: \"sticky\",\r\n right: 0,\r\n zIndex: 2,\r\n backgroundColor: \"white\",\r\n }),\r\n }}\r\n {...cell.getCellProps()}\r\n >\r\n {cell.render(\"Cell\")}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n );\r\n })\r\n )}\r\n </TableBody>\r\n </Table>\r\n </div>\r\n );\r\n};","import React from 'react';\r\nimport {\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableHead,\r\n TableRow,\r\n TableContainer,\r\n Paper,\r\n Box\r\n} from '@mui/material';\r\n\r\nexport default function DataTableSubHeader({\r\n data,\r\n columnsTop,\r\n columnsSub,\r\n columnsSub2, // Tambahan header tingkat 3\r\n renderRow,\r\n freezeLeftColumn = 2,\r\n}) {\r\n const borderStyle = '1px solid #E0E0E0';\r\n const headerBg = '#01529C';\r\n const headerTextColor = '#FFFFFF';\r\n\r\n // Hitung tinggi header\r\n const headerHeight = 40; // Tinggi header utama\r\n const subHeaderHeight = 40; // Tinggi subheader\r\n const subHeader2Height = 35; // Tinggi subheader ke-3\r\n\r\n const baseCellStyle = {\r\n borderBottom: borderStyle,\r\n borderRight: borderStyle,\r\n borderLeft: borderStyle,\r\n color: headerTextColor,\r\n backgroundColor: headerBg,\r\n textAlign: 'center',\r\n fontSize: '14px',\r\n boxSizing: 'border-box',\r\n padding: '8px 12px',\r\n };\r\n\r\n const columnWidths = columnsTop?.map(col => col.width || 150);\r\n const columnWidthsSub = columnsSub?.map(col => col.width || 150);\r\n const columnWidthsSub2 = columnsSub2?.map(col => col.width || 150);\r\n\r\n const getLeftOffset = (index) => {\r\n return columnWidths?.slice(0, index).reduce((acc, w) => acc + w, 0);\r\n }\r\n\r\n return (\r\n <Box sx={{ position: 'relative' }}>\r\n <TableContainer \r\n component={Paper}\r\n sx={{\r\n maxHeight: 600,\r\n borderRadius: '16px',\r\n }}\r\n >\r\n <Table sx={{\r\n borderCollapse: 'separate',\r\n borderSpacing: 0,\r\n width: '100%',\r\n }}>\r\n {/* Gabungkan header dalam satu grup sticky */}\r\n <TableHead>\r\n {/* Header Utama - Baris 1 */}\r\n <TableRow sx={{\r\n position: 'sticky',\r\n top: 0,\r\n zIndex: 6,\r\n }}>\r\n {columnsTop.map((col, i) => (\r\n \r\n <TableCell\r\n key={`top-${i}`}\r\n rowSpan={col.rowspan || 1}\r\n colSpan={col.colspan || 1}\r\n align={col.align || 'center'}\r\n sx={{\r\n ...baseCellStyle,\r\n ...(i < freezeLeftColumn && {\r\n position: 'sticky',\r\n left: getLeftOffset(i),\r\n zIndex: 7,\r\n textAlign: col?.align || 'center',\r\n }),\r\n minWidth: columnWidths[i],\r\n width: columnWidths[i],\r\n height: headerHeight,\r\n ...(i === 0 && { borderLeft: 'none' }),\r\n }}\r\n >\r\n {col.label}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n\r\n {/* Subheader - Baris 2 */}\r\n {columnsSub && columnsSub.length > 0 && (\r\n <TableRow sx={{\r\n position: 'sticky',\r\n top: headerHeight, // Tempel di bawah header utama\r\n zIndex: 5,\r\n }}>\r\n {columnsSub.map((col, i) => (\r\n <TableCell\r\n key={`sub-${i}`}\r\n rowSpan={col.rowspan || 1}\r\n colSpan={col.colspan || 1}\r\n align={col.align || 'center'}\r\n sx={{\r\n ...baseCellStyle,\r\n minWidth: columnWidthsSub[i],\r\n width: columnWidthsSub[i],\r\n height: subHeaderHeight,\r\n ...(i === 0 && { borderLeft: 'none' }),\r\n }}\r\n >\r\n {col.label}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n )}\r\n\r\n {/* Sub-subheader (tingkat 3) */}\r\n {columnsSub2?.length > 0 && (\r\n <TableRow sx={{\r\n position: 'sticky',\r\n top: headerHeight + subHeaderHeight, // Tempel di bawah subheader\r\n zIndex: 5,\r\n }}>\r\n {columnsSub2.map((col, i) => (\r\n <TableCell\r\n key={`sub2-${i}`}\r\n align={col.align || 'center'}\r\n sx={{\r\n ...baseCellStyle,\r\n // ...(i < freezeLeftColumn && {\r\n // position: 'sticky',\r\n // left: getLeftOffset(i),\r\n // zIndex: 6,\r\n // }),\r\n minWidth: columnWidthsSub2[i],\r\n width: columnWidthsSub2[i],\r\n height: subHeader2Height,\r\n ...(i === 0 && { borderLeft: 'none' }),\r\n }}\r\n >\r\n {col.label}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n )}\r\n </TableHead>\r\n\r\n <TableBody>\r\n {data?.length > 0 ? (\r\n data.map((row, index) =>\r\n renderRow(row, index, freezeLeftColumn, getLeftOffset, columnWidths)\r\n )\r\n ) : (\r\n <TableRow>\r\n <TableCell colSpan={columnsTop.length} align=\"center\">\r\n Tidak ada data\r\n </TableCell>\r\n </TableRow>\r\n )}\r\n </TableBody>\r\n </Table>\r\n </TableContainer>\r\n </Box>\r\n );\r\n}","import React from 'react'\r\nimport { useTable, useSortBy, usePagination, useExpanded } from 'react-table'\r\n\r\nimport {\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableRow\r\n} from '@mui/material'\r\nexport const DataTableSub = ({\r\n columns,\r\n data,\r\n renderRowSubComponent,\r\n onHeaderClick,\r\n thisPage,\r\n perPage\r\n}) => {\r\n const {\r\n getTableProps,\r\n getTableBodyProps,\r\n prepareRow,\r\n visibleColumns,\r\n rows\r\n } = useTable(\r\n {\r\n columns,\r\n data,\r\n onHeaderClick,\r\n manualSortBy: true,\r\n thisPage,\r\n perPage\r\n },\r\n useSortBy,\r\n useExpanded,\r\n usePagination\r\n )\r\n\r\n return (\r\n <div>\r\n <Table {...getTableProps()}>\r\n {/* <TableHead\r\n sx={{\r\n '& th:first-child': {\r\n borderTopLeftRadius: '10px'\r\n },\r\n '& th:last-child': {\r\n borderTopRightRadius: '10px'\r\n }\r\n }}\r\n >\r\n {headerGroups.map((headerGroup, index) => (\r\n <TableRow\r\n key={index}\r\n sx={{\r\n backgroundColor: \"#00529C\"\r\n }}\r\n {...headerGroup.getHeaderGroupProps()}\r\n >\r\n {headerGroup.headers.map((column, index) => (\r\n <TableCell\r\n key={index}\r\n className=\"text-base\"\r\n sx={{ color: \"#FFFFFF\" }}\r\n {...column.getHeaderProps(\r\n column.getSortByToggleProps({\r\n style: {\r\n minWidth: column.minWidth,\r\n maxWidth: column.maxWidth,\r\n textAlign: column.align\r\n }\r\n })\r\n )}\r\n onClick={() => onHeaderClick(column)}\r\n >\r\n <strong>{column.render('Header')}</strong>\r\n <span className=\"ml-2\">\r\n {listColumnSorted.includes(column.id) ? (\r\n column.sortDirection === '' ? (\r\n <UnfoldMoreIcon\r\n className=\"text-briRed\"\r\n fontSize=\"small\"\r\n />\r\n ) : column.sortDirection === 'asc' ? (\r\n <ArrowUpwardIcon\r\n className=\"text-briRed\"\r\n fontSize=\"small\"\r\n />\r\n ) : column.sortDirection === 'desc' ? (\r\n <ArrowDownwardIcon\r\n className=\"text-briRed\"\r\n fontSize=\"small\"\r\n />\r\n ) : null\r\n ) : null}\r\n </span>\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n ))}\r\n </TableHead> */}\r\n <TableBody {...getTableBodyProps()}>\r\n {rows.map((row) => {\r\n prepareRow(row)\r\n return (\r\n <React.Fragment key={row.getRowProps().key}>\r\n <TableRow>\r\n {row.cells.map((cell, index) => {\r\n return (\r\n <TableCell\r\n key={index}\r\n sx={{ border: \"1px solid #E0E0E0\" }}\r\n {...cell.getCellProps({\r\n style: {\r\n minWidth: cell.column.minWidth,\r\n maxWidth: cell.column.maxWidth,\r\n textAlign: cell.column.align\r\n }\r\n })}\r\n >\r\n <span>{cell.render('Cell')}</span>\r\n </TableCell>\r\n )\r\n })}\r\n </TableRow>\r\n {row.isExpanded ? (\r\n <TableRow>\r\n <TableCell\r\n colSpan={visibleColumns.length + 1}\r\n style={{ padding: 0}}\r\n >\r\n {renderRowSubComponent({ row })}\r\n </TableCell>\r\n </TableRow>\r\n ) : null}\r\n </React.Fragment>\r\n )\r\n })}\r\n </TableBody>\r\n </Table>\r\n </div>\r\n )\r\n}\r\n","import React, { memo } from \"react\";\r\nimport { useTable, useSortBy, usePagination } from \"react-table\";\r\nimport {\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableHead,\r\n TableRow,\r\n TableFooter,\r\n TableContainer,\r\n Paper,\r\n useMediaQuery,\r\n} from \"@mui/material\";\r\nimport {\r\n ArrowUpward as ArrowUpwardIcon,\r\n ArrowDownward as ArrowDownwardIcon,\r\n} from \"@mui/icons-material\";\r\nimport { useWatch } from \"react-hook-form\";\r\nimport Decimal from \"decimal.js\";\r\n\r\n// * Total per column (right end of each row)\r\nconst CellTotal = memo(function CellTotal({ control, columnsToSum }) {\r\n const values = useWatch({ control, name: columnsToSum });\r\n const sum = (values || []).reduce(\r\n (acc, val) => acc.plus(new Decimal(val || 0)),\r\n new Decimal(0)\r\n );\r\n return (\r\n <span>\r\n {new Intl.NumberFormat(\"id-ID\", {\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2,\r\n }).format(sum)}\r\n </span>\r\n );\r\n});\r\nCellTotal.displayName = \"CellTotal\";\r\n\r\n// * Total per row (bottom end of each column)\r\nconst FooterTotal = memo(function FooterTotal({ control, data, columnId }) {\r\n const names = data.map((row) =>\r\n row.original.accessorPrefix\r\n ? `${row.original.accessorPrefix}_${columnId}`\r\n : \"\"\r\n );\r\n const values = useWatch({ control, name: names.filter(Boolean) });\r\n const total = (values || []).reduce(\r\n (acc, val) => acc.plus(new Decimal(val || 0)),\r\n new Decimal(0)\r\n );\r\n return (\r\n <span>\r\n {new Intl.NumberFormat(\"id-ID\", {\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2,\r\n }).format(total)}\r\n </span>\r\n );\r\n});\r\nFooterTotal.displayName = \"FooterTotal\";\r\n\r\n// * Total for all rows (grand total at the bottom)\r\nconst FooterGrandTotal = memo(function FooterGrandTotal({\r\n control,\r\n data,\r\n summableColumnIds,\r\n}) {\r\n const allFieldNames = data.flatMap((row) => {\r\n const prefix = row.original.accessorPrefix;\r\n return prefix ? summableColumnIds.map((colId) => `${prefix}_${colId}`) : [];\r\n });\r\n const values = useWatch({ control, name: allFieldNames });\r\n const grandTotal = (values || []).reduce(\r\n (acc, val) => acc.plus(new Decimal(val || 0)),\r\n new Decimal(0)\r\n );\r\n return (\r\n <span>\r\n {new Intl.NumberFormat(\"id-ID\", {\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2,\r\n }).format(grandTotal)}\r\n </span>\r\n );\r\n});\r\nFooterGrandTotal.displayName = \"FooterGrandTotal\";\r\n\r\n/**\r\n * Komponen `TableStickyYear` yang generik dan dapat dikonfigurasi.\r\n *\r\n * @param {object} props\r\n * @param {Array} props.columns - Definisi kolom untuk react-table. Bisa berisi nested `columns` untuk grouping.\r\n * - Untuk kalkulasi footer, definisikan properti `Footer` pada kolom yang relevan.\r\n * @param {Array} props.data - Data yang akan ditampilkan. Setiap objek data harus memiliki `accessorPrefix` unik\r\n * jika `showFooterTotal` atau `CellTotal` digunakan, untuk membangun nama field form.\r\n * @param {object} props.formMethods - Objek `methods` dari `useForm` (react-hook-form) untuk kalkulasi total.\r\n * @param {boolean} [props.showFooterTotal=false] - Jika `true`, footer total akan dirender.\r\n * @param {boolean} [props.showRowTotal=false] - Jika `true`, kolom total per baris akan dirender (harus didefinisikan di `columns`).\r\n * @param {React.Component} [props.EmptyComponent=null] - Komponen yang ditampilkan saat data kosong.\r\n * @param {string} [props.tableHeight=\"600px\"] - Tinggi maksimum tabel.\r\n * @param {string} [props.tableOverflowY=\"auto\"] - Properti CSS `overflow-y` untuk tabel.\r\n * @param {boolean} [props.isStickyHeader=true] - Mengaktifkan header yang sticky.\r\n */\r\n\r\nconst TableStickyYear = (({\r\n columns,\r\n data,\r\n formMethods,\r\n showFooterTotal = false,\r\n showFooterGrandTotal = false,\r\n footerTotalColumnIds = [],\r\n footerGrandTotalColumnIds = [],\r\n EmptyComponent = null,\r\n isStickyHeader = true,\r\n tableHeight = \"600px\",\r\n tableOverflowY = \"auto\",\r\n firstRowRef = null,\r\n}) =>{\r\n const {\r\n getTableProps,\r\n getTableBodyProps,\r\n headerGroups,\r\n prepareRow,\r\n rows,\r\n } = useTable(\r\n {\r\n columns,\r\n data,\r\n initialState: { pageSize: 20 }, // default pageSize 20, could be overridden by pagination from parent component\r\n },\r\n useSortBy,\r\n usePagination\r\n );\r\n\r\n const borderStyle = \"1px solid #E0E0E0\";\r\n const shadowAndOutlineStyle = \"1px solid #E0E0E0\";\r\n const isMd = useMediaQuery(\"(min-width:640px)\");\r\n\r\n const getStickyProps = (colIndex) => {\r\n if (isMd) {\r\n if (colIndex === 0)\r\n return {\r\n position: \"sticky\",\r\n left: 0,\r\n zIndex: 10,\r\n background: \"#fff\",\r\n outline: shadowAndOutlineStyle,\r\n outlineOffset: \"-1px\",\r\n border: borderStyle,\r\n };\r\n if (colIndex === 1)\r\n return {\r\n border: borderStyle,\r\n outline: shadowAndOutlineStyle,\r\n position: \"sticky\",\r\n zIndex: 10,\r\n background: \"#fff\",\r\n };\r\n if (colIndex === 2)\r\n return {\r\n border: borderStyle,\r\n position: \"sticky\",\r\n zIndex: 10,\r\n background: \"#fff\",\r\n outline: shadowAndOutlineStyle,\r\n };\r\n // Style for label \"Total\" di footer\r\n if (colIndex === 99)\r\n return {\r\n position: \"sticky\",\r\n left: 0,\r\n background: \"#EAF5FF\",\r\n border: borderStyle,\r\n outline: shadowAndOutlineStyle,\r\n outlineOffset: \"-1px\",\r\n };\r\n }\r\n return {};\r\n };\r\n\r\n const getHeaderStickyProps = (colIndex, isSecondRow = false) => {\r\n if (isMd) {\r\n if (!isSecondRow) {\r\n // First row (year column) sticky styles\r\n if (colIndex === 0)\r\n return {\r\n left: 0,\r\n position: \"sticky\",\r\n zIndex: 20,\r\n background: \"#084F8C\",\r\n outline: shadowAndOutlineStyle,\r\n outlineOffset: \"-1px\",\r\n border: borderStyle,\r\n };\r\n if (colIndex === 1)\r\n return {\r\n position: \"sticky\",\r\n zIndex: 20,\r\n background: \"#084F8C\",\r\n outline: shadowAndOutlineStyle,\r\n border: borderStyle,\r\n };\r\n if (colIndex === 2)\r\n return {\r\n position: \"sticky\",\r\n zIndex: 20,\r\n background: \"#084F8C\",\r\n outline: shadowAndOutlineStyle,\r\n border: borderStyle,\r\n };\r\n } else {\r\n // Second row (months column) no sticky styles\r\n return {};\r\n }\r\n }\r\n return {};\r\n };\r\n\r\n if (!EmptyComponent) {\r\n EmptyComponent = (\r\n <TableRow>\r\n <TableCell colSpan={columns.length} style={{ textAlign: \"center\" }}>\r\n Data tidak ditemukan\r\n </TableCell>\r\n </TableRow>\r\n );\r\n }\r\n\r\n return (\r\n <TableContainer\r\n component={Paper}\r\n style={{\r\n overflowX: \"auto\",\r\n maxHeight: tableHeight,\r\n overflowY: tableOverflowY,\r\n width: \"100%\",\r\n borderTopLeftRadius: \"10px\",\r\n borderTopRightRadius: \"10px\",\r\n }}\r\n >\r\n <Table {...getTableProps()}>\r\n <TableHead\r\n sx={{\r\n \"& tr:first-of-type th:first-of-type\": {\r\n borderTopLeftRadius: \"10px\",\r\n },\r\n \"& tr:first-of-type th:last-child\": {\r\n borderTopRightRadius: \"10px\",\r\n },\r\n ...(isStickyHeader && {\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 30,\r\n background: \"#084F8C\",\r\n }),\r\n }}\r\n {...headerGroups[0].getHeaderGroupProps({\r\n style: {\r\n height: \"auto\",\r\n minHeight: \"48px\",\r\n },\r\n })}\r\n >\r\n {/* First Header Row - Columns with rowSpan and group headers */}\r\n <TableRow sx={{ backgroundColor: \"#084F8C\" }}>\r\n {headerGroups[0].headers.map((column, colIndex) => {\r\n // if nested columns, use colSpan\r\n if (column.columns) {\r\n return (\r\n <TableCell\r\n {...column.getHeaderProps()}\r\n key={column.id || colIndex}\r\n colSpan={column.colSpan || column.columns.length}\r\n sx={{\r\n color: \"#FFFFFF\",\r\n border: borderStyle,\r\n textAlign: \"center\",\r\n fontWeight: \"bold\",\r\n padding: \"12px 16px\",\r\n position: \"sticky\",\r\n left: 0,\r\n background: \"#084F8C\",\r\n outline: shadowAndOutlineStyle,\r\n outlineOffset: \"-1px\",\r\n ...(column.width && { width: column.width }),\r\n }}\r\n >\r\n {column.render(\"Header\")}\r\n </TableCell>\r\n );\r\n }\r\n // normal columns with rowSpan\r\n return (\r\n <TableCell\r\n {...column.getHeaderProps(column.getSortByToggleProps())}\r\n key={column.headers?.[0]?.id || colIndex}\r\n rowSpan={column.headers?.[0]?.rowSpan || 1}\r\n sx={{\r\n color: \"#FFFFFF\",\r\n border: borderStyle,\r\n textAlign: \"center\",\r\n fontWeight: \"bold\",\r\n padding: \"12px 16px\",\r\n background: \"#084F8C\",\r\n verticalAlign: \"middle\",\r\n outline: shadowAndOutlineStyle,\r\n outlineOffset: \"-1px\",\r\n ...getHeaderStickyProps(colIndex, false),\r\n ...(column.width && { width: column.width }),\r\n ...(column.headers?.[0]?.stickyOffset && {\r\n left: column.headers?.[0]?.stickyOffset,\r\n }),\r\n }}\r\n >\r\n {column.headers?.[0]?.Header || column.render(\"Header\")}\r\n <span key={`sort-indicator-${column.id || colIndex}`}>\r\n {column.isSorted ? (\r\n column.isSortedDesc ? (\r\n <ArrowDownwardIcon fontSize=\"small\" />\r\n ) : (\r\n <ArrowUpwardIcon fontSize=\"small\" />\r\n )\r\n ) : (\r\n \"\"\r\n )}\r\n </span>\r\n </TableCell>\r\n );\r\n })}\r\n </TableRow>\r\n\r\n {/* Second Header Row - Month columns */}\r\n <TableRow sx={{ backgroundColor: \"#084F8C\" }}>\r\n {headerGroups[1].headers\r\n .filter((column, colIndex) => {\r\n const firstGroupColumn = headerGroups[0].headers[colIndex];\r\n return !(\r\n firstGroupColumn?.headers?.[0]?.rowSpan > 1 ||\r\n firstGroupColumn?.placeholderOf?.rowSpan > 1\r\n );\r\n })\r\n .map((column, colIndex) => (\r\n <TableCell\r\n {...column.getHeaderProps(column.getSortByToggleProps())}\r\n key={`header-row2-${column.id || colIndex}`}\r\n sx={{\r\n color: \"#FFFFFF\",\r\n border: borderStyle,\r\n textAlign: \"center\",\r\n fontWeight: \"bold\",\r\n padding: \"12px 16px\",\r\n background: \"#084F8C\",\r\n outline: shadowAndOutlineStyle,\r\n outlineOffset: \"-1px\",\r\n ...getHeaderStickyProps(colIndex, true),\r\n ...(column.width && { width: column.width }),\r\n }}\r\n >\r\n {column.render(\"Header\")}\r\n <span key={`sort-indicator-row2-${column.id || colIndex}`}>\r\n {column.isSorted ? (\r\n column.isSortedDesc ? (\r\n <ArrowDownwardIcon fontSize=\"small\" />\r\n ) : (\r\n <ArrowUpwardIcon fontSize=\"small\" />\r\n )\r\n ) : (\r\n \"\"\r\n )}\r\n </span>\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n </TableHead>\r\n <TableBody {...getTableBodyProps()}>\r\n {rows.length === 0\r\n ? EmptyComponent\r\n : rows.map((row, rowIdx) => {\r\n prepareRow(row);\r\n return (\r\n <TableRow\r\n {...row.getRowProps()}\r\n key={row.id || rowIdx}\r\n ref={rowIdx === 0 ? firstRowRef : null}\r\n >\r\n {row.cells.map((cell, index) => {\r\n return (\r\n <TableCell\r\n {...cell.getCellProps()}\r\n key={cell.column.id || index}\r\n sx={{\r\n border: borderStyle,\r\n textAlign: cell.column.align || \"left\",\r\n padding: \"8px 12px\",\r\n backgroundColor:\r\n cell.column.id === \"total\" || cell.column.disabled ? \"#EDEDED\" : \"white\",\r\n fontWeight:\r\n cell.column.id === \"total\" ? (cell.column.fontWeight || \"bold\") : \"normal\",\r\n fontSize:\r\n cell.column.id === \"total\" ? (cell.column.fontSize || \"inherit\") : \"inherit\",\r\n ...getStickyProps(index),\r\n ...(cell.column.width && {\r\n width: cell.column.width,\r\n minWidth: cell.column.width,\r\n maxWidth: cell.column.width,\r\n }),\r\n ...(cell.column.stickyOffset && {\r\n left: cell.column.stickyOffset,\r\n }),\r\n }}\r\n >\r\n {cell.render(\"Cell\")}\r\n </TableCell>\r\n );\r\n })}\r\n </TableRow>\r\n );\r\n })}\r\n </TableBody>\r\n {(showFooterTotal || showFooterGrandTotal) && formMethods && (\r\n <TableFooter\r\n sx={{\r\n backgroundColor: \"#EAF5FF\",\r\n position: \"sticky\",\r\n bottom: 0,\r\n zIndex: 25,\r\n }}\r\n >\r\n <TableRow>\r\n {/* Label Total sticky */}\r\n <TableCell\r\n colSpan={3}\r\n sx={{\r\n fontWeight: 700,\r\n textAlign: \"left\",\r\n fontSize: \"16px\",\r\n height: 24,\r\n padding: \"8px 16px\",\r\n ...getStickyProps(99),\r\n backgroundColor: \"#EAF5FF\",\r\n }}\r\n >\r\n Total\r\n </TableCell>\r\n {/* Total per column */}\r\n {footerTotalColumnIds.map((colId) =>\r\n showFooterTotal ? (\r\n <TableCell\r\n key={colId}\r\n sx={{\r\n fontWeight: 700,\r\n textAlign: \"right\",\r\n border: borderStyle,\r\n height: 24,\r\n fontSize: \"16px\",\r\n padding: \"8px 16px\",\r\n boxSizing: \"border-box\",\r\n backgroundColor: \"#EAF5FF\",\r\n }}\r\n >\r\n <FooterTotal\r\n control={formMethods.control}\r\n data={data}\r\n columnId={colId}\r\n />\r\n </TableCell>\r\n ) : (\r\n <TableCell key={colId}></TableCell>\r\n )\r\n )}\r\n {/* Grand Total */}\r\n {showFooterGrandTotal && (\r\n <TableCell\r\n sx={{\r\n fontWeight: 700,\r\n textAlign: \"right\",\r\n fontSize: \"16px\",\r\n height: 24,\r\n padding: \"8px 16px\",\r\n boxSizing: \"border-box\",\r\n border: borderStyle,\r\n backgroundColor: \"#EAF5FF\",\r\n }}\r\n >\r\n <FooterGrandTotal\r\n control={formMethods.control}\r\n data={data}\r\n summableColumnIds={footerGrandTotalColumnIds}\r\n />\r\n </TableCell>\r\n )}\r\n </TableRow>\r\n </TableFooter>\r\n )}\r\n </Table>\r\n </TableContainer>\r\n );\r\n});\r\n\r\nexport { TableStickyYear };\r\n","import React from \"react\";\r\nimport { useTable, useSortBy, usePagination, useExpanded } from \"react-table\";\r\n\r\nimport {\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableFooter,\r\n TableHead,\r\n TableRow,\r\n} from \"@mui/material\";\r\n\r\nimport {\r\n UnfoldMore as UnfoldMoreIconRaw,\r\n ArrowUpward as ArrowUpwardIconRaw,\r\n ArrowDownward as ArrowDownwardIconRaw,\r\n} from \"@mui/icons-material\";\r\n\r\nconst UnfoldMoreIcon = UnfoldMoreIconRaw?.default ?? UnfoldMoreIconRaw;\r\nconst ArrowUpwardIcon = ArrowUpwardIconRaw?.default ?? ArrowUpwardIconRaw;\r\nconst ArrowDownwardIcon = ArrowDownwardIconRaw?.default ?? ArrowDownwardIconRaw;\r\n\r\n\r\nexport const DataTable = ({\r\n columns,\r\n data,\r\n renderRowSubComponent,\r\n onHeaderClick,\r\n thisPage,\r\n perPage,\r\n className,\r\n EmptyComponent = null,\r\n showFooter=false,\r\n showFooterSorted=false,\r\n isStickyHeader=false,\r\n columnSorted = [],\r\n footerBgColor = \"#FFFFFF\"\r\n}) => {\r\n const {\r\n getTableProps,\r\n getTableBodyProps,\r\n headerGroups,\r\n footerGroups,\r\n prepareRow,\r\n visibleColumns,\r\n rows,\r\n } = useTable(\r\n {\r\n columns,\r\n data,\r\n onHeaderClick,\r\n manualSortBy: true,\r\n thisPage,\r\n perPage,\r\n },\r\n useSortBy,\r\n useExpanded,\r\n usePagination\r\n );\r\n\r\n // const indexNo = (thisPage - 1) * perPage + 1\r\n const listColumnSorted = columnSorted;\r\n const borderStyle = \"1px solid #E0E0E0\";\r\n\r\n if (!EmptyComponent) {\r\n EmptyComponent = (\r\n <TableRow>\r\n <TableCell\r\n colSpan={columns.length} style={{ textAlign: \"center\" }}\r\n >Data tidak ditemukan</TableCell>\r\n </TableRow >\r\n );\r\n }\r\n\r\n return (\r\n <div className={className}>\r\n <Table {...getTableProps()}>\r\n <TableHead\r\n sx={{\r\n \"& th:first-of-type\": {\r\n borderTopLeftRadius: \"10px\",\r\n },\r\n \"& th:last-child\": {\r\n borderTopRightRadius: \"10px\",\r\n },\r\n }}\r\n >\r\n {headerGroups.map((headerGroup, index) => (\r\n <TableRow\r\n key={index}\r\n sx={{\r\n backgroundColor: \"#00529C\",\r\n }}\r\n {...headerGroup.getHeaderGroupProps()}\r\n >\r\n {headerGroup.headers.map((column, index) => {\r\n if (column.placeholderOf || column.Header === \"\") {\r\n return null;\r\n }\r\n\r\n return (\r\n <TableCell\r\n key={index}\r\n className=\"text-base\"\r\n rowSpan={column.rowSpan ?? 1}\r\n sx={{\r\n color: \"#FFFFFF\",\r\n borderLeft: index === 0 ? \"none\" : borderStyle,\r\n borderRight:\r\n index === headerGroup.headers.length - 1\r\n ? \"none\"\r\n : borderStyle,\r\n borderBottom: borderStyle,\r\n ...(isStickyHeader && {\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 1,\r\n background: \"#00529C\",\r\n }),\r\n ...(column.sticky && { // Apply sticky styles only to sticky columns\r\n position: \"sticky\",\r\n zIndex: 1,\r\n backgroundColor: \"#00529C\", // background color for sticky column cells\r\n ...(column.sticky === \"left\" && { left: 0 }), // Set left if sticky on left\r\n ...(column.sticky === \"right\" && { right: 0 }), // Set right if sticky on right\r\n }),\r\n }}\r\n {...column.getHeaderProps(\r\n column.getSortByToggleProps({\r\n style: {\r\n minWidth: column.minWidth,\r\n maxWidth: column.maxWidth,\r\n textAlign: \"center\",\r\n fontSize: \"13px\",\r\n width: column.width,\r\n padding: column.headerPadding,\r\n },\r\n })\r\n )}\r\n onClick={() => onHeaderClick(column)}\r\n >\r\n <strong>{column.render(\"Header\")}</strong>\r\n <span className=\"ml-2\">\r\n {listColumnSorted.includes(column.id) ? (\r\n column.sortDirection === \"\" ? (\r\n <UnfoldMoreIcon\r\n className=\"text-briRed\"\r\n fontSize=\"small\"\r\n />\r\n ) : column.sortDirection === \"asc\" ? (\r\n <ArrowUpwardIcon\r\n className=\"text-briWhite\"\r\n fontSize=\"small\"\r\n />\r\n ) : column.sortDirection === \"desc\" ? (\r\n <ArrowDownwardIcon\r\n className=\"text-briWhite\"\r\n fontSize=\"small\"\r\n />\r\n ) : null\r\n ) : null}\r\n </span>\r\n </TableCell>\r\n )\r\n })}\r\n </TableRow>\r\n ))}\r\n </TableHead>\r\n <TableBody {...getTableBodyProps()}>\r\n {rows.length === 0 ? (\r\n EmptyComponent\r\n ) : (rows.map((row) => {\r\n prepareRow(row);\r\n const isDivider = row.original.isDivider;\r\n const dividerTitle = row.original.dividerTitle;\r\n return (\r\n <React.Fragment key={row.getRowProps().key}>\r\n {isDivider && (\r\n <TableRow>\r\n <TableCell\r\n colSpan={visibleColumns.length}\r\n sx={{\r\n backgroundColor: \"#F0F8FF\",\r\n fontWeight: \"bold\",\r\n textAlign: \"left\",\r\n border: \"1px solid #E0E0E0\",\r\n padding: \"12px 24px\",\r\n }}\r\n >\r\n {dividerTitle}\r\n </TableCell>\r\n </TableRow>\r\n )}\r\n <TableRow>\r\n {row.cells.map((cell, index) => {\r\n return (\r\n <TableCell\r\n key={index}\r\n sx={{\r\n border: \"1px solid #E0E0E0\",\r\n backgroundColor: 'white', // Terapkan warna di sini\r\n color: 'black', // Terapkan warna teks di sini\r\n ...(cell.column.cellOverflow && {\r\n overflowX: cell.column.cellOverflow,\r\n whiteSpace: 'nowrap',\r\n scrollbarWidth: 'none', // For Firefox\r\n msOverflowStyle: 'none', // For Internet Explorer and Edge\r\n '&::-webkit-scrollbar': { display: 'none' }, // For Chrome, Safari, and Opera\r\n }),\r\n ...(cell.column.sticky && { // Apply sticky styles only to sticky columns\r\n position: \"sticky\",\r\n // zIndex: 2,\r\n ...(cell.column.sticky === \"left\" && { left: 0 }), // Set left if sticky on left\r\n ...(cell.column.sticky === \"right\" && { right: 0 }), // Set right if sticky on right\r\n }),\r\n }}\r\n {...cell.getCellProps({\r\n style: {\r\n minWidth: cell.column.minWidth,\r\n maxWidth: cell.column.maxWidth,\r\n textAlign: cell.column.align,\r\n padding: cell.column.noPadding === true ? \"0px 0px\" : \"8px 12px\",\r\n },\r\n })}\r\n >\r\n <span>{cell.render(\"Cell\")}</span>\r\n </TableCell>\r\n );\r\n })}\r\n </TableRow>\r\n {row.original.isOpenSub ? (\r\n <TableRow>\r\n <TableCell\r\n colSpan={visibleColumns.length + 1}\r\n style={{ padding: 0 }}\r\n >\r\n {renderRowSubComponent({ row })}\r\n </TableCell>\r\n </TableRow>\r\n ) : null}\r\n </React.Fragment>\r\n );\r\n }))}\r\n </TableBody>\r\n {showFooter?\r\n <TableFooter\r\n sx={{\r\n backgroundColor: footerBgColor,\r\n \"& th:first-of-type\": {\r\n borderTopLeftRadius: \"10px\",\r\n },\r\n \"& th:last-child\": {\r\n borderTopRightRadius: \"10px\",\r\n },\r\n }}\r\n >\r\n {footerGroups.map((footerGroup, index) => (\r\n <TableRow\r\n key={index}\r\n {...footerGroup.getFooterGroupProps()}\r\n >\r\n {footerGroup.headers.map((column, index) => (\r\n <TableCell\r\n key={index}\r\n className=\"text-base font-bold\"\r\n sx={{\r\n color: \"#000000\",\r\n borderLeft: borderStyle,\r\n borderRight: borderStyle,\r\n borderBottom: borderStyle,\r\n }}\r\n {...column.getFooterProps(\r\n column.getSortByToggleProps({\r\n style: {\r\n minWidth: column.minWidth,\r\n maxWidth: column.maxWidth,\r\n textAlign: \"center\",\r\n fontSize: \"13px\",\r\n padding: \"8px 12px\",\r\n width: column.width,\r\n },\r\n })\r\n )}\r\n onClick={() => onHeaderClick(column)}\r\n >\r\n <strong>{column.render(\"Footer\")}</strong>\r\n {showFooterSorted?\r\n <span className=\"ml-2\">\r\n {listColumnSorted.includes(column.id) ? (\r\n column.sortDirection === \"\" ? (\r\n <UnfoldMoreIcon\r\n className=\"text-briRed\"\r\n fontSize=\"small\"\r\n />\r\n ) : column.sortDirection === \"asc\" ? (\r\n <ArrowUpwardIcon\r\n className=\"text-briRed\"\r\n fontSize=\"small\"\r\n />\r\n ) : column.sortDirection === \"desc\" ? (\r\n <ArrowDownwardIcon\r\n className=\"text-briRed\"\r\n fontSize=\"small\"\r\n />\r\n ) : null\r\n ) : null}\r\n </span>\r\n :null}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n ))}\r\n </TableFooter>\r\n :null}\r\n </Table>\r\n </div>\r\n );\r\n};\r\n","import React from \"react\";\r\nimport { useTable } from \"react-table\";\r\nimport { Table, TableBody, TableRow, TableCell } from \"@mui/material\";\r\n\r\nexport const HeadlessTable = ({\r\n columns,\r\n data,\r\n className,\r\n sxBody,\r\n EmptyComponent = null,\r\n}) => {\r\n const { getTableProps, getTableBodyProps, prepareRow, rows } = useTable({\r\n columns,\r\n data,\r\n });\r\n\r\n const borderStyle = \"1px solid #E0E0E0\";\r\n\r\n if (!EmptyComponent) {\r\n EmptyComponent = (\r\n <TableRow>\r\n <TableCell colSpan={columns.length} style={{ textAlign: \"center\" }}>\r\n Data tidak ditemukan\r\n </TableCell>\r\n </TableRow>\r\n );\r\n }\r\n\r\n const renderCellContent = (cell) => {\r\n if (Array.isArray(cell.value)) {\r\n return (\r\n <Table>\r\n <TableBody>\r\n {cell.value.map((item, subIndex) => (\r\n <TableRow\r\n key={subIndex}\r\n style={{\r\n border: borderStyle,\r\n }}\r\n >\r\n <TableCell\r\n style={{\r\n border: borderStyle,\r\n }}\r\n >\r\n {item.subKey}\r\n </TableCell>\r\n <TableCell style={{}}>{item.subValue}</TableCell>\r\n </TableRow>\r\n ))}\r\n </TableBody>\r\n </Table>\r\n );\r\n }\r\n\r\n return cell.render(\"Cell\");\r\n };\r\n\r\n return (\r\n <div className={className}>\r\n <Table {...getTableProps()}>\r\n <TableBody\r\n {...getTableBodyProps({\r\n style: {\r\n ...sxBody,\r\n },\r\n })}\r\n >\r\n {rows.length === 0\r\n ? EmptyComponent\r\n : rows.map((row) => {\r\n prepareRow(row);\r\n return (\r\n <TableRow key={row.getRowProps().key}>\r\n {row.cells.map((cell, index) => (\r\n <TableCell\r\n key={index}\r\n sx={{\r\n border: cell.row.original.border ?? borderStyle,\r\n padding:\r\n cell.column.padding ??\r\n cell.row.original.padding ??\r\n \"8px 12px\",\r\n }}\r\n {...cell.getCellProps({\r\n style: {\r\n minWidth: cell.column.minWidth,\r\n maxWidth: cell.column.maxWidth,\r\n width: cell.column.width,\r\n textAlign: cell.column.align ?? \"left\",\r\n ...cell.column.style,\r\n },\r\n })}\r\n >\r\n {renderCellContent(cell)}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n );\r\n })}\r\n </TableBody>\r\n </Table>\r\n </div>\r\n );\r\n};\r\n","import React from \"react\";\r\nimport { useTable, useSortBy, usePagination, useExpanded } from \"react-table\";\r\n\r\nimport {\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableFooter,\r\n TableHead,\r\n TableRow,\r\n} from \"@mui/material\";\r\n\r\nimport {\r\n UnfoldMore as UnfoldMoreIcon,\r\n ArrowUpward as ArrowUpwardIcon,\r\n ArrowDownward as ArrowDownwardIcon,\r\n} from \"@mui/icons-material\";\r\n\r\nexport const PlainDataTable = ({\r\n columns,\r\n data,\r\n renderRowSubComponent,\r\n onHeaderClick = null,\r\n thisPage,\r\n perPage,\r\n className,\r\n EmptyComponent = null,\r\n showFooter = false,\r\n showFooterSorted = false,\r\n}) => {\r\n const {\r\n getTableProps,\r\n getTableBodyProps,\r\n headerGroups,\r\n footerGroups,\r\n prepareRow,\r\n visibleColumns,\r\n rows,\r\n } = useTable(\r\n {\r\n columns,\r\n data,\r\n onHeaderClick,\r\n manualSortBy: true,\r\n thisPage,\r\n perPage,\r\n },\r\n useSortBy,\r\n useExpanded,\r\n usePagination\r\n );\r\n\r\n // const indexNo = (thisPage - 1) * perPage + 1\r\n const listColumnSorted = [\"full_name\", \"updated_at\"];\r\n const borderStyle = \"1px solid #E0E0E0\";\r\n\r\n if (!EmptyComponent) {\r\n EmptyComponent = (\r\n <TableRow>\r\n <TableCell colSpan={columns.length} style={{ textAlign: \"center\" }}>\r\n Data tidak ditemukan\r\n </TableCell>\r\n </TableRow>\r\n );\r\n }\r\n\r\n return (\r\n <div className={className}>\r\n <Table {...getTableProps()}>\r\n <TableHead\r\n sx={{\r\n \"& th:first-of-type\": {\r\n borderTopLeftRadius: \"10px\",\r\n },\r\n \"& th:last-child\": {\r\n borderTopRightRadius: \"10px\",\r\n },\r\n }}\r\n >\r\n {headerGroups.map((headerGroup, index) => (\r\n <TableRow key={index} {...headerGroup.getHeaderGroupProps()}>\r\n {headerGroup.headers.map((column, index) => (\r\n <TableCell\r\n key={index}\r\n className=\"text-lg\"\r\n sx={{\r\n color: \"black\",\r\n borderTop: borderStyle,\r\n borderBottom: borderStyle,\r\n }}\r\n {...column.getHeaderProps(\r\n column.getSortByToggleProps({\r\n style: {\r\n padding: column.padding ? column.padding : \"6px 0px\",\r\n minWidth: column.minWidth,\r\n maxWidth: column.maxWidth,\r\n textAlign: column.headerAlign\r\n ? column.headerAlign\r\n : \"center\",\r\n fontSize: column.fontSize ? column.fontSize : \"13px\",\r\n width: column.width,\r\n },\r\n })\r\n )}\r\n onClick={() => onHeaderClick(column)}\r\n >\r\n <strong>{column.render(\"Header\")}</strong>\r\n <span className=\"ml-2\">\r\n {listColumnSorted.includes(column.id) ? (\r\n column.sortDirection === \"\" ? (\r\n <UnfoldMoreIcon\r\n className=\"text-briRed\"\r\n fontSize=\"small\"\r\n />\r\n ) : column.sortDirection === \"asc\" ? (\r\n <ArrowUpwardIcon\r\n className=\"text-briRed\"\r\n fontSize=\"small\"\r\n />\r\n ) : column.sortDirection === \"desc\" ? (\r\n <ArrowDownwardIcon\r\n className=\"text-briRed\"\r\n fontSize=\"small\"\r\n />\r\n ) : null\r\n ) : null}\r\n </span>\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n ))}\r\n </TableHead>\r\n <TableBody {...getTableBodyProps()}>\r\n {rows.length === 0\r\n ? EmptyComponent\r\n : rows.map((row) => {\r\n prepareRow(row);\r\n return (\r\n <React.Fragment key={row.getRowProps().key}>\r\n <TableRow>\r\n {row.cells.map((cell, index) => {\r\n return (\r\n <TableCell\r\n key={index}\r\n sx={{\r\n borderTop: borderStyle,\r\n borderBottom: borderStyle,\r\n }}\r\n {...cell.getCellProps({\r\n style: {\r\n minWidth: cell.column.minWidth,\r\n maxWidth: cell.column.maxWidth,\r\n textAlign: cell.column.align,\r\n padding: cell.column.padding ?? \"12px 8px\",\r\n },\r\n })}\r\n >\r\n <span>{cell.render(\"Cell\")}</span>\r\n </TableCell>\r\n );\r\n })}\r\n </TableRow>\r\n {row.original.isOpenSub ? (\r\n <TableRow>\r\n <TableCell\r\n colSpan={visibleColumns.length + 1}\r\n style={{ padding: 0 }}\r\n >\r\n {renderRowSubComponent({ row })}\r\n </TableCell>\r\n </TableRow>\r\n ) : null}\r\n </React.Fragment>\r\n );\r\n })}\r\n </TableBody>\r\n {showFooter ? (\r\n <TableFooter\r\n sx={{\r\n \"& th:first-of-type\": {\r\n borderTopLeftRadius: \"10px\",\r\n },\r\n \"& th:last-child\": {\r\n borderTopRightRadius: \"10px\",\r\n },\r\n }}\r\n >\r\n {footerGroups.map((footerGroup, index) => (\r\n <TableRow key={index} {...footerGroup.getFooterGroupProps()}>\r\n {footerGroup.headers.map((column, index) => (\r\n <TableCell\r\n key={index}\r\n className=\"text-base font-bold\"\r\n sx={{\r\n color: \"#000000\",\r\n borderTop: borderStyle,\r\n borderBottom: borderStyle,\r\n }}\r\n {...column.getFooterProps(\r\n column.getSortByToggleProps({\r\n style: {\r\n minWidth: column.minWidth,\r\n maxWidth: column.maxWidth,\r\n textAlign: \"center\",\r\n fontSize: \"13px\",\r\n padding: \"8px 12px\",\r\n width: column.width,\r\n },\r\n })\r\n )}\r\n onClick={() => onHeaderClick(column)}\r\n >\r\n <strong>{column.render(\"Footer\")}</strong>\r\n {showFooterSorted ? (\r\n <span className=\"ml-2\">\r\n {listColumnSorted.includes(column.id) ? (\r\n column.sortDirection === \"\" ? (\r\n <UnfoldMoreIcon\r\n className=\"text-briRed\"\r\n fontSize=\"small\"\r\n />\r\n ) : column.sortDirection === \"asc\" ? (\r\n <ArrowUpwardIcon\r\n className=\"text-briRed\"\r\n fontSize=\"small\"\r\n />\r\n ) : column.sortDirection === \"desc\" ? (\r\n <ArrowDownwardIcon\r\n className=\"text-briRed\"\r\n fontSize=\"small\"\r\n />\r\n ) : null\r\n ) : null}\r\n </span>\r\n ) : null}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n ))}\r\n </TableFooter>\r\n ) : null}\r\n </Table>\r\n </div>\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 from \"react\";\r\nimport { useTable, usePagination, useExpanded } from \"react-table\";\r\n\r\nimport {\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableHead,\r\n TableRow,\r\n} from \"@mui/material\";\r\n\r\nexport const SubmenuDataTable = ({ columns, data, limitNo, pageNo }) => {\r\n const { getTableProps, getTableBodyProps, headerGroups, prepareRow, rows } =\r\n useTable(\r\n {\r\n columns,\r\n data,\r\n manualSortBy: true,\r\n limitNo,\r\n pageNo,\r\n },\r\n useExpanded,\r\n usePagination\r\n );\r\n\r\n const borderStyle = \"1px solid #E0E0E0\";\r\n\r\n return (\r\n <Table {...getTableProps()} sx={{ borderCollapse: \"collapse\" }}>\r\n <TableHead\r\n sx={{\r\n \"& th:first-of-type\": {\r\n borderTopLeftRadius: \"10px\",\r\n },\r\n \"& th:last-child\": {\r\n borderTopRightRadius: \"10px\",\r\n },\r\n }}\r\n >\r\n {headerGroups.map((headerGroup, index) => (\r\n <TableRow\r\n key={index}\r\n sx={{\r\n backgroundColor: \"#00529C\",\r\n }}\r\n {...headerGroup.getHeaderGroupProps()}\r\n >\r\n {headerGroup.headers.map((column, index) => (\r\n <TableCell\r\n key={index}\r\n className=\"text-base\"\r\n sx={{\r\n color: \"#FFFFFF\",\r\n borderLeft: index === 0 ? \"none\" : borderStyle,\r\n borderRight:\r\n index === headerGroup.headers.length - 1\r\n ? \"none\"\r\n : borderStyle,\r\n borderBottom: borderStyle,\r\n }}\r\n {...column.getHeaderProps({\r\n style: {\r\n padding: \"12px 16px\",\r\n textAlign: \"center\",\r\n fontSize: \"13px\",\r\n width: column.width,\r\n },\r\n })}\r\n >\r\n <strong>{column.render(\"Header\")}</strong>\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n ))}\r\n </TableHead>\r\n <TableBody {...getTableBodyProps()}>\r\n {rows.map((row) => {\r\n prepareRow(row);\r\n const hasSubmenu =\r\n Array.isArray(row.original.sub_menu) &&\r\n row.original.sub_menu.length > 0;\r\n const isSubMenuLastRow =\r\n hasSubmenu && row.index === row.original.sub_menu.length - 1;\r\n return (\r\n <React.Fragment key={row.getRowProps().key}>\r\n <TableRow>\r\n {row.cells.map((cell, index) => {\r\n return (\r\n <TableCell\r\n key={index}\r\n {...cell.getCellProps({\r\n style: {\r\n padding: \"8px 12px\",\r\n textAlign: cell.column.align,\r\n borderLeft: borderStyle,\r\n borderRight: borderStyle,\r\n borderTop: borderStyle,\r\n borderBottom:\r\n hasSubmenu &&\r\n (cell.column.accessor === \"no\" ||\r\n cell.column.accessor === \"menu\")\r\n ? \"none\"\r\n : \"inherit\",\r\n },\r\n })}\r\n >\r\n <span>{cell.render(\"Cell\")}</span>\r\n </TableCell>\r\n );\r\n })}\r\n </TableRow>\r\n {hasSubmenu\r\n ? row.original.sub_menu.map((sub_menu, index) => (\r\n <TableRow key={index}>\r\n {columns.map((column) => (\r\n <TableCell\r\n key={column.accessor}\r\n style={{\r\n padding: \"8px 12px\",\r\n textAlign: column.align,\r\n borderLeft: borderStyle,\r\n borderRight: borderStyle,\r\n borderTop:\r\n column.accessor !== \"no\" &&\r\n column.accessor !== \"menu\"\r\n ? borderStyle\r\n : \"none\",\r\n borderBottom:\r\n isSubMenuLastRow &&\r\n (column.accessor === \"no\" ||\r\n column.accessor === \"menu\")\r\n ? borderStyle\r\n : \"none\",\r\n }}\r\n >\r\n {sub_menu[column.accessor]}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n ))\r\n : null}\r\n </React.Fragment>\r\n );\r\n })}\r\n </TableBody>\r\n </Table>\r\n );\r\n};\r\n","import IconButtonRaw from \"@mui/material/IconButton\";\r\nimport KeyboardArrowLeftRaw from \"@mui/icons-material/KeyboardArrowLeft\";\r\nimport KeyboardArrowRightRaw from \"@mui/icons-material/KeyboardArrowRight\";\r\n\r\nconst IconButton = IconButtonRaw?.default ?? IconButtonRaw;\r\nconst KeyboardArrowLeft = KeyboardArrowLeftRaw?.default ?? KeyboardArrowLeftRaw;\r\nconst KeyboardArrowRight = KeyboardArrowRightRaw?.default ?? KeyboardArrowRightRaw;\r\nexport const TablePaginationActions = (props) => {\r\n const { count, page, onPageChange } = props;\r\n\r\n const handleBackButtonClick = () => {\r\n onPageChange(page - 1);\r\n };\r\n\r\n const handleNextButtonClick = () => {\r\n onPageChange(page + 1);\r\n };\r\n\r\n return (\r\n <>\r\n <IconButton\r\n onClick={handleBackButtonClick}\r\n disabled={page === 1}\r\n aria-label=\"Halaman Sebelumnya\"\r\n >\r\n <KeyboardArrowLeft />\r\n </IconButton>\r\n <IconButton\r\n onClick={handleNextButtonClick}\r\n disabled={typeof count === 'boolean' ? count : page >= count}\r\n aria-label=\"Halaman Berikutnya\"\r\n >\r\n <KeyboardArrowRight />\r\n </IconButton>\r\n </>\r\n );\r\n};\r\n","import { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { InputAdornment, TextField } from \"@mui/material\";\r\nimport { useController } from \"react-hook-form\";\r\nimport { IconInfo } from \"@/components/legacy/atoms/icons/info\";\r\nimport { twMerge } from \"tailwind-merge\";\r\nimport { NumericFormat } from \"react-number-format\";\r\n\r\nexport const TextFieldDefaultCurrency = ({\r\n name = \"\",\r\n control = null,\r\n defaultValue,\r\n className,\r\n titleClassName,\r\n maxLength,\r\n isDisabled,\r\n inputTextAlign,\r\n ...props\r\n}) => {\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n\r\n if (!control) {\r\n return (\r\n <NumericFormat\r\n customInput={TextField}\r\n {...props}\r\n />\r\n )\r\n }\r\n\r\n return (\r\n <div className={className}>\r\n {props.title ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n {props.title}\r\n </TextLabel>\r\n ) : null}\r\n\r\n <NumericFormat\r\n id=\"outlined-basic\"\r\n variant=\"outlined\"\r\n error={!!formState.errors?.[name]}\r\n helperText={formState.errors?.[name]?.message}\r\n FormHelperTextProps={{\r\n style: {\r\n fontSize: \"16px\",\r\n marginLeft: 0,\r\n },\r\n }}\r\n size=\"small\"\r\n autoComplete=\"off\"\r\n className={\"w-full \" + className}\r\n disabled={isDisabled}\r\n inputProps={{\r\n maxLength: maxLength,\r\n style: { textAlign: inputTextAlign ?? 'left'}\r\n }}\r\n InputProps={{\r\n style: {\r\n borderRadius: \"10px\",\r\n backgroundColor: isDisabled ? \"#EDEDED\" : \"#FFFFFF\",\r\n },\r\n endAdornment: !!formState.errors?.[name] && (\r\n <InputAdornment position=\"end\" sx={{ paddingTop: \"5px\" }}>\r\n <span className=\"text-white\">\r\n <IconInfo color=\"#E84040\" isSmall />\r\n </span>\r\n </InputAdornment>\r\n ),\r\n }}\r\n name={field.name}\r\n value={field.value}\r\n onValueChange={(v) => {\r\n field.onChange(v.value);\r\n if (props.onChangeCustom) props.onChangeCustom();\r\n }}\r\n customInput={TextField}\r\n type=\"text\"\r\n inputMode=\"numeric\"\r\n {...props}\r\n />\r\n </div>\r\n );\r\n};\r\n","'use client';\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { InputAdornment, TextField } from \"@mui/material\";\r\nimport { useController } from \"react-hook-form\";\r\nimport { IconInfo } from \"@/components/legacy/atoms/icons/info\";\r\nimport { twMerge } from \"tailwind-merge\";\r\nimport { useEffect, useMemo, useRef, useState, useCallback } from \"react\";\r\n\r\nexport const TextFieldDefault = ({\r\n name = \"\",\r\n control = null,\r\n defaultValue,\r\n className,\r\n titleClassName,\r\n maxLength,\r\n showLength,\r\n isNumericOnly,\r\n isAlphaNumericOnly,\r\n isAlphaOnly,\r\n allowedSpecialCharacters = \"\",\r\n dontAllowedSpecialCharacters = \"\",\r\n isAlphaNumericWithUnderscore,\r\n isDisabled,\r\n isCantPaste,\r\n result,\r\n resultColor,\r\n noSpaceAllowed,\r\n showCountHelper = false,\r\n textMask = \"\",\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(() => (hasMask ? (textMask.match(/x/gi) || []).length : 0), [textMask, hasMask]);\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 ? str.replace(/[^0-9]/g, \"\") : 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 = [\"Tab\", \"Backspace\", \"Delete\", \"ArrowLeft\", \"ArrowRight\", \"Home\", \"End\"];\r\n if ((e.ctrlKey || e.metaKey) && [\"a\", \"c\", \"v\", \"x\"].includes(e.key.toLowerCase())) {\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\") 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 = (textMask.slice(0, selectionStart).match(/x/gi) || []).length;\r\n const xBeforeEnd = (textMask.slice(0, (e.target.selectionEnd ?? selectionStart)).match(/x/gi) || []).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\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 (isAlphaNumericWithUnderscore) {\r\n allowedPattern = alphanumericWithUnderscorePattern;\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) || []).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(xStart + cleaned.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 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 (maxLength && (value.length - (selectionEnd - selectionStart) + sanitizedData.length) > maxLength) {\r\n sanitizedData = sanitizedData.substring(0, maxLength - (value.length - (selectionEnd - selectionStart)));\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(0, maskSlots);\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 <div className={className}>\r\n {props.title ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n {props.title}\r\n </TextLabel>\r\n ) : null}\r\n <TextField\r\n id={(props.id || `field-${name}`)}\r\n variant=\"outlined\"\r\n error={!!formState.errors?.[name]}\r\n helperText={\r\n <>\r\n <span>\r\n {formState.errors?.[name]?.message ||\r\n (maxLength && showLength ? `Maksimal ${maxLength} Karakter` : \"\")}\r\n </span>\r\n {maxLength && showCountHelper && (\r\n <span style={{ marginLeft: \"auto\" }}>\r\n {(field.value?.length || 0)}/{maxLength}\r\n </span>\r\n )}\r\n </>\r\n }\r\n FormHelperTextProps={{\r\n style: {\r\n fontSize: \"16px\",\r\n marginLeft: 0,\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n },\r\n }}\r\n size=\"small\"\r\n className={\"w-full \" + className}\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 isAlphaNumericWithUnderscore ||\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 }}\r\n InputProps={{\r\n style: {\r\n borderRadius: \"10px\",\r\n backgroundColor: isDisabled ? \"#EDEDED\" : \"#FFFFFF\",\r\n color: isDisabled ? \"#131313\" : \"#000000\",\r\n },\r\n endAdornment: !!formState.errors?.[name] && (\r\n <InputAdornment position=\"end\" sx={{ paddingTop: \"5px\" }}>\r\n <span className=\"text-white\">\r\n <IconInfo color=\"#E84040\" isSmall />\r\n </span>\r\n </InputAdornment>\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 <div\r\n style={{\r\n fontSize: \"14px\",\r\n color: resultColor,\r\n marginTop: \"4px\",\r\n }}\r\n >\r\n {result}\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};","'use client';\r\nimport React, { useRef, useState } from \"react\";\r\nimport Dropzone from \"react-dropzone\";\r\nimport Image from \"next/image\";\r\nimport { Typography } from \"@mui/material\";\r\nimport { ButtonDefault } from \"@/components/legacy/atoms/buttons/default\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { IconUpload } from \"@/components/legacy/atoms/icons/upload\";\r\nimport { IconFileOutline } from \"@/components/legacy/atoms/icons/file-outline\";\r\nimport { IconButtons } from \"@/components/legacy/atoms/buttons/iconButtons\";\r\nimport { IconCross } from \"@/components/legacy/atoms/icons/cross\";\r\nimport { IconFileCSV } from \"@/components/legacy/atoms/icons/fileCSV\";\r\nimport { IconFilePDF } from \"@/components/legacy/atoms/icons/filePDF\";\r\nimport { IconFileJPG } from \"@/components/legacy/atoms/icons/fileJPG\";\r\nimport { IconWarningTriangle } from \"@/components/legacy/atoms/icons/warning-triangle\";\r\n\r\nconst DropzoneKuotaNasional = ({\r\n existsFiles,\r\n settings = {\r\n allowedExtensions: {},\r\n maxSize: 5,\r\n maxFiles: 2,\r\n isImagePreview: false,\r\n },\r\n labels = {\r\n title: null,\r\n dropzoneTitle: \"Drag & Drop\",\r\n allowedFileLabel: \"Max File Size\",\r\n titleButton: \"Pilih File\",\r\n },\r\n icons = {\r\n default: <IconUpload />,\r\n button: <IconFileOutline />,\r\n },\r\n sx = {\r\n container: {},\r\n button: {},\r\n },\r\n callbacks = {\r\n uploadFile: null,\r\n removeFile: null,\r\n customError: null,\r\n },\r\n}) => {\r\n const dropzoneRef = useRef();\r\n const [selectedFile, setSelectedFile] = useState([]);\r\n const [status, setStatus] = useState(\"success\");\r\n const [message, setMessage] = useState(\"\");\r\n\r\n // =========================\r\n // HANDLE DROP FILE\r\n // =========================\r\n const handleDropedFiles = async (files) => {\r\n setStatus(\"success\");\r\n setMessage(\"\");\r\n\r\n if (selectedFile.length + files.length > settings.maxFiles) {\r\n setStatus(\"error\");\r\n setMessage(`Maksimal ${settings.maxFiles} file`);\r\n return;\r\n }\r\n\r\n const filesData = files.map((file) => ({\r\n source: URL.createObjectURL(file), // preview\r\n file, // FILE MENTAH\r\n fileName: file.name,\r\n originName: file.name,\r\n size: file.size,\r\n type: file.type,\r\n }));\r\n\r\n const newFiles = [...selectedFile, ...filesData];\r\n setSelectedFile(newFiles);\r\n\r\n callbacks?.uploadFile?.(newFiles);\r\n };\r\n\r\n // =========================\r\n // HANDLE DELETE FILE\r\n // =========================\r\n const handleDeleteSelectedFile = (index) => {\r\n const newFiles = selectedFile.filter((_, i) => i !== index);\r\n callbacks?.removeFile?.(selectedFile[index]?.fileName);\r\n callbacks?.uploadFile?.(newFiles);\r\n setSelectedFile(newFiles);\r\n };\r\n\r\n // =========================\r\n // HANDLE ERROR\r\n // =========================\r\n const handleError = (errors) => {\r\n errors.forEach((item) => {\r\n const code = item?.errors[0]?.code;\r\n\r\n if (code === \"file-too-large\") {\r\n setStatus(\"error\");\r\n setMessage(`Ukuran file maksimal ${settings.maxSize} MB`);\r\n }\r\n\r\n if (code === \"file-invalid-type\") {\r\n const formats = Object.values(settings.allowedExtensions)\r\n .flat()\r\n .join(\", \");\r\n setStatus(\"error\");\r\n setMessage(`Format file harus ${formats}`);\r\n }\r\n\r\n if (code === \"too-many-files\") {\r\n setStatus(\"error\");\r\n setMessage(`Maksimal ${settings.maxFiles} file`);\r\n }\r\n });\r\n };\r\n\r\n return (\r\n <div>\r\n {labels?.title && <TextLabel className=\"my-2\">{labels.title}</TextLabel>}\r\n\r\n <div\r\n className=\"border-2\"\r\n style={{\r\n borderStyle: selectedFile.length ? \"solid\" : \"dashed\",\r\n borderColor: status === \"error\" ? \"#EB4D4B\" : \"#00529C\",\r\n borderRadius: 10,\r\n padding: \"40px 0\",\r\n ...sx.container,\r\n }}\r\n >\r\n <Dropzone\r\n ref={dropzoneRef}\r\n accept={settings.allowedExtensions}\r\n maxFiles={settings.maxFiles}\r\n maxSize={settings.maxSize * 1024 * 1024}\r\n multiple={settings.maxFiles > 1}\r\n onDrop={handleDropedFiles}\r\n onDropRejected={handleError}\r\n >\r\n {({ getRootProps, getInputProps }) => (\r\n <div {...getRootProps()} className=\"text-center py-4\">\r\n <input {...getInputProps()} />\r\n {icons.default}\r\n <Typography fontWeight={700}>\r\n {labels.dropzoneTitle}\r\n </Typography>\r\n <Typography sx={{ fontSize: \"12px\", color: \"#BDBDBD\", marginY: \"5px\" }} >atau</Typography>\r\n <ButtonDefault\r\n className=\"justify-center px-5 my-1\"\r\n model=\"fill\"\r\n color=\"#00529C\"\r\n startIcon={icons.button}\r\n disabled={selectedFile.length >= settings.maxFiles}\r\n style={{ ...sx.button }}\r\n >\r\n {labels.titleButton}\r\n </ButtonDefault>\r\n <Typography sx={{ fontSize: \"12px\", color: \"#BDBDBD\", marginY: \"5px\" }}>\r\n {labels.allowedFileLabel}\r\n </Typography>\r\n </div>\r\n )}\r\n </Dropzone>\r\n </div>\r\n\r\n {status === \"error\" && (\r\n <div className=\"mt-2 flex items-center\">\r\n <IconWarningTriangle color=\"#E84040\" />\r\n <span className=\"ml-2 text-sm text-brigunaRed\">\r\n {message}\r\n </span>\r\n </div>\r\n )}\r\n\r\n {/* FILE LIST */}\r\n <div className=\"my-4 flex flex-wrap gap-3\">\r\n {existsFiles}\r\n {selectedFile.length > 0 && (\r\n <>\r\n {selectedFile.map((data, index) => (\r\n <div key={index} className=\"mx-6 relative\" style={{ maxWidth: 90 }}>\r\n <IconButtons\r\n className=\"absolute right-0 -top-3 z-10\"\r\n onClick={() => handleDeleteSelectedFile(index)}\r\n >\r\n <IconCross />\r\n </IconButtons>\r\n\r\n {data.originName.includes(\".pdf\") ? (\r\n <IconFilePDF />\r\n ) : data.originName.match(/\\.(jpg|jpeg|png)$/) ? (\r\n settings.isImagePreview ? (\r\n <Image src={data.source} width={53} height={53} alt=\"\" />\r\n ) : (\r\n <IconFileJPG />\r\n )\r\n ) : (\r\n <IconFileCSV />\r\n )}\r\n\r\n <div className=\"text-xs truncate mt-1\">{data.originName}</div>\r\n </div>\r\n ))}\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default DropzoneKuotaNasional;\r\n","'use client';\r\nimport React from \"react\";\r\nimport \"regenerator-runtime/runtime\";\r\nimport { ButtonDefault } from \"@/components/legacy/atoms/buttons/default\";\r\nimport Image from \"next/image\";\r\nimport Dropzone from \"react-dropzone\";\r\nimport { IconUpload } from \"@/components/legacy/atoms/icons/upload\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { Box, IconButton, Typography } from \"@mui/material\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { IconFileOutline } from \"@/components/legacy/atoms/icons/file-outline\";\r\nimport { IconCross } from \"@/components/legacy/atoms/icons/cross\";\r\nimport { IconFileCSV } from \"@/components/legacy/atoms/icons/fileCSV\";\r\nimport { IconFilePDF } from \"@/components/legacy/atoms/icons/filePDF\";\r\nimport { IconFileJPG } from \"@/components/legacy/atoms/icons/fileJPG\";\r\nimport { IconWarningTriangle } from \"@/components/legacy/atoms/icons/warning-triangle\";\r\nimport { IconFileDocx } from \"@/components/legacy/atoms/icons/fileDocx\";\r\nimport { IconFileXls } from \"@/components/legacy/atoms/icons/fileXls\";\r\n\r\nconst DropzoneMultiple = ({\r\n settings = {\r\n allowedExtensions: [], // * If empty array then all file types are allowed\r\n maxSize: 5, // * In MB\r\n maxFiles: 2, // * Number of files allowed\r\n isImagePreview: false, // * Flag to enable image preview\r\n disabled: false, // * Flag to disable dropzone\r\n },\r\n labels = {\r\n title: null,\r\n dropzoneTitle: \"Drag & Drop\",\r\n allowedFileLabel: \"Max File Size \" + settings?.maxSize + \" MB\",\r\n titleButton: \"Pilih File\",\r\n },\r\n icons = {\r\n default: <IconUpload />,\r\n button: <IconFileOutline />,\r\n },\r\n sx = {\r\n // ! If there is any custom style for another component please add it into this props and bind them into the component\r\n container: {\r\n isSolidBorder: false,\r\n },\r\n button: {},\r\n wordings: {\r\n or: {},\r\n helper: {},\r\n },\r\n },\r\n callbacks = {\r\n uploadFile: null,\r\n removeFile: null,\r\n customError: null,\r\n onFileClick: null, // * Callback to handle click on file preview\r\n },\r\n initialFiles = null, // * Initial files to display (for API loaded files)\r\n}) => {\r\n const dropzoneRef = useRef();\r\n const prevInitialFilesRef = useRef();\r\n const [selectedFile, setSelectedFile] = useState([]);\r\n const [isFileSelected, setIsFileSelected] = useState(false);\r\n const [statusDashedUpload, setStatusDashedUpload] = useState(\"success\");\r\n const [messageDashedUpload, setMessageDashedUpload] = useState(\"\");\r\n\r\n // Handle initial files from props (for API loaded files)\r\n useEffect(() => {\r\n // Update ref to current value\r\n prevInitialFilesRef.current = initialFiles;\r\n\r\n if (initialFiles) {\r\n\r\n // Convert initialFiles to array if it's a single file\r\n const filesToSet = Array.isArray(initialFiles)\r\n ? initialFiles\r\n : [initialFiles];\r\n\r\n // Filter out null/undefined files\r\n const validFiles = filesToSet.filter(\r\n (file) => file && (file.name || file.fileName || file.originName)\r\n );\r\n\r\n if (validFiles.length > 0) {\r\n setSelectedFile(validFiles);\r\n setIsFileSelected(true);\r\n } else {\r\n setSelectedFile([]);\r\n setIsFileSelected(false);\r\n }\r\n } else {\r\n setSelectedFile([]);\r\n setIsFileSelected(false);\r\n }\r\n }, [initialFiles]);\r\n\r\n const handleDeleteSelectedFile = (index) => {\r\n // Reset error state when file is deleted\r\n setStatusDashedUpload(\"success\");\r\n setMessageDashedUpload(\"\");\r\n\r\n const fileToDelete = selectedFile[index];\r\n\r\n // Detailed fileName extraction dengan priority order\r\n let fileName = null;\r\n\r\n // Priority: originName > fileName > name\r\n if (fileToDelete?.originName) {\r\n fileName = fileToDelete.originName;\r\n } else if (fileToDelete?.fileName) {\r\n fileName = fileToDelete.fileName;\r\n } else if (fileToDelete?.name) {\r\n fileName = fileToDelete.name;\r\n } else {\r\n fileName = `file_${index}`;\r\n }\r\n\r\n // IMPORTANT: If there is a removeFile callback, delegate to parent\r\n if (callbacks?.removeFile !== undefined && callbacks?.removeFile !== null) {\r\n // Delegate deletion to parent without changing internal state\r\n callbacks.removeFile(fileName);\r\n\r\n // DO NOT change selectedFile here, let the initialFiles prop that is updated from parent\r\n } else {\r\n // Fallback: handle deletion locally\r\n if (selectedFile?.length !== 1) {\r\n const deleteData = selectedFile?.filter((item, i) => i !== index);\r\n setSelectedFile(deleteData);\r\n setIsFileSelected(deleteData.length > 0);\r\n } else {\r\n setSelectedFile([]);\r\n setIsFileSelected(false);\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (\r\n callbacks?.customError !== undefined &&\r\n callbacks?.customError !== null &&\r\n callbacks?.customError !== \"\"\r\n ) {\r\n setStatusDashedUpload(\"error\");\r\n setMessageDashedUpload(callbacks?.customError);\r\n } else {\r\n // Reset error state when customError is empty/null\r\n setStatusDashedUpload(\"success\");\r\n setMessageDashedUpload(\"\");\r\n }\r\n }, [callbacks?.customError]);\r\n\r\n const handleError = (error) => {\r\n // IMPORTANT: Do not call uploadFile callback when error\r\n // Error should not delete existing files\r\n\r\n error?.map((item) => {\r\n // ! If there is any condition for error handling please add it into this function check the code from the error object\r\n\r\n if (item?.errors[0]?.code === \"file-too-large\") {\r\n setStatusDashedUpload(\"error\");\r\n setMessageDashedUpload(\r\n \"Ukuran file terlalu besar. Maksimal size file \" +\r\n settings?.maxSize +\r\n \"MB.\"\r\n );\r\n }\r\n\r\n if (item?.errors[0]?.code === \"file-invalid-type\") {\r\n const uniqueValuesSet = [];\r\n\r\n // Iterate over the object values and add each item to the Set\r\n for (const values of Object.values(settings?.allowedExtensions)) {\r\n for (const value of values) {\r\n uniqueValuesSet.push(value);\r\n }\r\n }\r\n\r\n setStatusDashedUpload(\"error\");\r\n setMessageDashedUpload(\r\n \"Format file Anda tidak sesuai. Silahkan sesuaikan format file \" +\r\n uniqueValuesSet.join(\", \") +\r\n \".\"\r\n );\r\n }\r\n\r\n if (item?.errors[0]?.code === \"too-many-files\") {\r\n const currentFileCount = selectedFile?.length || 0;\r\n const remainingSlots = settings?.maxFiles - currentFileCount;\r\n setStatusDashedUpload(\"error\");\r\n setMessageDashedUpload(\r\n remainingSlots > 0\r\n ? `Anda hanya dapat menambahkan ${remainingSlots} file lagi. Maksimal ${settings?.maxFiles} file.`\r\n : `Maksimal ${settings?.maxFiles} file telah tercapai.`\r\n );\r\n }\r\n });\r\n };\r\n\r\n const handleDropedFiles = (file) => {\r\n\r\n // Check if disabled\r\n if (settings?.disabled) {\r\n return;\r\n }\r\n\r\n // Validate maxFiles: check if the number of existing files + new files exceeds maxFiles\r\n const currentFileCount = selectedFile?.length || 0;\r\n const newFileCount = file?.length || 0;\r\n const totalFileCount = currentFileCount + newFileCount;\r\n\r\n if (totalFileCount > settings?.maxFiles) {\r\n const remainingSlots = settings?.maxFiles - currentFileCount;\r\n setStatusDashedUpload(\"error\");\r\n setMessageDashedUpload(\r\n remainingSlots > 0\r\n ? `Tersisa ${remainingSlots} slot unggahan. Batas maksimal adalah ${settings?.maxFiles} file.`\r\n : `Maksimal ${settings?.maxFiles} file telah tercapai.`\r\n );\r\n return;\r\n }\r\n\r\n // Reset error state when file is dropped\r\n setStatusDashedUpload(\"success\");\r\n setMessageDashedUpload(\"\");\r\n\r\n // Process files to DropzoneMultiple format first\r\n handlerMultipleFiles(file, (filesData) => {\r\n\r\n // TEMPORARY: Update local state for immediate UI feedback\r\n setSelectedFile((prevFiles) => {\r\n const existingFiles = prevFiles || [];\r\n const combinedFiles = [...existingFiles, ...filesData];\r\n return combinedFiles;\r\n });\r\n\r\n // Then delegate to parent if there is a callback\r\n if (callbacks?.uploadFile !== null) {\r\n // Pass processed files (not raw files) to parent\r\n callbacks.uploadFile(filesData);\r\n\r\n } else {\r\n //\r\n }\r\n });\r\n };\r\n\r\n const readFile = (file, callback) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = (event) => {\r\n let imgSource = event.target.result;\r\n let encoded = imgSource.replace(/^data:(.*,)?/, \"\");\r\n if (encoded.length % 4 > 0) {\r\n encoded += \"=\".repeat(4 - (encoded.length % 4));\r\n }\r\n callback({\r\n source: imgSource,\r\n fileData: encoded,\r\n fileName: file.name,\r\n originName: file.name,\r\n });\r\n };\r\n reader.onerror = (error) => console.error(error);\r\n };\r\n\r\n const handlerMultipleFiles = (files, callback) => {\r\n let filesData = [];\r\n let completed = 0;\r\n\r\n files.forEach((file) => {\r\n readFile(file, (fileData) => {\r\n filesData.push(fileData);\r\n completed++;\r\n if (completed === files.length) {\r\n callback(filesData);\r\n }\r\n });\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (selectedFile?.length) {\r\n setIsFileSelected(true);\r\n } else {\r\n setIsFileSelected(false);\r\n }\r\n }, [selectedFile]);\r\n\r\n // Combined disabled state: either parent disabled or maxFiles reached\r\n const isDropzoneDisabled =\r\n settings?.disabled || selectedFile?.length >= settings?.maxFiles;\r\n\r\n return (\r\n <div>\r\n {labels?.title !== null && labels?.title !== \"\" && (\r\n <TextLabel className=\"my-2\">{labels?.title}</TextLabel>\r\n )}\r\n <div\r\n style={{\r\n borderStyle:\r\n isFileSelected && sx?.container?.isSolidBorder ? \"solid\" : \"dashed\",\r\n borderColor: isDropzoneDisabled\r\n ? \"#CCCCCC\" // Gray border when disabled or maxFiles reached\r\n : sx?.container?.isSolidBorder && isFileSelected\r\n ? \"#00529C\"\r\n : statusDashedUpload !== \"error\"\r\n ? sx?.container?.isSolidBorder && isFileSelected\r\n ? \"#00529C\"\r\n : \"#EDEDED\"\r\n : \"#EB4D4B\",\r\n borderRadius: \"10px\",\r\n cursor: isDropzoneDisabled ? \"not-allowed\" : \"pointer\",\r\n opacity: isDropzoneDisabled ? 0.6 : 1, // Reduce opacity when disabled\r\n backgroundColor: isDropzoneDisabled ? \"#F5F5F5\" : \"transparent\", // Light gray background when disabled\r\n ...sx?.container,\r\n }}\r\n >\r\n <Dropzone\r\n accept={settings?.allowedExtensions}\r\n maxFiles={Math.max(\r\n 1,\r\n settings?.maxFiles - (selectedFile?.length || 0)\r\n )} // Dynamic maxFiles berdasarkan sisa slot\r\n maxSize={settings?.maxSize * 10 ** 6}\r\n multiple={settings?.maxFiles > 1}\r\n ref={dropzoneRef}\r\n excludeAcceptAllOption\r\n onDrop={handleDropedFiles}\r\n onDropRejected={handleError}\r\n disabled={isDropzoneDisabled}\r\n >\r\n {({ getRootProps, getInputProps }) => (\r\n <section className=\"container\">\r\n <div\r\n {...(isDropzoneDisabled ? {} : getRootProps())}\r\n style={{\r\n ...(isDropzoneDisabled && {\r\n pointerEvents: \"none\",\r\n cursor: \"not-allowed\",\r\n }),\r\n }}\r\n >\r\n <input {...getInputProps()} disabled={isDropzoneDisabled} />\r\n <div className=\"text-center py-[40px]\">\r\n {icons?.default}\r\n <Typography\r\n sx={{\r\n fontSize: \"16px\",\r\n fontWeight: 700,\r\n color: isDropzoneDisabled ? \"#999999\" : \"#303030\",\r\n marginY: \"5px\",\r\n }}\r\n >\r\n {/* {isDropzoneDisabled\r\n ? `Maksimal ${settings?.maxFiles} file tercapai`\r\n : labels?.dropzoneTitle} */}\r\n {labels?.dropzoneTitle}\r\n </Typography>\r\n <Typography\r\n sx={{ fontSize: \"12px\", color: \"#BDBDBD\", marginY: \"5px\" }}\r\n style={{ ...sx?.wordings?.or }}\r\n >\r\n atau\r\n </Typography>\r\n <ButtonDefault\r\n className=\"justify-center px-5 my-1\"\r\n model={sx?.button?.model || \"fill\"}\r\n color=\"#00529C\"\r\n style={{ ...sx?.button }}\r\n startIcon={icons?.button}\r\n disabled={isDropzoneDisabled}\r\n >\r\n {labels?.titleButton}\r\n </ButtonDefault>\r\n <Typography\r\n sx={{ fontSize: \"12px\", color: \"#BDBDBD\", marginY: \"5px\" }}\r\n style={{ ...sx?.wordings?.helper }}\r\n >\r\n {isDropzoneDisabled\r\n ? `${selectedFile?.length || 0}/${\r\n settings?.maxFiles\r\n } file diupload`\r\n : `${labels?.allowedFileLabel} | ${\r\n selectedFile?.length || 0\r\n }/${settings?.maxFiles} file`}\r\n </Typography>\r\n </div>\r\n </div>\r\n </section>\r\n )}\r\n </Dropzone>\r\n </div>\r\n\r\n {isFileSelected && (\r\n <Box\r\n className=\"mt-4\"\r\n sx={{\r\n display: \"flex\",\r\n flexWrap: \"wrap\",\r\n alignItems: \"flex-start\",\r\n }}\r\n >\r\n {selectedFile.map((data, index) => (\r\n <Box\r\n key={index}\r\n sx={{\r\n position: \"relative\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n width: \"90px\",\r\n flexShrink: 0,\r\n }}\r\n >\r\n {/* Delete Button - positioned at top-right corner */}\r\n <IconButton\r\n aria-label=\"delete\"\r\n size=\"small\"\r\n sx={{\r\n position: \"absolute\",\r\n top:\r\n data?.originName?.includes(\".jpg\") ||\r\n data?.originName?.includes(\".jpeg\") ||\r\n data?.originName?.includes(\".png\")\r\n ? \"-6px\"\r\n : \"0px\",\r\n right:\r\n data?.originName?.includes(\".jpg\") ||\r\n data?.originName?.includes(\".jpeg\") ||\r\n data?.originName?.includes(\".png\")\r\n ? \"-1px\"\r\n : \"-7.5px\",\r\n }}\r\n onClick={() => handleDeleteSelectedFile(index)}\r\n >\r\n <IconCross />\r\n </IconButton>\r\n\r\n {/* File Icon Container - Clickable */}\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n width: \"80px\",\r\n height: \"80px\",\r\n cursor: callbacks?.onFileClick ? \"pointer\" : \"default\",\r\n }}\r\n onClick={() => {\r\n if (callbacks?.onFileClick) {\r\n callbacks.onFileClick(data, index);\r\n }\r\n }}\r\n >\r\n {data?.originName?.includes(\".jpg\") ||\r\n data?.originName?.includes(\".jpeg\") ||\r\n data?.originName?.includes(\".png\") ? (\r\n settings?.isImagePreview ? (\r\n // <Box\r\n // sx={{\r\n // cursor: callbacks?.onFileClick ? \"pointer\" : \"default\",\r\n // borderRadius: \"8px\",\r\n // border: \"1px solid #E5E7EB\",\r\n // py: \"8px\",\r\n // px: \"12px\",\r\n // }}\r\n // >\r\n <Image\r\n src={data?.source || data?.url}\r\n alt={data?.originName}\r\n width={64}\r\n height={64}\r\n priority={true}\r\n loading=\"eager\" // Non-lazy loading for preview images\r\n quality={80} // Reasonable compression for preview images\r\n style={{\r\n objectFit: \"cover\",\r\n borderRadius: \"8px\",\r\n border: \"1px solid #E5E7EB\",\r\n }}\r\n />\r\n ) : (\r\n // </Box>\r\n <IconFileJPG />\r\n )\r\n ) : data?.originName?.includes(\".pdf\") ? (\r\n <IconFilePDF />\r\n ) : data?.originName?.includes(\".doc\") ||\r\n data?.originName?.includes(\".docx\") ? (\r\n <IconFileDocx />\r\n ) : data?.originName?.includes(\".xls\") ||\r\n data?.originName?.includes(\".xlsx\") ? (\r\n <IconFileXls />\r\n ) : (\r\n <IconFileCSV />\r\n )}\r\n </Box>\r\n\r\n {/* File Name */}\r\n <Box\r\n sx={{\r\n width: \"100%\",\r\n textAlign: \"center\",\r\n fontSize: \"12px\",\r\n fontWeight: 500,\r\n color: callbacks?.onFileClick ? \"#00529C\" : \"#374151\",\r\n lineHeight: 1,\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n overflow: \"hidden\",\r\n textDecoration: callbacks?.onFileClick ? \"underline\" : \"none\",\r\n cursor: callbacks?.onFileClick ? \"pointer\" : \"default\",\r\n px: \"4px\",\r\n mt: \"-6px\",\r\n }}\r\n onClick={() => {\r\n if (callbacks?.onFileClick) {\r\n callbacks.onFileClick(data, index);\r\n }\r\n }}\r\n title={data.originName} // Show full name on hover\r\n >\r\n {data.originName}\r\n </Box>\r\n </Box>\r\n ))}\r\n </Box>\r\n )}\r\n\r\n {statusDashedUpload === \"error\" && (\r\n <div className=\"mt-4 flex flex-row\">\r\n <IconWarningTriangle color=\"#E84040\" />\r\n <span className=\"text-briRed text-sm ml-2\">\r\n {messageDashedUpload}\r\n </span>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default DropzoneMultiple;\r\n","'use client';\r\nimport Dropzone from \"react-dropzone\";\r\nimport { IconUpload } from \"@/components/legacy/atoms/icons/upload\";\r\nimport { ButtonDefault } from \"@/components/legacy/atoms/buttons/default\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { IconFileCSV } from \"@/components/legacy/atoms/icons/fileCSV\";\r\nimport { IconCross } from \"@/components/legacy/atoms/icons/cross\";\r\nimport { IconButtons } from \"@/components/legacy/atoms/buttons/iconButtons\";\r\nimport { IconFilePDF } from \"@/components/legacy/atoms/icons/filePDF\";\r\nimport { IconFileJPG } from \"@/components/legacy/atoms/icons/fileJPG\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { Typography } from \"@mui/material\";\r\nimport { IconInfo } from \"@/components/legacy/atoms/icons/info\";\r\nimport Image from \"next/image\";\r\nimport { ButtonOutlined } from \"@/components/legacy/atoms/buttons/outlined\";\r\nimport { DeleteForeverOutlined } from \"@mui/icons-material\";\r\n\r\nexport const TextFieldUploadFile = ({\r\n label = \"Upload Document\",\r\n allowedExtensions = [], // jika empty array maka bisa upload semua format\r\n maxSize = 5, // dalam satuan MB\r\n allowedFileLabel = \"CSV / PDF Max \" + maxSize + \" MB\",\r\n uploadFile = null, // custom function saat handling upload file\r\n removeFile = null, // custom function saat handling delete file\r\n fileName = null,\r\n multipleFile = false,\r\n isImagePreview = false, // flaging untuk menggantikan icon gambar dengan preview gambar khusus file gambar\r\n}) => {\r\n\r\n const dropzoneRef = useRef();\r\n const [selectedFile, setSelectedFile] = useState([]);\r\n const [isFileSelected, setIsFileSelected] = useState(false);\r\n const [statusDashedUpload, setStatusDashedUpload] = useState(\"success\");\r\n const [messageDashedUpload, setMessageDashedUpload] = useState(\"\");\r\n\r\n const validator = (file) => {\r\n setStatusDashedUpload(\"success\");\r\n // if (file.length == 1) {\r\n if (file.size > maxSize * (10 ** 6)) {\r\n setStatusDashedUpload(\"error\")\r\n setMessageDashedUpload('Ukuran file terlalu besar. Maksimal size file ' + maxSize + 'MB.')\r\n return false\r\n }\r\n if (allowedExtensions.length !== 0 && !allowedExtensions.some(ext => file.name.includes(ext))) {\r\n setStatusDashedUpload(\"error\")\r\n setMessageDashedUpload('Format file Anda tidak sesuai. Silahkan sesuaikan format file ' + allowedExtensions.join(', ') + '.')\r\n return false\r\n }\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = async () => {\r\n let imgSource = reader.result.toString()\r\n let encoded = imgSource.replace(/^data:(.*,)?/, \"\");\r\n if (encoded.length % 4 > 0) {\r\n encoded += \"=\".repeat(4 - (encoded.length % 4));\r\n }\r\n if (!multipleFile) {\r\n setSelectedFile([\r\n {\r\n source: imgSource,\r\n fileData: encoded,\r\n fileName: fileName ?? file.name,\r\n originName: file.name,\r\n size: file.size,\r\n },\r\n ]);\r\n } else {\r\n setSelectedFile([\r\n ...selectedFile,\r\n {\r\n fileData: encoded,\r\n fileName: fileName ?? file.name,\r\n originName: file.name,\r\n },\r\n ]);\r\n }\r\n\r\n if (uploadFile !== null) {\r\n await uploadFile(fileName, file);\r\n }\r\n\r\n setIsFileSelected(true);\r\n };\r\n // } else {\r\n // setStatusDashedUpload(\"error\")\r\n // }\r\n };\r\n\r\n const handleDeleteSelectedFile = (param) => {\r\n const deleteData = selectedFile.filter((item) => item.fileName !== param.fileName);\r\n if (removeFile != null) {\r\n removeFile(param.fileName)\r\n }\r\n setSelectedFile(deleteData);\r\n };\r\n\r\n useEffect(() => {\r\n if (selectedFile.length) {\r\n setIsFileSelected(true);\r\n } else {\r\n setIsFileSelected(false);\r\n }\r\n }, [selectedFile]);\r\n\r\n return (\r\n <div className=\"pt-5\">\r\n <TextLabel className=\"mt-0 my-2\">{label}</TextLabel>\r\n <div\r\n className={\r\n multipleFile === false && selectedFile.length > 0\r\n ? \"border-solid border-2\"\r\n : \"border-dashed border-2\"\r\n }\r\n style={{\r\n borderColor:\r\n multipleFile === false && selectedFile.length > 0\r\n ? \"#00529C\"\r\n : statusDashedUpload === \"error\"\r\n ? \"#EB4D4B\"\r\n : \"#BDBDBD\",\r\n borderRadius: \"10px\",\r\n }}\r\n >\r\n {multipleFile === false && selectedFile.length > 0 ? (\r\n <div className=\"flex flex-col justify-center items-center space-y-4 xl:space-y-0 xl:flex xl:flex-row xl:justify-between xl:items-center h-[200px] px-6\">\r\n <div className=\"flex items-center\">\r\n {selectedFile[0].originName.includes(\".jpg\") ||\r\n selectedFile[0].originName.includes(\".jpeg\") ||\r\n selectedFile[0].originName.includes(\".png\") ? (\r\n isImagePreview ? (\r\n <Image\r\n src={selectedFile[0].source}\r\n alt={selectedFile[0].originName}\r\n width={53}\r\n height={53}\r\n />\r\n ) : (\r\n <IconFileJPG />\r\n )\r\n ) : selectedFile[0].originName.includes(\".pdf\") ? (\r\n <IconFilePDF />\r\n ) : (\r\n <IconFileCSV />\r\n )}\r\n <div className=\"flex flex-col items-start justify-center ml-2\">\r\n <h3>{selectedFile[0].originName}</h3>\r\n <span className=\"text-[#999999]\">{`${Math.ceil(\r\n selectedFile[0].size / 1024\r\n )}kb`}</span>\r\n </div>\r\n </div>\r\n <div>\r\n <ButtonOutlined\r\n colorType=\"danger\"\r\n startIcon={<DeleteForeverOutlined sx={{ color: \"#E84040\" }} />}\r\n onClick={handleDeleteSelectedFile.bind(this, selectedFile[0])}\r\n sx={{\r\n paddingX: \"20px\",\r\n paddingY: \"10px\",\r\n }}\r\n >\r\n Hapus\r\n </ButtonOutlined>\r\n </div>\r\n </div>\r\n ) : (\r\n <Dropzone\r\n multiple={true}\r\n // maxFiles={1}\r\n ref={dropzoneRef}\r\n // accept={'.xlsx'}\r\n excludeAcceptAllOption\r\n validator={validator}\r\n >\r\n {({ getRootProps, getInputProps }) => (\r\n <section>\r\n <div {...getRootProps()}>\r\n <input {...getInputProps()} />\r\n <div className=\"text-center py-4\">\r\n <IconUpload />\r\n <Typography\r\n sx={{\r\n fontSize: \"16px\",\r\n fontWeight: 700,\r\n color: \"#303030\",\r\n marginY: \"5px\",\r\n }}\r\n >\r\n Drag & Drop\r\n </Typography>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"#BDBDBD\",\r\n marginY: \"5px\",\r\n }}\r\n >\r\n atau\r\n </Typography>\r\n <ButtonDefault\r\n className=\"justify-center px-5 my-1\"\r\n model=\"outline\"\r\n color=\"#00529C\"\r\n >\r\n Pilih Files\r\n </ButtonDefault>\r\n <Typography\r\n sx={{\r\n fontSize: \"12px\",\r\n color: \"#BDBDBD\",\r\n marginY: \"5px\",\r\n }}\r\n >\r\n {allowedFileLabel}\r\n </Typography>\r\n </div>\r\n </div>\r\n </section>\r\n )}\r\n </Dropzone>\r\n )}\r\n </div>\r\n\r\n {isFileSelected && multipleFile === true ? (\r\n <>\r\n <div className=\"my-4 flex\">\r\n {selectedFile.map((data, index) => (\r\n <div className=\"mx-2 relative\" key={index}>\r\n <div className=\"sticky top-0\">\r\n <IconButtons\r\n sx={{ width: \"auto\", top: \"-10px\" }}\r\n className=\"absolute ml-14\"\r\n onClick={() => handleDeleteSelectedFile(data)}\r\n >\r\n <IconCross />\r\n </IconButtons>\r\n {data.originName.includes(\".jpg\") ||\r\n data.originName.includes(\".jpeg\") ||\r\n data.originName.includes(\".png\") ? (\r\n isImagePreview ? (\r\n <Image\r\n src={data.source}\r\n alt={data.originName}\r\n width={53}\r\n height={53}\r\n />\r\n ) : (\r\n <IconFileJPG />\r\n )\r\n ) : data.originName.includes(\".pdf\") ? (\r\n <IconFilePDF />\r\n ) : (\r\n <IconFileCSV />\r\n )}\r\n </div>\r\n <div className=\"text-xs font-medium\">{data.originName}</div>\r\n </div>\r\n ))}\r\n </div>\r\n </>\r\n ) : null}\r\n\r\n {statusDashedUpload === \"error\" ? (\r\n <div className=\"mt-2 flex flex-row\">\r\n <IconInfo color=\"#E84040\" isSmall />\r\n <span className=\"text-brigunaRed text-sm ml-2\">\r\n {messageDashedUpload}\r\n </span>\r\n </div>\r\n ) : null}\r\n\r\n {/* <div className='flex justify-end mt-4 pb-6 gap-x-2'>\r\n {isButtonUploadWhitelistLoading ? (\r\n <CircularProgress />\r\n ) : (\r\n <button\r\n className='text-white rounded-main py-2 px-4'\r\n style={{\r\n backgroundColor: isFileSelected ? '#1078CA' : '#E1E4EA'\r\n }}\r\n disabled={!isFileSelected}\r\n onClick={handleUploadWhitelistData}\r\n >\r\n <span>Upload</span>\r\n </button>\r\n )}\r\n </div> */}\r\n </div>\r\n );\r\n};\r\n\r\nexport default TextFieldUploadFile;","import { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { Box, TextField } from \"@mui/material\";\r\nimport { IconButton } from \"@mui/material\";\r\n\r\nimport { useController } from \"react-hook-form\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport const TextFieldFilledIcon = ({\r\n name = \"\",\r\n control = null,\r\n className,\r\n titleClassName,\r\n defaultValue,\r\n maxLength,\r\n isNumericOnly,\r\n ...props\r\n}) => {\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n\r\n const isInputFilled = field.value !== \"\";\r\n\r\n if (!control) {\r\n return <TextField id=\"outlined-basic\" variant=\"outlined\" {...props} />;\r\n }\r\n\r\n const handleKeyDown = (e) => {\r\n if (\r\n (e.ctrlKey || e.metaKey) &&\r\n [\"a\", \"c\", \"v\", \"x\", \"z\", \"y\"].includes(e.key.toLowerCase())\r\n ) {\r\n return;\r\n }\r\n const allowedKeys = [\r\n \"Tab\",\r\n \"Backspace\",\r\n \"Delete\",\r\n \"ArrowLeft\",\r\n \"ArrowRight\",\r\n \"ArrowUp\",\r\n \"ArrowDown\",\r\n \"Home\",\r\n \"End\",\r\n \"Escape\",\r\n \"Enter\",\r\n ];\r\n if (allowedKeys.includes(e.key)) {\r\n return;\r\n }\r\n if (!/^[0-9]$/.test(e.key)) {\r\n e.preventDefault();\r\n }\r\n };\r\n\r\n return (\r\n <div className={className}>\r\n {props.title ? (\r\n <TextLabel className={twMerge(\"text-sm\", titleClassName)}>\r\n {props.title}\r\n </TextLabel>\r\n ) : null}\r\n <Box className=\"grid relative\">\r\n <TextField\r\n id=\"username-input\"\r\n variant=\"outlined\"\r\n error={!!formState.errors?.[name]}\r\n helperText={formState.errors?.[name]?.message}\r\n size=\"small\"\r\n type=\"text\"\r\n inputMode=\"numeric\"\r\n autoComplete=\"off\"\r\n inputProps={{\r\n maxLength,\r\n }}\r\n onKeyDown={isNumericOnly ? handleKeyDown : null}\r\n {...props}\r\n {...field}\r\n />\r\n {isInputFilled ? (\r\n <Box component=\"span\">\r\n <IconButton\r\n aria-label=\"toggle on check\"\r\n edge=\"end\"\r\n sx={{\r\n position: \"absolute\",\r\n top: 0,\r\n right: 0,\r\n bottom: 0,\r\n margin: \"auto\",\r\n }}\r\n disabled\r\n >\r\n {props.icon}\r\n </IconButton>\r\n </Box>\r\n ) : null}\r\n </Box>\r\n </div>\r\n );\r\n};\r\n","import { IconInfo } from \"@/components/legacy/atoms/icons/info\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { InputAdornment, TextField } from \"@mui/material\";\r\nimport { useController } from \"react-hook-form\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport const TextFieldMultiline = ({\r\n name = \"\",\r\n control = null,\r\n defaultValue,\r\n helperText,\r\n ...props\r\n}) => {\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n\r\n const handleKeyDown = (e) => {\r\n if (e.key === \"Tab\") {\r\n e.preventDefault();\r\n field.onChange(field.value ? field.value + \" • \" : \" • \");\r\n }\r\n };\r\n\r\n if (!control) {\r\n return (\r\n <TextField\r\n id={name}\r\n variant=\"outlined\"\r\n multiline\r\n minRows={4}\r\n helperText={helperText}\r\n fullWidth\r\n disabled={props.isDisabled}\r\n InputProps={{\r\n style: {\r\n borderRadius: \"10px\",\r\n backgroundColor: props.isDisabled ? \"#EDEDED\" : \"#FFFFFF\",\r\n },\r\n endAdornment: !!formState.errors?.[name] && (\r\n <InputAdornment position=\"end\" sx={{ paddingTop: \"5px\" }}>\r\n <span className=\"text-white\">\r\n <IconInfo color=\"#E84040\" isSmall />\r\n </span>\r\n </InputAdornment>\r\n ),\r\n }}\r\n {...props}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <div className={props.className}>\r\n {props.title ? (\r\n <TextLabel className={twMerge(\"\", props.titleClassName)}>\r\n {props.title}\r\n </TextLabel>\r\n ) : null}\r\n <TextField\r\n id={name}\r\n variant=\"outlined\"\r\n multiline\r\n minRows={4}\r\n onKeyDown={handleKeyDown}\r\n error={!!formState.errors?.[name]}\r\n disabled={props.isDisabled}\r\n helperText={formState.errors?.[name]?.message ?? helperText}\r\n FormHelperTextProps={{\r\n style: {\r\n fontSize: formState.errors?.[name]?.message\r\n ? \"16px\"\r\n : \"0.6964285714285714rem\",\r\n marginLeft: formState.errors?.[name]?.message ? 0 : \"14px\",\r\n },\r\n }}\r\n fullWidth\r\n InputProps={{\r\n style: {\r\n borderRadius: \"10px\",\r\n backgroundColor: props.isDisabled ? \"#EDEDED\" : \"#FFFFFF\",\r\n },\r\n endAdornment: !!formState.errors?.[name] && (\r\n <InputAdornment position=\"end\" sx={{ paddingTop: \"5px\" }}>\r\n <span className=\"text-white\">\r\n <IconInfo color=\"#E84040\" isSmall />\r\n </span>\r\n </InputAdornment>\r\n ),\r\n }}\r\n {...props}\r\n {...field}\r\n />\r\n </div>\r\n );\r\n};\r\n","'use client';\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { Box, TextField } from \"@mui/material\";\r\nimport { IconButton } from \"@mui/material\";\r\nimport VisibilityRaw from \"@mui/icons-material/Visibility\";\r\nimport VisibilityOffRaw from \"@mui/icons-material/VisibilityOff\";\r\n\r\nimport { useController } from \"react-hook-form\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { CapsLockOn } from \"@/components/legacy/atoms/icons/capslock-on\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nconst Visibility = VisibilityRaw?.default ?? VisibilityRaw;\r\nconst VisibilityOff = VisibilityOffRaw?.default ?? VisibilityOffRaw;\r\nexport const TextFieldPassword = ({\r\n name = \"\",\r\n control = null,\r\n className,\r\n titleClassName,\r\n defaultValue,\r\n maxLength,\r\n isDisabled,\r\n ...props\r\n}) => {\r\n const [showPassword, setShowPassword] = useState(false);\r\n const [isCapsLock, setIsCapsLock] = useState(false);\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n\r\n const isInputFilled = field.value !== \"\";\r\n const hasNoWhiteSpace = !field.value.includes(\" \");\r\n\r\n const handleShowPassword = useCallback(\r\n (e) => {\r\n e.preventDefault();\r\n setShowPassword((prev) => !prev);\r\n document.getElementById(name)?.blur();\r\n },\r\n //eslint-disable-next-line react-hooks/exhaustive-deps\r\n []\r\n );\r\n\r\n const handleMouseDownPassword = (event) => {\r\n event.preventDefault();\r\n };\r\n\r\n const handleCapsLock = (event) => {\r\n if (event.getModifierState(\"CapsLock\")) {\r\n setIsCapsLock(true);\r\n } else {\r\n setIsCapsLock(false);\r\n }\r\n };\r\n\r\n if (!control) {\r\n return <TextField id=\"outlined-basic\" variant=\"outlined\" {...props} />;\r\n }\r\n return (\r\n <div className={className}>\r\n {props.title ? (\r\n <TextLabel className={twMerge(\"text-sm\", titleClassName)}>\r\n {props.title}\r\n </TextLabel>\r\n ) : null}\r\n <Box className=\"grid relative\">\r\n <TextField\r\n id={name}\r\n variant=\"outlined\"\r\n error={!!formState.errors?.[name]}\r\n helperText={formState.errors?.[name]?.message}\r\n size=\"small\"\r\n type={showPassword ? \"text\" : \"password\"}\r\n onKeyDown={handleCapsLock}\r\n inputProps={{ maxLength: maxLength }}\r\n disabled={isDisabled ?? false}\r\n InputProps={{\r\n style: {\r\n borderRadius: \"10px\",\r\n backgroundColor: isDisabled ? \"#EDEDED\" : \"#FFFFFF\",\r\n },\r\n }}\r\n {...props}\r\n {...field}\r\n />\r\n <Box component=\"span\" className=\"inline-flex justify-end items-end\">\r\n <IconButton\r\n aria-label=\"toggle caps lock visibility\"\r\n edge=\"end\"\r\n disabled\r\n style={{\r\n display: !isInputFilled || !hasNoWhiteSpace ? \"none\" : \"block\",\r\n position: \"absolute\",\r\n top: 0,\r\n right: 30,\r\n bottom: 0,\r\n margin: \"auto\",\r\n }}\r\n >\r\n {isCapsLock ? <CapsLockOn /> : null}\r\n </IconButton>\r\n <IconButton\r\n aria-label=\"toggle password visibility\"\r\n onClick={handleShowPassword}\r\n onMouseDown={handleMouseDownPassword}\r\n edge=\"end\"\r\n type=\"button\"\r\n style={{\r\n display: !isInputFilled || !hasNoWhiteSpace ? \"none\" : \"block\",\r\n position: \"absolute\",\r\n top: 0,\r\n bottom: formState.errors[`${name}`] ? 18 : 0,\r\n right: 0,\r\n margin: \"auto\",\r\n }}\r\n >\r\n {showPassword ? <VisibilityOff /> : <Visibility />}\r\n </IconButton>\r\n </Box>\r\n </Box>\r\n </div>\r\n );\r\n};\r\n","'use client';\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { TextField } from \"@mui/material\";\r\nimport React, { useState } from \"react\";\r\n\r\nconst ImagePasteComponent = () => {\r\n const [imageSrc, setImageSrc] = useState(\"\");\r\n\r\n const handlePaste = async (event) => {\r\n const clipboardData = event.clipboardData || window.clipboardData;\r\n const pastedImage = clipboardData.items[0];\r\n\r\n if (pastedImage && pastedImage.type.startsWith(\"image\")) {\r\n const blob = pastedImage.getAsFile();\r\n const imageUrl = URL.createObjectURL(blob);\r\n\r\n // Set the image source\r\n setImageSrc(imageUrl);\r\n }\r\n };\r\n\r\n const handleKeyDown = (event) => {\r\n // Check if backspace or delete key is pressed\r\n if (event.key === \"Backspace\" || event.key === \"Delete\") {\r\n // Clear the image source\r\n setImageSrc(\"\");\r\n }\r\n };\r\n\r\n return (\r\n <div>\r\n <TextLabel className=\"my-2\">Paste Image</TextLabel>\r\n {imageSrc ? (\r\n <input\r\n type=\"image\"\r\n id=\"image\"\r\n alt=\"image\"\r\n src={imageSrc}\r\n onPaste={handlePaste}\r\n onKeyDown={handleKeyDown}\r\n width=\"60%\"\r\n />\r\n ) : (\r\n <TextField\r\n id=\"outlined-basic\"\r\n variant=\"outlined\"\r\n size=\"small\"\r\n className=\"w-full\"\r\n onPaste={handlePaste}\r\n placeholder=\"Paste your image here\"\r\n disabled\r\n multiline\r\n rows={10}\r\n InputProps={{\r\n style: {\r\n borderRadius: \"10px\",\r\n width: \"60%\",\r\n },\r\n }}\r\n />\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default ImagePasteComponent;\r\n","import { IconInfo } from \"@/components/legacy/atoms/icons/info\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { Box, InputAdornment, TextField } from \"@mui/material\";\r\n\r\nimport { useController } from \"react-hook-form\";\r\nimport { twMerge } from \"tailwind-merge\";\r\nimport { NumericFormat } from \"react-number-format\";\r\n\r\nexport const TextFieldPrefixPostfixCurrency = ({\r\n name = \"\",\r\n control = null,\r\n className,\r\n titleClassName,\r\n defaultValue,\r\n isBgColor,\r\n prefixPostFix,\r\n isDisabled,\r\n maxLength,\r\n inputTextAlign,\r\n ...props\r\n}) => {\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n\r\n if (!control) {\r\n return (\r\n <NumericFormat\r\n customInput={TextField}\r\n {...props}\r\n />\r\n )\r\n }\r\n\r\n return (\r\n <div className={className}>\r\n {props.title ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n {props.title}\r\n </TextLabel>\r\n ) : null}\r\n <Box className=\"grid relative mt-0\">\r\n <NumericFormat\r\n id=\"outlined-basic\"\r\n variant=\"outlined\"\r\n error={!!formState.errors?.[name]}\r\n helperText={formState.errors?.[name]?.message}\r\n FormHelperTextProps={{\r\n style: {\r\n fontSize: \"16px\",\r\n marginLeft: 0,\r\n },\r\n }}\r\n size=\"small\"\r\n autoComplete=\"off\"\r\n className={\"w-full \" + className}\r\n disabled={isDisabled}\r\n inputProps={{\r\n maxLength: maxLength,\r\n style: { textAlign: inputTextAlign ?? 'left'}\r\n }}\r\n InputProps={{\r\n style: {\r\n borderRadius: \"10px\",\r\n paddingLeft : \"0px\",\r\n paddingRight : \"0px\",\r\n backgroundColor: isDisabled ? \"#EDEDED\" : \"#FFFFFF\",\r\n },\r\n startAdornment: props.position === \"start\" && (\r\n <InputAdornment\r\n position=\"start\"\r\n sx={{\r\n padding: \"20px 14px\",\r\n borderRadius: \"10px 0 0 10px\",\r\n backgroundColor: formState.errors?.[name]\r\n ? \"#E84040\"\r\n : isBgColor == \"blue\"\r\n ? \"#084F8C\"\r\n : isBgColor == \"default\"\r\n ? \"#E0E0E0\"\r\n : isBgColor == \"red\"\r\n ? \"#E84040\"\r\n : \"none\",\r\n }}\r\n >\r\n <span\r\n className={`${\r\n isBgColor != \"default\"|| formState.errors?.[name]\r\n ? \"text-white\"\r\n : \"text-black\"\r\n }`}\r\n >\r\n {prefixPostFix}\r\n </span>\r\n </InputAdornment>\r\n ),\r\n endAdornment: props.position === \"end\" && (\r\n <>\r\n {!!formState.errors?.[name] && (\r\n <InputAdornment position=\"end\" sx={{ paddingTop: \"5px\" }}>\r\n <span>\r\n <IconInfo color=\"#E84040\" isSmall />\r\n </span>\r\n </InputAdornment>\r\n )}\r\n <InputAdornment\r\n position=\"end\"\r\n sx={{\r\n padding: \"20px 14px\",\r\n borderRadius: \"0 10px 10px 0\",\r\n backgroundColor: formState.errors?.[name]\r\n ? \"#E84040\"\r\n : isBgColor == \"blue\"\r\n ? \"#084F8C\"\r\n : isBgColor == \"default\"\r\n ? \"#E0E0E0\"\r\n : isBgColor == \"red\"\r\n ? \"#E84040\"\r\n : \"none\",\r\n }}\r\n >\r\n <span\r\n className={`${\r\n isBgColor !=\"default\" || formState.errors?.[name]\r\n ? \"text-white\"\r\n : \"text-black\"\r\n }`}\r\n >\r\n {prefixPostFix}\r\n </span>\r\n </InputAdornment>\r\n </>\r\n ),\r\n }}\r\n name={field.name}\r\n value={field.value}\r\n onValueChange={(v) => field.onChange(v.value)}\r\n customInput={TextField}\r\n type=\"text\"\r\n inputMode=\"numeric\"\r\n {...props}\r\n />\r\n </Box>\r\n </div>\r\n );\r\n};\r\n","'use client';\r\nimport { IconInfo } from \"@/components/legacy/atoms/icons/info\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { Box, Button, Input, InputAdornment, TextField } from \"@mui/material\";\r\nimport { useState } from \"react\";\r\n\r\nimport { useController } from \"react-hook-form\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport const TextFieldPrefixPostfixUploadPipelineCp = ({\r\n name = \"\",\r\n control = null,\r\n className,\r\n titleClassName,\r\n fileName = null,\r\n defaultValue,\r\n isBgColor,\r\n prefixPostFix,\r\n iconPrefixPostFix,\r\n isDisabled,\r\n accept = null,\r\n uploadFile = null,\r\n maxSize = 5,\r\n index = null,\r\n ...props\r\n}) => {\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n const [fileSizeError, setFileSizeError] = useState(false);\r\n const [unsupportFile, setUnsupportFile] = useState(false);\r\n const inputId = index == null ? name : name + \"_\" + (index?.index ?? \"\");\r\n\r\n const handleFileChange = (event) => {\r\n const file = event.target.files[0];\r\n if (file) {\r\n const extensionsString = accept;\r\n const extensionsArray = extensionsString\r\n .split(\",\")\r\n .map((ext) => ext.trim());\r\n const acceptedExtensions = extensionsArray;\r\n const extension = file.name.split(\".\").pop().toLowerCase();\r\n if (!acceptedExtensions.includes(`.${extension}`)) {\r\n field.onChange(\"\");\r\n setUnsupportFile(true);\r\n return;\r\n }\r\n if (file.size >= maxSize * 1024 * 1024) {\r\n field.onChange(\"\");\r\n setFileSizeError(true);\r\n return;\r\n }\r\n setFileSizeError(false);\r\n setUnsupportFile(false);\r\n field.onChange(file);\r\n if (uploadFile) {\r\n const fileRename = fileName\r\n ? fileName\r\n : file.name.split(\".\").slice(0, -1).join(\".\");\r\n const newFileName =\r\n index !== null\r\n ? `${index?.index}_${fileRename}.${extension}`\r\n : `${fileRename}.${extension}`;\r\n uploadFile(newFileName, file);\r\n }\r\n } else {\r\n field.onChange(\"\");\r\n uploadFile(\"\", null);\r\n }\r\n };\r\n\r\n if (!control) {\r\n return (\r\n <TextField\r\n id=\"outlined-basic\"\r\n variant=\"outlined\"\r\n type=\"file\"\r\n {...props}\r\n />\r\n );\r\n }\r\n\r\n const handleButtonClick = () => {\r\n document.getElementById(inputId).click();\r\n };\r\n\r\n return (\r\n <div className={className}>\r\n {props.title ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n {props.title}\r\n </TextLabel>\r\n ) : null}\r\n <Box className=\"grid relative mt-0\">\r\n <TextField\r\n type=\"text\"\r\n value={field.value ? field.value.name : \"\"}\r\n onChange={field.onChange}\r\n onBlur={field.onBlur}\r\n onFocus={field.onFocus}\r\n error={!!formState.errors?.[name]}\r\n helperText={\r\n fileSizeError\r\n ? \"Ukuran file melebihi \" + maxSize + \" MB\"\r\n : unsupportFile\r\n ? \"Ekstensi file tidak didukung\"\r\n : \"Format \" + accept + \" ukuran Maks. \" + maxSize + \" MB\"\r\n }\r\n FormHelperTextProps={{\r\n style: {\r\n fontSize: \"16px\",\r\n marginLeft: 0,\r\n color: fileSizeError || unsupportFile ? \"#E84040\" : \"\",\r\n },\r\n }}\r\n size=\"small\"\r\n autoComplete=\"off\"\r\n sx={{\r\n \"& .MuiOutlinedInput-root\": {\r\n paddingLeft: 0,\r\n paddingRight: 0,\r\n },\r\n }}\r\n InputProps={{\r\n readOnly: true,\r\n style: {\r\n borderRadius: \"10px\",\r\n backgroundColor: isDisabled ? \"#EDEDED\" : \"#FFFFFF\",\r\n },\r\n startAdornment: props.position === \"start\" && (\r\n <InputAdornment\r\n position=\"start\"\r\n sx={{\r\n marginRight: \"-35px\",\r\n }}\r\n >\r\n <Button\r\n startIcon={iconPrefixPostFix}\r\n onClick={handleButtonClick}\r\n variant=\"contained\"\r\n sx={{\r\n lineHeight: \"normal\",\r\n borderRadius: \"10px 0 0 10px\",\r\n backgroundColor:\r\n formState.errors?.[name] || fileSizeError || unsupportFile\r\n ? \"#E84040\"\r\n : isBgColor == \"blue\"\r\n ? \"#084F8C\"\r\n : isBgColor == \"default\"\r\n ? \"#E0E0E0\"\r\n : \"none\",\r\n color:\r\n isBgColor !== \"default\" ||\r\n formState.errors?.[name] ||\r\n fileSizeError ||\r\n unsupportFile\r\n ? \"white\"\r\n : \"black\",\r\n padding: \"9px 14px\",\r\n \"&:hover\": {\r\n backgroundColor:\r\n formState.errors?.[name] ||\r\n fileSizeError ||\r\n unsupportFile\r\n ? \"#991111\"\r\n : isBgColor == \"blue\"\r\n ? \"#0867C9\"\r\n : isBgColor == \"default\"\r\n ? \"#BEBEBE\"\r\n : \"none\",\r\n },\r\n }}\r\n >\r\n {prefixPostFix}\r\n </Button>\r\n <span\r\n className={`${\r\n isBgColor != \"default\" || formState.errors?.[name]\r\n ? \"text-white\"\r\n : \"text-black\"\r\n }`}\r\n >\r\n {prefixPostFix}\r\n </span>\r\n </InputAdornment>\r\n ),\r\n endAdornment: props.position === \"end\" && (\r\n <>\r\n {!!formState.errors?.[name] && (\r\n <InputAdornment position=\"end\" sx={{ paddingTop: \"5px\" }}>\r\n <span>\r\n <IconInfo color=\"#E84040\" isSmall />\r\n </span>\r\n </InputAdornment>\r\n )}\r\n <InputAdornment position=\"end\">\r\n <Button\r\n startIcon={iconPrefixPostFix}\r\n onClick={handleButtonClick}\r\n variant=\"contained\"\r\n sx={{\r\n lineHeight: \"normal\",\r\n borderRadius: \"0 10px 10px 0\",\r\n backgroundColor: formState.errors?.[name]\r\n ? \"#E84040\"\r\n : isBgColor == \"blue\"\r\n ? \"#084F8C\"\r\n : isBgColor == \"default\"\r\n ? \"#E0E0E0\"\r\n : \"none\",\r\n color:\r\n isBgColor !== \"default\" || formState.errors?.[name]\r\n ? \"white\"\r\n : \"black\",\r\n padding: \"9px 14px\",\r\n \"&:hover\": {\r\n backgroundColor: formState.errors?.[name]\r\n ? \"#991111\"\r\n : isBgColor == \"blue\"\r\n ? \"#0867C9\"\r\n : isBgColor == \"default\"\r\n ? \"#BEBEBE\"\r\n : \"none\",\r\n },\r\n }}\r\n >\r\n {prefixPostFix}\r\n </Button>\r\n </InputAdornment>\r\n </>\r\n ),\r\n }}\r\n {...props}\r\n />\r\n <Input\r\n id={inputId}\r\n type=\"file\"\r\n inputProps={{ accept: accept }}\r\n style={{ display: \"none\" }}\r\n onChange={handleFileChange}\r\n disabled={isDisabled}\r\n />\r\n </Box>\r\n </div>\r\n );\r\n};\r\n","'use client';\r\nimport { IconInfo } from \"@/components/legacy/atoms/icons/info\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { Box, Button, Input, InputAdornment, TextField } from \"@mui/material\";\r\nimport { useState } from \"react\";\r\n\r\nimport { useController } from \"react-hook-form\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport const TextFieldPrefixPostfixUpload = ({\r\n name = \"\",\r\n control = null,\r\n className,\r\n titleClassName,\r\n fileName = null,\r\n defaultValue,\r\n isBgColor,\r\n prefixPostFix,\r\n iconPrefixPostFix,\r\n isDisabled,\r\n accept = null,\r\n uploadFile = null,\r\n maxSize = 5,\r\n index = null,\r\n ...props\r\n}) => {\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n const [fileSizeError, setFileSizeError] = useState(false);\r\n const [unsupportFile, setUnsupportFile] = useState(false);\r\n const inputId = index == null ? name : name + \"_\" + (index?.index ?? \"\");\r\n\r\n const handleFileChange = (event) => {\r\n const file = event.target.files[0];\r\n if (file) {\r\n const extensionsString = accept;\r\n const extensionsArray = extensionsString\r\n .split(\",\")\r\n .map((ext) => ext.trim());\r\n const acceptedExtensions = extensionsArray;\r\n const extension = file.name.split(\".\").pop().toLowerCase();\r\n if (!acceptedExtensions.includes(`.${extension}`)) {\r\n field.onChange(\"\");\r\n setUnsupportFile(true);\r\n return;\r\n }\r\n if (file.size >= maxSize * 1024 * 1024) {\r\n field.onChange(\"\");\r\n setFileSizeError(true);\r\n return;\r\n }\r\n setFileSizeError(false);\r\n setUnsupportFile(false);\r\n field.onChange(file.name);\r\n if (uploadFile) {\r\n const fileRename = fileName ? fileName : file.name.split('.').slice(0, -1).join('.');\r\n const newFileName = index !== null ? `${index?.index}_${fileRename}.${extension}` : `${fileRename}.${extension}`;\r\n uploadFile(newFileName, file);\r\n }\r\n } else {\r\n field.onChange(\"\");\r\n uploadFile(\"\", null);\r\n }\r\n };\r\n\r\n if (!control) {\r\n return (\r\n <TextField\r\n id=\"outlined-basic\"\r\n variant=\"outlined\"\r\n type=\"file\"\r\n {...props}\r\n />\r\n );\r\n }\r\n\r\n const handleButtonClick = () => {\r\n document.getElementById(inputId).click();\r\n };\r\n\r\n return (\r\n <div className={className}>\r\n {props.title ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n {props.title}\r\n </TextLabel>\r\n ) : null}\r\n <Box className=\"grid relative mt-0\">\r\n <TextField\r\n type=\"text\"\r\n value={\r\n fileName && field.value?.includes(\".\")\r\n ? `${fileName}.${field.value.split(\".\").pop()}`\r\n : field.value\r\n }\r\n onChange={field.onChange}\r\n onBlur={field.onBlur}\r\n onFocus={field.onFocus}\r\n error={!!formState.errors?.[name]}\r\n helperText={\r\n fileSizeError\r\n ? \"Ukuran file melebihi \" + maxSize + \" MB\"\r\n : unsupportFile\r\n ? \"Ekstensi file tidak didukung\"\r\n : \"Format \" + accept + \" ukuran Maks. \" + maxSize + \" MB\"\r\n }\r\n FormHelperTextProps={{\r\n style: {\r\n fontSize: \"16px\",\r\n marginLeft: 0,\r\n color: fileSizeError || unsupportFile ? \"#E84040\" : \"\",\r\n },\r\n }}\r\n size=\"small\"\r\n autoComplete=\"off\"\r\n sx={{\r\n \"& .MuiOutlinedInput-root\": {\r\n paddingLeft: 0,\r\n paddingRight: 0,\r\n },\r\n }}\r\n InputProps={{\r\n readOnly: true,\r\n style: {\r\n borderRadius: \"10px\",\r\n backgroundColor: isDisabled ? \"#EDEDED\" : \"#FFFFFF\",\r\n },\r\n startAdornment: props.position === \"start\" && (\r\n <InputAdornment\r\n position=\"start\"\r\n sx={{\r\n marginRight: \"-35px\",\r\n }}\r\n >\r\n <Button\r\n startIcon={iconPrefixPostFix}\r\n onClick={handleButtonClick}\r\n variant=\"contained\"\r\n sx={{\r\n lineHeight: \"normal\",\r\n borderRadius: \"10px 0 0 10px\",\r\n backgroundColor:\r\n formState.errors?.[name] || fileSizeError || unsupportFile\r\n ? \"#E84040\"\r\n : isBgColor == \"blue\"\r\n ? \"#084F8C\"\r\n : isBgColor == \"default\"\r\n ? \"#E0E0E0\"\r\n : \"none\",\r\n color:\r\n isBgColor !== \"default\" ||\r\n formState.errors?.[name] ||\r\n fileSizeError ||\r\n unsupportFile\r\n ? \"white\"\r\n : \"black\",\r\n padding: \"9px 14px\",\r\n \"&:hover\": {\r\n backgroundColor:\r\n formState.errors?.[name] ||\r\n fileSizeError ||\r\n unsupportFile\r\n ? \"#991111\"\r\n : isBgColor == \"blue\"\r\n ? \"#0867C9\"\r\n : isBgColor == \"default\"\r\n ? \"#BEBEBE\"\r\n : \"none\",\r\n },\r\n }}\r\n >\r\n {prefixPostFix}\r\n </Button>\r\n <span\r\n className={`${\r\n isBgColor != \"default\" || formState.errors?.[name]\r\n ? \"text-white\"\r\n : \"text-black\"\r\n }`}\r\n >\r\n {prefixPostFix}\r\n </span>\r\n </InputAdornment>\r\n ),\r\n endAdornment: props.position === \"end\" && (\r\n <>\r\n {!!formState.errors?.[name] && (\r\n <InputAdornment position=\"end\" sx={{ paddingTop: \"5px\" }}>\r\n <span>\r\n <IconInfo color=\"#E84040\" isSmall />\r\n </span>\r\n </InputAdornment>\r\n )}\r\n <InputAdornment position=\"end\">\r\n <Button\r\n startIcon={iconPrefixPostFix}\r\n onClick={handleButtonClick}\r\n variant=\"contained\"\r\n sx={{\r\n lineHeight: \"normal\",\r\n borderRadius: \"0 10px 10px 0\",\r\n backgroundColor: formState.errors?.[name]\r\n ? \"#E84040\"\r\n : isBgColor == \"blue\"\r\n ? \"#084F8C\"\r\n : isBgColor == \"default\"\r\n ? \"#E0E0E0\"\r\n : \"none\",\r\n color:\r\n isBgColor !== \"default\" || formState.errors?.[name]\r\n ? \"white\"\r\n : \"black\",\r\n padding: \"9px 14px\",\r\n \"&:hover\": {\r\n backgroundColor: formState.errors?.[name]\r\n ? \"#991111\"\r\n : isBgColor == \"blue\"\r\n ? \"#0867C9\"\r\n : isBgColor == \"default\"\r\n ? \"#BEBEBE\"\r\n : \"none\",\r\n },\r\n }}\r\n >\r\n {prefixPostFix}\r\n </Button>\r\n </InputAdornment>\r\n </>\r\n ),\r\n }}\r\n {...props}\r\n />\r\n <Input\r\n id={inputId}\r\n type=\"file\"\r\n inputProps={{ accept: accept }}\r\n style={{ display: \"none\" }}\r\n onChange={handleFileChange}\r\n disabled={isDisabled}\r\n />\r\n </Box>\r\n </div>\r\n );\r\n};\r\n","import { IconInfo } from \"@/components/legacy/atoms/icons/info\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { Box, InputAdornment, TextField } from \"@mui/material\";\r\nimport { useController } from \"react-hook-form\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport const TextFieldPrefixPostfix = ({\r\n name = \"\",\r\n control = null,\r\n className,\r\n titleClassName,\r\n defaultValue,\r\n isBgColor,\r\n prefixPostFix,\r\n isDisabled,\r\n maxLength,\r\n isNumericOnly,\r\n AdditionalButtonComponent,\r\n ...props\r\n}) => {\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n\r\n if (!control) {\r\n return <TextField id=\"outlined-basic\" variant=\"outlined\" {...props} />;\r\n }\r\n \r\n\r\n const handleKeyDown = (e) => {\r\n const allowedKeys = [\"Tab\", \"Backspace\", \"Delete\", \"ArrowLeft\", \"ArrowRight\"];\r\n const isPaste = (e.ctrlKey || e.metaKey) && e.key === \"v\";\r\n if (props.noSpaceAllowed && e.code === \"Space\"){\r\n e.preventDefault();\r\n return\r\n }\r\n if (isNumericOnly && !isPaste) {\r\n const allowedPattern = /^[0-9]+$/;\r\n if (!allowedKeys.includes(e.key) && !allowedPattern.test(e.key)) {\r\n e.preventDefault();\r\n }\r\n }\r\n };\r\n\r\n const handlePaste = (e) => {\r\n const pastedData = e.clipboardData.getData('Text');\r\n let sanitizedData = pastedData;\r\n\r\n if (props.noSpaceAllowed) {\r\n sanitizedData = sanitizedData.replace(/\\s+/g, '');\r\n }\r\n\r\n if (isNumericOnly) {\r\n e.preventDefault();\r\n const allowedPattern = /[0-9]+/g;\r\n const filteredData = sanitizedData.match(allowedPattern)?.join('') || '';\r\n const { value } = e.target;\r\n const start = e.target.selectionStart;\r\n const end = e.target.selectionEnd;\r\n const newValue = value.slice(0, start) + filteredData + value.slice(end);\r\n const truncatedValue = newValue.slice(0, maxLength);\r\n field.onChange(truncatedValue);\r\n e.target.setSelectionRange(start + truncatedValue.length, start + truncatedValue.length);\r\n }\r\n };\r\n\r\n const handleChange = (e) => {\r\n let value = e.target.value;\r\n\r\n if (props.noSpaceAllowed) {\r\n value = value.replace(/\\s+/g, '');\r\n }\r\n\r\n if (isNumericOnly) {\r\n const allowedPattern = /[0-9]+/g;\r\n const filteredValue = value.match(allowedPattern)?.join('') || '';\r\n const truncatedValue = filteredValue.slice(0, maxLength);\r\n field.onChange(truncatedValue);\r\n } else {\r\n const truncatedValue = value.slice(0, maxLength);\r\n field.onChange(truncatedValue);\r\n }\r\n };\r\n\r\n return (\r\n <div className={className}>\r\n {props.title ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n {props.title}\r\n </TextLabel>\r\n ) : null}\r\n <Box className=\"grid relative mt-0\">\r\n <TextField\r\n id=\"username-input\"\r\n variant=\"outlined\"\r\n error={!!formState.errors?.[name]}\r\n helperText={formState.errors?.[name]?.message}\r\n FormHelperTextProps={{\r\n style: {\r\n fontSize: \"16px\",\r\n marginLeft: 0,\r\n },\r\n }}\r\n size=\"small\"\r\n autoComplete=\"off\"\r\n sx={{\r\n \"& .MuiOutlinedInput-root\": {\r\n paddingLeft: 0,\r\n paddingRight: 0,\r\n },\r\n }}\r\n onKeyDown={props.noSpaceAllowed || isNumericOnly ? handleKeyDown : undefined}\r\n onPaste={props.noSpaceAllowed || isNumericOnly ? handlePaste : undefined}\r\n onChange={handleChange}\r\n inputProps={{\r\n maxLength: maxLength,\r\n }}\r\n disabled={isDisabled}\r\n InputProps={{\r\n style: {\r\n borderRadius: \"10px\",\r\n backgroundColor: isDisabled ? \"#EDEDED\" : \"#FFFFFF\",\r\n },\r\n startAdornment: props.position === \"start\" && (\r\n <InputAdornment\r\n position=\"start\"\r\n sx={{\r\n padding: \"20px 14px\",\r\n borderRadius: \"10px 0 0 10px\",\r\n backgroundColor: formState.errors?.[name]\r\n ? \"#E84040\"\r\n : isBgColor == \"blue\"\r\n ? \"#084F8C\"\r\n : isBgColor == \"default\"\r\n ? \"#E0E0E0\"\r\n : isBgColor == \"red\"\r\n ? \"#E84040\"\r\n : \"none\",\r\n }}\r\n >\r\n <span\r\n className={`${\r\n isBgColor !=\"default\" || formState.errors?.[name]\r\n ? \"text-white\"\r\n : \"text-black\"\r\n }`}\r\n >\r\n {prefixPostFix}\r\n </span>\r\n </InputAdornment>\r\n ),\r\n endAdornment: props.position === \"end\" && (\r\n <>\r\n {!!formState.errors?.[name] && (\r\n <InputAdornment position=\"end\" sx={{ paddingTop: \"5px\" }}>\r\n <span>\r\n <IconInfo color=\"#E84040\" isSmall />\r\n </span>\r\n </InputAdornment>\r\n )}\r\n <InputAdornment\r\n position=\"end\"\r\n sx={{\r\n padding: AdditionalButtonComponent ? 0 : \"20px 14px\",\r\n borderRadius: \"0 10px 10px 0\",\r\n backgroundColor: formState.errors?.[name]\r\n ? \"#E84040\"\r\n : isBgColor == \"blue\"\r\n ? \"#084F8C\"\r\n : isBgColor == \"default\"\r\n ? \"#E0E0E0\"\r\n : isBgColor == \"red\"\r\n ? \"#E84040\"\r\n : \"none\",\r\n }}\r\n >\r\n <span\r\n className={`${\r\n isBgColor !=\"default\" || formState.errors?.[name]\r\n ? \"text-white\"\r\n : \"text-black\"\r\n }`}\r\n >\r\n {prefixPostFix}\r\n </span>\r\n {AdditionalButtonComponent}\r\n </InputAdornment>\r\n </>\r\n ),\r\n }}\r\n {...props}\r\n {...field}\r\n />\r\n </Box>\r\n </div>\r\n );\r\n};\r\n","import { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { InputAdornment, TextField } from \"@mui/material\";\r\nimport SearchIcon from \"@mui/icons-material/Search\";\r\n\r\nexport function TextFieldSearch({\r\n placeholder = \"Search\",\r\n className,\r\n InputProps,\r\n inputRef, // to catch the input ref from parent component,\r\n isDisabled,\r\n maxLength,\r\n ...props\r\n}) {\r\n return (\r\n <>\r\n {props.title ? <TextLabel>{props.title}</TextLabel> : null}\r\n <TextField\r\n size=\"small\"\r\n variant=\"outlined\"\r\n placeholder={placeholder}\r\n inputRef={inputRef}\r\n disabled={isDisabled}\r\n className={className}\r\n InputProps={{\r\n style: {\r\n borderRadius: \"10px\",\r\n backgroundColor: isDisabled ? \"#EDEDED\" : \"#FFFFFF\",\r\n },\r\n startAdornment: props?.iconPosition === \"start\" && (\r\n <InputAdornment position=\"start\">\r\n <SearchIcon />\r\n </InputAdornment>\r\n ),\r\n endAdornment: props?.iconPosition === \"end\" && (\r\n <InputAdornment position=\"end\">\r\n <SearchIcon />\r\n </InputAdornment>\r\n ),\r\n ...InputProps,\r\n }}\r\n inputProps={{\r\n maxLength,\r\n ...props.inputProps\r\n }}\r\n {...props}\r\n />\r\n </>\r\n );\r\n}\r\n","import { TextFieldDefault } from \"@/components/legacy/molecules/text_fields/default\";\r\nimport { ButtonDefault } from \"@/components/legacy/atoms/buttons/default\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport const TextFieldWithButton = ({\r\n name = \"\",\r\n control = null,\r\n defaultValue,\r\n className,\r\n titleClassName,\r\n maxLength,\r\n showLength,\r\n isNumericOnly,\r\n isAlphaNumericOnly,\r\n isAlphaOnly,\r\n allowedSpecialCharacters = \"\",\r\n dontAllowedSpecialCharacters = \"\",\r\n isAlphaNumericWithUnderscore,\r\n isDisabled,\r\n isCantPaste,\r\n buttonText = \"Submit\",\r\n buttonModel = \"fill\",\r\n buttonColor = \"#ED6E12\",\r\n onButtonClick,\r\n gap = \"10px\",\r\n buttonClassName,\r\n buttonIcon,\r\n ...props\r\n}) => {\r\n return (\r\n <div className={twMerge(\"flex items-start\", className)} style={{ gap }}>\r\n <div className=\"flex-1\">\r\n <TextFieldDefault\r\n name={name}\r\n control={control}\r\n defaultValue={defaultValue}\r\n className=\"w-full\"\r\n titleClassName={titleClassName}\r\n maxLength={maxLength}\r\n showLength={showLength}\r\n isNumericOnly={isNumericOnly}\r\n isAlphaNumericOnly={isAlphaNumericOnly}\r\n isAlphaOnly={isAlphaOnly}\r\n allowedSpecialCharacters={allowedSpecialCharacters}\r\n dontAllowedSpecialCharacters={dontAllowedSpecialCharacters}\r\n isAlphaNumericWithUnderscore={isAlphaNumericWithUnderscore}\r\n isDisabled={isDisabled}\r\n isCantPaste={isCantPaste}\r\n {...props}\r\n />\r\n </div>\r\n\r\n <ButtonDefault\r\n onClick={onButtonClick}\r\n model={buttonModel}\r\n color={buttonColor}\r\n disabled={props.buttonDisabled}\r\n className={twMerge(\"ml-2 h-10\", buttonClassName)}\r\n sx={{ minWidth: \"10%\", width: \"auto\", marginTop: \"40px\", paddingX: \"24px\" }}\r\n >\r\n {buttonIcon && <span className=\"flex items-center mr-2\">{buttonIcon}</span>}\r\n {buttonText}\r\n </ButtonDefault>\r\n </div>\r\n );\r\n};\r\n","'use client';\r\n\r\nimport dynamic from \"next/dynamic\";\r\n\r\n// import plugin/skin hanya di client\r\nconst Editor = dynamic(async () => {\r\n const mod = await import(\"@tinymce/tinymce-react\");\r\n\r\n if (typeof window !== \"undefined\") {\r\n await import(\"tinymce/tinymce\");\r\n await import(\"tinymce/models/dom/model\");\r\n await import(\"tinymce/themes/silver\");\r\n await import(\"tinymce/icons/default\");\r\n await import(\"tinymce/skins/ui/oxide/skin\");\r\n\r\n // plugins\r\n await import(\"tinymce/plugins/advlist\");\r\n await import(\"tinymce/plugins/anchor\");\r\n await import(\"tinymce/plugins/autolink\");\r\n await import(\"tinymce/plugins/emoticons\");\r\n await import(\"tinymce/plugins/help\");\r\n await import(\"tinymce/plugins/image\");\r\n await import(\"tinymce/plugins/insertdatetime\");\r\n await import(\"tinymce/plugins/link\");\r\n await import(\"tinymce/plugins/lists\");\r\n await import(\"tinymce/plugins/media\");\r\n await import(\"tinymce/plugins/table\");\r\n await import(\"tinymce/plugins/wordcount\");\r\n\r\n // content styles — skip JS wrappers, use CSS imports instead\r\n // (JS wrappers call tinymce.Resource.add() at top-level which\r\n // can fail in Vite when chunks are pre-loaded before core)\r\n try {\r\n await import(\"tinymce/skins/content/default/content.min.css\");\r\n await import(\"tinymce/skins/ui/oxide/content.min.css\");\r\n } catch {\r\n // CSS imports may not be supported — TinyMCE will use content_style\r\n }\r\n }\r\n\r\n return mod.Editor;\r\n}, { ssr: false });\r\n\r\nexport { Editor };\r\n","\"use client\";\r\n\r\nimport { Editor } from \"./imports\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nconst TextEditor = ({\r\n name= \"\",\r\n onInit,\r\n initialValue,\r\n handleImageUpload,\r\n className,\r\n titleClassName,\r\n onDrop,\r\n isDisabled,\r\n formState,\r\n ...props\r\n}) => {\r\n const { init, ...rest } = props;\r\n\r\n return (\r\n <div className={className}>\r\n {props.title ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n {props.title} {!!formState.errors?.[name] && (\r\n <small className=\"text-red-500\">*{formState.errors?.[name]?.message}</small>\r\n )}\r\n </TextLabel>\r\n ) : null}\r\n <Editor\r\n onInit={onInit}\r\n id={props.id ?? \"webapp-text-editor\"}\r\n initialValue={initialValue}\r\n onDrop={onDrop}\r\n disabled={isDisabled}\r\n clasName=\"col-span-2\"\r\n init={{\n selector: `#${props.id ?? \"webapp-text-editor\"}`,\n placeholder: init?.placeholder ?? \"\",\n license_key: \"gpl\",\n menubar: false,\n branding: false,\n promotion: false,\n elementpath: false,\r\n plugins: [\r\n \"lists\",\r\n \"advlist\",\r\n \"anchor\",\r\n \"autolink\",\r\n \"help\",\r\n \"image\",\r\n \"link\",\r\n \"searchreplace\",\r\n \"table\",\r\n \"wordcount\",\r\n \"emoticons\",\r\n ],\r\n toolbar:\r\n \"image | cut copy paste | \" +\r\n \"bold italic underline strikethrough alignleft aligncenter \" +\r\n \"alignright alignjustify blocks fontsize | numlist bullist table emoticons | \" +\r\n \"help\",\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: \"body { font-family:Inter }\",\r\n file_picker_callback: handleImageUpload,\r\n ...init,\r\n }}\r\n scriptLoading={{ async: true }}\r\n {...rest}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default TextEditor;\n","import { ResponsiveDateTimePicker } from \"@/components/legacy/molecules/date_picker/date-time\";\r\nimport { ResponsiveDatePicker } from \"@/components/legacy/molecules/date_picker/date\";\r\nimport { DayPicker } from \"@/components/legacy/molecules/date_picker/day-picker\";\r\nimport { MonthPicker } from \"@/components/legacy/molecules/date_picker/month-picker\";\r\nimport { TimePicker } from \"@/components/legacy/molecules/date_picker/time-picker\";\r\nimport { YearPicker } from \"@/components/legacy/molecules/date_picker/year-picker\";\r\nimport { RadioDefault} from \"@/components/legacy/molecules/radio/default\";\r\nimport { RadioHorizontal } from \"@/components/legacy/molecules/radio/horizontal\";\r\nimport { RadioVertical } from \"@/components/legacy/molecules/radio/vertical\";\r\nimport { SelectAsyncSearch } from \"@/components/legacy/molecules/selects/async-search\";\r\nimport { SelectDefault } from \"@/components/legacy/molecules/selects/default\";\r\nimport { TextFieldDefault } from \"@/components/legacy/molecules/text_fields/default\";\r\nimport { TextFieldDefaultCurrency } from \"@/components/legacy/molecules/text_fields/default-currency\";\r\nimport { TextFieldFilledIcon } from \"@/components/legacy/molecules/text_fields/filled-icon\";\r\nimport { TextFieldPassword } from \"@/components/legacy/molecules/text_fields/password\";\r\nimport { TextFieldPrefixPostfix } from \"@/components/legacy/molecules/text_fields/prefix-postfix\";\r\nimport { TextFieldPrefixPostfixCurrency } from \"@/components/legacy/molecules/text_fields/prefix-postfix-currency\";\r\nimport { TextFieldPrefixPostfixUpload } from \"@/components/legacy/molecules/text_fields/prefix-postfix-upload\";\r\nimport { TextFieldMultiline } from \"@/components/legacy/molecules/text_fields/multiline\";\r\nimport { TextFieldWithButton } from \"@/components/legacy/molecules/text_fields/with-button\";\r\nimport React from \"react\";\r\nimport { DateRangePicker } from \"@/components/legacy/molecules/date_picker/date-range\";\r\nimport { ResponsiveDatePickerWithClear } from \"@/components/legacy/molecules/date_picker/date-with-clear\";\r\n\r\nimport {TextEditor} from \"@/components/legacy/organisms/wysiwyg\";\r\nimport {SelectWithSearch} from \"@/components/legacy/molecules/selects/normal-search\";\r\n\r\nexport const FORM_TYPE = {\r\n TEXT_FIELD: \"text-field\",\r\n TEXT_FIELD_CURRENCY: \"text-field-currency\",\r\n TEXT_FIELD_PASSWORD: \"text-field-password\",\r\n TEXT_FIELD_NUMBER: \"text-field-number\",\r\n TEXT_FIELD_STATEFUL_ICON: \"text-field-filled-icon\",\r\n TEXT_FIELD_PREFIX_POSTFIX: \"text-field-prefix-postfix\",\r\n TEXT_FIELD_PREFIX_POSTFIX_CURRENCY: \"text-field-prefix-postfix-currency\",\r\n TEXT_FIELD_PREFIX_POSTFIX_UPLOAD: \"text-field-prefix-postfix-upload\",\r\n TEXT_FIELD_MULTILINE: \"text-field-multiline\",\r\n TEXT_FIELD_WITH_BUTTON: \"text-field-with-button\",\r\n DATETIME_PICKER: \"date-time-picker\",\r\n DATE_PICKER: \"date-picker\",\r\n YEAR_PICKER: \"year-picker\",\r\n MONTH_PICKER: \"month-picker\",\r\n DAY_PICKER: \"day-picker\",\r\n TIME_PICKER: \"time-picker\",\r\n DATE_RANGE_PICKER: \"date-range-picker\",\r\n DATE_WITH_CLEAR: \"date-with-clear\",\r\n SELECT: \"select\",\r\n SELECT_SEARCH_NORMAL: \"select-search-normal\",\r\n SELECT_SEARCH_ASYNC: \"select-search-async\",\r\n RADIO: \"radio\",\r\n RADIO_HORIZONTAL: \"radio-horizontal\",\r\n RADIO_VERTICAL: \"radio-vertical\",\r\n TEXT_EDITOR: \"text-editor\",\r\n CUSTOM: \"custom\",\r\n};\r\n\r\nconst FormContent = ({ type, ...restProps }) => {\r\n switch (type) {\r\n case FORM_TYPE.TEXT_FIELD:\r\n return <TextFieldDefault {...restProps} />;\r\n case FORM_TYPE.TEXT_FIELD_CURRENCY:\r\n return <TextFieldDefaultCurrency {...restProps} />;\r\n case FORM_TYPE.TEXT_FIELD_PASSWORD:\r\n return <TextFieldPassword {...restProps} />;\r\n case FORM_TYPE.TEXT_FIELD_NUMBER:\r\n return <TextFieldDefault {...restProps} inputMode=\"numeric\" />;\r\n case FORM_TYPE.TEXT_FIELD_STATEFUL_ICON:\r\n return <TextFieldFilledIcon {...restProps} />;\r\n case FORM_TYPE.TEXT_FIELD_PREFIX_POSTFIX:\r\n return <TextFieldPrefixPostfix {...restProps} />;\r\n case FORM_TYPE.TEXT_FIELD_PREFIX_POSTFIX_CURRENCY:\r\n return <TextFieldPrefixPostfixCurrency {...restProps} />;\r\n case FORM_TYPE.TEXT_FIELD_PREFIX_POSTFIX_UPLOAD:\r\n return <TextFieldPrefixPostfixUpload {...restProps} />;\r\n case FORM_TYPE.TEXT_FIELD_MULTILINE:\r\n return <TextFieldMultiline {...restProps} />;\r\n case FORM_TYPE.TEXT_FIELD_WITH_BUTTON:\r\n return <TextFieldWithButton {...restProps} />;\r\n case FORM_TYPE.DATETIME_PICKER:\r\n return <ResponsiveDateTimePicker {...restProps} />;\r\n case FORM_TYPE.DATE_PICKER:\r\n return <ResponsiveDatePicker {...restProps} />;\r\n case FORM_TYPE.YEAR_PICKER:\r\n return <YearPicker {...restProps} />;\r\n case FORM_TYPE.MONTH_PICKER:\r\n return <MonthPicker {...restProps} />;\r\n case FORM_TYPE.DAY_PICKER:\r\n return <DayPicker {...restProps} />;\r\n case FORM_TYPE.TIME_PICKER:\r\n return <TimePicker {...restProps} />;\r\n case FORM_TYPE.DATE_RANGE_PICKER:\r\n return <DateRangePicker {...restProps} />;\r\n case FORM_TYPE.DATE_WITH_CLEAR:\r\n return <ResponsiveDatePickerWithClear {...restProps} />;\r\n case FORM_TYPE.SELECT:\r\n return <SelectDefault {...restProps} />;\r\n case FORM_TYPE.SELECT_SEARCH_NORMAL:\r\n return <SelectWithSearch {...restProps} />;\r\n case FORM_TYPE.SELECT_SEARCH_ASYNC:\r\n return <SelectAsyncSearch {...restProps} />;\r\n case FORM_TYPE.RADIO:\r\n return <RadioDefault {...restProps} />;\r\n case FORM_TYPE.RADIO_HORIZONTAL:\r\n return <RadioHorizontal {...restProps} />;\r\n case FORM_TYPE.RADIO_VERTICAL:\r\n return <RadioVertical {...restProps} />;\r\n case FORM_TYPE.TEXT_EDITOR:\r\n return <TextEditor {...restProps} />;\r\n case FORM_TYPE.CUSTOM:\r\n return restProps.component;\r\n default:\r\n return null;\r\n }\r\n};\r\n\r\nconst Form = ({ children, className, methods, onSubmit }) => {\r\n return (\r\n <form className={className} onSubmit={methods?.handleSubmit(onSubmit)}>\r\n {React.Children.map(children, (child) => {\r\n return child.props.name\r\n ? React.createElement(child.type, {\r\n ...{\r\n ...child.props,\r\n control: methods?.control,\r\n key: child.props.name,\r\n },\r\n })\r\n : child;\r\n })}\r\n </form>\r\n );\r\n};\r\n\r\nconst SubForm = ({ children, className, methods }) => {\r\n return (\r\n <div className={className}>\r\n {React.Children.map(children, (child) => {\r\n return child.props.name\r\n ? React.createElement(child.type, {\r\n ...{\r\n ...child.props,\r\n control: methods?.control,\r\n key: child.props.name,\r\n },\r\n })\r\n : child;\r\n })}\r\n </div>\r\n );\r\n};\r\n\r\nexport const FormBuilder = ({\r\n className,\r\n fields = [],\r\n methods,\r\n onSubmit,\r\n ...restProps\r\n}) => {\r\n return (\r\n <Form\r\n className={className}\r\n methods={methods}\r\n onSubmit={onSubmit}\r\n {...restProps}\r\n >\r\n {fields.map((item, index) => (\r\n <FormContent key={`form-item-${index}`} {...item} />\r\n ))}\r\n </Form>\r\n );\r\n};\r\n\r\nexport const SubFormBuilder = ({ className, fields = [], methods }) => {\r\n return (\r\n <SubForm className={className} methods={methods}>\r\n {fields.map((item, index) => (\r\n <FormContent key={`subform-item-${index}`} {...item} />\r\n ))}\r\n </SubForm>\r\n );\r\n};\r\n","import { useState } from \"react\";\r\nimport Tooltip from \"@mui/material/Tooltip\";\r\nimport {\r\n Button,\r\n Fade,\r\n Grid,\r\n Stack,\r\n styled,\r\n tooltipClasses,\r\n} from \"@mui/material\";\r\nimport Link from \"@mui/material/Link\";\r\nimport { ButtonIcon } from \"@/components/legacy/atoms/buttons/icon\";\r\nimport KeyboardArrowLeftRaw from \"@mui/icons-material/KeyboardArrowLeft\";\r\nimport KeyboardArrowRightRaw from \"@mui/icons-material/KeyboardArrowRight\";\r\n\r\nconst KeyboardArrowLeft = KeyboardArrowLeftRaw?.default ?? KeyboardArrowLeftRaw;\r\nconst KeyboardArrowRight = KeyboardArrowRightRaw?.default ?? KeyboardArrowRightRaw;\r\n\r\nconst CustomWidthTooltip = styled(({ className, ...props }) => (\r\n <Tooltip {...props} classes={{ popper: className }} />\r\n))({\r\n [`& .${tooltipClasses.tooltip}`]: {\r\n minWidth: 400,\r\n backgroundColor: \"white\",\r\n color: \"black\",\r\n },\r\n [`& .${tooltipClasses.arrow}`]: {\r\n color: \"white\",\r\n },\r\n});\r\n\r\nexport default function TooltipSteps({\r\n steps,\r\n anchorPosition,\r\n currentStep,\r\n setCurrentStep,\r\n}) {\r\n const [openTooltip, setOpenTooltip] = useState(true);\r\n // const [anchorElPosition, setAnchorElPosition] = useState({ top: 0, left: 0 });\r\n\r\n // if want to manually set the position of the tooltip\r\n // const handleAnchorEl = () => {\r\n // // switch case based on active index for tooltip position\r\n // console.log(anchorPosition, currentStep, steps.length);\r\n // switch (currentStep) {\r\n // case 0:\r\n // return { top: 400, left: 800 };\r\n // case 1:\r\n // return { top: 1200, left: 4000 };\r\n // case 2:\r\n // return { top: 8000, left: 1200 };\r\n // case 3:\r\n // return { top: 500, left: 9000 };\r\n // case 4:\r\n // return { top: 5000, left: 3000 };\r\n // default:\r\n // return { top: 100, left: 100 };\r\n // }\r\n // };\r\n\r\n // useEffect(() => {\r\n // setAnchorElPosition(handleAnchorEl());\r\n // }, [currentStep]);\r\n\r\n const handleNext = () => {\r\n if (currentStep < steps.length - 1) {\r\n setCurrentStep(currentStep + 1);\r\n }\r\n };\r\n\r\n const handlePrevious = () => {\r\n if (currentStep > 0) {\r\n setCurrentStep(currentStep - 1);\r\n }\r\n };\r\n\r\n const handleTooltipClose = () => {\r\n setOpenTooltip(false);\r\n };\r\n\r\n const TooltipValue = () => {\r\n return (\r\n <Stack sx={{ p: 2 }} direction=\"column\" gap={2}>\r\n <div className=\"flex flex-col gap-1 text-sm\">\r\n <p className=\"font-bold\">{steps[currentStep]?.title}</p>\r\n <p className=\"font-normal\">{steps[currentStep]?.description}</p>\r\n </div>\r\n <Grid\r\n container\r\n direction=\"row\"\r\n justifyContent=\"space-between\"\r\n alignItems=\"flex-end\"\r\n >\r\n <Grid item direction=\"row\" fontSize=\"14px\">\r\n <Link\r\n underline=\"always\"\r\n sx={{\r\n cursor: \"pointer\",\r\n fontWeight: \"bold\",\r\n mr: \"10px\",\r\n }}\r\n onClick={handleTooltipClose}\r\n >\r\n Lewati\r\n </Link>\r\n {currentStep + 1} dari {steps.length}\r\n </Grid>\r\n <Grid item>\r\n <Link\r\n underline=\"hover\"\r\n sx={{\r\n cursor: \"pointer\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n mr: \"10px\",\r\n }}\r\n onClick={handleTooltipClose}\r\n >\r\n Tutup\r\n </Link>\r\n <ButtonIcon onClick={handlePrevious} sx={{ mr: \"10px\" }}>\r\n <KeyboardArrowLeft />\r\n </ButtonIcon>\r\n <ButtonIcon onClick={handleNext} variant=\"contained\">\r\n <KeyboardArrowRight />\r\n </ButtonIcon>\r\n </Grid>\r\n </Grid>\r\n </Stack>\r\n );\r\n };\r\n\r\n return (\r\n <div>\r\n <CustomWidthTooltip\r\n arrow\r\n disableHoverListener\r\n disableFocusListener\r\n disableTouchListener\r\n open={openTooltip}\r\n placement={steps[currentStep]?.placement || \"top\"}\r\n onClose={handleTooltipClose}\r\n title={<TooltipValue />}\r\n TransitionComponent={Fade}\r\n TransitionProps={{ timeout: 300 }}\r\n PopperProps={{\r\n anchorEl: {\r\n getBoundingClientRect: () => ({\r\n top: anchorPosition.top,\r\n left: anchorPosition.left,\r\n width: anchorPosition.width,\r\n }),\r\n },\r\n }}\r\n >\r\n <Button\r\n variant=\"outlined\"\r\n color=\"primary\"\r\n onClick={() => setOpenTooltip(true)}\r\n >\r\n Open Tooltip\r\n </Button>\r\n </CustomWidthTooltip>\r\n </div>\r\n );\r\n}\r\n","import React from 'react'\r\nimport { Dialog, DialogContent, DialogTitle, IconButton } from '@mui/material'\r\n// import DescriptionIcon from '@mui/icons-material/Description';\r\nimport { ButtonDefault } from '@/components/legacy/atoms/buttons/default';\r\nimport { FORM_TYPE, FormBuilder } from '@/components/legacy/organisms/forms/builder';\r\nimport { object, string } from 'yup';\r\nimport { useForm } from 'react-hook-form';\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\nimport Image from 'next/image';\r\nimport { callAsset } from '@/utils/asset';\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\n\r\n\r\nconst ModalConfirmDeleteWithForm = ({ \r\n open, \r\n setOpen, \r\n titleModal, \r\n description, \r\n name, \r\n title, \r\n placeholder, \r\n cancelText, \r\n confirmText, \r\n onSubmit, \r\n typeInput,\r\n options,\r\n width\r\n }) => { \r\n\r\n const defaultValues = {\r\n [name]: \"\",\r\n }\r\n\r\n const validationSchema = object({\r\n [name]: string()\r\n .transform((value, originalValue) => {\r\n if (originalValue && typeof originalValue === 'object' && 'value' in originalValue) {\r\n return originalValue.value;\r\n }\r\n return originalValue; \r\n })\r\n .required(\"Kolom Wajib Diisi\"),\r\n })\r\n\r\n const methods = useForm({\r\n mode: \"all\",\r\n defaultValues,\r\n resolver: yupResolver(validationSchema),\r\n });\r\n const { setValue } = methods;\r\n\r\n const handleSubmit = (values) => {\r\n const selected = values[name];\r\n const finalValue = typeof selected === \"object\" && selected?.value\r\n ? selected.value\r\n : selected;\r\n\r\n onSubmit(finalValue); \r\n handleCloseDialog();\r\n };\r\n\r\n const handleCloseDialog = () => {\r\n setOpen(!open);\r\n setValue(name, null)\r\n };\r\n\r\n return (\r\n <Dialog \r\n open={open} \r\n onClose={handleCloseDialog} \r\n aria-labelledby=\"alert-dialog-title\"\r\n aria-describedby=\"alert-dialog-description\"\r\n sx={{\r\n \"& .MuiDialog-container\": {\r\n \"& .MuiPaper-root\": {\r\n width: \"100%\",\r\n maxWidth: width || \"350px\", // <= fallback ke default \r\n },\r\n \"& .MuiDialog-paper\": {\r\n borderRadius: \"10px\",\r\n },\r\n },\r\n }}\r\n >\r\n <DialogTitle id=\"alert-dialog-title\">\r\n <IconButton\r\n aria-label=\"close\"\r\n onClick={handleCloseDialog}\r\n sx={{\r\n position: \"absolute\",\r\n right: 8,\r\n top: 8,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </DialogTitle>\r\n <DialogContent>\r\n <div className=\"flex justify-center py-2\">\r\n <Image\r\n src={callAsset(\"/images/thumb-dialog-warning.svg\")}\r\n width={160}\r\n height={140}\r\n alt=\"modal-warning\"\r\n priority\r\n />\r\n </div>\r\n <div className=\"text-lg font-extrabold justify-self-center py-2\">\r\n <p className=\"text-center\">\r\n {titleModal}\r\n </p>\r\n </div>\r\n <div className=\"text-center py-2\">\r\n {description}\r\n </div>\r\n <FormBuilder\r\n className=\"flex flex-col gap-2\"\r\n size=\"small\"\r\n fields={[\r\n typeInput == \"textField\" && {\r\n type: FORM_TYPE.TEXT_FIELD,\r\n name: name,\r\n title: title,\r\n placeholder: placeholder,\r\n multiline: true,\r\n rows: 3\r\n },\r\n typeInput == \"selectOptions\" && {\r\n type: FORM_TYPE.SELECT,\r\n name: name,\r\n title: title,\r\n placeholder: placeholder,\r\n options: options,\r\n },\r\n {\r\n type: FORM_TYPE.CUSTOM,\r\n component: (\r\n <div className='flex display-flex justify-center gap-5 mt-4 mb-1'>\r\n <ButtonDefault\r\n model=\"outline\"\r\n color=\"#084F8C\"\r\n onClick={handleCloseDialog}\r\n >{cancelText}</ButtonDefault>\r\n <ButtonDefault\r\n model=\"fill\"\r\n color=\"#084F8C\"\r\n type=\"submit\"\r\n >{confirmText}</ButtonDefault>\r\n </div>\r\n ),\r\n },\r\n ]}\r\n methods={methods}\r\n onSubmit={handleSubmit}\r\n />\r\n </DialogContent>\r\n </Dialog>\r\n );\r\n};\r\n\r\nexport default ModalConfirmDeleteWithForm;","import React from 'react'\r\nimport { Dialog, DialogContent, DialogTitle, IconButton } from '@mui/material'\r\n// import DescriptionIcon from '@mui/icons-material/Description';\r\nimport { ButtonDefault } from '@/components/legacy/atoms/buttons/default';\r\nimport { FORM_TYPE, FormBuilder } from '@/components/legacy/organisms/forms/builder';\r\nimport { object, string } from 'yup';\r\nimport { useForm } from 'react-hook-form';\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\nimport Image from 'next/image';\r\nimport { callAsset } from '@/utils/asset';\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\n\r\n\r\nconst ModalConfirmDeleteWithTextArea = ({ open, setOpen, titleModal, description, name, title, placeholder, cancelText, confirmText, onSubmit, typeInput, minLength, customValidationSchema, ...props }) => {\r\n\r\n const defaultValues = {\r\n [name]: \"\",\r\n }\r\n\r\n // Build validation schema with optional minLength\r\n let fieldValidation = string().required(\"Kolom Wajib Diisi\");\r\n\r\n if (minLength && typeof minLength === 'number') {\r\n fieldValidation = fieldValidation.test(\r\n 'minLengthWithoutSpaces',\r\n `Minimal pengisian ${minLength} karakter`,\r\n (value) => {\r\n if (!value) return false;\r\n // Remove all whitespace and check length\r\n return value.replace(/\\s/g, '').length >= minLength;\r\n }\r\n );\r\n }\r\n\r\n // Use custom validation schema if provided, otherwise use default\r\n const validationSchema = customValidationSchema || object({\r\n [name]: fieldValidation,\r\n })\r\n\r\n const methods = useForm({\r\n mode: \"all\",\r\n defaultValues,\r\n resolver: yupResolver(validationSchema),\r\n });\r\n const { setValue, clearErrors } = methods;\r\n\r\n const handleSubmit = (values) => {\r\n onSubmit(values[name]);\r\n handleCloseDialog();\r\n };\r\n\r\n const handleCloseDialog = () => {\r\n setOpen(!open);\r\n clearErrors();\r\n setValue(name, null)\r\n };\r\n\r\n return (\r\n <Dialog \r\n open={open} \r\n onClose={handleCloseDialog} \r\n aria-labelledby=\"alert-dialog-title\"\r\n aria-describedby=\"alert-dialog-description\"\r\n sx={{\r\n \"& .MuiDialog-container\": {\r\n \"& .MuiPaper-root\": {\r\n width: \"100%\",\r\n maxWidth: props.maxWidth ?? \"350px\", // Set your width here\r\n },\r\n \"& .MuiDialog-paper\": {\r\n borderRadius: \"10px\",\r\n },\r\n },\r\n }}\r\n >\r\n <DialogTitle id=\"alert-dialog-title\">\r\n <IconButton\r\n aria-label=\"close\"\r\n onClick={handleCloseDialog}\r\n sx={{\r\n position: \"absolute\",\r\n right: 8,\r\n top: 8,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </DialogTitle>\r\n <DialogContent>\r\n <div className=\"grid\">\r\n <Image\r\n src={callAsset(\"/images/thumb-dialog-warning.svg\")}\r\n width={160}\r\n height={140}\r\n alt=\"modal-warning\"\r\n className=\"justify-self-center py-2\"\r\n priority\r\n />\r\n </div>\r\n <div className=\"text-lg font-extrabold justify-self-center py-2\">\r\n <p className=\"text-center\">\r\n {titleModal}\r\n </p>\r\n </div>\r\n <div className=\"text-center py-2\">\r\n {description}\r\n </div>\r\n <FormBuilder\r\n className=\"flex flex-col gap-2\"\r\n size=\"small\"\r\n fields={[\r\n typeInput == \"textField\" && {\r\n type: FORM_TYPE.TEXT_FIELD,\r\n name: name,\r\n title: title,\r\n placeholder: placeholder,\r\n multiline: true,\r\n rows: 3,\r\n titleClassName: props?.titleClassName\r\n },\r\n typeInput == \"selectOptions\" && {\r\n type: FORM_TYPE.SELECT,\r\n name: name,\r\n title: title,\r\n placeholder: placeholder,\r\n options: [{ label: \"Mulia - CA\", value: \"yes\" }, { label: \"Surya - CA\", value: \"no\" }],\r\n },\r\n {\r\n type: FORM_TYPE.CUSTOM,\r\n component: (\r\n <div className='flex display-flex justify-center gap-5 mt-4 mb-1'>\r\n <ButtonDefault\r\n model=\"outline\"\r\n color=\"#084F8C\"\r\n onClick={handleCloseDialog}\r\n >{cancelText}</ButtonDefault>\r\n <ButtonDefault\r\n model=\"fill\"\r\n color={props.buttonConfirmColor ?? \"#084F8C\"}\r\n type=\"submit\"\r\n >{confirmText}</ButtonDefault>\r\n </div>\r\n ),\r\n },\r\n ]}\r\n methods={methods}\r\n onSubmit={handleSubmit}\r\n />\r\n </DialogContent>\r\n </Dialog>\r\n );\r\n};\r\n\r\nexport default ModalConfirmDeleteWithTextArea;\r\n","import React from 'react'\r\nimport { Dialog, DialogContent, DialogTitle, IconButton } from '@mui/material'\r\n// import DescriptionIcon from '@mui/icons-material/Description';\r\nimport { ButtonDefault } from '@/components/legacy/atoms/buttons/default';\r\nimport { FORM_TYPE, FormBuilder } from '@/components/legacy/organisms/forms/builder';\r\nimport { mixed, object } from 'yup';\r\nimport { useForm } from 'react-hook-form';\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\nimport Image from 'next/image';\r\nimport { callAsset } from '@/utils/asset';\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\n\r\n\r\nconst ModalConfirmPipelineToPrakarsa = ({ open, setOpen, titleModal, description, name, title, placeholder, cancelText, confirmText, onSubmit, typeInput, options, errorMessage }) => { \r\n\r\n const defaultValues = {\r\n [name]: \"\",\r\n }\r\n\r\n const validationSchema = object({\r\n [name]: mixed().test('is-valid', errorMessage ?? 'Kolom Wajib diisi', function (value) {\r\n return value !== null && (typeof value === 'object' || (typeof value === 'string' && value.trim().length > 0));\r\n })\r\n .nullable(false),\r\n })\r\n\r\n const methods = useForm({\r\n mode: \"all\",\r\n defaultValues,\r\n resolver: yupResolver(validationSchema),\r\n });\r\n const { setValue } = methods;\r\n\r\n const handleSubmit = (values) => {\r\n onSubmit(values[name]);\r\n handleCloseDialog();\r\n };\r\n\r\n const handleCloseDialog = () => {\r\n setOpen(!open);\r\n setValue(name, null)\r\n };\r\n\r\n return (\r\n <Dialog \r\n open={open} \r\n onClose={handleCloseDialog} \r\n scroll='body'\r\n aria-labelledby=\"alert-dialog-title\"\r\n aria-describedby=\"alert-dialog-description\"\r\n sx={{\r\n \"& .MuiDialog-container\": {\r\n \"& .MuiPaper-root\": {\r\n width: \"100%\",\r\n maxWidth: \"500px\", // Set your width here\r\n },\r\n \"& .MuiDialog-paper\": {\r\n borderRadius: \"10px\",\r\n },\r\n },\r\n }}\r\n >\r\n <DialogTitle id=\"alert-dialog-title\">\r\n <IconButton\r\n aria-label=\"close\"\r\n onClick={handleCloseDialog}\r\n sx={{\r\n position: \"absolute\",\r\n right: 8,\r\n top: 8,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </DialogTitle>\r\n <DialogContent>\r\n <div className=\"justify-self-center py-2 px-10 mx-8\">\r\n <Image\r\n src={callAsset(\"/images/thumb-dialog-warning.svg\")}\r\n width={160}\r\n height={140}\r\n alt=\"modal-warning\"\r\n className=\"justify-self-center py-2\"\r\n priority\r\n />\r\n </div>\r\n <div className=\"text-lg font-extrabold justify-self-center py-2\">\r\n <p className=\"text-center\">\r\n {titleModal}\r\n </p>\r\n </div>\r\n <div className=\"text-center py-2\">\r\n {description}\r\n </div>\r\n <FormBuilder\r\n className=\"flex flex-col gap-2 z-40\"\r\n size=\"small\"\r\n fields={[\r\n typeInput == \"textField\" && {\r\n type: FORM_TYPE.TEXT_FIELD,\r\n name: name,\r\n title: title,\r\n placeholder: placeholder,\r\n multiline: true,\r\n rows: 3\r\n },\r\n typeInput == \"selectOptions\" && {\r\n type: FORM_TYPE.SELECT,\r\n name: name,\r\n title: title,\r\n placeholder: placeholder,\r\n options: options,\r\n },\r\n {\r\n type: FORM_TYPE.CUSTOM,\r\n component: (\r\n <div className='flex display-flex justify-center gap-5 mt-4 mb-1'>\r\n <ButtonDefault\r\n model=\"outline\"\r\n color=\"#084F8C\"\r\n onClick={handleCloseDialog}\r\n >{cancelText}</ButtonDefault>\r\n <ButtonDefault\r\n model=\"fill\"\r\n color=\"#084F8C\"\r\n type=\"submit\"\r\n >{confirmText}</ButtonDefault>\r\n </div>\r\n ),\r\n },\r\n ]}\r\n methods={methods}\r\n onSubmit={handleSubmit}\r\n />\r\n </DialogContent>\r\n </Dialog>\r\n );\r\n};\r\n\r\nexport default ModalConfirmPipelineToPrakarsa;\r\n","import { ButtonDefault } from \"@/components/legacy/atoms/buttons/default\";\r\nimport {\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n DialogTitle,\r\n IconButton,\r\n} from \"@mui/material\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport { callAsset } from \"@/utils/asset\";\r\nimport Image from \"next/image\";\r\n\r\nexport const ModalConfirmationPipeline = ({\r\n open,\r\n onClose,\r\n onConfirm,\r\n description,\r\n ...props\r\n}) => {\r\n return (\r\n <Dialog\r\n open={open}\r\n onClose={onClose}\r\n aria-labelledby=\"alert-dialog-title\"\r\n aria-describedby=\"alert-dialog-description\"\r\n sx={{\r\n \"& .MuiDialog-container\": {\r\n \"& .MuiPaper-root\": {\r\n width: \"100%\",\r\n maxWidth: \"350px\", // Set your width here\r\n },\r\n \"& .MuiDialog-paper\": {\r\n borderRadius: \"10px\",\r\n },\r\n },\r\n }}\r\n {...props}\r\n >\r\n <DialogTitle id=\"alert-dialog-title\" onClose={onClose}>\r\n <IconButton\r\n aria-label=\"close\"\r\n onClick={onClose}\r\n sx={{\r\n position: \"absolute\",\r\n right: 8,\r\n top: 8,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </DialogTitle>\r\n <DialogContent\r\n sx={{\r\n display: \"grid\",\r\n justifyContent: \"center\",\r\n rowGap: \"0.5rem\",\r\n }}\r\n >\r\n <Image\r\n src={callAsset(\"/images/thumb-dialog-warning.svg\")}\r\n width={160}\r\n height={140}\r\n alt=\"modal-loading\"\r\n className=\"justify-self-center py-2\"\r\n priority\r\n />\r\n <div className=\"text-lg font-extrabold justify-self-center py-2\">\r\n <p className=\"text-center\">\r\n Apakah Anda yakin ingin melanjutkan ke Prakarsa?\r\n </p>\r\n </div>\r\n <div className=\"text-center py-2\">{description}</div>\r\n </DialogContent>\r\n <DialogActions\r\n sx={{\r\n justifyContent: \"center\",\r\n columnGap: \"0.5rem\",\r\n padding: \"0 1.5rem 1.5rem\",\r\n }}\r\n >\r\n <ButtonDefault model=\"outline\" color=\"#00529C\" onClick={onClose}>\r\n Nanti Saja\r\n </ButtonDefault>\r\n <ButtonDefault model=\"fill\" color=\"#00529C\" onClick={onConfirm} autoFocus>\r\n Lanjut Prakarsa\r\n </ButtonDefault>\r\n </DialogActions>\r\n </Dialog>\r\n );\r\n};","import { ButtonDefault } from \"@/components/legacy/atoms/buttons/default\";\r\nimport {\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n DialogTitle,\r\n IconButton,\r\n} from \"@mui/material\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport { callAsset } from \"@/utils/asset\";\r\nimport Image from \"next/image\";\r\n\r\nexport const ModalConfirmation = ({\r\n open,\r\n onClose,\r\n onConfirm,\r\n title = \"Perhatian!\",\r\n description,\r\n maxWidth = \"350px\",\r\n ...props\r\n}) => {\r\n return (\r\n <Dialog\r\n open={open}\r\n onClose={onClose}\r\n aria-labelledby=\"alert-dialog-title\"\r\n aria-describedby=\"alert-dialog-description\"\r\n sx={{\r\n \"& .MuiDialog-container\": {\r\n \"& .MuiPaper-root\": {\r\n width: \"100%\",\r\n maxWidth: maxWidth,\r\n },\r\n \"& .MuiDialog-paper\": {\r\n borderRadius: \"10px\",\r\n },\r\n },\r\n }}\r\n {...props}\r\n >\r\n <DialogTitle id=\"alert-dialog-title\" onClose={onClose}>\r\n <IconButton\r\n aria-label=\"close\"\r\n onClick={onClose}\r\n sx={{\r\n position: \"absolute\",\r\n right: 8,\r\n top: 8,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </DialogTitle>\r\n <DialogContent\r\n sx={{\r\n display: \"grid\",\r\n justifyContent: \"center\",\r\n rowGap: \"0.5rem\",\r\n }}\r\n >\r\n <Image\r\n src={callAsset(\"/images/thumb-dialog-warning.svg\")}\r\n width={160}\r\n height={140}\r\n alt=\"modal-loading\"\r\n className=\"justify-self-center py-2\"\r\n priority\r\n />\r\n <div className=\"text-lg font-extrabold text-center py-2\">\r\n { title }\r\n </div>\r\n <div className=\"text-center py-2\">{description}</div>\r\n </DialogContent>\r\n <DialogActions\r\n sx={{\r\n justifyContent: \"center\",\r\n columnGap: \"0.5rem\",\r\n padding: \"0 1.5rem 1.5rem\",\r\n }}\r\n >\r\n <ButtonDefault model=\"outline\" color=\"#00529C\" onClick={onClose}>\r\n Tidak\r\n </ButtonDefault>\r\n <ButtonDefault model=\"fill\" color=\"#00529C\" onClick={onConfirm} autoFocus>\r\n Ya\r\n </ButtonDefault>\r\n </DialogActions>\r\n </Dialog>\r\n );\r\n};\r\n","import { ButtonDefault } from \"@/components/legacy/atoms/buttons/default\";\r\nimport {\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n DialogTitle,\r\n IconButton,\r\n} from \"@mui/material\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport { callAsset } from \"@/utils/asset\";\r\nimport Image from \"next/image\";\r\n\r\nexport const ModalConfirmationDinamis = ({\r\n open,\r\n onClose,\r\n onConfirm,\r\n title = \"Perhatian!\",\r\n description,\r\n cancelButtonText = \"Batal\",\r\n confirmButtonText = \"Ya\",\r\n cancelButtonProps = {},\r\n confirmButtonProps = {},\r\n icon,\r\n ...props\r\n}) => {\r\n const resolvedIcon = typeof icon === \"string\" ? icon : \"/images/thumb-dialog-warning.svg\";\r\n return (\r\n <Dialog\r\n open={open}\r\n onClose={onClose}\r\n aria-labelledby=\"alert-dialog-title\"\r\n aria-describedby=\"alert-dialog-description\"\r\n sx={{\r\n \"& .MuiDialog-container\": {\r\n \"& .MuiPaper-root\": {\r\n width: \"100%\",\r\n maxWidth: \"350px\", // Set your width here\r\n },\r\n \"& .MuiDialog-paper\": {\r\n borderRadius: \"10px\",\r\n },\r\n },\r\n }}\r\n {...props}\r\n >\r\n <DialogTitle id=\"alert-dialog-title\" onClose={onClose}>\r\n <IconButton\r\n aria-label=\"close\"\r\n onClick={onClose}\r\n sx={{\r\n position: \"absolute\",\r\n right: 8,\r\n top: 8,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </DialogTitle>\r\n <DialogContent\r\n sx={{\r\n display: \"grid\",\r\n justifyContent: \"center\",\r\n rowGap: \"0.5rem\",\r\n }}\r\n >\r\n <Image\r\n src={callAsset(resolvedIcon)}\r\n width={160}\r\n height={140}\r\n alt=\"modal-loading\"\r\n className=\"justify-self-center py-2\"\r\n priority\r\n />\r\n <div className=\"text-lg font-extrabold text-center py-2\">\r\n { title }\r\n </div>\r\n <div className=\"text-center py-2\">{description}</div>\r\n </DialogContent>\r\n <DialogActions\r\n sx={{\r\n justifyContent: \"center\",\r\n columnGap: \"0.5rem\",\r\n padding: \"0 1.5rem 1.5rem\",\r\n }}\r\n >\r\n <ButtonDefault \r\n model=\"outline\" \r\n color=\"#00529C\" \r\n onClick={onClose} \r\n {...cancelButtonProps}\r\n >\r\n {cancelButtonText}\r\n </ButtonDefault>\r\n <ButtonDefault \r\n model=\"fill\" \r\n color=\"#00529C\" \r\n onClick={onConfirm} \r\n autoFocus \r\n {...confirmButtonProps}\r\n >\r\n {confirmButtonText}\r\n </ButtonDefault>\r\n </DialogActions>\r\n </Dialog>\r\n );\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Dialog, DialogTitle, DialogContent, DialogActions, IconButton } from '@mui/material';\r\nimport { styled, ThemeProvider, createTheme } from '@mui/material/styles';\r\nimport CloseIconRaw from '@mui/icons-material/Close';\r\nimport { ButtonDefault } from '@/components/legacy/atoms/buttons/default';\r\nconst CloseIcon = CloseIconRaw?.default ?? CloseIconRaw;\r\n\r\nconst Themes = {\r\n THEME1: 'theme1',\r\n THEME2: 'theme2',\r\n};\r\n\r\nconst theme1 = createTheme({\r\n palette: {\r\n primary: {\r\n main: '#1976d2',\r\n },\r\n secondary: {\r\n main: '#dc004e',\r\n },\r\n },\r\n \r\n});\r\n\r\nconst theme2 = createTheme({\r\n palette: {\r\n primary: {\r\n main: '#388e3c',\r\n },\r\n secondary: {\r\n main: '#f57c00',\r\n },\r\n },\r\n \r\n});\r\n\r\nconst DialogPaper = styled('div')(({ theme }) => ({\r\n padding: '0px',\r\n borderRadius: '10px',\r\n backgroundColor: theme.palette.background.paper,\r\n fontFamily: theme.typography.fontFamily,\r\n}));\r\n\r\nconst DialogTitleStyled = styled(DialogTitle)(({ theme }) => ({\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n backgroundColor: theme.palette.primary.main,\r\n color: theme.palette.primary.contrastText,\r\n fontWeight: 'bold',\r\n fontFamily: theme.typography.fontFamily,\r\n}));\r\n\r\nconst DialogContentStyled = styled(DialogContent)(({ theme }) => ({\r\n paddingTop: '16px !important',\r\n fontFamily: theme.typography.fontFamily,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n}));\r\n\r\nconst DialogActionsStyled = styled(DialogActions)(({ theme }) => ({\r\n flexDirection: 'row',\r\n fontFamily: theme.typography.fontFamily,\r\n}));\r\n\r\nconst Icon = styled('span')(({ theme }) => ({\r\n marginRight: 8,\r\n color: theme.palette.secondary.main,\r\n fontFamily: theme.typography.fontFamily,\r\n}));\r\n\r\nconst DynamicCustomModal = ({\r\n show,\r\n onHide,\r\n title,\r\n children,\r\n icon,\r\n titleBackground,\r\n className,\r\n theme = Themes.THEME1,\r\n maxWidth = 'md',\r\n buttons = [\r\n {\r\n label: \"Batal\",\r\n model: \"outline\",\r\n color: \"#ED6E12\",\r\n disabled: false,\r\n onClick: () => { console.log(\"Batal\"); },\r\n },\r\n {\r\n label: \"Simpan\",\r\n model: \"fill\",\r\n color: \"#00529C\",\r\n disabled: false,\r\n onClick: () => { console.log(\"Simpan\"); },\r\n },\r\n ],\r\n}) => {\r\n const [open, setOpen] = useState(false);\r\n const appliedTheme = theme === Themes.THEME1 ? theme1 : theme2;\r\n\r\n // ! Deprecated\r\n // const handleAction = () => {\r\n // if (onAction) {\r\n // onAction(true);\r\n // }\r\n // onHide(!open);\r\n // };\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n onHide(true);\r\n };\r\n\r\n useEffect(() => {\r\n setOpen(show);\r\n }, [show]);\r\n\r\n return (\r\n <ThemeProvider theme={appliedTheme}>\r\n <Dialog\r\n open={open}\r\n onClose={handleClose}\r\n PaperProps={{\r\n className: `${className}`,\r\n }}\r\n fullWidth={true}\r\n maxWidth={maxWidth}\r\n >\r\n <DialogPaper>\r\n <DialogTitleStyled style={{ backgroundColor: titleBackground }}>\r\n <div style={{ display: 'flex', alignItems: 'center' }}>\r\n {icon && <Icon>{icon}</Icon>}\r\n {title}\r\n </div>\r\n <IconButton onClick={handleClose} style={{ color: 'inherit' }}>\r\n <CloseIcon />\r\n </IconButton>\r\n </DialogTitleStyled>\r\n <DialogContentStyled>\r\n {children}\r\n </DialogContentStyled>\r\n\r\n <DialogActionsStyled>\r\n {!!buttons && buttons.map((button, index) => (\r\n <ButtonDefault\r\n key={index}\r\n sx={{\r\n display: 'flex',\r\n padding: '13px 16px',\r\n fontFamily: 'inherit',\r\n ...button.sx\r\n }}\r\n model={button.model || \"fill\"}\r\n color={button.color || \"#00529C\"}\r\n type={button.type || 'button'}\r\n className='flex capitalize'\r\n onClick={button.onClick || handleClose}\r\n startIcon={button.startIcon}\r\n endIcon={button.endIcon}\r\n disabled={button.disabled}\r\n >\r\n {button.label}\r\n </ButtonDefault>\r\n ))}\r\n </DialogActionsStyled>\r\n </DialogPaper>\r\n </Dialog>\r\n </ThemeProvider>\r\n );\r\n};\r\n\r\nDynamicCustomModal.propTypes = {\r\n show: PropTypes.bool.isRequired,\r\n onHide: PropTypes.func.isRequired,\r\n children: PropTypes.node.isRequired,\r\n icon: PropTypes.node,\r\n titleBackground: PropTypes.string,\r\n className: PropTypes.string,\r\n theme: PropTypes.oneOf(Object.values(Themes)),\r\n maxWidth: PropTypes.string,\r\n buttons: PropTypes.array,\r\n};\r\n\r\nexport { Themes };\r\nexport default DynamicCustomModal;\r\n","import { callAsset } from \"@/utils/asset\";\r\nimport { Dialog, DialogActions, DialogContent, DialogTitle, IconButton } from \"@mui/material\";\r\nimport Image from \"next/image\";\r\nimport CloseIcon from '@mui/icons-material/Close';\r\nimport { ButtonDefault } from \"@/components/legacy/atoms/buttons/default\";\r\n\r\nexport const ModalError = ({ open, onClose, onConfirm, description, title = 'Oops!', ...props }) => {\r\n\r\n const handleButtonClick = () => {\r\n // eslint-disable-next-line no-undef\r\n if (onConfirm()) {\r\n // eslint-disable-next-line no-undef\r\n onConfirm();\r\n } else {\r\n onClose();\r\n }\r\n };\r\n\r\n return (\r\n <Dialog\r\n open={open}\r\n onClose={onClose}\r\n aria-labelledby=\"alert-dialog-title\"\r\n aria-describedby=\"alert-dialog-description\"\r\n sx={{\r\n \"& .MuiDialog-container\": {\r\n \"& .MuiPaper-root\": {\r\n width: \"100%\",\r\n maxWidth: \"350px\", // Set your width here\r\n },\r\n \"& .MuiDialog-paper\": {\r\n borderRadius: \"10px\",\r\n },\r\n },\r\n }}\r\n {...props}\r\n >\r\n <DialogTitle id=\"alert-dialog-title\" onClose={onClose}>\r\n <IconButton\r\n aria-label=\"close\"\r\n onClick={onClose}\r\n sx={{\r\n position: 'absolute',\r\n right: 8,\r\n top: 8,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </DialogTitle>\r\n <DialogContent\r\n sx={{\r\n display: 'grid',\r\n justifyContent: 'center'\r\n }}\r\n >\r\n <Image\r\n src={callAsset(\"/images/thumb-modal-error.svg\")}\r\n width={160}\r\n height={140}\r\n alt=\"modal-loading\"\r\n className=\"justify-self-center\"\r\n priority\r\n />\r\n <div className=\"text-lg font-extrabold justify-self-center\">\r\n { title }\r\n </div>\r\n <div className=\"text-center mt-4\">\r\n {description}\r\n </div>\r\n </DialogContent>\r\n <DialogActions\r\n sx={{\r\n justifyContent: 'center',\r\n columnGap: '0.5rem',\r\n padding: '0 1.5rem 1.5rem'\r\n }}\r\n >\r\n <ButtonDefault sx={{padding: '8px 0'}} model=\"fill\" color=\"#00529C\" onClick={handleButtonClick} autoFocus>\r\n Kembali\r\n </ButtonDefault>\r\n </DialogActions>\r\n </Dialog>\r\n );\r\n};\r\n","import React from 'react'\r\nimport { Dialog, DialogContent, DialogTitle, Divider } from '@mui/material'\r\nimport DescriptionIcon from '@mui/icons-material/Description';\r\nimport { ButtonDefault } from '@/components/legacy/atoms/buttons/default';\r\nimport { FORM_TYPE, FormBuilder } from '@/components/legacy/organisms/forms/builder';\r\nimport { object } from 'yup';\r\nimport { useForm } from 'react-hook-form';\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\n\r\nconst ModalLevelUker = ({ open, setOpen, setSearchUker, setReloadData }) => {\r\n\r\n const levelUkerOptions = [\r\n { label: \"(P) Pusat\", value: \"P\" },\r\n { label: \"(W) Kantor Wilayah\", value: \"W\" },\r\n { label: \"(CK) Kantor Cabang Khusus\", value: \"CK\" },\r\n { label: \"(C) Kantor Cabang\", value: \"C\" },\r\n { label: \"(S) Kantor Cabang Pembantu\", value: \"S\" },\r\n { label: \"(U) Kantor Unit\", value: \"U\" },\r\n { label: \"(I) Auditor / Kantor Inspeksi\", value: \"I\" },\r\n { label: \"(G) Grafta\", value: \"G\" }\r\n ];\r\n\r\n const defaultValues = {\r\n level_uker: null,\r\n }\r\n\r\n const validationSchema = object({\r\n level_uker: object().required(\"Kolom Wajib Diisi\"),\r\n })\r\n\r\n const methods = useForm({\r\n mode: \"all\",\r\n defaultValues,\r\n resolver: yupResolver(validationSchema),\r\n });\r\n const { setValue } = methods;\r\n\r\n const onSubmit = (values) => {\r\n setSearchUker(values.level_uker.value,)\r\n setReloadData(true)\r\n handleCloseDialog()\r\n }\r\n\r\n const handleCloseDialog = () => {\r\n setOpen(!open);\r\n setValue(\"level_uker\", null)\r\n };\r\n\r\n return (\r\n <Dialog \r\n open={open} \r\n onClose={handleCloseDialog} \r\n maxWidth=\"sm\" \r\n fullWidth\r\n PaperProps={{ sx: { borderRadius: \"10px\", overflow: \"visible\", marginBottom: \"20%\" } }} \r\n >\r\n <DialogTitle className=\"cm-header-blue-detail\">\r\n <DescriptionIcon />\r\n <span className='ml-3'>\r\n List Menu Level Uker\r\n </span> \r\n </DialogTitle>\r\n <Divider />\r\n <DialogContent sx={{overflow: \"visible\"}}>\r\n <FormBuilder\r\n className=\"flex flex-col gap-2\"\r\n size=\"small\"\r\n fields={[\r\n {\r\n type: FORM_TYPE.SELECT,\r\n name: \"level_uker\",\r\n title: \"Pilih Level Uker\",\r\n placeholder: \"Pilih Level Uker Disini ..\",\r\n options: levelUkerOptions,\r\n },\r\n {\r\n type: FORM_TYPE.CUSTOM,\r\n component: (\r\n <div className='flex display-flex justify-center gap-5 mt-4 mb-1'>\r\n <ButtonDefault\r\n model=\"outline\"\r\n color=\"#ED6E12\"\r\n onClick={handleCloseDialog}\r\n >Batal</ButtonDefault>\r\n <ButtonDefault\r\n model=\"fill\"\r\n color=\"#ED6E12\"\r\n type=\"submit\"\r\n >Pilih</ButtonDefault>\r\n </div>\r\n ),\r\n },\r\n ]}\r\n methods={methods}\r\n onSubmit={onSubmit}\r\n />\r\n </DialogContent>\r\n </Dialog>\r\n );\r\n};\r\n\r\nexport default ModalLevelUker;\r\n","import { callAsset } from \"@/utils/asset\";\r\nimport { Backdrop, Modal } from \"@mui/material\";\r\nimport Image from \"next/image\";\r\n\r\nexport const ModalLoading = ({ open, ...props }) => {\r\n return (\r\n <Modal\r\n open={open}\r\n slots={{\r\n backdrop: (BackdropProps) => (\r\n <Backdrop {...BackdropProps} onClick={() => {}} />\r\n ),\r\n }}\r\n {...props}\r\n >\r\n <div className=\"bg-white absolute top-1/2 left-1/2 shadow-lg w-[136px] h-[90px] -translate-x-1/2 -translate-y-1/2 flex flex-col outline-none rounded-lg\">\r\n <div className=\"self-center place-self-center relative overflow-hidden\">\r\n <Image\r\n src={callAsset(\"/images/loading-dots.gif\")}\r\n width={70}\r\n height={70}\r\n alt=\"modal-loading\"\r\n priority\r\n />\r\n </div>\r\n <div className=\"self-center place-self-end relative bottom-1\">\r\n <p className=\"text-lg font-bold\">Loading...</p>\r\n </div>\r\n </div>\r\n </Modal>\r\n );\r\n};\r\n","import React from 'react'\r\nimport { Dialog, DialogContent, DialogTitle, IconButton } from '@mui/material'\r\nimport { ButtonDefault } from '@/components/legacy/atoms/buttons/default';\r\nimport { FORM_TYPE, FormBuilder } from '@/components/legacy/organisms/forms/builder';\r\nimport { mixed, object } from 'yup';\r\nimport { useForm } from 'react-hook-form';\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\nimport Image from 'next/image';\r\nimport { callAsset } from '@/utils/asset';\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport {MultipleSelectChip} from '@/components/legacy/molecules/selects/multi-select-chip-async-or-default';\r\n\r\nconst ModalCustomField = ({ \r\n open, \r\n setOpen, \r\n titleModal, \r\n description, \r\n name, \r\n title, \r\n placeholder, \r\n cancelText, \r\n confirmText, \r\n onSubmit, \r\n typeInput, \r\n options, \r\n errorMessage, \r\n confirmColor, \r\n rows = 3, \r\n maxLength = 2000,\r\n showCountHelper = false\r\n}) => {\r\n\r\n const defaultValues = {\r\n [name]: \"\",\r\n }\r\n\r\n const validationSchema = object({\r\n [name]: mixed().test('is-valid', errorMessage ?? 'Kolom Wajib Diisi', function (value) {\r\n return value !== null && (typeof value === 'object' || (typeof value === 'string' && value.trim().length > 0));\r\n }).nullable(false),\r\n })\r\n\r\n const methods = useForm({\r\n mode: \"all\",\r\n defaultValues,\r\n resolver: yupResolver(validationSchema),\r\n });\r\n const { setValue, control, formState } = methods;\r\n const { errors } = formState;\r\n\r\n const handleSubmit = async (values) => {\r\n const isValid = await methods.trigger();\r\n if (!isValid) {\r\n return;\r\n }\r\n onSubmit(values[name]);\r\n handleCloseDialog();\r\n };\r\n\r\n const handleCloseDialog = () => {\r\n setOpen(!open);\r\n setValue(name, null)\r\n };\r\n\r\n return (\r\n <Dialog\r\n open={open}\r\n onClose={handleCloseDialog}\r\n aria-labelledby=\"alert-dialog-title\"\r\n aria-describedby=\"alert-dialog-description\"\r\n sx={{\r\n \"& .MuiDialog-container\": {\r\n \"& .MuiPaper-root\": {\r\n width: \"100%\",\r\n maxWidth: typeInput == \"textField\" ? \"500px\" : \"550px\",\r\n height: \"100%\",\r\n maxHeight: typeInput == \"textField\" ? \"550px\" : \"650px\",\r\n overflowY: \"scroll\",\r\n },\r\n \"& .MuiDialog-paper\": {\r\n borderRadius: \"10px\",\r\n },\r\n },\r\n }}\r\n >\r\n <DialogTitle id=\"alert-dialog-title\">\r\n <IconButton\r\n aria-label=\"close\"\r\n onClick={handleCloseDialog}\r\n sx={{\r\n position: \"absolute\",\r\n right: 8,\r\n top: 8,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </DialogTitle>\r\n <DialogContent>\r\n <div className=\"flex justify-center\">\r\n <Image\r\n src={callAsset(\"/images/thumb-dialog-warning.svg\")}\r\n width={160}\r\n height={140}\r\n alt=\"modal-warning\"\r\n className=\"justify-self-center py-2\"\r\n priority\r\n />\r\n </div>\r\n <div className=\"text-lg font-extrabold justify-self-center py-2\">\r\n <p className=\"text-center\">\r\n {titleModal}\r\n </p>\r\n </div>\r\n <div className=\"text-center py-2\">\r\n {description}\r\n </div>\r\n <FormBuilder\r\n className=\"flex flex-col gap-2 mt-4\"\r\n size=\"small\"\r\n fields={[\r\n typeInput == \"textField\" && {\r\n type: FORM_TYPE.TEXT_FIELD,\r\n name: name,\r\n title: title,\r\n placeholder: placeholder,\r\n multiline: true,\r\n rows: rows,\r\n maxLength: maxLength,\r\n showCountHelper: showCountHelper\r\n },\r\n typeInput == \"selectOptions\" && {\r\n type: FORM_TYPE.SELECT_SEARCH_NORMAL,\r\n name: name,\r\n title: title,\r\n placeholder: placeholder,\r\n options: options,\r\n },\r\n typeInput == \"multipleSelectOptions\" && {\r\n type: FORM_TYPE.CUSTOM,\r\n component: (\r\n <MultipleSelectChip\r\n name={name}\r\n control={control}\r\n options={options}\r\n defaultValue={[]}\r\n title={title}\r\n placeholder={placeholder}\r\n error={errors?.[name]?.message}\r\n />\r\n )\r\n },\r\n {\r\n type: FORM_TYPE.CUSTOM,\r\n component: (\r\n <div\r\n className='flex display-flex justify-center gap-5 mt-4 mb-1'\r\n style={{\r\n position: \"absolute\",\r\n bottom: \"10px\",\r\n left: 0,\r\n right: 0,\r\n padding: \"10px\",\r\n background: \"#fff\",\r\n }}\r\n >\r\n <ButtonDefault\r\n model=\"outline\"\r\n color=\"#084F8C\"\r\n onClick={handleCloseDialog}\r\n >{cancelText}</ButtonDefault>\r\n <ButtonDefault\r\n model=\"fill\"\r\n color={confirmColor || \"#084F8C\"}\r\n type=\"submit\"\r\n >{confirmText}</ButtonDefault>\r\n </div>\r\n ),\r\n },\r\n ]}\r\n methods={methods}\r\n onSubmit={handleSubmit}\r\n />\r\n </DialogContent>\r\n </Dialog>\r\n );\r\n};\r\n\r\nexport default ModalCustomField;\r\n","import {\r\n Dialog,\r\n DialogContent,\r\n DialogTitle,\r\n Grid,\r\n IconButton,\r\n} from \"@mui/material\";\r\nimport React from \"react\";\r\nimport { FORM_TYPE, FormBuilder } from \"../../forms/builder\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport { callAsset } from \"@/utils/asset\";\r\nimport Image from \"next/image\";\r\nimport {MultipleSelectChip} from \"@/components/legacy/molecules/selects/multi-select-chip-async-or-default\";\r\nimport { array, object } from \"yup\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport { ButtonOutlined } from \"@/components/legacy/atoms/buttons/outlined\";\r\nimport { ButtonDefault } from \"@/components/legacy/atoms/buttons/default\";\r\nimport { IconSendWhite } from \"@/components/legacy/atoms/icons/send-white\";\r\n\r\nfunction ModalMultiCustomField({\r\n handleOpenModal,\r\n handleSetOpenModal,\r\n titleModalDescription,\r\n infoModalDescription,\r\n cancelModalDescription,\r\n acceptModalDescription,\r\n structureFields,\r\n handleSubmitForm\r\n}) {\r\n\r\n const defaultValues = structureFields.map((item) => ({\r\n [item.name]: item.fieldType === \"multipleSelectOptions\" ? [] : \"\",\r\n }));\r\n\r\n const validationSchema = object().shape(\r\n structureFields.reduce((acc, field) => {\r\n if (field.required) {\r\n acc[field.name] = array()\r\n .min(1, field.errorMessage) \r\n .required(field.errorMessage)\r\n }\r\n return acc\r\n }, {})\r\n )\r\n\r\n const methods = useForm({\r\n mode: \"all\",\r\n defaultValues,\r\n resolver: yupResolver(validationSchema),\r\n });\r\n\r\n const { control, watch, reset, formState } = methods;\r\n const { errors } = formState\r\n const formData = watch()\r\n\r\n const generateFields = (fields = structureFields) => {\r\n let resultFields = []\r\n\r\n for (let field of fields) {\r\n let typeField = field.fieldType\r\n\r\n if (typeField === \"multipleSelectOptions\") {\r\n resultFields.push({\r\n type: FORM_TYPE.CUSTOM,\r\n component: (\r\n <Grid item xs={12}>\r\n <MultipleSelectChip\r\n name={field.name}\r\n defaultOptions={field.defaultOptions}\r\n loadOptions={field.options}\r\n control={control}\r\n title={field.title}\r\n placeholder={field.placeholder}\r\n error={errors?.[field.name]?.message}\r\n />\r\n </Grid>\r\n ),\r\n });\r\n }\r\n }\r\n\r\n resultFields.push({\r\n type: FORM_TYPE.CUSTOM,\r\n component: (\r\n <Grid item xs={12} sx={{ marginTop: \"2rem\" }}>\r\n <Grid container spacing={2}>\r\n <Grid item xs={6}>\r\n <ButtonOutlined\r\n colorType={\"primary\"}\r\n onClick={() => closeModalAction()}\r\n sx={{\r\n width: \"100%\",\r\n }}\r\n >\r\n {cancelModalDescription}\r\n </ButtonOutlined>\r\n </Grid>\r\n <Grid item xs={6}>\r\n <ButtonDefault\r\n model=\"fill\"\r\n color=\"#00529C\"\r\n type=\"submit\"\r\n endIcon={<IconSendWhite />}\r\n sx={{\r\n width: \"100%\",\r\n }}\r\n >\r\n {acceptModalDescription}\r\n </ButtonDefault>\r\n </Grid>\r\n </Grid>\r\n </Grid>\r\n ),\r\n });\r\n\r\n return resultFields;\r\n };\r\n\r\n const closeModalAction = () => {\r\n handleSetOpenModal(!handleOpenModal);\r\n reset();\r\n };\r\n\r\n const handleSubmit = async (values) => {\r\n const noError = await methods.trigger()\r\n if(!noError){\r\n return\r\n }\r\n handleSubmitForm(values)\r\n closeModalAction()\r\n };\r\n\r\n \r\n\r\n return (\r\n <Dialog\r\n open={handleOpenModal}\r\n onClose={closeModalAction}\r\n aria-labelledby=\"alert-dialog-title\"\r\n aria-describedby=\"alert-dialog-description\"\r\n sx={{\r\n \"& .MuiDialog-container\": {\r\n \"& .MuiPaper-root\": {\r\n width: \"100%\",\r\n maxWidth: \"500px\",\r\n height: \"100%\",\r\n maxHeight: \"500px\",\r\n },\r\n \"& .MuiDialog-paper\": {\r\n borderRadius: \"10px\",\r\n overflow: \"none\",\r\n },\r\n },\r\n }}\r\n >\r\n <DialogTitle id=\"alert-dialog-title\">\r\n <IconButton\r\n aria-label=\"close\"\r\n onClick={() => closeModalAction()}\r\n sx={{\r\n position: \"absolute\",\r\n right: 8,\r\n top: 8,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </DialogTitle>\r\n <DialogContent>\r\n <div className=\"flex justify-center\">\r\n <Image\r\n src={callAsset(\"/images/thumb-dialog-warning.svg\")}\r\n width={160}\r\n height={140}\r\n alt=\"modal-warning\"\r\n className=\"justify-self-center py-2\"\r\n priority\r\n />\r\n </div>\r\n <div className=\"text-lg font-extrabold justify-self-center py-2\">\r\n <p className=\"text-center font-bold\">{titleModalDescription}</p>\r\n </div>\r\n <div className=\"text-center py-2\">{infoModalDescription}</div>\r\n <Grid container>\r\n <Grid item xs={12}>\r\n <FormBuilder fields={generateFields()} methods={methods} onSubmit={handleSubmit} />\r\n </Grid>\r\n </Grid>\r\n </DialogContent>\r\n </Dialog>\r\n );\r\n}\r\n\r\nexport default ModalMultiCustomField;\r\n","import React, { useEffect } from 'react';\r\nimport { Dialog, DialogContent, DialogTitle, Divider } from '@mui/material';\r\nimport DescriptionIconRaw from '@mui/icons-material/Description';\r\nimport { ButtonDefault } from '@/components/legacy/atoms/buttons/default';\r\nimport { FORM_TYPE, FormBuilder } from '@/components/legacy/organisms/forms/builder';\r\nimport { object, string } from 'yup';\r\nimport { useForm } from 'react-hook-form';\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\n\r\nconst DescriptionIcon = DescriptionIconRaw?.default ?? DescriptionIconRaw;\r\n\r\nconst ModalTextField = ({ \r\n open, \r\n setOpen, \r\n titleModal = \"Title Modal default\", \r\n title = \"Title Default\", \r\n placeholder = \"isi disini\", \r\n cancelText = \"Batal\", \r\n confirmText = \"Simpan\",\r\n value = \"\", // Default value for alasan, can be overridden\r\n onSubmit = () => {},\r\n}) => { \r\n const defaultValues = {\r\n alasan: value, // Use the value prop to set the default value dynamically\r\n };\r\n\r\n const validationSchema = object({\r\n alasan: string().required(\"Kolom Wajib Diisi\"),\r\n });\r\n\r\n const methods = useForm({\r\n mode: \"all\",\r\n defaultValues,\r\n resolver: yupResolver(validationSchema),\r\n });\r\n const { setValue, handleSubmit } = methods;\r\n\r\n const handleCloseDialog = () => {\r\n setOpen(!open);\r\n // setValue(\"alasan\", null);\r\n };\r\n\r\n const generateRandomID = () => {\r\n // eslint-disable-next-line no-undef\r\n const array = new Uint8Array(16)\r\n crypto.getRandomValues(array)\r\n return Array.from(array, byte => byte.toString(16).padStart(2, '0')).join('')\r\n }\r\n\r\n useEffect(() => {\r\n setValue(\"alasan\", value);\r\n }, [value, setValue]);\r\n\r\n const handleFormSubmit = (values) => {\r\n const newComment = {\r\n id: generateRandomID(),\r\n insdate: new Date().toLocaleDateString(),\r\n alasan: values.alasan,\r\n };\r\n onSubmit(newComment);\r\n handleCloseDialog();\r\n };\r\n\r\n return (\r\n <Dialog \r\n open={open} \r\n onClose={handleCloseDialog} \r\n maxWidth=\"sm\" \r\n fullWidth\r\n PaperProps={{ sx: { borderRadius: \"10px\", overflow: \"visible\", marginBottom: \"20%\" } }} \r\n >\r\n <DialogTitle className=\"cm-header-blue-detail\">\r\n <DescriptionIcon />\r\n <span className='ml-3'>\r\n {titleModal}\r\n </span> \r\n </DialogTitle>\r\n <Divider />\r\n <DialogContent sx={{overflow: \"visible\"}}>\r\n <FormBuilder\r\n className=\"flex flex-col gap-2\"\r\n size=\"small\"\r\n fields={[\r\n {\r\n type: FORM_TYPE.TEXT_FIELD,\r\n name: \"alasan\",\r\n title: title,\r\n placeholder: placeholder,\r\n multiline: true,\r\n rows: 3\r\n },\r\n {\r\n type: FORM_TYPE.CUSTOM,\r\n component: (\r\n <div className='flex display-flex justify-center gap-5 mt-4 mb-1'>\r\n <ButtonDefault\r\n model=\"outline\"\r\n color=\"#ED6E12\"\r\n onClick={handleCloseDialog}\r\n >{cancelText}</ButtonDefault>\r\n <ButtonDefault\r\n model=\"fill\"\r\n color=\"#00529C\"\r\n type=\"submit\"\r\n onClick={handleSubmit(handleFormSubmit)}\r\n >{confirmText}</ButtonDefault>\r\n </div>\r\n ),\r\n },\r\n ]}\r\n methods={methods}\r\n />\r\n </DialogContent>\r\n </Dialog>\r\n );\r\n};\r\n\r\nexport default ModalTextField;\r\n","import React from 'react'\r\nimport { Dialog, DialogContent, DialogTitle } from '@mui/material'\r\nimport { ButtonDefault } from '@/components/legacy/atoms/buttons/default';\r\nimport { FORM_TYPE, FormBuilder } from '@/components/legacy/organisms/forms/builder';\r\nimport { object, string } from 'yup';\r\nimport { useForm } from 'react-hook-form';\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\nimport { IconFile } from '@/components/legacy/atoms/icons/file';\r\nimport { IconSave } from '@/components/legacy/atoms/icons/save';\r\n\r\nconst ModalUpload = ({ open, setOpen }) => { \r\n\r\n const exampleOptions = [\r\n { label: \"SMA\", value: \"SMA\" },\r\n { label: \"D-1\", value: \"D-1\" },\r\n { label: \"D-2\", value: \"D-2\" },\r\n { label: \"D-3\", value: \"D-3\" },\r\n { label: \"S-1\", value: \"S-1\" },\r\n { label: \"S-2\", value: \"S-2\" },\r\n { label: \"S-3\", value: \"S-3\" },\r\n ];\r\n\r\n const defaultValues = {\r\n alasan: null,\r\n select_default: null,\r\n start_date: \"\",\r\n end_date: \"\"\r\n }\r\n\r\n const validationSchema = object({\r\n alasan: string().required(\"Kolom Wajib Diisi\"),\r\n select_default: object().required(\"Kolom Wajib Diisi\"),\r\n start_date: string().required(\"Kolom Wajib Diisi\"),\r\n end_date: string().required(\"Kolom Wajib Diisi\"),\r\n })\r\n\r\n const methods = useForm({\r\n mode: \"all\",\r\n defaultValues,\r\n resolver: yupResolver(validationSchema),\r\n });\r\n const { setValue } = methods;\r\n\r\n const onSubmit = () => {\r\n handleCloseDialog()\r\n }\r\n\r\n const handleCloseDialog = () => {\r\n setOpen(!open);\r\n setValue(\"alasan\", null)\r\n };\r\n\r\n return (\r\n <Dialog \r\n open={open} \r\n onClose={handleCloseDialog} \r\n maxWidth=\"sm\" \r\n fullWidth\r\n PaperProps={{ sx: { borderRadius: \"10px\", overflow: \"visible\" } }} \r\n >\r\n <DialogTitle className=\"cm-header-detail\">\r\n <IconFile />\r\n <span className='ml-3'>\r\n Pop Up Title\r\n </span> \r\n </DialogTitle>\r\n {/* <Divider /> */}\r\n <DialogContent sx={{overflow: \"visible\"}}>\r\n <FormBuilder\r\n className=\"grid grid-cols-12 gap-2\"\r\n size=\"small\"\r\n fields={[\r\n {\r\n type: FORM_TYPE.TEXT_FIELD,\r\n name: \"alasan\",\r\n title: \"Upload Document if Pop Up\",\r\n placeholder: \"Upload\",\r\n className: \"col-span-9\"\r\n },\r\n {\r\n type: FORM_TYPE.CUSTOM,\r\n component: (\r\n <div className='col-span-3 w-full grid mb-0.5 content-end'>\r\n <ButtonDefault\r\n type=\"submit\"\r\n sx={{\r\n marginTop: \"23px\",\r\n }}\r\n variant=\"contained\"\r\n model=\"fill\"\r\n color=\"#00529C\"\r\n startIcon={<IconSave />}\r\n >\r\n Browse File\r\n </ButtonDefault>\r\n </div>\r\n )\r\n },\r\n {\r\n type: FORM_TYPE.SELECT,\r\n name: \"select_default\",\r\n title: \"Select\",\r\n placeholder: \"Select\",\r\n options: exampleOptions,\r\n className: \"col-span-12\"\r\n },\r\n // {\r\n // type: FORM_TYPE.DATETIME_PICKER,\r\n // name: \"start_date\",\r\n // title: \"Issued Date\",\r\n // placeholder: \"MM/DD/YYYY HH:mm (am/pm)\",\r\n // className: \"col-span-3\"\r\n // },\r\n // {\r\n // type: FORM_TYPE.DATETIME_PICKER,\r\n // name: \"end_date\",\r\n // title: \"Expired Date\",\r\n // placeholder: \"MM/DD/YYYY HH:mm (am/pm)\",\r\n // className: \"col-span-3\"\r\n // },\r\n {\r\n type: FORM_TYPE.CUSTOM,\r\n component: (\r\n <div className='col-span-12 grid grid-cols-2 justify-center gap-4 mt-4 mb-1'>\r\n {/* <div className='flex display-flex justify-center gap-5 mt-4 mb-1'> */}\r\n <ButtonDefault\r\n model=\"outline\"\r\n color=\"#ED6E12\"\r\n onClick={handleCloseDialog}\r\n className\r\n >Batal</ButtonDefault>\r\n <ButtonDefault\r\n model=\"fill\"\r\n color=\"#ED6E12\"\r\n type=\"submit\"\r\n >Kembalikan ke RM</ButtonDefault>\r\n </div>\r\n ),\r\n },\r\n ]}\r\n methods={methods}\r\n onSubmit={onSubmit}\r\n />\r\n </DialogContent>\r\n </Dialog>\r\n );\r\n};\r\n\r\nexport default ModalUpload;\r\n","import React from \"react\";\r\nimport {\r\n Dialog,\r\n DialogContent,\r\n DialogTitle,\r\n Divider,\r\n IconButton,\r\n} from \"@mui/material\";\r\nimport DescriptionIcon from \"@mui/icons-material/Description\";\r\nimport { ButtonContained } from \"@/components/legacy/atoms/buttons/contained\";\r\nimport { Close } from \"@mui/icons-material\";\r\n\r\nconst ModalDetailViewCustom = ({ open, setOpen, title, maxWidth, children, withCloseButton=false, CloseButton, iconTitle }) => {\r\n return (\r\n <Dialog\r\n open={open}\r\n onClose={() => {\r\n setOpen(!open);\r\n }}\r\n maxWidth={maxWidth ?? \"sm\"}\r\n fullWidth\r\n PaperProps={{\r\n sx: { borderRadius: \"10px\", overflow: \"visible\" },\r\n }}\r\n >\r\n <DialogTitle className=\"cm-header-blue-detail flex items-center justify-between\">\r\n <div className=\"flex items-center mt-1\">\r\n {iconTitle && iconTitle == true && (\r\n <DescriptionIcon />\r\n )}\r\n {title && (<span className=\"mx-1\">{title}</span>)}\r\n </div>\r\n {withCloseButton == \"true\" && (<div>\r\n <IconButton\r\n sx={{\r\n \"&:hover\": {\r\n backgroundColor: \"inherit\",\r\n },\r\n color: \"white\",\r\n padding: \"0px 0px\",\r\n right: -2,\r\n }}\r\n onClick={() => {\r\n setOpen(!open);\r\n }}\r\n >\r\n <Close />\r\n </IconButton>\r\n </div>)}\r\n </DialogTitle>\r\n <Divider />\r\n <DialogContent>\r\n <div className=\"mt-1 grid gap-4 max-h-[60vh]\">{children}</div>\r\n </DialogContent>\r\n <DialogContent sx={{ overflow: \"visible\" }}>\r\n {CloseButton && CloseButton == true && (\r\n <ButtonContained\r\n colorType=\"primary\"\r\n className=\"w-full\"\r\n onClick={() => {\r\n setOpen(!open);\r\n }}\r\n >\r\n Tutup\r\n </ButtonContained>\r\n )}\r\n </DialogContent>\r\n </Dialog>\r\n );\r\n};\r\n\r\nexport default ModalDetailViewCustom;\r\n","import React from \"react\";\r\nimport {\r\n Dialog,\r\n DialogContent,\r\n DialogTitle,\r\n Divider,\r\n IconButton,\r\n} from \"@mui/material\";\r\nimport DescriptionIconRaw from \"@mui/icons-material/Description\";\r\nimport { ButtonContained } from \"@/components/legacy/atoms/buttons/contained\";\r\nimport { Close } from \"@mui/icons-material\";\r\n\r\nconst DescriptionIcon = DescriptionIconRaw?.default ?? DescriptionIconRaw;\r\n\r\nconst ModalDetailView = ({\r\n open,\r\n setOpen,\r\n title,\r\n maxWidth,\r\n children,\r\n withCloseButton = false,\r\n bottomButton,\r\n}) => {\r\n return (\r\n <Dialog\r\n open={open}\r\n onClose={() => {\r\n setOpen(!open);\r\n }}\r\n maxWidth={maxWidth ?? \"sm\"}\r\n fullWidth\r\n PaperProps={{\r\n sx: { borderRadius: \"10px\", overflow: \"visible\" },\r\n }}\r\n >\r\n <DialogTitle className=\"cm-header-blue-detail flex items-center justify-between\">\r\n <div className=\"flex items-center\">\r\n <DescriptionIcon />\r\n {title && <span className=\"ml-3 mt-1\">{title}</span>}\r\n </div>\r\n {withCloseButton == true && (\r\n <div>\r\n <IconButton\r\n sx={{\r\n \"&:hover\": {\r\n backgroundColor: \"inherit\",\r\n },\r\n color: \"white\",\r\n padding: \"0px 0px\",\r\n right: -2,\r\n }}\r\n onClick={() => {\r\n setOpen(!open);\r\n }}\r\n >\r\n <Close />\r\n </IconButton>\r\n </div>\r\n )}\r\n </DialogTitle>\r\n <Divider />\r\n <DialogContent>\r\n <div className=\"mt-1 grid gap-4 max-h-[60vh]\">{children}</div>\r\n </DialogContent>\r\n <DialogContent sx={{ overflow: \"visible\" }}>\r\n {bottomButton ? (\r\n bottomButton\r\n ) : (\r\n <ButtonContained\r\n colorType=\"primary\"\r\n className=\"w-full\"\r\n onClick={() => {\r\n setOpen(!open);\r\n }}\r\n >\r\n Tutup\r\n </ButtonContained>\r\n )}\r\n </DialogContent>\r\n </Dialog>\r\n );\r\n};\r\n\r\nexport default ModalDetailView;\r\n","import React, { useState } from \"react\";\r\nimport {\r\n Button,\r\n Dialog,\r\n DialogContent,\r\n DialogTitle,\r\n IconButton,\r\n} from \"@mui/material\";\r\nimport CloseIconRaw from \"@mui/icons-material/Close\";\r\nimport dynamic from \"next/dynamic\";\r\n\r\nconst Image = dynamic(\r\n () => import(\"next/image\").then((mod) => mod.default),\r\n { ssr: false }\r\n);\r\n\r\nconst OTPInput = dynamic(\r\n () =>\r\n import(\"react-otp-input\").then((mod) => mod.default ?? mod),\r\n { ssr: false }\r\n);\r\n\r\nconst Countdown = dynamic(\r\n () =>\r\n import(\"react-countdown\").then((mod) => mod.default ?? mod),\r\n { ssr: false }\r\n);\r\n\r\nimport { callAsset } from \"@/utils/asset\";\r\nconst CloseIcon = CloseIconRaw?.default ?? CloseIconRaw;\r\nexport const ModalCustomOtp = ({\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 = () => {\r\n setIsOpen(false);\r\n };\r\n\r\n const handleChange = (value) => {\r\n setErrorMessage(\"\");\r\n setOtp(value);\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 = () => {\r\n setCountOn(\"off\");\r\n };\r\n\r\n return (\r\n <Dialog\r\n open={isOpen}\r\n onClose={handleClose}\r\n aria-describedby=\"alert-dialog-slide-description\"\r\n maxWidth=\"xs\"\r\n sx={{\r\n \"& .MuiDialog-container\": {\r\n \"& .MuiPaper-root\": {\r\n width: \"100%\",\r\n maxWidth: \"350px\", // Set your width here\r\n },\r\n \"& .MuiDialog-paper\": {\r\n borderRadius: \"20px\",\r\n },\r\n },\r\n }}\r\n fullWidth\r\n >\r\n <DialogContent sx={{ borderRadius: \"10px\" }}>\r\n <DialogTitle>\r\n <IconButton\r\n aria-label=\"close\"\r\n onClick={handleClose}\r\n sx={{\r\n position: \"absolute\",\r\n right: 8,\r\n top: 8,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </DialogTitle>\r\n <div className=\"grid text-center\">\r\n <Image\r\n src={callAsset(\"/images/thumb-lock.png\")}\r\n style={{ justifySelf: \"center\" }}\r\n width={140}\r\n height={140}\r\n alt=\"thumb-lock\"\r\n />\r\n <p className=\"my-4 font-bold tracking-tight text-gray-900\">\r\n Verifikasi OTP\r\n </p>\r\n <p className=\"tracking-tight text-sm text-gray-500 mx-2\">\r\n Masukkan kode OTP yang telah dikirim ke nomor {phone}\r\n </p>\r\n\r\n <div className=\"grid mb-6 mt-2 justify-center\">\r\n <form\r\n autoComplete=\"off\"\r\n // action=\"/phone-verification?condition=submit\"\r\n method=\"post\"\r\n className=\"items-center justify-center flex\"\r\n >\r\n <input type=\"hidden\" name=\"_csrf\" />\r\n <input id=\"form-startotp\" type=\"hidden\" name=\"otp\" />\r\n <div className=\"flex justify-center items-center\">\r\n <div className=\"ca-card-otp\">\r\n <OTPInput\r\n value={otp}\r\n onChange={handleChange}\r\n numInputs={otpLength}\r\n inputStyle=\"ca-input-otp\"\r\n separator={<span></span>}\r\n renderInput={(props) => <input {...props} />}\r\n hasErrored={!!errorMessage}\r\n errorStyle=\"ca-input-otp-error\"\r\n />\r\n </div>\r\n </div>\r\n <button id=\"btn-submit-otp\" type=\"hidden\" />\r\n </form>\r\n {errorMessage && <p className=\"text-briRed mt-2\">{errorMessage}</p>}\r\n </div>\r\n\r\n {countOn === \"on\" && (\r\n <Countdown\r\n date={date}\r\n onComplete={setOff}\r\n renderer={({ minutes, seconds }) => {\r\n return (\r\n <p className=\"my-2 font-semibold tracking-tight text-sm text-gray-400\">\r\n Waktu tersisa {minutes < 10 ? `0${minutes}` : minutes}:\r\n {seconds < 10 ? `0${seconds}` : seconds}\r\n </p>\r\n );\r\n }}\r\n />\r\n )}\r\n\r\n {countOn === \"off\" && (\r\n <p className=\"my-2 font-semibold tracking-tight text-sm text-gray-400\">\r\n Waktu habis\r\n </p>\r\n )}\r\n\r\n {countOn === \"on\" ? (\r\n <Button\r\n onClick={handleClose}\r\n variant=\"text\"\r\n className=\"tracking-tight font-bold text-sm text-gray-900 underline capitalize\"\r\n >\r\n Batalkan\r\n </Button>\r\n ) : (\r\n <Button\r\n onClick={setTime}\r\n variant=\"contained\"\r\n className=\"tracking-tight font-bold text-sm text-white underline capitalize\"\r\n >\r\n Kirim Ulang\r\n </Button>\r\n )}\r\n </div>\r\n </DialogContent>\r\n </Dialog>\r\n );\r\n};\r\n","import { ButtonDefault } from \"@/components/legacy/atoms/buttons/default\";\r\nimport {\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n DialogTitle,\r\n IconButton,\r\n} from \"@mui/material\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport { callAsset } from \"@/utils/asset\";\r\nimport Image from \"next/image\";\r\n\r\nexport const ModalSavePipeline = ({ open, onClose, description, ...props }) => {\r\n return (\r\n <Dialog\r\n open={open}\r\n onClose={() => setTimeout(window.location.reload(), 100)}\r\n aria-labelledby=\"alert-dialog-title\"\r\n aria-describedby=\"alert-dialog-description\"\r\n sx={{\r\n \"& .MuiDialog-container\": {\r\n \"& .MuiPaper-root\": {\r\n width: \"100%\",\r\n maxWidth: \"350px\", // Set your width here\r\n },\r\n \"& .MuiDialog-paper\": {\r\n borderRadius: \"10px\",\r\n },\r\n },\r\n }}\r\n {...props}\r\n >\r\n <DialogTitle id=\"alert-dialog-title\" onClose={onClose}>\r\n <IconButton\r\n aria-label=\"close\"\r\n onClick={() => setTimeout(window.location.reload(), 100)}\r\n sx={{\r\n position: \"absolute\",\r\n right: 8,\r\n top: 8,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </DialogTitle>\r\n <DialogContent\r\n sx={{\r\n display: \"grid\",\r\n justifyContent: \"center\",\r\n }}\r\n >\r\n <Image\r\n src={callAsset(\"/images/thumb-dialog-success.svg\")}\r\n width={160}\r\n height={140}\r\n alt=\"modal-loading\"\r\n className=\"justify-self-center\"\r\n priority\r\n />\r\n <div className=\"text-lg font-extrabold justify-self-center\">Yeay!</div>\r\n <div className=\"text-center mt-4\">{description}</div>\r\n </DialogContent>\r\n <DialogActions\r\n sx={{\r\n justifyContent: \"center\",\r\n columnGap: \"0.5rem\",\r\n padding: \"0 1.5rem 1.5rem\",\r\n }}\r\n >\r\n <ButtonDefault\r\n sx={{ padding: \"8px 0\" }}\r\n model=\"fill\"\r\n color=\"#00529C\"\r\n onClick={() => setTimeout( window.location.reload(), 100 )}\r\n autoFocus\r\n >\r\n Oke\r\n </ButtonDefault>\r\n </DialogActions>\r\n </Dialog>\r\n );\r\n};\r\n","import {\r\n Dialog,\r\n DialogContent,\r\n DialogTitle,\r\n IconButton,\r\n} from \"@mui/material\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Image from \"next/image\";\r\nimport * as React from 'react';\r\nimport Box from '@mui/material/Box';\r\nimport Stepper from '@mui/material/Stepper';\r\nimport Step from '@mui/material/Step';\r\nimport StepLabel from '@mui/material/StepLabel';\r\nimport StepContent from '@mui/material/StepContent';\r\nimport Typography from '@mui/material/Typography';\r\nimport { callAsset } from \"@/utils/asset\";\r\nimport PropTypes from 'prop-types';\r\nimport { styled } from '@mui/material/styles';\r\nimport CheckIcon from '@mui/icons-material/Check';\r\nimport FailedIcon from '@mui/icons-material/Close';\r\nimport { Info } from \"@mui/icons-material\";\r\n\r\nconst CustomCheckIcon = styled(CheckIcon)({\r\n backgroundColor: '#00871F',\r\n zIndex: 1,\r\n color: '#fff',\r\n width: 20,\r\n height: 20,\r\n display: 'flex',\r\n borderRadius: '50%',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n padding: '3px',\r\n});\r\n\r\nconst CustomFailedIcon = styled(FailedIcon)({\r\n backgroundColor: '#e84040',\r\n zIndex: 1,\r\n color: '#fff',\r\n width: 20,\r\n height: 20,\r\n display: 'flex',\r\n borderRadius: '50%',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n padding: '3px',\r\n});\r\n\r\nexport const ModalStepper = ({ open, onClose, ...props }) => {\r\n const [activeStep, setActiveStep] = React.useState(0);\r\n const ColorlibStepIconRoot = styled('div')(({ ownerState }) => ({\r\n backgroundColor: '#ccc',\r\n zIndex: 1,\r\n color: '#fff',\r\n width: 20,\r\n height: 20,\r\n display: 'flex',\r\n borderRadius: '50%',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n ...(ownerState.active && {\r\n backgroundColor: 'transparent',\r\n }),\r\n }));\r\n\r\n const labelStep = props.stepper;\r\n const steps = labelStep?.map(item => {\r\n return {\r\n label: item.label,\r\n responseCode: item.responseCode,\r\n responseTime: item.responseTime\r\n };\r\n });\r\n\r\n function ColorlibStepIcon(props) {\r\n const { active, completed, className } = props;\r\n const icons = labelStep.reduce((acc, index) => {\r\n acc[index + 1] = <Image\r\n src={callAsset('/images/loading.gif')}\r\n width={20}\r\n height={20}\r\n alt=\"loading\"\r\n />;\r\n return acc;\r\n }, {});\r\n\r\n const checklist = labelStep.reduce((acc, Component, index) => {\r\n if (Component.responseCode == '00') {\r\n acc[index + 1] = <CustomCheckIcon />;\r\n } else {\r\n acc[index + 1] = <CustomFailedIcon />;\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return (\r\n <>\r\n <ColorlibStepIconRoot ownerState={{ active, completed }} className={className}>\r\n {completed ? checklist[String(props.icon)] : active ? icons[String(props.icon)] : ''}\r\n </ColorlibStepIconRoot>\r\n </>\r\n );\r\n }\r\n\r\n ColorlibStepIcon.propTypes = {\r\n active: PropTypes.bool,\r\n className: PropTypes.string,\r\n completed: PropTypes.bool,\r\n icon: PropTypes.node,\r\n };\r\n\r\n React.useEffect(() => {\r\n const incrementStep = () => {\r\n setActiveStep((prevActiveStep) =>\r\n prevActiveStep <= steps?.length - 1 ? prevActiveStep + 1 : prevActiveStep\r\n );\r\n };\r\n\r\n let time = 300;\r\n if (labelStep !== undefined && labelStep.length > 0 && activeStep > 0) {\r\n let count = activeStep == 0 ? 0 : activeStep - 1;\r\n if (steps?.length !== labelStep.length) {\r\n handleReset();\r\n } else {\r\n time = labelStep[count]?.responseTime;\r\n }\r\n }\r\n\r\n if (steps?.length !== props.stepper?.length) {\r\n handleReset();\r\n } else {\r\n setTimeout(incrementStep, time);\r\n }\r\n }, [activeStep, labelStep, props.stepper, steps, steps?.length]);\r\n\r\n const handleReset = () => {\r\n setActiveStep(0);\r\n };\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 return (\r\n <Dialog\r\n open={open}\r\n onClose={handleClose}\r\n aria-labelledby=\"alert-dialog-title\"\r\n aria-describedby=\"alert-dialog-description\"\r\n sx={{\r\n \"& .MuiDialog-container\": {\r\n \"& .MuiPaper-root\": {\r\n width: \"100%\",\r\n maxWidth: \"550px\",\r\n },\r\n \"& .MuiDialog-paper\": {\r\n borderRadius: \"10px\",\r\n },\r\n },\r\n }}\r\n {...props}\r\n >\r\n <DialogTitle id=\"alert-dialog-title\"\r\n onClose={onClose}\r\n sx={{\r\n textAlign: \"center\",\r\n paddingTop: \"20px\",\r\n }}\r\n >\r\n <p className=\"text-lg font-extrabold pt-2\">\r\n Penyimpanan Prakarsa dalam Proses\r\n </p>\r\n <IconButton\r\n aria-label=\"close\"\r\n onClick={onClose}\r\n sx={{\r\n position: \"absolute\",\r\n right: 8,\r\n top: 8,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </DialogTitle>\r\n <DialogContent\r\n sx={{\r\n display: \"grid\",\r\n justifyContent: \"center\",\r\n }}\r\n >\r\n <div className=\"flex items-center p-4 bg-[#EAF3FA] rounded-md space-x-2\">\r\n <Info sx={{ color: \"#00529C\", fontSize: \"24px\" }} />\r\n <p>Harap tunggu dan jangan menutup layar hingga proses selesai.</p>\r\n </div>\r\n <div className=\"flex justify-start w-full py-2\">\r\n <Box sx={{ maxWidth: 400, padding: \"10px\" }}>\r\n <Stepper activeStep={activeStep} orientation=\"vertical\">\r\n {labelStep?.map((labelStep) => (\r\n <Step\r\n key={labelStep.label}\r\n sx={{\r\n \"& .MuiStepIcon-root.Mui-completed\": {\r\n color: \"#00871F\",\r\n },\r\n }}\r\n >\r\n <StepLabel StepIconComponent={ColorlibStepIcon}>\r\n {labelStep.label}\r\n </StepLabel>\r\n <StepContent>\r\n <Typography>{labelStep.description}</Typography>\r\n </StepContent>\r\n </Step>\r\n ))}\r\n </Stepper>\r\n </Box>\r\n </div>\r\n </DialogContent>\r\n </Dialog>\r\n );\r\n};\r\n","import { ButtonDefault } from \"@/components/legacy/atoms/buttons/default\";\r\nimport {\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n DialogTitle,\r\n IconButton,\r\n} from \"@mui/material\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport { callAsset } from \"@/utils/asset\";\r\nimport Image from \"next/image\";\r\n\r\nexport const ModalSuccessDinamis = ({ open, onClose, onConfirm, description, title, image, textButton, ...props }) => {\r\n\r\n const handleButtonClick = () => {\r\n const result = onConfirm?.();\r\n if (result !== false) {\r\n onClose?.();\r\n }\r\n };\r\n\r\n return (\r\n <Dialog\r\n open={open}\r\n // onClose={onClose}\r\n aria-labelledby=\"alert-dialog-title\"\r\n aria-describedby=\"alert-dialog-description\"\r\n sx={{\r\n \"& .MuiDialog-container\": {\r\n \"& .MuiPaper-root\": {\r\n width: \"100%\",\r\n maxWidth: \"350px\", // Set your width here\r\n },\r\n \"& .MuiDialog-paper\": {\r\n borderRadius: \"10px\",\r\n },\r\n },\r\n }}\r\n {...props}\r\n >\r\n {/* <DialogTitle id=\"alert-dialog-title\" onClose={onClose}>\r\n <IconButton\r\n aria-label=\"close\"\r\n onClick={onClose}\r\n sx={{\r\n position: \"absolute\",\r\n right: 8,\r\n top: 8,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </DialogTitle> */}\r\n <DialogContent\r\n sx={{\r\n display: \"grid\",\r\n justifyContent: \"center\",\r\n }}\r\n >\r\n {image && (\r\n <Image\r\n src={callAsset(image)}\r\n width={160}\r\n height={140}\r\n alt=\"modal-loading\"\r\n className=\"justify-self-center\"\r\n priority\r\n />\r\n )}\r\n <div className=\"text-lg font-extrabold text-center\">{ title }</div>\r\n <div className=\"text-center mt-4\">{description}</div>\r\n </DialogContent>\r\n <DialogActions\r\n sx={{\r\n justifyContent: \"center\",\r\n columnGap: \"0.5rem\",\r\n padding: \"0 1.5rem 1.5rem\",\r\n }}\r\n >\r\n {textButton && (\r\n <ButtonDefault\r\n sx={{ padding: \"8px 0\" }}\r\n model=\"fill\"\r\n color=\"#00529C\"\r\n onClick={handleButtonClick} \r\n autoFocus\r\n >\r\n {textButton}\r\n </ButtonDefault>\r\n )}\r\n </DialogActions>\r\n </Dialog>\r\n );\r\n};","import { ButtonDefault } from \"@/components/legacy/atoms/buttons/default\";\r\nimport {\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n DialogTitle,\r\n IconButton,\r\n} from \"@mui/material\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\n// import { callAsset } from \"@/utils/asset\";\r\nimport Image from \"next/image\";\r\n\r\nimport * as React from 'react';\r\nimport Box from '@mui/material/Box';\r\nimport Stepper from '@mui/material/Stepper';\r\nimport Step from '@mui/material/Step';\r\nimport StepLabel from '@mui/material/StepLabel';\r\nimport StepContent from '@mui/material/StepContent';\r\nimport Typography from '@mui/material/Typography';\r\nimport { callAsset } from \"@/utils/asset\";\r\nimport Alert from '@mui/material/Alert';\r\nimport PropTypes from 'prop-types';\r\nimport { styled } from '@mui/material/styles';\r\nimport CheckIcon from '@mui/icons-material/Check';\r\nimport FailedIcon from '@mui/icons-material/Close';\r\nimport InfoIcon from '@mui/icons-material/Info';\r\nimport Link from \"next/link\";\r\nimport Tooltip, { tooltipClasses } from '@mui/material/Tooltip';\r\n// import Typography from '@mui/material/Typography';\r\n\r\nconst CustomCheckIcon = styled(CheckIcon)({\r\n backgroundColor: '#00871F',\r\n marginRight: '25px',\r\n zIndex: 1,\r\n color: '#fff',\r\n width: 20,\r\n height: 20,\r\n display: 'flex',\r\n borderRadius: '50%',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n})\r\n\r\nconst CustomFailedIcon = styled(FailedIcon)({\r\n backgroundColor: '#f2172f',\r\n marginRight: '25px',\r\n zIndex: 1,\r\n color: '#fff',\r\n width: 20,\r\n height: 20,\r\n display: 'flex',\r\n borderRadius: '50%',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n})\r\n\r\nconst CustomInfoIcon = styled(InfoIcon)({\r\n backgroundColor: '#3d85c6',\r\n marginRight: '5px',\r\n zIndex: 1,\r\n color: '#fff',\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 HtmlTooltip = styled(({ className, ...props }) => (\r\n <Tooltip {...props} classes={{ popper: className }} />\r\n ))(({ theme }) => ({\r\n [`& .${tooltipClasses.tooltip}`]: {\r\n backgroundColor: '#f5f5f9',\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\nexport const ModalSuccessPipeline = ({ open, onClose, title='', ...props }) => {\r\n\r\n const [activeStep, setActiveStep] = React.useState(0);\r\n const ColorlibStepIconRoot = styled('div')(({ ownerState }) => ({\r\n backgroundColor: '#ccc',\r\n zIndex: 1,\r\n color: '#fff',\r\n width: 20,\r\n height: 20,\r\n display: 'flex',\r\n borderRadius: '50%',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n ...(ownerState.active && {\r\n backgroundColor: 'transparent',\r\n }),\r\n }));\r\n\r\n const labelStep = props.stepper;\r\n const navState = props.navState;\r\n const lengthUpload = props.lengthUpload;\r\n const id_pengajuan = props.id_pengajuan;\r\n const steps = labelStep?.map(item => {\r\n return {\r\n label: item.label,\r\n responseCode: item.responseCode,\r\n responseTime: item.responseTime\r\n };\r\n });\r\n function ColorlibStepIcon(props) {\r\n const { active, completed, className } = props;\r\n\r\n\r\n const icons = labelStep.reduce((acc, Component, index) => {\r\n acc[index + 1] = <Image\r\n src={callAsset('/images/loading.gif')}\r\n width={20}\r\n height={20}\r\n alt=\"loading\"\r\n />;\r\n return acc;\r\n }, {});\r\n\r\n \r\n const [hovered, setHovered] = React.useState(false);\r\n const iconStyles = {\r\n color: hovered ? '#3d85c6' : '#ffffff',\r\n backgroundColor: hovered ? '#ffffff' : '#3d85c6',\r\n transition: 'color 0.3s',\r\n };\r\n \r\n const handleMouseEnter = () => setHovered(true);\r\n const handleMouseLeave = () => setHovered(false);\r\n\r\n const checklist = labelStep.reduce((acc, Component, index) => {\r\n\r\n if (Component.responseCode == '00') {\r\n // acc[index + 1] = <CustomCheckIcon />;\r\n acc[index + 1] = <>\r\n <HtmlTooltip\r\n title={\r\n <React.Fragment>\r\n <Typography color=\"inherit\">{Component.responseDesc}</Typography>\r\n </React.Fragment>\r\n }\r\n >\r\n <CustomInfoIcon \r\n style={iconStyles}\r\n onMouseEnter={handleMouseEnter}\r\n onMouseLeave={handleMouseLeave} \r\n /> \r\n </HtmlTooltip>\r\n <CustomCheckIcon />\r\n </>;\r\n\r\n } else {\r\n // acc[index + 1] = <CustomFailedIcon />;\r\n acc[index + 1] = <>\r\n <HtmlTooltip\r\n title={\r\n <React.Fragment>\r\n <Typography color=\"inherit\">{Component.responseDesc}</Typography>\r\n </React.Fragment>\r\n }\r\n >\r\n <CustomInfoIcon \r\n style={iconStyles}\r\n onMouseEnter={handleMouseEnter}\r\n onMouseLeave={handleMouseLeave} \r\n /> \r\n </HtmlTooltip>\r\n <CustomFailedIcon />\r\n </>;\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return (\r\n <>\r\n <ColorlibStepIconRoot ownerState={{ active, completed }} className={className}>\r\n {completed ? checklist[String(props.icon)] : active ? icons[String(props.icon)] : ''}\r\n </ColorlibStepIconRoot>\r\n </>\r\n );\r\n }\r\n\r\n ColorlibStepIcon.propTypes = {\r\n /**\r\n * Whether this step is active.\r\n * @default false\r\n */\r\n active: PropTypes.bool,\r\n className: PropTypes.string,\r\n /**\r\n * Mark the step as completed. Is passed to child components.\r\n * @default false\r\n */\r\n completed: PropTypes.bool,\r\n /**\r\n * The label displayed in the step icon.\r\n */\r\n icon: PropTypes.node,\r\n };\r\n\r\n React.useEffect(() => {\r\n\r\n const incrementStep = () => {\r\n setActiveStep((prevActiveStep) =>\r\n prevActiveStep <= steps?.length - 1 ? prevActiveStep + 1 : prevActiveStep\r\n\r\n );\r\n };\r\n\r\n let time = 300;\r\n if (labelStep !== undefined && labelStep.length > 0 && activeStep > 0) {\r\n let count = activeStep == 0 ? 0 : activeStep - 1;\r\n\r\n if (steps?.length !== labelStep.length) {\r\n handleReset();\r\n } else {\r\n time = labelStep[count]?.responseTime;\r\n }\r\n\r\n }\r\n\r\n if (steps?.length !== props.stepper?.length) {\r\n handleReset();\r\n } else {\r\n setTimeout(incrementStep, time);\r\n }\r\n \r\n }, [activeStep, labelStep, props.stepper, steps, steps?.length]);\r\n\r\n\r\n const handleReset = () => {\r\n setActiveStep(0);\r\n };\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 return (\r\n <Dialog\r\n open={open}\r\n onClose={handleClose}\r\n\r\n aria-labelledby=\"alert-dialog-title\"\r\n aria-describedby=\"alert-dialog-description\"\r\n sx={{\r\n \"& .MuiDialog-container\": {\r\n \"& .MuiPaper-root\": {\r\n width: \"100%\",\r\n maxWidth: \"550px\", // Set your width here\r\n },\r\n \"& .MuiDialog-paper\": {\r\n borderRadius: \"10px\",\r\n },\r\n },\r\n }}\r\n {...props}\r\n >\r\n <DialogTitle id=\"alert-dialog-title\"\r\n onClose={onClose}\r\n sx={{\r\n textAlign: \"center\",\r\n paddingTop: \"20px\",\r\n }}>\r\n <p className=\"text-lg font-extrabold pt-2\">\r\n Penyimpanan {title} dalam Proses\r\n </p>\r\n <IconButton\r\n aria-label=\"close\"\r\n onClick={onClose}\r\n sx={{\r\n position: \"absolute\",\r\n right: 8,\r\n top: 8,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </DialogTitle>\r\n <DialogContent\r\n sx={{\r\n display: \"grid\",\r\n justifyContent: \"center\",\r\n }}\r\n >\r\n <Alert severity=\"info\">\r\n Harap tunggu dan jangan menutup layar hingga proses selesai.\r\n </Alert>\r\n\r\n <div className=\"flex justify-start w-full py-2\">\r\n <Box sx={{ maxWidth: 400, padding: \"10px\" }}>\r\n <Stepper activeStep={activeStep} orientation=\"vertical\">\r\n {labelStep?.map((labelStep) => (\r\n <Step key={labelStep.label}\r\n sx={{\r\n \"& .MuiStepIcon-root.Mui-completed\": {\r\n color: \"#00871F\",\r\n },\r\n }}\r\n >\r\n <StepLabel StepIconComponent={ColorlibStepIcon}>\r\n {labelStep.label}\r\n </StepLabel>\r\n <StepContent>\r\n <Typography>{labelStep.description}</Typography>\r\n </StepContent>\r\n </Step>\r\n ))}\r\n </Stepper>\r\n {/* {activeStep === labelStep?.length && (\r\n <Paper square elevation={0} sx={{ p: 3 }}>\r\n {labelStep[activeStep - 1]?.responseCode === '00' ?\r\n <Typography>Sukses menambahkan data!</Typography> :\r\n <Typography variant=\"body1\" sx={{ color: '#f2172f' }}>Gagal menambahkan data!</Typography>\r\n }\r\n <Button onClick={handleReset} sx={{ mt: 1, mr: 1 }}>\r\n Reset\r\n </Button>\r\n </Paper>\r\n )} */}\r\n </Box>\r\n </div>\r\n </DialogContent>\r\n <DialogActions\r\n sx={{\r\n justifyContent: \"center\",\r\n columnGap: \"0.5rem\",\r\n padding: \"0 1.5rem 1.5rem\",\r\n }}\r\n >\r\n\r\n {navState === '2' ? <Link href=\"/pipeline/pipeline-international\">\r\n <ButtonDefault\r\n sx={{ padding: \"8px 0\" }}\r\n model=\"fill\"\r\n color=\"#00529C\"\r\n onClick={() => {\r\n onClose();\r\n }}\r\n autoFocus\r\n disabled={lengthUpload !== 0 ? true : false}\r\n >\r\n Oke\r\n </ButtonDefault>\r\n\r\n </Link> :\r\n navState === '3' ? <Link href={id_pengajuan !== 0 ? `/prakarsa/prakarsa-international/dashboard/${id_pengajuan}` : `/prakarsa/prakarsa-international/`}>\r\n <ButtonDefault\r\n sx={{ padding: \"8px 0\" }}\r\n model=\"fill\"\r\n color=\"#00529C\"\r\n onClick={() => {\r\n onClose();\r\n }}\r\n autoFocus\r\n disabled={lengthUpload !== 0 ? true : false}\r\n >\r\n Oke\r\n </ButtonDefault>\r\n\r\n </Link> :\r\n navState === '4' ? <Link href={id_pengajuan !== 0 ? `/monitoring/monitoring-korporasi/internasional/dashboard/${id_pengajuan}` : `/monitoring/monitoring-korporasi/`}>\r\n <ButtonDefault\r\n sx={{ padding: \"8px 0\" }}\r\n model=\"fill\"\r\n color=\"#00529C\"\r\n onClick={() => {\r\n onClose();\r\n }}\r\n autoFocus\r\n disabled={lengthUpload !== 0 ? true : false}\r\n >\r\n Oke\r\n </ButtonDefault>\r\n </Link> :\r\n navState === '5' ? <Link href={id_pengajuan !== 0 ? `/approval/approval-korporasi/internasional/dashboard/${id_pengajuan}` : `/approval/approval-korporasi/`}>\r\n <ButtonDefault\r\n sx={{ padding: \"8px 0\" }}\r\n model=\"fill\"\r\n color=\"#00529C\"\r\n onClick={() => {\r\n onClose();\r\n }}\r\n autoFocus\r\n disabled={lengthUpload !== 0 ? true : false}\r\n >\r\n Oke\r\n </ButtonDefault>\r\n </Link> :\r\n <ButtonDefault\r\n sx={{ padding: \"8px 0\" }}\r\n model=\"fill\"\r\n color=\"#00529C\"\r\n onClick={() => {\r\n onClose();\r\n }}\r\n autoFocus\r\n disabled={lengthUpload !== 0 ? true : false}\r\n >\r\n Oke\r\n </ButtonDefault>}\r\n </DialogActions>\r\n </Dialog>\r\n );\r\n};\r\n","import { ButtonDefault } from \"@/components/legacy/atoms/buttons/default\";\r\nimport {\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n DialogTitle,\r\n IconButton,\r\n} from \"@mui/material\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport { callAsset } from \"@/utils/asset\";\r\nimport Image from \"next/image\";\r\n\r\nexport const ModalSuccess = ({ open, onClose, onConfirm, description, title = 'Yeay!', image, ...props }) => {\r\n\r\n const defaultImage = \"/images/thumb-dialog-success.svg\";\r\n const imageSource = image || defaultImage;\r\n\r\n const handleButtonClick = () => {\r\n // if (onConfirm()) {\r\n // onConfirm();\r\n // } else {\r\n // onClose();\r\n // }\r\n const result = onConfirm?.();\r\n if (result !== false) {\r\n onClose?.();\r\n }\r\n };\r\n\r\n return (\r\n <Dialog\r\n open={open}\r\n onClose={onClose}\r\n aria-labelledby=\"alert-dialog-title\"\r\n aria-describedby=\"alert-dialog-description\"\r\n sx={{\r\n \"& .MuiDialog-container\": {\r\n \"& .MuiPaper-root\": {\r\n width: \"100%\",\r\n maxWidth: \"350px\", // Set your width here\r\n },\r\n \"& .MuiDialog-paper\": {\r\n borderRadius: \"10px\",\r\n },\r\n },\r\n }}\r\n {...props}\r\n >\r\n <DialogTitle id=\"alert-dialog-title\" onClose={onClose}>\r\n <IconButton\r\n aria-label=\"close\"\r\n onClick={onClose}\r\n sx={{\r\n position: \"absolute\",\r\n right: 8,\r\n top: 8,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </DialogTitle>\r\n <DialogContent\r\n sx={{\r\n display: \"grid\",\r\n justifyContent: \"center\",\r\n }}\r\n >\r\n <Image\r\n src={callAsset(imageSource)}\r\n width={160}\r\n height={140}\r\n alt=\"modal-loading\"\r\n className=\"justify-self-center\"\r\n priority\r\n />\r\n <div className=\"text-lg font-extrabold text-center\">{ title }</div>\r\n <div className=\"text-center mt-4\">{description}</div>\r\n </DialogContent>\r\n <DialogActions\r\n sx={{\r\n justifyContent: \"center\",\r\n columnGap: \"0.5rem\",\r\n padding: \"0 1.5rem 1.5rem\",\r\n }}\r\n >\r\n <ButtonDefault\r\n sx={{ padding: \"8px 0\" }}\r\n model=\"fill\"\r\n color=\"#00529C\"\r\n onClick={handleButtonClick} \r\n autoFocus\r\n >\r\n Oke\r\n </ButtonDefault>\r\n </DialogActions>\r\n </Dialog>\r\n );\r\n};","import { callAsset } from \"@/utils/asset\";\r\nimport { Dialog, DialogActions, DialogContent, DialogTitle, IconButton } from \"@mui/material\";\r\nimport Image from \"next/image\";\r\nimport CloseIcon from '@mui/icons-material/Close';\r\nimport { ButtonDefault } from \"@/components/legacy/atoms/buttons/default\";\r\n\r\nexport const ModalWarning = ({\r\n open,\r\n onClose,\r\n onConfirm,\r\n description,\r\n title = \"Oops!\",\r\n ...props\r\n}) => {\r\n const handleButtonClick = () => {\r\n if (onConfirm()) {\r\n onConfirm();\r\n } else {\r\n onClose();\r\n }\r\n };\r\n\r\n return (\r\n <Dialog\r\n open={open}\r\n onClose={onClose}\r\n aria-labelledby=\"alert-dialog-title\"\r\n aria-describedby=\"alert-dialog-description\"\r\n sx={{\r\n \"& .MuiDialog-container\": {\r\n \"& .MuiPaper-root\": {\r\n width: \"100%\",\r\n maxWidth: \"350px\", // Set your width here\r\n },\r\n \"& .MuiDialog-paper\": {\r\n borderRadius: \"10px\",\r\n },\r\n },\r\n }}\r\n {...props}\r\n >\r\n <DialogTitle id=\"alert-dialog-title\" onClose={onClose}>\r\n <IconButton\r\n aria-label=\"close\"\r\n onClick={onClose}\r\n sx={{\r\n position: 'absolute',\r\n right: 8,\r\n top: 8,\r\n }}\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </DialogTitle>\r\n <DialogContent\r\n sx={{\r\n display: 'grid',\r\n justifyContent: 'center'\r\n }}\r\n >\r\n <Image\r\n src={callAsset(\"/images/thumb-dialog-warning.svg\")}\r\n width={160}\r\n height={140}\r\n alt=\"modal-loading\"\r\n className=\"justify-self-center\"\r\n priority\r\n />\r\n <div className=\"text-lg font-extrabold justify-self-center\">\r\n {title}\r\n </div>\r\n <div className=\"text-center mt-4\">\r\n {description}\r\n </div>\r\n </DialogContent>\r\n <DialogActions\r\n sx={{\r\n justifyContent: 'center',\r\n columnGap: '0.5rem',\r\n padding: '0 1.5rem 1.5rem'\r\n }}\r\n >\r\n <ButtonDefault\r\n sx={{ padding: \"8px 0\" }}\r\n model=\"fill\"\r\n color=\"#00529C\"\r\n onClick={handleButtonClick}\r\n autoFocus\r\n >\r\n Kembali\r\n </ButtonDefault>\r\n </DialogActions>\r\n </Dialog>\r\n );\r\n};\r\n","export class ModalSuccessUtil {\r\n static modalRef;\r\n static setModalRef = (ref) => {\r\n this.modalRef = ref;\r\n };\r\n static showModal = (message = \"\", onConfirm = () => {}, title = \"Yeay!\", image = \"/images/thumb-dialog-success.svg\") => { \r\n this.modalRef.current?.show(message, () => onConfirm(), title, image); \r\n };\r\n static hideModal = () => {\r\n this.modalRef.current?.hide();\r\n };\r\n}\r\n\r\nexport class ModalErrorUtil {\r\n static modalRef;\r\n static setModalRef = (ref) => {\r\n this.modalRef = ref;\r\n };\r\n static showModal = (message = \"\", onConfirm = () => {}, title = \"Error!\") => {\r\n this.modalRef.current?.show(message, () => onConfirm(), title);\r\n };\r\n static hideModal = () => {\r\n this.modalRef.current?.hide();\r\n };\r\n}\r\n\r\nexport class ModalLoadingUtil {\r\n static modalRef;\r\n static setModalRef = (ref) => {\r\n this.modalRef = ref;\r\n };\r\n static showModal = () => {\r\n this?.modalRef?.current?.show();\r\n };\r\n static hideModal = () => {\r\n this?.modalRef?.current?.hide();\r\n };\r\n}\r\n\r\nexport class ModalConfirmUtil {\r\n static modalRef;\r\n static setModalRef = (ref) => {\r\n this.modalRef = ref;\r\n };\r\n static showModal = (message = \"\", onConfirm, title, onCancel, maxWidth) => {\r\n this.modalRef.current?.show(message, () => onConfirm(), title, onCancel, maxWidth);\r\n };\r\n static hideModal = () => {\r\n this.modalRef.current?.hide();\r\n };\r\n}\r\n\r\nexport class ModalWarningUtil {\r\n static modalRef;\r\n static setModalRef = (ref) => {\r\n this.modalRef = ref;\r\n };\r\n static showModal = (message = \"\", onConfirm = () => {}, title = \"Oops!\") => {\r\n this.modalRef.current?.show(message, () => onConfirm(), title);\r\n };\r\n static hideModal = () => {\r\n this.modalRef.current?.hide();\r\n };\r\n}\r\n\r\nexport class ModalConfirmDinamisUtil {\r\n static modalRef;\r\n static setModalRef = (ref) => {\r\n this.modalRef = ref;\r\n };\r\n static showModal = (\r\n message = \"\",\r\n onConfirm,\r\n title,\r\n onCancel,\r\n cancelButtonText,\r\n confirmButtonText,\r\n cancelButtonProps = {},\r\n confirmButtonProps = {},\r\n icon\r\n ) => {\r\n this.modalRef.current?.show(\r\n message,\r\n onConfirm,\r\n title,\r\n onCancel,\r\n cancelButtonText,\r\n confirmButtonText,\r\n cancelButtonProps,\r\n confirmButtonProps,\r\n icon\r\n );\r\n };\r\n static hideModal = () => {\r\n this.modalRef.current?.hide();\r\n };\r\n}\r\n\r\nexport class ModalSuccessPipelineUtil {\r\n static modalRef;\r\n static setModalRef = (ref) => {\r\n this.modalRef = ref;\r\n };\r\n static showModal = (\r\n title = \"\",\r\n stepper = [],\r\n navState = 0,\r\n lengthUpload = 0,\r\n id_pengajuan = 0\r\n ) => {\r\n this.modalRef.current?.show(\r\n title,\r\n stepper,\r\n navState,\r\n lengthUpload,\r\n id_pengajuan\r\n );\r\n };\r\n static hideModal = () => {\r\n this.modalRef.current?.hide();\r\n };\r\n}\r\n\r\nexport class ModalStepperUtil {\r\n static modalRef;\r\n static setModalRef = (ref) => {\r\n this.modalRef = ref;\r\n };\r\n static showModal = (message = \"\", title, stepper = []) => {\r\n this.modalRef.current?.show(message, title, stepper);\r\n };\r\n static hideModal = () => {\r\n this.modalRef.current?.hide();\r\n };\r\n}\r\n\r\nexport class ModalSuccessDinamisUtil {\r\n static modalRef;\r\n static setModalRef = (ref) => {\r\n this.modalRef = ref;\r\n };\r\n static showModal = (message = \"\", onConfirm = () => {}, title, image, textButton) => { \r\n this.modalRef.current?.show(message, () => onConfirm(), title, image, textButton); \r\n };\r\n static hideModal = () => {\r\n this.modalRef.current?.hide();\r\n };\r\n}\r\n","import {\r\n ModalSuccessUtil,\r\n ModalErrorUtil,\r\n ModalLoadingUtil,\r\n ModalConfirmUtil,\r\n ModalWarningUtil,\r\n ModalStepperUtil,\r\n ModalConfirmDinamisUtil,\r\n ModalSuccessPipelineUtil,\r\n ModalSuccessDinamisUtil,\r\n} from \"@/helpers/modal\";\r\nimport { ModalSuccess } from \"../success\";\r\nimport { ModalError } from \"../error\";\r\nimport { ModalLoading } from \"../loading\";\r\nimport { ModalConfirmation } from \"../confirmation\";\r\nimport { ModalSuccessPipeline } from \"../success-pipeline\";\r\nimport { ModalWarning } from \"../warning\";\r\nimport { ModalStepper } from \"../stepper\";\r\nimport { ModalConfirmationDinamis } from \"../confirmationDinamis\";\r\nimport { ModalSuccessDinamis } from \"../success-dinamis\";\r\n\r\nimport { useEffect, useImperativeHandle, useRef, useState } from \"react\";\r\n\r\nconst useRegisterModal = (ModalUtil, modalRef, { onShow, onHide }) => {\r\n useEffect(() => {\r\n ModalUtil.setModalRef(modalRef);\r\n }, [ModalUtil, modalRef]);\r\n\r\n useImperativeHandle(\r\n modalRef,\r\n () => ({\r\n show: onShow,\r\n hide: onHide,\r\n }),\r\n [onHide, onShow]\r\n );\r\n};\r\n\r\nexport const ModalGlobal = () => {\r\n const [modalSuccessPipelineProps, setModalSuccessPipelineProps] = useState({\r\n open: false,\r\n description: \"\",\r\n });\r\n const [modalSuccessProps, setModalSuccessProps] = useState({\r\n open: false,\r\n description: \"\",\r\n onConfirm: () => {},\r\n image: \"\",\r\n });\r\n const [modalSuccessDinamisProps, setModalSuccessDinamisProps] = useState({\r\n open: false,\r\n description: \"\",\r\n onConfirm: () => {},\r\n image: \"\",\r\n textButton: \"\",\r\n });\r\n const [modalErrorProps, setModalErrorProps] = useState({\r\n open: false,\r\n description: \"\",\r\n onConfirm: () => {},\r\n });\r\n const [modalConfirmProps, setModalConfirmProps] = useState({\r\n open: false,\r\n description: \"\",\r\n onConfirm: () => {},\r\n maxWidth: \"350px\",\r\n });\r\n const [modalLoadingProps, setModalLoadingProps] = useState({\r\n open: false,\r\n });\r\n const [modalStepperProps, setModalStepperProps] = useState({\r\n open: false,\r\n description: \"\",\r\n });\r\n const [modalWarningProps, setModalWarningProps] = useState({\r\n open: false,\r\n description: \"\",\r\n onConfirm: () => {},\r\n });\r\n const [modalConfirmDinamisProps, setModalConfirmDinamisProps] = useState({\r\n open: false,\r\n description: \"\",\r\n onConfirm: () => {},\r\n cancelButtonText:\"\",\r\n confirmButtonText:\"\",\r\n cancelButtonProps: {},\r\n confirmButtonProps: {},\r\n icon:\"\",\r\n });\r\n\r\n const modalSuccessRef = useRef();\r\n const modalErrorRef = useRef();\r\n const modalConfirmRef = useRef();\r\n const modalLoadingRef = useRef();\r\n const modalSuccessPipelineRef = useRef();\r\n const modalWarningRef = useRef();\r\n const modalStepperRef = useRef();\r\n const modalConfirmDinamisRef = useRef();\r\n const modalSuccessDinamisRef = useRef();\r\n\r\n const _closeModalSuccessPipeline = () =>\r\n setModalSuccessPipelineProps({ open: false });\r\n const _closeModalSuccess = () => setModalSuccessProps({ open: false });\r\n const _closeModalError = () => setModalErrorProps({ open: false });\r\n const _closeModalConfirm = () => setModalConfirmProps({ open: false });\r\n const _closeModalLoading = () => setModalLoadingProps({ open: false });\r\n const _closeModalStepper = () => setModalStepperProps({ open: false });\r\n const _closeModalWarning = () => setModalWarningProps({ open: false });\r\n const _closeModalConfirmDinamis = () =>\r\n setModalConfirmDinamisProps({ open: false });\r\n const _closeModalSuccessDinamis = () => setModalSuccessDinamisProps({ open: false });\r\n\r\n useRegisterModal(ModalSuccessUtil, modalSuccessRef, {\r\n onShow: (message, onConfirm, title, image) =>\r\n setModalSuccessProps({\r\n open: true,\r\n description: message,\r\n onConfirm,\r\n title: title,\r\n image,\r\n }),\r\n onHide: _closeModalSuccess,\r\n });\r\n\r\n useRegisterModal(ModalSuccessPipelineUtil, modalSuccessPipelineRef, {\r\n onShow: (title, stepper, navState, lengthUpload, id_pengajuan) =>\r\n setModalSuccessPipelineProps({ open: true, title: title, stepper: stepper, navState: navState, lengthUpload: lengthUpload, id_pengajuan: id_pengajuan }),\r\n onHide: _closeModalSuccessPipeline,\r\n });\r\n\r\n useRegisterModal(ModalErrorUtil, modalErrorRef, {\r\n onShow: (message, onConfirm, title) =>\r\n setModalErrorProps({ open: true, description: message, onConfirm, title: title }),\r\n onHide: _closeModalError,\r\n });\r\n\r\n useRegisterModal(ModalConfirmUtil, modalConfirmRef, {\r\n onShow: (message, onConfirm, title, onCancel, maxWidth) =>\r\n setModalConfirmProps({\r\n open: true,\r\n description: message,\r\n onConfirm,\r\n title: title,\r\n maxWidth: maxWidth || \"350px\",\r\n }),\r\n onHide: _closeModalConfirm,\r\n });\r\n\r\n useRegisterModal(ModalLoadingUtil, modalLoadingRef, {\r\n onShow: () => setModalLoadingProps({ open: true }),\r\n onHide: _closeModalLoading,\r\n });\r\n\r\n useRegisterModal(ModalStepperUtil, modalStepperRef, {\r\n onShow: (message, stepper) =>\r\n setModalStepperProps({ open: true, description: message, stepper: stepper }),\r\n onHide: _closeModalStepper,\r\n })\r\n\r\n useRegisterModal(ModalWarningUtil, modalWarningRef, {\r\n onShow: (message, onConfirm, title) =>\r\n setModalWarningProps({ open: true, description: message, onConfirm, title: title }),\r\n onHide: _closeModalWarning,\r\n });\r\n\r\n useRegisterModal(ModalConfirmDinamisUtil, modalConfirmDinamisRef, {\r\n onShow: (\r\n message,\r\n onConfirm,\r\n title,\r\n cancelButtonText,\r\n confirmButtonText,\r\n cancelButtonProps,\r\n confirmButtonProps,\r\n icon,\r\n ) =>\r\n setModalConfirmDinamisProps({\r\n open: true,\r\n description: message,\r\n onConfirm,\r\n title: title,\r\n cancelButtonText,\r\n confirmButtonText,\r\n cancelButtonProps, // Pass the cancelButtonProps here\r\n confirmButtonProps, // Pass the confirmButtonProps here\r\n icon,\r\n }),\r\n onHide: _closeModalConfirmDinamis,\r\n });\r\n\r\n useRegisterModal(ModalSuccessDinamisUtil, modalSuccessDinamisRef, {\r\n onShow: (message, onConfirm, title, image, textButton) =>\r\n setModalSuccessDinamisProps({ open: true, description: message, onConfirm, title: title, image, textButton}),\r\n onHide: _closeModalSuccessDinamis,\r\n });\r\n\r\n return (\r\n <>\r\n <ModalSuccess onClose={_closeModalSuccess} {...modalSuccessProps} />\r\n <ModalError onClose={_closeModalError} {...modalErrorProps} />\r\n <ModalConfirmation onClose={_closeModalConfirm} {...modalConfirmProps} />\r\n <ModalLoading onClose={_closeModalLoading} {...modalLoadingProps} />\r\n <ModalSuccessPipeline onClose={_closeModalSuccessPipeline} {...modalSuccessPipelineProps} />\r\n <ModalWarning onClose={_closeModalWarning} {...modalWarningProps} />\r\n <ModalStepper onClose={_closeModalStepper} {...modalStepperProps} />\r\n <ModalConfirmationDinamis\r\n onClose={_closeModalConfirmDinamis}\r\n {...modalConfirmDinamisProps}\r\n />\r\n <ModalSuccessDinamis onClose={_closeModalSuccessDinamis} {...modalSuccessDinamisProps} />\r\n </>\r\n );\r\n};\r\n","export 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 as: Component = 'div',\r\n style,\r\n children,\r\n ...rest\r\n}) => {\r\n const borderRadius = Radius[radius] ?? Radius.radius_0;\r\n\r\n return (\r\n <Component\r\n {...rest}\r\n style={{\r\n borderRadius,\r\n backgroundColor: '#f5f5f5',\r\n padding: 16,\r\n display: 'inline-flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n ...style,\r\n }}\r\n >\r\n {children}\r\n </Component>\r\n );\r\n};\r\n\r\nexport default RadiusToken;\r\n","import MuiTypographyRaw from \"@mui/material/Typography\";\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 black: {\r\n value: \"#131313\",\r\n token: \"color_text_black\",\r\n alias: \"color_palette_neutral_100\",\r\n },\r\n darkGrey: {\r\n value: \"#555555\",\r\n token: \"color_text_dark_grey\",\r\n alias: \"color_palette_neutral_80\",\r\n },\r\n grey: {\r\n value: \"#999999\",\r\n token: \"color_text_grey\",\r\n alias: \"color_palette_neutral_70\",\r\n },\r\n lightGrey: {\r\n value: \"#EDEDED\",\r\n token: \"color_text_light_grey\",\r\n alias: \"color_palette_neutral_30\",\r\n },\r\n white: {\r\n value: \"#FFFFFF\",\r\n token: \"color_text_white\",\r\n alias: \"color_palette_neutral_10\",\r\n },\r\n blue: {\r\n value: \"#00529C\",\r\n token: \"color_text_blue\",\r\n alias: \"color_palette_blue\",\r\n },\r\n orange: {\r\n value: \"#ED6E12\",\r\n token: \"color_text_orange\",\r\n alias: \"color_palette_orange\",\r\n },\r\n green: {\r\n value: \"#27AE60\",\r\n token: \"color_text_green\",\r\n alias: \"color_palette_green\",\r\n },\r\n red: {\r\n value: \"#E84040\",\r\n token: \"color_text_red\",\r\n alias: \"color_palette_red\",\r\n },\r\n yellow: {\r\n value: \"#E8C046\",\r\n token: \"color_text_yellow\",\r\n alias: \"color_palette_yellow\",\r\n },\r\n};\r\n\r\nexport const VariantStyles = {\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 Typography = ({\r\n variant = \"body1_regular.black\",\r\n children,\r\n sx,\r\n ...props\r\n}) => {\r\n let actualVariant = variant;\r\n let actualColor = \"black\";\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 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","/* ================================\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\") {\r\n return `${value}px`;\r\n }\r\n\r\n if (typeof value === \"string\") {\r\n return tokens[value] ?? value;\r\n }\r\n\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 as: Component = 'div',\r\n className,\r\n style,\r\n ...rest\r\n}) => {\r\n const value = resolveSpacingValue(size, SpacingToken);\r\n const spacingStyle =\r\n axis === 'vertical'\r\n ? { height: value }\r\n : { width: value, display: 'inline-block' };\r\n\r\n return (\r\n <Component\r\n aria-hidden\r\n className={className}\r\n style={{\r\n ...spacingStyle,\r\n ...style,\r\n }}\r\n {...rest}\r\n />\r\n );\r\n};\r\n\r\n/* ================================\r\n * CONTENT SPACING (LAYOUT)\r\n * ================================ */\r\n\r\nexport const ContentSpacing = ({\r\n size = 'spacing_2',\r\n breakpoint = 'web',\r\n as: Component = 'div',\r\n className,\r\n style,\r\n children,\r\n ...rest\r\n}) => {\r\n const token =\r\n typeof size === 'string'\r\n ? CONTENT_SPACING_TOKENS[size]\r\n : 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 <Component\r\n className={className}\r\n style={{\r\n padding: value,\r\n ...style,\r\n }}\r\n {...rest}\r\n >\r\n {children}\r\n </Component>\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 { 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 { CircleCross } from \"@/components/legacy/atoms/icons/circle-cross\";\r\nimport { CircleCheck } from \"@/components/legacy/atoms/icons/circle-check\";\r\nimport { IconInfo } from \"@/components/legacy/atoms/icons/info\";\r\nimport { IconExclamation } from \"@/components/legacy/atoms/icons/exclamation\";\r\n\r\nconst Alert = AlertRaw?.default ?? AlertRaw;\r\nconst AlertTitle = AlertTitleRaw?.default ?? AlertTitleRaw;\r\n\r\nconst ALERT_CONFIG = {\r\n default: {\r\n bg: PrimitiveColor.color_palette_neutral_20,\r\n iconColor: PrimitiveColor.color_palette_neutral_80,\r\n defaultIcon: IconExclamation,\r\n },\r\n error: {\r\n bg: PrimitiveColor.color_palette_light_red,\r\n iconColor: PrimitiveColor.color_palette_red,\r\n defaultIcon: CircleCross,\r\n },\r\n info: {\r\n bg: PrimitiveColor.color_palette_light_blue,\r\n iconColor: PrimitiveColor.color_palette_blue,\r\n defaultIcon: IconInfo,\r\n },\r\n success: {\r\n bg: PrimitiveColor.color_palette_light_green,\r\n iconColor: PrimitiveColor.color_palette_green,\r\n defaultIcon: CircleCheck,\r\n },\r\n warning: {\r\n bg: PrimitiveColor.color_palette_light_yellow,\r\n iconColor: PrimitiveColor.color_palette_yellow,\r\n defaultIcon: IconInfo,\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 childrenStyle = {},\r\n ...props\r\n}) => {\r\n const config = ALERT_CONFIG[variant] ?? ALERT_CONFIG.default;\r\n const isStyled = Object.keys(childrenStyle).length > 0;\r\n\r\n const renderIcon = useMemo(() => {\r\n if (isValidElement(icon)) return icon;\r\n if (typeof icon === \"function\")\r\n return createElement(icon, {\r\n color: config.iconColor,\r\n isSmall: true,\r\n });\r\n const DefaultIcon = config.defaultIcon;\r\n return <DefaultIcon color={config.iconColor} isSmall />;\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 {isStyled ? <span style={childrenStyle}>{children}</span> : children}\r\n </Alert>\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: PrimitiveColor.color_blue_cakrawala_500,\r\n color_bg_brand_primary_subtle: PrimitiveColor.color_blue_cakrawala_100,\r\n color_bg_brand_secondary: PrimitiveColor.color_blue_mentari_500,\r\n color_bg_brand_secondary_subtle: PrimitiveColor.color_mentari_100,\r\n\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: PrimitiveColor.color_red_500,\r\n color_bg_danger_subtle: PrimitiveColor.color_red_300,\r\n\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","export 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\n/* ================================\r\n * SHADOW / ELEVATION COMPONENT\r\n * ================================ */\r\n\r\nexport const ShadowToken = ({\r\n level = 'elevation_0',\r\n as: Component = 'div',\r\n style,\r\n children,\r\n ...rest\r\n}) => {\r\n const token =\r\n Shadow[level] || Shadow.elevation_0;\r\n\r\n return (\r\n <Component\r\n {...rest}\r\n style={{\r\n backgroundColor: token.surface,\r\n boxShadow: token.shadow,\r\n ...style,\r\n }}\r\n >\r\n {children}\r\n </Component>\r\n );\r\n};\r\n\r\nexport default ShadowToken;\r\n","import ButtonBaseRaw from \"@mui/material/ButtonBase\";\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\n\r\nconst WHITE = PrimitiveColor.color_palette_neutral_10;\r\nconst SIZE_TYPOGRAPHY = {\r\n large: \"body2_regular\",\r\n small: \"body1_regular\",\r\n};\r\nconst DISABLED_BG = PrimitiveColor.color_palette_neutral_40;\r\nconst DISABLED_TEXT = PrimitiveColor.color_palette_neutral_60;\r\n\r\nexport const BaseButton = ({\r\n onClick = () => {},\r\n children = null,\r\n variant = \"fill\",\r\n color = \"color_palette_blue\",\r\n size = \"large\",\r\n disabled = false,\r\n icon = null,\r\n sx = {},\r\n ...rest\r\n}) => {\r\n const resolveColor = (color) => {\r\n if (!color) return PrimitiveColor.color_palette_blue;\r\n if (typeof color === \"string\" && PrimitiveColor[color])\r\n return PrimitiveColor[color];\r\n return color;\r\n };\r\n\r\n const resolvedColor = resolveColor(color);\r\n\r\n const isFill =\r\n variant === \"fill\" || variant === \"fab\" || variant === \"ellipse-fill\";\r\n const isOutline = variant === \"outline\" || variant === \"ellipse-outline\";\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 return (\r\n <ButtonBase\r\n disabled={disabled}\r\n onClick={onClick}\r\n sx={{\r\n width: \"auto\",\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 // gap: 8,\r\n ...typographyStyle,\r\n backgroundColor: disabled\r\n ? isFill\r\n ? DISABLED_BG\r\n : \"transparent\"\r\n : isFill\r\n ? resolvedColor\r\n : \"transparent\",\r\n color: disabled ? DISABLED_TEXT : isFill ? WHITE : resolvedColor,\r\n border: disabled\r\n ? isOutline\r\n ? `1.5px solid ${DISABLED_BG}`\r\n : \"none\"\r\n : isOutline\r\n ? `1.5px solid ${resolvedColor}`\r\n : \"none\",\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 \"&:hover\": {\r\n boxShadow: !disabled ? \"0 2px 4px rgba(0,0,0,0.1)\" : \"none\",\r\n backgroundColor: !disabled && isFill ? resolvedColor : undefined,\r\n },\r\n \"&:active\": {\r\n transform: !disabled ? \"scale(0.97)\" : \"none\",\r\n },\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {icon && (\r\n <span\r\n style={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n marginRight: children ? 4 : 0,\r\n lineHeight: 0,\r\n }}\r\n >\r\n {icon}\r\n </span>\r\n )}\r\n\r\n {children}\r\n </ButtonBase>\r\n );\r\n};\r\n","import { useState } from \"react\";\r\nimport MuiCardRaw from \"@mui/material/Card\";\r\nimport CardHeaderRaw from \"@mui/material/CardHeader\";\r\nimport IconButtonRaw from \"@mui/material/IconButton\";\r\nimport CollapseRaw from \"@mui/material/Collapse\";\r\nimport AccountBalanceIconRaw from \"@mui/icons-material/AccountBalance\";\r\nimport KeyboardArrowDownIconRaw from \"@mui/icons-material/KeyboardArrowDown\";\r\nimport KeyboardArrowUpIconRaw from \"@mui/icons-material/KeyboardArrowUp\";\r\nimport { formatCurrency, formatNominal } from \"@/utils/formatString\";\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 AccountBalanceIcon =\r\n AccountBalanceIconRaw?.default ?? AccountBalanceIconRaw;\r\nconst KeyboardArrowDownIcon =\r\n KeyboardArrowDownIconRaw?.default ?? KeyboardArrowDownIconRaw;\r\nconst KeyboardArrowUpIcon =\r\n KeyboardArrowUpIconRaw?.default ?? KeyboardArrowUpIconRaw;\r\nconst MuiCard = MuiCardRaw?.default ?? MuiCardRaw;\r\nconst CardHeader = CardHeaderRaw?.default ?? CardHeaderRaw;\r\nconst IconButton = IconButtonRaw?.default ?? IconButtonRaw;\r\nconst Collapse = CollapseRaw?.default ?? CollapseRaw;\r\nexport const BaseCard = ({\r\n type = \"default\",\r\n children = null,\r\n sx = {},\r\n icon = null,\r\n label = \"\",\r\n title = \"\",\r\n subtitle = \"\",\r\n dataList = [],\r\n updateDate = \"-\",\r\n boldCountIcon = false,\r\n boldCount = false,\r\n boldTitle = false,\r\n boldUpdate = false,\r\n iconHeader = (\r\n <AccountBalanceIcon sx={{ color: PrimitiveColor.color_palette_blue }} />\r\n ),\r\n backgroundColor = \"\",\r\n colorTitlte = PrimitiveColor.color_palette_neutral_10,\r\n colorNominal = PrimitiveColor.color_palette_neutral_10,\r\n displayIcon = true,\r\n formatNumber = \"currency\",\r\n colorCount = PrimitiveColor.color_palette_neutral_10,\r\n headerBackgroundColor = \"\",\r\n isCollapsible = true,\r\n ...restProps\r\n}) => {\r\n const [open, setOpen] = useState(true);\r\n\r\n // Default backgroundColor sesuai type\r\n if (!backgroundColor) {\r\n switch (type) {\r\n case \"notification\":\r\n backgroundColor = PrimitiveColor.color_palette_light_blue;\r\n break;\r\n case \"with-header\":\r\n case \"summary\":\r\n backgroundColor = PrimitiveColor.color_palette_blue;\r\n break;\r\n default:\r\n backgroundColor = PrimitiveColor.color_palette_white;\r\n }\r\n }\r\n\r\n // Formatter\r\n const getFormattedNumber = (value) => {\r\n if (formatNumber === \"nominal\") return formatNominal(value);\r\n return formatCurrency(value);\r\n };\r\n\r\n // Grid helper\r\n const getGridCols = (count) => {\r\n if (count <= 2) return \"grid-cols-1 sm:grid-cols-2\";\r\n if (count === 3) return \"grid-cols-1 sm:grid-cols-2 md:grid-cols-3\";\r\n if (count === 4) return \"grid-cols-1 sm:grid-cols-2 md:grid-cols-4\";\r\n return \"grid-cols-1 sm:grid-cols-2 md:grid-cols-3 xl:grid-cols-5\";\r\n };\r\n\r\n // ====================== SUMMARY TYPE ======================\r\n if (type === \"summary\") {\r\n return (\r\n <MuiCard\r\n sx={{\r\n borderRadius: Radius.radius_2,\r\n overflow: \"visible\",\r\n boxShadow: \"none\",\r\n ...sx,\r\n }}\r\n >\r\n <div\r\n style={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"center\",\r\n gap: SpacingToken.spacing2,\r\n }}\r\n >\r\n <div\r\n style={{\r\n display: \"flex\",\r\n gap: SpacingToken.spacing2,\r\n alignItems: \"center\",\r\n }}\r\n >\r\n {iconHeader}\r\n <h2 className={boldTitle ? \"font-bold\" : \"\"}>\r\n {title} {subtitle}\r\n </h2>\r\n </div>\r\n <IconButton onClick={() => setOpen(!open)}>\r\n {open ? (\r\n <KeyboardArrowUpIcon\r\n sx={{ color: PrimitiveColor.color_palette_blue }}\r\n />\r\n ) : (\r\n <KeyboardArrowDownIcon\r\n sx={{ color: PrimitiveColor.color_palette_blue }}\r\n />\r\n )}\r\n </IconButton>\r\n </div>\r\n\r\n <p\r\n style={{\r\n paddingTop: SpacingToken.spacing2,\r\n paddingBottom: SpacingToken.spacing2,\r\n }}\r\n className={boldUpdate ? \"font-bold\" : \"\"}\r\n >\r\n {updateDate}\r\n </p>\r\n\r\n <Collapse in={open} timeout={500}>\r\n <div\r\n className={`grid ${getGridCols(dataList.length)}`}\r\n style={{ gap: SpacingToken.spacing4 }}\r\n >\r\n {dataList.map((item, index) => {\r\n const titles = [item.title, item.title2, item.title3].filter(\r\n Boolean,\r\n );\r\n const counts = [item.count, item.count2, item.count3].filter(\r\n (c) => c !== undefined,\r\n );\r\n\r\n return (\r\n <MuiCard\r\n key={index}\r\n sx={{\r\n borderRadius: Radius.radius_2,\r\n backgroundColor: backgroundColor,\r\n overflow: \"visible\",\r\n boxShadow: \"none\",\r\n paddingLeft: SpacingToken.spacing4,\r\n paddingRight: SpacingToken.spacing4,\r\n paddingTop: SpacingToken.spacing4,\r\n paddingBottom: SpacingToken.spacing4,\r\n }}\r\n >\r\n {titles.length > 1 ? (\r\n <div\r\n className=\"grid\"\r\n style={{\r\n gap: SpacingToken.spacing4,\r\n gridTemplateColumns: `repeat(${titles.length}, 1fr)`,\r\n }}\r\n >\r\n {titles.map((t, idx) => (\r\n <div\r\n key={idx}\r\n style={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"flex-start\",\r\n gap: SpacingToken.spacing2,\r\n }}\r\n >\r\n <p style={{ color: colorTitlte }}>{t}</p>\r\n <h3\r\n style={{ color: colorNominal }}\r\n className={boldCount ? \"font-bold\" : \"\"}\r\n >\r\n {getFormattedNumber(counts[idx] ?? 0)}\r\n </h3>\r\n </div>\r\n ))}\r\n </div>\r\n ) : (\r\n <>\r\n <div\r\n style={{\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"center\",\r\n gap: SpacingToken.spacing1,\r\n }}\r\n >\r\n <p style={{ color: colorTitlte }}>\r\n {item.title ?? \"-\"}\r\n </p>\r\n {displayIcon && (\r\n <div\r\n style={{\r\n display: \"flex\",\r\n gap: SpacingToken.spacing1,\r\n alignItems: \"center\",\r\n }}\r\n >\r\n <div>{item.icon}</div>\r\n <p\r\n style={{ color: colorCount, marginTop: \"2px\" }}\r\n className={boldCountIcon ? \"font-bold\" : \"\"}\r\n >\r\n {formatNominal(item.countIcon)}\r\n </p>\r\n </div>\r\n )}\r\n </div>\r\n <div\r\n style={{\r\n paddingTop: SpacingToken.spacing2,\r\n paddingBottom: SpacingToken.spacing2,\r\n }}\r\n >\r\n <h3\r\n style={{ color: colorNominal }}\r\n className={boldCount ? \"font-bold\" : \"\"}\r\n >\r\n {getFormattedNumber(item.count)}\r\n </h3>\r\n </div>\r\n </>\r\n )}\r\n </MuiCard>\r\n );\r\n })}\r\n </div>\r\n </Collapse>\r\n </MuiCard>\r\n );\r\n }\r\n\r\n // ====================== NOTIFICATION TYPE ======================\r\n if (type === \"notification\") {\r\n return (\r\n <MuiCard\r\n variant=\"outlined\"\r\n sx={{ borderRadius: Radius.radius_2, backgroundColor, ...sx }}\r\n style={{\r\n paddingLeft: SpacingToken.spacing4,\r\n paddingRight: SpacingToken.spacing4,\r\n paddingTop: SpacingToken.spacing4,\r\n paddingBottom: SpacingToken.spacing4,\r\n }}\r\n {...restProps}\r\n >\r\n <div\r\n style={{\r\n gap: SpacingToken.spacing2,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n }}\r\n >\r\n {children}\r\n </div>\r\n </MuiCard>\r\n );\r\n }\r\n\r\n // ====================== WITH HEADER TYPE ======================\r\n if (type === \"with-header\") {\r\n return (\r\n <MuiCard\r\n variant=\"outlined\"\r\n sx={{ borderRadius: Radius.radius_2, overflow: \"visible\", ...sx }}\r\n >\r\n <CardHeader\r\n sx={{\r\n background:\r\n headerBackgroundColor || PrimitiveColor.color_palette_blue,\r\n color: PrimitiveColor.color_palette_neutral_10,\r\n borderTopLeftRadius: Radius.radius_2,\r\n borderTopRightRadius: Radius.radius_2,\r\n }}\r\n style={{\r\n paddingLeft: SpacingToken.spacing4,\r\n paddingRight: SpacingToken.spacing4,\r\n paddingTop: SpacingToken.spacing2,\r\n paddingBottom: SpacingToken.spacing2,\r\n cursor: isCollapsible ? \"pointer\" : \"default\",\r\n }}\r\n avatar={icon}\r\n title={label}\r\n titleTypographyProps={{ variant: \"h6\" }}\r\n action={\r\n isCollapsible && (\r\n <IconButton onClick={() => setOpen(!open)}>\r\n {open ? (\r\n <KeyboardArrowUpIcon\r\n sx={{ color: PrimitiveColor.color_palette_neutral_10 }}\r\n />\r\n ) : (\r\n <KeyboardArrowDownIcon\r\n sx={{ color: PrimitiveColor.color_palette_neutral_10 }}\r\n />\r\n )}\r\n </IconButton>\r\n )\r\n }\r\n onClick={() => isCollapsible && setOpen(!open)} // toggle hanya kalau collapsible\r\n />\r\n\r\n {/* Konten */}\r\n <Collapse in={!isCollapsible || open} timeout={500}>\r\n <div\r\n style={{\r\n gap: SpacingToken.spacing2,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n padding: SpacingToken.spacing4,\r\n }}\r\n {...restProps}\r\n >\r\n {children}\r\n </div>\r\n </Collapse>\r\n </MuiCard>\r\n );\r\n }\r\n // ====================== DEFAULT TYPE ======================\r\n return (\r\n <MuiCard\r\n sx={{\r\n borderRadius: Radius.radius_2,\r\n overflow: \"visible\",\r\n boxShadow: \"none\",\r\n ...sx,\r\n }}\r\n style={{\r\n paddingLeft: SpacingToken.spacing4,\r\n paddingRight: SpacingToken.spacing4,\r\n paddingTop: SpacingToken.spacing4,\r\n paddingBottom: SpacingToken.spacing4,\r\n }}\r\n {...restProps}\r\n >\r\n <div\r\n style={{\r\n gap: SpacingToken.spacing2,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n }}\r\n >\r\n {children}\r\n </div>\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 { 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 Switch = SwitchRaw?.default ?? SwitchRaw;\r\n\r\nconst AntSwitch = styled(Switch)(({ theme }) => ({\r\n width: \"40px\",\r\n height: \"24px\",\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: PrimitiveColor.color_palette_neutral_10,\r\n\r\n \"& + .MuiSwitch-track\": {\r\n opacity: 1,\r\n backgroundColor: PrimitiveColor.color_palette_blue,\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: \"16px\",\r\n height: \"16px\",\r\n borderRadius: Radius.radius_x,\r\n transition: theme.transitions.create([\"width\"], { duration: 200 }),\r\n backgroundColor: PrimitiveColor.color_palette_neutral_10,\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 ? PrimitiveColor.color_palette_neutral_60\r\n : PrimitiveColor.color_palette_neutral_40,\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 ? PrimitiveColor.color_palette_neutral_60\r\n : PrimitiveColor.color_palette_neutral_90,\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 { CheckboxBorder } from \"@/components/legacy/atoms/icons/checkbox-border\";\r\nimport { CheckboxChecked } from \"@/components/legacy/atoms/icons/checkbox-checked\";\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={<CheckboxBorder />}\r\n checkedIcon={<CheckboxChecked disabled={option.disabled ?? disabled} />}\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={<CheckboxBorder />}\r\n checkedIcon={<CheckboxChecked disabled={disabled} />}\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 ArrowStandardDownIcon,\r\n ArrowStandardUpIcon,\r\n ArrowUpDown,\r\n} from \"@/components/legacy/atoms/icons\";\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: PrimitiveColor.color_palette_blue,\r\n headerText: PrimitiveColor.color_palette_neutral_10,\r\n headerBorder: PrimitiveColor.color_palette_neutral_40,\r\n headerHoverBg: PrimitiveColor.color_palette_dark_blue,\r\n headerHoverText: PrimitiveColor.color_palette_neutral_10,\r\n bodyBg: PrimitiveColor.color_palette_neutral_10,\r\n bodyText: PrimitiveColor.color_palette_neutral_100,\r\n bodyBorder: PrimitiveColor.color_palette_neutral_30,\r\n rowHoverBg: PrimitiveColor.color_palette_neutral_20,\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 = PrimitiveColor.color_palette_neutral_60;\r\n const activeColor = PrimitiveColor.color_palette_neutral_10;\r\n\r\n if (!sortState || sortState.key !== sortKey) {\r\n return <ArrowUpDown color={idleColor} />;\r\n }\r\n\r\n return sortState.direction === \"asc\" ? (\r\n <ArrowStandardUpIcon color={activeColor} />\r\n ) : (\r\n <ArrowStandardDownIcon 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 />\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 <Checkbox\r\n checked={selectedIds.includes(rowId)}\r\n disabled={!isSelectable}\r\n onChange={() => toggleRow(rowId)}\r\n onClick={(event) => event.stopPropagation()}\r\n />\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 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 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 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 \"&: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 <div\r\n style={{\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: 6,\r\n }}\r\n >\r\n {cell.label}\r\n {isSortable && renderSortIcon(sortKey, sortState)}\r\n </div>\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={() => {\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 PopoverRaw from \"@mui/material/Popover\";\r\nimport InputAdornmentRaw from \"@mui/material/InputAdornment\";\r\nimport IconButtonRaw from \"@mui/material/IconButton\";\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 { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { twMerge } from \"tailwind-merge\";\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 { 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 { IconCalendar } from \"@/components/legacy/atoms/icons/calendar\";\r\n\r\nconst TextField = TextFieldRaw?.default ?? TextFieldRaw;\r\nconst Popover = PopoverRaw?.default ?? PopoverRaw;\r\nconst InputAdornment = InputAdornmentRaw?.default ?? InputAdornmentRaw;\r\nconst IconButton = IconButtonRaw?.default ?? IconButtonRaw;\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 className,\r\n titleClassName,\r\n subtitleClassName,\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 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 /* ================= RANGE RENDER ================= */\r\n if (type === \"range\") {\r\n return (\r\n <div className={className}>\r\n {(title || subtitle) && (\r\n <div className=\"flex gap-2 px-2\">\r\n {title && (\r\n <TextLabel borderRadiusclassName={twMerge(\"\", titleClassName)}>\r\n {title}\r\n </TextLabel>\r\n )}\r\n {subtitle && (\r\n <TextLabel className={twMerge(\"\", subtitleClassName)}>\r\n {subtitle}\r\n </TextLabel>\r\n )}\r\n </div>\r\n )}\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 && setOpen(true)}\r\n disabled={isDisabled}\r\n sx={{\r\n \"& .MuiOutlinedInput-root\": {\r\n borderRadius: Radius.radius_2,\r\n },\r\n }}\r\n InputProps={{\r\n readOnly: true,\r\n endAdornment: (\r\n <InputAdornment position=\"end\">\r\n <IconCalendar color={PrimitiveColor.color_palette_blue} />\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 </div>\r\n );\r\n }\r\n\r\n /* ================= NORMAL PICKERS ================= */\r\n const PickerComponent = pickerConfig.component ?? DatePicker;\r\n\r\n return (\r\n <div className={className}>\r\n {(title || subtitle) && (\r\n <div className=\"flex gap-2 px-2\">\r\n {title && (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n {title}\r\n </TextLabel>\r\n )}\r\n {subtitle && (\r\n <TextLabel className={twMerge(\"\", subtitleClassName)}>\r\n {subtitle}\r\n </TextLabel>\r\n )}\r\n </div>\r\n )}\r\n\r\n <PickerComponent\r\n {...field}\r\n value={field.value ?? null}\r\n open={open}\r\n onOpen={() => !isDisabled && setOpen(true)}\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={isDisabled}\r\n components={{\r\n OpenPickerIcon: () => (\r\n <IconCalendar color={PrimitiveColor.color_palette_blue} />\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 sx={{\r\n \"& .MuiOutlinedInput-root\": {\r\n borderRadius: Radius.radius_2,\r\n backgroundColor: PrimitiveColor.color_palette_neutral_10,\r\n\r\n \"& fieldset\": {\r\n borderColor: errorMessage\r\n ? PrimitiveColor.color_palette_red\r\n : PrimitiveColor.color_palette_neutral_40,\r\n },\r\n\r\n \"&:hover fieldset\": {\r\n borderColor: PrimitiveColor.color_palette_blue,\r\n },\r\n\r\n \"&.Mui-focused fieldset\": {\r\n borderColor: PrimitiveColor.color_palette_blue,\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={{\r\n color: PrimitiveColor.color_palette_neutral_70,\r\n }}\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 </div>\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 { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport { twMerge } from \"tailwind-merge\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport ChipRaw from \"@mui/material/Chip\";\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 { BaseCheckbox } from \"@/components/molecules/checkbox/checkbox\";\r\n\r\nconst Box = BoxRaw?.default ?? BoxRaw;\r\nconst Chip = ChipRaw?.default ?? ChipRaw;\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 className,\r\n titleClassName,\r\n subtitleClassName,\r\n defaultValue,\r\n isDisabled,\r\n isClearable = true,\r\n preventOverflow = false,\r\n optionColors = [\r\n PrimitiveColor.color_palette_light_blue,\r\n PrimitiveColor.color_palette_light_orange,\r\n PrimitiveColor.color_palette_light_green,\r\n PrimitiveColor.color_palette_light_red,\r\n PrimitiveColor.color_palette_light_yellow,\r\n ],\r\n variant = \"select\",\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_palette_neutral_30\r\n : PrimitiveColor.color_palette_neutral_10,\r\n border: hasError\r\n ? `1px solid ${PrimitiveColor.color_palette_red}`\r\n : state.isFocused\r\n ? `1px solid ${PrimitiveColor.color_palette_blue}`\r\n : `1px solid ${PrimitiveColor.color_palette_neutral_40}`,\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 /* 🔥 HOVER ONLY */\r\n backgroundColor: isCheckboxMode\r\n ? state.isFocused\r\n ? PrimitiveColor.color_palette_light_blue\r\n : \"transparent\"\r\n : state.isSelected\r\n ? PrimitiveColor.color_palette_blue\r\n : state.isFocused\r\n ? PrimitiveColor.color_palette_light_blue\r\n : \"transparent\",\r\n\r\n color: isCheckboxMode\r\n ? PrimitiveColor.color_palette_neutral_100\r\n : state.isSelected\r\n ? PrimitiveColor.color_palette_neutral_10\r\n : PrimitiveColor.color_palette_neutral_100,\r\n\r\n \":active\": {\r\n backgroundColor: isCheckboxMode\r\n ? PrimitiveColor.color_palette_light_blue\r\n : PrimitiveColor.color_palette_blue,\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 <div\r\n className={className}\r\n style={{\r\n width: 356,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: SpacingToken.spacing2,\r\n }}\r\n >\r\n {(title || subtitle || showSelectAll) && (\r\n <div style={{ display: \"flex\", justifyContent: \"space-between\" }}>\r\n <div className=\"flex items-center gap-2\">\r\n {title && (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n {title}\r\n </TextLabel>\r\n )}\r\n {subtitle && (\r\n <TextLabel className={twMerge(\"\", subtitleClassName)}>\r\n {subtitle}\r\n </TextLabel>\r\n )}\r\n </div>\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 </div>\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 <span\r\n style={{\r\n color: PrimitiveColor.color_palette_red,\r\n fontSize: 12,\r\n }}\r\n >\r\n {message}\r\n </span>\r\n )}\r\n />\r\n </div>\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 { 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 } from \"@/components/legacy/atoms/icons/upload\";\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\nimport { IconCross } from \"@/components/legacy/atoms/icons/cross\";\r\nimport { IconWarningTriangle } from \"@/components/legacy/atoms/icons/warning-triangle\";\r\nimport { IconTrash } from \"@/components/legacy/atoms/icons/trash\";\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: 90 }}>\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 <IconCross />\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_palette_neutral_30}`,\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 color={PrimitiveColor.color_palette_red} />\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_palette_red\r\n : files.length\r\n ? PrimitiveColor.color_palette_blue\r\n : PrimitiveColor.color_palette_neutral_30\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 />\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_palette_neutral_60,\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=\"color_palette_blue\"\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_palette_neutral_60,\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_palette_red,\r\n ...VariantStyles.caption_regular,\r\n }}\r\n >\r\n <IconWarningTriangle />\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 { useController } from \"react-hook-form\";\r\n\r\nimport { Typography } from \"@/components/atoms/typography/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 { twMerge } from \"tailwind-merge\";\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\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.black\",\r\n errorVariant = \"caption_regular.red\",\r\n\r\n /* ================= LAYOUT ================= */\r\n orientation = \"vertical\",\r\n\r\n /* ================= COLOR TOKEN ================= */\r\n radioColorToken = \"color_palette_blue\",\r\n /* ================= STATE ================= */\r\n isDisabled,\r\n\r\n /* ================= CLASS ================= */\r\n className,\r\n titleClassName,\r\n fieldClassName,\r\n\r\n /* ================= ERROR ================= */\r\n useErrorStateHelper = false,\r\n\r\n ...restProps\r\n}) => {\r\n const { field, formState } = useController({ control, name, defaultValue });\r\n\r\n // if (!control) return <Radio {...restProps} />;\r\n\r\n /* ================= ERROR ================= */\r\n\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\r\n const radioColor =\r\n PrimitiveColor?.[radioColorToken] || PrimitiveColor?.color_palette_blue;\r\n\r\n const gapValue = SpacingToken?.spacing0;\r\n\r\n const isHorizontal = orientation === \"horizontal\";\r\n\r\n /* ================= Figma Item Style ================= */\r\n\r\n const radioItemSx = {\r\n width: \"130 px\",\r\n height: \"48 px \",\r\n minHeight: \"36 px\",\r\n\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n\r\n gap: SpacingToken.spacing0,\r\n\r\n px: SpacingToken.spacing0,\r\n py: SpacingToken.spacing0,\r\n\r\n borderRadius: Radius.radius_2,\r\n };\r\n\r\n /* ================= RENDER ================= */\r\n\r\n return (\r\n <div className={className}>\r\n <FormControl error={!!formState.errors?.[name]}>\r\n {/* LABEL */}\r\n {label && (\r\n <Typography\r\n variant={labelVariant}\r\n className={twMerge(\"\", titleClassName)}\r\n sx={{ marginBottom: gapValue }}\r\n >\r\n {label}\r\n </Typography>\r\n )}\r\n\r\n {/* GROUP */}\r\n <RadioGroup\r\n value={field.value}\r\n onChange={field.onChange}\r\n className={fieldClassName}\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 color: radioColor,\r\n \"&.Mui-checked\": {\r\n color: radioColor,\r\n },\r\n \"&.Mui-disabled\": {\r\n color: PrimitiveColor?.color_palette_neutral_70,\r\n },\r\n\r\n \"&.Mui-checked.Mui-disabled\": {\r\n color: PrimitiveColor?.color_palette_neutral_70,\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 <Typography variant={errorVariant} sx={{ marginTop: gapValue }}>\r\n {errorMessage}\r\n </Typography>\r\n )}\r\n </FormControl>\r\n </div>\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/* ================= SIMPLE STEP LABEL ================= */\r\nconst CustomStepLabel = styled(StepLabel)(({ orientation }) => ({\r\n ...(orientation === \"vertical\" && {\r\n alignItems: \"flex-start\",\r\n\r\n \"& .MuiStepLabel-labelContainer\": {\r\n marginLeft: 12, // 🔥 atur jaraknya di sini\r\n textAlign: \"left\",\r\n },\r\n }),\r\n \"& .MuiStepIcon-root\": {\r\n fontSize: \"28px\",\r\n },\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_palette_neutral_30,\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_palette_neutral_30,\r\n minHeight: 24,\r\n borderRadius: 1,\r\n },\r\n [`&.${stepConnectorClasses.active} .${stepConnectorClasses.line}`]: {\r\n borderLeftColor: PrimitiveColor.color_palette_green,\r\n },\r\n [`&.${stepConnectorClasses.completed} .${stepConnectorClasses.line}`]: {\r\n borderLeftColor: PrimitiveColor.color_palette_green,\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 // Horizontal (default)\r\n ...(!isVertical && {\r\n [`&.${stepConnectorClasses.alternativeLabel}`]: { top: 22 },\r\n [`&.${stepConnectorClasses.active} .${stepConnectorClasses.line}`]: {\r\n backgroundColor: PrimitiveColor.color_palette_green,\r\n },\r\n [`&.${stepConnectorClasses.completed} .${stepConnectorClasses.line}`]: {\r\n backgroundColor: PrimitiveColor.color_palette_green,\r\n },\r\n [`& .${stepConnectorClasses.line}`]: {\r\n height: 3,\r\n border: 0,\r\n backgroundColor: PrimitiveColor.color_palette_neutral_30,\r\n borderRadius: 1,\r\n },\r\n }),\r\n\r\n // Vertical\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_palette_neutral_30,\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_palette_green,\r\n },\r\n [`&.${stepConnectorClasses.vertical}.${stepConnectorClasses.completed} .${stepConnectorClasses.line}`]:\r\n {\r\n borderLeftColor: PrimitiveColor.color_palette_green,\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_palette_green\r\n : ownerState.active\r\n ? PrimitiveColor.color_palette_blue\r\n : PrimitiveColor.color_palette_neutral_70,\r\n zIndex: 1,\r\n color: PrimitiveColor.color_palette_neutral_10,\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_palette_green,\r\n zIndex: 1,\r\n color: PrimitiveColor.color_palette_neutral_10,\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\nconst CustomProcessIcon = styled(CheckIcon)({\r\n backgroundColor: PrimitiveColor.color_palette_neutral_30,\r\n zIndex: 1,\r\n color: PrimitiveColor.color_palette_neutral_10,\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_palette_neutral_20,\r\n color: PrimitiveColor.color_palette_neutral_100,\r\n maxWidth: 400,\r\n fontSize: 12,\r\n border: `1px solid ${PrimitiveColor.color_palette_neutral_70}`,\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\", // simple | dashboard\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%\" }} 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 <div key={subIndex} className=\"grid gap-2 mt-1\">\r\n <div className=\"flex gap-2 items-center\">\r\n {list?.is_done === 1 ? (\r\n <div className=\"items-center\">\r\n <CustomCheckIcon></CustomCheckIcon>\r\n </div>\r\n ) : (\r\n <div className=\"items-center\">\r\n <CustomProcessIcon></CustomProcessIcon>\r\n </div>\r\n )}\r\n <div>{list?.sublist_title}</div>\r\n </div>\r\n </div>\r\n ))}\r\n </Fragment>\r\n }\r\n >\r\n <Button className=\"text-black border-none cursor-pointer\">\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 width=\"100%\">\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_palette_neutral_70;\r\n if (isActive) statusColor = PrimitiveColor.color_palette_blue;\r\n if (isCompleted) statusColor = PrimitiveColor.color_palette_green;\r\n\r\n return (\r\n <Step key={index}>\r\n <CustomStepLabel orientation={orientation}>\r\n <Box\r\n display=\"flex\"\r\n flexDirection=\"column\"\r\n alignItems={\r\n orientation === \"vertical\" ? \"flex-start\" : \"center\"\r\n }\r\n gap={SpacingToken.spacing4}\r\n >\r\n <Typography\r\n variant=\"body1_regular\"\r\n sx={{ color: statusColor }}\r\n >\r\n {step.status}\r\n </Typography>\r\n\r\n <Typography\r\n variant=\"caption_regular.black\"\r\n sx={{ color: PrimitiveColor.color_palette_neutral_80 }}\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};\r\n","\"use client\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport InputAdornmentRaw from \"@mui/material/InputAdornment\";\r\nimport TextFieldRaw from \"@mui/material/TextField\";\r\nimport { useController } from \"react-hook-form\";\r\nimport { IconInfo } from \"@/components/legacy/atoms/icons/info\";\r\nimport { twMerge } from \"tailwind-merge\";\r\nimport { useEffect, useMemo, useRef, useState, useCallback } from \"react\";\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 InputAdornment = InputAdornmentRaw?.default ?? InputAdornmentRaw;\r\nconst TextField = TextFieldRaw?.default ?? TextFieldRaw;\r\n\r\nexport const BaseTextField = ({\r\n name = \"\",\r\n control = null,\r\n defaultValue,\r\n className,\r\n titleClassName,\r\n maxLength,\r\n showLength,\r\n isNumericOnly,\r\n isAlphaNumericOnly,\r\n isAlphaOnly,\r\n allowedSpecialCharacters = \"\",\r\n dontAllowedSpecialCharacters = \"\",\r\n isAlphaNumericWithUnderscore,\r\n isDisabled,\r\n isCantPaste,\r\n result,\r\n resultColor,\r\n noSpaceAllowed,\r\n showCountHelper = false,\r\n textMask = \"\",\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 (isAlphaNumericWithUnderscore) {\r\n allowedPattern = alphanumericWithUnderscorePattern;\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 <div className={className}>\r\n {props.title ? (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n {props.title}\r\n </TextLabel>\r\n ) : null}\r\n <TextField\r\n id={props.id || `field-${name}`}\r\n variant=\"outlined\"\r\n error={!!formState.errors?.[name]}\r\n helperText={\r\n <>\r\n <span>\r\n {formState.errors?.[name]?.message ||\r\n (maxLength && showLength\r\n ? `Maksimal ${maxLength} Karakter`\r\n : \"\")}\r\n </span>\r\n {maxLength && showCountHelper && (\r\n <span style={{ marginLeft: \"auto\" }}>\r\n {field.value?.length || 0}/{maxLength}\r\n </span>\r\n )}\r\n </>\r\n }\r\n FormHelperTextProps={{\r\n style: {\r\n fontSize: VariantStyles.body2_regular,\r\n marginLeft: 0,\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n },\r\n }}\r\n size=\"small\"\r\n className={\"w-full \" + className}\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 isAlphaNumericWithUnderscore ||\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 }}\r\n InputProps={{\r\n style: {\r\n borderRadius: Radius.radius_2,\r\n backgroundColor: isDisabled\r\n ? PrimitiveColor.color_palette_neutral_30\r\n : PrimitiveColor.color_palette_neutral_10,\r\n\r\n color: isDisabled\r\n ? PrimitiveColor.color_palette_neutral_70\r\n : PrimitiveColor.color_palette_neutral_100,\r\n },\r\n endAdornment: !!formState.errors?.[name] && (\r\n <InputAdornment\r\n position=\"end\"\r\n sx={{ paddingTop: SpacingToken.spacing1 }}\r\n >\r\n <span className=\"text-white\">\r\n <IconInfo color={PrimitiveColor.color_palette_red} isSmall />\r\n </span>\r\n </InputAdornment>\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 <div\r\n style={{\r\n fontSize: VariantStyles.body1_regular,\r\n color: resultColor,\r\n marginTop: SpacingToken.spacing1,\r\n }}\r\n >\r\n {result}\r\n </div>\r\n )}\r\n </div>\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_palette_red\r\n : isSuccess\r\n ? PrimitiveColor.color_palette_blue\r\n : PrimitiveColor.color_palette_neutral_40;\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 height: \"100%\",\r\n minHeight: 38,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: SpacingToken.spacing2,\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_palette_red\r\n : PrimitiveColor.color_palette_blue,\r\n \"&:hover\": {\r\n backgroundColor: isError\r\n ? PrimitiveColor.color_palette_dark_red\r\n : PrimitiveColor.color_palette_dark_blue,\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_palette_neutral_30,\r\n }),\r\n },\r\n \"& .MuiOutlinedInput-notchedOutline\": {\r\n borderColor,\r\n },\r\n \"&:hover .MuiOutlinedInput-notchedOutline\": {\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_palette_red} isSmall />\r\n )}\r\n\r\n <Typography\r\n sx={{\r\n ...VariantStyles.caption_regular,\r\n color: isError\r\n ? PrimitiveColor.color_palette_red\r\n : PrimitiveColor.color_palette_neutral_70,\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 { IconInfo } from \"@/components/legacy/atoms/icons/info\";\r\nimport { TextLabel } from \"@/components/legacy/atoms/typographies/label\";\r\nimport InputAdornmentRaw from \"@mui/material/InputAdornment\";\r\nimport TextFieldRaw from \"@mui/material/TextField\";\r\nimport BoxRaw from \"@mui/material/Box\";\r\nimport { useController } from \"react-hook-form\";\r\nimport { useId } from \"react\";\r\nimport { twMerge } from \"tailwind-merge\";\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 { Editor } from \"./imports\";\r\n\r\nconst InputAdornment = InputAdornmentRaw?.default ?? InputAdornmentRaw;\r\nconst TextField = TextFieldRaw?.default ?? TextFieldRaw;\r\nconst Box = BoxRaw?.default ?? BoxRaw;\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 className,\r\n title,\r\n titleClassName,\r\n isDisabled = false,\r\n useRichText = false,\r\n init,\r\n handleImageUpload,\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 // Strip HTML tags for character counting when using rich text\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 // ─── Plain textarea (MUI) key handler ───\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 // ─── MUI TextField sx ───\r\n const baseSx = {\r\n \"& .MuiOutlinedInput-root\": {\r\n borderRadius: Radius.radius_3,\r\n backgroundColor: isDisabled\r\n ? PrimitiveColor.color_palette_neutral_20\r\n : PrimitiveColor.color_palette_white,\r\n },\r\n \"& .MuiOutlinedInput-notchedOutline\": {\r\n borderColor: hasError\r\n ? PrimitiveColor.color_palette_red\r\n : PrimitiveColor.color_palette_neutral_40,\r\n },\r\n \"&:hover .MuiOutlinedInput-notchedOutline\": {\r\n borderColor: hasError\r\n ? PrimitiveColor.color_palette_red\r\n : PrimitiveColor.color_palette_neutral_60,\r\n },\r\n \"& .MuiFormHelperText-root\": {\r\n ...VariantStyles.caption_regular,\r\n color: hasError\r\n ? PrimitiveColor.color_palette_red\r\n : PrimitiveColor.color_palette_neutral_70,\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\r\n const wrapperId = `editor-wrap-${uniqueSuffix}`;\r\n\r\n // ─── Rich Text Mode ───\r\n if (useRichText) {\r\n return (\r\n <div className={className} id={wrapperId}>\r\n {title && (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n <span style={VariantStyles.body2_regular}>\r\n {title}{\" \"}\r\n {hasError && (\r\n <small style={{ color: PrimitiveColor.color_palette_red }}>\r\n *{errorMessage}\r\n </small>\r\n )}\r\n </span>\r\n </TextLabel>\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 <span\r\n style={{\r\n ...VariantStyles.caption_regular,\r\n color: PrimitiveColor.color_palette_neutral_70,\r\n marginTop: SpacingToken.spacing1,\r\n display: \"block\",\r\n }}\r\n >\r\n {dynamicHelper}\r\n </span>\r\n )}\r\n </div>\r\n );\r\n }\r\n\r\n // ─── Plain Mode (MUI TextField) ───\r\n return (\r\n <Box\r\n className={className}\r\n display=\"flex\"\r\n flexDirection=\"column\"\r\n gap={SpacingToken.spacing2}\r\n >\r\n {title && (\r\n <TextLabel className={twMerge(\"\", titleClassName)}>\r\n <span style={VariantStyles.body2_regular}>{title}</span>\r\n </TextLabel>\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 <IconInfo color={PrimitiveColor.color_palette_red} isSmall />\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 { ButtonDefault } from \"@/components/legacy/atoms/buttons/default\";\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 <ButtonDefault\r\n sx={{ padding: \"8px 24px\" }}\r\n model=\"fill\"\r\n color={PrimitiveColor.color_palette_blue}\r\n onClick={() => onClose()}\r\n autoFocus\r\n disabled={lengthUpload !== 0}\r\n >\r\n Oke\r\n </ButtonDefault>\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"]}
|