@erpsquad/common 1.8.80 → 1.8.81
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/CHANGELOG.md +253 -253
- package/README.md +979 -979
- package/dist/_virtual/index/index.esm10.js +3 -3
- package/dist/_virtual/index/index.esm11.js +3 -3
- package/dist/_virtual/index/index.esm2.js +2 -4
- package/dist/_virtual/index/index.esm2.js.map +1 -1
- package/dist/_virtual/index/index.esm3.js +4 -2
- package/dist/_virtual/index/index.esm3.js.map +1 -1
- package/dist/_virtual/index/index.esm4.js +1 -1
- package/dist/_virtual/index/index.esm5.js +3 -3
- package/dist/_virtual/index/index.esm6.js +3 -3
- package/dist/_virtual/index/index.esm7.js +3 -3
- package/dist/_virtual/index/index.esm8.js +3 -3
- package/dist/_virtual/index/index.esm9.js +3 -3
- package/dist/_virtual/index/index10.js +1 -1
- package/dist/_virtual/index/index11.js +1 -1
- package/dist/_virtual/index/index2.js +1 -1
- package/dist/_virtual/index/index3.js +1 -1
- package/dist/_virtual/index/index4.js +1 -1
- package/dist/_virtual/index/index5.js +1 -1
- package/dist/_virtual/index/index6.js +1 -1
- package/dist/_virtual/index/index7.js +1 -1
- package/dist/_virtual/index/index8.js +1 -1
- package/dist/_virtual/index/index9.js +1 -1
- package/dist/api-client/api.accounting/api/index.esm.js.map +1 -1
- package/dist/api-client/api.accounting/api/index.js.map +1 -1
- package/dist/api-client/api.accounting/api-types.d.ts +15883 -15883
- package/dist/api-client/api.drive/api/index.esm.js.map +1 -1
- package/dist/api-client/api.drive/api/index.js.map +1 -1
- package/dist/api-client/api.drive/api-types.d.ts +696 -696
- package/dist/api-client/api.hrms/api/index.esm.js.map +1 -1
- package/dist/api-client/api.hrms/api/index.js.map +1 -1
- package/dist/api-client/api.inventory/api/index.esm.js.map +1 -1
- package/dist/api-client/api.inventory/api/index.js.map +1 -1
- package/dist/api-client/api.inventory/api-types.d.ts +6110 -6110
- package/dist/api-client/api.manufacturing/api/index.esm.js.map +1 -1
- package/dist/api-client/api.manufacturing/api/index.js.map +1 -1
- package/dist/api-client/api.manufacturing/api-types.d.ts +10066 -10066
- package/dist/api-client/api.purchase/api/index.esm.js.map +1 -1
- package/dist/api-client/api.purchase/api/index.js.map +1 -1
- package/dist/api-client/api.purchase/api-types.d.ts +6715 -6715
- package/dist/api-client/api.rbac/api/index.esm.js.map +1 -1
- package/dist/api-client/api.rbac/api/index.esm2.js.map +1 -1
- package/dist/api-client/api.rbac/api/index.js.map +1 -1
- package/dist/api-client/api.rbac/api/index2.js.map +1 -1
- package/dist/api-client/api.rbac/api-types.d.ts +1753 -1753
- package/dist/api-client/api.rental/api/index.esm.js.map +1 -1
- package/dist/api-client/api.rental/api/index.js.map +1 -1
- package/dist/api-client/api.rental/api-types.d.ts +15666 -15666
- package/dist/api-client/api.sales/api/index.esm.js.map +1 -1
- package/dist/api-client/api.sales/api/index.js.map +1 -1
- package/dist/api-client/api.sales/api-types.d.ts +8258 -8258
- package/dist/api-client/api.system-feature/api/index.esm.js.map +1 -1
- package/dist/api-client/api.system-feature/api/index.js.map +1 -1
- package/dist/api-client/api.system-feature/api-types.d.ts +2875 -2875
- package/dist/api-client/api.user/api/index.esm.js.map +1 -1
- package/dist/api-client/api.user/api/index.js.map +1 -1
- package/dist/api-client/api.user/api-types.d.ts +95 -95
- package/dist/api-client/api.workflow-automation/api/index.esm.js.map +1 -1
- package/dist/api-client/api.workflow-automation/api/index.js.map +1 -1
- package/dist/api-client/index.d.ts +39 -39
- package/dist/components/accordion/accordion/index.esm.js.map +1 -1
- package/dist/components/accordion/accordion/index.js.map +1 -1
- package/dist/components/accordion/accordion.d.ts +1 -1
- package/dist/components/action-bar/action-bar/index.esm.js +1 -1
- package/dist/components/action-bar/action-bar/index.esm.js.map +1 -1
- package/dist/components/action-bar/action-bar/index.js +5 -5
- package/dist/components/action-bar/action-bar/index.js.map +1 -1
- package/dist/components/action-bar/action-bar.d.ts +1 -1
- package/dist/components/activity-tag/activity-tag/index.esm.js.map +1 -1
- package/dist/components/activity-tag/activity-tag/index.js.map +1 -1
- package/dist/components/alert/alert/index.esm.js.map +1 -1
- package/dist/components/alert/alert/index.js.map +1 -1
- package/dist/components/button/button/index.esm.js.map +1 -1
- package/dist/components/button/button/index.js.map +1 -1
- package/dist/components/change-user-password-modal/change-user-password-modal/index.esm.js.map +1 -1
- package/dist/components/change-user-password-modal/change-user-password-modal/index.js.map +1 -1
- package/dist/components/checkbox/checkbox/index.esm.js.map +1 -1
- package/dist/components/checkbox/checkbox/index.js.map +1 -1
- package/dist/components/checkbox/checkbox.d.ts +1 -1
- package/dist/components/chip/chip/index.esm.js.map +1 -1
- package/dist/components/chip/chip/index.js.map +1 -1
- package/dist/components/chip-generator/chip-generator/index.esm.js.map +1 -1
- package/dist/components/chip-generator/chip-generator/index.js.map +1 -1
- package/dist/components/date-picker/date-picker/index.esm.js.map +1 -1
- package/dist/components/date-picker/date-picker/index.js.map +1 -1
- package/dist/components/date-picker/date-picker.d.ts +1 -1
- package/dist/components/date-time-picker/date-time-picker/index.esm.js.map +1 -1
- package/dist/components/date-time-picker/date-time-picker/index.js.map +1 -1
- package/dist/components/editor/custom-editor/index.esm.js.map +1 -1
- package/dist/components/editor/custom-editor/index.js.map +1 -1
- package/dist/components/filter/components/delete-group/index.esm.js +1 -0
- package/dist/components/filter/components/delete-group/index.esm.js.map +1 -1
- package/dist/components/filter/components/delete-group/index.js +1 -1
- package/dist/components/filter/components/delete-group/index.js.map +1 -1
- package/dist/components/filter/filter/index.esm.js +1 -1
- package/dist/components/filter/filter/index.esm.js.map +1 -1
- package/dist/components/filter/filter/index.js +7 -7
- package/dist/components/filter/filter/index.js.map +1 -1
- package/dist/components/footer/footer.d.ts +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/dynamic-select/index.esm.js.map +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/dynamic-select/index.js.map +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/media.d.ts +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/phone.d.ts +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/select.d.ts +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/text.d.ts +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/time.d.ts +1 -1
- package/dist/components/form-control/form-parser/form-switcher.d.ts +1 -1
- package/dist/components/header/header/index.esm.js.map +1 -1
- package/dist/components/header/header/index.js.map +1 -1
- package/dist/components/header/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/header/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/components/header/redux/actionCreator/index.js +1 -1
- package/dist/components/header/redux/actionCreator/index.js.map +1 -1
- package/dist/components/icons/action/index.esm.js.map +1 -1
- package/dist/components/icons/action/index.js.map +1 -1
- package/dist/components/icons/action-arrow.d.ts +3 -3
- package/dist/components/icons/add-circle.d.ts +3 -3
- package/dist/components/icons/arrow-bidirectional.d.ts +3 -3
- package/dist/components/icons/arrow-circle-down.d.ts +3 -3
- package/dist/components/icons/arrow-down-three.d.ts +3 -3
- package/dist/components/icons/arrow-down-two.d.ts +3 -3
- package/dist/components/icons/arrow-down.d.ts +3 -3
- package/dist/components/icons/arrow-up-down.d.ts +3 -3
- package/dist/components/icons/arrow-up-two.d.ts +3 -3
- package/dist/components/icons/assignments.d.ts +3 -3
- package/dist/components/icons/blank-circle.d.ts +3 -3
- package/dist/components/icons/block-filled.d.ts +3 -3
- package/dist/components/icons/calendar-add.d.ts +3 -3
- package/dist/components/icons/calendar.d.ts +3 -3
- package/dist/components/icons/checkbox-square.d.ts +3 -3
- package/dist/components/icons/circular-arrow-setting.d.ts +3 -3
- package/dist/components/icons/clock.d.ts +3 -3
- package/dist/components/icons/close.d.ts +3 -3
- package/dist/components/icons/coin-outline.d.ts +3 -3
- package/dist/components/icons/copy.d.ts +3 -3
- package/dist/components/icons/coupon.d.ts +3 -3
- package/dist/components/icons/criteria/index.esm.js.map +1 -1
- package/dist/components/icons/criteria/index.js.map +1 -1
- package/dist/components/icons/cross/index.esm.js.map +1 -1
- package/dist/components/icons/cross/index.js.map +1 -1
- package/dist/components/icons/cross-hire.d.ts +3 -3
- package/dist/components/icons/custom-styled-icon.d.ts +3 -3
- package/dist/components/icons/dashboard.d.ts +3 -3
- package/dist/components/icons/document-download.d.ts +3 -3
- package/dist/components/icons/document.d.ts +3 -3
- package/dist/components/icons/dollar-circle-filled.d.ts +3 -3
- package/dist/components/icons/dollar-circle.d.ts +3 -3
- package/dist/components/icons/edit.d.ts +3 -3
- package/dist/components/icons/email.d.ts +3 -3
- package/dist/components/icons/export.d.ts +3 -3
- package/dist/components/icons/eye-off.d.ts +3 -3
- package/dist/components/icons/eye-plus-circle.d.ts +3 -3
- package/dist/components/icons/eye.d.ts +3 -3
- package/dist/components/icons/filled-circle.d.ts +3 -3
- package/dist/components/icons/filter-remove.d.ts +3 -3
- package/dist/components/icons/filter.d.ts +3 -3
- package/dist/components/icons/folder-save.d.ts +3 -3
- package/dist/components/icons/grid.d.ts +3 -3
- package/dist/components/icons/hashtag.d.ts +3 -3
- package/dist/components/icons/image.d.ts +3 -3
- package/dist/components/icons/import.d.ts +3 -3
- package/dist/components/icons/info-circle.d.ts +3 -3
- package/dist/components/icons/info.d.ts +3 -3
- package/dist/components/icons/link-horizontal.d.ts +3 -3
- package/dist/components/icons/link.d.ts +3 -3
- package/dist/components/icons/location.d.ts +3 -3
- package/dist/components/icons/lowest-lead-time.d.ts +3 -3
- package/dist/components/icons/lowest-min-qty.d.ts +3 -3
- package/dist/components/icons/lowest-price.d.ts +3 -3
- package/dist/components/icons/more.d.ts +3 -3
- package/dist/components/icons/notification.d.ts +3 -3
- package/dist/components/icons/paper-clip.d.ts +3 -3
- package/dist/components/icons/paragraph.d.ts +3 -3
- package/dist/components/icons/payment-request.d.ts +3 -3
- package/dist/components/icons/phone.d.ts +3 -3
- package/dist/components/icons/printer.d.ts +3 -3
- package/dist/components/icons/process-calendar.d.ts +3 -3
- package/dist/components/icons/promotion.d.ts +3 -3
- package/dist/components/icons/radio-button.d.ts +3 -3
- package/dist/components/icons/receipt-filled.d.ts +3 -3
- package/dist/components/icons/receipt-outline.d.ts +3 -3
- package/dist/components/icons/receipt.d.ts +3 -3
- package/dist/components/icons/refresh-icon.d.ts +3 -3
- package/dist/components/icons/replace.d.ts +3 -3
- package/dist/components/icons/save.d.ts +3 -3
- package/dist/components/icons/search-status.d.ts +3 -3
- package/dist/components/icons/search.d.ts +3 -3
- package/dist/components/icons/settings-fallback.d.ts +3 -3
- package/dist/components/icons/share/index.esm.js.map +1 -1
- package/dist/components/icons/share/index.js.map +1 -1
- package/dist/components/icons/sort-arrow-icon.d.ts +3 -3
- package/dist/components/icons/stacked-layer.d.ts +3 -3
- package/dist/components/icons/start-filled.d.ts +3 -3
- package/dist/components/icons/three-dot-icon.d.ts +3 -3
- package/dist/components/icons/tick-circle-filled.d.ts +3 -3
- package/dist/components/icons/tick-circle.d.ts +3 -3
- package/dist/components/icons/tick-octagon.d.ts +3 -3
- package/dist/components/icons/tick.d.ts +3 -3
- package/dist/components/icons/toggle-switch.d.ts +3 -3
- package/dist/components/icons/trash.d.ts +3 -3
- package/dist/components/icons/wave.d.ts +3 -3
- package/dist/components/icons/with-out-tick-octagon.d.ts +3 -3
- package/dist/components/icons/work-centre.d.ts +3 -3
- package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js +1 -1
- package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js.map +1 -1
- package/dist/components/label-value/label-value/index.esm.js.map +1 -1
- package/dist/components/label-value/label-value/index.js.map +1 -1
- package/dist/components/listing/listing/index.esm.js.map +1 -1
- package/dist/components/listing/listing/index.js.map +1 -1
- package/dist/components/loaders/erp-loader/index.esm.js.map +1 -1
- package/dist/components/loaders/erp-loader/index.js.map +1 -1
- package/dist/components/loaders/form-loader/index.esm.js.map +1 -1
- package/dist/components/loaders/form-loader/index.js.map +1 -1
- package/dist/components/loaders/modal-loader/index.esm.js.map +1 -1
- package/dist/components/loaders/modal-loader/index.js.map +1 -1
- package/dist/components/loaders/page-loader/index.esm.js.map +1 -1
- package/dist/components/loaders/page-loader/index.js.map +1 -1
- package/dist/components/location-select.d.ts +1 -1
- package/dist/components/material-editable-table/components/inline-edit-fields/index.esm.js.map +1 -1
- package/dist/components/material-editable-table/components/inline-edit-fields/index.js.map +1 -1
- package/dist/components/material-editable-table/material-editable-table/index.esm.js.map +1 -1
- package/dist/components/material-editable-table/material-editable-table/index.js.map +1 -1
- package/dist/components/material-editable-table/material-editable-table.d.ts +1 -1
- package/dist/components/material-table/material-table.d.ts +1 -1
- package/dist/components/menu/menu/index.esm.js.map +1 -1
- package/dist/components/menu/menu/index.js.map +1 -1
- package/dist/components/modal/modal/index.esm.js.map +1 -1
- package/dist/components/modal/modal/index.js.map +1 -1
- package/dist/components/page-navigator/page-navigator/index.esm.js.map +1 -1
- package/dist/components/page-navigator/page-navigator/index.js.map +1 -1
- package/dist/components/phone-input/phone-input.d.ts +1 -1
- package/dist/components/providers/ERPUIProvider/index.esm.js.map +1 -1
- package/dist/components/providers/ERPUIProvider/index.js.map +1 -1
- package/dist/components/radio/radio.d.ts +1 -1
- package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/components/reports-title-bar/redux/actionCreator/index.js +1 -1
- package/dist/components/reports-title-bar/redux/actionCreator/index.js.map +1 -1
- package/dist/components/reset-password-modal/reset-password-modal/index.esm.js.map +1 -1
- package/dist/components/reset-password-modal/reset-password-modal/index.js.map +1 -1
- package/dist/components/search-bar/search-bar/index.esm.js.map +1 -1
- package/dist/components/search-bar/search-bar/index.js.map +1 -1
- package/dist/components/searchable-select/index.esm.js.map +1 -1
- package/dist/components/searchable-select/index.js.map +1 -1
- package/dist/components/select/controller/chip-or-placeholder/index.esm.js.map +1 -1
- package/dist/components/select/controller/chip-or-placeholder/index.js.map +1 -1
- package/dist/components/select/select/index.esm.js.map +1 -1
- package/dist/components/select/select/index.js.map +1 -1
- package/dist/components/select/select-search/index.esm.js.map +1 -1
- package/dist/components/select/select-search/index.js.map +1 -1
- package/dist/components/select/select.d.ts +1 -1
- package/dist/components/share-modal/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/share-modal/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/components/share-modal/redux/actionCreator/index.js +1 -1
- package/dist/components/share-modal/redux/actionCreator/index.js.map +1 -1
- package/dist/components/sub-header-doc/sub-header-doc/index.esm.js.map +1 -1
- package/dist/components/sub-header-doc/sub-header-doc/index.js.map +1 -1
- package/dist/components/switches/android-12-switch/index.esm.js.map +1 -1
- package/dist/components/switches/android-12-switch/index.js.map +1 -1
- package/dist/components/switches/android-12-switch.d.ts +1 -3
- package/dist/components/text-area/text-area/index.esm.js.map +1 -1
- package/dist/components/text-area/text-area/index.js.map +1 -1
- package/dist/components/text-field/text-field/index.esm.js.map +1 -1
- package/dist/components/text-field/text-field/index.js.map +1 -1
- package/dist/components/text-field/text-field.d.ts +1 -1
- package/dist/components/time-picker/time-picker/index.esm.js.map +1 -1
- package/dist/components/time-picker/time-picker/index.js.map +1 -1
- package/dist/components/time-picker/time-picker.d.ts +1 -1
- package/dist/components/toast/toast/index.esm.js.map +1 -1
- package/dist/components/toast/toast/index.js.map +1 -1
- package/dist/components/toggle/toggle/index.esm.js.map +1 -1
- package/dist/components/toggle/toggle/index.js.map +1 -1
- package/dist/components/typography/typography/index.esm.js.map +1 -1
- package/dist/components/typography/typography/index.js.map +1 -1
- package/dist/components/upload/upload/index.esm.js +2 -2
- package/dist/components/upload/upload/index.esm.js.map +1 -1
- package/dist/components/upload/upload/index.js +11 -11
- package/dist/components/upload/upload/index.js.map +1 -1
- package/dist/components/upload-media/upload-media.d.ts +1 -1
- package/dist/constants/defaultColumns/index.esm.js.map +1 -1
- package/dist/constants/defaultColumns/index.js.map +1 -1
- package/dist/constants/modules/index.esm.js.map +1 -1
- package/dist/constants/modules/index.js.map +1 -1
- package/dist/constants/pathnames/pathname/index.esm.js.map +1 -1
- package/dist/constants/pathnames/pathname/index.js.map +1 -1
- package/dist/constants/pathnames/pathname.accounting/index.esm.js.map +1 -1
- package/dist/constants/pathnames/pathname.accounting/index.js.map +1 -1
- package/dist/constants/pathnames/pathname.crm/index.esm.js.map +1 -1
- package/dist/constants/pathnames/pathname.crm/index.js.map +1 -1
- package/dist/constants/pathnames/pathname.document/index.esm.js.map +1 -1
- package/dist/constants/pathnames/pathname.document/index.js.map +1 -1
- package/dist/constants/pathnames/pathname.hrms/index.esm.js.map +1 -1
- package/dist/constants/pathnames/pathname.hrms/index.js.map +1 -1
- package/dist/constants/pathnames/pathname.inventory/index.esm.js.map +1 -1
- package/dist/constants/pathnames/pathname.inventory/index.js.map +1 -1
- package/dist/constants/pathnames/pathname.manufacturing/index.esm.js.map +1 -1
- package/dist/constants/pathnames/pathname.manufacturing/index.js.map +1 -1
- package/dist/constants/pathnames/pathname.office/index.esm.js.map +1 -1
- package/dist/constants/pathnames/pathname.office/index.js.map +1 -1
- package/dist/constants/pathnames/pathname.procurement/index.esm.js.map +1 -1
- package/dist/constants/pathnames/pathname.procurement/index.js.map +1 -1
- package/dist/constants/pathnames/pathname.project/index.esm.js.map +1 -1
- package/dist/constants/pathnames/pathname.project/index.js.map +1 -1
- package/dist/constants/pathnames/pathname.quotes/index.esm.js.map +1 -1
- package/dist/constants/pathnames/pathname.quotes/index.js.map +1 -1
- package/dist/constants/pathnames/pathname.rental/index.esm.js.map +1 -1
- package/dist/constants/pathnames/pathname.rental/index.js.map +1 -1
- package/dist/constants/pathnames/pathname.user/index.esm.js.map +1 -1
- package/dist/constants/pathnames/pathname.user/index.js.map +1 -1
- package/dist/constants/route-page-map/index.esm.js.map +1 -1
- package/dist/constants/route-page-map/index.js.map +1 -1
- package/dist/constants/status/index.esm.js.map +1 -1
- package/dist/constants/status/index.js.map +1 -1
- package/dist/contexts/AuthContext/index.esm.js +1 -1
- package/dist/contexts/AuthContext/index.esm.js.map +1 -1
- package/dist/contexts/AuthContext/index.js +1 -1
- package/dist/contexts/AuthContext/index.js.map +1 -1
- package/dist/contexts/languageContext/index.esm.js +1 -1
- package/dist/contexts/languageContext/index.esm.js.map +1 -1
- package/dist/contexts/languageContext/index.js +1 -1
- package/dist/contexts/languageContext/index.js.map +1 -1
- package/dist/contexts/page-context/index.esm.js.map +1 -1
- package/dist/contexts/page-context/index.js.map +1 -1
- package/dist/hooks/use-translations/index.esm.js.map +1 -1
- package/dist/hooks/use-translations/index.js.map +1 -1
- package/dist/hooks/useApi/index.esm.js.map +1 -1
- package/dist/hooks/useApi/index.js.map +1 -1
- package/dist/hooks/useDataFetcher/index.esm.js.map +1 -1
- package/dist/hooks/useDataFetcher/index.js.map +1 -1
- package/dist/layout/fullScreen/fullScreen/index.esm.js.map +1 -1
- package/dist/layout/fullScreen/fullScreen/index.js.map +1 -1
- package/dist/layout/sidebarScreen/sidebarScreen/index.esm.js.map +1 -1
- package/dist/layout/sidebarScreen/sidebarScreen/index.js.map +1 -1
- package/dist/node_modules/@asseinfo/react-kanban/dist/index/index.esm.js +1 -1
- package/dist/node_modules/@asseinfo/react-kanban/dist/index/index.js +1 -1
- package/dist/node_modules/@glideapps/glide-data-grid-cells/dist/js/article-cell-editor-JDI676YI/index.esm.js +1 -1
- package/dist/node_modules/@glideapps/glide-data-grid-cells/dist/js/article-cell-editor-JDI676YI/index.js +2 -2
- package/dist/node_modules/@glideapps/glide-data-grid-cells/dist/js/article-cell-editor-JDI676YI/index.js.map +1 -1
- package/dist/node_modules/{@toast-ui → @glideapps/glide-data-grid-cells/node_modules/@toast-ui}/react-editor/dist/esm/index/index.esm.js +2 -2
- package/dist/node_modules/@glideapps/glide-data-grid-cells/node_modules/@toast-ui/react-editor/dist/esm/index/index.esm.js.map +1 -0
- package/dist/node_modules/@glideapps/glide-data-grid-cells/node_modules/@toast-ui/react-editor/dist/esm/index/index.js +2 -0
- package/dist/node_modules/@glideapps/glide-data-grid-cells/node_modules/@toast-ui/react-editor/dist/esm/index/index.js.map +1 -0
- package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.esm.js +1 -1
- package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.js +1 -1
- package/dist/node_modules/@mui/system/colorManipulator/index.esm.js +2 -2
- package/dist/node_modules/@mui/system/colorManipulator/index.js +1 -1
- package/dist/node_modules/@mui/system/colorManipulator/index.js.map +1 -1
- package/dist/node_modules/@mui/system/createStyled/index.esm.js +6 -6
- package/dist/node_modules/@mui/system/createStyled/index.js +1 -1
- package/dist/node_modules/@mui/system/createStyled/index.js.map +1 -1
- package/dist/node_modules/@mui/system/useThemeWithoutDefault/index.esm.js +1 -1
- package/dist/node_modules/@mui/system/useThemeWithoutDefault/index.js +1 -1
- package/dist/node_modules/material-react-table/dist/index.esm/index.esm.js +1 -1
- package/dist/node_modules/material-react-table/dist/index.esm/index.js +1 -1
- package/dist/node_modules/material-react-table/dist/index.esm/index.js.map +1 -1
- package/dist/node_modules/{@tanstack → material-react-table/node_modules/@tanstack}/react-virtual/dist/esm/index/index.esm.js +2 -2
- package/dist/node_modules/material-react-table/node_modules/@tanstack/react-virtual/dist/esm/index/index.esm.js.map +1 -0
- package/dist/node_modules/material-react-table/node_modules/@tanstack/react-virtual/dist/esm/index/index.js +2 -0
- package/dist/node_modules/material-react-table/node_modules/@tanstack/react-virtual/dist/esm/index/index.js.map +1 -0
- package/dist/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/redux/actionCreator/index.js.map +1 -1
- package/dist/redux/module-reducer/index.esm.js.map +1 -1
- package/dist/redux/module-reducer/index.js.map +1 -1
- package/dist/redux/store/index.esm.js.map +1 -1
- package/dist/redux/store/index.js.map +1 -1
- package/dist/server/index.esm.js.map +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/src/components/accordion/accordion.d.ts +1 -1
- package/dist/src/components/action-bar/action-bar.d.ts +1 -1
- package/dist/src/components/checkbox/checkbox.d.ts +1 -1
- package/dist/src/components/date-picker/date-picker.d.ts +1 -1
- package/dist/src/components/footer/footer.d.ts +1 -1
- package/dist/src/components/form-control/form-builder/form-builder-element/media.d.ts +1 -1
- package/dist/src/components/form-control/form-builder/form-builder-element/phone.d.ts +1 -1
- package/dist/src/components/form-control/form-builder/form-builder-element/select.d.ts +1 -1
- package/dist/src/components/form-control/form-builder/form-builder-element/text.d.ts +1 -1
- package/dist/src/components/form-control/form-builder/form-builder-element/time.d.ts +1 -1
- package/dist/src/components/form-control/form-parser/form-switcher.d.ts +1 -1
- package/dist/src/components/icons/action-arrow.d.ts +3 -3
- package/dist/src/components/icons/add-circle.d.ts +3 -3
- package/dist/src/components/icons/arrow-bidirectional.d.ts +3 -3
- package/dist/src/components/icons/arrow-circle-down.d.ts +3 -3
- package/dist/src/components/icons/arrow-down-three.d.ts +3 -3
- package/dist/src/components/icons/arrow-down-two.d.ts +3 -3
- package/dist/src/components/icons/arrow-down.d.ts +3 -3
- package/dist/src/components/icons/arrow-up-down.d.ts +3 -3
- package/dist/src/components/icons/arrow-up-two.d.ts +3 -3
- package/dist/src/components/icons/assignments.d.ts +3 -3
- package/dist/src/components/icons/blank-circle.d.ts +3 -3
- package/dist/src/components/icons/block-filled.d.ts +3 -3
- package/dist/src/components/icons/calendar-add.d.ts +3 -3
- package/dist/src/components/icons/calendar.d.ts +3 -3
- package/dist/src/components/icons/checkbox-square.d.ts +3 -3
- package/dist/src/components/icons/circular-arrow-setting.d.ts +3 -3
- package/dist/src/components/icons/clock.d.ts +3 -3
- package/dist/src/components/icons/close.d.ts +3 -3
- package/dist/src/components/icons/coin-outline.d.ts +3 -3
- package/dist/src/components/icons/copy.d.ts +3 -3
- package/dist/src/components/icons/coupon.d.ts +3 -3
- package/dist/src/components/icons/cross-hire.d.ts +3 -3
- package/dist/src/components/icons/custom-styled-icon.d.ts +3 -3
- package/dist/src/components/icons/dashboard.d.ts +3 -3
- package/dist/src/components/icons/document-download.d.ts +3 -3
- package/dist/src/components/icons/document.d.ts +3 -3
- package/dist/src/components/icons/dollar-circle-filled.d.ts +3 -3
- package/dist/src/components/icons/dollar-circle.d.ts +3 -3
- package/dist/src/components/icons/edit.d.ts +3 -3
- package/dist/src/components/icons/email.d.ts +3 -3
- package/dist/src/components/icons/export.d.ts +3 -3
- package/dist/src/components/icons/eye-off.d.ts +3 -3
- package/dist/src/components/icons/eye-plus-circle.d.ts +3 -3
- package/dist/src/components/icons/eye.d.ts +3 -3
- package/dist/src/components/icons/filled-circle.d.ts +3 -3
- package/dist/src/components/icons/filter-remove.d.ts +3 -3
- package/dist/src/components/icons/filter.d.ts +3 -3
- package/dist/src/components/icons/folder-save.d.ts +3 -3
- package/dist/src/components/icons/grid.d.ts +3 -3
- package/dist/src/components/icons/hashtag.d.ts +3 -3
- package/dist/src/components/icons/image.d.ts +3 -3
- package/dist/src/components/icons/import.d.ts +3 -3
- package/dist/src/components/icons/info-circle.d.ts +3 -3
- package/dist/src/components/icons/info.d.ts +3 -3
- package/dist/src/components/icons/link-horizontal.d.ts +3 -3
- package/dist/src/components/icons/link.d.ts +3 -3
- package/dist/src/components/icons/location.d.ts +3 -3
- package/dist/src/components/icons/lowest-lead-time.d.ts +3 -3
- package/dist/src/components/icons/lowest-min-qty.d.ts +3 -3
- package/dist/src/components/icons/lowest-price.d.ts +3 -3
- package/dist/src/components/icons/more.d.ts +3 -3
- package/dist/src/components/icons/notification.d.ts +3 -3
- package/dist/src/components/icons/paper-clip.d.ts +3 -3
- package/dist/src/components/icons/paragraph.d.ts +3 -3
- package/dist/src/components/icons/payment-request.d.ts +3 -3
- package/dist/src/components/icons/phone.d.ts +3 -3
- package/dist/src/components/icons/printer.d.ts +3 -3
- package/dist/src/components/icons/process-calendar.d.ts +3 -3
- package/dist/src/components/icons/promotion.d.ts +3 -3
- package/dist/src/components/icons/radio-button.d.ts +3 -3
- package/dist/src/components/icons/receipt-filled.d.ts +3 -3
- package/dist/src/components/icons/receipt-outline.d.ts +3 -3
- package/dist/src/components/icons/receipt.d.ts +3 -3
- package/dist/src/components/icons/refresh-icon.d.ts +3 -3
- package/dist/src/components/icons/replace.d.ts +3 -3
- package/dist/src/components/icons/save.d.ts +3 -3
- package/dist/src/components/icons/search-status.d.ts +3 -3
- package/dist/src/components/icons/search.d.ts +3 -3
- package/dist/src/components/icons/settings-fallback.d.ts +3 -3
- package/dist/src/components/icons/sort-arrow-icon.d.ts +3 -3
- package/dist/src/components/icons/stacked-layer.d.ts +3 -3
- package/dist/src/components/icons/start-filled.d.ts +3 -3
- package/dist/src/components/icons/three-dot-icon.d.ts +3 -3
- package/dist/src/components/icons/tick-circle-filled.d.ts +3 -3
- package/dist/src/components/icons/tick-circle.d.ts +3 -3
- package/dist/src/components/icons/tick-octagon.d.ts +3 -3
- package/dist/src/components/icons/tick.d.ts +3 -3
- package/dist/src/components/icons/toggle-switch.d.ts +3 -3
- package/dist/src/components/icons/trash.d.ts +3 -3
- package/dist/src/components/icons/wave.d.ts +3 -3
- package/dist/src/components/icons/with-out-tick-octagon.d.ts +3 -3
- package/dist/src/components/icons/work-centre.d.ts +3 -3
- package/dist/src/components/location-select.d.ts +1 -1
- package/dist/src/components/material-editable-table/material-editable-table.d.ts +1 -1
- package/dist/src/components/material-table/material-table.d.ts +1 -1
- package/dist/src/components/phone-input/phone-input.d.ts +1 -1
- package/dist/src/components/radio/radio.d.ts +1 -1
- package/dist/src/components/select/select.d.ts +1 -1
- package/dist/src/components/switches/android-12-switch.d.ts +1 -3
- package/dist/src/components/text-field/text-field.d.ts +1 -1
- package/dist/src/components/time-picker/time-picker.d.ts +1 -1
- package/dist/src/components/upload-media/upload-media.d.ts +1 -1
- package/dist/src/utils/common-utility.d.ts +1 -1
- package/dist/style.css +62 -62
- package/dist/styles/index.d.ts +1 -1
- package/dist/theme/theme-impl/index.esm.js.map +1 -1
- package/dist/theme/theme-impl/index.js.map +1 -1
- package/dist/utils/api/index.esm.js +6 -6
- package/dist/utils/api/index.esm.js.map +1 -1
- package/dist/utils/api/index.js +1 -1
- package/dist/utils/api/index.js.map +1 -1
- package/dist/utils/common/index.esm.js +6 -6
- package/dist/utils/common/index.esm.js.map +1 -1
- package/dist/utils/common/index.js +1 -1
- package/dist/utils/common/index.js.map +1 -1
- package/dist/utils/common-utility.d.ts +1 -1
- package/dist/utils/date-range/index.esm.js.map +1 -1
- package/dist/utils/date-range/index.js.map +1 -1
- package/dist/utils/i18n/index.esm.js.map +1 -1
- package/dist/utils/i18n/index.js.map +1 -1
- package/dist/utils/menu-filter/index.esm.js.map +1 -1
- package/dist/utils/menu-filter/index.js.map +1 -1
- package/dist/views/404/index.esm.js.map +1 -1
- package/dist/views/404/index.js.map +1 -1
- package/dist/views/afterAuth/dashboard/dashboard/index.esm.js.map +1 -1
- package/dist/views/afterAuth/dashboard/dashboard/index.js.map +1 -1
- package/dist/views/afterAuth/dashboard/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/views/afterAuth/dashboard/redux/actionCreator/index.js.map +1 -1
- package/dist/views/afterAuth/dashboard/redux/reducer/index.esm.js.map +1 -1
- package/dist/views/afterAuth/dashboard/redux/reducer/index.js.map +1 -1
- package/dist/views/afterAuth/dashboard/redux/state/index.esm.js.map +1 -1
- package/dist/views/afterAuth/dashboard/redux/state/index.js.map +1 -1
- package/dist/views/afterAuth/page-view/page-view/index.esm.js.map +1 -1
- package/dist/views/afterAuth/page-view/page-view/index.js.map +1 -1
- package/dist/views/afterAuth/page-view/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/views/afterAuth/page-view/redux/actionCreator/index.js.map +1 -1
- package/dist/views/afterAuth/page-view/redux/reducer/index.esm.js.map +1 -1
- package/dist/views/afterAuth/page-view/redux/reducer/index.js.map +1 -1
- package/dist/views/afterAuth/page-view/redux/state/index.esm.js.map +1 -1
- package/dist/views/afterAuth/page-view/redux/state/index.js.map +1 -1
- package/dist/views/afterAuth/page-view/utils/default-data/index.esm.js.map +1 -1
- package/dist/views/afterAuth/page-view/utils/default-data/index.js.map +1 -1
- package/dist/views/afterAuth/page-view/utils/local-data/index.esm.js.map +1 -1
- package/dist/views/afterAuth/page-view/utils/local-data/index.js.map +1 -1
- package/dist/views/beforeAuth/change-password/change-password/index.esm.js.map +1 -1
- package/dist/views/beforeAuth/change-password/change-password/index.js.map +1 -1
- package/dist/views/beforeAuth/components/activity-tag-data/activity-tag-data/index.esm.js.map +1 -1
- package/dist/views/beforeAuth/components/activity-tag-data/activity-tag-data/index.js.map +1 -1
- package/dist/views/beforeAuth/components/calendar-data/calendar-data/index.esm.js.map +1 -1
- package/dist/views/beforeAuth/components/calendar-data/calendar-data/index.js.map +1 -1
- package/dist/views/beforeAuth/components/gantt-data/gantt-data/index.esm.js.map +1 -1
- package/dist/views/beforeAuth/components/gantt-data/gantt-data/index.js.map +1 -1
- package/dist/views/beforeAuth/components/grid-data/grid-data/index.esm.js.map +1 -1
- package/dist/views/beforeAuth/components/grid-data/grid-data/index.js.map +1 -1
- package/dist/views/beforeAuth/components/kanbann-content/kanbann-raw/index.esm.js.map +1 -1
- package/dist/views/beforeAuth/components/kanbann-content/kanbann-raw/index.js.map +1 -1
- package/dist/views/beforeAuth/components/list-content/column-raw/index.esm.js.map +1 -1
- package/dist/views/beforeAuth/components/list-content/column-raw/index.js.map +1 -1
- package/dist/views/beforeAuth/components/list-content/list-data/index.esm.js.map +1 -1
- package/dist/views/beforeAuth/components/list-content/list-data/index.js.map +1 -1
- package/dist/views/beforeAuth/components/multiline-data/multiline-data/index.esm.js.map +1 -1
- package/dist/views/beforeAuth/components/multiline-data/multiline-data/index.js.map +1 -1
- package/dist/views/beforeAuth/components/share-modal-data/share-modal-data/index.esm.js.map +1 -1
- package/dist/views/beforeAuth/components/share-modal-data/share-modal-data/index.js.map +1 -1
- package/dist/views/beforeAuth/components/shared-pages-data/shared-pages-data/index.esm.js.map +1 -1
- package/dist/views/beforeAuth/components/shared-pages-data/shared-pages-data/index.js.map +1 -1
- package/dist/views/beforeAuth/components/tabs-data/tabs-data/index.esm.js.map +1 -1
- package/dist/views/beforeAuth/components/tabs-data/tabs-data/index.js.map +1 -1
- package/dist/views/beforeAuth/components/user-dashboard-data/user-dashboard-data/index.esm.js.map +1 -1
- package/dist/views/beforeAuth/components/user-dashboard-data/user-dashboard-data/index.js.map +1 -1
- package/dist/views/beforeAuth/components/user-dropdown-data/user-dropdown-data/index.esm.js.map +1 -1
- package/dist/views/beforeAuth/components/user-dropdown-data/user-dropdown-data/index.js.map +1 -1
- package/dist/views/beforeAuth/forgot-password/forgot-password/index.esm.js.map +1 -1
- package/dist/views/beforeAuth/forgot-password/forgot-password/index.js.map +1 -1
- package/dist/views/beforeAuth/landing/landing/index.esm.js.map +1 -1
- package/dist/views/beforeAuth/landing/landing/index.js.map +1 -1
- package/dist/views/beforeAuth/reset-password/reset-password/index.esm.js.map +1 -1
- package/dist/views/beforeAuth/reset-password/reset-password/index.js.map +1 -1
- package/dist/views/form-builder/custom-form/index.esm.js.map +1 -1
- package/dist/views/form-builder/custom-form/index.js.map +1 -1
- package/dist/views/form-builder/element-edit-forms/checkbox/index.esm.js.map +1 -1
- package/dist/views/form-builder/element-edit-forms/checkbox/index.js.map +1 -1
- package/dist/views/form-builder/element-edit-forms/column-width/index.esm.js.map +1 -1
- package/dist/views/form-builder/element-edit-forms/column-width/index.js.map +1 -1
- package/dist/views/form-builder/element-edit-forms/field-select/index.esm.js.map +1 -1
- package/dist/views/form-builder/element-edit-forms/field-select/index.js.map +1 -1
- package/dist/views/form-builder/element-edit-forms/section/index.esm.js.map +1 -1
- package/dist/views/form-builder/element-edit-forms/section/index.js.map +1 -1
- package/dist/views/form-builder/element-edit-forms/select/index.esm.js.map +1 -1
- package/dist/views/form-builder/element-edit-forms/select/index.js.map +1 -1
- package/dist/views/form-builder/element-edit-forms/table-form/index.esm.js.map +1 -1
- package/dist/views/form-builder/element-edit-forms/table-form/index.js.map +1 -1
- package/dist/views/form-builder/element-edit-forms/text/index.esm.js.map +1 -1
- package/dist/views/form-builder/element-edit-forms/text/index.js.map +1 -1
- package/dist/views/form-builder/field_properties/index.esm.js.map +1 -1
- package/dist/views/form-builder/field_properties/index.js.map +1 -1
- package/dist/views/form-builder/form-fields/index.esm.js.map +1 -1
- package/dist/views/form-builder/form-fields/index.js.map +1 -1
- package/dist/views/form-builder/redux/actionCreator/index.esm.js +1 -1
- package/dist/views/form-builder/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/views/form-builder/redux/actionCreator/index.js +1 -1
- package/dist/views/form-builder/redux/actionCreator/index.js.map +1 -1
- package/dist/views/form-builder/redux/reducer/index.esm.js.map +1 -1
- package/dist/views/form-builder/redux/reducer/index.js.map +1 -1
- package/dist/views/form-builder/redux/state/index.esm.js.map +1 -1
- package/dist/views/form-builder/redux/state/index.js.map +1 -1
- package/dist/views/form-builder/utils/common/index.esm.js.map +1 -1
- package/dist/views/form-builder/utils/common/index.js.map +1 -1
- package/dist/views/index.d.ts +8 -8
- package/dist/views/privateRoute/index.esm.js.map +1 -1
- package/dist/views/privateRoute/index.js.map +1 -1
- package/dist/views/template-editor/add-template/add-template/index.esm.js.map +1 -1
- package/dist/views/template-editor/add-template/add-template/index.js.map +1 -1
- package/dist/views/template-editor/company-selection-modal/company-selection-modal/index.esm.js.map +1 -1
- package/dist/views/template-editor/company-selection-modal/company-selection-modal/index.js.map +1 -1
- package/dist/views/template-editor/components/EditorCanvas/index.esm.js.map +1 -1
- package/dist/views/template-editor/components/EditorCanvas/index.js.map +1 -1
- package/dist/views/template-editor/components/EditorHeader/index.esm.js.map +1 -1
- package/dist/views/template-editor/components/EditorHeader/index.js.map +1 -1
- package/dist/views/template-editor/components/EditorSection/index.esm.js.map +1 -1
- package/dist/views/template-editor/components/EditorSection/index.js.map +1 -1
- package/dist/views/template-editor/components/EditorSidebar/index.esm.js +1 -1
- package/dist/views/template-editor/components/EditorSidebar/index.esm.js.map +1 -1
- package/dist/views/template-editor/components/EditorSidebar/index.js +1 -1
- package/dist/views/template-editor/components/EditorSidebar/index.js.map +1 -1
- package/dist/views/template-editor/components/SectionFlowEditor/index.esm.js.map +1 -1
- package/dist/views/template-editor/components/SectionFlowEditor/index.js.map +1 -1
- package/dist/views/template-editor/components/SectionFormatPanel/index.esm.js.map +1 -1
- package/dist/views/template-editor/components/SectionFormatPanel/index.js.map +1 -1
- package/dist/views/template-editor/components/controllers/AlignmentControl/index.esm.js.map +1 -1
- package/dist/views/template-editor/components/controllers/AlignmentControl/index.js.map +1 -1
- package/dist/views/template-editor/components/controllers/ButtonControls/index.esm.js.map +1 -1
- package/dist/views/template-editor/components/controllers/ButtonControls/index.js.map +1 -1
- package/dist/views/template-editor/components/controllers/CodeControls/index.esm.js.map +1 -1
- package/dist/views/template-editor/components/controllers/CodeControls/index.js.map +1 -1
- package/dist/views/template-editor/components/controllers/DividerControls/index.esm.js.map +1 -1
- package/dist/views/template-editor/components/controllers/DividerControls/index.js.map +1 -1
- package/dist/views/template-editor/components/controllers/ImageControls/index.esm.js.map +1 -1
- package/dist/views/template-editor/components/controllers/ImageControls/index.js.map +1 -1
- package/dist/views/template-editor/components/controllers/SignatureControls/index.esm.js.map +1 -1
- package/dist/views/template-editor/components/controllers/SignatureControls/index.js.map +1 -1
- package/dist/views/template-editor/components/controllers/TableControls/index.esm.js.map +1 -1
- package/dist/views/template-editor/components/controllers/TableControls/index.js.map +1 -1
- package/dist/views/template-editor/components/controllers/TextControls/index.esm.js.map +1 -1
- package/dist/views/template-editor/components/controllers/TextControls/index.js.map +1 -1
- package/dist/views/template-editor/components/controllers/border-control/index.esm.js.map +1 -1
- package/dist/views/template-editor/components/controllers/border-control/index.js.map +1 -1
- package/dist/views/template-editor/edit-section-modal/edit-section-modal/index.esm.js.map +1 -1
- package/dist/views/template-editor/edit-section-modal/edit-section-modal/index.js.map +1 -1
- package/dist/views/template-editor/routes/index.esm.js.map +1 -1
- package/dist/views/template-editor/routes/index.js.map +1 -1
- package/dist/views/template-editor/template-modal/html-thumbnail-preview/index.esm.js.map +1 -1
- package/dist/views/template-editor/template-modal/html-thumbnail-preview/index.js.map +1 -1
- package/dist/views/template-editor/template-modal/template-modal/index.esm.js.map +1 -1
- package/dist/views/template-editor/template-modal/template-modal/index.js.map +1 -1
- package/dist/views/template-editor/template-name-modal/template-name-modal/index.esm.js.map +1 -1
- package/dist/views/template-editor/template-name-modal/template-name-modal/index.js.map +1 -1
- package/dist/views/template-editor/templates/index.esm.js +1 -1
- package/dist/views/template-editor/templates/index.esm.js.map +1 -1
- package/dist/views/template-editor/templates/index.js +1 -1
- package/dist/views/template-editor/templates/index.js.map +1 -1
- package/dist/views/template-editor/utils/common/index.esm.js.map +1 -1
- package/dist/views/template-editor/utils/common/index.js.map +1 -1
- package/dist/views/template-editor/utils/constant/index.esm.js.map +1 -1
- package/dist/views/template-editor/utils/constant/index.js.map +1 -1
- package/dist/views/template-editor/utils/default-data/index.esm.js.map +1 -1
- package/dist/views/template-editor/utils/default-data/index.js.map +1 -1
- package/dist/views/template-editor/utils/style-extractor/index.esm.js.map +1 -1
- package/dist/views/template-editor/utils/style-extractor/index.js.map +1 -1
- package/dist/vite-env.d.ts +23 -23
- package/package.json +299 -299
- package/src/styles/README.md +287 -287
- package/src/styles/all.scss +7 -7
- package/src/styles/animations.scss +5 -5
- package/src/styles/css/reset.css +1 -1
- package/src/styles/index.d.ts +1 -1
- package/src/styles/index.ts +1 -1
- package/src/styles/mixins.scss +5 -5
- package/src/styles/sass/main.scss +11 -11
- package/src/styles/utils.scss +5 -5
- package/src/styles/variables.scss +4 -4
- package/dist/node_modules/@tanstack/react-virtual/dist/esm/index/index.esm.js.map +0 -1
- package/dist/node_modules/@tanstack/react-virtual/dist/esm/index/index.js +0 -2
- package/dist/node_modules/@tanstack/react-virtual/dist/esm/index/index.js.map +0 -1
- package/dist/node_modules/@toast-ui/react-editor/dist/esm/index/index.esm.js.map +0 -1
- package/dist/node_modules/@toast-ui/react-editor/dist/esm/index/index.js +0 -2
- package/dist/node_modules/@toast-ui/react-editor/dist/esm/index/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../../../src/components/date-picker/date-picker.tsx"],"sourcesContent":["import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\nimport { DatePicker as Date } from '@mui/x-date-pickers/DatePicker';\nimport Typography from '../typography/typography';\nimport { styled } from '@mui/material';\nimport logo from '../../assets/images';\nimport './date-picker.scss';\nimport dayjs from 'dayjs';\nimport { memo } from 'react';\n\nexport interface DatePickerProps {\n\tlabel: string;\n\tdisabled?: boolean;\n\terror?: boolean;\n\tname?: string;\n\tvalue?: string | number | Date;\n\thelperText?: string;\n\tdataPosition?: number;\n\tdataName?: string;\n\tdisableFutureDates?: boolean;\n\tplaceholder?: string;\n\trequired?: boolean;\n\tdisablePastDates?: boolean;\n\tdefaultValue?: string | number | Date | undefined;\n\ttextFieldProps?: any;\n\tformat?: string;\n\n}\n\nconst StyledDatePicker = styled(Date)(({ theme: { palette } }) => ({\n\t'& .MuiOutlinedInput-root': {\n\t\tpadding: '0',\n\t\tcolor: palette.theme?.secondary[800],\n\t\t'& fieldset': {\n\t\t\tborderColor: palette.theme?.secondary[400]\n\t\t},\n\t\t'&:hover fieldset': {\n\t\t\tborderColor: palette.theme?.secondary[500]\n\t\t},\n\t\t'&.Mui-focused fieldset': {\n\t\t\tborderWidth: '0.0625rem',\n\t\t\tborderStyle: 'solid',\n\t\t\tborderColor: palette.theme?.primary[700]\n\t\t},\n\t\t'&.Mui-error fieldset': {\n\t\t\tborderColor: palette.theme?.error[600]\n\t\t},\n\t\t'&.Mui-disabled': {\n\t\t\tbackground: palette.theme?.secondary[200],\n\t\t\tcolor: palette.theme?.secondary[800]\n\t\t},\n\t\t'& .MuiInputBase-input::placeholder': {\n\t\t\tcolor: palette.theme?.secondary[800],\n\t\t\topacity: 1\n\t\t}\n\t},\n\t'& .MuiFormHelperText-root': {\n\t\tmarginLeft: 0,\n\t\tcolor: palette.theme?.secondary[800],\n\t\t'&.Mui-error': {\n\t\t\tcolor: palette.theme?.error[600]\n\t\t}\n\t},\n\t'& .MuiIconButton-root': {\n\t\tmarginRight: 0\n\t},\n\t'& .MuiPickersCalendarHeader-labelContainer': {\n\t\tfontWeight: 600\n\t}\n}));\n\nconst DatePicker = memo((props: DatePickerProps) => {\n\tconst {\n\t\tlabel,\n\t\tdisabled,\n\t\terror,\n\t\thelperText,\n\t\tdataName,\n\t\tdataPosition,\n\t\tdisableFutureDates = false,\n\t\tplaceholder,\n\t\trequired = false,\n\t\tdisablePastDates = false,\n\t\tdefaultValue,\n\t\ttextFieldProps,\n\t\tformat,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<LocalizationProvider dateAdapter={AdapterDayjs}>\n\t\t\t{label && (\n\t\t\t\t<Typography\n\t\t\t\t\ttype='s5'\n\t\t\t\t\tweight='medium'\n\t\t\t\t\tmb={0.5}\n\t\t\t\t\tcolor={error ? 'theme.error.600' : 'theme.secondary.800'}\n\t\t\t\t\tdata-position={dataPosition}\n\t\t\t\t\tdata-name={dataName}>\n\t\t\t\t\t{label} {required && <span className='requiredStar'>*</span>}\n\t\t\t\t</Typography>\n\t\t\t)}\n\t\t\t<StyledDatePicker\n\t\t\t\tdisabled={disabled}\n\t\t\t\tdisableFuture={disableFutureDates}\n\t\t\t\tdisablePast={disablePastDates}\n\t\t\t\tslotProps={{\n\t\t\t\t\ttextField: {\n\t\t\t\t\t\thelperText: helperText,\n\t\t\t\t\t\terror: error,\n\t\t\t\t\t\tplaceholder: placeholder || 'MM/DD/YYYY',\n\t\t\t\t\t\t...textFieldProps\n\t\t\t\t\t\t// required: required,\n\t\t\t\t\t},\n\t\t\t\t\tdesktopPaper: {\n\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t'& .MuiButtonBase-root.Mui-selected': {\n\t\t\t\t\t\t\t\tcolor: 'theme.primary.900',\n\t\t\t\t\t\t\t\tbgcolor: '#B6E9D6 !important'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t'& .MuiButtonBase-root:hover': {\n\t\t\t\t\t\t\t\tcolor: 'theme.primary.900',\n\t\t\t\t\t\t\t\tbgcolor: '#B6E9D6 !important'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tformat={format || 'DD-MM-YYYY'}\n\t\t\t\tslots={{ openPickerIcon: logo.CalenderIcon }}\n\t\t\t\t{...rest}\n\t\t\t\t\n\t\t\t\tdefaultValue={defaultValue ? dayjs(defaultValue) : undefined}\n\t\t\t\tclassName='datePicker'\n\t\t\t/>\n\t\t</LocalizationProvider>\n\t);\n});\n\nexport { DatePicker };\nexport default DatePicker;\n"],"names":["Date","logo"],"mappings":";;;;;;;;;;AA6BA,MAAM,mBAAmB,OAAOA,YAAI,EAAE,CAAC,EAAE,OAAO,EAAE,QAAA,QAAU;;AAAO;AAAA,IAClE,4BAA4B;AAAA,MAC3B,SAAS;AAAA,MACT,QAAO,aAAQ,UAAR,mBAAe,UAAU;AAAA,MAChC,cAAc;AAAA,QACb,cAAa,aAAQ,UAAR,mBAAe,UAAU;AAAA,MAAG;AAAA,MAE1C,oBAAoB;AAAA,QACnB,cAAa,aAAQ,UAAR,mBAAe,UAAU;AAAA,MAAG;AAAA,MAE1C,0BAA0B;AAAA,QACzB,aAAa;AAAA,QACb,aAAa;AAAA,QACb,cAAa,aAAQ,UAAR,mBAAe,QAAQ;AAAA,MAAG;AAAA,MAExC,wBAAwB;AAAA,QACvB,cAAa,aAAQ,UAAR,mBAAe,MAAM;AAAA,MAAG;AAAA,MAEtC,kBAAkB;AAAA,QACjB,aAAY,aAAQ,UAAR,mBAAe,UAAU;AAAA,QACrC,QAAO,aAAQ,UAAR,mBAAe,UAAU;AAAA,MAAG;AAAA,MAEpC,sCAAsC;AAAA,QACrC,QAAO,aAAQ,UAAR,mBAAe,UAAU;AAAA,QAChC,SAAS;AAAA,MAAA;AAAA,IACV;AAAA,IAED,6BAA6B;AAAA,MAC5B,YAAY;AAAA,MACZ,QAAO,aAAQ,UAAR,mBAAe,UAAU;AAAA,MAChC,eAAe;AAAA,QACd,QAAO,aAAQ,UAAR,mBAAe,MAAM;AAAA,MAAG;AAAA,IAChC;AAAA,IAED,yBAAyB;AAAA,MACxB,aAAa;AAAA,IAAA;AAAA,IAEd,8CAA8C;AAAA,MAC7C,YAAY;AAAA,IAAA;AAAA,EAEd;AAAA,CAAE;AAEF,MAAM,aAAa,KAAK,CAAC,UAA2B;AACnD,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,qBAAqB;AAAA,IACrB;AAAA,IACA,WAAW;AAAA,IACX,mBAAmB;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACA;AAEJ,SACC,qBAAC,sBAAA,EAAqB,aAAa,cACjC,UAAA;AAAA,IAAA,SACA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,MAAK;AAAA,QACL,QAAO;AAAA,QACP,IAAI;AAAA,QACJ,OAAO,QAAQ,oBAAoB;AAAA,QACnC,iBAAe;AAAA,QACf,aAAW;AAAA,QACV,UAAA;AAAA,UAAA;AAAA,UAAM;AAAA,UAAE,YAAY,oBAAC,QAAA,EAAK,WAAU,gBAAe,UAAA,IAAA,CAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAGvD;AAAA,MAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA,eAAe;AAAA,QACf,aAAa;AAAA,QACb,WAAW;AAAA,UACV,WAAW;AAAA,YACV;AAAA,YACA;AAAA,YACA,aAAa,eAAe;AAAA,YAC5B,GAAG;AAAA;AAAA,UAAA;AAAA,UAGJ,cAAc;AAAA,YACb,IAAI;AAAA,cACH,sCAAsC;AAAA,gBACrC,OAAO;AAAA,gBACP,SAAS;AAAA,cAAA;AAAA,cAEV,+BAA+B;AAAA,gBAC9B,OAAO;AAAA,gBACP,SAAS;AAAA,cAAA;AAAA,YACV;AAAA,UACD;AAAA,QACD;AAAA,QAED,QAAQ,UAAU;AAAA,QAClB,OAAO,EAAE,gBAAgBC,OAAK,aAAA;AAAA,QAC7B,GAAG;AAAA,QAEJ,cAAc,eAAe,MAAM,YAAY,IAAI;AAAA,QACnD,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EACX,GACD;AAEF,CAAC;"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../../../src/components/date-picker/date-picker.tsx"],"sourcesContent":["import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\r\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\r\nimport { DatePicker as Date } from '@mui/x-date-pickers/DatePicker';\r\nimport Typography from '../typography/typography';\r\nimport { styled } from '@mui/material';\r\nimport logo from '../../assets/images';\r\nimport './date-picker.scss';\r\nimport dayjs from 'dayjs';\r\nimport { memo } from 'react';\r\n\r\nexport interface DatePickerProps {\r\n\tlabel: string;\r\n\tdisabled?: boolean;\r\n\terror?: boolean;\r\n\tname?: string;\r\n\tvalue?: string | number | Date;\r\n\thelperText?: string;\r\n\tdataPosition?: number;\r\n\tdataName?: string;\r\n\tdisableFutureDates?: boolean;\r\n\tplaceholder?: string;\r\n\trequired?: boolean;\r\n\tdisablePastDates?: boolean;\r\n\tdefaultValue?: string | number | Date | undefined;\r\n\ttextFieldProps?: any;\r\n\tformat?: string;\r\n\r\n}\r\n\r\nconst StyledDatePicker = styled(Date)(({ theme: { palette } }) => ({\r\n\t'& .MuiOutlinedInput-root': {\r\n\t\tpadding: '0',\r\n\t\tcolor: palette.theme?.secondary[800],\r\n\t\t'& fieldset': {\r\n\t\t\tborderColor: palette.theme?.secondary[400]\r\n\t\t},\r\n\t\t'&:hover fieldset': {\r\n\t\t\tborderColor: palette.theme?.secondary[500]\r\n\t\t},\r\n\t\t'&.Mui-focused fieldset': {\r\n\t\t\tborderWidth: '0.0625rem',\r\n\t\t\tborderStyle: 'solid',\r\n\t\t\tborderColor: palette.theme?.primary[700]\r\n\t\t},\r\n\t\t'&.Mui-error fieldset': {\r\n\t\t\tborderColor: palette.theme?.error[600]\r\n\t\t},\r\n\t\t'&.Mui-disabled': {\r\n\t\t\tbackground: palette.theme?.secondary[200],\r\n\t\t\tcolor: palette.theme?.secondary[800]\r\n\t\t},\r\n\t\t'& .MuiInputBase-input::placeholder': {\r\n\t\t\tcolor: palette.theme?.secondary[800],\r\n\t\t\topacity: 1\r\n\t\t}\r\n\t},\r\n\t'& .MuiFormHelperText-root': {\r\n\t\tmarginLeft: 0,\r\n\t\tcolor: palette.theme?.secondary[800],\r\n\t\t'&.Mui-error': {\r\n\t\t\tcolor: palette.theme?.error[600]\r\n\t\t}\r\n\t},\r\n\t'& .MuiIconButton-root': {\r\n\t\tmarginRight: 0\r\n\t},\r\n\t'& .MuiPickersCalendarHeader-labelContainer': {\r\n\t\tfontWeight: 600\r\n\t}\r\n}));\r\n\r\nconst DatePicker = memo((props: DatePickerProps) => {\r\n\tconst {\r\n\t\tlabel,\r\n\t\tdisabled,\r\n\t\terror,\r\n\t\thelperText,\r\n\t\tdataName,\r\n\t\tdataPosition,\r\n\t\tdisableFutureDates = false,\r\n\t\tplaceholder,\r\n\t\trequired = false,\r\n\t\tdisablePastDates = false,\r\n\t\tdefaultValue,\r\n\t\ttextFieldProps,\r\n\t\tformat,\r\n\t\t...rest\r\n\t} = props;\r\n\r\n\treturn (\r\n\t\t<LocalizationProvider dateAdapter={AdapterDayjs}>\r\n\t\t\t{label && (\r\n\t\t\t\t<Typography\r\n\t\t\t\t\ttype='s5'\r\n\t\t\t\t\tweight='medium'\r\n\t\t\t\t\tmb={0.5}\r\n\t\t\t\t\tcolor={error ? 'theme.error.600' : 'theme.secondary.800'}\r\n\t\t\t\t\tdata-position={dataPosition}\r\n\t\t\t\t\tdata-name={dataName}>\r\n\t\t\t\t\t{label} {required && <span className='requiredStar'>*</span>}\r\n\t\t\t\t</Typography>\r\n\t\t\t)}\r\n\t\t\t<StyledDatePicker\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t\tdisableFuture={disableFutureDates}\r\n\t\t\t\tdisablePast={disablePastDates}\r\n\t\t\t\tslotProps={{\r\n\t\t\t\t\ttextField: {\r\n\t\t\t\t\t\thelperText: helperText,\r\n\t\t\t\t\t\terror: error,\r\n\t\t\t\t\t\tplaceholder: placeholder || 'MM/DD/YYYY',\r\n\t\t\t\t\t\t...textFieldProps\r\n\t\t\t\t\t\t// required: required,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tdesktopPaper: {\r\n\t\t\t\t\t\tsx: {\r\n\t\t\t\t\t\t\t'& .MuiButtonBase-root.Mui-selected': {\r\n\t\t\t\t\t\t\t\tcolor: 'theme.primary.900',\r\n\t\t\t\t\t\t\t\tbgcolor: '#B6E9D6 !important'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t'& .MuiButtonBase-root:hover': {\r\n\t\t\t\t\t\t\t\tcolor: 'theme.primary.900',\r\n\t\t\t\t\t\t\t\tbgcolor: '#B6E9D6 !important'\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}}\r\n\t\t\t\tformat={format || 'DD-MM-YYYY'}\r\n\t\t\t\tslots={{ openPickerIcon: logo.CalenderIcon }}\r\n\t\t\t\t{...rest}\r\n\t\t\t\t\r\n\t\t\t\tdefaultValue={defaultValue ? dayjs(defaultValue) : undefined}\r\n\t\t\t\tclassName='datePicker'\r\n\t\t\t/>\r\n\t\t</LocalizationProvider>\r\n\t);\r\n});\r\n\r\nexport { DatePicker };\r\nexport default DatePicker;\r\n"],"names":["Date","logo"],"mappings":";;;;;;;;;;AA6BA,MAAM,mBAAmB,OAAOA,YAAI,EAAE,CAAC,EAAE,OAAO,EAAE,QAAA,QAAU;;AAAO;AAAA,IAClE,4BAA4B;AAAA,MAC3B,SAAS;AAAA,MACT,QAAO,aAAQ,UAAR,mBAAe,UAAU;AAAA,MAChC,cAAc;AAAA,QACb,cAAa,aAAQ,UAAR,mBAAe,UAAU;AAAA,MAAG;AAAA,MAE1C,oBAAoB;AAAA,QACnB,cAAa,aAAQ,UAAR,mBAAe,UAAU;AAAA,MAAG;AAAA,MAE1C,0BAA0B;AAAA,QACzB,aAAa;AAAA,QACb,aAAa;AAAA,QACb,cAAa,aAAQ,UAAR,mBAAe,QAAQ;AAAA,MAAG;AAAA,MAExC,wBAAwB;AAAA,QACvB,cAAa,aAAQ,UAAR,mBAAe,MAAM;AAAA,MAAG;AAAA,MAEtC,kBAAkB;AAAA,QACjB,aAAY,aAAQ,UAAR,mBAAe,UAAU;AAAA,QACrC,QAAO,aAAQ,UAAR,mBAAe,UAAU;AAAA,MAAG;AAAA,MAEpC,sCAAsC;AAAA,QACrC,QAAO,aAAQ,UAAR,mBAAe,UAAU;AAAA,QAChC,SAAS;AAAA,MAAA;AAAA,IACV;AAAA,IAED,6BAA6B;AAAA,MAC5B,YAAY;AAAA,MACZ,QAAO,aAAQ,UAAR,mBAAe,UAAU;AAAA,MAChC,eAAe;AAAA,QACd,QAAO,aAAQ,UAAR,mBAAe,MAAM;AAAA,MAAG;AAAA,IAChC;AAAA,IAED,yBAAyB;AAAA,MACxB,aAAa;AAAA,IAAA;AAAA,IAEd,8CAA8C;AAAA,MAC7C,YAAY;AAAA,IAAA;AAAA,EAEd;AAAA,CAAE;AAEF,MAAM,aAAa,KAAK,CAAC,UAA2B;AACnD,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,qBAAqB;AAAA,IACrB;AAAA,IACA,WAAW;AAAA,IACX,mBAAmB;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACA;AAEJ,SACC,qBAAC,sBAAA,EAAqB,aAAa,cACjC,UAAA;AAAA,IAAA,SACA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,MAAK;AAAA,QACL,QAAO;AAAA,QACP,IAAI;AAAA,QACJ,OAAO,QAAQ,oBAAoB;AAAA,QACnC,iBAAe;AAAA,QACf,aAAW;AAAA,QACV,UAAA;AAAA,UAAA;AAAA,UAAM;AAAA,UAAE,YAAY,oBAAC,QAAA,EAAK,WAAU,gBAAe,UAAA,IAAA,CAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAGvD;AAAA,MAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA,eAAe;AAAA,QACf,aAAa;AAAA,QACb,WAAW;AAAA,UACV,WAAW;AAAA,YACV;AAAA,YACA;AAAA,YACA,aAAa,eAAe;AAAA,YAC5B,GAAG;AAAA;AAAA,UAAA;AAAA,UAGJ,cAAc;AAAA,YACb,IAAI;AAAA,cACH,sCAAsC;AAAA,gBACrC,OAAO;AAAA,gBACP,SAAS;AAAA,cAAA;AAAA,cAEV,+BAA+B;AAAA,gBAC9B,OAAO;AAAA,gBACP,SAAS;AAAA,cAAA;AAAA,YACV;AAAA,UACD;AAAA,QACD;AAAA,QAED,QAAQ,UAAU;AAAA,QAClB,OAAO,EAAE,gBAAgBC,OAAK,aAAA;AAAA,QAC7B,GAAG;AAAA,QAEJ,cAAc,eAAe,MAAM,YAAY,IAAI;AAAA,QACnD,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EACX,GACD;AAEF,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/date-picker/date-picker.tsx"],"sourcesContent":["import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\nimport { DatePicker as Date } from '@mui/x-date-pickers/DatePicker';\nimport Typography from '../typography/typography';\nimport { styled } from '@mui/material';\nimport logo from '../../assets/images';\nimport './date-picker.scss';\nimport dayjs from 'dayjs';\nimport { memo } from 'react';\n\nexport interface DatePickerProps {\n\tlabel: string;\n\tdisabled?: boolean;\n\terror?: boolean;\n\tname?: string;\n\tvalue?: string | number | Date;\n\thelperText?: string;\n\tdataPosition?: number;\n\tdataName?: string;\n\tdisableFutureDates?: boolean;\n\tplaceholder?: string;\n\trequired?: boolean;\n\tdisablePastDates?: boolean;\n\tdefaultValue?: string | number | Date | undefined;\n\ttextFieldProps?: any;\n\tformat?: string;\n\n}\n\nconst StyledDatePicker = styled(Date)(({ theme: { palette } }) => ({\n\t'& .MuiOutlinedInput-root': {\n\t\tpadding: '0',\n\t\tcolor: palette.theme?.secondary[800],\n\t\t'& fieldset': {\n\t\t\tborderColor: palette.theme?.secondary[400]\n\t\t},\n\t\t'&:hover fieldset': {\n\t\t\tborderColor: palette.theme?.secondary[500]\n\t\t},\n\t\t'&.Mui-focused fieldset': {\n\t\t\tborderWidth: '0.0625rem',\n\t\t\tborderStyle: 'solid',\n\t\t\tborderColor: palette.theme?.primary[700]\n\t\t},\n\t\t'&.Mui-error fieldset': {\n\t\t\tborderColor: palette.theme?.error[600]\n\t\t},\n\t\t'&.Mui-disabled': {\n\t\t\tbackground: palette.theme?.secondary[200],\n\t\t\tcolor: palette.theme?.secondary[800]\n\t\t},\n\t\t'& .MuiInputBase-input::placeholder': {\n\t\t\tcolor: palette.theme?.secondary[800],\n\t\t\topacity: 1\n\t\t}\n\t},\n\t'& .MuiFormHelperText-root': {\n\t\tmarginLeft: 0,\n\t\tcolor: palette.theme?.secondary[800],\n\t\t'&.Mui-error': {\n\t\t\tcolor: palette.theme?.error[600]\n\t\t}\n\t},\n\t'& .MuiIconButton-root': {\n\t\tmarginRight: 0\n\t},\n\t'& .MuiPickersCalendarHeader-labelContainer': {\n\t\tfontWeight: 600\n\t}\n}));\n\nconst DatePicker = memo((props: DatePickerProps) => {\n\tconst {\n\t\tlabel,\n\t\tdisabled,\n\t\terror,\n\t\thelperText,\n\t\tdataName,\n\t\tdataPosition,\n\t\tdisableFutureDates = false,\n\t\tplaceholder,\n\t\trequired = false,\n\t\tdisablePastDates = false,\n\t\tdefaultValue,\n\t\ttextFieldProps,\n\t\tformat,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<LocalizationProvider dateAdapter={AdapterDayjs}>\n\t\t\t{label && (\n\t\t\t\t<Typography\n\t\t\t\t\ttype='s5'\n\t\t\t\t\tweight='medium'\n\t\t\t\t\tmb={0.5}\n\t\t\t\t\tcolor={error ? 'theme.error.600' : 'theme.secondary.800'}\n\t\t\t\t\tdata-position={dataPosition}\n\t\t\t\t\tdata-name={dataName}>\n\t\t\t\t\t{label} {required && <span className='requiredStar'>*</span>}\n\t\t\t\t</Typography>\n\t\t\t)}\n\t\t\t<StyledDatePicker\n\t\t\t\tdisabled={disabled}\n\t\t\t\tdisableFuture={disableFutureDates}\n\t\t\t\tdisablePast={disablePastDates}\n\t\t\t\tslotProps={{\n\t\t\t\t\ttextField: {\n\t\t\t\t\t\thelperText: helperText,\n\t\t\t\t\t\terror: error,\n\t\t\t\t\t\tplaceholder: placeholder || 'MM/DD/YYYY',\n\t\t\t\t\t\t...textFieldProps\n\t\t\t\t\t\t// required: required,\n\t\t\t\t\t},\n\t\t\t\t\tdesktopPaper: {\n\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t'& .MuiButtonBase-root.Mui-selected': {\n\t\t\t\t\t\t\t\tcolor: 'theme.primary.900',\n\t\t\t\t\t\t\t\tbgcolor: '#B6E9D6 !important'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t'& .MuiButtonBase-root:hover': {\n\t\t\t\t\t\t\t\tcolor: 'theme.primary.900',\n\t\t\t\t\t\t\t\tbgcolor: '#B6E9D6 !important'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tformat={format || 'DD-MM-YYYY'}\n\t\t\t\tslots={{ openPickerIcon: logo.CalenderIcon }}\n\t\t\t\t{...rest}\n\t\t\t\t\n\t\t\t\tdefaultValue={defaultValue ? dayjs(defaultValue) : undefined}\n\t\t\t\tclassName='datePicker'\n\t\t\t/>\n\t\t</LocalizationProvider>\n\t);\n});\n\nexport { DatePicker };\nexport default DatePicker;\n"],"names":["StyledDatePicker","styled","Date","theme","palette","padding","color","_a","secondary","borderColor","_b","_c","borderWidth","borderStyle","_d","primary","_e","error","background","_f","_g","_h","opacity","marginLeft","_i","_j","marginRight","fontWeight","DatePicker","memo","props","label","disabled","helperText","dataName","dataPosition","disableFutureDates","placeholder","required","disablePastDates","defaultValue","textFieldProps","format","rest","jsxs","LocalizationProvider","dateAdapter","AdapterDayjs","children","Typography","type","weight","mb","jsx","className","disableFuture","disablePast","slotProps","textField","desktopPaper","sx","bgcolor","slots","openPickerIcon","logo","CalenderIcon","dayjs"],"mappings":"qtBA6BA,MAAMA,EAAmBC,EAAAA,QAAOC,aAAPD,CAAa,EAAGE,OAASC,uCAAiB,MAAA,CAClE,2BAA4B,CAC3BC,QAAS,IACTC,MAAO,OAAAC,EAAAH,EAAQD,YAAR,EAAAI,EAAeC,UAAU,KAChC,aAAc,CACbC,YAAa,OAAAC,EAAAN,EAAQD,YAAR,EAAAO,EAAeF,UAAU,MAEvC,mBAAoB,CACnBC,YAAa,OAAAE,EAAAP,EAAQD,YAAR,EAAAQ,EAAeH,UAAU,MAEvC,yBAA0B,CACzBI,YAAa,YACbC,YAAa,QACbJ,YAAa,OAAAK,EAAAV,EAAQD,YAAR,EAAAW,EAAeC,QAAQ,MAErC,uBAAwB,CACvBN,YAAa,OAAAO,EAAAZ,EAAQD,YAAR,EAAAa,EAAeC,MAAM,MAEnC,iBAAkB,CACjBC,WAAY,OAAAC,EAAAf,EAAQD,YAAR,EAAAgB,EAAeX,UAAU,KACrCF,MAAO,OAAAc,EAAAhB,EAAQD,YAAR,EAAAiB,EAAeZ,UAAU,MAEjC,qCAAsC,CACrCF,MAAO,OAAAe,EAAAjB,EAAQD,YAAR,EAAAkB,EAAeb,UAAU,KAChCc,QAAS,IAGX,4BAA6B,CAC5BC,WAAY,EACZjB,MAAO,OAAAkB,EAAApB,EAAQD,YAAR,EAAAqB,EAAehB,UAAU,KAChC,cAAe,CACdF,MAAO,OAAAmB,EAAArB,EAAQD,YAAR,EAAAsB,EAAeR,MAAM,OAG9B,wBAAyB,CACxBS,YAAa,GAEd,6CAA8C,CAC7CC,WAAY,QAIRC,EAAaC,EAAAA,KAAMC,IACxB,MAAMC,MACLA,EAAAC,SACAA,EAAAf,MACAA,EAAAgB,WACAA,EAAAC,SACAA,EAAAC,aACAA,EAAAC,mBACAA,GAAqB,EAAAC,YACrBA,EAAAC,SACAA,GAAW,EAAAC,iBACXA,GAAmB,EAAAC,aACnBA,EAAAC,eACAA,EAAAC,OACAA,KACGC,GACAb;AAEJ,OACCc,EAAAA,KAACC,EAAAA,qBAAA,CAAqBC,YAAaC,EAAAA,aACjCC,SAAA,CAAAjB,kBACAa,EAAAA,KAACK,EAAAA,WAAA,CACAC,KAAK,KACLC,OAAO,SACPC,GAAI,GACJ9C,MAAOW,EAAQ,kBAAoB,sBACnC,gBAAekB,EACf,YAAWD,EACVc,SAAA,CAAAjB,EAAM,IAAEO,oBAAYe,IAAC,OAAA,CAAKC,UAAU,eAAeN,SAAA;eAGtDK,EAAAA,IAACrD,EAAA,CACAgC,WACAuB,cAAenB,EACfoB,YAAajB,EACbkB,UAAW,CACVC,UAAW,CACVzB,aACAhB,QACAoB,YAAaA,GAAe,gBACzBI,GAGJkB,aAAc,CACbC,GAAI,CACH,qCAAsC,CACrCtD,MAAO,oBACPuD,QAAS,sBAEV,8BAA+B,CAC9BvD,MAAO,oBACPuD,QAAS,yBAKbnB,OAAQA,GAAU,aAClBoB,MAAO,CAAEC,eAAgBC,EAAAA,OAAKC,iBAC1BtB,EAEJH,aAAcA,EAAe0B,UAAM1B,QAAgB,EACnDc,UAAU"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/date-picker/date-picker.tsx"],"sourcesContent":["import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\r\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\r\nimport { DatePicker as Date } from '@mui/x-date-pickers/DatePicker';\r\nimport Typography from '../typography/typography';\r\nimport { styled } from '@mui/material';\r\nimport logo from '../../assets/images';\r\nimport './date-picker.scss';\r\nimport dayjs from 'dayjs';\r\nimport { memo } from 'react';\r\n\r\nexport interface DatePickerProps {\r\n\tlabel: string;\r\n\tdisabled?: boolean;\r\n\terror?: boolean;\r\n\tname?: string;\r\n\tvalue?: string | number | Date;\r\n\thelperText?: string;\r\n\tdataPosition?: number;\r\n\tdataName?: string;\r\n\tdisableFutureDates?: boolean;\r\n\tplaceholder?: string;\r\n\trequired?: boolean;\r\n\tdisablePastDates?: boolean;\r\n\tdefaultValue?: string | number | Date | undefined;\r\n\ttextFieldProps?: any;\r\n\tformat?: string;\r\n\r\n}\r\n\r\nconst StyledDatePicker = styled(Date)(({ theme: { palette } }) => ({\r\n\t'& .MuiOutlinedInput-root': {\r\n\t\tpadding: '0',\r\n\t\tcolor: palette.theme?.secondary[800],\r\n\t\t'& fieldset': {\r\n\t\t\tborderColor: palette.theme?.secondary[400]\r\n\t\t},\r\n\t\t'&:hover fieldset': {\r\n\t\t\tborderColor: palette.theme?.secondary[500]\r\n\t\t},\r\n\t\t'&.Mui-focused fieldset': {\r\n\t\t\tborderWidth: '0.0625rem',\r\n\t\t\tborderStyle: 'solid',\r\n\t\t\tborderColor: palette.theme?.primary[700]\r\n\t\t},\r\n\t\t'&.Mui-error fieldset': {\r\n\t\t\tborderColor: palette.theme?.error[600]\r\n\t\t},\r\n\t\t'&.Mui-disabled': {\r\n\t\t\tbackground: palette.theme?.secondary[200],\r\n\t\t\tcolor: palette.theme?.secondary[800]\r\n\t\t},\r\n\t\t'& .MuiInputBase-input::placeholder': {\r\n\t\t\tcolor: palette.theme?.secondary[800],\r\n\t\t\topacity: 1\r\n\t\t}\r\n\t},\r\n\t'& .MuiFormHelperText-root': {\r\n\t\tmarginLeft: 0,\r\n\t\tcolor: palette.theme?.secondary[800],\r\n\t\t'&.Mui-error': {\r\n\t\t\tcolor: palette.theme?.error[600]\r\n\t\t}\r\n\t},\r\n\t'& .MuiIconButton-root': {\r\n\t\tmarginRight: 0\r\n\t},\r\n\t'& .MuiPickersCalendarHeader-labelContainer': {\r\n\t\tfontWeight: 600\r\n\t}\r\n}));\r\n\r\nconst DatePicker = memo((props: DatePickerProps) => {\r\n\tconst {\r\n\t\tlabel,\r\n\t\tdisabled,\r\n\t\terror,\r\n\t\thelperText,\r\n\t\tdataName,\r\n\t\tdataPosition,\r\n\t\tdisableFutureDates = false,\r\n\t\tplaceholder,\r\n\t\trequired = false,\r\n\t\tdisablePastDates = false,\r\n\t\tdefaultValue,\r\n\t\ttextFieldProps,\r\n\t\tformat,\r\n\t\t...rest\r\n\t} = props;\r\n\r\n\treturn (\r\n\t\t<LocalizationProvider dateAdapter={AdapterDayjs}>\r\n\t\t\t{label && (\r\n\t\t\t\t<Typography\r\n\t\t\t\t\ttype='s5'\r\n\t\t\t\t\tweight='medium'\r\n\t\t\t\t\tmb={0.5}\r\n\t\t\t\t\tcolor={error ? 'theme.error.600' : 'theme.secondary.800'}\r\n\t\t\t\t\tdata-position={dataPosition}\r\n\t\t\t\t\tdata-name={dataName}>\r\n\t\t\t\t\t{label} {required && <span className='requiredStar'>*</span>}\r\n\t\t\t\t</Typography>\r\n\t\t\t)}\r\n\t\t\t<StyledDatePicker\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t\tdisableFuture={disableFutureDates}\r\n\t\t\t\tdisablePast={disablePastDates}\r\n\t\t\t\tslotProps={{\r\n\t\t\t\t\ttextField: {\r\n\t\t\t\t\t\thelperText: helperText,\r\n\t\t\t\t\t\terror: error,\r\n\t\t\t\t\t\tplaceholder: placeholder || 'MM/DD/YYYY',\r\n\t\t\t\t\t\t...textFieldProps\r\n\t\t\t\t\t\t// required: required,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tdesktopPaper: {\r\n\t\t\t\t\t\tsx: {\r\n\t\t\t\t\t\t\t'& .MuiButtonBase-root.Mui-selected': {\r\n\t\t\t\t\t\t\t\tcolor: 'theme.primary.900',\r\n\t\t\t\t\t\t\t\tbgcolor: '#B6E9D6 !important'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t'& .MuiButtonBase-root:hover': {\r\n\t\t\t\t\t\t\t\tcolor: 'theme.primary.900',\r\n\t\t\t\t\t\t\t\tbgcolor: '#B6E9D6 !important'\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}}\r\n\t\t\t\tformat={format || 'DD-MM-YYYY'}\r\n\t\t\t\tslots={{ openPickerIcon: logo.CalenderIcon }}\r\n\t\t\t\t{...rest}\r\n\t\t\t\t\r\n\t\t\t\tdefaultValue={defaultValue ? dayjs(defaultValue) : undefined}\r\n\t\t\t\tclassName='datePicker'\r\n\t\t\t/>\r\n\t\t</LocalizationProvider>\r\n\t);\r\n});\r\n\r\nexport { DatePicker };\r\nexport default DatePicker;\r\n"],"names":["StyledDatePicker","styled","Date","theme","palette","padding","color","_a","secondary","borderColor","_b","_c","borderWidth","borderStyle","_d","primary","_e","error","background","_f","_g","_h","opacity","marginLeft","_i","_j","marginRight","fontWeight","DatePicker","memo","props","label","disabled","helperText","dataName","dataPosition","disableFutureDates","placeholder","required","disablePastDates","defaultValue","textFieldProps","format","rest","jsxs","LocalizationProvider","dateAdapter","AdapterDayjs","children","Typography","type","weight","mb","jsx","className","disableFuture","disablePast","slotProps","textField","desktopPaper","sx","bgcolor","slots","openPickerIcon","logo","CalenderIcon","dayjs"],"mappings":"qtBA6BA,MAAMA,EAAmBC,EAAAA,QAAOC,aAAPD,CAAa,EAAGE,OAASC,uCAAiB,MAAA,CAClE,2BAA4B,CAC3BC,QAAS,IACTC,MAAO,OAAAC,EAAAH,EAAQD,YAAR,EAAAI,EAAeC,UAAU,KAChC,aAAc,CACbC,YAAa,OAAAC,EAAAN,EAAQD,YAAR,EAAAO,EAAeF,UAAU,MAEvC,mBAAoB,CACnBC,YAAa,OAAAE,EAAAP,EAAQD,YAAR,EAAAQ,EAAeH,UAAU,MAEvC,yBAA0B,CACzBI,YAAa,YACbC,YAAa,QACbJ,YAAa,OAAAK,EAAAV,EAAQD,YAAR,EAAAW,EAAeC,QAAQ,MAErC,uBAAwB,CACvBN,YAAa,OAAAO,EAAAZ,EAAQD,YAAR,EAAAa,EAAeC,MAAM,MAEnC,iBAAkB,CACjBC,WAAY,OAAAC,EAAAf,EAAQD,YAAR,EAAAgB,EAAeX,UAAU,KACrCF,MAAO,OAAAc,EAAAhB,EAAQD,YAAR,EAAAiB,EAAeZ,UAAU,MAEjC,qCAAsC,CACrCF,MAAO,OAAAe,EAAAjB,EAAQD,YAAR,EAAAkB,EAAeb,UAAU,KAChCc,QAAS,IAGX,4BAA6B,CAC5BC,WAAY,EACZjB,MAAO,OAAAkB,EAAApB,EAAQD,YAAR,EAAAqB,EAAehB,UAAU,KAChC,cAAe,CACdF,MAAO,OAAAmB,EAAArB,EAAQD,YAAR,EAAAsB,EAAeR,MAAM,OAG9B,wBAAyB,CACxBS,YAAa,GAEd,6CAA8C,CAC7CC,WAAY,QAIRC,EAAaC,EAAAA,KAAMC,IACxB,MAAMC,MACLA,EAAAC,SACAA,EAAAf,MACAA,EAAAgB,WACAA,EAAAC,SACAA,EAAAC,aACAA,EAAAC,mBACAA,GAAqB,EAAAC,YACrBA,EAAAC,SACAA,GAAW,EAAAC,iBACXA,GAAmB,EAAAC,aACnBA,EAAAC,eACAA,EAAAC,OACAA,KACGC,GACAb;AAEJ,OACCc,EAAAA,KAACC,EAAAA,qBAAA,CAAqBC,YAAaC,EAAAA,aACjCC,SAAA,CAAAjB,kBACAa,EAAAA,KAACK,EAAAA,WAAA,CACAC,KAAK,KACLC,OAAO,SACPC,GAAI,GACJ9C,MAAOW,EAAQ,kBAAoB,sBACnC,gBAAekB,EACf,YAAWD,EACVc,SAAA,CAAAjB,EAAM,IAAEO,oBAAYe,IAAC,OAAA,CAAKC,UAAU,eAAeN,SAAA;eAGtDK,EAAAA,IAACrD,EAAA,CACAgC,WACAuB,cAAenB,EACfoB,YAAajB,EACbkB,UAAW,CACVC,UAAW,CACVzB,aACAhB,QACAoB,YAAaA,GAAe,gBACzBI,GAGJkB,aAAc,CACbC,GAAI,CACH,qCAAsC,CACrCtD,MAAO,oBACPuD,QAAS,sBAEV,8BAA+B,CAC9BvD,MAAO,oBACPuD,QAAS,yBAKbnB,OAAQA,GAAU,aAClBoB,MAAO,CAAEC,eAAgBC,EAAAA,OAAKC,iBAC1BtB,EAEJH,aAAcA,EAAe0B,UAAM1B,QAAgB,EACnDc,UAAU"}
|
|
@@ -16,6 +16,6 @@ export interface DatePickerProps {
|
|
|
16
16
|
textFieldProps?: any;
|
|
17
17
|
format?: string;
|
|
18
18
|
}
|
|
19
|
-
declare const DatePicker: import('react').
|
|
19
|
+
declare const DatePicker: import('react').MemoExoticComponent<(props: DatePickerProps) => import("react/jsx-runtime").JSX.Element>;
|
|
20
20
|
export { DatePicker };
|
|
21
21
|
export default DatePicker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../../../src/components/date-time-picker/date-time-picker.tsx"],"sourcesContent":["import React from 'react';\n\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\nimport { DateTimePicker as Date } from '@mui/x-date-pickers/DateTimePicker';\nimport Typography from '../typography/typography';\nimport { styled } from '@mui/material';\nimport logo from '../../assets/images';\nimport dayjs from 'dayjs';\nimport './date-time-picker.scss'\n\nexport interface DatePickerProps {\n\tlabel: string;\n\tdisabled?: boolean;\n\terror?: boolean;\n\tname?: string;\n\tvalue?: string | number | Date;\n\thelperText?: string;\n\tdataPosition?: number;\n\tdataName?: string;\n\tdisableFutureDates?: boolean;\n\tplaceholder?: string;\n\trequired?: boolean;\n\tdisablePastDates?: boolean;\n\tdefaultValue?: string | number | Date | undefined;\n\ttextFieldProps?: any;\n\tformat?: string;\n}\n\nconst StyledDatePicker = styled(Date)(({ theme: { palette } }) => ({\n\t'& .MuiOutlinedInput-root': {\n\t\tpadding: '0',\n\t\tcolor: palette.theme?.secondary[800],\n\t\t'& fieldset': {\n\t\t\tborderColor: palette.theme?.secondary[400]\n\t\t},\n\t\t'&:hover fieldset': {\n\t\t\tborderColor: palette.theme?.secondary[500]\n\t\t},\n\t\t'&.Mui-focused fieldset': {\n\t\t\tborderWidth: '0.0625rem',\n\t\t\tborderStyle: 'solid',\n\t\t\tborderColor: palette.theme?.primary[700]\n\t\t},\n\t\t'&.Mui-error fieldset': {\n\t\t\tborderColor: palette.theme?.error[600]\n\t\t},\n\t\t'&.Mui-disabled': {\n\t\t\tbackground: palette.theme?.secondary[200],\n\t\t\tcolor: palette.theme?.secondary[800]\n\t\t},\n\t\t'& .MuiInputBase-input::placeholder': {\n\t\t\tcolor: palette.theme?.secondary[800],\n\t\t\topacity: 1\n\t\t}\n\t},\n\t'& .MuiFormHelperText-root': {\n\t\tmarginLeft: 0,\n\t\tcolor: palette.theme?.secondary[800],\n\t\t'&.Mui-error': {\n\t\t\tcolor: palette.theme?.error[600]\n\t\t}\n\t},\n\t'& .MuiIconButton-root': {\n\t\tmarginRight: 0\n\t},\n\t'& .MuiPickersCalendarHeader-labelContainer': {\n\t\tfontWeight: 600\n\t}\n}));\n\nconst DateTimePicker = (props: DatePickerProps) => {\n\tconst {\n\t\tlabel,\n\t\tdisabled,\n\t\terror,\n\t\thelperText,\n\t\tdataName,\n\t\tdataPosition,\n\t\tdisableFutureDates = false,\n\t\tplaceholder,\n\t\trequired = false,\n\t\tdisablePastDates = false,\n\t\tdefaultValue,\n\t\ttextFieldProps,\n\t\tformat,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<LocalizationProvider dateAdapter={AdapterDayjs}>\n\t\t\t{label && (\n\t\t\t\t<Typography\n\t\t\t\t\ttype='s5'\n\t\t\t\t\tweight='medium'\n\t\t\t\t\tmb={0.5}\n\t\t\t\t\tcolor={error ? 'theme.error.600' : 'theme.secondary.800'}\n\t\t\t\t\tdata-position={dataPosition}\n\t\t\t\t\tdata-name={dataName}>\n\t\t\t\t\t{label} {required && <span className='requiredStar'>*</span>}\n\t\t\t\t</Typography>\n\t\t\t)}\n\t\t\t<StyledDatePicker\n\t\t\t\tdisabled={disabled}\n\t\t\t\tdisableFuture={disableFutureDates}\n\t\t\t\tdisablePast={disablePastDates}\n\t\t\t\tslotProps={{\n\t\t\t\t\ttextField: {\n\t\t\t\t\t\thelperText: helperText,\n\t\t\t\t\t\terror: error,\n\t\t\t\t\t\tplaceholder: placeholder || 'MM/DD/YYYY HH:mm:ss',\n\t\t\t\t\t\t...textFieldProps\n\t\t\t\t\t\t// required: required,\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tformat={format || 'MM/DD/YYYY HH:mm:ss'}\n\t\t\t\tslots={{ openPickerIcon: logo.CalenderIcon }}\n\t\t\t\t{...rest}\n\t\t\t\tdefaultValue={defaultValue ? dayjs(defaultValue) : undefined}\n\t\t\t\tclassName='datePicker'\n\t\t\t/>\n\t\t</LocalizationProvider>\n\t);\n};\n\nexport { DateTimePicker };\nexport default DateTimePicker;\n"],"names":["Date","logo"],"mappings":";;;;;;;;;AA6BA,MAAM,mBAAmB,OAAOA,gBAAI,EAAE,CAAC,EAAE,OAAO,EAAE,QAAA,QAAU;;AAAO;AAAA,IAClE,4BAA4B;AAAA,MAC3B,SAAS;AAAA,MACT,QAAO,aAAQ,UAAR,mBAAe,UAAU;AAAA,MAChC,cAAc;AAAA,QACb,cAAa,aAAQ,UAAR,mBAAe,UAAU;AAAA,MAAG;AAAA,MAE1C,oBAAoB;AAAA,QACnB,cAAa,aAAQ,UAAR,mBAAe,UAAU;AAAA,MAAG;AAAA,MAE1C,0BAA0B;AAAA,QACzB,aAAa;AAAA,QACb,aAAa;AAAA,QACb,cAAa,aAAQ,UAAR,mBAAe,QAAQ;AAAA,MAAG;AAAA,MAExC,wBAAwB;AAAA,QACvB,cAAa,aAAQ,UAAR,mBAAe,MAAM;AAAA,MAAG;AAAA,MAEtC,kBAAkB;AAAA,QACjB,aAAY,aAAQ,UAAR,mBAAe,UAAU;AAAA,QACrC,QAAO,aAAQ,UAAR,mBAAe,UAAU;AAAA,MAAG;AAAA,MAEpC,sCAAsC;AAAA,QACrC,QAAO,aAAQ,UAAR,mBAAe,UAAU;AAAA,QAChC,SAAS;AAAA,MAAA;AAAA,IACV;AAAA,IAED,6BAA6B;AAAA,MAC5B,YAAY;AAAA,MACZ,QAAO,aAAQ,UAAR,mBAAe,UAAU;AAAA,MAChC,eAAe;AAAA,QACd,QAAO,aAAQ,UAAR,mBAAe,MAAM;AAAA,MAAG;AAAA,IAChC;AAAA,IAED,yBAAyB;AAAA,MACxB,aAAa;AAAA,IAAA;AAAA,IAEd,8CAA8C;AAAA,MAC7C,YAAY;AAAA,IAAA;AAAA,EAEd;AAAA,CAAE;AAEF,MAAM,iBAAiB,CAAC,UAA2B;AAClD,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,qBAAqB;AAAA,IACrB;AAAA,IACA,WAAW;AAAA,IACX,mBAAmB;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACA;AAEJ,SACC,qBAAC,sBAAA,EAAqB,aAAa,cACjC,UAAA;AAAA,IAAA,SACA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,MAAK;AAAA,QACL,QAAO;AAAA,QACP,IAAI;AAAA,QACJ,OAAO,QAAQ,oBAAoB;AAAA,QACnC,iBAAe;AAAA,QACf,aAAW;AAAA,QACV,UAAA;AAAA,UAAA;AAAA,UAAM;AAAA,UAAE,YAAY,oBAAC,QAAA,EAAK,WAAU,gBAAe,UAAA,IAAA,CAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAGvD;AAAA,MAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA,eAAe;AAAA,QACf,aAAa;AAAA,QACb,WAAW;AAAA,UACV,WAAW;AAAA,YACV;AAAA,YACA;AAAA,YACA,aAAa,eAAe;AAAA,YAC5B,GAAG;AAAA;AAAA,UAAA;AAAA,QAEJ;AAAA,QAED,QAAQ,UAAU;AAAA,QAClB,OAAO,EAAE,gBAAgBC,OAAK,aAAA;AAAA,QAC7B,GAAG;AAAA,QACJ,cAAc,eAAe,MAAM,YAAY,IAAI;AAAA,QACnD,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EACX,GACD;AAEF;"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../../../src/components/date-time-picker/date-time-picker.tsx"],"sourcesContent":["import React from 'react';\r\n\r\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\r\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\r\nimport { DateTimePicker as Date } from '@mui/x-date-pickers/DateTimePicker';\r\nimport Typography from '../typography/typography';\r\nimport { styled } from '@mui/material';\r\nimport logo from '../../assets/images';\r\nimport dayjs from 'dayjs';\r\nimport './date-time-picker.scss'\r\n\r\nexport interface DatePickerProps {\r\n\tlabel: string;\r\n\tdisabled?: boolean;\r\n\terror?: boolean;\r\n\tname?: string;\r\n\tvalue?: string | number | Date;\r\n\thelperText?: string;\r\n\tdataPosition?: number;\r\n\tdataName?: string;\r\n\tdisableFutureDates?: boolean;\r\n\tplaceholder?: string;\r\n\trequired?: boolean;\r\n\tdisablePastDates?: boolean;\r\n\tdefaultValue?: string | number | Date | undefined;\r\n\ttextFieldProps?: any;\r\n\tformat?: string;\r\n}\r\n\r\nconst StyledDatePicker = styled(Date)(({ theme: { palette } }) => ({\r\n\t'& .MuiOutlinedInput-root': {\r\n\t\tpadding: '0',\r\n\t\tcolor: palette.theme?.secondary[800],\r\n\t\t'& fieldset': {\r\n\t\t\tborderColor: palette.theme?.secondary[400]\r\n\t\t},\r\n\t\t'&:hover fieldset': {\r\n\t\t\tborderColor: palette.theme?.secondary[500]\r\n\t\t},\r\n\t\t'&.Mui-focused fieldset': {\r\n\t\t\tborderWidth: '0.0625rem',\r\n\t\t\tborderStyle: 'solid',\r\n\t\t\tborderColor: palette.theme?.primary[700]\r\n\t\t},\r\n\t\t'&.Mui-error fieldset': {\r\n\t\t\tborderColor: palette.theme?.error[600]\r\n\t\t},\r\n\t\t'&.Mui-disabled': {\r\n\t\t\tbackground: palette.theme?.secondary[200],\r\n\t\t\tcolor: palette.theme?.secondary[800]\r\n\t\t},\r\n\t\t'& .MuiInputBase-input::placeholder': {\r\n\t\t\tcolor: palette.theme?.secondary[800],\r\n\t\t\topacity: 1\r\n\t\t}\r\n\t},\r\n\t'& .MuiFormHelperText-root': {\r\n\t\tmarginLeft: 0,\r\n\t\tcolor: palette.theme?.secondary[800],\r\n\t\t'&.Mui-error': {\r\n\t\t\tcolor: palette.theme?.error[600]\r\n\t\t}\r\n\t},\r\n\t'& .MuiIconButton-root': {\r\n\t\tmarginRight: 0\r\n\t},\r\n\t'& .MuiPickersCalendarHeader-labelContainer': {\r\n\t\tfontWeight: 600\r\n\t}\r\n}));\r\n\r\nconst DateTimePicker = (props: DatePickerProps) => {\r\n\tconst {\r\n\t\tlabel,\r\n\t\tdisabled,\r\n\t\terror,\r\n\t\thelperText,\r\n\t\tdataName,\r\n\t\tdataPosition,\r\n\t\tdisableFutureDates = false,\r\n\t\tplaceholder,\r\n\t\trequired = false,\r\n\t\tdisablePastDates = false,\r\n\t\tdefaultValue,\r\n\t\ttextFieldProps,\r\n\t\tformat,\r\n\t\t...rest\r\n\t} = props;\r\n\r\n\treturn (\r\n\t\t<LocalizationProvider dateAdapter={AdapterDayjs}>\r\n\t\t\t{label && (\r\n\t\t\t\t<Typography\r\n\t\t\t\t\ttype='s5'\r\n\t\t\t\t\tweight='medium'\r\n\t\t\t\t\tmb={0.5}\r\n\t\t\t\t\tcolor={error ? 'theme.error.600' : 'theme.secondary.800'}\r\n\t\t\t\t\tdata-position={dataPosition}\r\n\t\t\t\t\tdata-name={dataName}>\r\n\t\t\t\t\t{label} {required && <span className='requiredStar'>*</span>}\r\n\t\t\t\t</Typography>\r\n\t\t\t)}\r\n\t\t\t<StyledDatePicker\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t\tdisableFuture={disableFutureDates}\r\n\t\t\t\tdisablePast={disablePastDates}\r\n\t\t\t\tslotProps={{\r\n\t\t\t\t\ttextField: {\r\n\t\t\t\t\t\thelperText: helperText,\r\n\t\t\t\t\t\terror: error,\r\n\t\t\t\t\t\tplaceholder: placeholder || 'MM/DD/YYYY HH:mm:ss',\r\n\t\t\t\t\t\t...textFieldProps\r\n\t\t\t\t\t\t// required: required,\r\n\t\t\t\t\t}\r\n\t\t\t\t}}\r\n\t\t\t\tformat={format || 'MM/DD/YYYY HH:mm:ss'}\r\n\t\t\t\tslots={{ openPickerIcon: logo.CalenderIcon }}\r\n\t\t\t\t{...rest}\r\n\t\t\t\tdefaultValue={defaultValue ? dayjs(defaultValue) : undefined}\r\n\t\t\t\tclassName='datePicker'\r\n\t\t\t/>\r\n\t\t</LocalizationProvider>\r\n\t);\r\n};\r\n\r\nexport { DateTimePicker };\r\nexport default DateTimePicker;\r\n"],"names":["Date","logo"],"mappings":";;;;;;;;;AA6BA,MAAM,mBAAmB,OAAOA,gBAAI,EAAE,CAAC,EAAE,OAAO,EAAE,QAAA,QAAU;;AAAO;AAAA,IAClE,4BAA4B;AAAA,MAC3B,SAAS;AAAA,MACT,QAAO,aAAQ,UAAR,mBAAe,UAAU;AAAA,MAChC,cAAc;AAAA,QACb,cAAa,aAAQ,UAAR,mBAAe,UAAU;AAAA,MAAG;AAAA,MAE1C,oBAAoB;AAAA,QACnB,cAAa,aAAQ,UAAR,mBAAe,UAAU;AAAA,MAAG;AAAA,MAE1C,0BAA0B;AAAA,QACzB,aAAa;AAAA,QACb,aAAa;AAAA,QACb,cAAa,aAAQ,UAAR,mBAAe,QAAQ;AAAA,MAAG;AAAA,MAExC,wBAAwB;AAAA,QACvB,cAAa,aAAQ,UAAR,mBAAe,MAAM;AAAA,MAAG;AAAA,MAEtC,kBAAkB;AAAA,QACjB,aAAY,aAAQ,UAAR,mBAAe,UAAU;AAAA,QACrC,QAAO,aAAQ,UAAR,mBAAe,UAAU;AAAA,MAAG;AAAA,MAEpC,sCAAsC;AAAA,QACrC,QAAO,aAAQ,UAAR,mBAAe,UAAU;AAAA,QAChC,SAAS;AAAA,MAAA;AAAA,IACV;AAAA,IAED,6BAA6B;AAAA,MAC5B,YAAY;AAAA,MACZ,QAAO,aAAQ,UAAR,mBAAe,UAAU;AAAA,MAChC,eAAe;AAAA,QACd,QAAO,aAAQ,UAAR,mBAAe,MAAM;AAAA,MAAG;AAAA,IAChC;AAAA,IAED,yBAAyB;AAAA,MACxB,aAAa;AAAA,IAAA;AAAA,IAEd,8CAA8C;AAAA,MAC7C,YAAY;AAAA,IAAA;AAAA,EAEd;AAAA,CAAE;AAEF,MAAM,iBAAiB,CAAC,UAA2B;AAClD,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,qBAAqB;AAAA,IACrB;AAAA,IACA,WAAW;AAAA,IACX,mBAAmB;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACA;AAEJ,SACC,qBAAC,sBAAA,EAAqB,aAAa,cACjC,UAAA;AAAA,IAAA,SACA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,MAAK;AAAA,QACL,QAAO;AAAA,QACP,IAAI;AAAA,QACJ,OAAO,QAAQ,oBAAoB;AAAA,QACnC,iBAAe;AAAA,QACf,aAAW;AAAA,QACV,UAAA;AAAA,UAAA;AAAA,UAAM;AAAA,UAAE,YAAY,oBAAC,QAAA,EAAK,WAAU,gBAAe,UAAA,IAAA,CAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAGvD;AAAA,MAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA,eAAe;AAAA,QACf,aAAa;AAAA,QACb,WAAW;AAAA,UACV,WAAW;AAAA,YACV;AAAA,YACA;AAAA,YACA,aAAa,eAAe;AAAA,YAC5B,GAAG;AAAA;AAAA,UAAA;AAAA,QAEJ;AAAA,QAED,QAAQ,UAAU;AAAA,QAClB,OAAO,EAAE,gBAAgBC,OAAK,aAAA;AAAA,QAC7B,GAAG;AAAA,QACJ,cAAc,eAAe,MAAM,YAAY,IAAI;AAAA,QACnD,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EACX,GACD;AAEF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/date-time-picker/date-time-picker.tsx"],"sourcesContent":["import React from 'react';\n\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\nimport { DateTimePicker as Date } from '@mui/x-date-pickers/DateTimePicker';\nimport Typography from '../typography/typography';\nimport { styled } from '@mui/material';\nimport logo from '../../assets/images';\nimport dayjs from 'dayjs';\nimport './date-time-picker.scss'\n\nexport interface DatePickerProps {\n\tlabel: string;\n\tdisabled?: boolean;\n\terror?: boolean;\n\tname?: string;\n\tvalue?: string | number | Date;\n\thelperText?: string;\n\tdataPosition?: number;\n\tdataName?: string;\n\tdisableFutureDates?: boolean;\n\tplaceholder?: string;\n\trequired?: boolean;\n\tdisablePastDates?: boolean;\n\tdefaultValue?: string | number | Date | undefined;\n\ttextFieldProps?: any;\n\tformat?: string;\n}\n\nconst StyledDatePicker = styled(Date)(({ theme: { palette } }) => ({\n\t'& .MuiOutlinedInput-root': {\n\t\tpadding: '0',\n\t\tcolor: palette.theme?.secondary[800],\n\t\t'& fieldset': {\n\t\t\tborderColor: palette.theme?.secondary[400]\n\t\t},\n\t\t'&:hover fieldset': {\n\t\t\tborderColor: palette.theme?.secondary[500]\n\t\t},\n\t\t'&.Mui-focused fieldset': {\n\t\t\tborderWidth: '0.0625rem',\n\t\t\tborderStyle: 'solid',\n\t\t\tborderColor: palette.theme?.primary[700]\n\t\t},\n\t\t'&.Mui-error fieldset': {\n\t\t\tborderColor: palette.theme?.error[600]\n\t\t},\n\t\t'&.Mui-disabled': {\n\t\t\tbackground: palette.theme?.secondary[200],\n\t\t\tcolor: palette.theme?.secondary[800]\n\t\t},\n\t\t'& .MuiInputBase-input::placeholder': {\n\t\t\tcolor: palette.theme?.secondary[800],\n\t\t\topacity: 1\n\t\t}\n\t},\n\t'& .MuiFormHelperText-root': {\n\t\tmarginLeft: 0,\n\t\tcolor: palette.theme?.secondary[800],\n\t\t'&.Mui-error': {\n\t\t\tcolor: palette.theme?.error[600]\n\t\t}\n\t},\n\t'& .MuiIconButton-root': {\n\t\tmarginRight: 0\n\t},\n\t'& .MuiPickersCalendarHeader-labelContainer': {\n\t\tfontWeight: 600\n\t}\n}));\n\nconst DateTimePicker = (props: DatePickerProps) => {\n\tconst {\n\t\tlabel,\n\t\tdisabled,\n\t\terror,\n\t\thelperText,\n\t\tdataName,\n\t\tdataPosition,\n\t\tdisableFutureDates = false,\n\t\tplaceholder,\n\t\trequired = false,\n\t\tdisablePastDates = false,\n\t\tdefaultValue,\n\t\ttextFieldProps,\n\t\tformat,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<LocalizationProvider dateAdapter={AdapterDayjs}>\n\t\t\t{label && (\n\t\t\t\t<Typography\n\t\t\t\t\ttype='s5'\n\t\t\t\t\tweight='medium'\n\t\t\t\t\tmb={0.5}\n\t\t\t\t\tcolor={error ? 'theme.error.600' : 'theme.secondary.800'}\n\t\t\t\t\tdata-position={dataPosition}\n\t\t\t\t\tdata-name={dataName}>\n\t\t\t\t\t{label} {required && <span className='requiredStar'>*</span>}\n\t\t\t\t</Typography>\n\t\t\t)}\n\t\t\t<StyledDatePicker\n\t\t\t\tdisabled={disabled}\n\t\t\t\tdisableFuture={disableFutureDates}\n\t\t\t\tdisablePast={disablePastDates}\n\t\t\t\tslotProps={{\n\t\t\t\t\ttextField: {\n\t\t\t\t\t\thelperText: helperText,\n\t\t\t\t\t\terror: error,\n\t\t\t\t\t\tplaceholder: placeholder || 'MM/DD/YYYY HH:mm:ss',\n\t\t\t\t\t\t...textFieldProps\n\t\t\t\t\t\t// required: required,\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tformat={format || 'MM/DD/YYYY HH:mm:ss'}\n\t\t\t\tslots={{ openPickerIcon: logo.CalenderIcon }}\n\t\t\t\t{...rest}\n\t\t\t\tdefaultValue={defaultValue ? dayjs(defaultValue) : undefined}\n\t\t\t\tclassName='datePicker'\n\t\t\t/>\n\t\t</LocalizationProvider>\n\t);\n};\n\nexport { DateTimePicker };\nexport default DateTimePicker;\n"],"names":["StyledDatePicker","styled","Date","theme","palette","padding","color","_a","secondary","borderColor","_b","_c","borderWidth","borderStyle","_d","primary","_e","error","background","_f","_g","_h","opacity","marginLeft","_i","_j","marginRight","fontWeight","DateTimePicker","props","label","disabled","helperText","dataName","dataPosition","disableFutureDates","placeholder","required","disablePastDates","defaultValue","textFieldProps","format","rest","jsxs","LocalizationProvider","dateAdapter","AdapterDayjs","children","Typography","type","weight","mb","jsx","className","disableFuture","disablePast","slotProps","textField","slots","openPickerIcon","logo","CalenderIcon","dayjs"],"mappings":"+sBA6BA,MAAMA,EAAmBC,EAAAA,QAAOC,iBAAPD,CAAa,EAAGE,OAASC,uCAAiB,MAAA,CAClE,2BAA4B,CAC3BC,QAAS,IACTC,MAAO,OAAAC,EAAAH,EAAQD,YAAR,EAAAI,EAAeC,UAAU,KAChC,aAAc,CACbC,YAAa,OAAAC,EAAAN,EAAQD,YAAR,EAAAO,EAAeF,UAAU,MAEvC,mBAAoB,CACnBC,YAAa,OAAAE,EAAAP,EAAQD,YAAR,EAAAQ,EAAeH,UAAU,MAEvC,yBAA0B,CACzBI,YAAa,YACbC,YAAa,QACbJ,YAAa,OAAAK,EAAAV,EAAQD,YAAR,EAAAW,EAAeC,QAAQ,MAErC,uBAAwB,CACvBN,YAAa,OAAAO,EAAAZ,EAAQD,YAAR,EAAAa,EAAeC,MAAM,MAEnC,iBAAkB,CACjBC,WAAY,OAAAC,EAAAf,EAAQD,YAAR,EAAAgB,EAAeX,UAAU,KACrCF,MAAO,OAAAc,EAAAhB,EAAQD,YAAR,EAAAiB,EAAeZ,UAAU,MAEjC,qCAAsC,CACrCF,MAAO,OAAAe,EAAAjB,EAAQD,YAAR,EAAAkB,EAAeb,UAAU,KAChCc,QAAS,IAGX,4BAA6B,CAC5BC,WAAY,EACZjB,MAAO,OAAAkB,EAAApB,EAAQD,YAAR,EAAAqB,EAAehB,UAAU,KAChC,cAAe,CACdF,MAAO,OAAAmB,EAAArB,EAAQD,YAAR,EAAAsB,EAAeR,MAAM,OAG9B,wBAAyB,CACxBS,YAAa,GAEd,6CAA8C,CAC7CC,WAAY,QAIRC,EAAkBC,IACvB,MAAMC,MACLA,EAAAC,SACAA,EAAAd,MACAA,EAAAe,WACAA,EAAAC,SACAA,EAAAC,aACAA,EAAAC,mBACAA,GAAqB,EAAAC,YACrBA,EAAAC,SACAA,GAAW,EAAAC,iBACXA,GAAmB,EAAAC,aACnBA,EAAAC,eACAA,EAAAC,OACAA,KACGC,GACAb;AAEJ,OACCc,EAAAA,KAACC,EAAAA,qBAAA,CAAqBC,YAAaC,EAAAA,aACjCC,SAAA,CAAAjB,kBACAa,EAAAA,KAACK,EAAAA,WAAA,CACAC,KAAK,KACLC,OAAO,SACPC,GAAI,GACJ7C,MAAOW,EAAQ,kBAAoB,sBACnC,gBAAeiB,EACf,YAAWD,EACVc,SAAA,CAAAjB,EAAM,IAAEO,oBAAYe,IAAC,OAAA,CAAKC,UAAU,eAAeN,SAAA;eAGtDK,EAAAA,IAACpD,EAAA,CACA+B,WACAuB,cAAenB,EACfoB,YAAajB,EACbkB,UAAW,CACVC,UAAW,CACVzB,aACAf,QACAmB,YAAaA,GAAe,yBACzBI,IAILC,OAAQA,GAAU,sBAClBiB,MAAO,CAAEC,eAAgBC,EAAAA,OAAKC,iBAC1BnB,EACJH,aAAcA,EAAeuB,UAAMvB,QAAgB,EACnDc,UAAU"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/date-time-picker/date-time-picker.tsx"],"sourcesContent":["import React from 'react';\r\n\r\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\r\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\r\nimport { DateTimePicker as Date } from '@mui/x-date-pickers/DateTimePicker';\r\nimport Typography from '../typography/typography';\r\nimport { styled } from '@mui/material';\r\nimport logo from '../../assets/images';\r\nimport dayjs from 'dayjs';\r\nimport './date-time-picker.scss'\r\n\r\nexport interface DatePickerProps {\r\n\tlabel: string;\r\n\tdisabled?: boolean;\r\n\terror?: boolean;\r\n\tname?: string;\r\n\tvalue?: string | number | Date;\r\n\thelperText?: string;\r\n\tdataPosition?: number;\r\n\tdataName?: string;\r\n\tdisableFutureDates?: boolean;\r\n\tplaceholder?: string;\r\n\trequired?: boolean;\r\n\tdisablePastDates?: boolean;\r\n\tdefaultValue?: string | number | Date | undefined;\r\n\ttextFieldProps?: any;\r\n\tformat?: string;\r\n}\r\n\r\nconst StyledDatePicker = styled(Date)(({ theme: { palette } }) => ({\r\n\t'& .MuiOutlinedInput-root': {\r\n\t\tpadding: '0',\r\n\t\tcolor: palette.theme?.secondary[800],\r\n\t\t'& fieldset': {\r\n\t\t\tborderColor: palette.theme?.secondary[400]\r\n\t\t},\r\n\t\t'&:hover fieldset': {\r\n\t\t\tborderColor: palette.theme?.secondary[500]\r\n\t\t},\r\n\t\t'&.Mui-focused fieldset': {\r\n\t\t\tborderWidth: '0.0625rem',\r\n\t\t\tborderStyle: 'solid',\r\n\t\t\tborderColor: palette.theme?.primary[700]\r\n\t\t},\r\n\t\t'&.Mui-error fieldset': {\r\n\t\t\tborderColor: palette.theme?.error[600]\r\n\t\t},\r\n\t\t'&.Mui-disabled': {\r\n\t\t\tbackground: palette.theme?.secondary[200],\r\n\t\t\tcolor: palette.theme?.secondary[800]\r\n\t\t},\r\n\t\t'& .MuiInputBase-input::placeholder': {\r\n\t\t\tcolor: palette.theme?.secondary[800],\r\n\t\t\topacity: 1\r\n\t\t}\r\n\t},\r\n\t'& .MuiFormHelperText-root': {\r\n\t\tmarginLeft: 0,\r\n\t\tcolor: palette.theme?.secondary[800],\r\n\t\t'&.Mui-error': {\r\n\t\t\tcolor: palette.theme?.error[600]\r\n\t\t}\r\n\t},\r\n\t'& .MuiIconButton-root': {\r\n\t\tmarginRight: 0\r\n\t},\r\n\t'& .MuiPickersCalendarHeader-labelContainer': {\r\n\t\tfontWeight: 600\r\n\t}\r\n}));\r\n\r\nconst DateTimePicker = (props: DatePickerProps) => {\r\n\tconst {\r\n\t\tlabel,\r\n\t\tdisabled,\r\n\t\terror,\r\n\t\thelperText,\r\n\t\tdataName,\r\n\t\tdataPosition,\r\n\t\tdisableFutureDates = false,\r\n\t\tplaceholder,\r\n\t\trequired = false,\r\n\t\tdisablePastDates = false,\r\n\t\tdefaultValue,\r\n\t\ttextFieldProps,\r\n\t\tformat,\r\n\t\t...rest\r\n\t} = props;\r\n\r\n\treturn (\r\n\t\t<LocalizationProvider dateAdapter={AdapterDayjs}>\r\n\t\t\t{label && (\r\n\t\t\t\t<Typography\r\n\t\t\t\t\ttype='s5'\r\n\t\t\t\t\tweight='medium'\r\n\t\t\t\t\tmb={0.5}\r\n\t\t\t\t\tcolor={error ? 'theme.error.600' : 'theme.secondary.800'}\r\n\t\t\t\t\tdata-position={dataPosition}\r\n\t\t\t\t\tdata-name={dataName}>\r\n\t\t\t\t\t{label} {required && <span className='requiredStar'>*</span>}\r\n\t\t\t\t</Typography>\r\n\t\t\t)}\r\n\t\t\t<StyledDatePicker\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t\tdisableFuture={disableFutureDates}\r\n\t\t\t\tdisablePast={disablePastDates}\r\n\t\t\t\tslotProps={{\r\n\t\t\t\t\ttextField: {\r\n\t\t\t\t\t\thelperText: helperText,\r\n\t\t\t\t\t\terror: error,\r\n\t\t\t\t\t\tplaceholder: placeholder || 'MM/DD/YYYY HH:mm:ss',\r\n\t\t\t\t\t\t...textFieldProps\r\n\t\t\t\t\t\t// required: required,\r\n\t\t\t\t\t}\r\n\t\t\t\t}}\r\n\t\t\t\tformat={format || 'MM/DD/YYYY HH:mm:ss'}\r\n\t\t\t\tslots={{ openPickerIcon: logo.CalenderIcon }}\r\n\t\t\t\t{...rest}\r\n\t\t\t\tdefaultValue={defaultValue ? dayjs(defaultValue) : undefined}\r\n\t\t\t\tclassName='datePicker'\r\n\t\t\t/>\r\n\t\t</LocalizationProvider>\r\n\t);\r\n};\r\n\r\nexport { DateTimePicker };\r\nexport default DateTimePicker;\r\n"],"names":["StyledDatePicker","styled","Date","theme","palette","padding","color","_a","secondary","borderColor","_b","_c","borderWidth","borderStyle","_d","primary","_e","error","background","_f","_g","_h","opacity","marginLeft","_i","_j","marginRight","fontWeight","DateTimePicker","props","label","disabled","helperText","dataName","dataPosition","disableFutureDates","placeholder","required","disablePastDates","defaultValue","textFieldProps","format","rest","jsxs","LocalizationProvider","dateAdapter","AdapterDayjs","children","Typography","type","weight","mb","jsx","className","disableFuture","disablePast","slotProps","textField","slots","openPickerIcon","logo","CalenderIcon","dayjs"],"mappings":"+sBA6BA,MAAMA,EAAmBC,EAAAA,QAAOC,iBAAPD,CAAa,EAAGE,OAASC,uCAAiB,MAAA,CAClE,2BAA4B,CAC3BC,QAAS,IACTC,MAAO,OAAAC,EAAAH,EAAQD,YAAR,EAAAI,EAAeC,UAAU,KAChC,aAAc,CACbC,YAAa,OAAAC,EAAAN,EAAQD,YAAR,EAAAO,EAAeF,UAAU,MAEvC,mBAAoB,CACnBC,YAAa,OAAAE,EAAAP,EAAQD,YAAR,EAAAQ,EAAeH,UAAU,MAEvC,yBAA0B,CACzBI,YAAa,YACbC,YAAa,QACbJ,YAAa,OAAAK,EAAAV,EAAQD,YAAR,EAAAW,EAAeC,QAAQ,MAErC,uBAAwB,CACvBN,YAAa,OAAAO,EAAAZ,EAAQD,YAAR,EAAAa,EAAeC,MAAM,MAEnC,iBAAkB,CACjBC,WAAY,OAAAC,EAAAf,EAAQD,YAAR,EAAAgB,EAAeX,UAAU,KACrCF,MAAO,OAAAc,EAAAhB,EAAQD,YAAR,EAAAiB,EAAeZ,UAAU,MAEjC,qCAAsC,CACrCF,MAAO,OAAAe,EAAAjB,EAAQD,YAAR,EAAAkB,EAAeb,UAAU,KAChCc,QAAS,IAGX,4BAA6B,CAC5BC,WAAY,EACZjB,MAAO,OAAAkB,EAAApB,EAAQD,YAAR,EAAAqB,EAAehB,UAAU,KAChC,cAAe,CACdF,MAAO,OAAAmB,EAAArB,EAAQD,YAAR,EAAAsB,EAAeR,MAAM,OAG9B,wBAAyB,CACxBS,YAAa,GAEd,6CAA8C,CAC7CC,WAAY,QAIRC,EAAkBC,IACvB,MAAMC,MACLA,EAAAC,SACAA,EAAAd,MACAA,EAAAe,WACAA,EAAAC,SACAA,EAAAC,aACAA,EAAAC,mBACAA,GAAqB,EAAAC,YACrBA,EAAAC,SACAA,GAAW,EAAAC,iBACXA,GAAmB,EAAAC,aACnBA,EAAAC,eACAA,EAAAC,OACAA,KACGC,GACAb;AAEJ,OACCc,EAAAA,KAACC,EAAAA,qBAAA,CAAqBC,YAAaC,EAAAA,aACjCC,SAAA,CAAAjB,kBACAa,EAAAA,KAACK,EAAAA,WAAA,CACAC,KAAK,KACLC,OAAO,SACPC,GAAI,GACJ7C,MAAOW,EAAQ,kBAAoB,sBACnC,gBAAeiB,EACf,YAAWD,EACVc,SAAA,CAAAjB,EAAM,IAAEO,oBAAYe,IAAC,OAAA,CAAKC,UAAU,eAAeN,SAAA;eAGtDK,EAAAA,IAACpD,EAAA,CACA+B,WACAuB,cAAenB,EACfoB,YAAajB,EACbkB,UAAW,CACVC,UAAW,CACVzB,aACAf,QACAmB,YAAaA,GAAe,yBACzBI,IAILC,OAAQA,GAAU,sBAClBiB,MAAO,CAAEC,eAAgBC,EAAAA,OAAKC,iBAC1BnB,EACJH,aAAcA,EAAeuB,UAAMvB,QAAgB,EACnDc,UAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../../../src/components/editor/custom-editor.tsx"],"sourcesContent":["/* eslint-disable unused-imports/no-unused-vars */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n// IsolatedEditor.js - This file should ONLY be imported via React.lazy()\nimport React, { useState, useEffect, useMemo, useCallback } from 'react';\nimport './custom-editor.css';\n\n// Import ALL CKEditor dependencies in this file ONLY\n// Do NOT import these anywhere else in your application\nimport { CKEditor } from '@ckeditor/ckeditor5-react';\nimport {\n\tClassicEditor,\n\tAlignment,\n\tAutoLink,\n\tAutosave,\n\tBalloonToolbar,\n\tBlockQuote,\n\tBlockToolbar,\n\tBold,\n\tCode,\n\tCodeBlock,\n\tEssentials,\n\tFontBackgroundColor,\n\tFontColor,\n\tFontFamily,\n\tFontSize,\n\tHeading,\n\tHighlight,\n\tHorizontalLine,\n\tImageEditing,\n\tImageUtils,\n\tIndent,\n\tIndentBlock,\n\tItalic,\n\tLink,\n\tParagraph,\n\tPlainTableOutput,\n\tRemoveFormat,\n\tStrikethrough,\n\tSubscript,\n\tSuperscript,\n\tTable,\n\tTableCaption,\n\tTableCellProperties,\n\tTableColumnResize,\n\tTableProperties,\n\tTableToolbar,\n\tUnderline,\n\tGeneralHtmlSupport,\n\tSourceEditing,\n\t// Image support\n\tImage,\n\tImageBlock,\n\tImageInline,\n\tImageToolbar,\n\tImageCaption,\n\tImageStyle,\n\tImageResize,\n\tImageInsert,\n\tImageInsertViaUrl,\n\tImageUpload,\n\tImageTextAlternative,\n\tSimpleUploadAdapter,\n\tLinkImage,\n\tClipboardPipeline,\n\tAutoImage,\n EditorConfig\n} from 'ckeditor5';\n\nimport 'ckeditor5/ckeditor5.css';\nimport { postV1Drive } from '../../api-client/api.drive/api';\nimport { getToken, uploadFiles } from '../../utils/common';\n\nconst LICENSE_KEY = 'GPL';\n\nclass MyUploadAdapter {\n\tconstructor(loader, uploadFn) {\n\t\t// The file loader instance to use during the upload\n\t\tthis.loader = loader;\n\t\tthis.uploadFn = uploadFn;\n\t}\n\n\t// Starts the upload process\n\tasync upload() {\n\t\tconst file = await this.loader.file;\n\t\ttry {\n\t\t\t// 👇 Call your existing function\n\t\t\tconst response = await this.uploadFn(file);\n\n\t\t\t// CKEditor expects this format:\n\t\t\treturn {\n\t\t\t\tdefault: response.url // must return final image URL\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tconsole.error('Upload failed', error);\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\t// Optional abort support\n\tabort() {\n\t\tconsole.log('Upload aborted');\n\t}\n}\n\nfunction PasteImageUrlPlugin(editor) {\n\tconst clipboard = editor.plugins.get(ClipboardPipeline);\n\n\tclipboard.on('inputTransformation', (evt, data) => {\n\t\tconst content = data.content.getChild(0);\n\n\t\t// Check if pasted content is plain text\n\t\tif (content && content.is('$textProxy')) {\n\t\t\tconst url = content.data.trim();\n\n\t\t\t// Check if it looks like an image URL\n\t\t\tif (url.match(/\\.(jpeg|jpg|gif|png|webp|svg)$/i)) {\n\t\t\t\tconst imageElement = editor.model.change((writer) => {\n\t\t\t\t\treturn writer.createElement('imageBlock', {\n\t\t\t\t\t\tsrc: url\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\teditor.model.insertContent(\n\t\t\t\t\timageElement,\n\t\t\t\t\teditor.model.document.selection\n\t\t\t\t);\n\t\t\t\tevt.stop(); // prevent default plain text paste\n\t\t\t}\n\t\t}\n\t});\n}\n\n// Create the editor configuration\nconst createEditorConfig = (customConfig = {}) => {\n\tconst defaultConfig = {\n\t\textraPlugins: [PasteImageUrlPlugin, AutoImage],\n\t\ttoolbar: {\n\t\t\titems: [\n\t\t\t\t'sourceEditing',\n\t\t\t\t'undo',\n\t\t\t\t'redo',\n\t\t\t\t'|',\n\t\t\t\t'heading',\n\t\t\t\t'|',\n\t\t\t\t'fontSize',\n\t\t\t\t'fontFamily',\n\t\t\t\t'fontColor',\n\t\t\t\t'fontBackgroundColor',\n\t\t\t\t'|',\n\t\t\t\t'bold',\n\t\t\t\t'italic',\n\t\t\t\t'underline',\n\t\t\t\t'strikethrough',\n\t\t\t\t'subscript',\n\t\t\t\t'superscript',\n\t\t\t\t'code',\n\t\t\t\t'removeFormat',\n\t\t\t\t'|',\n\t\t\t\t'horizontalLine',\n\t\t\t\t'link',\n\t\t\t\t'insertImage',\n\t\t\t\t'uploadImage',\n\t\t\t\t'insertTable',\n\t\t\t\t'highlight',\n\t\t\t\t'blockQuote',\n\t\t\t\t'codeBlock',\n\t\t\t\t'|',\n\t\t\t\t'alignment',\n\t\t\t\t'|',\n\t\t\t\t'outdent',\n\t\t\t\t'indent'\n\t\t\t],\n\t\t\tshouldNotGroupWhenFull: false\n\t\t},\n\t\tplugins: [\n\t\t\tAlignment,\n\t\t\tAutoLink,\n\t\t\tAutosave,\n\t\t\tBalloonToolbar,\n\t\t\tBlockQuote,\n\t\t\tBlockToolbar,\n\t\t\tBold,\n\t\t\tCode,\n\t\t\tCodeBlock,\n\t\t\tEssentials,\n\t\t\tFontBackgroundColor,\n\t\t\tFontColor,\n\t\t\tFontFamily,\n\t\t\tFontSize,\n\t\t\tHeading,\n\t\t\tHighlight,\n\t\t\tHorizontalLine,\n\t\t\tImageEditing,\n\t\t\tImageUtils,\n\t\t\tIndent,\n\t\t\tIndentBlock,\n\t\t\tItalic,\n\t\t\tLink,\n\t\t\tParagraph,\n\t\t\tPlainTableOutput,\n\t\t\tRemoveFormat,\n\t\t\tStrikethrough,\n\t\t\tSubscript,\n\t\t\tSuperscript,\n\t\t\tTable,\n\t\t\tTableCaption,\n\t\t\tTableCellProperties,\n\t\t\tTableColumnResize,\n\t\t\tTableProperties,\n\t\t\tTableToolbar,\n\t\t\tUnderline,\n\t\t\tGeneralHtmlSupport,\n\t\t\tSourceEditing,\n\t\t\tImage,\n\t\t\tImageBlock,\n\t\t\tImageCaption,\n\t\t\tImageEditing,\n\t\t\tImageInline,\n\t\t\tImageInsert,\n\t\t\tImageInsertViaUrl,\n\t\t\tImageResize,\n\t\t\tImageStyle,\n\t\t\tImageTextAlternative,\n\t\t\tImageToolbar,\n\t\t\tImageUpload,\n\t\t\tImageUtils,\n\t\t\tSimpleUploadAdapter,\n\t\t\tLinkImage\n\t\t],\n\t\tballoonToolbar: [\n\t\t\t'bold',\n\t\t\t'italic',\n\t\t\t'|',\n\t\t\t'link',\n\t\t\t'insertImage',\n\t\t\t'uploadImage'\n\t\t],\n\t\tblockToolbar: [\n\t\t\t'fontSize',\n\t\t\t'fontColor',\n\t\t\t'fontBackgroundColor',\n\t\t\t'|',\n\t\t\t'bold',\n\t\t\t'italic',\n\t\t\t'|',\n\t\t\t'link',\n\t\t\t'insertImage',\n\t\t\t'uploadImage',\n\t\t\t'insertTable',\n\t\t\t'|',\n\t\t\t'outdent',\n\t\t\t'indent'\n\t\t],\n\t\tfontFamily: {\n\t\t\tsupportAllValues: true\n\t\t},\n\t\tfontSize: {\n\t\t\toptions: [10, 12, 14, 'default', 18, 20, 22],\n\t\t\tsupportAllValues: true\n\t\t},\n\t\theading: {\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tmodel: 'paragraph',\n\t\t\t\t\ttitle: 'Paragraph',\n\t\t\t\t\tclass: 'ck-heading_paragraph'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmodel: 'heading1',\n\t\t\t\t\tview: 'h1',\n\t\t\t\t\ttitle: 'Heading 1',\n\t\t\t\t\tclass: 'ck-heading_heading1'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmodel: 'heading2',\n\t\t\t\t\tview: 'h2',\n\t\t\t\t\ttitle: 'Heading 2',\n\t\t\t\t\tclass: 'ck-heading_heading2'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmodel: 'heading3',\n\t\t\t\t\tview: 'h3',\n\t\t\t\t\ttitle: 'Heading 3',\n\t\t\t\t\tclass: 'ck-heading_heading3'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmodel: 'heading4',\n\t\t\t\t\tview: 'h4',\n\t\t\t\t\ttitle: 'Heading 4',\n\t\t\t\t\tclass: 'ck-heading_heading4'\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tlicenseKey: LICENSE_KEY,\n\t\tlink: {\n\t\t\taddTargetToExternalLinks: true,\n\t\t\tdefaultProtocol: 'https://',\n\t\t\tdecorators: {\n\t\t\t\ttoggleDownloadable: {\n\t\t\t\t\tmode: 'manual',\n\t\t\t\t\tlabel: 'Downloadable',\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\tdownload: 'file'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tmenuBar: {\n\t\t\tisVisible: true\n\t\t},\n\t\tplaceholder: 'Type or paste your content here!',\n\t\ttable: {\n\t\t\tcontentToolbar: [\n\t\t\t\t'tableColumn',\n\t\t\t\t'tableRow',\n\t\t\t\t'mergeTableCells',\n\t\t\t\t'tableProperties',\n\t\t\t\t'tableCellProperties'\n\t\t\t]\n\t\t},\n\t\thtmlSupport: {\n\t\t\tallow: [\n\t\t\t\t{\n\t\t\t\t\tname: /.*/,\n\t\t\t\t\tattributes: true,\n\t\t\t\t\tclasses: true,\n\t\t\t\t\tstyles: true\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\timage: {\n\t\t\ttoolbar: [\n\t\t\t\t'imageTextAlternative',\n\t\t\t\t'toggleImageCaption',\n\t\t\t\t'|',\n\t\t\t\t'imageStyle:inline',\n\t\t\t\t'imageStyle:wrapText',\n\t\t\t\t'imageStyle:breakText',\n\t\t\t\t'|',\n\t\t\t\t'resizeImage',\n\t\t\t\t'|',\n\t\t\t\t'linkImage'\n\t\t\t],\n\t\t\tstyles: {\n\t\t\t\toptions: [\n\t\t\t\t\t'inline',\n\t\t\t\t\t'alignLeft',\n\t\t\t\t\t'alignRight',\n\t\t\t\t\t'alignCenter',\n\t\t\t\t\t'alignBlockLeft',\n\t\t\t\t\t'alignBlockRight',\n\t\t\t\t\t'block',\n\t\t\t\t\t'side'\n\t\t\t\t]\n\t\t\t},\n\t\t\tresizeOptions: [\n\t\t\t\t{\n\t\t\t\t\tname: 'resizeImage:original',\n\t\t\t\t\tlabel: 'Original size',\n\t\t\t\t\tvalue: null\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'resizeImage:25',\n\t\t\t\t\tlabel: '25%',\n\t\t\t\t\tvalue: '25'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'resizeImage:50',\n\t\t\t\t\tlabel: '50%',\n\t\t\t\t\tvalue: '50'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'resizeImage:75',\n\t\t\t\t\tlabel: '75%',\n\t\t\t\t\tvalue: '75'\n\t\t\t\t}\n\t\t\t],\n\t\t\tinsert: {\n\t\t\t\tintegrations: ['insertImageViaUrl']\n\t\t\t}\n\t\t},\n\t\tsimpleUpload: {\n\t\t\tuploadUrl: '/api/upload', // your upload API\n\t\t\theaders: {\n\t\t\t\tAuthorization: 'Bearer <token>'\n\t\t\t}\n\t\t},\n\t\tautosave: {\n\t\t\tsave() {\n\t\t\t\treturn new Promise((resolve) => {\n\t\t\t\t\tsetTimeout(resolve, 1000);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n\n\treturn { ...defaultConfig, ...customConfig };\n};\n\nexport interface CustomEditorProps {\n\teditorRef: React.RefObject<HTMLDivElement>;\n\tdata: string;\n\thandleEditorReady: (editor: ClassicEditor) => void;\n\tonError: (error: Error) => void;\n\tconfig: EditorConfig;\n\trest: any;\n}\nexport const CustomEditor = ({\n\teditorRef = React.createRef<HTMLDivElement>(),\n\tdata = '',\n\thandleEditorReady,\n\tonError,\n\tconfig = {},\n\t...rest\n}: CustomEditorProps) => {\n\tconst [isReady, setIsReady] = useState(false);\n\tconst [error, setError] = useState(null);\n\n\tuseEffect(() => {\n\t\t// Small delay to ensure DOM is ready\n\t\tconst timer = setTimeout(() => setIsReady(true), 100);\n\t\treturn () => clearTimeout(timer);\n\t}, []);\n\n\tconst editorConfig = useMemo(() => {\n\t\treturn createEditorConfig(config);\n\t}, [config]);\n\n\tconst myUploadFn = async (file) => {\n\t\t// 👇 Your existing function here\n\t\tconst uFiles = await uploadFiles([file], 'document');\n\t\tconst payload = {\n\t\t\t...getToken(),\n\t\t\ttitle: file?.name.split('.')[0],\n\t\t\tpath: '/',\n\t\t\tis_private: true,\n\t\t\tis_directory: false,\n\t\t\tfile_size: file.size,\n\t\t\tis_child: false,\n\t\t\tfile_extension: file?.name.split('.')[1],\n\t\t\ttype: 'image',\n\t\t\tmime_type: file.type,\n\t\t\turl: `${import.meta.env.VITE_S3_BUCKET_URL}${uFiles[0]}`\n\t\t};\n\t\t// Replace with your actual API endpoint\n\n\t\t// 👇 Call your existing function\n\t\tawait postV1Drive(payload);\n\t\treturn { url: payload.url };\n\t};\n\n\tconst handleReady = useCallback(\n\t\t(editor) => {\n\t\t\ttry {\n\t\t\t\thandleEditorReady?.(editor);\n\t\t\t\teditor.plugins.get('FileRepository').createUploadAdapter = (loader) => {\n\t\t\t\t\treturn new MyUploadAdapter(loader, myUploadFn);\n\t\t\t\t};\n\t\t\t} catch (err) {\n\t\t\t\tconsole.error('Error in editor ready handler:', err);\n\t\t\t\tsetError(err);\n\t\t\t\tonError?.(err);\n\t\t\t}\n\t\t},\n\t\t[handleEditorReady, onError]\n\t);\n\n\tconst handleError = useCallback(\n\t\t(error, { willEditorRestart }) => {\n\t\t\tconsole.error('CKEditor error:', error);\n\t\t\tif (!willEditorRestart) {\n\t\t\t\tsetError(error);\n\t\t\t\tonError?.(error);\n\t\t\t}\n\t\t},\n\t\t[onError]\n\t);\n\n\tif (error) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tpadding: '20px',\n\t\t\t\t\tborder: '1px solid #red',\n\t\t\t\t\tborderRadius: '4px',\n\t\t\t\t\tbackgroundColor: '#fff5f5'\n\t\t\t\t}}>\n\t\t\t\t<div style={{ color: '#e53e3e', marginBottom: '10px' }}>\n\t\t\t\t\tEditor Error: {error.message}\n\t\t\t\t</div>\n\t\t\t\t<button\n\t\t\t\t\tonClick={() => setError(null)}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tpadding: '8px 16px',\n\t\t\t\t\t\tbackgroundColor: '#3182ce',\n\t\t\t\t\t\tcolor: 'white',\n\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\tborderRadius: '4px'\n\t\t\t\t\t}}>\n\t\t\t\t\tRetry\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (!isReady) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tpadding: '20px',\n\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\tborder: '1px solid #dee2e6',\n\t\t\t\t\tborderRadius: '4px'\n\t\t\t\t}}>\n\t\t\t\tLoading editor...\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div ref={editorRef} className='custom-editor-container'>\n\t\t\t<CKEditor\n\t\t\t\teditor={ClassicEditor}\n\t\t\t\tconfig={editorConfig}\n\t\t\t\tdata={data}\n\t\t\t\tonReady={handleReady}\n\t\t\t\tonError={handleError}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default CustomEditor;"],"names":["React","error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../../../src/components/editor/custom-editor.tsx"],"sourcesContent":["/* eslint-disable unused-imports/no-unused-vars */\r\n/* eslint-disable @typescript-eslint/no-unused-vars */\r\n// IsolatedEditor.js - This file should ONLY be imported via React.lazy()\r\nimport React, { useState, useEffect, useMemo, useCallback } from 'react';\r\nimport './custom-editor.css';\r\n\r\n// Import ALL CKEditor dependencies in this file ONLY\r\n// Do NOT import these anywhere else in your application\r\nimport { CKEditor } from '@ckeditor/ckeditor5-react';\r\nimport {\r\n\tClassicEditor,\r\n\tAlignment,\r\n\tAutoLink,\r\n\tAutosave,\r\n\tBalloonToolbar,\r\n\tBlockQuote,\r\n\tBlockToolbar,\r\n\tBold,\r\n\tCode,\r\n\tCodeBlock,\r\n\tEssentials,\r\n\tFontBackgroundColor,\r\n\tFontColor,\r\n\tFontFamily,\r\n\tFontSize,\r\n\tHeading,\r\n\tHighlight,\r\n\tHorizontalLine,\r\n\tImageEditing,\r\n\tImageUtils,\r\n\tIndent,\r\n\tIndentBlock,\r\n\tItalic,\r\n\tLink,\r\n\tParagraph,\r\n\tPlainTableOutput,\r\n\tRemoveFormat,\r\n\tStrikethrough,\r\n\tSubscript,\r\n\tSuperscript,\r\n\tTable,\r\n\tTableCaption,\r\n\tTableCellProperties,\r\n\tTableColumnResize,\r\n\tTableProperties,\r\n\tTableToolbar,\r\n\tUnderline,\r\n\tGeneralHtmlSupport,\r\n\tSourceEditing,\r\n\t// Image support\r\n\tImage,\r\n\tImageBlock,\r\n\tImageInline,\r\n\tImageToolbar,\r\n\tImageCaption,\r\n\tImageStyle,\r\n\tImageResize,\r\n\tImageInsert,\r\n\tImageInsertViaUrl,\r\n\tImageUpload,\r\n\tImageTextAlternative,\r\n\tSimpleUploadAdapter,\r\n\tLinkImage,\r\n\tClipboardPipeline,\r\n\tAutoImage,\r\n EditorConfig\r\n} from 'ckeditor5';\r\n\r\nimport 'ckeditor5/ckeditor5.css';\r\nimport { postV1Drive } from '../../api-client/api.drive/api';\r\nimport { getToken, uploadFiles } from '../../utils/common';\r\n\r\nconst LICENSE_KEY = 'GPL';\r\n\r\nclass MyUploadAdapter {\r\n\tconstructor(loader, uploadFn) {\r\n\t\t// The file loader instance to use during the upload\r\n\t\tthis.loader = loader;\r\n\t\tthis.uploadFn = uploadFn;\r\n\t}\r\n\r\n\t// Starts the upload process\r\n\tasync upload() {\r\n\t\tconst file = await this.loader.file;\r\n\t\ttry {\r\n\t\t\t// 👇 Call your existing function\r\n\t\t\tconst response = await this.uploadFn(file);\r\n\r\n\t\t\t// CKEditor expects this format:\r\n\t\t\treturn {\r\n\t\t\t\tdefault: response.url // must return final image URL\r\n\t\t\t};\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error('Upload failed', error);\r\n\t\t\tthrow error;\r\n\t\t}\r\n\t}\r\n\r\n\t// Optional abort support\r\n\tabort() {\r\n\t\tconsole.log('Upload aborted');\r\n\t}\r\n}\r\n\r\nfunction PasteImageUrlPlugin(editor) {\r\n\tconst clipboard = editor.plugins.get(ClipboardPipeline);\r\n\r\n\tclipboard.on('inputTransformation', (evt, data) => {\r\n\t\tconst content = data.content.getChild(0);\r\n\r\n\t\t// Check if pasted content is plain text\r\n\t\tif (content && content.is('$textProxy')) {\r\n\t\t\tconst url = content.data.trim();\r\n\r\n\t\t\t// Check if it looks like an image URL\r\n\t\t\tif (url.match(/\\.(jpeg|jpg|gif|png|webp|svg)$/i)) {\r\n\t\t\t\tconst imageElement = editor.model.change((writer) => {\r\n\t\t\t\t\treturn writer.createElement('imageBlock', {\r\n\t\t\t\t\t\tsrc: url\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\r\n\t\t\t\teditor.model.insertContent(\r\n\t\t\t\t\timageElement,\r\n\t\t\t\t\teditor.model.document.selection\r\n\t\t\t\t);\r\n\t\t\t\tevt.stop(); // prevent default plain text paste\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}\r\n\r\n// Create the editor configuration\r\nconst createEditorConfig = (customConfig = {}) => {\r\n\tconst defaultConfig = {\r\n\t\textraPlugins: [PasteImageUrlPlugin, AutoImage],\r\n\t\ttoolbar: {\r\n\t\t\titems: [\r\n\t\t\t\t'sourceEditing',\r\n\t\t\t\t'undo',\r\n\t\t\t\t'redo',\r\n\t\t\t\t'|',\r\n\t\t\t\t'heading',\r\n\t\t\t\t'|',\r\n\t\t\t\t'fontSize',\r\n\t\t\t\t'fontFamily',\r\n\t\t\t\t'fontColor',\r\n\t\t\t\t'fontBackgroundColor',\r\n\t\t\t\t'|',\r\n\t\t\t\t'bold',\r\n\t\t\t\t'italic',\r\n\t\t\t\t'underline',\r\n\t\t\t\t'strikethrough',\r\n\t\t\t\t'subscript',\r\n\t\t\t\t'superscript',\r\n\t\t\t\t'code',\r\n\t\t\t\t'removeFormat',\r\n\t\t\t\t'|',\r\n\t\t\t\t'horizontalLine',\r\n\t\t\t\t'link',\r\n\t\t\t\t'insertImage',\r\n\t\t\t\t'uploadImage',\r\n\t\t\t\t'insertTable',\r\n\t\t\t\t'highlight',\r\n\t\t\t\t'blockQuote',\r\n\t\t\t\t'codeBlock',\r\n\t\t\t\t'|',\r\n\t\t\t\t'alignment',\r\n\t\t\t\t'|',\r\n\t\t\t\t'outdent',\r\n\t\t\t\t'indent'\r\n\t\t\t],\r\n\t\t\tshouldNotGroupWhenFull: false\r\n\t\t},\r\n\t\tplugins: [\r\n\t\t\tAlignment,\r\n\t\t\tAutoLink,\r\n\t\t\tAutosave,\r\n\t\t\tBalloonToolbar,\r\n\t\t\tBlockQuote,\r\n\t\t\tBlockToolbar,\r\n\t\t\tBold,\r\n\t\t\tCode,\r\n\t\t\tCodeBlock,\r\n\t\t\tEssentials,\r\n\t\t\tFontBackgroundColor,\r\n\t\t\tFontColor,\r\n\t\t\tFontFamily,\r\n\t\t\tFontSize,\r\n\t\t\tHeading,\r\n\t\t\tHighlight,\r\n\t\t\tHorizontalLine,\r\n\t\t\tImageEditing,\r\n\t\t\tImageUtils,\r\n\t\t\tIndent,\r\n\t\t\tIndentBlock,\r\n\t\t\tItalic,\r\n\t\t\tLink,\r\n\t\t\tParagraph,\r\n\t\t\tPlainTableOutput,\r\n\t\t\tRemoveFormat,\r\n\t\t\tStrikethrough,\r\n\t\t\tSubscript,\r\n\t\t\tSuperscript,\r\n\t\t\tTable,\r\n\t\t\tTableCaption,\r\n\t\t\tTableCellProperties,\r\n\t\t\tTableColumnResize,\r\n\t\t\tTableProperties,\r\n\t\t\tTableToolbar,\r\n\t\t\tUnderline,\r\n\t\t\tGeneralHtmlSupport,\r\n\t\t\tSourceEditing,\r\n\t\t\tImage,\r\n\t\t\tImageBlock,\r\n\t\t\tImageCaption,\r\n\t\t\tImageEditing,\r\n\t\t\tImageInline,\r\n\t\t\tImageInsert,\r\n\t\t\tImageInsertViaUrl,\r\n\t\t\tImageResize,\r\n\t\t\tImageStyle,\r\n\t\t\tImageTextAlternative,\r\n\t\t\tImageToolbar,\r\n\t\t\tImageUpload,\r\n\t\t\tImageUtils,\r\n\t\t\tSimpleUploadAdapter,\r\n\t\t\tLinkImage\r\n\t\t],\r\n\t\tballoonToolbar: [\r\n\t\t\t'bold',\r\n\t\t\t'italic',\r\n\t\t\t'|',\r\n\t\t\t'link',\r\n\t\t\t'insertImage',\r\n\t\t\t'uploadImage'\r\n\t\t],\r\n\t\tblockToolbar: [\r\n\t\t\t'fontSize',\r\n\t\t\t'fontColor',\r\n\t\t\t'fontBackgroundColor',\r\n\t\t\t'|',\r\n\t\t\t'bold',\r\n\t\t\t'italic',\r\n\t\t\t'|',\r\n\t\t\t'link',\r\n\t\t\t'insertImage',\r\n\t\t\t'uploadImage',\r\n\t\t\t'insertTable',\r\n\t\t\t'|',\r\n\t\t\t'outdent',\r\n\t\t\t'indent'\r\n\t\t],\r\n\t\tfontFamily: {\r\n\t\t\tsupportAllValues: true\r\n\t\t},\r\n\t\tfontSize: {\r\n\t\t\toptions: [10, 12, 14, 'default', 18, 20, 22],\r\n\t\t\tsupportAllValues: true\r\n\t\t},\r\n\t\theading: {\r\n\t\t\toptions: [\r\n\t\t\t\t{\r\n\t\t\t\t\tmodel: 'paragraph',\r\n\t\t\t\t\ttitle: 'Paragraph',\r\n\t\t\t\t\tclass: 'ck-heading_paragraph'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tmodel: 'heading1',\r\n\t\t\t\t\tview: 'h1',\r\n\t\t\t\t\ttitle: 'Heading 1',\r\n\t\t\t\t\tclass: 'ck-heading_heading1'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tmodel: 'heading2',\r\n\t\t\t\t\tview: 'h2',\r\n\t\t\t\t\ttitle: 'Heading 2',\r\n\t\t\t\t\tclass: 'ck-heading_heading2'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tmodel: 'heading3',\r\n\t\t\t\t\tview: 'h3',\r\n\t\t\t\t\ttitle: 'Heading 3',\r\n\t\t\t\t\tclass: 'ck-heading_heading3'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tmodel: 'heading4',\r\n\t\t\t\t\tview: 'h4',\r\n\t\t\t\t\ttitle: 'Heading 4',\r\n\t\t\t\t\tclass: 'ck-heading_heading4'\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t},\r\n\t\tlicenseKey: LICENSE_KEY,\r\n\t\tlink: {\r\n\t\t\taddTargetToExternalLinks: true,\r\n\t\t\tdefaultProtocol: 'https://',\r\n\t\t\tdecorators: {\r\n\t\t\t\ttoggleDownloadable: {\r\n\t\t\t\t\tmode: 'manual',\r\n\t\t\t\t\tlabel: 'Downloadable',\r\n\t\t\t\t\tattributes: {\r\n\t\t\t\t\t\tdownload: 'file'\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tmenuBar: {\r\n\t\t\tisVisible: true\r\n\t\t},\r\n\t\tplaceholder: 'Type or paste your content here!',\r\n\t\ttable: {\r\n\t\t\tcontentToolbar: [\r\n\t\t\t\t'tableColumn',\r\n\t\t\t\t'tableRow',\r\n\t\t\t\t'mergeTableCells',\r\n\t\t\t\t'tableProperties',\r\n\t\t\t\t'tableCellProperties'\r\n\t\t\t]\r\n\t\t},\r\n\t\thtmlSupport: {\r\n\t\t\tallow: [\r\n\t\t\t\t{\r\n\t\t\t\t\tname: /.*/,\r\n\t\t\t\t\tattributes: true,\r\n\t\t\t\t\tclasses: true,\r\n\t\t\t\t\tstyles: true\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t},\r\n\t\timage: {\r\n\t\t\ttoolbar: [\r\n\t\t\t\t'imageTextAlternative',\r\n\t\t\t\t'toggleImageCaption',\r\n\t\t\t\t'|',\r\n\t\t\t\t'imageStyle:inline',\r\n\t\t\t\t'imageStyle:wrapText',\r\n\t\t\t\t'imageStyle:breakText',\r\n\t\t\t\t'|',\r\n\t\t\t\t'resizeImage',\r\n\t\t\t\t'|',\r\n\t\t\t\t'linkImage'\r\n\t\t\t],\r\n\t\t\tstyles: {\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t'inline',\r\n\t\t\t\t\t'alignLeft',\r\n\t\t\t\t\t'alignRight',\r\n\t\t\t\t\t'alignCenter',\r\n\t\t\t\t\t'alignBlockLeft',\r\n\t\t\t\t\t'alignBlockRight',\r\n\t\t\t\t\t'block',\r\n\t\t\t\t\t'side'\r\n\t\t\t\t]\r\n\t\t\t},\r\n\t\t\tresizeOptions: [\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'resizeImage:original',\r\n\t\t\t\t\tlabel: 'Original size',\r\n\t\t\t\t\tvalue: null\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'resizeImage:25',\r\n\t\t\t\t\tlabel: '25%',\r\n\t\t\t\t\tvalue: '25'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'resizeImage:50',\r\n\t\t\t\t\tlabel: '50%',\r\n\t\t\t\t\tvalue: '50'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'resizeImage:75',\r\n\t\t\t\t\tlabel: '75%',\r\n\t\t\t\t\tvalue: '75'\r\n\t\t\t\t}\r\n\t\t\t],\r\n\t\t\tinsert: {\r\n\t\t\t\tintegrations: ['insertImageViaUrl']\r\n\t\t\t}\r\n\t\t},\r\n\t\tsimpleUpload: {\r\n\t\t\tuploadUrl: '/api/upload', // your upload API\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: 'Bearer <token>'\r\n\t\t\t}\r\n\t\t},\r\n\t\tautosave: {\r\n\t\t\tsave() {\r\n\t\t\t\treturn new Promise((resolve) => {\r\n\t\t\t\t\tsetTimeout(resolve, 1000);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\treturn { ...defaultConfig, ...customConfig };\r\n};\r\n\r\nexport interface CustomEditorProps {\r\n\teditorRef: React.RefObject<HTMLDivElement>;\r\n\tdata: string;\r\n\thandleEditorReady: (editor: ClassicEditor) => void;\r\n\tonError: (error: Error) => void;\r\n\tconfig: EditorConfig;\r\n\trest: any;\r\n}\r\nexport const CustomEditor = ({\r\n\teditorRef = React.createRef<HTMLDivElement>(),\r\n\tdata = '',\r\n\thandleEditorReady,\r\n\tonError,\r\n\tconfig = {},\r\n\t...rest\r\n}: CustomEditorProps) => {\r\n\tconst [isReady, setIsReady] = useState(false);\r\n\tconst [error, setError] = useState(null);\r\n\r\n\tuseEffect(() => {\r\n\t\t// Small delay to ensure DOM is ready\r\n\t\tconst timer = setTimeout(() => setIsReady(true), 100);\r\n\t\treturn () => clearTimeout(timer);\r\n\t}, []);\r\n\r\n\tconst editorConfig = useMemo(() => {\r\n\t\treturn createEditorConfig(config);\r\n\t}, [config]);\r\n\r\n\tconst myUploadFn = async (file) => {\r\n\t\t// 👇 Your existing function here\r\n\t\tconst uFiles = await uploadFiles([file], 'document');\r\n\t\tconst payload = {\r\n\t\t\t...getToken(),\r\n\t\t\ttitle: file?.name.split('.')[0],\r\n\t\t\tpath: '/',\r\n\t\t\tis_private: true,\r\n\t\t\tis_directory: false,\r\n\t\t\tfile_size: file.size,\r\n\t\t\tis_child: false,\r\n\t\t\tfile_extension: file?.name.split('.')[1],\r\n\t\t\ttype: 'image',\r\n\t\t\tmime_type: file.type,\r\n\t\t\turl: `${import.meta.env.VITE_S3_BUCKET_URL}${uFiles[0]}`\r\n\t\t};\r\n\t\t// Replace with your actual API endpoint\r\n\r\n\t\t// 👇 Call your existing function\r\n\t\tawait postV1Drive(payload);\r\n\t\treturn { url: payload.url };\r\n\t};\r\n\r\n\tconst handleReady = useCallback(\r\n\t\t(editor) => {\r\n\t\t\ttry {\r\n\t\t\t\thandleEditorReady?.(editor);\r\n\t\t\t\teditor.plugins.get('FileRepository').createUploadAdapter = (loader) => {\r\n\t\t\t\t\treturn new MyUploadAdapter(loader, myUploadFn);\r\n\t\t\t\t};\r\n\t\t\t} catch (err) {\r\n\t\t\t\tconsole.error('Error in editor ready handler:', err);\r\n\t\t\t\tsetError(err);\r\n\t\t\t\tonError?.(err);\r\n\t\t\t}\r\n\t\t},\r\n\t\t[handleEditorReady, onError]\r\n\t);\r\n\r\n\tconst handleError = useCallback(\r\n\t\t(error, { willEditorRestart }) => {\r\n\t\t\tconsole.error('CKEditor error:', error);\r\n\t\t\tif (!willEditorRestart) {\r\n\t\t\t\tsetError(error);\r\n\t\t\t\tonError?.(error);\r\n\t\t\t}\r\n\t\t},\r\n\t\t[onError]\r\n\t);\r\n\r\n\tif (error) {\r\n\t\treturn (\r\n\t\t\t<div\r\n\t\t\t\tstyle={{\r\n\t\t\t\t\tpadding: '20px',\r\n\t\t\t\t\tborder: '1px solid #red',\r\n\t\t\t\t\tborderRadius: '4px',\r\n\t\t\t\t\tbackgroundColor: '#fff5f5'\r\n\t\t\t\t}}>\r\n\t\t\t\t<div style={{ color: '#e53e3e', marginBottom: '10px' }}>\r\n\t\t\t\t\tEditor Error: {error.message}\r\n\t\t\t\t</div>\r\n\t\t\t\t<button\r\n\t\t\t\t\tonClick={() => setError(null)}\r\n\t\t\t\t\tstyle={{\r\n\t\t\t\t\t\tpadding: '8px 16px',\r\n\t\t\t\t\t\tbackgroundColor: '#3182ce',\r\n\t\t\t\t\t\tcolor: 'white',\r\n\t\t\t\t\t\tborder: 'none',\r\n\t\t\t\t\t\tborderRadius: '4px'\r\n\t\t\t\t\t}}>\r\n\t\t\t\t\tRetry\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n\r\n\tif (!isReady) {\r\n\t\treturn (\r\n\t\t\t<div\r\n\t\t\t\tstyle={{\r\n\t\t\t\t\tpadding: '20px',\r\n\t\t\t\t\ttextAlign: 'center',\r\n\t\t\t\t\tborder: '1px solid #dee2e6',\r\n\t\t\t\t\tborderRadius: '4px'\r\n\t\t\t\t}}>\r\n\t\t\t\tLoading editor...\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div ref={editorRef} className='custom-editor-container'>\r\n\t\t\t<CKEditor\r\n\t\t\t\teditor={ClassicEditor}\r\n\t\t\t\tconfig={editorConfig}\r\n\t\t\t\tdata={data}\r\n\t\t\t\tonReady={handleReady}\r\n\t\t\t\tonError={handleError}\r\n\t\t\t\t{...rest}\r\n\t\t\t/>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nexport default CustomEditor;"],"names":["React","error"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwEA,MAAM,cAAc;AAEpB,MAAM,gBAAgB;AAAA,EACrB,YAAY,QAAQ,UAAU;AAE7B,SAAK,SAAS;AACd,SAAK,WAAW;AAAA,EACjB;AAAA;AAAA,EAGA,MAAM,SAAS;AACd,UAAM,OAAO,MAAM,KAAK,OAAO;AAC/B,QAAI;AAEH,YAAM,WAAW,MAAM,KAAK,SAAS,IAAI;AAGzC,aAAO;AAAA,QACN,SAAS,SAAS;AAAA;AAAA,MAAA;AAAA,IAEpB,SAAS,OAAO;AACf,cAAQ,MAAM,iBAAiB,KAAK;AACpC,YAAM;AAAA,IACP;AAAA,EACD;AAAA;AAAA,EAGA,QAAQ;AACP,YAAQ,IAAI,gBAAgB;AAAA,EAC7B;AACD;AAEA,SAAS,oBAAoB,QAAQ;AACpC,QAAM,YAAY,OAAO,QAAQ,IAAI,iBAAiB;AAEtD,YAAU,GAAG,uBAAuB,CAAC,KAAK,SAAS;AAClD,UAAM,UAAU,KAAK,QAAQ,SAAS,CAAC;AAGvC,QAAI,WAAW,QAAQ,GAAG,YAAY,GAAG;AACxC,YAAM,MAAM,QAAQ,KAAK,KAAA;AAGzB,UAAI,IAAI,MAAM,iCAAiC,GAAG;AACjD,cAAM,eAAe,OAAO,MAAM,OAAO,CAAC,WAAW;AACpD,iBAAO,OAAO,cAAc,cAAc;AAAA,YACzC,KAAK;AAAA,UAAA,CACL;AAAA,QACF,CAAC;AAED,eAAO,MAAM;AAAA,UACZ;AAAA,UACA,OAAO,MAAM,SAAS;AAAA,QAAA;AAEvB,YAAI,KAAA;AAAA,MACL;AAAA,IACD;AAAA,EACD,CAAC;AACF;AAGA,MAAM,qBAAqB,CAAC,eAAe,OAAO;AACjD,QAAM,gBAAgB;AAAA,IACrB,cAAc,CAAC,qBAAqB,SAAS;AAAA,IAC7C,SAAS;AAAA,MACR,OAAO;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAED,wBAAwB;AAAA,IAAA;AAAA,IAEzB,SAAS;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAED,gBAAgB;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAED,cAAc;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAED,YAAY;AAAA,MACX,kBAAkB;AAAA,IAAA;AAAA,IAEnB,UAAU;AAAA,MACT,SAAS,CAAC,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,EAAE;AAAA,MAC3C,kBAAkB;AAAA,IAAA;AAAA,IAEnB,SAAS;AAAA,MACR,SAAS;AAAA,QACR;AAAA,UACC,OAAO;AAAA,UACP,OAAO;AAAA,UACP,OAAO;AAAA,QAAA;AAAA,QAER;AAAA,UACC,OAAO;AAAA,UACP,MAAM;AAAA,UACN,OAAO;AAAA,UACP,OAAO;AAAA,QAAA;AAAA,QAER;AAAA,UACC,OAAO;AAAA,UACP,MAAM;AAAA,UACN,OAAO;AAAA,UACP,OAAO;AAAA,QAAA;AAAA,QAER;AAAA,UACC,OAAO;AAAA,UACP,MAAM;AAAA,UACN,OAAO;AAAA,UACP,OAAO;AAAA,QAAA;AAAA,QAER;AAAA,UACC,OAAO;AAAA,UACP,MAAM;AAAA,UACN,OAAO;AAAA,UACP,OAAO;AAAA,QAAA;AAAA,MACR;AAAA,IACD;AAAA,IAED,YAAY;AAAA,IACZ,MAAM;AAAA,MACL,0BAA0B;AAAA,MAC1B,iBAAiB;AAAA,MACjB,YAAY;AAAA,QACX,oBAAoB;AAAA,UACnB,MAAM;AAAA,UACN,OAAO;AAAA,UACP,YAAY;AAAA,YACX,UAAU;AAAA,UAAA;AAAA,QACX;AAAA,MACD;AAAA,IACD;AAAA,IAED,SAAS;AAAA,MACR,WAAW;AAAA,IAAA;AAAA,IAEZ,aAAa;AAAA,IACb,OAAO;AAAA,MACN,gBAAgB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IACD;AAAA,IAED,aAAa;AAAA,MACZ,OAAO;AAAA,QACN;AAAA,UACC,MAAM;AAAA,UACN,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,QAAQ;AAAA,QAAA;AAAA,MACT;AAAA,IACD;AAAA,IAED,OAAO;AAAA,MACN,SAAS;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAED,QAAQ;AAAA,QACP,SAAS;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,MACD;AAAA,MAED,eAAe;AAAA,QACd;AAAA,UACC,MAAM;AAAA,UACN,OAAO;AAAA,UACP,OAAO;AAAA,QAAA;AAAA,QAER;AAAA,UACC,MAAM;AAAA,UACN,OAAO;AAAA,UACP,OAAO;AAAA,QAAA;AAAA,QAER;AAAA,UACC,MAAM;AAAA,UACN,OAAO;AAAA,UACP,OAAO;AAAA,QAAA;AAAA,QAER;AAAA,UACC,MAAM;AAAA,UACN,OAAO;AAAA,UACP,OAAO;AAAA,QAAA;AAAA,MACR;AAAA,MAED,QAAQ;AAAA,QACP,cAAc,CAAC,mBAAmB;AAAA,MAAA;AAAA,IACnC;AAAA,IAED,cAAc;AAAA,MACb,WAAW;AAAA;AAAA,MACX,SAAS;AAAA,QACR,eAAe;AAAA,MAAA;AAAA,IAChB;AAAA,IAED,UAAU;AAAA,MACT,OAAO;AACN,eAAO,IAAI,QAAQ,CAAC,YAAY;AAC/B,qBAAW,SAAS,GAAI;AAAA,QACzB,CAAC;AAAA,MACF;AAAA,IAAA;AAAA,EACD;AAGD,SAAO,EAAE,GAAG,eAAe,GAAG,aAAA;AAC/B;AAUO,MAAM,eAAe,CAAC;AAAA,EAC5B,YAAYA,eAAM,UAAA;AAAA,EAClB,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,SAAS,CAAA;AAAA,EACT,GAAG;AACJ,MAAyB;AACxB,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAC5C,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,IAAI;AAEvC,YAAU,MAAM;AAEf,UAAM,QAAQ,WAAW,MAAM,WAAW,IAAI,GAAG,GAAG;AACpD,WAAO,MAAM,aAAa,KAAK;AAAA,EAChC,GAAG,CAAA,CAAE;AAEL,QAAM,eAAe,QAAQ,MAAM;AAClC,WAAO,mBAAmB,MAAM;AAAA,EACjC,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,aAAa,OAAO,SAAS;AAElC,UAAM,SAAS,MAAM,YAAY,CAAC,IAAI,GAAG,UAAU;AACnD,UAAM,UAAU;AAAA,MACf,GAAG,SAAA;AAAA,MACH,OAAO,6BAAM,KAAK,MAAM,KAAK;AAAA,MAC7B,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,WAAW,KAAK;AAAA,MAChB,UAAU;AAAA,MACV,gBAAgB,6BAAM,KAAK,MAAM,KAAK;AAAA,MACtC,MAAM;AAAA,MACN,WAAW,KAAK;AAAA,MAChB,KAAK,GAAG,kDAAkC,GAAG,OAAO,CAAC,CAAC;AAAA,IAAA;AAKvD,UAAM,YAAY,OAAO;AACzB,WAAO,EAAE,KAAK,QAAQ,IAAA;AAAA,EACvB;AAEA,QAAM,cAAc;AAAA,IACnB,CAAC,WAAW;AACX,UAAI;AACH,+DAAoB;AACpB,eAAO,QAAQ,IAAI,gBAAgB,EAAE,sBAAsB,CAAC,WAAW;AACtE,iBAAO,IAAI,gBAAgB,QAAQ,UAAU;AAAA,QAC9C;AAAA,MACD,SAAS,KAAK;AACb,gBAAQ,MAAM,kCAAkC,GAAG;AACnD,iBAAS,GAAG;AACZ,2CAAU;AAAA,MACX;AAAA,IACD;AAAA,IACA,CAAC,mBAAmB,OAAO;AAAA,EAAA;AAG5B,QAAM,cAAc;AAAA,IACnB,CAACC,QAAO,EAAE,wBAAwB;AACjC,cAAQ,MAAM,mBAAmBA,MAAK;AACtC,UAAI,CAAC,mBAAmB;AACvB,iBAASA,MAAK;AACd,2CAAUA;AAAAA,MACX;AAAA,IACD;AAAA,IACA,CAAC,OAAO;AAAA,EAAA;AAGT,MAAI,OAAO;AACV,WACC;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,OAAO;AAAA,UACN,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,cAAc;AAAA,UACd,iBAAiB;AAAA,QAAA;AAAA,QAElB,UAAA;AAAA,UAAA,qBAAC,SAAI,OAAO,EAAE,OAAO,WAAW,cAAc,OAAA,GAAU,UAAA;AAAA,YAAA;AAAA,YACxC,MAAM;AAAA,UAAA,GACtB;AAAA,UACA;AAAA,YAAC;AAAA,YAAA;AAAA,cACA,SAAS,MAAM,SAAS,IAAI;AAAA,cAC5B,OAAO;AAAA,gBACN,SAAS;AAAA,gBACT,iBAAiB;AAAA,gBACjB,OAAO;AAAA,gBACP,QAAQ;AAAA,gBACR,cAAc;AAAA,cAAA;AAAA,cACZ,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAGH;AAEA,MAAI,CAAC,SAAS;AACb,WACC;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,OAAO;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,UACX,QAAQ;AAAA,UACR,cAAc;AAAA,QAAA;AAAA,QACZ,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAIN;AAEA,6BACE,OAAA,EAAI,KAAK,WAAW,WAAU,2BAC9B,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR;AAAA,MACA,SAAS;AAAA,MACT,SAAS;AAAA,MACR,GAAG;AAAA,IAAA;AAAA,EAAA,GAEN;AAEF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/editor/custom-editor.tsx"],"sourcesContent":["/* eslint-disable unused-imports/no-unused-vars */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n// IsolatedEditor.js - This file should ONLY be imported via React.lazy()\nimport React, { useState, useEffect, useMemo, useCallback } from 'react';\nimport './custom-editor.css';\n\n// Import ALL CKEditor dependencies in this file ONLY\n// Do NOT import these anywhere else in your application\nimport { CKEditor } from '@ckeditor/ckeditor5-react';\nimport {\n\tClassicEditor,\n\tAlignment,\n\tAutoLink,\n\tAutosave,\n\tBalloonToolbar,\n\tBlockQuote,\n\tBlockToolbar,\n\tBold,\n\tCode,\n\tCodeBlock,\n\tEssentials,\n\tFontBackgroundColor,\n\tFontColor,\n\tFontFamily,\n\tFontSize,\n\tHeading,\n\tHighlight,\n\tHorizontalLine,\n\tImageEditing,\n\tImageUtils,\n\tIndent,\n\tIndentBlock,\n\tItalic,\n\tLink,\n\tParagraph,\n\tPlainTableOutput,\n\tRemoveFormat,\n\tStrikethrough,\n\tSubscript,\n\tSuperscript,\n\tTable,\n\tTableCaption,\n\tTableCellProperties,\n\tTableColumnResize,\n\tTableProperties,\n\tTableToolbar,\n\tUnderline,\n\tGeneralHtmlSupport,\n\tSourceEditing,\n\t// Image support\n\tImage,\n\tImageBlock,\n\tImageInline,\n\tImageToolbar,\n\tImageCaption,\n\tImageStyle,\n\tImageResize,\n\tImageInsert,\n\tImageInsertViaUrl,\n\tImageUpload,\n\tImageTextAlternative,\n\tSimpleUploadAdapter,\n\tLinkImage,\n\tClipboardPipeline,\n\tAutoImage,\n EditorConfig\n} from 'ckeditor5';\n\nimport 'ckeditor5/ckeditor5.css';\nimport { postV1Drive } from '../../api-client/api.drive/api';\nimport { getToken, uploadFiles } from '../../utils/common';\n\nconst LICENSE_KEY = 'GPL';\n\nclass MyUploadAdapter {\n\tconstructor(loader, uploadFn) {\n\t\t// The file loader instance to use during the upload\n\t\tthis.loader = loader;\n\t\tthis.uploadFn = uploadFn;\n\t}\n\n\t// Starts the upload process\n\tasync upload() {\n\t\tconst file = await this.loader.file;\n\t\ttry {\n\t\t\t// 👇 Call your existing function\n\t\t\tconst response = await this.uploadFn(file);\n\n\t\t\t// CKEditor expects this format:\n\t\t\treturn {\n\t\t\t\tdefault: response.url // must return final image URL\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tconsole.error('Upload failed', error);\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\t// Optional abort support\n\tabort() {\n\t\tconsole.log('Upload aborted');\n\t}\n}\n\nfunction PasteImageUrlPlugin(editor) {\n\tconst clipboard = editor.plugins.get(ClipboardPipeline);\n\n\tclipboard.on('inputTransformation', (evt, data) => {\n\t\tconst content = data.content.getChild(0);\n\n\t\t// Check if pasted content is plain text\n\t\tif (content && content.is('$textProxy')) {\n\t\t\tconst url = content.data.trim();\n\n\t\t\t// Check if it looks like an image URL\n\t\t\tif (url.match(/\\.(jpeg|jpg|gif|png|webp|svg)$/i)) {\n\t\t\t\tconst imageElement = editor.model.change((writer) => {\n\t\t\t\t\treturn writer.createElement('imageBlock', {\n\t\t\t\t\t\tsrc: url\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\teditor.model.insertContent(\n\t\t\t\t\timageElement,\n\t\t\t\t\teditor.model.document.selection\n\t\t\t\t);\n\t\t\t\tevt.stop(); // prevent default plain text paste\n\t\t\t}\n\t\t}\n\t});\n}\n\n// Create the editor configuration\nconst createEditorConfig = (customConfig = {}) => {\n\tconst defaultConfig = {\n\t\textraPlugins: [PasteImageUrlPlugin, AutoImage],\n\t\ttoolbar: {\n\t\t\titems: [\n\t\t\t\t'sourceEditing',\n\t\t\t\t'undo',\n\t\t\t\t'redo',\n\t\t\t\t'|',\n\t\t\t\t'heading',\n\t\t\t\t'|',\n\t\t\t\t'fontSize',\n\t\t\t\t'fontFamily',\n\t\t\t\t'fontColor',\n\t\t\t\t'fontBackgroundColor',\n\t\t\t\t'|',\n\t\t\t\t'bold',\n\t\t\t\t'italic',\n\t\t\t\t'underline',\n\t\t\t\t'strikethrough',\n\t\t\t\t'subscript',\n\t\t\t\t'superscript',\n\t\t\t\t'code',\n\t\t\t\t'removeFormat',\n\t\t\t\t'|',\n\t\t\t\t'horizontalLine',\n\t\t\t\t'link',\n\t\t\t\t'insertImage',\n\t\t\t\t'uploadImage',\n\t\t\t\t'insertTable',\n\t\t\t\t'highlight',\n\t\t\t\t'blockQuote',\n\t\t\t\t'codeBlock',\n\t\t\t\t'|',\n\t\t\t\t'alignment',\n\t\t\t\t'|',\n\t\t\t\t'outdent',\n\t\t\t\t'indent'\n\t\t\t],\n\t\t\tshouldNotGroupWhenFull: false\n\t\t},\n\t\tplugins: [\n\t\t\tAlignment,\n\t\t\tAutoLink,\n\t\t\tAutosave,\n\t\t\tBalloonToolbar,\n\t\t\tBlockQuote,\n\t\t\tBlockToolbar,\n\t\t\tBold,\n\t\t\tCode,\n\t\t\tCodeBlock,\n\t\t\tEssentials,\n\t\t\tFontBackgroundColor,\n\t\t\tFontColor,\n\t\t\tFontFamily,\n\t\t\tFontSize,\n\t\t\tHeading,\n\t\t\tHighlight,\n\t\t\tHorizontalLine,\n\t\t\tImageEditing,\n\t\t\tImageUtils,\n\t\t\tIndent,\n\t\t\tIndentBlock,\n\t\t\tItalic,\n\t\t\tLink,\n\t\t\tParagraph,\n\t\t\tPlainTableOutput,\n\t\t\tRemoveFormat,\n\t\t\tStrikethrough,\n\t\t\tSubscript,\n\t\t\tSuperscript,\n\t\t\tTable,\n\t\t\tTableCaption,\n\t\t\tTableCellProperties,\n\t\t\tTableColumnResize,\n\t\t\tTableProperties,\n\t\t\tTableToolbar,\n\t\t\tUnderline,\n\t\t\tGeneralHtmlSupport,\n\t\t\tSourceEditing,\n\t\t\tImage,\n\t\t\tImageBlock,\n\t\t\tImageCaption,\n\t\t\tImageEditing,\n\t\t\tImageInline,\n\t\t\tImageInsert,\n\t\t\tImageInsertViaUrl,\n\t\t\tImageResize,\n\t\t\tImageStyle,\n\t\t\tImageTextAlternative,\n\t\t\tImageToolbar,\n\t\t\tImageUpload,\n\t\t\tImageUtils,\n\t\t\tSimpleUploadAdapter,\n\t\t\tLinkImage\n\t\t],\n\t\tballoonToolbar: [\n\t\t\t'bold',\n\t\t\t'italic',\n\t\t\t'|',\n\t\t\t'link',\n\t\t\t'insertImage',\n\t\t\t'uploadImage'\n\t\t],\n\t\tblockToolbar: [\n\t\t\t'fontSize',\n\t\t\t'fontColor',\n\t\t\t'fontBackgroundColor',\n\t\t\t'|',\n\t\t\t'bold',\n\t\t\t'italic',\n\t\t\t'|',\n\t\t\t'link',\n\t\t\t'insertImage',\n\t\t\t'uploadImage',\n\t\t\t'insertTable',\n\t\t\t'|',\n\t\t\t'outdent',\n\t\t\t'indent'\n\t\t],\n\t\tfontFamily: {\n\t\t\tsupportAllValues: true\n\t\t},\n\t\tfontSize: {\n\t\t\toptions: [10, 12, 14, 'default', 18, 20, 22],\n\t\t\tsupportAllValues: true\n\t\t},\n\t\theading: {\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tmodel: 'paragraph',\n\t\t\t\t\ttitle: 'Paragraph',\n\t\t\t\t\tclass: 'ck-heading_paragraph'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmodel: 'heading1',\n\t\t\t\t\tview: 'h1',\n\t\t\t\t\ttitle: 'Heading 1',\n\t\t\t\t\tclass: 'ck-heading_heading1'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmodel: 'heading2',\n\t\t\t\t\tview: 'h2',\n\t\t\t\t\ttitle: 'Heading 2',\n\t\t\t\t\tclass: 'ck-heading_heading2'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmodel: 'heading3',\n\t\t\t\t\tview: 'h3',\n\t\t\t\t\ttitle: 'Heading 3',\n\t\t\t\t\tclass: 'ck-heading_heading3'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmodel: 'heading4',\n\t\t\t\t\tview: 'h4',\n\t\t\t\t\ttitle: 'Heading 4',\n\t\t\t\t\tclass: 'ck-heading_heading4'\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tlicenseKey: LICENSE_KEY,\n\t\tlink: {\n\t\t\taddTargetToExternalLinks: true,\n\t\t\tdefaultProtocol: 'https://',\n\t\t\tdecorators: {\n\t\t\t\ttoggleDownloadable: {\n\t\t\t\t\tmode: 'manual',\n\t\t\t\t\tlabel: 'Downloadable',\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\tdownload: 'file'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tmenuBar: {\n\t\t\tisVisible: true\n\t\t},\n\t\tplaceholder: 'Type or paste your content here!',\n\t\ttable: {\n\t\t\tcontentToolbar: [\n\t\t\t\t'tableColumn',\n\t\t\t\t'tableRow',\n\t\t\t\t'mergeTableCells',\n\t\t\t\t'tableProperties',\n\t\t\t\t'tableCellProperties'\n\t\t\t]\n\t\t},\n\t\thtmlSupport: {\n\t\t\tallow: [\n\t\t\t\t{\n\t\t\t\t\tname: /.*/,\n\t\t\t\t\tattributes: true,\n\t\t\t\t\tclasses: true,\n\t\t\t\t\tstyles: true\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\timage: {\n\t\t\ttoolbar: [\n\t\t\t\t'imageTextAlternative',\n\t\t\t\t'toggleImageCaption',\n\t\t\t\t'|',\n\t\t\t\t'imageStyle:inline',\n\t\t\t\t'imageStyle:wrapText',\n\t\t\t\t'imageStyle:breakText',\n\t\t\t\t'|',\n\t\t\t\t'resizeImage',\n\t\t\t\t'|',\n\t\t\t\t'linkImage'\n\t\t\t],\n\t\t\tstyles: {\n\t\t\t\toptions: [\n\t\t\t\t\t'inline',\n\t\t\t\t\t'alignLeft',\n\t\t\t\t\t'alignRight',\n\t\t\t\t\t'alignCenter',\n\t\t\t\t\t'alignBlockLeft',\n\t\t\t\t\t'alignBlockRight',\n\t\t\t\t\t'block',\n\t\t\t\t\t'side'\n\t\t\t\t]\n\t\t\t},\n\t\t\tresizeOptions: [\n\t\t\t\t{\n\t\t\t\t\tname: 'resizeImage:original',\n\t\t\t\t\tlabel: 'Original size',\n\t\t\t\t\tvalue: null\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'resizeImage:25',\n\t\t\t\t\tlabel: '25%',\n\t\t\t\t\tvalue: '25'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'resizeImage:50',\n\t\t\t\t\tlabel: '50%',\n\t\t\t\t\tvalue: '50'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'resizeImage:75',\n\t\t\t\t\tlabel: '75%',\n\t\t\t\t\tvalue: '75'\n\t\t\t\t}\n\t\t\t],\n\t\t\tinsert: {\n\t\t\t\tintegrations: ['insertImageViaUrl']\n\t\t\t}\n\t\t},\n\t\tsimpleUpload: {\n\t\t\tuploadUrl: '/api/upload', // your upload API\n\t\t\theaders: {\n\t\t\t\tAuthorization: 'Bearer <token>'\n\t\t\t}\n\t\t},\n\t\tautosave: {\n\t\t\tsave() {\n\t\t\t\treturn new Promise((resolve) => {\n\t\t\t\t\tsetTimeout(resolve, 1000);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n\n\treturn { ...defaultConfig, ...customConfig };\n};\n\nexport interface CustomEditorProps {\n\teditorRef: React.RefObject<HTMLDivElement>;\n\tdata: string;\n\thandleEditorReady: (editor: ClassicEditor) => void;\n\tonError: (error: Error) => void;\n\tconfig: EditorConfig;\n\trest: any;\n}\nexport const CustomEditor = ({\n\teditorRef = React.createRef<HTMLDivElement>(),\n\tdata = '',\n\thandleEditorReady,\n\tonError,\n\tconfig = {},\n\t...rest\n}: CustomEditorProps) => {\n\tconst [isReady, setIsReady] = useState(false);\n\tconst [error, setError] = useState(null);\n\n\tuseEffect(() => {\n\t\t// Small delay to ensure DOM is ready\n\t\tconst timer = setTimeout(() => setIsReady(true), 100);\n\t\treturn () => clearTimeout(timer);\n\t}, []);\n\n\tconst editorConfig = useMemo(() => {\n\t\treturn createEditorConfig(config);\n\t}, [config]);\n\n\tconst myUploadFn = async (file) => {\n\t\t// 👇 Your existing function here\n\t\tconst uFiles = await uploadFiles([file], 'document');\n\t\tconst payload = {\n\t\t\t...getToken(),\n\t\t\ttitle: file?.name.split('.')[0],\n\t\t\tpath: '/',\n\t\t\tis_private: true,\n\t\t\tis_directory: false,\n\t\t\tfile_size: file.size,\n\t\t\tis_child: false,\n\t\t\tfile_extension: file?.name.split('.')[1],\n\t\t\ttype: 'image',\n\t\t\tmime_type: file.type,\n\t\t\turl: `${import.meta.env.VITE_S3_BUCKET_URL}${uFiles[0]}`\n\t\t};\n\t\t// Replace with your actual API endpoint\n\n\t\t// 👇 Call your existing function\n\t\tawait postV1Drive(payload);\n\t\treturn { url: payload.url };\n\t};\n\n\tconst handleReady = useCallback(\n\t\t(editor) => {\n\t\t\ttry {\n\t\t\t\thandleEditorReady?.(editor);\n\t\t\t\teditor.plugins.get('FileRepository').createUploadAdapter = (loader) => {\n\t\t\t\t\treturn new MyUploadAdapter(loader, myUploadFn);\n\t\t\t\t};\n\t\t\t} catch (err) {\n\t\t\t\tconsole.error('Error in editor ready handler:', err);\n\t\t\t\tsetError(err);\n\t\t\t\tonError?.(err);\n\t\t\t}\n\t\t},\n\t\t[handleEditorReady, onError]\n\t);\n\n\tconst handleError = useCallback(\n\t\t(error, { willEditorRestart }) => {\n\t\t\tconsole.error('CKEditor error:', error);\n\t\t\tif (!willEditorRestart) {\n\t\t\t\tsetError(error);\n\t\t\t\tonError?.(error);\n\t\t\t}\n\t\t},\n\t\t[onError]\n\t);\n\n\tif (error) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tpadding: '20px',\n\t\t\t\t\tborder: '1px solid #red',\n\t\t\t\t\tborderRadius: '4px',\n\t\t\t\t\tbackgroundColor: '#fff5f5'\n\t\t\t\t}}>\n\t\t\t\t<div style={{ color: '#e53e3e', marginBottom: '10px' }}>\n\t\t\t\t\tEditor Error: {error.message}\n\t\t\t\t</div>\n\t\t\t\t<button\n\t\t\t\t\tonClick={() => setError(null)}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tpadding: '8px 16px',\n\t\t\t\t\t\tbackgroundColor: '#3182ce',\n\t\t\t\t\t\tcolor: 'white',\n\t\t\t\t\t\tborder: 'none',\n\t\t\t\t\t\tborderRadius: '4px'\n\t\t\t\t\t}}>\n\t\t\t\t\tRetry\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (!isReady) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tpadding: '20px',\n\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\tborder: '1px solid #dee2e6',\n\t\t\t\t\tborderRadius: '4px'\n\t\t\t\t}}>\n\t\t\t\tLoading editor...\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div ref={editorRef} className='custom-editor-container'>\n\t\t\t<CKEditor\n\t\t\t\teditor={ClassicEditor}\n\t\t\t\tconfig={editorConfig}\n\t\t\t\tdata={data}\n\t\t\t\tonReady={handleReady}\n\t\t\t\tonError={handleError}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nexport default CustomEditor;"],"names":["MyUploadAdapter","constructor","loader","uploadFn","this","upload","file","default","url","error","abort","PasteImageUrlPlugin","editor","plugins","get","ClipboardPipeline","on","evt","data","content","getChild","is","trim","match","imageElement","model","change","writer","createElement","src","insertContent","document","selection","stop","CustomEditor","editorRef","React","createRef","handleEditorReady","onError","config","rest","isReady","setIsReady","useState","setError","useEffect","timer","setTimeout","clearTimeout","editorConfig","useMemo","customConfig","extraPlugins","AutoImage","toolbar","items","shouldNotGroupWhenFull","Alignment","AutoLink","Autosave","BalloonToolbar","BlockQuote","BlockToolbar","Bold","Code","CodeBlock","Essentials","FontBackgroundColor","FontColor","FontFamily","FontSize","Heading","Highlight","HorizontalLine","ImageEditing","ImageUtils","Indent","IndentBlock","Italic","Link","Paragraph","PlainTableOutput","RemoveFormat","Strikethrough","Subscript","Superscript","Table","TableCaption","TableCellProperties","TableColumnResize","TableProperties","TableToolbar","Underline","GeneralHtmlSupport","SourceEditing","Image","ImageBlock","ImageCaption","ImageInline","ImageInsert","ImageInsertViaUrl","ImageResize","ImageStyle","ImageTextAlternative","ImageToolbar","ImageUpload","SimpleUploadAdapter","LinkImage","balloonToolbar","blockToolbar","fontFamily","supportAllValues","fontSize","options","heading","title","class","view","licenseKey","link","addTargetToExternalLinks","defaultProtocol","decorators","toggleDownloadable","mode","label","attributes","download","menuBar","isVisible","placeholder","table","contentToolbar","htmlSupport","allow","name","classes","styles","image","resizeOptions","value","insert","integrations","simpleUpload","uploadUrl","headers","Authorization","autosave","save","Promise","resolve","createEditorConfig","myUploadFn","async","uFiles","uploadFiles","payload","getToken","split","path","is_private","is_directory","file_size","size","is_child","file_extension","type","mime_type","postV1Drive","handleReady","useCallback","createUploadAdapter","err","handleError","willEditorRestart","jsxs","style","padding","border","borderRadius","backgroundColor","children","color","marginBottom","message","jsx","onClick","ref","className","CKEditor","ClassicEditor","onReady","textAlign"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/editor/custom-editor.tsx"],"sourcesContent":["/* eslint-disable unused-imports/no-unused-vars */\r\n/* eslint-disable @typescript-eslint/no-unused-vars */\r\n// IsolatedEditor.js - This file should ONLY be imported via React.lazy()\r\nimport React, { useState, useEffect, useMemo, useCallback } from 'react';\r\nimport './custom-editor.css';\r\n\r\n// Import ALL CKEditor dependencies in this file ONLY\r\n// Do NOT import these anywhere else in your application\r\nimport { CKEditor } from '@ckeditor/ckeditor5-react';\r\nimport {\r\n\tClassicEditor,\r\n\tAlignment,\r\n\tAutoLink,\r\n\tAutosave,\r\n\tBalloonToolbar,\r\n\tBlockQuote,\r\n\tBlockToolbar,\r\n\tBold,\r\n\tCode,\r\n\tCodeBlock,\r\n\tEssentials,\r\n\tFontBackgroundColor,\r\n\tFontColor,\r\n\tFontFamily,\r\n\tFontSize,\r\n\tHeading,\r\n\tHighlight,\r\n\tHorizontalLine,\r\n\tImageEditing,\r\n\tImageUtils,\r\n\tIndent,\r\n\tIndentBlock,\r\n\tItalic,\r\n\tLink,\r\n\tParagraph,\r\n\tPlainTableOutput,\r\n\tRemoveFormat,\r\n\tStrikethrough,\r\n\tSubscript,\r\n\tSuperscript,\r\n\tTable,\r\n\tTableCaption,\r\n\tTableCellProperties,\r\n\tTableColumnResize,\r\n\tTableProperties,\r\n\tTableToolbar,\r\n\tUnderline,\r\n\tGeneralHtmlSupport,\r\n\tSourceEditing,\r\n\t// Image support\r\n\tImage,\r\n\tImageBlock,\r\n\tImageInline,\r\n\tImageToolbar,\r\n\tImageCaption,\r\n\tImageStyle,\r\n\tImageResize,\r\n\tImageInsert,\r\n\tImageInsertViaUrl,\r\n\tImageUpload,\r\n\tImageTextAlternative,\r\n\tSimpleUploadAdapter,\r\n\tLinkImage,\r\n\tClipboardPipeline,\r\n\tAutoImage,\r\n EditorConfig\r\n} from 'ckeditor5';\r\n\r\nimport 'ckeditor5/ckeditor5.css';\r\nimport { postV1Drive } from '../../api-client/api.drive/api';\r\nimport { getToken, uploadFiles } from '../../utils/common';\r\n\r\nconst LICENSE_KEY = 'GPL';\r\n\r\nclass MyUploadAdapter {\r\n\tconstructor(loader, uploadFn) {\r\n\t\t// The file loader instance to use during the upload\r\n\t\tthis.loader = loader;\r\n\t\tthis.uploadFn = uploadFn;\r\n\t}\r\n\r\n\t// Starts the upload process\r\n\tasync upload() {\r\n\t\tconst file = await this.loader.file;\r\n\t\ttry {\r\n\t\t\t// 👇 Call your existing function\r\n\t\t\tconst response = await this.uploadFn(file);\r\n\r\n\t\t\t// CKEditor expects this format:\r\n\t\t\treturn {\r\n\t\t\t\tdefault: response.url // must return final image URL\r\n\t\t\t};\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error('Upload failed', error);\r\n\t\t\tthrow error;\r\n\t\t}\r\n\t}\r\n\r\n\t// Optional abort support\r\n\tabort() {\r\n\t\tconsole.log('Upload aborted');\r\n\t}\r\n}\r\n\r\nfunction PasteImageUrlPlugin(editor) {\r\n\tconst clipboard = editor.plugins.get(ClipboardPipeline);\r\n\r\n\tclipboard.on('inputTransformation', (evt, data) => {\r\n\t\tconst content = data.content.getChild(0);\r\n\r\n\t\t// Check if pasted content is plain text\r\n\t\tif (content && content.is('$textProxy')) {\r\n\t\t\tconst url = content.data.trim();\r\n\r\n\t\t\t// Check if it looks like an image URL\r\n\t\t\tif (url.match(/\\.(jpeg|jpg|gif|png|webp|svg)$/i)) {\r\n\t\t\t\tconst imageElement = editor.model.change((writer) => {\r\n\t\t\t\t\treturn writer.createElement('imageBlock', {\r\n\t\t\t\t\t\tsrc: url\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\r\n\t\t\t\teditor.model.insertContent(\r\n\t\t\t\t\timageElement,\r\n\t\t\t\t\teditor.model.document.selection\r\n\t\t\t\t);\r\n\t\t\t\tevt.stop(); // prevent default plain text paste\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}\r\n\r\n// Create the editor configuration\r\nconst createEditorConfig = (customConfig = {}) => {\r\n\tconst defaultConfig = {\r\n\t\textraPlugins: [PasteImageUrlPlugin, AutoImage],\r\n\t\ttoolbar: {\r\n\t\t\titems: [\r\n\t\t\t\t'sourceEditing',\r\n\t\t\t\t'undo',\r\n\t\t\t\t'redo',\r\n\t\t\t\t'|',\r\n\t\t\t\t'heading',\r\n\t\t\t\t'|',\r\n\t\t\t\t'fontSize',\r\n\t\t\t\t'fontFamily',\r\n\t\t\t\t'fontColor',\r\n\t\t\t\t'fontBackgroundColor',\r\n\t\t\t\t'|',\r\n\t\t\t\t'bold',\r\n\t\t\t\t'italic',\r\n\t\t\t\t'underline',\r\n\t\t\t\t'strikethrough',\r\n\t\t\t\t'subscript',\r\n\t\t\t\t'superscript',\r\n\t\t\t\t'code',\r\n\t\t\t\t'removeFormat',\r\n\t\t\t\t'|',\r\n\t\t\t\t'horizontalLine',\r\n\t\t\t\t'link',\r\n\t\t\t\t'insertImage',\r\n\t\t\t\t'uploadImage',\r\n\t\t\t\t'insertTable',\r\n\t\t\t\t'highlight',\r\n\t\t\t\t'blockQuote',\r\n\t\t\t\t'codeBlock',\r\n\t\t\t\t'|',\r\n\t\t\t\t'alignment',\r\n\t\t\t\t'|',\r\n\t\t\t\t'outdent',\r\n\t\t\t\t'indent'\r\n\t\t\t],\r\n\t\t\tshouldNotGroupWhenFull: false\r\n\t\t},\r\n\t\tplugins: [\r\n\t\t\tAlignment,\r\n\t\t\tAutoLink,\r\n\t\t\tAutosave,\r\n\t\t\tBalloonToolbar,\r\n\t\t\tBlockQuote,\r\n\t\t\tBlockToolbar,\r\n\t\t\tBold,\r\n\t\t\tCode,\r\n\t\t\tCodeBlock,\r\n\t\t\tEssentials,\r\n\t\t\tFontBackgroundColor,\r\n\t\t\tFontColor,\r\n\t\t\tFontFamily,\r\n\t\t\tFontSize,\r\n\t\t\tHeading,\r\n\t\t\tHighlight,\r\n\t\t\tHorizontalLine,\r\n\t\t\tImageEditing,\r\n\t\t\tImageUtils,\r\n\t\t\tIndent,\r\n\t\t\tIndentBlock,\r\n\t\t\tItalic,\r\n\t\t\tLink,\r\n\t\t\tParagraph,\r\n\t\t\tPlainTableOutput,\r\n\t\t\tRemoveFormat,\r\n\t\t\tStrikethrough,\r\n\t\t\tSubscript,\r\n\t\t\tSuperscript,\r\n\t\t\tTable,\r\n\t\t\tTableCaption,\r\n\t\t\tTableCellProperties,\r\n\t\t\tTableColumnResize,\r\n\t\t\tTableProperties,\r\n\t\t\tTableToolbar,\r\n\t\t\tUnderline,\r\n\t\t\tGeneralHtmlSupport,\r\n\t\t\tSourceEditing,\r\n\t\t\tImage,\r\n\t\t\tImageBlock,\r\n\t\t\tImageCaption,\r\n\t\t\tImageEditing,\r\n\t\t\tImageInline,\r\n\t\t\tImageInsert,\r\n\t\t\tImageInsertViaUrl,\r\n\t\t\tImageResize,\r\n\t\t\tImageStyle,\r\n\t\t\tImageTextAlternative,\r\n\t\t\tImageToolbar,\r\n\t\t\tImageUpload,\r\n\t\t\tImageUtils,\r\n\t\t\tSimpleUploadAdapter,\r\n\t\t\tLinkImage\r\n\t\t],\r\n\t\tballoonToolbar: [\r\n\t\t\t'bold',\r\n\t\t\t'italic',\r\n\t\t\t'|',\r\n\t\t\t'link',\r\n\t\t\t'insertImage',\r\n\t\t\t'uploadImage'\r\n\t\t],\r\n\t\tblockToolbar: [\r\n\t\t\t'fontSize',\r\n\t\t\t'fontColor',\r\n\t\t\t'fontBackgroundColor',\r\n\t\t\t'|',\r\n\t\t\t'bold',\r\n\t\t\t'italic',\r\n\t\t\t'|',\r\n\t\t\t'link',\r\n\t\t\t'insertImage',\r\n\t\t\t'uploadImage',\r\n\t\t\t'insertTable',\r\n\t\t\t'|',\r\n\t\t\t'outdent',\r\n\t\t\t'indent'\r\n\t\t],\r\n\t\tfontFamily: {\r\n\t\t\tsupportAllValues: true\r\n\t\t},\r\n\t\tfontSize: {\r\n\t\t\toptions: [10, 12, 14, 'default', 18, 20, 22],\r\n\t\t\tsupportAllValues: true\r\n\t\t},\r\n\t\theading: {\r\n\t\t\toptions: [\r\n\t\t\t\t{\r\n\t\t\t\t\tmodel: 'paragraph',\r\n\t\t\t\t\ttitle: 'Paragraph',\r\n\t\t\t\t\tclass: 'ck-heading_paragraph'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tmodel: 'heading1',\r\n\t\t\t\t\tview: 'h1',\r\n\t\t\t\t\ttitle: 'Heading 1',\r\n\t\t\t\t\tclass: 'ck-heading_heading1'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tmodel: 'heading2',\r\n\t\t\t\t\tview: 'h2',\r\n\t\t\t\t\ttitle: 'Heading 2',\r\n\t\t\t\t\tclass: 'ck-heading_heading2'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tmodel: 'heading3',\r\n\t\t\t\t\tview: 'h3',\r\n\t\t\t\t\ttitle: 'Heading 3',\r\n\t\t\t\t\tclass: 'ck-heading_heading3'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tmodel: 'heading4',\r\n\t\t\t\t\tview: 'h4',\r\n\t\t\t\t\ttitle: 'Heading 4',\r\n\t\t\t\t\tclass: 'ck-heading_heading4'\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t},\r\n\t\tlicenseKey: LICENSE_KEY,\r\n\t\tlink: {\r\n\t\t\taddTargetToExternalLinks: true,\r\n\t\t\tdefaultProtocol: 'https://',\r\n\t\t\tdecorators: {\r\n\t\t\t\ttoggleDownloadable: {\r\n\t\t\t\t\tmode: 'manual',\r\n\t\t\t\t\tlabel: 'Downloadable',\r\n\t\t\t\t\tattributes: {\r\n\t\t\t\t\t\tdownload: 'file'\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tmenuBar: {\r\n\t\t\tisVisible: true\r\n\t\t},\r\n\t\tplaceholder: 'Type or paste your content here!',\r\n\t\ttable: {\r\n\t\t\tcontentToolbar: [\r\n\t\t\t\t'tableColumn',\r\n\t\t\t\t'tableRow',\r\n\t\t\t\t'mergeTableCells',\r\n\t\t\t\t'tableProperties',\r\n\t\t\t\t'tableCellProperties'\r\n\t\t\t]\r\n\t\t},\r\n\t\thtmlSupport: {\r\n\t\t\tallow: [\r\n\t\t\t\t{\r\n\t\t\t\t\tname: /.*/,\r\n\t\t\t\t\tattributes: true,\r\n\t\t\t\t\tclasses: true,\r\n\t\t\t\t\tstyles: true\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t},\r\n\t\timage: {\r\n\t\t\ttoolbar: [\r\n\t\t\t\t'imageTextAlternative',\r\n\t\t\t\t'toggleImageCaption',\r\n\t\t\t\t'|',\r\n\t\t\t\t'imageStyle:inline',\r\n\t\t\t\t'imageStyle:wrapText',\r\n\t\t\t\t'imageStyle:breakText',\r\n\t\t\t\t'|',\r\n\t\t\t\t'resizeImage',\r\n\t\t\t\t'|',\r\n\t\t\t\t'linkImage'\r\n\t\t\t],\r\n\t\t\tstyles: {\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t'inline',\r\n\t\t\t\t\t'alignLeft',\r\n\t\t\t\t\t'alignRight',\r\n\t\t\t\t\t'alignCenter',\r\n\t\t\t\t\t'alignBlockLeft',\r\n\t\t\t\t\t'alignBlockRight',\r\n\t\t\t\t\t'block',\r\n\t\t\t\t\t'side'\r\n\t\t\t\t]\r\n\t\t\t},\r\n\t\t\tresizeOptions: [\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'resizeImage:original',\r\n\t\t\t\t\tlabel: 'Original size',\r\n\t\t\t\t\tvalue: null\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'resizeImage:25',\r\n\t\t\t\t\tlabel: '25%',\r\n\t\t\t\t\tvalue: '25'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'resizeImage:50',\r\n\t\t\t\t\tlabel: '50%',\r\n\t\t\t\t\tvalue: '50'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tname: 'resizeImage:75',\r\n\t\t\t\t\tlabel: '75%',\r\n\t\t\t\t\tvalue: '75'\r\n\t\t\t\t}\r\n\t\t\t],\r\n\t\t\tinsert: {\r\n\t\t\t\tintegrations: ['insertImageViaUrl']\r\n\t\t\t}\r\n\t\t},\r\n\t\tsimpleUpload: {\r\n\t\t\tuploadUrl: '/api/upload', // your upload API\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: 'Bearer <token>'\r\n\t\t\t}\r\n\t\t},\r\n\t\tautosave: {\r\n\t\t\tsave() {\r\n\t\t\t\treturn new Promise((resolve) => {\r\n\t\t\t\t\tsetTimeout(resolve, 1000);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\treturn { ...defaultConfig, ...customConfig };\r\n};\r\n\r\nexport interface CustomEditorProps {\r\n\teditorRef: React.RefObject<HTMLDivElement>;\r\n\tdata: string;\r\n\thandleEditorReady: (editor: ClassicEditor) => void;\r\n\tonError: (error: Error) => void;\r\n\tconfig: EditorConfig;\r\n\trest: any;\r\n}\r\nexport const CustomEditor = ({\r\n\teditorRef = React.createRef<HTMLDivElement>(),\r\n\tdata = '',\r\n\thandleEditorReady,\r\n\tonError,\r\n\tconfig = {},\r\n\t...rest\r\n}: CustomEditorProps) => {\r\n\tconst [isReady, setIsReady] = useState(false);\r\n\tconst [error, setError] = useState(null);\r\n\r\n\tuseEffect(() => {\r\n\t\t// Small delay to ensure DOM is ready\r\n\t\tconst timer = setTimeout(() => setIsReady(true), 100);\r\n\t\treturn () => clearTimeout(timer);\r\n\t}, []);\r\n\r\n\tconst editorConfig = useMemo(() => {\r\n\t\treturn createEditorConfig(config);\r\n\t}, [config]);\r\n\r\n\tconst myUploadFn = async (file) => {\r\n\t\t// 👇 Your existing function here\r\n\t\tconst uFiles = await uploadFiles([file], 'document');\r\n\t\tconst payload = {\r\n\t\t\t...getToken(),\r\n\t\t\ttitle: file?.name.split('.')[0],\r\n\t\t\tpath: '/',\r\n\t\t\tis_private: true,\r\n\t\t\tis_directory: false,\r\n\t\t\tfile_size: file.size,\r\n\t\t\tis_child: false,\r\n\t\t\tfile_extension: file?.name.split('.')[1],\r\n\t\t\ttype: 'image',\r\n\t\t\tmime_type: file.type,\r\n\t\t\turl: `${import.meta.env.VITE_S3_BUCKET_URL}${uFiles[0]}`\r\n\t\t};\r\n\t\t// Replace with your actual API endpoint\r\n\r\n\t\t// 👇 Call your existing function\r\n\t\tawait postV1Drive(payload);\r\n\t\treturn { url: payload.url };\r\n\t};\r\n\r\n\tconst handleReady = useCallback(\r\n\t\t(editor) => {\r\n\t\t\ttry {\r\n\t\t\t\thandleEditorReady?.(editor);\r\n\t\t\t\teditor.plugins.get('FileRepository').createUploadAdapter = (loader) => {\r\n\t\t\t\t\treturn new MyUploadAdapter(loader, myUploadFn);\r\n\t\t\t\t};\r\n\t\t\t} catch (err) {\r\n\t\t\t\tconsole.error('Error in editor ready handler:', err);\r\n\t\t\t\tsetError(err);\r\n\t\t\t\tonError?.(err);\r\n\t\t\t}\r\n\t\t},\r\n\t\t[handleEditorReady, onError]\r\n\t);\r\n\r\n\tconst handleError = useCallback(\r\n\t\t(error, { willEditorRestart }) => {\r\n\t\t\tconsole.error('CKEditor error:', error);\r\n\t\t\tif (!willEditorRestart) {\r\n\t\t\t\tsetError(error);\r\n\t\t\t\tonError?.(error);\r\n\t\t\t}\r\n\t\t},\r\n\t\t[onError]\r\n\t);\r\n\r\n\tif (error) {\r\n\t\treturn (\r\n\t\t\t<div\r\n\t\t\t\tstyle={{\r\n\t\t\t\t\tpadding: '20px',\r\n\t\t\t\t\tborder: '1px solid #red',\r\n\t\t\t\t\tborderRadius: '4px',\r\n\t\t\t\t\tbackgroundColor: '#fff5f5'\r\n\t\t\t\t}}>\r\n\t\t\t\t<div style={{ color: '#e53e3e', marginBottom: '10px' }}>\r\n\t\t\t\t\tEditor Error: {error.message}\r\n\t\t\t\t</div>\r\n\t\t\t\t<button\r\n\t\t\t\t\tonClick={() => setError(null)}\r\n\t\t\t\t\tstyle={{\r\n\t\t\t\t\t\tpadding: '8px 16px',\r\n\t\t\t\t\t\tbackgroundColor: '#3182ce',\r\n\t\t\t\t\t\tcolor: 'white',\r\n\t\t\t\t\t\tborder: 'none',\r\n\t\t\t\t\t\tborderRadius: '4px'\r\n\t\t\t\t\t}}>\r\n\t\t\t\t\tRetry\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n\r\n\tif (!isReady) {\r\n\t\treturn (\r\n\t\t\t<div\r\n\t\t\t\tstyle={{\r\n\t\t\t\t\tpadding: '20px',\r\n\t\t\t\t\ttextAlign: 'center',\r\n\t\t\t\t\tborder: '1px solid #dee2e6',\r\n\t\t\t\t\tborderRadius: '4px'\r\n\t\t\t\t}}>\r\n\t\t\t\tLoading editor...\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div ref={editorRef} className='custom-editor-container'>\r\n\t\t\t<CKEditor\r\n\t\t\t\teditor={ClassicEditor}\r\n\t\t\t\tconfig={editorConfig}\r\n\t\t\t\tdata={data}\r\n\t\t\t\tonReady={handleReady}\r\n\t\t\t\tonError={handleError}\r\n\t\t\t\t{...rest}\r\n\t\t\t/>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nexport default CustomEditor;"],"names":["MyUploadAdapter","constructor","loader","uploadFn","this","upload","file","default","url","error","abort","PasteImageUrlPlugin","editor","plugins","get","ClipboardPipeline","on","evt","data","content","getChild","is","trim","match","imageElement","model","change","writer","createElement","src","insertContent","document","selection","stop","CustomEditor","editorRef","React","createRef","handleEditorReady","onError","config","rest","isReady","setIsReady","useState","setError","useEffect","timer","setTimeout","clearTimeout","editorConfig","useMemo","customConfig","extraPlugins","AutoImage","toolbar","items","shouldNotGroupWhenFull","Alignment","AutoLink","Autosave","BalloonToolbar","BlockQuote","BlockToolbar","Bold","Code","CodeBlock","Essentials","FontBackgroundColor","FontColor","FontFamily","FontSize","Heading","Highlight","HorizontalLine","ImageEditing","ImageUtils","Indent","IndentBlock","Italic","Link","Paragraph","PlainTableOutput","RemoveFormat","Strikethrough","Subscript","Superscript","Table","TableCaption","TableCellProperties","TableColumnResize","TableProperties","TableToolbar","Underline","GeneralHtmlSupport","SourceEditing","Image","ImageBlock","ImageCaption","ImageInline","ImageInsert","ImageInsertViaUrl","ImageResize","ImageStyle","ImageTextAlternative","ImageToolbar","ImageUpload","SimpleUploadAdapter","LinkImage","balloonToolbar","blockToolbar","fontFamily","supportAllValues","fontSize","options","heading","title","class","view","licenseKey","link","addTargetToExternalLinks","defaultProtocol","decorators","toggleDownloadable","mode","label","attributes","download","menuBar","isVisible","placeholder","table","contentToolbar","htmlSupport","allow","name","classes","styles","image","resizeOptions","value","insert","integrations","simpleUpload","uploadUrl","headers","Authorization","autosave","save","Promise","resolve","createEditorConfig","myUploadFn","async","uFiles","uploadFiles","payload","getToken","split","path","is_private","is_directory","file_size","size","is_child","file_extension","type","mime_type","postV1Drive","handleReady","useCallback","createUploadAdapter","err","handleError","willEditorRestart","jsxs","style","padding","border","borderRadius","backgroundColor","children","color","marginBottom","message","jsx","onClick","ref","className","CKEditor","ClassicEditor","onReady","textAlign"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../../../../src/components/filter/components/delete-group.tsx"],"sourcesContent":["import Button from \"../../button/button\";\n// import Typography from \"../../typography/typography\";\nimport { ActionProps } from \"react-querybuilder\";\nimport { Trash } from \"../../icons\";\n\nconst RemoveGroupAction = (props: ActionProps) => {\n const { handleOnClick } = props;\n\n return (\n <Button\n variant=\"outlined\"\n onClick={handleOnClick}\n sx={({palette}) => ({\n marginRight: \"0px\",\n marginLeft: \"auto\",\n color: `${palette.theme.error?.[600]} !important`\n })}\n startIcon={<Trash color=\"theme.error.600\" fontSize=\"small\"/>}\n >\n Delete Group\n </Button>\n );\n};\n\nexport { RemoveGroupAction };\nexport default RemoveGroupAction;\n"],"names":[],"mappings":";;;AAKA,MAAM,oBAAoB,CAAC,UAAuB;AAChD,QAAM,EAAE,kBAAkB;AAE1B,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,SAAS;AAAA,MACT,IAAI,CAAC,EAAC,cAAO;;AAAO;AAAA,UAClB,aAAa;AAAA,UACb,YAAY;AAAA,UACZ,OAAO,IAAG,aAAQ,MAAM,UAAd,mBAAsB,IAAI;AAAA,QAAA;AAAA;AAAA,MAEtC,WAAW,oBAAC,OAAA,EAAM,OAAM,mBAAkB,UAAS,SAAO;AAAA,MAC3D,UAAA;AAAA,IAAA;AAAA,EAAA;AAIL;"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../../../../src/components/filter/components/delete-group.tsx"],"sourcesContent":["import Button from \"../../button/button\";\n// import Typography from \"../../typography/typography\";\nimport { ActionProps } from \"react-querybuilder\";\nimport { Trash } from \"../../icons\";\n\nconst RemoveGroupAction = (props: ActionProps) => {\n const { handleOnClick } = props;\n\n return (\n <Button\n className=\"filterGrp-remove-btn\"\n variant=\"outlined\"\n onClick={handleOnClick}\n sx={({palette}) => ({\n marginRight: \"0px\",\n marginLeft: \"auto\",\n color: `${palette.theme.error?.[600]} !important`\n })}\n startIcon={<Trash color=\"theme.error.600\" fontSize=\"small\"/>}\n >\n Delete Group\n </Button>\n );\n};\n\nexport { RemoveGroupAction };\nexport default RemoveGroupAction;\n"],"names":[],"mappings":";;;AAKA,MAAM,oBAAoB,CAAC,UAAuB;AAChD,QAAM,EAAE,kBAAkB;AAE1B,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,SAAQ;AAAA,MACR,SAAS;AAAA,MACT,IAAI,CAAC,EAAC,cAAO;;AAAO;AAAA,UAClB,aAAa;AAAA,UACb,YAAY;AAAA,UACZ,OAAO,IAAG,aAAQ,MAAM,UAAd,mBAAsB,IAAI;AAAA,QAAA;AAAA;AAAA,MAEtC,WAAW,oBAAC,OAAA,EAAM,OAAM,mBAAkB,UAAS,SAAO;AAAA,MAC3D,UAAA;AAAA,IAAA;AAAA,EAAA;AAIL;"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("../../../button/button/index.js"),t=require("../../../icons/trash/index.js");const o=o=>{const{handleOnClick:n}=o;/* @__PURE__ */
|
|
2
|
-
return e.jsx(r.Button,{variant:"outlined",onClick:n,sx:({palette:e})=>{var r;return{marginRight:"0px",marginLeft:"auto",color:`${null==(r=e.theme.error)?void 0:r[600]} !important`}},startIcon:/* @__PURE__ */e.jsx(t.Trash,{color:"theme.error.600",fontSize:"small"}),children:"Delete Group"})};exports.RemoveGroupAction=o,exports.default=o;
|
|
2
|
+
return e.jsx(r.Button,{className:"filterGrp-remove-btn",variant:"outlined",onClick:n,sx:({palette:e})=>{var r;return{marginRight:"0px",marginLeft:"auto",color:`${null==(r=e.theme.error)?void 0:r[600]} !important`}},startIcon:/* @__PURE__ */e.jsx(t.Trash,{color:"theme.error.600",fontSize:"small"}),children:"Delete Group"})};exports.RemoveGroupAction=o,exports.default=o;
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/filter/components/delete-group.tsx"],"sourcesContent":["import Button from \"../../button/button\";\n// import Typography from \"../../typography/typography\";\nimport { ActionProps } from \"react-querybuilder\";\nimport { Trash } from \"../../icons\";\n\nconst RemoveGroupAction = (props: ActionProps) => {\n const { handleOnClick } = props;\n\n return (\n <Button\n variant=\"outlined\"\n onClick={handleOnClick}\n sx={({palette}) => ({\n marginRight: \"0px\",\n marginLeft: \"auto\",\n color: `${palette.theme.error?.[600]} !important`\n })}\n startIcon={<Trash color=\"theme.error.600\" fontSize=\"small\"/>}\n >\n Delete Group\n </Button>\n );\n};\n\nexport { RemoveGroupAction };\nexport default RemoveGroupAction;\n"],"names":["RemoveGroupAction","props","handleOnClick","jsx","Button","variant","onClick","sx","palette","marginRight","marginLeft","color","_a","theme","error","startIcon","Trash","fontSize","children"],"mappings":"+LAKA,MAAMA,EAAqBC,IACzB,MAAMC,cAAEA,GAAkBD;AAE1B,OACEE,EAAAA,IAACC,EAAAA,OAAA,CACCC,QAAQ,WACRC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/filter/components/delete-group.tsx"],"sourcesContent":["import Button from \"../../button/button\";\n// import Typography from \"../../typography/typography\";\nimport { ActionProps } from \"react-querybuilder\";\nimport { Trash } from \"../../icons\";\n\nconst RemoveGroupAction = (props: ActionProps) => {\n const { handleOnClick } = props;\n\n return (\n <Button\n className=\"filterGrp-remove-btn\"\n variant=\"outlined\"\n onClick={handleOnClick}\n sx={({palette}) => ({\n marginRight: \"0px\",\n marginLeft: \"auto\",\n color: `${palette.theme.error?.[600]} !important`\n })}\n startIcon={<Trash color=\"theme.error.600\" fontSize=\"small\"/>}\n >\n Delete Group\n </Button>\n );\n};\n\nexport { RemoveGroupAction };\nexport default RemoveGroupAction;\n"],"names":["RemoveGroupAction","props","handleOnClick","jsx","Button","className","variant","onClick","sx","palette","marginRight","marginLeft","color","_a","theme","error","startIcon","Trash","fontSize","children"],"mappings":"+LAKA,MAAMA,EAAqBC,IACzB,MAAMC,cAAEA,GAAkBD;AAE1B,OACEE,EAAAA,IAACC,EAAAA,OAAA,CACCC,UAAU,uBACVC,QAAQ,WACRC,QAASL,EACTM,GAAI,EAAEC,oBAAc,MAAA,CAClBC,YAAa,MACbC,WAAY,OACZC,MAAO,GAAG,OAAAC,EAAAJ,EAAQK,MAAMC,gBAAQ,oBAElCC,yBAAWb,EAAAA,IAACc,QAAA,CAAML,MAAM,kBAAkBM,SAAS,UACpDC,SAAA"}
|
|
@@ -38,7 +38,7 @@ import Close from "../../../node_modules/@mui/icons-material/esm/Close/index.esm
|
|
|
38
38
|
import DialogContent from "../../../node_modules/@mui/material/DialogContent/DialogContent/index.esm.js";
|
|
39
39
|
import Alert from "../../../node_modules/@mui/material/Alert/Alert/index.esm.js";
|
|
40
40
|
import DialogActions from "../../../node_modules/@mui/material/DialogActions/DialogActions/index.esm.js";
|
|
41
|
-
setBaseUrl(`${"
|
|
41
|
+
setBaseUrl(`${"https://apidev.erpforce.co"}/system-feature`);
|
|
42
42
|
const initialQuery = { combinator: "and", rules: [] };
|
|
43
43
|
const Filter = ({
|
|
44
44
|
open,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../../../src/components/filter/filter.tsx"],"sourcesContent":["/* eslint-disable */\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport type { RuleGroupType } from \"react-querybuilder\";\nimport \"react-querybuilder/dist/query-builder.scss\";\nimport { QueryBuilder /* , formatQuery */ } from \"react-querybuilder\";\nimport { QueryBuilderMaterial } from \"@react-querybuilder/material\";\nimport {\n Box,\n IconButton,\n MenuItem,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n OutlinedInput,\n InputAdornment,\n Alert,\n} from \"@mui/material\";\nimport \"./filter.scss\";\nimport Select from \"../select/select\";\nimport Typography from \"../typography/typography\";\nimport { Close } from \"@mui/icons-material\";\nimport CombinatorSelect from \"./components/combinator-select\";\nimport RemoveAction from \"./components/remove-action\";\nimport FieldSelect from \"./components/field-select\";\nimport AddFilterButton from \"./components/add-filter\";\nimport AddGroupButton from \"./components/add-group\";\nimport ValueEditor from \"./components/value-editor\";\nimport OperatorSelect from \"./components/operator-select\";\nimport Button from \"../button/button\";\nimport RemoveGroupAction from \"./components/delete-group\";\nimport SearchBar from \"../search-bar/search-bar\";\nimport SaveFilterModal from \"../save-filter-modal/save-filter-modal\";\n\nimport {\n setBaseUrl,\n putV1FilterId,\n deleteV1FilterId,\n} from \"../../api-client/api.system-feature/api\";\nimport type * as Types from \"../../api-client/api.system-feature/api-types\";\nimport { auth } from \"../../constants/auth\";\nimport { generateFields, generateQueryString, getErrorMessage } from \"../../utils/common\";\nimport { usePages } from \"../../hooks/use-pages\";\nimport _ from \"lodash\";\nimport { Edit, Trash } from \"../icons\";\nimport { enqueueSnackbar } from \"notistack\";\nimport { IResources, routeToResourceMap } from \"../../constants/route-page-map\";\nimport { useLocation } from \"react-router-dom\";\nimport { useLanguage } from \"../../hooks/useLangauge\";\n\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/system-feature`);\n\ninterface IFilter {\n open: boolean;\n onClose: () => void;\n activeView?: string;\n savedFilters?: SavedFilter[];\n fetchSavedFilters?: () => Promise<void>;\n setFilterBar?: any;\n onSaveFilter?: (query: RuleGroupType) => void;\n onSelectedFilter?: (filterName: string) => void;\n fields: any;\n applyFilter: any;\n isUseFields?: boolean;\n}\n\ninterface SavedFilter {\n id: string;\n name: string;\n query: RuleGroupType;\n}\n\nconst initialQuery: RuleGroupType = { combinator: \"and\", rules: [] };\n\nconst Filter = ({\n open,\n onClose,\n // activeView,\n savedFilters,\n fetchSavedFilters,\n onSaveFilter,\n onSelectedFilter,\n applyFilter,\n fields = [],\n isUseFields = false\n}: IFilter) => {\n const location = useLocation();\n\n const token = localStorage.getItem(auth.storageTokenKeyName);\n const { updatePageInfo, activePage, schemaFields, setActivePage } = usePages()\n\n fields = isUseFields ? generateFields(fields) : (schemaFields.length ? generateFields(schemaFields) : fields)\n const [query, setQuery] = useState<RuleGroupType>(initialQuery);\n const [filteredSavedFilters, setFilteredSavedFilters] = useState<\n SavedFilter[]\n >(savedFilters ?? []);\n const [selectedFilter, setSelectedFilter] = useState<any>(null);\n const [openRenameFilter, setIsOpenRenameFilter] = useState<any>(null);\n const [errorMessage, setErrorMessage] = useState<string | null>(null);\n const { isRtl } = useLanguage();\n const resources: IResources = useMemo(() => routeToResourceMap[location.pathname] || null, [location.pathname])\n\n useEffect(() => {\n savedFilters && setFilteredSavedFilters(savedFilters);\n }, [savedFilters]);\n\n\n const handleApplyFilter = useCallback((clear: boolean = false) => {\n let q = query\n const isInvalid = isDuplicatedFilters(q)\n if (isInvalid) {\n setErrorMessage(\"Invalid filter\")\n return\n }\n if (clear) {\n q = initialQuery\n setQuery(q)\n } else {\n const generatedSQLQuery = q ? generateQueryString(q) : q;\n updatePageInfo({ filters: q, filterQueryString: generatedSQLQuery })\n // applyFilter(generatedSQLQuery);\n onClose();\n }\n }, [query, applyFilter, onClose]);\n\n const handleQueryChange = (q: RuleGroupType) => {\n const updatedRules = q.rules.map((rule, i) => ({\n ...rule,\n value: rule.field !== query.rules?.[i]?.field || ['null', 'notNull'].includes(rule.operator) ? \"\" : rule.value\n }));\n let isValid = true;\n let errorMessage = '';\n\n // // Helper function to check for invalid aggregate usage, considering parent combinators\n // const checkForInvalidAggregateUsage = (rules: any[], combinator: string, parentCombinator: string | null): boolean => {\n // let hasAggregateField = false;\n // let hasNonAggregateField = false;\n\n // rules.forEach(rule => {\n // // Check nested groups\n // if (rule.rules) {\n // // If the current group or any parent has an 'OR', pass it down\n // const currentCombinator = combinator === 'or' || parentCombinator === 'or' ? 'or' : combinator;\n // checkForInvalidAggregateUsage(rule.rules, rule.combinator, currentCombinator);\n // } else {\n // // Find the field in the fields array and check if it's an aggregate\n // const field = fields.find((f: any) => f.name === rule.field);\n\n // if (field?.is_aggregate) {\n // hasAggregateField = true;\n // } else {\n // hasNonAggregateField = true;\n // }\n // }\n // });\n\n // // If any parent or current rule uses 'OR' with a mix of aggregate and non-aggregate fields, it's invalid\n // if ((combinator === 'or' || parentCombinator === 'or') && hasAggregateField && hasNonAggregateField) {\n // isValid = false;\n // errorMessage = 'Mixing aggregate and non-aggregate fields in OR conditions may lead to unexpected results.';\n // }\n\n // return isValid;\n // };\n\n // Start checking from the root level (no parent combinator initially)\n\n\n // Always set the query, regardless of validity\n setQuery({ ...q, rules: updatedRules });\n\n // Set error message if invalid, otherwise clear it\n if (!isValid) {\n setErrorMessage(errorMessage);\n } else {\n setErrorMessage(null);\n }\n\n // Always call onSaveFilter, if it exists\n if (onSaveFilter) {\n onSaveFilter(q);\n }\n };\n\n const handleFilterSwitch = (sf?: any) => {\n if (sf) {\n setSelectedFilter(sf);\n setQuery(sf.query);\n if (onSelectedFilter) {\n onSelectedFilter(sf);\n }\n } else {\n setSelectedFilter(null);\n setQuery(initialQuery);\n if (onSelectedFilter) {\n onSelectedFilter(null);\n }\n }\n };\n\n const handleSearchEvent = (searchText: string) => {\n const filteredFilters = savedFilters?.filter((filter: any) =>\n filter.name.toLowerCase().includes(searchText.toLowerCase())\n );\n if (filteredFilters) {\n setFilteredSavedFilters(filteredFilters);\n }\n };\n\n const handleRenameFilter = async (filterId: string, newName: string) => {\n const putFilterRequest: Types.PutV1FilterIdRequest = {\n \"x-token\": token,\n id: filterId,\n name: newName,\n module: resources?.fieldResource || resources?.pageResource\n };\n\n try {\n await putV1FilterId(putFilterRequest)\n // setSelectedFilter(newName);\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n enqueueSnackbar('Filters renamed successfully.')\n } catch (error) {\n let m: string = 'Something went wrong on saving filters'\n if (error instanceof Error) {\n m = getErrorMessage(error.message)\n }\n enqueueSnackbar(m, { variant: 'error' })\n return false\n }\n return true\n };\n const handleUpdateSelectedFilterQuery = async () => {\n if (selectedFilter) {\n\n const putFilterRequest: Types.PutV1FilterIdRequest = {\n \"x-token\": token,\n id: selectedFilter.id,\n data: query,\n };\n\n putV1FilterId(putFilterRequest)\n .then((response: any) => {\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n setActivePage((prev: any) => ({\n ...prev,\n filters: {\n ...prev.filters,\n rules: query.rules,\n combinator: query.combinator,\n name: selectedFilter.name\n\n }\n }));\n })\n .catch((err: any) => enqueueSnackbar(\"Error renaming saved filters:\", { variant: 'error' }));\n }\n };\n\n const handleSubmitRename = (name: string) => {\n if (openRenameFilter) {\n return handleRenameFilter(openRenameFilter.id, name);\n }\n };\n\n const handleDeleteFilter = async (filterId: string) => {\n const deleteFilterRequest: Types.DeleteV1FilterIdRequest = {\n \"x-token\": token,\n id: filterId,\n };\n\n deleteV1FilterId(deleteFilterRequest)\n .then((response: any) => {\n setSelectedFilter(null);\n setQuery(initialQuery);\n if (fetchSavedFilters) {\n fetchSavedFilters();\n }\n\n })\n .catch((err: any) => console.log(\"Error deleting saved filters:\", err));\n };\n\n useEffect(() => {\n let q = initialQuery\n if (!_.isEmpty(activePage.filters)) {\n q = activePage.filters\n }\n setQuery(q)\n const selectedFilter = savedFilters?.find((f: any) => f.name === activePage?.filters?.name);\n setSelectedFilter(selectedFilter || null);\n }, [activePage?.filters, savedFilters]);\n\n const isDuplicatedFilters = (rule) => {\n let uniques: string[] = []\n rule?.rules?.forEach((r: any) => {\n if (uniques.includes(r.field) && rule.combinator == 'and') {\n return true\n }\n uniques.push(r.field)\n })\n return uniques.length !== rule?.rules?.length\n }\n\n\n const isRuleInvalid = (rule: any): boolean => {\n // If it's a group (has nested rules), recurse\n if (Array.isArray(rule.rules)) {\n return rule.rules.length ? rule.rules.some(isRuleInvalid) : !rule.rules.length;\n }\n\n // Otherwise, validate individual rule\n return (\n !rule.field ||\n (_.isEmpty(rule.value) && !['null', 'notNull'].includes(rule.operator))\n );\n };\n\n const disabled = useMemo(() => isRuleInvalid(query) || errorMessage, [query, errorMessage])\n // const disabled = isRuleInvalid(query) || errorMessage;\n\n return (\n <div>\n <Dialog\n open={open}\n onClose={onClose}\n maxWidth='md'\n fullWidth={true}\n PaperProps={{\n sx: { borderRadius: 2 }\n }}\n >\n <DialogTitle className=\"filter-header\">\n <Typography type=\"s3\" weight=\"medium\" color=\"theme.secondary.1000\">\n Filters\n </Typography>\n <Box gap={1} display={\"flex\"}>\n <Select\n fullWidth\n size=\"small\"\n className=\"filter-dropdown\"\n value={selectedFilter ? selectedFilter.name : \"Saved Filters\"}\n onChange={(event: any) => {\n const sf = savedFilters?.find(f => f.name == event.target.value)\n handleFilterSwitch(sf)\n }}\n variant=\"outlined\"\n onClose={() => {\n setTimeout(() => {\n handleSearchEvent(\"\")\n }, 500);\n }}\n input={\n selectedFilter ? (\n <OutlinedInput\n label=''\n endAdornment={\n <InputAdornment position='end'>\n <IconButton\n aria-label='clear selection'\n onClick={() => {\n handleFilterSwitch()\n }}\n edge='end'\n sx={{ mr: 1.5 }}\n size='small'>\n <Close sx={{ fontSize: '1rem' }} />\n </IconButton>\n </InputAdornment>\n }\n />\n ) : undefined\n }\n >\n <div className=\"searchbar-box-list\">\n <SearchBar\n placeholder={\"Search Filters\"}\n handleSearch={(e) => handleSearchEvent(e)}\n />\n </div>\n {/* <Typography\n color=\"theme.secondary.1000\"\n type=\"s4\"\n className=\"filter-title\"\n >\n Saved Filters\n </Typography> */}\n {filteredSavedFilters?.map((savedFilter: SavedFilter) => (\n <MenuItem\n key={savedFilter.id}\n value={savedFilter?.name}\n className=\"menu-list\"\n selected={selectedFilter?.name == savedFilter?.name}\n >\n <Typography color=\"theme.secondary.1000\" type=\"s3\">\n {savedFilter?.name}\n </Typography>\n\n <div className=\"icon-list\">\n <IconButton size=\"small\" onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n setIsOpenRenameFilter(savedFilter)\n }}>\n <Edit fontSize=\"small\" color={selectedFilter?.name == savedFilter?.name ? \"theme.primary.800\" : 'inherit'} />\n </IconButton>\n <IconButton size=\"small\" onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n handleDeleteFilter(savedFilter.id)\n }} color=\"error\">\n <Trash fontSize=\"small\" color=\"theme.error.600\" />\n </IconButton>\n </div>\n </MenuItem>\n ))}\n </Select>\n <SaveFilterModal\n open={openRenameFilter !== null}\n onClose={() => setIsOpenRenameFilter(null)}\n handleSubmit={(name) => handleSubmitRename(name)}\n oldName={openRenameFilter?.name}\n />\n <Box>\n <IconButton size=\"small\" onClick={onClose}>\n <Close fontSize=\"small\" />\n </IconButton>\n </Box>\n </Box>\n </DialogTitle>\n <DialogContent className=\"content\">\n {/* Display error message */}\n {errorMessage && (\n <Alert severity=\"error\" sx={{ px: 1, pt: 0.5, mb: 1 }}>\n <Typography\n color=\"error\"\n type=\"s4\"\n >\n {errorMessage}\n </Typography>\n </Alert>\n )}\n <QueryBuilderMaterial>\n <QueryBuilder\n fields={fields || []}\n query={query}\n onQueryChange={handleQueryChange}\n showCombinatorsBetweenRules={true}\n controlClassnames={{\n header: \"actions\",\n }}\n controlElements={{\n addRuleAction: AddFilterButton,\n addGroupAction: AddGroupButton,\n combinatorSelector: CombinatorSelect,\n fieldSelector: FieldSelect,\n operatorSelector: OperatorSelect,\n removeRuleAction: RemoveAction,\n valueEditor: ValueEditor,\n removeGroupAction: RemoveGroupAction,\n }}\n />\n <Button\n variant=\"text\"\n className={isRtl ? 'remove-filters_rtl' : 'remove-filters'}\n onClick={() => {\n handleApplyFilter(true)\n }}\n disabled={disabled}\n >\n Clear all filters\n </Button>\n </QueryBuilderMaterial>\n </DialogContent>\n <DialogActions className=\"filter-footer\">\n <Box sx={{ display: 'flex', alignItems: 'center', justifyContent: selectedFilter ? 'space-between' : 'flex-end', width: '100%' }}>\n {selectedFilter &&\n <Box>\n <Button onClick={handleUpdateSelectedFilterQuery}>\n Update Seleted filter\n </Button>\n </Box>\n }\n <Box sx={{ display: 'flex', gap: 1 }}>\n <Button className=\"cancel-filter-btn\" onClick={onClose}>\n Cancel\n </Button>\n <Button\n disabled={disabled}\n onClick={() => handleApplyFilter()}\n >\n Apply\n </Button>\n </Box>\n </Box>\n </DialogActions>\n </Dialog>\n </div>\n );\n};\n\nexport { Filter };\nexport default Filter;\n"],"names":["selectedFilter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../../../src/components/filter/filter.tsx"],"sourcesContent":["/* eslint-disable */\r\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\r\nimport type { RuleGroupType } from \"react-querybuilder\";\r\nimport \"react-querybuilder/dist/query-builder.scss\";\r\nimport { QueryBuilder /* , formatQuery */ } from \"react-querybuilder\";\r\nimport { QueryBuilderMaterial } from \"@react-querybuilder/material\";\r\nimport {\r\n Box,\r\n IconButton,\r\n MenuItem,\r\n Dialog,\r\n DialogTitle,\r\n DialogContent,\r\n DialogActions,\r\n OutlinedInput,\r\n InputAdornment,\r\n Alert,\r\n} from \"@mui/material\";\r\nimport \"./filter.scss\";\r\nimport Select from \"../select/select\";\r\nimport Typography from \"../typography/typography\";\r\nimport { Close } from \"@mui/icons-material\";\r\nimport CombinatorSelect from \"./components/combinator-select\";\r\nimport RemoveAction from \"./components/remove-action\";\r\nimport FieldSelect from \"./components/field-select\";\r\nimport AddFilterButton from \"./components/add-filter\";\r\nimport AddGroupButton from \"./components/add-group\";\r\nimport ValueEditor from \"./components/value-editor\";\r\nimport OperatorSelect from \"./components/operator-select\";\r\nimport Button from \"../button/button\";\r\nimport RemoveGroupAction from \"./components/delete-group\";\r\nimport SearchBar from \"../search-bar/search-bar\";\r\nimport SaveFilterModal from \"../save-filter-modal/save-filter-modal\";\r\n\r\nimport {\r\n setBaseUrl,\r\n putV1FilterId,\r\n deleteV1FilterId,\r\n} from \"../../api-client/api.system-feature/api\";\r\nimport type * as Types from \"../../api-client/api.system-feature/api-types\";\r\nimport { auth } from \"../../constants/auth\";\r\nimport { generateFields, generateQueryString, getErrorMessage } from \"../../utils/common\";\r\nimport { usePages } from \"../../hooks/use-pages\";\r\nimport _ from \"lodash\";\r\nimport { Edit, Trash } from \"../icons\";\r\nimport { enqueueSnackbar } from \"notistack\";\r\nimport { IResources, routeToResourceMap } from \"../../constants/route-page-map\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { useLanguage } from \"../../hooks/useLangauge\";\r\n\r\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/system-feature`);\r\n\r\ninterface IFilter {\r\n open: boolean;\r\n onClose: () => void;\r\n activeView?: string;\r\n savedFilters?: SavedFilter[];\r\n fetchSavedFilters?: () => Promise<void>;\r\n setFilterBar?: any;\r\n onSaveFilter?: (query: RuleGroupType) => void;\r\n onSelectedFilter?: (filterName: string) => void;\r\n fields: any;\r\n applyFilter: any;\r\n isUseFields?: boolean;\r\n}\r\n\r\ninterface SavedFilter {\r\n id: string;\r\n name: string;\r\n query: RuleGroupType;\r\n}\r\n\r\nconst initialQuery: RuleGroupType = { combinator: \"and\", rules: [] };\r\n\r\nconst Filter = ({\r\n open,\r\n onClose,\r\n // activeView,\r\n savedFilters,\r\n fetchSavedFilters,\r\n onSaveFilter,\r\n onSelectedFilter,\r\n applyFilter,\r\n fields = [],\r\n isUseFields = false\r\n}: IFilter) => {\r\n const location = useLocation();\r\n\r\n const token = localStorage.getItem(auth.storageTokenKeyName);\r\n const { updatePageInfo, activePage, schemaFields, setActivePage } = usePages()\r\n\r\n fields = isUseFields ? generateFields(fields) : (schemaFields.length ? generateFields(schemaFields) : fields)\r\n const [query, setQuery] = useState<RuleGroupType>(initialQuery);\r\n const [filteredSavedFilters, setFilteredSavedFilters] = useState<\r\n SavedFilter[]\r\n >(savedFilters ?? []);\r\n const [selectedFilter, setSelectedFilter] = useState<any>(null);\r\n const [openRenameFilter, setIsOpenRenameFilter] = useState<any>(null);\r\n const [errorMessage, setErrorMessage] = useState<string | null>(null);\r\n const { isRtl } = useLanguage();\r\n const resources: IResources = useMemo(() => routeToResourceMap[location.pathname] || null, [location.pathname])\r\n\r\n useEffect(() => {\r\n savedFilters && setFilteredSavedFilters(savedFilters);\r\n }, [savedFilters]);\r\n\r\n\r\n const handleApplyFilter = useCallback((clear: boolean = false) => {\r\n let q = query\r\n const isInvalid = isDuplicatedFilters(q)\r\n if (isInvalid) {\r\n setErrorMessage(\"Invalid filter\")\r\n return\r\n }\r\n if (clear) {\r\n q = initialQuery\r\n setQuery(q)\r\n } else {\r\n const generatedSQLQuery = q ? generateQueryString(q) : q;\r\n updatePageInfo({ filters: q, filterQueryString: generatedSQLQuery })\r\n // applyFilter(generatedSQLQuery);\r\n onClose();\r\n }\r\n }, [query, applyFilter, onClose]);\r\n\r\n const handleQueryChange = (q: RuleGroupType) => {\r\n const updatedRules = q.rules.map((rule, i) => ({\r\n ...rule,\r\n value: rule.field !== query.rules?.[i]?.field || ['null', 'notNull'].includes(rule.operator) ? \"\" : rule.value\r\n }));\r\n let isValid = true;\r\n let errorMessage = '';\r\n\r\n // // Helper function to check for invalid aggregate usage, considering parent combinators\r\n // const checkForInvalidAggregateUsage = (rules: any[], combinator: string, parentCombinator: string | null): boolean => {\r\n // let hasAggregateField = false;\r\n // let hasNonAggregateField = false;\r\n\r\n // rules.forEach(rule => {\r\n // // Check nested groups\r\n // if (rule.rules) {\r\n // // If the current group or any parent has an 'OR', pass it down\r\n // const currentCombinator = combinator === 'or' || parentCombinator === 'or' ? 'or' : combinator;\r\n // checkForInvalidAggregateUsage(rule.rules, rule.combinator, currentCombinator);\r\n // } else {\r\n // // Find the field in the fields array and check if it's an aggregate\r\n // const field = fields.find((f: any) => f.name === rule.field);\r\n\r\n // if (field?.is_aggregate) {\r\n // hasAggregateField = true;\r\n // } else {\r\n // hasNonAggregateField = true;\r\n // }\r\n // }\r\n // });\r\n\r\n // // If any parent or current rule uses 'OR' with a mix of aggregate and non-aggregate fields, it's invalid\r\n // if ((combinator === 'or' || parentCombinator === 'or') && hasAggregateField && hasNonAggregateField) {\r\n // isValid = false;\r\n // errorMessage = 'Mixing aggregate and non-aggregate fields in OR conditions may lead to unexpected results.';\r\n // }\r\n\r\n // return isValid;\r\n // };\r\n\r\n // Start checking from the root level (no parent combinator initially)\r\n\r\n\r\n // Always set the query, regardless of validity\r\n setQuery({ ...q, rules: updatedRules });\r\n\r\n // Set error message if invalid, otherwise clear it\r\n if (!isValid) {\r\n setErrorMessage(errorMessage);\r\n } else {\r\n setErrorMessage(null);\r\n }\r\n\r\n // Always call onSaveFilter, if it exists\r\n if (onSaveFilter) {\r\n onSaveFilter(q);\r\n }\r\n };\r\n\r\n const handleFilterSwitch = (sf?: any) => {\r\n if (sf) {\r\n setSelectedFilter(sf);\r\n setQuery(sf.query);\r\n if (onSelectedFilter) {\r\n onSelectedFilter(sf);\r\n }\r\n } else {\r\n setSelectedFilter(null);\r\n setQuery(initialQuery);\r\n if (onSelectedFilter) {\r\n onSelectedFilter(null);\r\n }\r\n }\r\n };\r\n\r\n const handleSearchEvent = (searchText: string) => {\r\n const filteredFilters = savedFilters?.filter((filter: any) =>\r\n filter.name.toLowerCase().includes(searchText.toLowerCase())\r\n );\r\n if (filteredFilters) {\r\n setFilteredSavedFilters(filteredFilters);\r\n }\r\n };\r\n\r\n const handleRenameFilter = async (filterId: string, newName: string) => {\r\n const putFilterRequest: Types.PutV1FilterIdRequest = {\r\n \"x-token\": token,\r\n id: filterId,\r\n name: newName,\r\n module: resources?.fieldResource || resources?.pageResource\r\n };\r\n\r\n try {\r\n await putV1FilterId(putFilterRequest)\r\n // setSelectedFilter(newName);\r\n if (fetchSavedFilters) {\r\n fetchSavedFilters();\r\n }\r\n enqueueSnackbar('Filters renamed successfully.')\r\n } catch (error) {\r\n let m: string = 'Something went wrong on saving filters'\r\n if (error instanceof Error) {\r\n m = getErrorMessage(error.message)\r\n }\r\n enqueueSnackbar(m, { variant: 'error' })\r\n return false\r\n }\r\n return true\r\n };\r\n const handleUpdateSelectedFilterQuery = async () => {\r\n if (selectedFilter) {\r\n\r\n const putFilterRequest: Types.PutV1FilterIdRequest = {\r\n \"x-token\": token,\r\n id: selectedFilter.id,\r\n data: query,\r\n };\r\n\r\n putV1FilterId(putFilterRequest)\r\n .then((response: any) => {\r\n if (fetchSavedFilters) {\r\n fetchSavedFilters();\r\n }\r\n setActivePage((prev: any) => ({\r\n ...prev,\r\n filters: {\r\n ...prev.filters,\r\n rules: query.rules,\r\n combinator: query.combinator,\r\n name: selectedFilter.name\r\n\r\n }\r\n }));\r\n })\r\n .catch((err: any) => enqueueSnackbar(\"Error renaming saved filters:\", { variant: 'error' }));\r\n }\r\n };\r\n\r\n const handleSubmitRename = (name: string) => {\r\n if (openRenameFilter) {\r\n return handleRenameFilter(openRenameFilter.id, name);\r\n }\r\n };\r\n\r\n const handleDeleteFilter = async (filterId: string) => {\r\n const deleteFilterRequest: Types.DeleteV1FilterIdRequest = {\r\n \"x-token\": token,\r\n id: filterId,\r\n };\r\n\r\n deleteV1FilterId(deleteFilterRequest)\r\n .then((response: any) => {\r\n setSelectedFilter(null);\r\n setQuery(initialQuery);\r\n if (fetchSavedFilters) {\r\n fetchSavedFilters();\r\n }\r\n\r\n })\r\n .catch((err: any) => console.log(\"Error deleting saved filters:\", err));\r\n };\r\n\r\n useEffect(() => {\r\n let q = initialQuery\r\n if (!_.isEmpty(activePage.filters)) {\r\n q = activePage.filters\r\n }\r\n setQuery(q)\r\n const selectedFilter = savedFilters?.find((f: any) => f.name === activePage?.filters?.name);\r\n setSelectedFilter(selectedFilter || null);\r\n }, [activePage?.filters, savedFilters]);\r\n\r\n const isDuplicatedFilters = (rule) => {\r\n let uniques: string[] = []\r\n rule?.rules?.forEach((r: any) => {\r\n if (uniques.includes(r.field) && rule.combinator == 'and') {\r\n return true\r\n }\r\n uniques.push(r.field)\r\n })\r\n return uniques.length !== rule?.rules?.length\r\n }\r\n\r\n\r\n const isRuleInvalid = (rule: any): boolean => {\r\n // If it's a group (has nested rules), recurse\r\n if (Array.isArray(rule.rules)) {\r\n return rule.rules.length ? rule.rules.some(isRuleInvalid) : !rule.rules.length;\r\n }\r\n\r\n // Otherwise, validate individual rule\r\n return (\r\n !rule.field ||\r\n (_.isEmpty(rule.value) && !['null', 'notNull'].includes(rule.operator))\r\n );\r\n };\r\n\r\n const disabled = useMemo(() => isRuleInvalid(query) || errorMessage, [query, errorMessage])\r\n // const disabled = isRuleInvalid(query) || errorMessage;\r\n\r\n return (\r\n <div>\r\n <Dialog\r\n open={open}\r\n onClose={onClose}\r\n maxWidth='md'\r\n fullWidth={true}\r\n PaperProps={{\r\n sx: { borderRadius: 2 }\r\n }}\r\n >\r\n <DialogTitle className=\"filter-header\">\r\n <Typography type=\"s3\" weight=\"medium\" color=\"theme.secondary.1000\">\r\n Filters\r\n </Typography>\r\n <Box gap={1} display={\"flex\"}>\r\n <Select\r\n fullWidth\r\n size=\"small\"\r\n className=\"filter-dropdown\"\r\n value={selectedFilter ? selectedFilter.name : \"Saved Filters\"}\r\n onChange={(event: any) => {\r\n const sf = savedFilters?.find(f => f.name == event.target.value)\r\n handleFilterSwitch(sf)\r\n }}\r\n variant=\"outlined\"\r\n onClose={() => {\r\n setTimeout(() => {\r\n handleSearchEvent(\"\")\r\n }, 500);\r\n }}\r\n input={\r\n selectedFilter ? (\r\n <OutlinedInput\r\n label=''\r\n endAdornment={\r\n <InputAdornment position='end'>\r\n <IconButton\r\n aria-label='clear selection'\r\n onClick={() => {\r\n handleFilterSwitch()\r\n }}\r\n edge='end'\r\n sx={{ mr: 1.5 }}\r\n size='small'>\r\n <Close sx={{ fontSize: '1rem' }} />\r\n </IconButton>\r\n </InputAdornment>\r\n }\r\n />\r\n ) : undefined\r\n }\r\n >\r\n <div className=\"searchbar-box-list\">\r\n <SearchBar\r\n placeholder={\"Search Filters\"}\r\n handleSearch={(e) => handleSearchEvent(e)}\r\n />\r\n </div>\r\n {/* <Typography\r\n color=\"theme.secondary.1000\"\r\n type=\"s4\"\r\n className=\"filter-title\"\r\n >\r\n Saved Filters\r\n </Typography> */}\r\n {filteredSavedFilters?.map((savedFilter: SavedFilter) => (\r\n <MenuItem\r\n key={savedFilter.id}\r\n value={savedFilter?.name}\r\n className=\"menu-list\"\r\n selected={selectedFilter?.name == savedFilter?.name}\r\n >\r\n <Typography color=\"theme.secondary.1000\" type=\"s3\">\r\n {savedFilter?.name}\r\n </Typography>\r\n\r\n <div className=\"icon-list\">\r\n <IconButton size=\"small\" onClick={(e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n setIsOpenRenameFilter(savedFilter)\r\n }}>\r\n <Edit fontSize=\"small\" color={selectedFilter?.name == savedFilter?.name ? \"theme.primary.800\" : 'inherit'} />\r\n </IconButton>\r\n <IconButton size=\"small\" onClick={(e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n handleDeleteFilter(savedFilter.id)\r\n }} color=\"error\">\r\n <Trash fontSize=\"small\" color=\"theme.error.600\" />\r\n </IconButton>\r\n </div>\r\n </MenuItem>\r\n ))}\r\n </Select>\r\n <SaveFilterModal\r\n open={openRenameFilter !== null}\r\n onClose={() => setIsOpenRenameFilter(null)}\r\n handleSubmit={(name) => handleSubmitRename(name)}\r\n oldName={openRenameFilter?.name}\r\n />\r\n <Box>\r\n <IconButton size=\"small\" onClick={onClose}>\r\n <Close fontSize=\"small\" />\r\n </IconButton>\r\n </Box>\r\n </Box>\r\n </DialogTitle>\r\n <DialogContent className=\"content\">\r\n {/* Display error message */}\r\n {errorMessage && (\r\n <Alert severity=\"error\" sx={{ px: 1, pt: 0.5, mb: 1 }}>\r\n <Typography\r\n color=\"error\"\r\n type=\"s4\"\r\n >\r\n {errorMessage}\r\n </Typography>\r\n </Alert>\r\n )}\r\n <QueryBuilderMaterial>\r\n <QueryBuilder\r\n fields={fields || []}\r\n query={query}\r\n onQueryChange={handleQueryChange}\r\n showCombinatorsBetweenRules={true}\r\n controlClassnames={{\r\n header: \"actions\",\r\n }}\r\n controlElements={{\r\n addRuleAction: AddFilterButton,\r\n addGroupAction: AddGroupButton,\r\n combinatorSelector: CombinatorSelect,\r\n fieldSelector: FieldSelect,\r\n operatorSelector: OperatorSelect,\r\n removeRuleAction: RemoveAction,\r\n valueEditor: ValueEditor,\r\n removeGroupAction: RemoveGroupAction,\r\n }}\r\n />\r\n <Button\r\n variant=\"text\"\r\n className={isRtl ? 'remove-filters_rtl' : 'remove-filters'}\r\n onClick={() => {\r\n handleApplyFilter(true)\r\n }}\r\n disabled={disabled}\r\n >\r\n Clear all filters\r\n </Button>\r\n </QueryBuilderMaterial>\r\n </DialogContent>\r\n <DialogActions className=\"filter-footer\">\r\n <Box sx={{ display: 'flex', alignItems: 'center', justifyContent: selectedFilter ? 'space-between' : 'flex-end', width: '100%' }}>\r\n {selectedFilter &&\r\n <Box>\r\n <Button onClick={handleUpdateSelectedFilterQuery}>\r\n Update Seleted filter\r\n </Button>\r\n </Box>\r\n }\r\n <Box sx={{ display: 'flex', gap: 1 }}>\r\n <Button className=\"cancel-filter-btn\" onClick={onClose}>\r\n Cancel\r\n </Button>\r\n <Button\r\n disabled={disabled}\r\n onClick={() => handleApplyFilter()}\r\n >\r\n Apply\r\n </Button>\r\n </Box>\r\n </Box>\r\n </DialogActions>\r\n </Dialog>\r\n </div>\r\n );\r\n};\r\n\r\nexport { Filter };\r\nexport default Filter;\r\n"],"names":["selectedFilter"],"mappings":"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"}
|