import { fnFilterLabel } from "@core/utils"; import { Cascader, CascaderProps, Divider, DividerProps, Drawer, DrawerProps, Input, InputNumber, InputNumberProps, Modal, ModalProps, Select, SelectProps, Tooltip, TooltipProps, } from "antd"; import { PasswordProps } from "antd/lib/input"; import { BaseOptionType } from "rc-cascader"; import React from "react"; import { IconArrowDown, IconArrowLeft, IconArrowRight, IconArrowUp, IconClose } from "./components/icon"; import { useAppStore } from "./stores"; import theme, { themePalette } from "./styles/theme"; /* * Modal */ const _Modal = Modal as React.FC; _Modal.defaultProps ??= {}; const modalDefaultProps = _Modal.defaultProps; if (modalDefaultProps) { modalDefaultProps.transitionName = "slide-down"; modalDefaultProps.maskClosable = false; modalDefaultProps.centered = true; modalDefaultProps.closeIcon = ; modalDefaultProps.styles = { body: { padding: 0 } }; modalDefaultProps.className = "axframe-modal"; modalDefaultProps.title = null; modalDefaultProps.footer = null; modalDefaultProps.closable = true; modalDefaultProps.destroyOnClose = true; } /* * Tooltip */ const _Tooltip = Tooltip as React.FC; _Tooltip.defaultProps ??= {}; const tooltipDefaultProps = _Tooltip.defaultProps; if (tooltipDefaultProps) { tooltipDefaultProps.color = themePalette[useAppStore.getState().theme].tooltip_bg; tooltipDefaultProps.mouseEnterDelay = 0; tooltipDefaultProps.mouseLeaveDelay = 0; tooltipDefaultProps.destroyTooltipOnHide = true; } /* * Cascader */ const _Cascader = Cascader as React.FC>; _Cascader.defaultProps ??= {}; const cascaderDefaultProps = _Cascader.defaultProps; if (cascaderDefaultProps) { cascaderDefaultProps.expandIcon = ; cascaderDefaultProps.suffixIcon = ; } /* * Select */ const _Select = Select as React.FC; _Select.defaultProps ??= {}; const selectDefaultProps = _Select.defaultProps; if (selectDefaultProps) { selectDefaultProps.suffixIcon = ; // selectDefaultProps.menuItemSelectedIcon = ; selectDefaultProps.filterOption = fnFilterLabel; } /* * Drawer */ const _Drawer = Drawer as React.FC; _Drawer.defaultProps ??= {}; const drawerDefaultProps = _Drawer.defaultProps; if (drawerDefaultProps) { drawerDefaultProps.closeIcon = ; } /* * Input */ const _InputNumber = InputNumber as React.FC; _InputNumber.defaultProps ??= {}; const inputNumberDefaultProps = _InputNumber.defaultProps; if (inputNumberDefaultProps) { inputNumberDefaultProps.upHandler = ; inputNumberDefaultProps.downHandler = ; } if (Input.defaultProps) { Input.defaultProps["onMouseUp"] = (e) => { e.preventDefault(); e.stopPropagation(); }; } const _InputPassword = Input.Password as React.FC; _InputPassword.defaultProps ??= {}; const inputPasswordDefaultProps = _InputPassword.defaultProps; if (inputPasswordDefaultProps) { inputPasswordDefaultProps.autoComplete = "off"; } const _Divider = Divider as React.FC; _Divider.defaultProps ??= {}; const dividerDefaultProps = _Divider.defaultProps; if (dividerDefaultProps) { dividerDefaultProps.style = { margin: "24px 0" }; }