foxit-component 1.0.4-alpha.4 → 1.0.4-alpha.6

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.
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ export interface ConfigProviderProps {
3
+ dir?: 'ltr' | 'rtl';
4
+ children?: React.ReactNode;
5
+ }
6
+ interface ConfigContextType {
7
+ dir: 'ltr' | 'rtl';
8
+ }
9
+ export declare const useConfig: () => ConfigContextType;
10
+ declare const ConfigProvider: React.FC<ConfigProviderProps>;
11
+ export { ConfigProvider };
@@ -0,0 +1,19 @@
1
+ import { __assign } from '../node_modules/tslib/tslib.es6.js';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { createContext, useContext } from 'react';
4
+
5
+ var ConfigContext = createContext({
6
+ dir: 'ltr'
7
+ });
8
+ var useConfig = function () {
9
+ return useContext(ConfigContext);
10
+ };
11
+ var ConfigProvider = function (_a) {
12
+ var _b = _a.dir, dir = _b === void 0 ? 'ltr' : _b, children = _a.children;
13
+ var value = {
14
+ dir: dir
15
+ };
16
+ return (jsx(ConfigContext.Provider, __assign({ value: value }, { children: jsx("div", __assign({ dir: dir }, { children: children })) })));
17
+ };
18
+
19
+ export { ConfigProvider, useConfig };
package/es/Menu/Menu.js CHANGED
@@ -2,6 +2,7 @@ import { __assign, __spreadArray } from '../node_modules/tslib/tslib.es6.js';
2
2
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
3
3
  import { useState, useRef, useEffect } from 'react';
4
4
  import { Icon } from '../Icon/index.js';
5
+ import { getDirection } from '../utils.js';
5
6
 
6
7
  var getItem = function (label, key, icon, children, type) {
7
8
  return {
@@ -19,7 +20,7 @@ var Menu = function (_a) {
19
20
  var _f = useState(defaultSelectedKeys), uncontrolledSelectedKeys = _f[0], setUncontrolledSelectedKeys = _f[1];
20
21
  var selectedKeys = controlledSelectedKeys !== undefined ? controlledSelectedKeys : uncontrolledSelectedKeys;
21
22
  var _g = useState(null), hoveredKey = _g[0], setHoveredKey = _g[1];
22
- var _h = useState({ top: 0, left: 0 }), popupPosition = _h[0], setPopupPosition = _h[1];
23
+ var _h = useState({ top: 0, left: 0, right: 0 }), popupPosition = _h[0], setPopupPosition = _h[1];
23
24
  var menuItemRefs = useRef({});
24
25
  var popupRef = useRef(null);
25
26
  var handleMenuClick = function (e) {
@@ -34,7 +35,7 @@ var Menu = function (_a) {
34
35
  // 标准展开模式的菜单项渲染
35
36
  var renderMenuItem = function (item) {
36
37
  var isSelected = selectedKeys.includes(item.key.toString());
37
- return (jsx("div", __assign({ className: "foxit-menu-item ".concat(isSelected ? 'selected' : '') }, { children: jsxs("div", __assign({ className: "foxit-menu-item-content", onClick: function () { return handleMenuClick({ key: item.key.toString() }); } }, { children: [item.icon && jsx("span", __assign({ style: { marginRight: '8px' } }, { children: item.icon })), jsx("span", __assign({ className: isFirstLevel(item) ? 'foxit-menu-item-label' : '' }, { children: item.label }))] })) }), item.key));
38
+ return (jsx("div", __assign({ className: "foxit-menu-item ".concat(isSelected ? 'selected' : '') }, { children: jsxs("div", __assign({ className: "foxit-menu-item-content", onClick: function () { return handleMenuClick({ key: item.key.toString() }); } }, { children: [item.icon && jsx("span", __assign({ className: "foxit-menu-item-icon-mr8" }, { children: item.icon })), jsx("span", __assign({ className: isFirstLevel(item) ? 'foxit-menu-item-label' : '' }, { children: item.label }))] })) }), item.key));
38
39
  };
39
40
  // 标准展开模式的子菜单渲染
40
41
  var renderSubMenu = function (item) {
@@ -46,7 +47,7 @@ var Menu = function (_a) {
46
47
  else {
47
48
  setOpenKeys(__spreadArray(__spreadArray([], openKeys, true), [item.key.toString()], false));
48
49
  }
49
- } }, { children: [jsxs("div", __assign({ style: { display: 'flex', alignItems: 'center' } }, { children: [item.icon && jsx("span", __assign({ style: { marginRight: '8px' } }, { children: item.icon })), jsx("span", __assign({ className: isFirstLevel(item) ? 'foxit-menu-item-label' : '' }, { children: item.label }))] })), jsx("span", { children: jsx(Icon, { name: "DownOutlined", className: "foxit-menu-icon ".concat(isOpen ? '' : 'foxit-menu-rotated-icon') }) })] })), isOpen && item.children && (jsx("div", __assign({ className: "foxit-menu-submenu-items" }, { children: item.children.map(function (child) {
50
+ } }, { children: [jsxs("div", __assign({ style: { display: 'flex', alignItems: 'center' } }, { children: [item.icon && jsx("span", __assign({ className: "foxit-menu-item-icon-mr8" }, { children: item.icon })), jsx("span", __assign({ className: isFirstLevel(item) ? 'foxit-menu-item-label' : '' }, { children: item.label }))] })), jsx("span", { children: jsx(Icon, { name: "DownOutlined", className: "foxit-menu-icon ".concat(isOpen ? '' : 'foxit-menu-rotated-icon') }) })] })), isOpen && item.children && (jsx("div", __assign({ className: "foxit-menu-submenu-items" }, { children: item.children.map(function (child) {
50
51
  return child.children ? renderSubMenu(child) : renderMenuItem(child);
51
52
  }) })))] }, item.key));
52
53
  };
@@ -66,10 +67,21 @@ var Menu = function (_a) {
66
67
  var itemRef = menuItemRefs.current[key];
67
68
  if (itemRef) {
68
69
  var rect = itemRef.getBoundingClientRect();
69
- setPopupPosition({
70
- top: rect.top,
71
- left: rect.right + 5
72
- });
70
+ var dir = getDirection(itemRef);
71
+ if (dir === 'rtl' && window !== undefined) {
72
+ setPopupPosition({
73
+ top: rect.top,
74
+ left: 0,
75
+ right: (window === null || window === void 0 ? void 0 : window.innerWidth) - rect.left
76
+ });
77
+ }
78
+ else {
79
+ setPopupPosition({
80
+ top: rect.top,
81
+ left: rect.right + 5,
82
+ right: 0
83
+ });
84
+ }
73
85
  }
74
86
  };
75
87
  // 处理鼠标离开事件
