amis 1.9.1-beta.0 → 1.9.1-beta.1
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/lib/components/Alert2.d.ts +10 -10
- package/lib/components/SearchBox.d.ts +40 -40
- package/lib/components/calendar/DaysView.js +13 -6
- package/lib/components/calendar/DaysView.js.map +2 -2
- package/lib/components/calendar/TimeView.js +2 -1
- package/lib/components/calendar/TimeView.js.map +2 -2
- package/lib/components/formula/Picker.js +4 -4
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/helper.css +125 -124
- package/lib/helper.css.map +1 -1
- package/lib/index.js +1 -1
- package/lib/renderers/Log.d.ts +16 -0
- package/lib/renderers/Log.js +35 -11
- package/lib/renderers/Log.js.map +2 -2
- package/lib/themes/ang-ie11.css +15 -3
- package/lib/themes/ang.css +15 -3
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +15 -3
- package/lib/themes/antd.css +15 -3
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +15 -3
- package/lib/themes/cxd.css +15 -3
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +15 -3
- package/lib/themes/dark.css +15 -3
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +15 -3
- package/lib/themes/default.css +15 -3
- package/lib/themes/default.css.map +1 -1
- package/package.json +1 -1
- package/scss/components/form/_transfer.scss +19 -3
- package/scss/helper/background/_background-color.scss +125 -124
- package/sdk/ang-ie11.css +19 -3
- package/sdk/ang.css +19 -3
- package/sdk/antd-ie11.css +19 -3
- package/sdk/antd.css +19 -3
- package/sdk/barcode.js +51 -51
- package/sdk/charts.js +14 -14
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +19 -3
- package/sdk/cxd.css +19 -3
- package/sdk/dark-ie11.css +19 -3
- package/sdk/dark.css +19 -3
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css +125 -124
- package/sdk/helper.css.map +1 -1
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +16 -16
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +19 -3
- package/sdk/sdk.css +19 -3
- package/sdk/sdk.js +1307 -1305
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/src/components/calendar/DaysView.tsx +68 -37
- package/src/components/calendar/TimeView.tsx +1 -1
- package/src/components/formula/Picker.tsx +2 -1
- package/src/renderers/Log.tsx +71 -12
package/lib/index.js
CHANGED
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.registerLocale = exports.setDefaultLocale = exports.getDefaultLocale = exports.classnames = exports.getClassPrefix = exports.classPrefix = exports.getTheme = exports.theme = exports.setDefaultTheme = exports.validateObject = exports.validate = exports.ScopedContext = exports.Scoped = exports.registerIcon = exports.Icon = exports.setIconVendor = exports.resolveVariableAndFilter = exports.resolveVariable = exports.relativeValueRe = exports.filterDate = exports.filterSchema = exports.resolveRenderer = exports.registerOptionsControl = exports.registerFormItem = exports.getRenderers = exports.unRegisterRenderer = exports.registerRenderer = exports.getRendererByName = exports.normalizeOptions = exports.str2rules = exports.addRule = exports.setCustomEvalExpression = exports.setCustomEvalJs = exports.evalJS = exports.evalExpression = exports.registerTplEnginer = exports.registerFilter = exports.resizeSensor = exports.utils = exports.filter = exports.buildApi = exports.wrapFetcher = exports.OptionsControl = exports.FormItemWrap = exports.FormItem = exports.RegisterStore = exports.Renderer = exports.updateEnv = exports.clearStoresCache = exports.render = void 0;
|
4
4
|
exports.DataScope = exports.DataSchema = exports.animation = exports.makeTranslator = void 0;
|
5
5
|
var tslib_1 = require("tslib");
|
6
|
-
/** @license amis v1.9.1-beta.
|
6
|
+
/** @license amis v1.9.1-beta.1
|
7
7
|
*
|
8
8
|
* Copyright Baidu
|
9
9
|
*
|
package/lib/renderers/Log.d.ts
CHANGED
@@ -33,6 +33,18 @@ export interface LogSchema extends BaseSchema {
|
|
33
33
|
* 返回内容字符编码
|
34
34
|
*/
|
35
35
|
encoding?: string;
|
36
|
+
/**
|
37
|
+
* 限制最大日志数量
|
38
|
+
*/
|
39
|
+
maxLength?: number;
|
40
|
+
/**
|
41
|
+
* 每行高度
|
42
|
+
*/
|
43
|
+
rowHeight?: number;
|
44
|
+
/**
|
45
|
+
* 关闭 ANSI 颜色支持
|
46
|
+
*/
|
47
|
+
disableColor?: boolean;
|
36
48
|
}
|
37
49
|
export interface LogProps extends RendererProps, Omit<LogSchema, 'type' | 'className'> {
|
38
50
|
}
|
@@ -57,6 +69,10 @@ export declare class Log extends React.Component<LogProps, LogState> {
|
|
57
69
|
componentDidUpdate(prevProps: LogProps): void;
|
58
70
|
pauseOrResumeScrolling(): void;
|
59
71
|
loadLogs(): Promise<void>;
|
72
|
+
/**
|
73
|
+
* 渲染某一行
|
74
|
+
*/
|
75
|
+
renderLine(index: number, line: string): JSX.Element;
|
60
76
|
render(): JSX.Element;
|
61
77
|
}
|
62
78
|
export declare class LogRenderer extends Log {
|
package/lib/renderers/Log.js
CHANGED
@@ -9,6 +9,7 @@ var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
|
9
9
|
var factory_1 = require("../factory");
|
10
10
|
var ansi_to_react_1 = (0, tslib_1.__importDefault)(require("ansi-to-react"));
|
11
11
|
var api_1 = require("../utils/api");
|
12
|
+
var virtual_list_1 = (0, tslib_1.__importDefault)(require("../components/virtual-list"));
|
12
13
|
var Log = /** @class */ (function (_super) {
|
13
14
|
(0, tslib_1.__extends)(Log, _super);
|
14
15
|
function Log(props) {
|
@@ -55,11 +56,11 @@ var Log = /** @class */ (function (_super) {
|
|
55
56
|
Log.prototype.loadLogs = function () {
|
56
57
|
var _a;
|
57
58
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
58
|
-
var _b, source, data, env, __, encoding, api, res, body, reader, lastline, logs, _c, done, value, text, lines;
|
59
|
+
var _b, source, data, env, __, encoding, maxLength, api, res, body, reader, lastline, logs, _c, done, value, text, lines;
|
59
60
|
return (0, tslib_1.__generator)(this, function (_d) {
|
60
61
|
switch (_d.label) {
|
61
62
|
case 0:
|
62
|
-
_b = this.props, source = _b.source, data = _b.data, env = _b.env, __ = _b.translate, encoding = _b.encoding;
|
63
|
+
_b = this.props, source = _b.source, data = _b.data, env = _b.env, __ = _b.translate, encoding = _b.encoding, maxLength = _b.maxLength;
|
63
64
|
api = (0, api_1.buildApi)(source, data);
|
64
65
|
if (!api.url) {
|
65
66
|
return [2 /*return*/];
|
@@ -99,6 +100,11 @@ var Log = /** @class */ (function (_super) {
|
|
99
100
|
lines[0] = lastline + lines[0];
|
100
101
|
// 最后一个要么是空,要么是下一行的数据
|
101
102
|
lastline = lines.pop() || '';
|
103
|
+
if (maxLength) {
|
104
|
+
if (logs.length + lines.length > maxLength) {
|
105
|
+
logs.splice(0, lines.length);
|
106
|
+
}
|
107
|
+
}
|
102
108
|
logs = logs.concat(lines);
|
103
109
|
this.setState({
|
104
110
|
logs: logs,
|
@@ -121,20 +127,38 @@ var Log = /** @class */ (function (_super) {
|
|
121
127
|
});
|
122
128
|
});
|
123
129
|
};
|
130
|
+
/**
|
131
|
+
* 渲染某一行
|
132
|
+
*/
|
133
|
+
Log.prototype.renderLine = function (index, line) {
|
134
|
+
var _a = this.props, cx = _a.classnames, disableColor = _a.disableColor;
|
135
|
+
return (react_1.default.createElement("div", { className: cx('Log-line'), key: index }, disableColor ? line : react_1.default.createElement(ansi_to_react_1.default, { useClasses: true }, line)));
|
136
|
+
};
|
124
137
|
Log.prototype.render = function () {
|
125
|
-
var
|
138
|
+
var _this = this;
|
139
|
+
var _a = this.props, source = _a.source, className = _a.className, cx = _a.classnames, placeholder = _a.placeholder, height = _a.height, rowHeight = _a.rowHeight, disableColor = _a.disableColor, __ = _a.translate;
|
126
140
|
var loading = __(placeholder);
|
127
141
|
if (!source) {
|
128
142
|
loading = __('Log.mustHaveSource');
|
129
143
|
}
|
130
|
-
var lines
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
144
|
+
var lines;
|
145
|
+
var logs = this.state.lastLine
|
146
|
+
? this.state.logs.concat([this.state.lastLine])
|
147
|
+
: this.state.logs;
|
148
|
+
// 如果设置 rowHeight 就开启延迟渲染
|
149
|
+
var useVirtualRender = rowHeight;
|
150
|
+
if (useVirtualRender) {
|
151
|
+
lines = (react_1.default.createElement(virtual_list_1.default, { height: height, itemCount: logs.length, itemSize: rowHeight, renderItem: function (_a) {
|
152
|
+
var index = _a.index, style = _a.style;
|
153
|
+
return (react_1.default.createElement("div", { className: cx('Log-line'), key: index, style: (0, tslib_1.__assign)((0, tslib_1.__assign)({}, style), { whiteSpace: 'nowrap' }) }, disableColor ? (logs[index]) : (react_1.default.createElement(ansi_to_react_1.default, { useClasses: true }, logs[index]))));
|
154
|
+
} }));
|
155
|
+
}
|
156
|
+
else {
|
157
|
+
lines = logs.map(function (line, index) {
|
158
|
+
return _this.renderLine(index, line);
|
159
|
+
});
|
160
|
+
}
|
161
|
+
return (react_1.default.createElement("div", { ref: this.logRef, className: cx('Log', className), style: { height: useVirtualRender ? 'auto' : height } }, useVirtualRender ? lines : lines.length ? lines : loading));
|
138
162
|
};
|
139
163
|
Log.defaultProps = {
|
140
164
|
height: 500,
|
package/lib/renderers/Log.js.map
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Log.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA;;GAEG;AACH,6DAA0B;AAC1B,sCAAmD;AAEnD,6EAAiC;AAEjC,oCAAqD;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * @file 用于显示日志的组件,比如显示命令行的输出结果\n */\nimport React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {BaseSchema, SchemaTpl} from '../Schema';\nimport Ansi from 'ansi-to-react';\nimport {filter} from '../utils/tpl';\nimport {buildApi, isApiOutdated} from '../utils/api';\n\n/**\n * 日志展示组件\n * 文档:https://baidu.gitee.io/amis/docs/components/log\n */\nexport interface LogSchema extends BaseSchema {\n /**\n * 指定为 log 链接展示控件\n */\n type: 'log';\n\n /**\n * 自定义 CSS 类名\n */\n className?: string;\n\n /**\n * 获取日志的地址\n */\n source: string;\n\n /**\n * 控件高度\n */\n height?: number;\n\n /**\n * 是否自动滚动到最底部\n */\n autoScroll?: boolean;\n\n /**\n * 返回内容字符编码\n */\n encoding?: string;\n}\n\nexport interface LogProps\n extends RendererProps,\n Omit<LogSchema, 'type' | 'className'> {}\n\nexport interface LogState {\n lastLine: string;\n logs: string[];\n}\n\nexport class Log extends React.Component<LogProps, LogState> {\n static defaultProps = {\n height: 500,\n autoScroll: true,\n placeholder: 'loading',\n encoding: 'utf-8'\n };\n\n isDone: boolean = false;\n\n autoScroll: boolean = false;\n\n logRef: React.RefObject<HTMLDivElement>;\n\n state: LogState = {\n lastLine: '',\n logs: []\n };\n\n constructor(props: LogProps) {\n super(props);\n this.logRef = React.createRef();\n this.autoScroll = props.autoScroll || false;\n this.pauseOrResumeScrolling = this.pauseOrResumeScrolling.bind(this);\n }\n\n componentWillUnmount() {\n if (this.logRef && this.logRef.current) {\n this.logRef.current.removeEventListener(\n 'scroll',\n this.pauseOrResumeScrolling\n );\n }\n }\n\n componentDidMount() {\n if (this.autoScroll && this.logRef && this.logRef.current) {\n this.logRef.current.addEventListener(\n 'scroll',\n this.pauseOrResumeScrolling\n );\n }\n if (this.props.source) {\n this.loadLogs();\n }\n }\n\n componentDidUpdate(prevProps: LogProps) {\n if (this.autoScroll && this.logRef && this.logRef.current) {\n this.logRef.current.scrollTop = this.logRef.current.scrollHeight;\n }\n if (\n isApiOutdated(\n prevProps.source,\n this.props.source,\n prevProps.data,\n this.props.data\n )\n ) {\n this.loadLogs();\n }\n }\n\n // 如果向上滚动就停止自动滚动,除非滚到底部\n pauseOrResumeScrolling() {\n if (this.logRef && this.logRef.current) {\n const {scrollHeight, scrollTop, offsetHeight} = this.logRef.current;\n this.autoScroll = scrollHeight - (scrollTop + offsetHeight) < 50;\n }\n }\n\n async loadLogs() {\n const {source, data, env, translate: __, encoding} = this.props;\n // 因为这里返回结果是流式的,和普通 api 请求不一样,如果直接用 fetcher 经过 responseAdaptor 可能会导致出错,所以就直接 fetch 了\n const api = buildApi(source, data);\n if (!api.url) {\n return;\n }\n const res = await fetch(api.url, {\n method: api.method?.toLocaleUpperCase() || 'GET',\n headers: (api.headers as Record<string, string>) || undefined,\n body: api.data ? JSON.stringify(api.data) : undefined,\n credentials: 'include'\n });\n if (res.status === 200) {\n const body = res.body;\n if (!body) {\n return;\n }\n const reader = body.getReader();\n let lastline = '';\n let logs: string[] = [];\n for (;;) {\n let {done, value} = await reader.read();\n if (value) {\n let text = new TextDecoder(encoding).decode(value, {stream: true});\n // 不考虑只有 \\r 换行符的情况,几乎没人用\n const lines = text.split('\\n');\n // 如果没有换行符就只更新最后一行\n if (lines.length === 1) {\n lastline += lines[0];\n this.setState({\n lastLine: lastline\n });\n } else {\n // 将之前的数据补上\n lines[0] = lastline + lines[0];\n // 最后一个要么是空,要么是下一行的数据\n lastline = lines.pop() || '';\n logs = logs.concat(lines);\n this.setState({\n logs: logs,\n lastLine: lastline\n });\n }\n }\n\n if (done) {\n this.isDone = true;\n return;\n }\n }\n } else {\n env.notify('error', __('fetchFailed'));\n }\n }\n\n render() {\n const {\n source,\n className,\n classnames: cx,\n placeholder,\n height,\n translate: __\n } = this.props;\n\n let loading = __(placeholder);\n\n if (!source) {\n loading = __('Log.mustHaveSource');\n }\n\n const
|
11
|
+
"/**\n * @file 用于显示日志的组件,比如显示命令行的输出结果\n */\nimport React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {BaseSchema, SchemaTpl} from '../Schema';\nimport Ansi from 'ansi-to-react';\nimport {filter} from '../utils/tpl';\nimport {buildApi, isApiOutdated} from '../utils/api';\nimport VirtualList from '../components/virtual-list';\n\n/**\n * 日志展示组件\n * 文档:https://baidu.gitee.io/amis/docs/components/log\n */\nexport interface LogSchema extends BaseSchema {\n /**\n * 指定为 log 链接展示控件\n */\n type: 'log';\n\n /**\n * 自定义 CSS 类名\n */\n className?: string;\n\n /**\n * 获取日志的地址\n */\n source: string;\n\n /**\n * 控件高度\n */\n height?: number;\n\n /**\n * 是否自动滚动到最底部\n */\n autoScroll?: boolean;\n\n /**\n * 返回内容字符编码\n */\n encoding?: string;\n\n /**\n * 限制最大日志数量\n */\n maxLength?: number;\n\n /**\n * 每行高度\n */\n rowHeight?: number;\n\n /**\n * 关闭 ANSI 颜色支持\n */\n disableColor?: boolean;\n}\n\nexport interface LogProps\n extends RendererProps,\n Omit<LogSchema, 'type' | 'className'> {}\n\nexport interface LogState {\n lastLine: string;\n logs: string[];\n}\n\nexport class Log extends React.Component<LogProps, LogState> {\n static defaultProps = {\n height: 500,\n autoScroll: true,\n placeholder: 'loading',\n encoding: 'utf-8'\n };\n\n isDone: boolean = false;\n\n autoScroll: boolean = false;\n\n logRef: React.RefObject<HTMLDivElement>;\n\n state: LogState = {\n lastLine: '',\n logs: []\n };\n\n constructor(props: LogProps) {\n super(props);\n this.logRef = React.createRef();\n this.autoScroll = props.autoScroll || false;\n this.pauseOrResumeScrolling = this.pauseOrResumeScrolling.bind(this);\n }\n\n componentWillUnmount() {\n if (this.logRef && this.logRef.current) {\n this.logRef.current.removeEventListener(\n 'scroll',\n this.pauseOrResumeScrolling\n );\n }\n }\n\n componentDidMount() {\n if (this.autoScroll && this.logRef && this.logRef.current) {\n this.logRef.current.addEventListener(\n 'scroll',\n this.pauseOrResumeScrolling\n );\n }\n if (this.props.source) {\n this.loadLogs();\n }\n }\n\n componentDidUpdate(prevProps: LogProps) {\n if (this.autoScroll && this.logRef && this.logRef.current) {\n this.logRef.current.scrollTop = this.logRef.current.scrollHeight;\n }\n if (\n isApiOutdated(\n prevProps.source,\n this.props.source,\n prevProps.data,\n this.props.data\n )\n ) {\n this.loadLogs();\n }\n }\n\n // 如果向上滚动就停止自动滚动,除非滚到底部\n pauseOrResumeScrolling() {\n if (this.logRef && this.logRef.current) {\n const {scrollHeight, scrollTop, offsetHeight} = this.logRef.current;\n this.autoScroll = scrollHeight - (scrollTop + offsetHeight) < 50;\n }\n }\n\n async loadLogs() {\n const {source, data, env, translate: __, encoding, maxLength} = this.props;\n // 因为这里返回结果是流式的,和普通 api 请求不一样,如果直接用 fetcher 经过 responseAdaptor 可能会导致出错,所以就直接 fetch 了\n const api = buildApi(source, data);\n if (!api.url) {\n return;\n }\n const res = await fetch(api.url, {\n method: api.method?.toLocaleUpperCase() || 'GET',\n headers: (api.headers as Record<string, string>) || undefined,\n body: api.data ? JSON.stringify(api.data) : undefined,\n credentials: 'include'\n });\n if (res.status === 200) {\n const body = res.body;\n if (!body) {\n return;\n }\n const reader = body.getReader();\n let lastline = '';\n let logs: string[] = [];\n for (;;) {\n let {done, value} = await reader.read();\n if (value) {\n let text = new TextDecoder(encoding).decode(value, {stream: true});\n // 不考虑只有 \\r 换行符的情况,几乎没人用\n const lines = text.split('\\n');\n // 如果没有换行符就只更新最后一行\n if (lines.length === 1) {\n lastline += lines[0];\n this.setState({\n lastLine: lastline\n });\n } else {\n // 将之前的数据补上\n lines[0] = lastline + lines[0];\n // 最后一个要么是空,要么是下一行的数据\n lastline = lines.pop() || '';\n if (maxLength) {\n if (logs.length + lines.length > maxLength) {\n logs.splice(0, lines.length);\n }\n }\n logs = logs.concat(lines);\n this.setState({\n logs: logs,\n lastLine: lastline\n });\n }\n }\n\n if (done) {\n this.isDone = true;\n return;\n }\n }\n } else {\n env.notify('error', __('fetchFailed'));\n }\n }\n\n /**\n * 渲染某一行\n */\n renderLine(index: number, line: string) {\n const {classnames: cx, disableColor} = this.props;\n return (\n <div className={cx('Log-line')} key={index}>\n {disableColor ? line : <Ansi useClasses>{line}</Ansi>}\n </div>\n );\n }\n\n render() {\n const {\n source,\n className,\n classnames: cx,\n placeholder,\n height,\n rowHeight,\n disableColor,\n translate: __\n } = this.props;\n\n let loading = __(placeholder);\n\n if (!source) {\n loading = __('Log.mustHaveSource');\n }\n let lines: any;\n\n const logs = this.state.lastLine\n ? this.state.logs.concat([this.state.lastLine])\n : this.state.logs;\n\n // 如果设置 rowHeight 就开启延迟渲染\n const useVirtualRender = rowHeight;\n\n if (useVirtualRender) {\n lines = (\n <VirtualList\n height={height as number}\n itemCount={logs.length}\n itemSize={rowHeight}\n renderItem={({index, style}) => (\n <div\n className={cx('Log-line')}\n key={index}\n style={{...style, whiteSpace: 'nowrap'}}\n >\n {disableColor ? (\n logs[index]\n ) : (\n <Ansi useClasses>{logs[index]}</Ansi>\n )}\n </div>\n )}\n />\n );\n } else {\n lines = logs.map((line, index) => {\n return this.renderLine(index, line);\n });\n }\n\n return (\n <div\n ref={this.logRef}\n className={cx('Log', className)}\n style={{height: useVirtualRender ? 'auto' : height}}\n >\n {useVirtualRender ? lines : lines.length ? lines : loading}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'log'\n})\nexport class LogRenderer extends Log {}\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/themes/ang-ie11.css
CHANGED
@@ -28969,6 +28969,9 @@ td.rdtQuarter.rdtDisabled > span {
|
|
28969
28969
|
.a-Transfer-title > span {
|
28970
28970
|
flex-grow: 1;
|
28971
28971
|
}
|
28972
|
+
.a-Transfer-select {
|
28973
|
+
overflow: hidden;
|
28974
|
+
}
|
28972
28975
|
.a-Transfer-select, .a-Transfer-result {
|
28973
28976
|
width: 0;
|
28974
28977
|
min-width: 12.5rem;
|
@@ -28985,12 +28988,21 @@ td.rdtQuarter.rdtDisabled > span {
|
|
28985
28988
|
overflow: auto;
|
28986
28989
|
position: relative;
|
28987
28990
|
}
|
28988
|
-
.a-Transfer-select > .a-
|
28989
|
-
|
28991
|
+
.a-Transfer-select > .a-ChainedSelection {
|
28992
|
+
min-height: unset;
|
28993
|
+
overflow: hidden;
|
28990
28994
|
}
|
28991
|
-
.a-Transfer-select {
|
28995
|
+
.a-Transfer-select > .a-ChainedSelection .a-ChainedSelection-col {
|
28996
|
+
height: 100%;
|
28997
|
+
overflow: auto;
|
28998
|
+
min-width: 8.125rem;
|
28999
|
+
}
|
29000
|
+
.a-Transfer .a-AssociatedSelection {
|
28992
29001
|
overflow: hidden;
|
28993
29002
|
}
|
29003
|
+
.a-Transfer .a-AssociatedSelection-left, .a-Transfer .a-AssociatedSelection-right {
|
29004
|
+
min-height: unset;
|
29005
|
+
}
|
28994
29006
|
.a-Transfer-search + .a-Transfer-selection {
|
28995
29007
|
border-top: 1px solid #d1d5db;
|
28996
29008
|
}
|
package/lib/themes/ang.css
CHANGED
@@ -30205,6 +30205,9 @@ td.rdtQuarter.rdtDisabled > span {
|
|
30205
30205
|
.a-Transfer-title > span {
|
30206
30206
|
flex-grow: 1;
|
30207
30207
|
}
|
30208
|
+
.a-Transfer-select {
|
30209
|
+
overflow: hidden;
|
30210
|
+
}
|
30208
30211
|
.a-Transfer-select, .a-Transfer-result {
|
30209
30212
|
width: 0;
|
30210
30213
|
min-width: 12.5rem;
|
@@ -30221,12 +30224,21 @@ td.rdtQuarter.rdtDisabled > span {
|
|
30221
30224
|
overflow: auto;
|
30222
30225
|
position: relative;
|
30223
30226
|
}
|
30224
|
-
.a-Transfer-select > .a-
|
30225
|
-
|
30227
|
+
.a-Transfer-select > .a-ChainedSelection {
|
30228
|
+
min-height: unset;
|
30229
|
+
overflow: hidden;
|
30226
30230
|
}
|
30227
|
-
.a-Transfer-select {
|
30231
|
+
.a-Transfer-select > .a-ChainedSelection .a-ChainedSelection-col {
|
30232
|
+
height: 100%;
|
30233
|
+
overflow: auto;
|
30234
|
+
min-width: 8.125rem;
|
30235
|
+
}
|
30236
|
+
.a-Transfer .a-AssociatedSelection {
|
30228
30237
|
overflow: hidden;
|
30229
30238
|
}
|
30239
|
+
.a-Transfer .a-AssociatedSelection-left, .a-Transfer .a-AssociatedSelection-right {
|
30240
|
+
min-height: unset;
|
30241
|
+
}
|
30230
30242
|
.a-Transfer-search + .a-Transfer-selection {
|
30231
30243
|
border-top: 1px solid var(--borderColor);
|
30232
30244
|
}
|