amis 1.9.1-beta.0 → 1.9.1-beta.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
}
|