@@ -96,12 +108,24 @@ var Menu = function (_a) {
96
108
  var item = findItemByKey(items, hoveredKey);
97
109
  if (!(item === null || item === void 0 ? void 0 : item.children))
98
110
  return null;
99
- return (jsx("div", __assign({ ref: popupRef, className: "foxit-menu-popup", style: {
100
- position: 'fixed',
101
- top: "".concat(popupPosition.top, "px"),
102
- left: "".concat(popupPosition.left, "px"),
103
- zIndex: 1000
104
- }, onMouseEnter: function () { return setHoveredKey(hoveredKey); }, onMouseLeave: function () { return setHoveredKey(null); } }, { children: jsxs("div", __assign({ className: "foxit-menu foxit-menu-popup-content" }, { children: [jsxs("div", __assign({ className: "foxit-menu-popup-title" }, { children: [jsx("span", __assign({ className: "foxit-menu-item-icon" }, { children: item.icon })), jsx("span", { children: item.label })] })), item.children.map(function (child) {
111
+ // 根据方向设置样式
112
+ var dir = getDirection();
113
+ var popupStyle = {
114
+ position: 'fixed',
115
+ top: "".concat(popupPosition.top, "px"),
116
+ zIndex: 1000
117
+ };
118
+ if (dir === 'rtl') {
119
+ // RTL在左侧显示
120
+ popupStyle.right = "".concat(popupPosition.right, "px");
121
+ popupStyle.left = 'auto';
122
+ }
123
+ else {
124
+ // LTR在右侧显示
125
+ popupStyle.left = "".concat(popupPosition.left, "px");
126
+ popupStyle.right = 'auto';
127
+ }
128
+ return (jsx("div", __assign({ ref: popupRef, className: "foxit-menu-popup", style: popupStyle, onMouseEnter: function () { return setHoveredKey(hoveredKey); }, onMouseLeave: function () { return setHoveredKey(null); } }, { children: jsxs("div", __assign({ className: "foxit-menu foxit-menu-popup-content" }, { children: [jsxs("div", __assign({ className: "foxit-menu-popup-title" }, { children: [jsx("span", __assign({ className: "foxit-menu-item-icon" }, { children: item.icon })), jsx("span", { children: item.label })] })), item.children.map(function (child) {
105
129
  return child.children ? renderPopupSubMenu(child) : renderPopupMenuItem(child);
106
130
  })] })) })));
107
131
  };
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import './select.css';
2
3
  export interface SelectProps {
3
4
  options: {
4
5
  value: string | number;
@@ -30,10 +30,7 @@ var Select = function (_a) {
30
30
  singleValue: function (styles) { return (__assign(__assign({}, styles), ((passStyles === null || passStyles === void 0 ? void 0 : passStyles.singleValue) || {}))); },
31
31
  input: function (styles) { return (__assign(__assign({}, styles), ((passStyles === null || passStyles === void 0 ? void 0 : passStyles.input) || {}))); }
32
32
  };
33
- var CustomControl = function (props) { return (jsxs(components.Control, __assign({}, props, { children: [preIcon && (jsx("div", __assign({ style: {
34
- display: 'flex',
35
- paddingLeft: 8,
36
- marginRight: -4,
33
+ var CustomControl = function (props) { return (jsxs(components.Control, __assign({}, props, { children: [preIcon && (jsx("div", __assign({ className: "foxit-select-custom-control", style: {
37
34
  color: props.hasValue ? '#525252' : '#B3B3B3'
38
35
  } }, { children: preIcon }))), props.children] }))); };
39
36
  var CustomOptionComp = function (props) { return (jsxs(components.Option, __assign({}, props, { children: [props.children, props.isSelected && jsx(Icon, { name: "CheckCircleOutlined" })] }))); };
package/es/Table/Table.js CHANGED
@@ -2,6 +2,7 @@ import { __assign } from '../node_modules/tslib/tslib.es6.js';
2
2
  import { jsx, jsxs } from 'react/jsx-runtime';
3
3
  import Empty from '../Empty/Empty.js';
4
4
  import { Icon } from '../Icon/index.js';
5
+ import { getDirection } from '../utils.js';
5
6
 
6
7
  var Table = function (_a) {
7
8
  var columns = _a.columns, data = _a.data, loading = _a.loading, emptyText = _a.emptyText, _b = _a.mobile, mobile = _b === void 0 ? false : _b;
@@ -15,10 +16,13 @@ var Table = function (_a) {
15
16
  ? JSON.stringify(record[column.dataIndex])
16
17
  : String(record[column.dataIndex]) }))] }), colIndex)); }) }), rowIndex)); })] })));
17
18
  }
19
+ var handleColumnAlign = function (align) {
20
+ return getDirection() === 'rtl' ? (align === 'left' ? 'right' : align === 'right' ? 'left' : align) : align;
21
+ };
18
22
  return (jsxs("div", __assign({ className: "foxit-table" }, { children: [loading ? (jsx("div", __assign({ className: "foxit-table-loading" }, { children: jsx(Icon, { name: "LoadingOutlined", className: "foxit-table-icon-loading" }) }))) : null, jsxs("table", __assign({ className: "foxit-table-container" }, { children: [jsx("thead", { children: jsx("tr", { children: columns.map(function (column, index) { return (jsx("th", __assign({ style: {
19
23
  width: column.width ? "".concat(column.width, "px") : 'auto',
20
- textAlign: column.align || 'left'
21
- } }, { children: column.title }), index)); }) }) }), jsx("tbody", { children: data.map(function (record, rowIndex) { return (jsx("tr", __assign({ className: rowIndex % 2 === 0 ? 'foxit-even-row' : 'foxit-odd-row' }, { children: columns.map(function (column, colIndex) { return (jsx("td", __assign({ style: { textAlign: column.align || 'left' } }, { children: column.render
24
+ textAlign: handleColumnAlign(column.align || 'left')
25
+ } }, { children: column.title }), index)); }) }) }), jsx("tbody", { children: data.map(function (record, rowIndex) { return (jsx("tr", __assign({ className: rowIndex % 2 === 0 ? 'foxit-even-row' : 'foxit-odd-row' }, { children: columns.map(function (column, colIndex) { return (jsx("td", __assign({ style: { textAlign: handleColumnAlign(column.align || 'left') } }, { children: column.render
22
26
  ? column.render(record[column.dataIndex], record)
23
27
  : typeof record[column.dataIndex] === 'object'
24
28
  ? JSON.stringify(record[column.dataIndex]) // 将对象转换为字符串
@@ -3,14 +3,21 @@ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
3
3
  import { useRef, useState, useEffect } from 'react';
4
4
  import ReactDOM from 'react-dom';
5
5
  import classNames from 'classnames';
6
+ import { getDirection } from '../utils.js';
6
7
 
7
8
  var Tooltip = function (_a) {
8
9
  var title = _a.title, children = _a.children, _b = _a.whiteGround, whiteGround = _b === void 0 ? false : _b, className = _a.className;
9
10
  var childRef = useRef(null);
10
11
  var tooltipRef = useRef(null);
11
- var _c = useState({ visibility: 'hidden', position: 'absolute', top: '0', left: '0' }), tooltipStyle = _c[0], setTooltipStyle = _c[1];
12
+ var _c = useState({
13
+ visibility: 'hidden',
14
+ position: 'absolute',
15
+ top: '0',
16
+ left: '0'
17
+ }), tooltipStyle = _c[0], setTooltipStyle = _c[1];
12
18
  var isVisibleRef = useRef(false);
13
19
  var _d = useState('50%'), arrowLeft = _d[0], setArrowLeft = _d[1];
20
+ var _e = useState(false), mounted = _e[0], setMounted = _e[1];
14
21
  var calculateTooltipPosition = function () {
15
22
  if (childRef.current && tooltipRef.current && isVisibleRef.current) {
16
23
  var childRect = childRef.current.getBoundingClientRect();
@@ -53,16 +60,18 @@ var Tooltip = function (_a) {
53
60
  window.removeEventListener('resize', calculateTooltipPosition); // 移除窗口大小变化监听
54
61
  };
55
62
  useEffect(function () {
63
+ setMounted(true);
56
64
  return function () {
57
65
  // 清理事件监听器,防止内存泄漏
58
66
  window.removeEventListener('scroll', calculateTooltipPosition);
59
67
  window.removeEventListener('resize', calculateTooltipPosition);
60
68
  };
61
69
  }, []);
62
- return (jsxs(Fragment, { children: [jsx("div", __assign({ className: "foxit-tooltip-container", onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, ref: childRef }, { children: children })), ReactDOM.createPortal(jsxs("div", __assign({ onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, className: classNames("foxit-tooltip-content", {
63
- 'foxit-tooltip-white': whiteGround
64
- }, className), style: tooltipStyle, ref: tooltipRef }, { children: [title, jsx("div", { className: "foxit-tooltip-arrow", style: { left: arrowLeft } })] })), document.body // 直接挂载到 body,避免层叠上下文限制
65
- )] }));
70
+ return (jsxs(Fragment, { children: [jsx("div", __assign({ className: "foxit-tooltip-container", onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, ref: childRef }, { children: children })), mounted &&
71
+ ReactDOM.createPortal(jsxs("div", __assign({ onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, className: classNames('foxit-tooltip-content', {
72
+ 'foxit-tooltip-white': whiteGround
73
+ }, className), style: tooltipStyle, ref: tooltipRef }, { children: [title, jsx("div", { className: "foxit-tooltip-arrow", style: { left: getDirection() === 'rtl' ? "calc(".concat(arrowLeft, " - 10px)") : arrowLeft } })] })), document.body // 直接挂载到 body,避免层叠上下文限制
74
+ )] }));
66
75
  };
67
76
 
68
77
  export { Tooltip as default };
package/es/index.css CHANGED
@@ -1 +1 @@
1
- .foxit-checkbox-container{cursor:pointer;display:inline-block;padding-left:25px;position:relative;-webkit-user-select:none;user-select:none}.foxit-checkbox-container input{cursor:pointer;opacity:0;position:absolute}.foxit-checkbox-checkmark{background-color:#fff;border:1px solid #b3b3b3;border-radius:4px;height:20px;left:0;position:absolute;top:0;width:20px}.foxit-checkbox-content{line-height:20px}.foxit-checkbox-container input:checked~.foxit-checkbox-checkmark{background-color:#ff5f00;border:none}.foxit-checkbox-checkmark:after{content:"";display:none;position:absolute}.foxit-checkbox-container input:checked~.foxit-checkbox-checkmark:after{display:block}.foxit-checkbox-container .foxit-checkbox-checkmark:after{border:solid #fff;border-width:0 2px 2px 0;height:10px;left:7px;top:4px;transform:rotate(45deg);width:6px}.foxit-checkbox-container.disabled{color:#00000040;cursor:not-allowed;opacity:.6}.foxit-checkbox-checkmark.disabled{background-color:#f5f5f5;border:1px solid #d9d9d9}.foxit-empty{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:20px;text-align:center}.foxit-empty-image{margin-bottom:16px}.foxit-empty-description{color:#757575;font-size:14px}.foxit-form-item{margin-bottom:24px}.foxit-form-item label{color:#525252;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.foxit-form-item-embedlabel{background-color:#fff;display:inline-block!important;margin-left:4px;padding:0 4px;position:relative;top:18px;z-index:1}.foxit-form-required{color:#e22727}.foxit-form-error-text,.foxit-form-warning-text{font-size:12px;line-height:24px;min-height:24px}.foxit-form-error-text{color:#e22727}.foxit-form-warning-text{color:orange}.foxit-form-item>.foxit-form-error-component .foxit-checkbox-container,.foxit-form-item>.foxit-form-error-component .foxit-input-wrapper,.foxit-form-item>.foxit-form-error-component .foxit-radio-container,.foxit-form-item>.foxit-form-error-component .foxit-select-wrapper>:nth-child(3){border:1px solid #e22727!important}.foxit-form-item>.foxit-form-warning-component .foxit-checkbox-container,.foxit-form-item>.foxit-form-warning-component .foxit-input-wrapper,.foxit-form-item>.foxit-form-warning-component .foxit-radio-container,.foxit-form-item>.foxit-form-warning-component .foxit-select-wrapper>:nth-child(3){border-color:orange!important}.foxit-input-wrapper{align-items:center;border:1px solid #d9d9d9;border-radius:10px;display:flex;font-size:14px;font-weight:400;padding:11px 16px;transition:border-color .3s}.foxit-input-wrapper:focus-within{border-color:#ff5f00!important}.foxit-input-wrapper:hover{border-color:#757575}.foxit-input-element{border:none;color:#525252;flex:1;line-height:24px;outline:none!important}.foxit-input-element::placeholder{color:#b3b3b3}.foxit-input-addon{align-items:center;color:#b3b3b3;cursor:pointer;display:flex;padding:0 0 0 8px;transition:color .3s}.foxit-input-addon-before{padding:0 8px 0 0}.foxit-input-wrapper:focus-within .foxit-input-addon{color:#ff5f00!important}.foxit-input-wrapper:hover .foxit-input-addon{color:#757575}.foxit-input-wrapper :disabled,.foxit-input-wrapper-disabled{background-color:#f8f8f8}.foxit-input-wrapper-disabled:hover{border-color:#d9d9d9}.foxit-input-wrapper-disabled .foxit-input-element{color:#b3b3b3}.foxit-input-wrapper-textarea{padding-right:0}.foxit-textarea-element{resize:none;scrollbar-color:#d9d9d9 #fff;scrollbar-gutter:stable;scrollbar-width:auto}.foxit-textarea-element::-webkit-scrollbar{width:16px}.foxit-textarea-element::-webkit-scrollbar-track{background:#fff}.foxit-textarea-element::-webkit-scrollbar-thumb{background-color:#d9d9d9;border:4px solid #fff;border-radius:8px}.foxit-pagination-container{align-items:center;display:flex;justify-content:center}.foxit-pagination-button,.foxit-pagination-next,.foxit-pagination-prev{background-color:initial;border:none;border-radius:10px;color:#757575;cursor:pointer;font-size:16px;font-weight:500;height:48px;margin:0 4px;min-width:48px;padding:0 12px;transition:background-color .3s ease,color .3s ease}.foxit-pagination-next:hover,.foxit-pagination-prev:hover{color:#ff5f00}.foxit-pagination-button:hover{background-color:#ff5f001a}.foxit-pagination-button:disabled{background-color:#ff5f00;color:#fff;cursor:default}.foxit-pagination-mobile-container{display:flex;justify-content:center;margin:16px 0}.foxit-pagination-mobile-next,.foxit-pagination-mobile-prev{height:36px;margin:0 8px;min-width:40px}.foxit-pagination-mobile-info{font-size:16px;min-width:48px}.foxit-button,.foxit-pagination-mobile-info{align-items:center;display:flex;justify-content:center}.foxit-button{border:0;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.42px}.foxit-button-circle{aspect-ratio:1;border-radius:50%!important;padding:0!important;width:auto}.foxit-button:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.foxit-button:hover{opacity:.8}.foxit-button-primary{background-color:#ff5f00;color:#fff}.foxit-button-secondary{background-color:#fff;border:1px solid #ff5f00;color:#ff5f00}.foxit-button-small{border-radius:5px;min-height:38px;padding:8px 24px}.foxit-button-small svg{height:16px;width:16px}.foxit-button-small.foxit-button-circle{height:38px;width:38px}.foxit-button-medium{border-radius:5px;min-height:44px;padding:11px 32px}.foxit-button-medium svg{height:20px;width:20px}.foxit-button-medium.foxit-button-circle{height:44px;width:44px}.foxit-button-large{min-height:56px;padding:16px 32px}.foxit-button-large.foxit-button-circle{height:56px;width:56px}.foxit-button-prevent-click{pointer-events:none}.foxit-button-loading{animation:spin 1s linear infinite;margin-right:8px}.foxit-button-primary .foxit-button-loading{color:#fff}.foxit-button-secondary .foxit-button-loading{color:#ff5f00}.foxit-radio-container{cursor:pointer;display:inline-block;padding-left:25px;position:relative;-webkit-user-select:none;user-select:none}.foxit-radio-container input{cursor:pointer;opacity:0;position:absolute}.foxit-radio-checkmark{background-color:#fff;border:1px solid #b3b3b3;border-radius:50%;height:20px;left:0;position:absolute;top:0;width:20px}.foxit-radio-content{line-height:20px}.foxit-radio-container input:checked~.foxit-radio-checkmark{background-color:#fff;border:1px solid #ff5f00}.foxit-radio-checkmark:after{content:"";display:none;position:absolute}.foxit-radio-container input:checked~.foxit-radio-checkmark:after{display:block}.foxit-radio-container .foxit-radio-checkmark:after{background:#ff5f00;border-radius:50%;height:10px;left:4px;top:4px;width:10px}.foxit-radio-container.disabled{cursor:not-allowed;opacity:.6}.foxit-table{border:1px solid #ff5f00;border-radius:10px;color:#373737;min-height:200px;overflow:hidden;position:relative}.foxit-table-loading{align-items:center;background-color:#ffffffb3;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;z-index:5}.foxit-table-icon-loading{animation:spin 1s linear infinite;color:#ff5f00}.foxit-table-container{border-collapse:collapse;min-width:100%;table-layout:fixed;width:auto}.foxit-table-container td,.foxit-table-container th{word-wrap:break-word;height:70px;min-height:70px;padding:24px;white-space:pre-wrap}.foxit-table-container th{background-color:#fff6f0;font-size:16px;font-weight:700}.foxit-table-container td{font-size:14px;font-weight:400}.foxit-table-container .foxit-even-row{background-color:#fff}.foxit-table-container .foxit-odd-row{background-color:#fff6f0}.foxit-table-mobile-list{display:flex;flex-direction:column;gap:16px}.foxit-table-mobile-card{background:#f8f8f8;border-radius:10px;display:flex;flex-direction:column;gap:12px;padding:32px}.foxit-table-mobile-row{align-items:flex-start;display:flex;flex-direction:row;justify-content:space-between}.foxit-table-mobile-row:not(:last-child){border-bottom:1px solid #efefef;padding-bottom:12px}.foxit-table-mobile-label{font-size:16px;font-weight:700;margin-right:16px;max-width:50%}.foxit-table-mobile-label,.foxit-table-mobile-value{word-wrap:break-word;color:#373737;white-space:pre-wrap}.foxit-table-mobile-value{flex:1 1 0;font-size:14px;font-weight:400;text-align:right}.foxit-table-mobile-loading{align-items:center;background:#0000;display:flex;justify-content:center;padding:24px 0;width:100%}.foxit-tabs{display:flex;flex-wrap:wrap;gap:8px}.foxit-tab-item{background-color:#f1f3f4;border:none;border-radius:10px;color:#757575;cursor:pointer;font-size:14px;font-weight:600;padding:14px 20px;transition:background-color .3s,color .3s}.foxit-tab-item.active{background-color:#ff5f00;color:#fff}.foxit-tab-item:hover:not(.active){background-color:#e0e0e0}.foxit-tab-content{margin-top:16px}.foxit-linktabs{width:100%}.foxit-linktabs-inner{margin-left:auto;margin-right:auto;position:relative}.foxit-linktabs-scroll{background:#fff;border:none;padding:8px;position:absolute;top:6px;z-index:10}.foxit-linktabs-scroll:hover{color:#ff5f00;cursor:pointer}.foxit-linktabs-scroll-left{left:-24px}.foxit-linktabs-scroll-right{right:-24px}.foxit-linktabs-list{-ms-overflow-style:none;border-bottom:1px solid #f1f3f4;display:flex;overflow-x:auto;scrollbar-width:none;text-align:center;white-space:nowrap;width:100%}.foxit-linktabs-list::-webkit-scrollbar{display:none}.foxit-linktab-btn{background:none;border:none;color:#b3b3b3;cursor:pointer;display:inline-block;font-size:14px;font-weight:600;outline:none;padding:12px;transition:border-color .2s,color .2s}.foxit-linktab-btn.active{border-bottom:2px solid #ff5f00;color:#ff5f00}.foxit-tag{border-radius:5px;display:inline-block;font-size:12px;font-weight:600;min-height:24px;padding:4px 8px}.foxit-tag-active{background-color:#edfafa;color:#0f8b8d}.foxit-tag-canceled{background-color:#ffecec;color:#e22727}.foxit-tag-pending{background-color:#fbf4d0;color:#9b8827}.foxit-tag-offline{background-color:#edecff;color:#6462c6}.foxit-tag-trial{background-color:#e4f4fe;color:#2288ce}.foxit-tag-expired{background-color:#ececec;color:#757575}.foxit-tag-completed{background-color:#edfafa;color:#0f8b8d}.foxit-toast-container{left:50%;pointer-events:none;position:fixed;top:0;transform:translateX(-50%);transition-delay:0s;transition-duration:.5s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%;z-index:2000}.foxit-toast-loading{animation:spin 1s linear infinite;color:#ff5f00}.foxit-toast-loading-overlay{background-color:#000;height:100vh;inset:0;opacity:.15;pointer-events:auto;position:fixed;z-index:10}.foxit-toast-item{align-items:center;background-color:#fff;border:none;border-radius:50px;color:#525252;display:flex;flex-direction:row;gap:8px;justify-content:center;margin-bottom:16px;margin-left:auto;margin-right:auto;padding:9px 12px;position:relative;top:102px;transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:fit-content;z-index:20}.foxit-toast-item-success{background-color:#ddfae8;color:#1f7f40}.foxit-toast-item-error{background-color:#fae5dd;color:#e22727}.foxit-toast-item-warning{background-color:#fff0e7;color:#525252}.foxit-toast-enter{opacity:0;transform:translateY(-100%)}.foxit-toast-enter-active{transition:all .5s ease-out}.foxit-toast-enter-active,.foxit-toast-exit{opacity:1;transform:translateY(0)}.foxit-toast-exit-active{opacity:0;transform:translateY(-100%);transition:all .5s ease-in}.foxit-tooltip-container{display:inline-block;position:relative;width:auto}.foxit-tooltip-content{background-color:#525252;border-radius:10px;color:#fff;max-width:100%;min-width:100px;padding:12px 16px;position:absolute;width:300px;z-index:1}.foxit-tooltip-white{background-color:#fff;border:1px solid #e0e0e0;box-shadow:0 2px 4px #0000001a;color:#525252}.foxit-tooltip-arrow{border-left:5px solid #0000;border-right:5px solid #0000;border-top:5px solid #525252;bottom:-5px;height:0;position:absolute;transform:translateX(-50%);width:0}.foxit-tooltip-white .foxit-tooltip-arrow{border-top-color:#e0e0e0}.foxit-tooltip-white .foxit-tooltip-arrow:after{border-left:5px solid #0000;border-right:5px solid #0000;border-top:5px solid #fff;content:"";left:-5px;position:absolute;top:-6px}.foxit-menu{border-radius:10px;font-size:14px;overflow:hidden}.foxit-menu-item-content{align-items:center;cursor:pointer;display:flex;padding:12px 16px}.foxit-menu-item{padding-left:0}.foxit-menu-item.selected{background-color:#fff6f0!important;border-radius:10px;color:#ff5f00;font-weight:600}.foxit-menu-item:hover{background-color:#f5f6f8;border-radius:10px}.foxit-menu-submenu-title{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px}.foxit-menu-submenu-title:hover{background-color:#f5f6f8;border-radius:10px}.foxit-menu-icon{transition:transform .3s ease-in-out}.foxit-menu-rotated-icon{transform:rotate(180deg)}.foxit-menu-item-label{font-weight:600}.foxit-menu-collapsed{transition:width .2s;width:50px!important}.foxit-menu-item-icon{align-items:center;display:inline-flex;margin-right:8px}.foxit-menu-item-icon-collapsed{font-size:16px;margin-right:0}.foxit-menu-collapsed .foxit-menu-item-content,.foxit-menu-collapsed .foxit-menu-submenu-title{align-items:center;display:flex;justify-content:center;padding:12px}.foxit-menu-collapsed-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.foxit-menu-popup{background-color:#fff;border-radius:10px;box-shadow:0 3px 6px #0000001f,0 1px 3px #00000014;min-width:200px;padding:5px 0}.foxit-menu-popup-content{width:100%}.foxit-menu-popup-title{align-items:center;border-bottom:1px solid #f0f0f0;color:#333;display:flex;font-weight:600;padding:8px 16px}.foxit-modal-content-container{background-color:#fff;border-radius:10px;display:flex;flex-direction:column;gap:24px;justify-content:space-between;max-height:70vh;min-width:320px}@media (max-width:600px){.foxit-modal-content-container{box-sizing:border-box;overflow-y:auto}}.foxit-modal-success{background:linear-gradient(135deg,#fffaf7,#f9ede3,#fffaf7,#f9ede3)}.foxit-modal-head{align-items:center;column-gap:8px;display:flex;justify-content:space-between;padding:36px 36px 0}.foxit-modal-children{box-sizing:border-box;max-height:60vh;overflow-y:auto;padding:0 36px}@media (max-width:600px){.foxit-modal-children{height:auto;max-height:100%;overflow-y:initial}}.foxit-modal-title{font-size:20px;font-weight:700}.foxit-modal-success-icon{display:flex;height:94px;margin-top:-50px;width:115px}.foxit-modal-close-button{align-items:center;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.foxit-modal-close-button svg{stroke:#6b7280}.foxit-modal-close-button:hover svg{stroke:#ea580c}.foxit-modal-footer{display:flex;flex-wrap:wrap;gap:16px;justify-content:flex-end;padding:0 36px 36px}@media (max-width:600px){.foxit-modal-footer{align-items:stretch;flex-direction:column;width:100%}}.foxit-modal-fixed-layout{align-items:center;display:flex;flex-direction:column;inset:0;padding:36px;position:fixed;z-index:99}.foxit-modal-justify-center{justify-content:center}.foxit-modal-justify-top{justify-content:flex-start;padding-top:96px}.foxit-modal-justify-bottom{justify-content:flex-end}.foxit-modal-overlay{cursor:pointer;height:100%;inset:0;position:fixed;width:100%;z-index:99}.foxit-modal-overlay-bg{background-color:#00000026;height:100%;inset:0;position:absolute;width:100%}.foxit-modal-content{align-items:center;display:flex;font-size:16px;font-weight:400;justify-content:center;max-height:100%;width:auto;z-index:99}.foxit-modal-opacity-0{opacity:0}.foxit-modal-opacity-100{opacity:1}.foxit-modal-scale-0{transform:scale(0)}.foxit-modal-scale-100{transform:scale(1)}.foxit-modal-transition{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.foxit-modal-hide-overflow{overflow-y:hidden}.foxit-switch{background-color:#ccc;border-radius:100px;cursor:pointer;display:inline-block;height:22px;line-height:22px;min-width:40px;position:relative;transition:background-color .3s;width:40px}.foxit-switch.small{height:14px;line-height:14px;min-width:24px;width:24px}.foxit-switch.checked{background-color:#ff5f00}.foxit-switch-handle{background-color:#fff;border-radius:50%;height:18px;position:absolute;top:2px;transform:translateX(1px);transition:transform .3s;width:18px}.foxit-switch.small .foxit-switch-handle{height:12px;top:1px;width:12px}.foxit-switch.checked .foxit-switch-handle{transform:translateX(20px)}.foxit-switch.small.checked .foxit-switch-handle{transform:translateX(11px)}.foxit-spin{display:inline-block;pointer-events:none;position:relative;width:100%}.foxit-spin .foxit-spin-container{opacity:.5}.foxit-spin-spinning{animation:spin 1s linear infinite;color:#ff5f00;margin-right:8px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.foxit-spin-icon{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.foxit-spin-small .foxit-spin-icon{font-size:16px}.foxit-spin-default .foxit-spin-icon{font-size:24px}.foxit-spin-large .foxit-spin-icon{font-size:32px}.foxit-alert{align-items:flex-start;border-radius:5px;display:flex;padding:12px}.foxit-alert-icon-container{height:20px;margin-right:8px;width:20px}.foxit-alert-icon{height:20px;width:20px}.foxit-alert-message{font-size:12px}.foxit-alert-success,.foxit-alert-warning{background-color:#f5fff2;border:1px solid #30dc6b}.foxit-alert-error{background-color:#fae5dd;border:1px solid #e22727}.foxit-alert-gradient{background:linear-gradient(135deg,#fffaf7,#f9ede3,#fffaf7,#f9ede3);border:1px solid #ff5f00;display:block}.foxit-quantity,.foxit-quantity-button{align-items:center;display:flex}.foxit-quantity-button{background-color:#ff5f00;border:none;border-radius:4px;color:#fff;cursor:pointer;height:16px;justify-content:center;margin-left:8px;margin-right:8px;width:16px}.foxit-quantity-button:disabled{background-color:#ffc2a0;cursor:not-allowed}.foxit-quantity-button>div{font-size:16px;margin-top:-3px}.foxit-quantity-number{border:1px solid #b3b3b3;border-radius:4px;color:#525252;flex:1;font-size:14px;height:24px;line-height:24px;outline:none!important;text-align:center;width:48px}.foxit-drawer-mask{background-color:#00000026;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .3s;z-index:99}.foxit-drawer-mask-open{opacity:1;pointer-events:auto}.foxit-drawer{background:#fff;box-shadow:-2px 0 8px #00000026;height:100vh;overflow:auto;position:fixed;right:0;top:0;transition:right .3s;z-index:100}.foxit-drawer-content{padding:24px}.foxit-steps{display:flex}.foxit-steps-horizontal{align-items:flex-start;flex-direction:row}.foxit-steps-vertical{flex-direction:column}.foxit-steps-item{display:flex;flex:1;position:relative}.foxit-steps-horizontal .foxit-steps-item{align-items:center;flex-direction:column;text-align:center}.foxit-steps-vertical .foxit-steps-item{align-items:flex-start;flex-direction:row;margin-bottom:16px}.foxit-steps-item-container{display:flex;position:relative;z-index:1}.foxit-steps-horizontal .foxit-steps-item-container{align-items:center;flex-direction:column}.foxit-steps-vertical .foxit-steps-item-container{align-items:flex-start;flex-direction:row}.foxit-steps-item-clickable .foxit-steps-item-container{cursor:pointer}.foxit-steps-item-clickable:hover .foxit-steps-item-title{color:FF5F00}.foxit-steps-item-icon{align-items:center;display:flex;justify-content:center;margin-bottom:8px;position:relative}.foxit-steps-vertical .foxit-steps-item-icon{margin-bottom:0;margin-right:16px;margin-top:4px}.foxit-steps-icon{align-items:center;border-radius:50%;display:flex;font-size:12px;height:16px;justify-content:center;transition:all .3s ease;width:16px}.foxit-steps-icon-wait{background-color:#fff;border:1px solid #cecece}.foxit-steps-icon-process{background-color:#ff5f00;border:1px solid #ff5f00}.foxit-steps-icon-finish{background-color:#fff;border:1px solid #ff5f00;color:#ff5f00}.foxit-steps-item-content{display:flex;flex-direction:column;min-width:0}.foxit-steps-horizontal .foxit-steps-item-content{align-items:center;text-align:center}.foxit-steps-vertical .foxit-steps-item-content{align-items:flex-start;text-align:left}.foxit-steps-item-title{color:#757575;font-size:14px;line-height:1.5;margin-bottom:4px;transition:color .3s ease}.foxit-steps-item-process .foxit-steps-item-title{color:#ff5f00;font-weight:700}.foxit-steps-item-description{color:#00000073;font-size:12px;line-height:1.5;max-width:120px}.foxit-steps-item-tail{height:1px;left:50%;position:absolute;top:8px;width:calc(100% - 16px);z-index:0}.foxit-steps-horizontal .foxit-steps-item-tail{transform:translateX(8px)}.foxit-steps-vertical .foxit-steps-item-tail{height:100%;left:8px;position:absolute;top:20px;transform:none;width:1px}.foxit-steps-item-tail-line{background-color:#d9d9d9;height:100%;transition:background-color .3s ease;width:100%}.foxit-steps-item-finish .foxit-steps-item-tail-line{background-color:#ff6b35}.foxit-steps-item-process .foxit-steps-item-tail-line{background-color:#d9d9d9}
1
+ .foxit-checkbox-container{cursor:pointer;display:inline-block;position:relative;-webkit-user-select:none;user-select:none}[dir=ltr] .foxit-checkbox-container{padding-left:25px}[dir=rtl] .foxit-checkbox-container{padding-right:25px}.foxit-checkbox-container input{cursor:pointer;opacity:0;position:absolute}.foxit-checkbox-checkmark{background-color:#fff;border:1px solid #b3b3b3;border-radius:4px;height:20px;position:absolute;top:0;width:20px}[dir=ltr] .foxit-checkbox-checkmark{left:0}[dir=rtl] .foxit-checkbox-checkmark{right:0}.foxit-checkbox-content{line-height:20px}.foxit-checkbox-container input:checked~.foxit-checkbox-checkmark{background-color:#ff5f00;border:none}.foxit-checkbox-checkmark:after{content:"";display:none;position:absolute}.foxit-checkbox-container input:checked~.foxit-checkbox-checkmark:after{display:block}.foxit-checkbox-container .foxit-checkbox-checkmark:after{border:solid #fff;height:10px;top:4px;width:6px}[dir=ltr] .foxit-checkbox-container .foxit-checkbox-checkmark:after{border-width:0 2px 2px 0;left:7px;transform:rotate(45deg)}[dir=rtl] .foxit-checkbox-container .foxit-checkbox-checkmark:after{border-width:0 0 2px 2px;right:7px;transform:rotate(-45deg)}.foxit-checkbox-container.disabled{color:#00000040;cursor:not-allowed;opacity:.6}.foxit-checkbox-checkmark.disabled{background-color:#f5f5f5;border:1px solid #d9d9d9}.foxit-empty{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:20px;text-align:center}.foxit-empty-image{margin-bottom:16px}.foxit-empty-description{color:#757575;font-size:14px}.foxit-form-item{margin-bottom:24px}.foxit-form-item label{color:#525252;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.foxit-form-item-embedlabel{background-color:#fff;display:inline-block!important;padding:0 4px;position:relative;top:18px;z-index:1}[dir=ltr] .foxit-form-item-embedlabel{margin-left:4px}[dir=rtl] .foxit-form-item-embedlabel{margin-right:4px}.foxit-form-required{color:#e22727}.foxit-form-error-text,.foxit-form-warning-text{font-size:12px;line-height:24px;min-height:24px}.foxit-form-error-text{color:#e22727}.foxit-form-warning-text{color:orange}.foxit-form-item>.foxit-form-error-component .foxit-checkbox-container,.foxit-form-item>.foxit-form-error-component .foxit-input-wrapper,.foxit-form-item>.foxit-form-error-component .foxit-radio-container,.foxit-form-item>.foxit-form-error-component .foxit-select-wrapper>:nth-child(3){border:1px solid #e22727!important}.foxit-form-item>.foxit-form-warning-component .foxit-checkbox-container,.foxit-form-item>.foxit-form-warning-component .foxit-input-wrapper,.foxit-form-item>.foxit-form-warning-component .foxit-radio-container,.foxit-form-item>.foxit-form-warning-component .foxit-select-wrapper>:nth-child(3){border-color:orange!important}.foxit-input-wrapper{align-items:center;border:1px solid #d9d9d9;border-radius:10px;display:flex;font-size:14px;font-weight:400;padding:11px 16px;transition:border-color .3s}.foxit-input-wrapper:focus-within{border-color:#ff5f00!important}.foxit-input-wrapper:hover{border-color:#757575}.foxit-input-element{border:none;color:#525252;flex:1;line-height:24px;outline:none!important}[dir=ltr] .foxit-input-element{text-align:left}[dir=rtl] .foxit-input-element{text-align:right}.foxit-input-element::placeholder{color:#b3b3b3}.foxit-input-addon{align-items:center;color:#b3b3b3;cursor:pointer;display:flex;transition:color .3s}[dir=ltr] .foxit-input-addon{padding:0 0 0 8px}[dir=ltr] .foxit-input-addon-before,[dir=rtl] .foxit-input-addon{padding:0 8px 0 0}[dir=rtl] .foxit-input-addon-before{padding:0 0 0 8px}.foxit-input-wrapper:focus-within .foxit-input-addon{color:#ff5f00!important}.foxit-input-wrapper:hover .foxit-input-addon{color:#757575}.foxit-input-wrapper :disabled,.foxit-input-wrapper-disabled{background-color:#f8f8f8}.foxit-input-wrapper-disabled:hover{border-color:#d9d9d9}.foxit-input-wrapper-disabled .foxit-input-element{color:#b3b3b3}[dir=ltr] .foxit-input-wrapper-textarea{padding-right:0}[dir=rtl] .foxit-input-wrapper-textarea{padding-left:0}.foxit-textarea-element{resize:none;scrollbar-color:#d9d9d9 #fff;scrollbar-gutter:stable;scrollbar-width:auto}.foxit-textarea-element::-webkit-scrollbar{width:16px}.foxit-textarea-element::-webkit-scrollbar-track{background:#fff}.foxit-textarea-element::-webkit-scrollbar-thumb{background-color:#d9d9d9;border:4px solid #fff;border-radius:8px}.foxit-pagination-container{align-items:center;display:flex;justify-content:center}.foxit-pagination-button,.foxit-pagination-next,.foxit-pagination-prev{background-color:initial;border:none;border-radius:10px;color:#757575;cursor:pointer;font-size:16px;font-weight:500;height:48px;margin:0 4px;min-width:48px;padding:0 12px;transition:background-color .3s ease,color .3s ease}.foxit-pagination-next:hover,.foxit-pagination-prev:hover{color:#ff5f00}.foxit-pagination-button:hover{background-color:#ff5f001a}.foxit-pagination-button:disabled{background-color:#ff5f00;color:#fff;cursor:default}.foxit-pagination-mobile-container{display:flex;justify-content:center;margin:16px 0}.foxit-pagination-mobile-next,.foxit-pagination-mobile-prev{height:36px;margin:0 8px;min-width:40px}.foxit-pagination-mobile-info{font-size:16px;min-width:48px}.foxit-button,.foxit-pagination-mobile-info{align-items:center;display:flex;justify-content:center}.foxit-button{border:0;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.42px}.foxit-button-circle{aspect-ratio:1;border-radius:50%!important;padding:0!important;width:auto}.foxit-button:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.foxit-button:hover{opacity:.8}.foxit-button-primary{background-color:#ff5f00;color:#fff}.foxit-button-secondary{background-color:#fff;border:1px solid #ff5f00;color:#ff5f00}.foxit-button-small{border-radius:5px;min-height:38px;padding:8px 24px}.foxit-button-small svg{height:16px;width:16px}.foxit-button-small.foxit-button-circle{height:38px;width:38px}.foxit-button-medium{border-radius:5px;min-height:44px;padding:11px 32px}.foxit-button-medium svg{height:20px;width:20px}.foxit-button-medium.foxit-button-circle{height:44px;width:44px}.foxit-button-large{min-height:56px;padding:16px 32px}.foxit-button-large.foxit-button-circle{height:56px;width:56px}.foxit-button-prevent-click{pointer-events:none}.foxit-button-loading{animation:spin 1s linear infinite}[dir=ltr] .foxit-button-loading{margin-right:8px}[dir=rtl] .foxit-button-loading{margin-left:8px}.foxit-button-primary .foxit-button-loading{color:#fff}.foxit-button-secondary .foxit-button-loading{color:#ff5f00}.foxit-radio-container{cursor:pointer;display:inline-block;position:relative;-webkit-user-select:none;user-select:none}[dir=ltr] .foxit-radio-container{padding-left:25px}[dir=rtl] .foxit-radio-container{padding-right:25px}.foxit-radio-container input{cursor:pointer;opacity:0;position:absolute}.foxit-radio-checkmark{background-color:#fff;border:1px solid #b3b3b3;border-radius:50%;height:20px;position:absolute;top:0;width:20px}[dir=ltr] .foxit-radio-checkmark{left:0}[dir=rtl] .foxit-radio-checkmark{right:0}.foxit-radio-content{line-height:20px}.foxit-radio-container input:checked~.foxit-radio-checkmark{background-color:#fff;border:1px solid #ff5f00}.foxit-radio-checkmark:after{content:"";display:none;position:absolute}.foxit-radio-container input:checked~.foxit-radio-checkmark:after{display:block}.foxit-radio-container .foxit-radio-checkmark:after{background:#ff5f00;border-radius:50%;height:10px;top:4px;width:10px}[dir=ltr] .foxit-radio-container .foxit-radio-checkmark:after{left:4px}[dir=rtl] .foxit-radio-container .foxit-radio-checkmark:after{right:4px}.foxit-radio-container.disabled{cursor:not-allowed;opacity:.6}.foxit-select-custom-control{display:flex}[dir=ltr] .foxit-select-custom-control{margin-right:-4px;padding-left:8px}[dir=rtl] .foxit-select-custom-control{margin-left:-4px;padding-right:8px}.foxit-table{border:1px solid #ff5f00;border-radius:10px;color:#373737;min-height:200px;overflow:hidden;position:relative}.foxit-table-loading{align-items:center;background-color:#ffffffb3;display:flex;height:100%;justify-content:center;position:absolute;top:0;width:100%;z-index:5}[dir=ltr] .foxit-table-loading{left:0}[dir=rtl] .foxit-table-loading{right:0}.foxit-table-icon-loading{animation:spin 1s linear infinite;color:#ff5f00}.foxit-table-container{border-collapse:collapse;min-width:100%;table-layout:fixed;width:auto}.foxit-table-container td,.foxit-table-container th{word-wrap:break-word;height:70px;min-height:70px;padding:24px;white-space:pre-wrap}.foxit-table-container th{background-color:#fff6f0;font-size:16px;font-weight:700}.foxit-table-container td{font-size:14px;font-weight:400}.foxit-table-container .foxit-even-row{background-color:#fff}.foxit-table-container .foxit-odd-row{background-color:#fff6f0}.foxit-table-mobile-list{display:flex;flex-direction:column;gap:16px}.foxit-table-mobile-card{background:#f8f8f8;border-radius:10px;display:flex;flex-direction:column;gap:12px;padding:32px}.foxit-table-mobile-row{align-items:flex-start;display:flex;flex-direction:row;justify-content:space-between}.foxit-table-mobile-row:not(:last-child){border-bottom:1px solid #efefef;padding-bottom:12px}.foxit-table-mobile-label{word-wrap:break-word;color:#373737;font-size:16px;font-weight:700;max-width:50%;white-space:pre-wrap}[dir=ltr] .foxit-table-mobile-label{margin-right:16px}[dir=rtl] .foxit-table-mobile-label{margin-left:16px}.foxit-table-mobile-value{word-wrap:break-word;color:#373737;flex:1 1 0;font-size:14px;font-weight:400;white-space:pre-wrap}[dir=ltr] .foxit-table-mobile-value{text-align:right}[dir=rtl] .foxit-table-mobile-value{text-align:left}.foxit-table-mobile-loading{align-items:center;background:#0000;display:flex;justify-content:center;padding:24px 0;width:100%}.foxit-tabs{display:flex;flex-wrap:wrap;gap:8px}.foxit-tab-item{background-color:#f1f3f4;border:none;border-radius:10px;color:#757575;cursor:pointer;font-size:14px;font-weight:600;padding:14px 20px;transition:background-color .3s,color .3s}.foxit-tab-item.active{background-color:#ff5f00;color:#fff}.foxit-tab-item:hover:not(.active){background-color:#e0e0e0}.foxit-tab-content{margin-top:16px}.foxit-linktabs{width:100%}.foxit-linktabs-inner{margin-left:auto;margin-right:auto;position:relative}.foxit-linktabs-scroll{background:#fff;border:none;padding:8px;position:absolute;top:6px;z-index:10}.foxit-linktabs-scroll:hover{color:#ff5f00;cursor:pointer}[dir=ltr] .foxit-linktabs-scroll-left{left:-24px}[dir=ltr] .foxit-linktabs-scroll-right,[dir=rtl] .foxit-linktabs-scroll-left{right:-24px}[dir=rtl] .foxit-linktabs-scroll-right{left:-24px}.foxit-linktabs-list{-ms-overflow-style:none;border-bottom:1px solid #f1f3f4;display:flex;overflow-x:auto;scrollbar-width:none;text-align:center;white-space:nowrap;width:100%}.foxit-linktabs-list::-webkit-scrollbar{display:none}.foxit-linktab-btn{background:none;border:none;color:#b3b3b3;cursor:pointer;display:inline-block;font-size:14px;font-weight:600;outline:none;padding:12px;transition:border-color .2s,color .2s}.foxit-linktab-btn.active{border-bottom:2px solid #ff5f00;color:#ff5f00}.foxit-tag{border-radius:5px;display:inline-block;font-size:12px;font-weight:600;min-height:24px;padding:4px 8px}.foxit-tag-active{background-color:#edfafa;color:#0f8b8d}.foxit-tag-canceled{background-color:#ffecec;color:#e22727}.foxit-tag-pending{background-color:#fbf4d0;color:#9b8827}.foxit-tag-offline{background-color:#edecff;color:#6462c6}.foxit-tag-trial{background-color:#e4f4fe;color:#2288ce}.foxit-tag-expired{background-color:#ececec;color:#757575}.foxit-tag-completed{background-color:#edfafa;color:#0f8b8d}.foxit-toast-container{pointer-events:none;position:fixed;top:0;transition-delay:0s;transition-duration:.5s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%;z-index:2000}[dir=ltr] .foxit-toast-container{left:50%;transform:translateX(-50%)}[dir=rtl] .foxit-toast-container{right:50%;transform:translateX(50%)}.foxit-toast-loading{animation:spin 1s linear infinite;color:#ff5f00}.foxit-toast-loading-overlay{background-color:#000;height:100vh;inset:0;opacity:.15;pointer-events:auto;position:fixed;z-index:10}.foxit-toast-item{align-items:center;background-color:#fff;border:none;border-radius:50px;color:#525252;display:flex;flex-direction:row;gap:8px;justify-content:center;margin-bottom:16px;margin-left:auto;margin-right:auto;padding:9px 12px;position:relative;top:102px;transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:fit-content;z-index:20}.foxit-toast-item-success{background-color:#ddfae8;color:#1f7f40}.foxit-toast-item-error{background-color:#fae5dd;color:#e22727}.foxit-toast-item-warning{background-color:#fff0e7;color:#525252}.foxit-toast-enter{opacity:0;transform:translateY(-100%)}.foxit-toast-enter-active{transition:all .5s ease-out}.foxit-toast-enter-active,.foxit-toast-exit{opacity:1;transform:translateY(0)}.foxit-toast-exit-active{opacity:0;transform:translateY(-100%);transition:all .5s ease-in}.foxit-tooltip-container{display:inline-block;position:relative;width:auto}.foxit-tooltip-content{background-color:#525252;border-radius:10px;color:#fff;max-width:100%;min-width:100px;padding:12px 16px;position:absolute;width:300px;z-index:1}.foxit-tooltip-white{background-color:#fff;border:1px solid #e0e0e0;box-shadow:0 2px 4px #0000001a;color:#525252}.foxit-tooltip-arrow{border-left:5px solid #0000;border-right:5px solid #0000;border-top:5px solid #525252;bottom:-5px;height:0;position:absolute;width:0}[dir=ltr] .foxit-tooltip-arrow{transform:translateX(-50%)}[dir=rtl] .foxit-tooltip-arrow{transform:translateX(50%)}.foxit-tooltip-white .foxit-tooltip-arrow{border-top-color:#e0e0e0}.foxit-tooltip-white .foxit-tooltip-arrow:after{border-left:5px solid #0000;border-right:5px solid #0000;border-top:5px solid #fff;content:"";position:absolute;top:-6px}[dir=ltr] .foxit-tooltip-white .foxit-tooltip-arrow:after{left:-5px}[dir=rtl] .foxit-tooltip-white .foxit-tooltip-arrow:after{right:-5px}.foxit-menu{border-radius:10px;font-size:14px;overflow:hidden}.foxit-menu-item-content{align-items:center;cursor:pointer;display:flex;padding:12px 16px}[dir=ltr] .foxit-menu-item{padding-left:0}[dir=rtl] .foxit-menu-item{padding-right:0}.foxit-menu-item.selected{background-color:#fff6f0!important;border-radius:10px;color:#ff5f00;font-weight:600}.foxit-menu-item:hover{background-color:#f5f6f8;border-radius:10px}.foxit-menu-submenu-title{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px}.foxit-menu-submenu-title:hover{background-color:#f5f6f8;border-radius:10px}.foxit-menu-icon{transition:transform .3s ease-in-out}[dir=ltr] .foxit-menu-rotated-icon{transform:rotate(180deg)}[dir=rtl] .foxit-menu-rotated-icon{transform:rotate(-180deg)}.foxit-menu-item-label{font-weight:600}.foxit-menu-collapsed{transition:width .2s;width:50px!important}.foxit-menu-item-icon{align-items:center;display:inline-flex}[dir=ltr] .foxit-menu-item-icon{margin-right:8px}[dir=rtl] .foxit-menu-item-icon{margin-left:8px}.foxit-menu-item-icon-collapsed{font-size:16px}[dir=ltr] .foxit-menu-item-icon-collapsed{margin-right:0}[dir=rtl] .foxit-menu-item-icon-collapsed{margin-left:0}.foxit-menu-collapsed .foxit-menu-item-content,.foxit-menu-collapsed .foxit-menu-submenu-title{align-items:center;display:flex;justify-content:center;padding:12px}[dir=ltr] .foxit-menu-item-icon-mr8{margin-right:8px}[dir=rtl] .foxit-menu-item-icon-mr8{margin-left:8px}.foxit-menu-collapsed-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.foxit-menu-popup{background-color:#fff;border-radius:10px;box-shadow:0 3px 6px #0000001f,0 1px 3px #00000014;min-width:200px;padding:5px 0}.foxit-menu-popup-content{width:100%}.foxit-menu-popup-title{align-items:center;border-bottom:1px solid #f0f0f0;color:#333;display:flex;font-weight:600;padding:8px 16px}.foxit-modal-content-container{background-color:#fff;border-radius:10px;display:flex;flex-direction:column;gap:24px;justify-content:space-between;max-height:70vh;min-width:320px}@media (max-width:600px){.foxit-modal-content-container{box-sizing:border-box;overflow-y:auto}}[dir=ltr] .foxit-modal-success{background:linear-gradient(135deg,#fffaf7,#f9ede3,#fffaf7,#f9ede3)}[dir=rtl] .foxit-modal-success{background:linear-gradient(-135deg,#fffaf7,#f9ede3,#fffaf7,#f9ede3)}.foxit-modal-head{align-items:center;column-gap:8px;display:flex;justify-content:space-between;padding:36px 36px 0}.foxit-modal-children{box-sizing:border-box;max-height:60vh;overflow-y:auto;padding:0 36px}@media (max-width:600px){.foxit-modal-children{height:auto;max-height:100%;overflow-y:initial}}.foxit-modal-title{font-size:20px;font-weight:700}.foxit-modal-success-icon{display:flex;height:94px;margin-top:-50px;width:115px}.foxit-modal-close-button{align-items:center;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.foxit-modal-close-button svg{stroke:#6b7280}.foxit-modal-close-button:hover svg{stroke:#ea580c}.foxit-modal-footer{display:flex;flex-wrap:wrap;gap:16px;justify-content:flex-end;padding:0 36px 36px}@media (max-width:600px){.foxit-modal-footer{align-items:stretch;flex-direction:column;width:100%}}.foxit-modal-fixed-layout{align-items:center;display:flex;flex-direction:column;inset:0;padding:36px;position:fixed;z-index:99}.foxit-modal-justify-center{justify-content:center}.foxit-modal-justify-top{justify-content:flex-start;padding-top:96px}.foxit-modal-justify-bottom{justify-content:flex-end}.foxit-modal-overlay{cursor:pointer;height:100%;inset:0;position:fixed;width:100%;z-index:99}.foxit-modal-overlay-bg{background-color:#00000026;height:100%;inset:0;position:absolute;width:100%}.foxit-modal-content{align-items:center;display:flex;font-size:16px;font-weight:400;justify-content:center;max-height:100%;width:auto;z-index:99}.foxit-modal-opacity-0{opacity:0}.foxit-modal-opacity-100{opacity:1}.foxit-modal-scale-0{transform:scale(0)}.foxit-modal-scale-100{transform:scale(1)}.foxit-modal-transition{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.foxit-modal-hide-overflow{overflow-y:hidden}.foxit-switch{background-color:#ccc;border-radius:100px;cursor:pointer;display:inline-block;height:22px;line-height:22px;min-width:40px;position:relative;transition:background-color .3s;width:40px}.foxit-switch.small{height:14px;line-height:14px;min-width:24px;width:24px}.foxit-switch.checked{background-color:#ff5f00}.foxit-switch-handle{background-color:#fff;border-radius:50%;height:18px;position:absolute;top:2px;transition:transform .3s;width:18px}[dir=ltr] .foxit-switch-handle{transform:translateX(1px)}[dir=rtl] .foxit-switch-handle{transform:translateX(-1px)}.foxit-switch.small .foxit-switch-handle{height:12px;top:1px;width:12px}[dir=ltr] .foxit-switch.checked .foxit-switch-handle{transform:translateX(20px)}[dir=rtl] .foxit-switch.checked .foxit-switch-handle{transform:translateX(-20px)}[dir=ltr] .foxit-switch.small.checked .foxit-switch-handle{transform:translateX(11px)}[dir=rtl] .foxit-switch.small.checked .foxit-switch-handle{transform:translateX(-11px)}.foxit-spin{display:inline-block;pointer-events:none;position:relative;width:100%}.foxit-spin .foxit-spin-container{opacity:.5}.foxit-spin-spinning{animation:spin 1s linear infinite;color:#ff5f00}[dir=ltr] .foxit-spin-spinning{margin-right:8px}[dir=rtl] .foxit-spin-spinning{margin-left:8px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.foxit-spin-icon{position:absolute;top:50%}[dir=ltr] .foxit-spin-icon{left:50%;transform:translate(-50%,-50%)}[dir=rtl] .foxit-spin-icon{right:50%;transform:translate(50%,-50%)}.foxit-spin-small .foxit-spin-icon{font-size:16px}.foxit-spin-default .foxit-spin-icon{font-size:24px}.foxit-spin-large .foxit-spin-icon{font-size:32px}.foxit-alert{align-items:flex-start;border-radius:5px;display:flex;padding:12px}.foxit-alert-icon-container{height:20px;width:20px}[dir=ltr] .foxit-alert-icon-container{margin-right:8px}[dir=rtl] .foxit-alert-icon-container{margin-left:8px}.foxit-alert-icon{height:20px;width:20px}.foxit-alert-message{font-size:12px}.foxit-alert-success,.foxit-alert-warning{background-color:#f5fff2;border:1px solid #30dc6b}.foxit-alert-error{background-color:#fae5dd;border:1px solid #e22727}.foxit-alert-gradient{border:1px solid #ff5f00;display:block}[dir=ltr] .foxit-alert-gradient{background:linear-gradient(135deg,#fffaf7,#f9ede3,#fffaf7,#f9ede3)}[dir=rtl] .foxit-alert-gradient{background:linear-gradient(-135deg,#fffaf7,#f9ede3,#fffaf7,#f9ede3)}.foxit-quantity,.foxit-quantity-button{align-items:center;display:flex}.foxit-quantity-button{background-color:#ff5f00;border:none;border-radius:4px;color:#fff;cursor:pointer;height:16px;justify-content:center;margin-left:8px;margin-right:8px;width:16px}.foxit-quantity-button:disabled{background-color:#ffc2a0;cursor:not-allowed}.foxit-quantity-button>div{font-size:16px;margin-top:-3px}.foxit-quantity-number{border:1px solid #b3b3b3;border-radius:4px;color:#525252;flex:1;font-size:14px;height:24px;line-height:24px;outline:none!important;text-align:center;width:48px}.foxit-drawer-mask{background-color:#00000026;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .3s;z-index:99}.foxit-drawer-mask-open{opacity:1;pointer-events:auto}.foxit-drawer{background:#fff;height:100vh;overflow:auto;position:fixed;top:0;z-index:100}[dir=ltr] .foxit-drawer{box-shadow:-2px 0 8px #00000026;right:0;transition:right .3s}[dir=rtl] .foxit-drawer{box-shadow:2px 0 8px #00000026;left:0;transition:left .3s}.foxit-drawer-content{padding:24px}.foxit-steps{display:flex}.foxit-steps-horizontal{align-items:flex-start;flex-direction:row}.foxit-steps-vertical{flex-direction:column}.foxit-steps-item{display:flex;flex:1;position:relative}.foxit-steps-horizontal .foxit-steps-item{align-items:center;flex-direction:column;text-align:center}.foxit-steps-vertical .foxit-steps-item{align-items:flex-start;flex-direction:row;margin-bottom:16px}.foxit-steps-item-container{display:flex;position:relative;z-index:1}.foxit-steps-horizontal .foxit-steps-item-container{align-items:center;flex-direction:column}.foxit-steps-vertical .foxit-steps-item-container{align-items:flex-start;flex-direction:row}.foxit-steps-item-clickable .foxit-steps-item-container{cursor:pointer}.foxit-steps-item-clickable:hover .foxit-steps-item-title{color:FF5F00}.foxit-steps-item-icon{align-items:center;display:flex;justify-content:center;margin-bottom:8px;position:relative}.foxit-steps-vertical .foxit-steps-item-icon{margin-bottom:0;margin-top:4px}[dir=ltr] .foxit-steps-vertical .foxit-steps-item-icon{margin-right:16px}[dir=rtl] .foxit-steps-vertical .foxit-steps-item-icon{margin-left:16px}.foxit-steps-icon{align-items:center;border-radius:50%;display:flex;font-size:12px;height:16px;justify-content:center;transition:all .3s ease;width:16px}.foxit-steps-icon-wait{background-color:#fff;border:1px solid #cecece}.foxit-steps-icon-process{background-color:#ff5f00;border:1px solid #ff5f00}.foxit-steps-icon-finish{background-color:#fff;border:1px solid #ff5f00;color:#ff5f00}.foxit-steps-item-content{display:flex;flex-direction:column;min-width:0}.foxit-steps-horizontal .foxit-steps-item-content{align-items:center;text-align:center}.foxit-steps-vertical .foxit-steps-item-content{align-items:flex-start}[dir=ltr] .foxit-steps-vertical .foxit-steps-item-content{text-align:left}[dir=rtl] .foxit-steps-vertical .foxit-steps-item-content{text-align:right}.foxit-steps-item-title{color:#757575;font-size:14px;line-height:1.5;margin-bottom:4px;transition:color .3s ease}.foxit-steps-item-process .foxit-steps-item-title{color:#ff5f00;font-weight:700}.foxit-steps-item-description{color:#00000073;font-size:12px;line-height:1.5;max-width:120px}.foxit-steps-item-tail{height:1px;position:absolute;top:8px;width:calc(100% - 16px);z-index:0}[dir=ltr] .foxit-steps-item-tail{left:50%}[dir=rtl] .foxit-steps-item-tail{right:50%}[dir=ltr] .foxit-steps-horizontal .foxit-steps-item-tail{transform:translateX(8px)}[dir=rtl] .foxit-steps-horizontal .foxit-steps-item-tail{transform:translateX(-8px)}.foxit-steps-vertical .foxit-steps-item-tail{height:100%;position:absolute;top:20px;transform:none;width:1px}[dir=ltr] .foxit-steps-vertical .foxit-steps-item-tail{left:8px}[dir=rtl] .foxit-steps-vertical .foxit-steps-item-tail{right:8px}.foxit-steps-item-tail-line{background-color:#d9d9d9;height:100%;transition:background-color .3s ease;width:100%}.foxit-steps-item-finish .foxit-steps-item-tail-line{background-color:#ff6b35}.foxit-steps-item-process .foxit-steps-item-tail-line{background-color:#d9d9d9}
package/es/index.d.ts CHANGED
@@ -36,4 +36,5 @@ export { Alert } from './Alert/Alert';
36
36
  export { Quantity } from './Quantity/Quantity';
37
37
  export { Drawer } from './Drawer/Drawer';
38
38
  export { Steps } from './Steps/Steps';
39
+ export { ConfigProvider, useConfig } from './ConfigProvider/ConfigProvider';
39
40
  export type { StepsProps, StepItem } from './Steps/Steps.types';
package/es/index.js CHANGED
@@ -20,5 +20,6 @@ export { Alert } from './Alert/Alert.js';
20
20
  export { Quantity } from './Quantity/Quantity.js';
21
21
  export { Drawer } from './Drawer/Drawer.js';
22
22
  export { Steps } from './Steps/Steps.js';
23
+ export { ConfigProvider, useConfig } from './ConfigProvider/ConfigProvider.js';
23
24
  export { default as FormItem } from './Form/FormItem.js';
24
25
  export { useFormWatch } from './Form/useFormWatch.js';
package/es/utils.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ declare const getDirection: (element?: HTMLElement | null) => 'ltr' | 'rtl';
2
+ export { getDirection };
package/es/utils.js ADDED
@@ -0,0 +1,21 @@
1
+ var getDirection = function (element) {
2
+ var _a;
3
+ if (typeof window === 'undefined' || !document)
4
+ return 'ltr';
5
+ var current = element || document.documentElement;
6
+ var htmlDir = (_a = document.querySelector('html')) === null || _a === void 0 ? void 0 : _a.getAttribute('dir');
7
+ if (htmlDir && (htmlDir === 'rtl' || htmlDir === 'ltr')) {
8
+ return htmlDir;
9
+ }
10
+ while (current) {
11
+ var dir = current.getAttribute('dir');
12
+ if (dir === 'rtl' || dir === 'ltr') {
13
+ return dir;
14
+ }
15
+ current = current.parentElement;
16
+ }
17
+ var rootDir = document.documentElement.getAttribute('dir');
18
+ return (rootDir === 'rtl' ? 'rtl' : 'ltr');
19
+ };
20
+
21
+ export { getDirection };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "foxit-component",
3
- "version": "1.0.4-alpha.4",
3
+ "version": "1.0.4-alpha.6",
4
4
  "author": {
5
5
  "name": "linye",
6
6
  "email": "869675630@qq.com"
@@ -84,6 +84,7 @@
84
84
  "autoprefixer": "^10.4.20",
85
85
  "chromatic": "^11.25.2",
86
86
  "eslint-plugin-storybook": "^0.11.3",
87
+ "postcss-rtlcss": "^5.7.1",
87
88
  "prettier": "^3.5.1",
88
89
  "prop-types": "^15.8.1",
89
90
  "rollup": "^4.34.8",