diff --git a/.npmrc b/.npmrc index b4458c8..c6057e7 100644 --- a/.npmrc +++ b/.npmrc @@ -1,4 +1,4 @@ -registry="https://registry.npm.taobao.org/" +registry="https://registry.npmmirror.com" @zhst:registry="http://10.0.0.77:4874" strict-peer-dependencies=false ignore-workspace-root-check=true diff --git a/docs/index.md b/docs/index.md index 8973543..3255e9f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -146,7 +146,7 @@ lint 工具库,包含:eslint-config、eslint-plugin、commit-lint 接口一键生成工具 ::: -:::info{title=@zhst/types} +:::info{title=@types/zhst} 类型定义库 ::: diff --git a/global.d.ts b/global.d.ts index 5ce6297..63ff4c6 100644 --- a/global.d.ts +++ b/global.d.ts @@ -1,3 +1,4 @@ declare module '@zhst/func'; declare module '@zhst/hooks'; declare module '@zhst/meta'; +declare module '@zhst/request'; diff --git a/packages/biz/CHANGELOG.md b/packages/biz/CHANGELOG.md index 3c5e564..2e77d30 100644 --- a/packages/biz/CHANGELOG.md +++ b/packages/biz/CHANGELOG.md @@ -1,5 +1,78 @@ # @zhst/biz +## 0.5.0 + +### Minor Changes + +- feat: 初版发布 + +### Patch Changes + +- Updated dependencies + - @zhst/hooks@0.5.0 + - @zhst/func@0.5.0 + - @zhst/meta@0.6.0 + +## 0.4.2 + +### Patch Changes + +- Updated dependencies + - @zhst/meta@0.5.2 + +## 0.4.1 + +### Patch Changes + +- feat: 初始化 +- Updated dependencies + - @zhst/hooks@0.4.1 + - @zhst/func@0.4.1 + - @zhst/meta@0.5.1 + +## 0.4.0 + +### Minor Changes + +- fix: 修改 pkg + +### Patch Changes + +- Updated dependencies + - @zhst/hooks@0.4.0 + - @zhst/func@0.4.0 + - @zhst/meta@0.5.0 + +## 0.3.6 + +### Patch Changes + +- Updated dependencies + - @zhst/meta@0.4.4 + +## 0.3.5 + +### Patch Changes + +- Updated dependencies + - @zhst/meta@0.4.3 + +## 0.3.4 + +### Patch Changes + +- Updated dependencies + - @zhst/meta@0.4.2 + +## 0.3.3 + +### Patch Changes + +- Updated dependencies + - @zhst/func@0.3.1 + - @zhst/hooks@0.3.1 + - @zhst/meta@0.4.1 + ## 0.3.2 ### Patch Changes diff --git a/packages/biz/es/BigImageModal/BigImageModal.d.ts b/packages/biz/es/BigImageModal/BigImageModal.d.ts index 05eab4a..ae5e46d 100644 --- a/packages/biz/es/BigImageModal/BigImageModal.d.ts +++ b/packages/biz/es/BigImageModal/BigImageModal.d.ts @@ -1,23 +1,40 @@ import React from 'react'; -import type { ModalProps, DescriptionsProps, TabsProps } from 'antd'; +import type { ModalProps, DescriptionsProps, TabsProps, VideoViewRef, ImgViewRef } from '@zhst/meta'; import './index.less'; export declare const componentPrefix = "zhst-image"; +export type TAB_TYPE = 'COMPATER' | 'NORMAL' | 'VIDEO'; +export type MODEL_TYPE = 'VIDEO' | 'IMAGE'; export interface BigImageModalProps extends ModalProps { visible: boolean; - descriptionConfig: { - data: { - title: string; - children: Pick; - }[]; + activeTab?: TAB_TYPE; + attributeList: { + title: string; + children: Pick; }; - tabsConfig: { + tabs: { data: Pick & { - key: 'NORMAL' | 'COMPATER' | 'TRACK'; + key: TAB_TYPE; }; }; dataSource: any; imageData: any; relatedData: any; + isRelated?: boolean; + footer?: React.ReactNode; + showCarousel?: boolean; + onTabChange?: (newVal?: TAB_TYPE, oldVal?: TAB_TYPE) => void; + onIndexChange?: (newVal?: number, oldVal?: number) => void; + transformPropFunc: (data: any) => void; } -declare const BigImageModal: React.FC; +interface BigModalRef { + tab: TAB_TYPE; + setTab: (tab: TAB_TYPE) => void; + modalRef: ModalProps; + activeKey: string; + setActiveKey: (val: string) => void; + videoPlayerRef: VideoViewRef; + combineImageRef: any; + bigImagePreviewRef: ImgViewRef; +} +declare const BigImageModal: React.FC; export default BigImageModal; diff --git a/packages/biz/es/BigImageModal/BigImageModal.js b/packages/biz/es/BigImageModal/BigImageModal.js index 5fe3e7b..0445dd6 100644 --- a/packages/biz/es/BigImageModal/BigImageModal.js +++ b/packages/biz/es/BigImageModal/BigImageModal.js @@ -1,8 +1,8 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } -function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } @@ -10,70 +10,149 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // @ts-nocheck -import React, { useRef, useState } from 'react'; -import { Descriptions, Modal, Tabs } from 'antd'; +import React, { forwardRef, useImperativeHandle, useRef, useState, useEffect } from 'react'; +import { ConfigProvider, Descriptions, Modal, Tabs, BigImagePreview, VideoPlayer } from '@zhst/meta'; import classNames from 'classnames'; -import { get } from '@zhst/func'; +import { get, isEmpty } from '@zhst/func'; import "./index.less"; import Navigation from "./components/navigation"; +import CombineImage from "./components/CombineImage"; var DescriptionsItem = Descriptions.Item; export var componentPrefix = 'zhst-image'; var initialStyle = { fontSize: '12px' }; -var BigImageModal = function BigImageModal(props) { +var BigImageModal = /*#__PURE__*/forwardRef(function (props, ref) { + var _dataSource$currentIn; var _props$title = props.title, title = _props$title === void 0 ? '-' : _props$title, open = props.open, - visible = props.visible, children = props.children, - _props$descriptionCon = props.descriptionConfig, - descriptionConfig = _props$descriptionCon === void 0 ? { - data: [] - } : _props$descriptionCon, - _props$tabsConfig = props.tabsConfig, - tabsConfig = _props$tabsConfig === void 0 ? { - data: [{ - label: '对比图模式', - key: '1', - children: '对比图组件' - }, { - label: '场景图模式', - key: '2', - children: '场景图组件' - }] - } : _props$tabsConfig, + activeTab = props.activeTab, + _props$attributeList = props.attributeList, + attributeList = _props$attributeList === void 0 ? [] : _props$attributeList, + _props$isRelated = props.isRelated, + isRelated = _props$isRelated === void 0 ? false : _props$isRelated, + _props$tabs = props.tabs, + tabs = _props$tabs === void 0 ? {} : _props$tabs, + _props$footer = props.footer, + footer = _props$footer === void 0 ? null : _props$footer, + _props$showCarousel = props.showCarousel, + showCarousel = _props$showCarousel === void 0 ? true : _props$showCarousel, _props$dataSource = props.dataSource, dataSource = _props$dataSource === void 0 ? [] : _props$dataSource, _props$imageData = props.imageData, imageData = _props$imageData === void 0 ? [] : _props$imageData, _props$relatedData = props.relatedData, - relatedData = _props$relatedData === void 0 ? [] : _props$relatedData; - var showCropRef = useRef(false); - var scaleRef = useRef(0); + relatedData = _props$relatedData === void 0 ? [] : _props$relatedData, + onIndexChange = props.onIndexChange, + onTabChange = props.onTabChange, + transformPropFunc = props.transformPropFunc; + var combineImageRef = useRef(null); + var bigImagePreviewRef = useRef(null); + var videoPlayerRef = useRef(null); + var modalRef = useRef(null); // ========================== 头切换 ========================= - var _useState = useState(get(tabsConfig, 'data[0].key')), + var _useState = useState(activeTab || get(tabsConfig, 'data[0].key')), _useState2 = _slicedToArray(_useState, 2), - activeKey = _useState2[0], - setActiveKey = _useState2[1]; + tab = _useState2[0], + setTab = _useState2[1]; + var _useState3 = useState('related'), + _useState4 = _slicedToArray(_useState3, 2), + activeKey = _useState4[0], + setActiveKey = _useState4[1]; // ========================= 预览切换下标 ========================= - var _useState3 = useState(0), - _useState4 = _slicedToArray(_useState3, 2), - previewIndex = _useState4[0], - setPreviewIndex = _useState4[1]; - var _useState5 = useState(false), + var _useState5 = useState(0), _useState6 = _slicedToArray(_useState5, 2), - isRelated = _useState6[0], - setIsRelated = _useState6[1]; + currentIndex = _useState6[0], + setCurrentIndex = _useState6[1]; + var tabsConfig = !isEmpty(tabs) ? tabs : { + data: [{ + label: '对比图模式', + key: 'COMPATER', + children: /*#__PURE__*/React.createElement(CombineImage, { + ref: combineImageRef, + data: dataSource[currentIndex] || {} + }) + }, { + label: '场景图模式', + key: 'NORMAL', + children: /*#__PURE__*/React.createElement(BigImagePreview, { + ref: bigImagePreviewRef, + height: '500px', + data: dataSource[currentIndex] + }) + }] + }; + + // TODO: 页面初始化 + useEffect(function () { + _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() { + var data; + return _regeneratorRuntime().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + data = {}; // if (isRelated) { + // data = await transformPropFunc(imageData[currentIndex]); + // } else { + // data = await transformPropFunc(dataSource[currentIndex]); + // } + // setAttributeList(get(data, 'attributeList', [])); + //防背推 + // if (currentIndex === latestSelectIndex.current) { + // setSelectItem(data); + // } + case 1: + case "end": + return _context.stop(); + } + }, _callee); + }))(); + }, [currentIndex, dataSource, imageData, isRelated]); + + // 暴露 ref 实例 + useImperativeHandle(ref, function () { + return { + ref: ref, + tab: tab, + setTab: setTab, + modalRef: modalRef, + activeKey: activeKey, + setActiveKey: setActiveKey, + videoPlayerRef: videoPlayerRef, + combineImageRef: combineImageRef, + bigImagePreviewRef: bigImagePreviewRef + }; + }); return /*#__PURE__*/React.createElement(Modal, _extends({ destroyOnClose: true, - open: open || visible, - footer: null, + open: open, + ref: modalRef, + footer: footer, className: componentPrefix, title: title - }, props), descriptionConfig.data.map(function (descriptions) { + }, props), /*#__PURE__*/React.createElement("div", { + style: { + marginTop: '16px' + } + }, /*#__PURE__*/React.createElement(ConfigProvider, { + theme: { + token: { + colorTextSecondary: 'rgba(0,0,0,0.45)' + }, + components: { + Descriptions: { + titleMarginBottom: '20px', + viewBg: '#f6f6f6', + titleColor: 'rgba(0,0,0,0.45)', + colorTextLabel: 'rgba(0,0,0,0.45)', + contentColor: 'rgba(0,0,0,0.88)' + } + } + } + }, attributeList.map(function (descriptions) { var _descriptions$childre; return /*#__PURE__*/React.createElement(Descriptions, { key: descriptions.title, @@ -100,52 +179,61 @@ var BigImageModal = function BigImageModal(props) { } }, item.children); })); - }), /*#__PURE__*/React.createElement(Tabs, _extends({ - defaultActiveKey: activeKey, + })), /*#__PURE__*/React.createElement("div", { + className: classNames("".concat(componentPrefix, "-view-container")) + }, /*#__PURE__*/React.createElement(Tabs, _extends({ + activeKey: tab, centered: true, + destroyInactiveTabPane: true, + onChange: function onChange(v) { + setTab(function (pre) { + onTabChange === null || onTabChange === void 0 || onTabChange(v, pre); + return v; + }); + }, tabBarStyle: { - fontSize: '18px' + fontSize: '18px', + fontWeight: 'bold' }, items: tabsConfig.data - }, tabsConfig)), /*#__PURE__*/React.createElement("div", { - className: classNames("".concat(componentPrefix, "-view-container")), - style: activeKey === 'TRACK' ? { - height: '718px', - marginBottom: '0px' - } : {} - }, activeKey !== 'TRACK' && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Navigation, { - className: classNames("".concat(componentPrefix, "-view-container__nav"), previewIndex <= 0 && "".concat(componentPrefix, "-view-container__nav--disabled"), "".concat(componentPrefix, "-view-container__nav--left")), + }, tabsConfig)), tab === 'VIDEO' && /*#__PURE__*/React.createElement(VideoPlayer, { + ref: videoPlayerRef, + url: (_dataSource$currentIn = dataSource[currentIndex]) === null || _dataSource$currentIn === void 0 ? void 0 : _dataSource$currentIn.flvUrl + }), /*#__PURE__*/React.createElement(Navigation, { + className: classNames("".concat(componentPrefix, "-view-container__nav"), currentIndex <= 0 && "".concat(componentPrefix, "-view-container__nav--disabled"), "".concat(componentPrefix, "-view-container__nav--left")), show: isRelated ? imageData.length > 1 : dataSource.length > 1, - disabled: previewIndex <= 0, + disabled: currentIndex <= 0, prev: true, onClick: function onClick() { - setPreviewIndex(function (pre) { + setCurrentIndex(function (pre) { + onIndexChange === null || onIndexChange === void 0 || onIndexChange(pre - 1, pre); return pre - 1; }); } }), /*#__PURE__*/React.createElement(Navigation, { - className: classNames("".concat(componentPrefix, "-view-container__nav"), (previewIndex >= imageData.length - 1 || previewIndex >= dataSource.length - 1) && "".concat(componentPrefix, "-view-container__nav--disabled"), "".concat(componentPrefix, "-view-container__nav--right")), + className: classNames("".concat(componentPrefix, "-view-container__nav"), (currentIndex >= imageData.length - 1 || currentIndex >= dataSource.length - 1) && "".concat(componentPrefix, "-view-container__nav--disabled"), "".concat(componentPrefix, "-view-container__nav--right")), show: isRelated ? imageData.length > 1 : dataSource.length > 1, - disabled: previewIndex >= imageData.length - 1 || previewIndex >= dataSource.length - 1, + disabled: currentIndex >= imageData.length - 1 || currentIndex >= dataSource.length - 1, next: true, - onClick: /*#__PURE__*/function () { - var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(e) { - return _regeneratorRuntime().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { + onClick: ( /*#__PURE__*/function () { + var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(e) { + return _regeneratorRuntime().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { case 0: - setPreviewIndex(function (pre) { + setCurrentIndex(function (pre) { + onIndexChange === null || onIndexChange === void 0 || onIndexChange(pre + 1, pre); return pre + 1; }); case 1: case "end": - return _context.stop(); + return _context2.stop(); } - }, _callee); + }, _callee2); })); return function (_x) { - return _ref.apply(this, arguments); + return _ref2.apply(this, arguments); }; - }() + }()) })))); -}; +}); export default BigImageModal; \ No newline at end of file diff --git a/packages/biz/es/BigImageModal/index.less b/packages/biz/es/BigImageModal/index.less index 966b5d6..8e98e2e 100644 --- a/packages/biz/es/BigImageModal/index.less +++ b/packages/biz/es/BigImageModal/index.less @@ -3,11 +3,14 @@ box-shadow: 0 4px 12px rgb(0 0 0 / 20%); } + .zhst-tabs .zhst-tabs-nav-wrap { + background-color: #f6f6f6; + } + &-view-container { position: relative; width: 100%; - height: 532px; margin-bottom: 16px; &__nav { @@ -226,231 +229,6 @@ } } -.zhst-image__header { - width: 100%; - // margin-top: 3px; - margin-bottom: 10px; - - &__pad0 { - padding: 0; - } - - &__pad66 { - padding: 0 66px; - } - - &__bar { - display: flex; - width: 100%; - background: #f6f6f6; - // box-shadow: 0px 0px 8px 0px rgba(172, 172, 172, 0.5); - justify-content: center; - // border-color: #f0f0f0; - // border-bottom-width: 1px; - // border-bottom-style: solid; - } - - &__barNoColor { - display: flex; - width: 100%; - justify-content: center; - border-color: #f0f0f0; - border-bottom-width: 1px; - border-bottom-style: solid; - } - - &__item { - position: relative; - display: flex; - height: 40px; - align-items: center; - justify-content: center; - margin: 0 15px; - color: #999; - cursor: pointer; - font-size: 14px; - font-weight: bold; - line-height: 19px; - transition: font-size 0.3s ease; - - &:hover { - // font-size: 18px; - color: #333; - } - - &::before { - position: absolute; - bottom: 0; - left: 50%; - width: 0; - border-bottom: 2px solid #09f; - content: ''; - transition: all 0.3s ease; - } - - &--active { - background-color: transparent; - color: #333; - font-size: 18px; - - // color: #0099ff; - &::before { - left: 0; - width: 100%; - } - } - } -} - - -.zhst-image__compater-view { - display: flex; - width: 100%; - align-items: center; - justify-content: center; - - &>div:first-child { - margin-right: 25px; - } - - &>div:last-child { - margin-left: 25px; - } - - &__container { - position: relative; - width: 345px; - height: 460px; - box-sizing: content-box; - border: 1px solid #f0f0f0; - } - - &__view { - width: 345px; - height: 460px; - } - - &__label { - position: absolute; - z-index: 99; - top: 0; - left: 0; - display: flex; - height: 34px; - align-items: center; - justify-content: center; - - // width: 48px; - padding: 0 6px; - background: #09f; - color: #fff; - } - - &__tool { - display: flex; - width: 345px; - height: 40px; - align-items: center; - justify-content: center; - background: #f9f9f9; - - i, - span { - color: #333 !important; - } - - i { - margin-right: 4px; - } - - &>*:not(:last-child) { - margin-right: 20px; - } - - &__scale { - display: inline-block; - width: 38px; - height: 16px; - - // margin-left: 15px; - box-sizing: content-box; - border: 1px solid rgb(77 77 77 / 100%); - background: rgb(255 255 255 / 100%); - border-radius: 2px; - color: #4d4d4d; - cursor: default; - font-size: 12px; - line-height: 16px; - text-align: center; - } - - &__line { - width: 1px; - height: 14px; - background: #e6e6e6; - } - } - - &__empty { - position: absolute; - z-index: 9; - display: flex; - width: 100%; - height: 100%; - flex-direction: column; - align-items: center; - justify-content: center; - background: #f9f9f9; - transform: translateY(-100%); - - &>img { - width: 140px; - height: 80px; - } - - &--text { - color: #999; - font-size: 14px; - line-height: 22px; - } - } - - &__scoll-module { - position: absolute; - top: 0%; - left: 0%; - display: flex; - width: 100%; - height: 100%; - align-items: flex-end; - justify-content: space-between; - pointer-events: none; - - &__btn { - display: flex; - width: 50px; - height: 50px; - align-items: center; - justify-content: center; - margin: 6px; - border-radius: 50%; - opacity: 0.5; - pointer-events: all; - - &>span { - display: flex; - align-items: center; - justify-content: center; - } - } - - &__btn:hover { - background-color: #09f !important; - color: #fff !important; - } - } -} - .zhst-image__trackmodel { &__panel { position: relative; @@ -643,23 +421,6 @@ } } -.zhst-image__null { - display: flex; - height: 100%; - flex-direction: column; - align-items: center; - justify-content: center; - - &__text { - // margin-left: 105px; - margin-top: 8px; - color: #999; - font-size: 14px; - width: 100%; - text-align: center; - } -} - .zhst-image__attributePanel { margin: 0 66px; background: #f6f6f6; @@ -713,23 +474,6 @@ .relatedPics { width: 742px; height: 100px; - // display: flex; - // box-sizing: border-box; - // background: #fafafa; - // border-radius: 2px; - // border: 1px solid #f0f0f0; - // .LeftBtn, - // .RighttBtn { - // width: 34px; - // height: 100%; - // display: flex; - // justify-content: center; - // align-items: center; - // } - // .ListContent { - // flex: 1; - // height: 100%; - // } } .disabled { diff --git a/packages/biz/es/BigImageModal/mock.d.ts b/packages/biz/es/BigImageModal/mock.d.ts deleted file mode 100644 index 257ed75..0000000 --- a/packages/biz/es/BigImageModal/mock.d.ts +++ /dev/null @@ -1,294 +0,0 @@ -export declare const IMAGE_DATA: { - enAbleDeleteFeature: boolean; - tabsFilter: string[]; - dataSources: { - objectId: string; - condition: { - featureInfo: null; - featureData: string; - imageData: string; - alg: string; - rect: { - x: number; - y: number; - w: number; - h: number; - }; - objectImageUrl: string; - srcImageUrl: string; - }; - score: number; - timestamp: number; - deviceId: string; - id: string; - name: string; - dirid: string; - status: string; - longitude: number; - latitude: number; - caseId: string; - caseGroup: string; - isDeleted: string; - extendInfo: { - vmsPlatformId: string; - vmsChannel: string; - vmsCameraDecoderTag: string; - platformPluginType: string; - deviceVender: string; - type: string; - ip: string; - port: string; - username: string; - passwd: string; - rtspAddress: string; - facesnapChannel: string; - edgeDeviceSn: string; - platform1400Id: number; - useRtspAddress: boolean; - frameCheck: boolean; - frameRectX: number; - frameRectY: number; - frameRectW: number; - frameRectH: number; - edgeNodeId: string; - processStatus: string; - }; - objectIndex: { - objectId: string; - solutionId: string; - deviceId: string; - fragmentId: string; - }; - objectType: string; - isObjectTrack: boolean; - pathId: string; - frameInfo: { - frameId: string; - frameTimestamp: string; - width: number; - height: number; - originWidth: number; - originHeight: number; - offsetTime: string; - skipNumber: string; - }; - level: number; - bboxInFrame: { - x: number; - y: number; - w: number; - h: number; - }; - bboxExtInFrame: { - x: number; - y: number; - w: number; - h: number; - }; - objectImageKey: string; - objectExtImageKey: string; - frameImageKey: string; - confidence: number; - sourceObjectId: string; - storeTimestamp: string; - gbNumber: string; - qualityScore: number; - subObjectCount: number; - subObjectType: string[]; - subObjectIds: string[]; - cameraInfo: { - id: string; - name: string; - dirid: string; - status: string; - longitude: number; - latitude: number; - caseId: string; - caseGroup: string; - isDeleted: string; - extendInfo: { - vmsPlatformId: string; - vmsChannel: string; - vmsCameraDecoderTag: string; - platformPluginType: string; - deviceVender: string; - type: string; - ip: string; - port: string; - username: string; - passwd: string; - rtspAddress: string; - facesnapChannel: string; - edgeDeviceSn: string; - platform1400Id: number; - useRtspAddress: boolean; - frameCheck: boolean; - frameRectX: number; - frameRectY: number; - frameRectW: number; - frameRectH: number; - edgeNodeId: string; - processStatus: string; - }; - }; - solutionId: string; - fragmentId: string; - contrastKey: string; - compaterImages: string[]; - imgSummary: string; - imageKey: string; - srcImageUrl: string; - algorithmVersion: string; - cameraId: string; - cameraName: string; - }[]; - selectIndex: number; - disableBtn: number[]; - dataSource: { - objectId: string; - condition: { - featureInfo: null; - featureData: string; - imageData: string; - alg: string; - rect: { - x: number; - y: number; - w: number; - h: number; - }; - objectImageUrl: string; - srcImageUrl: string; - }; - score: number; - timestamp: number; - deviceId: string; - id: string; - name: string; - dirid: string; - status: string; - longitude: number; - latitude: number; - caseId: string; - caseGroup: string; - isDeleted: string; - extendInfo: { - vmsPlatformId: string; - vmsChannel: string; - vmsCameraDecoderTag: string; - platformPluginType: string; - deviceVender: string; - type: string; - ip: string; - port: string; - username: string; - passwd: string; - rtspAddress: string; - facesnapChannel: string; - edgeDeviceSn: string; - platform1400Id: number; - useRtspAddress: boolean; - frameCheck: boolean; - frameRectX: number; - frameRectY: number; - frameRectW: number; - frameRectH: number; - edgeNodeId: string; - processStatus: string; - }; - objectIndex: { - objectId: string; - solutionId: string; - deviceId: string; - fragmentId: string; - }; - objectType: string; - isObjectTrack: boolean; - pathId: string; - frameInfo: { - frameId: string; - frameTimestamp: string; - width: number; - height: number; - originWidth: number; - originHeight: number; - offsetTime: string; - skipNumber: string; - }; - level: number; - bboxInFrame: { - x: number; - y: number; - w: number; - h: number; - }; - bboxExtInFrame: { - x: number; - y: number; - w: number; - h: number; - }; - objectImageKey: string; - objectExtImageKey: string; - frameImageKey: string; - confidence: number; - sourceObjectId: string; - storeTimestamp: string; - gbNumber: string; - qualityScore: number; - subObjectCount: number; - subObjectType: string[]; - subObjectIds: string[]; - cameraInfo: { - id: string; - name: string; - dirid: string; - status: string; - longitude: number; - latitude: number; - caseId: string; - caseGroup: string; - isDeleted: string; - extendInfo: { - vmsPlatformId: string; - vmsChannel: string; - vmsCameraDecoderTag: string; - platformPluginType: string; - deviceVender: string; - type: string; - ip: string; - port: string; - username: string; - passwd: string; - rtspAddress: string; - facesnapChannel: string; - edgeDeviceSn: string; - platform1400Id: number; - useRtspAddress: boolean; - frameCheck: boolean; - frameRectX: number; - frameRectY: number; - frameRectW: number; - frameRectH: number; - edgeNodeId: string; - processStatus: string; - }; - }; - solutionId: string; - fragmentId: string; - contrastKey: string; - compaterImages: string[]; - imgSummary: string; - imageKey: string; - srcImageUrl: string; - algorithmVersion: string; - cameraId: string; - cameraName: string; - }[]; - isArchiveDetail: boolean; - ToolProps: { - renderVideoBtn: boolean; - disableVideo: boolean; - }; - specialTitle: string; -}; diff --git a/packages/biz/es/BigImageModal/mock.js b/packages/biz/es/BigImageModal/mock.js index 1fec56f..760a766 100644 --- a/packages/biz/es/BigImageModal/mock.js +++ b/packages/biz/es/BigImageModal/mock.js @@ -1,427 +1,6 @@ export var IMAGE_DATA = { "enAbleDeleteFeature": true, "tabsFilter": ["COMPATER", "NORMAL"], - "dataSources": [{ - "objectId": "1742110565582518272", - "condition": { - "featureInfo": null, - "featureData": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", - "imageData": "", - "alg": "VERSION_REID_HEAD_ATTR", - "rect": { - "x": 0.271875, - "y": 0.32222223, - "w": 0.2859375, - "h": 0.67777777 - }, - "objectImageUrl": "singer-20240102/1/129529/1742047651878156288.jpg", - "srcImageUrl": "singer-20240102/1/129529/1742047652511496192.jpg" - }, - "score": 0.7163062, - "timestamp": 1704186491979, - "deviceId": "129533", - "id": "129533", - "name": "4楼门口过道人脸", - "dirid": "0", - "status": "1", - "longitude": 120.125, - "latitude": 30.280500411987305, - "caseId": "0", - "caseGroup": "", - "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "38", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - }, - "objectIndex": { - "objectId": "1742110565582518272", - "solutionId": "1", - "deviceId": "129533", - "fragmentId": "0" - }, - "objectType": "OBJECT_TYPE_PEDESTRAIN", - "isObjectTrack": true, - "pathId": "1742110532019697664", - "frameInfo": { - "frameId": "0", - "frameTimestamp": "1704186491979", - "width": 0, - "height": 0, - "originWidth": 1920, - "originHeight": 1080, - "offsetTime": "24714687", - "skipNumber": "0" - }, - "level": 1, - "bboxInFrame": { - "x": 0.603125, - "y": 0.3314815, - "w": 0.0578125, - "h": 0.2712963 - }, - "bboxExtInFrame": { - "x": 0.546875, - "y": 0.2638889, - "w": 0.17135416, - "h": 0.40648147 - }, - "objectImageKey": "", - "objectExtImageKey": "http://10.0.0.7:30003/file/singer-20240102/1/129533/1742110565582518272.jpg", - "frameImageKey": "http://10.0.0.7:30003/file/singer-20240102/1/129533/1742110565603489792.jpg", - "confidence": 0.817271, - "sourceObjectId": "1742110565603489792", - "storeTimestamp": "0", - "gbNumber": "", - "qualityScore": 0, - "subObjectCount": 1, - "subObjectType": ["OBJECT_TYPE_FACE"], - "subObjectIds": ["1742110532015503360"], - "cameraInfo": { - "id": "129533", - "name": "4楼门口过道人脸", - "dirid": "0", - "status": "1", - "longitude": 120.125, - "latitude": 30.280500411987305, - "caseId": "0", - "caseGroup": "", - "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "38", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - } - }, - "solutionId": "1", - "fragmentId": "0", - "contrastKey": "singer-20240102/1/129533/1742110565582518272.jpg", - "compaterImages": ["http://10.0.0.7:30003/file/singer-20240102/1/129529/1742047651878156288.jpg"], - "imgSummary": "singer-20240102/1/129533/1742110565582518272.jpg", - "imageKey": "http://10.0.0.7:30003/file/singer-20240102/1/129533/1742110565582518272.jpg", - "srcImageUrl": "http://10.0.0.7:30003/file/singer-20240102/1/129533/1742110565603489792.jpg", - "algorithmVersion": "VERSION_REID_HEAD_ATTR", - "cameraId": "129533", - "cameraName": "4楼门口过道人脸" - }, { - "objectId": "1742092780462684161", - "condition": { - "featureInfo": null, - "featureData": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", - "imageData": "", - "alg": "VERSION_REID_HEAD_ATTR", - "rect": { - "x": 0.271875, - "y": 0.32222223, - "w": 0.2859375, - "h": 0.67777777 - }, - "objectImageUrl": "singer-20240102/1/129529/1742047651878156288.jpg", - "srcImageUrl": "singer-20240102/1/129529/1742047652511496192.jpg" - }, - "score": 0.70154816, - "timestamp": 1704182251640, - "deviceId": "129533", - "id": "129533", - "name": "4楼门口过道人脸", - "dirid": "0", - "status": "1", - "longitude": 120.125, - "latitude": 30.280500411987305, - "caseId": "0", - "caseGroup": "", - "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "38", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - }, - "objectIndex": { - "objectId": "1742092780462684161", - "solutionId": "1", - "deviceId": "129533", - "fragmentId": "0" - }, - "objectType": "OBJECT_TYPE_PEDESTRAIN", - "isObjectTrack": true, - "pathId": "1742092746237163520", - "frameInfo": { - "frameId": "0", - "frameTimestamp": "1704182251640", - "width": 0, - "height": 0, - "originWidth": 1920, - "originHeight": 1080, - "offsetTime": "20474348", - "skipNumber": "0" - }, - "level": 1, - "bboxInFrame": { - "x": 0.63177085, - "y": 0.38333333, - "w": 0.078125, - "h": 0.3537037 - }, - "bboxExtInFrame": { - "x": 0.55885416, - "y": 0.29537037, - "w": 0.22447917, - "h": 0.5314815 - }, - "objectImageKey": "", - "objectExtImageKey": "http://10.0.0.7:30003/file/singer-20240102/1/129533/1742092780462684161.jpg", - "frameImageKey": "http://10.0.0.7:30003/file/singer-20240102/1/129533/1742092780768868352.jpg", - "confidence": 0.888334, - "sourceObjectId": "1742092780768868352", - "storeTimestamp": "0", - "gbNumber": "", - "qualityScore": 0, - "subObjectCount": 1, - "subObjectType": ["OBJECT_TYPE_FACE"], - "subObjectIds": ["1742092746232969217"], - "cameraInfo": { - "id": "129533", - "name": "4楼门口过道人脸", - "dirid": "0", - "status": "1", - "longitude": 120.125, - "latitude": 30.280500411987305, - "caseId": "0", - "caseGroup": "", - "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "38", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - } - }, - "solutionId": "1", - "fragmentId": "0", - "contrastKey": "singer-20240102/1/129533/1742092780462684161.jpg", - "compaterImages": ["http://10.0.0.7:30003/file/singer-20240102/1/129529/1742047651878156288.jpg"], - "imgSummary": "singer-20240102/1/129533/1742092780462684161.jpg", - "imageKey": "http://10.0.0.7:30003/file/singer-20240102/1/129533/1742092780462684161.jpg", - "srcImageUrl": "http://10.0.0.7:30003/file/singer-20240102/1/129533/1742092780768868352.jpg", - "algorithmVersion": "VERSION_REID_HEAD_ATTR", - "cameraId": "129533", - "cameraName": "4楼门口过道人脸" - }, { - "objectId": "1742092514409592832", - "condition": { - "featureInfo": null, - "featureData": "AAAAAAAAAAAAAAA==", - "imageData": "", - "alg": "VERSION_REID_HEAD_ATTR", - "rect": { - "x": 0.271875, - "y": 0.32222223, - "w": 0.2859375, - "h": 0.67777777 - }, - "objectImageUrl": "singer-20240102/1/129529/1742047651878156288.jpg", - "srcImageUrl": "singer-20240102/1/129529/1742047652511496192.jpg" - }, - "score": 0.703765, - "timestamp": 1704182186451, - "deviceId": "129529", - "id": "129529", - "name": "4入口人脸", - "dirid": "0", - "status": "1", - "longitude": 120.12100219726562, - "latitude": 30.280099868774414, - "caseId": "0", - "caseGroup": "", - "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "34", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - }, - "objectIndex": { - "objectId": "1742092514409592832", - "solutionId": "1", - "deviceId": "129529", - "fragmentId": "0" - }, - "objectType": "OBJECT_TYPE_PEDESTRAIN", - "isObjectTrack": true, - "pathId": "1742092482440607744", - "frameInfo": { - "frameId": "0", - "frameTimestamp": "1704182186451", - "width": 0, - "height": 0, - "originWidth": 2560, - "originHeight": 1440, - "offsetTime": "20409182", - "skipNumber": "0" - }, - "level": 1, - "bboxInFrame": { - "x": 0.6195313, - "y": 0.24583334, - "w": 0.09804688, - "h": 0.41944444 - }, - "bboxExtInFrame": { - "x": 0.53515625, - "y": 0.14027777, - "w": 0.26640624, - "h": 0.63125 - }, - "objectImageKey": "", - "objectExtImageKey": "http://10.0.0.7:30003/file/singer-20240102/1/129529/1742092514409592832.jpg", - "frameImageKey": "http://10.0.0.7:30003/file/singer-20240102/1/129529/1742092515508500480.jpg", - "confidence": 0.92494, - "sourceObjectId": "1742092515508500480", - "storeTimestamp": "0", - "gbNumber": "", - "qualityScore": 0, - "subObjectCount": 1, - "subObjectType": ["OBJECT_TYPE_FACE"], - "subObjectIds": ["1742092482432219136"], - "cameraInfo": { - "id": "129529", - "name": "4入口人脸", - "dirid": "0", - "status": "1", - "longitude": 120.12100219726562, - "latitude": 30.280099868774414, - "caseId": "0", - "caseGroup": "", - "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "34", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - } - }, - "solutionId": "1", - "fragmentId": "0", - "contrastKey": "singer-20240102/1/129529/1742092514409592832.jpg", - "compaterImages": ["http://10.0.0.7:30003/file/singer-20240102/1/129529/1742047651878156288.jpg"], - "imgSummary": "singer-20240102/1/129529/1742092514409592832.jpg", - "imageKey": "http://10.0.0.7:30003/file/singer-20240102/1/129529/1742092514409592832.jpg", - "srcImageUrl": "http://10.0.0.7:30003/file/singer-20240102/1/129529/1742092515508500480.jpg", - "algorithmVersion": "VERSION_REID_HEAD_ATTR", - "cameraId": "129529", - "cameraName": "4入口人脸" - }], "selectIndex": 4, "disableBtn": [0, 1, 4, 20], "dataSource": [{ @@ -452,30 +31,6 @@ export var IMAGE_DATA = { "caseId": "0", "caseGroup": "", "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "38", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - }, "objectIndex": { "objectId": "1742110565582518272", "solutionId": "1", @@ -519,41 +74,6 @@ export var IMAGE_DATA = { "subObjectCount": 1, "subObjectType": ["OBJECT_TYPE_FACE"], "subObjectIds": ["1742110532015503360"], - "cameraInfo": { - "id": "129533", - "name": "4楼门口过道人脸", - "dirid": "0", - "status": "1", - "longitude": 120.125, - "latitude": 30.280500411987305, - "caseId": "0", - "caseGroup": "", - "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "38", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - } - }, "solutionId": "1", "fragmentId": "0", "contrastKey": "singer-20240102/1/129533/1742110565582518272.jpg", @@ -592,30 +112,6 @@ export var IMAGE_DATA = { "caseId": "0", "caseGroup": "", "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "38", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - }, "objectIndex": { "objectId": "1742092680994764802", "solutionId": "1", @@ -659,41 +155,6 @@ export var IMAGE_DATA = { "subObjectCount": 0, "subObjectType": [], "subObjectIds": [], - "cameraInfo": { - "id": "129533", - "name": "4楼门口过道人脸", - "dirid": "0", - "status": "1", - "longitude": 120.125, - "latitude": 30.280500411987305, - "caseId": "0", - "caseGroup": "", - "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "38", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - } - }, "solutionId": "1", "fragmentId": "0", "contrastKey": "singer-20240102/1/129533/1742092680994764802.jpg", @@ -732,30 +193,6 @@ export var IMAGE_DATA = { "caseId": "0", "caseGroup": "", "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "34", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - }, "objectIndex": { "objectId": "1742092514409592832", "solutionId": "1", @@ -799,41 +236,6 @@ export var IMAGE_DATA = { "subObjectCount": 1, "subObjectType": ["OBJECT_TYPE_FACE"], "subObjectIds": ["1742092482432219136"], - "cameraInfo": { - "id": "129529", - "name": "4入口人脸", - "dirid": "0", - "status": "1", - "longitude": 120.12100219726562, - "latitude": 30.280099868774414, - "caseId": "0", - "caseGroup": "", - "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "34", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - } - }, "solutionId": "1", "fragmentId": "0", "contrastKey": "singer-20240102/1/129529/1742092514409592832.jpg", @@ -851,4 +253,221 @@ export var IMAGE_DATA = { "disableVideo": false }, "specialTitle": "" -}; \ No newline at end of file +}; +export var BIG_IMAGE_DATA = [{ + imageKey: 'http://10.0.0.120:30003/file/singer-20240110/1/5/1744894622934503424.jpg', + imgSummary: "http://10.0.0.120:30003/file/singer-20240117/1/5/1747536346412488704.jpg", + flvUrl: 'ws://10.0.0.120:9033/flv/Sip/34020000001310000301.flv?ip=10.0.0.120&stime=1704815972&etime=1704815992', + compaterImages: ['http://10.0.0.120:30003/file/singer-20240117/1/5/1747536346412488704.jpg', "http://10.0.0.120:30003/file/public/public_20240117/file/dfdd3340-53c8-4dc4-9921-f13230aa0355.jpg"], + odRect: { + "x": 0.5445312, + "y": 0.19166666, + "w": 0.08671875, + "h": 0.40138888 + }, + attachImg: [{ + "url": "http://10.0.0.120:30003/file/singer-20240110/1/5/1744894622695428096.jpg", + "label": "形体" + }, { + "url": "http://10.0.0.120:30003/file/singer-20240110/1/5/1744894588427964418.jpg", + "label": "人脸" + }], + score: '0.6', + // 人脸质量分 + showScore: true, + // 人脸质量分 + cameraPosition: 'string', + // 摄像头位置 + time: '2022-01-01', + // 摄像头拍摄时间 + objects: [{ + "objectIndex": { + "objectId": "1746832189053474816", + "solutionId": "0", + "deviceId": "0", + "fragmentId": "0" + }, + "objectType": "OBJECT_TYPE_PEDESTRAIN", + "sourceObjectId": "0", + "level": 0, + "confidence": 0.881164, + "frameInfo": { + "frameId": "0", + "frameTimestamp": "1705312223057", + "width": 0, + "height": 0, + "originWidth": 0, + "originHeight": 0, + "offsetTime": "0", + "skipNumber": "0" + }, + "infoOnSource": { + "bboxInFrame": { + "bboxRatio": { + "x": 0.61418945, + "y": 0.34309354, + "w": 0.067661405, + "h": 0.34659258 + } + }, + "countInSource": 0, + "indexInSource": 0 + }, + "qualityScore": 0 + }] +}, { + imageKey: 'http://10.0.0.120:30003/file/singer-20240115/1/9/1746795581994436608.jpg', + imgSummary: "http://10.0.0.120:30003/file/singer-20240117/1/5/1747536346412488704.jpg", + odRect: { + "x": 0.553125, + "y": 0.29722223, + "w": 0.048958335, + "h": 0.2462963 + }, + attachImg: [{ + "url": "http://10.0.0.120:30003/file/singer-20240115/1/9/1746795581163964416.jpg", + "label": "形体" + }, { + "url": "http://10.0.0.120:30003/file/singer-20240115/1/9/1746795546867140608.jpg", + "label": "人脸" + }], + flvUrl: 'ws://10.0.0.120:9033/flv/HaikangNvr/34.flv?ip=10.0.2.103&stime=1705302394&etime=1705302414', + score: 0.815207, + // 人脸质量分 + showScore: true, + // 人脸质量分 + cameraPosition: 'string', + // 摄像头位置 + time: '2022-01-01', + // 摄像头拍摄时间 + objects: [{ + "objectIndex": { + "objectId": "1746816737430472704", + "solutionId": "0", + "deviceId": "0", + "fragmentId": "0" + }, + "objectType": "OBJECT_TYPE_PEDESTRAIN", + "sourceObjectId": "0", + "frameInfo": { + "frameId": "0", + "frameTimestamp": "1705308539109", + "width": 0, + "height": 0, + "originWidth": 0, + "originHeight": 0, + "offsetTime": "0", + "skipNumber": "0" + }, + "infoOnSource": { + "bboxInFrame": { + "bboxRatio": { + "x": 0.5519352, + "y": 0.2965385, + "w": 0.05185461, + "h": 0.24698898 + } + }, + "countInSource": 0, + "indexInSource": 0 + }, + "qualityScore": 0 + }, { + "objectIndex": { + "objectId": "1746816737430472705", + "solutionId": "0", + "deviceId": "0", + "fragmentId": "0" + }, + "objectType": "OBJECT_TYPE_PEDESTRAIN", + "sourceObjectId": "0", + "level": 0, + "confidence": 0.9310699, + "frameInfo": { + "frameId": "0", + "frameTimestamp": "1705308539109", + "width": 0, + "height": 0, + "originWidth": 0, + "originHeight": 0, + "offsetTime": "0", + "skipNumber": "0" + }, + "infoOnSource": { + "bboxInFrame": { + "bboxRatio": { + "x": 0.58543766, + "y": 0.3203356, + "w": 0.052037954, + "h": 0.2664015 + } + }, + "countInSource": 0, + "indexInSource": 0 + }, + "qualityScore": 0 + }] +}]; +export var attributeList = [{ + title: '人员属性', + children: [{ + key: '1', + label: '性别', + children: '男' + }, { + key: '2', + label: '年龄', + children: '成年' + }, { + key: '3', + label: '帽子', + children: '无' + }, { + key: '4', + label: '上身颜色', + children: '灰' + }, { + key: '5', + label: '下身颜色', + children: '蓝色' + }, { + key: '6', + label: '附着物', + children: '无' + }, { + key: '7', + label: '骑行', + children: '否' + }] +}, { + title: '社区规范', + children: [{ + key: '1', + label: '性别', + children: '男' + }, { + key: '2', + label: '年龄', + children: '成年' + }, { + key: '3', + label: '帽子', + children: '无' + }, { + key: '4', + label: '上身颜色', + children: '灰' + }, { + key: '5', + label: '下身颜色', + children: '蓝色' + }, { + key: '6', + label: '附着物', + children: '无' + }, { + key: '7', + label: '骑行', + children: '否' + }] +}]; \ No newline at end of file diff --git a/packages/biz/es/adapter/BigImageModalAdapter/index.d.ts b/packages/biz/es/adapter/BigImageModalAdapter/index.d.ts deleted file mode 100644 index dab889b..0000000 --- a/packages/biz/es/adapter/BigImageModalAdapter/index.d.ts +++ /dev/null @@ -1,153 +0,0 @@ -/** - * 适配老的大屏组件数据格式传入 - */ -import React from 'react'; -import { AlgorithmVersionStr, HumanProperty, ObjectType, Rect, ViewOption, AlignType, IScreenshotButtonProp, ODRECT } from '@zhst/types'; -export type TAB_TYPE = 'COMPATER' | 'NORMAL' | 'TRACK'; -export type MODEL_TYPE = 'VIDEO' | 'IMAGE'; -export interface ImgViewProps extends React.HTMLAttributes { - imageKey: string; - odRect: ODRECT; - attachImg?: Array<{ - label: string; - url: string; - }>; - showAttachImgLabel: boolean; - screenshotButtonAlign: AlignType; - screenshotButtonRender: (screenshotButtonProp: IScreenshotButtonProp) => React.ReactElement; - scale$?: number; - showCrop$?: boolean; - hideLeftTopBtn?: boolean; - score?: number; - viewOption?: ViewOption; -} -export interface VideoViewProps { - flvUrl: string; - maxDuration?: number; - screenshotButtonAlign?: AlignType; - screenshotButtonRender?: (screenshotButtonProp: IScreenshotButtonProp) => React.ReactElement; - defautlNormalizationRect?: Rect; - onCropChange?: (showCrop: boolean, normalizationRect: null | Rect) => void; - showCrop$?: boolean; -} -export interface CarouselProps { - hasPre?: boolean; - hasNext?: boolean; - selectIndex: number; - setSelectIndex: React.Dispatch>; - dataSource: Array<{ - key: string; - url: string; - }>; -} -export type ISelectItem = Partial> & Partial>; -export interface HeaderProps { - value: TAB_TYPE; - onChange: (type: TAB_TYPE) => void; - tabsFilter: TAB_TYPE[]; -} -export interface ImgViewRef { - imgInsRef: React.MutableRefObject; - setShowCrop: React.Dispatch>; -} -export interface VideoViewRef { - cropAble: boolean; - setShowCrop: React.Dispatch>; - downloadVideoframe: () => void; -} -export interface ParamProps { - tab: string; - selectItem: ISelectItem; - imgViewRef: React.MutableRefObject; - VideoViewRef: React.MutableRefObject; - model: MODEL_TYPE; - setModel: React.Dispatch>; - scale$: number; - showCrop$: boolean; -} -export interface BigImageData { - extendRectList: (Rect & { - algorithmVersion: AlgorithmVersionStr; - imageKey: string; - })[]; - rectList: (Rect & { - algorithmVersion: AlgorithmVersionStr; - imageKey: string; - })[]; - attachImg: { - url: string; - label: '形体' | '人脸'; - }[]; - odRect: Rect; - imageKey: string; - imgSummary: string; - objectExtImageKey: string; - attributeList: { - label: string; - list: any[]; - }[]; - archiveImages?: any; - spaceName: string; - objectType: ObjectType; - objectId: string; - bodyObjectId?: string; - faceObjectId?: string; - sourceObjectId?: string; - cameraId: string; - cameraName: string; - selectIndex: number; - humanProperty: HumanProperty; - qualityScore?: number; - score: number; - timestamp: string; - bodyImageUrl: string; - faceImageUrl: string; - algorithmVersion: AlgorithmVersionStr; - bodySpaceName: string; - faceSpaceName: string; - solutionId?: string; - [index: string]: any; -} -interface IOldImageData { - visible?: boolean; - defaultModel?: MODEL_TYPE; - onClose?: () => void; - isLoading?: boolean; - hasPre?: boolean; - hasNext?: boolean; - selectIndex?: number; - onSelectIndexChange?: (i: number) => void; - dataSource: any[]; - dataSources: any[]; - relatedData?: any[]; - transformPropFunc: (item: any) => ISelectItem; - transformVideoPropFunc: (item: ISelectItem) => Promise>; - screenshotButtonRender?: (screenshotButtonProp: IScreenshotButtonProp) => React.ReactElement; - showTool?: boolean; - showCarousel?: boolean; - imgViewProp?: Partial; - videoViewProp?: Partial; - ToolProps?: Partial; - nullDialogProp?: { - emptyText?: string; - }; - showHeader?: boolean; - tabsFilter?: TAB_TYPE[]; - useVirtual?: boolean; - loadNext?: (i: number) => Promise; - loadPre?: (i: number) => Promise; - children: React.ReactNode; - title?: string; - specialTitle?: string; - isRelated?: boolean; - carouselProp?: Partial; -} -export interface ToolProps { - renderRight?: (props: ParamProps) => React.ReactNode; - renderLeft?: (props: ParamProps) => React.ReactNode; - renderVideoBtn?: boolean; - param: ParamProps; - disableVideo: boolean; -} -declare const _default: (data: IOldImageData) => IOldImageData; -export default _default; diff --git a/packages/biz/es/adapter/BigImageModalAdapter/index.js b/packages/biz/es/adapter/BigImageModalAdapter/index.js deleted file mode 100644 index 4f89db4..0000000 --- a/packages/biz/es/adapter/BigImageModalAdapter/index.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * 适配老的大屏组件数据格式传入 - */ - -export default (function (data) { - var newData = data; - return newData; -}); \ No newline at end of file diff --git a/packages/biz/es/adapter/index.d.ts b/packages/biz/es/adapter/index.d.ts deleted file mode 100644 index f1dd564..0000000 --- a/packages/biz/es/adapter/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as BigImageModalAdapter } from './BigImageModalAdapter'; diff --git a/packages/biz/es/adapter/index.js b/packages/biz/es/adapter/index.js deleted file mode 100644 index c32c897..0000000 --- a/packages/biz/es/adapter/index.js +++ /dev/null @@ -1 +0,0 @@ -export { default as BigImageModalAdapter } from "./BigImageModalAdapter"; \ No newline at end of file diff --git a/packages/biz/es/index.d.ts b/packages/biz/es/index.d.ts index ac47c74..78b6ca3 100644 --- a/packages/biz/es/index.d.ts +++ b/packages/biz/es/index.d.ts @@ -1,3 +1,2 @@ export { default as Demo } from './Demo'; -export * from './adapter'; export { default as BigImageModal } from './BigImageModal'; diff --git a/packages/biz/es/index.js b/packages/biz/es/index.js index aabde39..487012d 100644 --- a/packages/biz/es/index.js +++ b/packages/biz/es/index.js @@ -1,3 +1,2 @@ export { default as Demo } from "./Demo"; -export * from "./adapter"; export { default as BigImageModal } from "./BigImageModal"; \ No newline at end of file diff --git a/packages/biz/es/useSocket/index.d.ts b/packages/biz/es/useSocket/index.d.ts deleted file mode 100644 index 08018b5..0000000 --- a/packages/biz/es/useSocket/index.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -export declare const SocketApi: { - CameraTaskStatue: string; - DeviceStatus: string; - SubscribeSolutionDeploy: string; - SubscribeTasksSummary: string; - MonitorSubscribeResult: string; - MonitorSubscribeStatus: string; - SubscribeArchiveGroupUpload: string; - SubscribeJointTask: string; - SubscribeGroupFragment: string; - SubscribeGroup: string; - SubscribeStreamEvent: string; -}; -type ApiKeys = keyof typeof SocketApi; -declare const _default: (topic: ApiKeys, iterator?: any, opt?: { - req?: { - [key: string]: any; - } | undefined; - throttle?: number | undefined; - parseData?: boolean | undefined; - beforeLoopTmp?: Function | undefined; - shouldBreak: boolean; - forceRefresh: any; - close?: boolean | undefined; -} | undefined) => void; -export default _default; diff --git a/packages/biz/es/useSocket/index.js b/packages/biz/es/useSocket/index.js index 91e70c7..305ec57 100644 --- a/packages/biz/es/useSocket/index.js +++ b/packages/biz/es/useSocket/index.js @@ -2,15 +2,12 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } import { useMemo } from 'react'; -import { throttle as loadshThrottle } from '@zhst/func'; +import { throttle as loadshThrottle, noop } from '@zhst/func'; import { useDeepEffect, useLatest } from '@zhst/hooks'; import ws from "./ws"; -var noop = function noop(v) { - return null; -}; var getSelf = function getSelf(v) { return v; }; @@ -29,7 +26,6 @@ export var SocketApi = { // 监听视频分组状态变化,列表变化也通知 SubscribeStreamEvent: 'singer.MediaManagerService/SubscribeStreamEvent' // 监听视频分组状态变化,列表变化也通知 }; - export default (function (topic) { var iterator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop; var opt = arguments.length > 2 ? arguments[2] : undefined; @@ -38,8 +34,6 @@ export default (function (topic) { req = _ref$req === void 0 ? {} : _ref$req, _ref$throttle = _ref.throttle, throttle = _ref$throttle === void 0 ? 0 : _ref$throttle, - _ref$parseData = _ref.parseData, - parseData = _ref$parseData === void 0 ? true : _ref$parseData, _ref$beforeLoopTmp = _ref.beforeLoopTmp, beforeLoopTmp = _ref$beforeLoopTmp === void 0 ? getSelf : _ref$beforeLoopTmp, _ref$shouldBreak = _ref.shouldBreak, diff --git a/packages/biz/es/useSocket/ws.d.ts b/packages/biz/es/useSocket/ws.d.ts index cb4f172..0dc9550 100644 --- a/packages/biz/es/useSocket/ws.d.ts +++ b/packages/biz/es/useSocket/ws.d.ts @@ -1,8 +1,3 @@ -/// -/// -/// -/// -/// declare class Channel { /** * io 实例化对象 diff --git a/packages/biz/lib/BigImageModal/BigImageModal.d.ts b/packages/biz/lib/BigImageModal/BigImageModal.d.ts index 05eab4a..ae5e46d 100644 --- a/packages/biz/lib/BigImageModal/BigImageModal.d.ts +++ b/packages/biz/lib/BigImageModal/BigImageModal.d.ts @@ -1,23 +1,40 @@ import React from 'react'; -import type { ModalProps, DescriptionsProps, TabsProps } from 'antd'; +import type { ModalProps, DescriptionsProps, TabsProps, VideoViewRef, ImgViewRef } from '@zhst/meta'; import './index.less'; export declare const componentPrefix = "zhst-image"; +export type TAB_TYPE = 'COMPATER' | 'NORMAL' | 'VIDEO'; +export type MODEL_TYPE = 'VIDEO' | 'IMAGE'; export interface BigImageModalProps extends ModalProps { visible: boolean; - descriptionConfig: { - data: { - title: string; - children: Pick; - }[]; + activeTab?: TAB_TYPE; + attributeList: { + title: string; + children: Pick; }; - tabsConfig: { + tabs: { data: Pick & { - key: 'NORMAL' | 'COMPATER' | 'TRACK'; + key: TAB_TYPE; }; }; dataSource: any; imageData: any; relatedData: any; + isRelated?: boolean; + footer?: React.ReactNode; + showCarousel?: boolean; + onTabChange?: (newVal?: TAB_TYPE, oldVal?: TAB_TYPE) => void; + onIndexChange?: (newVal?: number, oldVal?: number) => void; + transformPropFunc: (data: any) => void; } -declare const BigImageModal: React.FC; +interface BigModalRef { + tab: TAB_TYPE; + setTab: (tab: TAB_TYPE) => void; + modalRef: ModalProps; + activeKey: string; + setActiveKey: (val: string) => void; + videoPlayerRef: VideoViewRef; + combineImageRef: any; + bigImagePreviewRef: ImgViewRef; +} +declare const BigImageModal: React.FC; export default BigImageModal; diff --git a/packages/biz/lib/BigImageModal/BigImageModal.js b/packages/biz/lib/BigImageModal/BigImageModal.js index 7973124..ff12576 100644 --- a/packages/biz/lib/BigImageModal/BigImageModal.js +++ b/packages/biz/lib/BigImageModal/BigImageModal.js @@ -34,134 +34,215 @@ __export(BigImageModal_exports, { }); module.exports = __toCommonJS(BigImageModal_exports); var import_react = __toESM(require("react")); -var import_antd = require("antd"); +var import_meta = require("@zhst/meta"); var import_classnames = __toESM(require("classnames")); var import_func = require("@zhst/func"); var import_index = require("./index.less"); var import_navigation = __toESM(require("./components/navigation")); -var DescriptionsItem = import_antd.Descriptions.Item; +var import_CombineImage = __toESM(require("./components/CombineImage")); +var DescriptionsItem = import_meta.Descriptions.Item; var componentPrefix = "zhst-image"; var initialStyle = { fontSize: "12px" }; -var BigImageModal = (props) => { +var BigImageModal = (0, import_react.forwardRef)((props, ref) => { + var _a; const { + // 配置 title = "-", open, - visible, children, - descriptionConfig = { - data: [] - }, - tabsConfig = { - data: [ - { - label: "对比图模式", - key: "1", - children: "对比图组件" - }, - { - label: "场景图模式", - key: "2", - children: "场景图组件" - } - ] - }, + activeTab, + attributeList = [], + isRelated = false, + tabs = {}, + footer = null, + showCarousel = true, + // 数据 dataSource = [], + // 总数据源,只允许有一份 imageData = [], - relatedData = [] + relatedData = [], + // 事件 + onIndexChange, + onTabChange, + transformPropFunc } = props; - const showCropRef = (0, import_react.useRef)(false); - const scaleRef = (0, import_react.useRef)(0); - const [activeKey, setActiveKey] = (0, import_react.useState)((0, import_func.get)(tabsConfig, "data[0].key")); - const [previewIndex, setPreviewIndex] = (0, import_react.useState)(0); - const [isRelated, setIsRelated] = (0, import_react.useState)(false); + const combineImageRef = (0, import_react.useRef)(null); + const bigImagePreviewRef = (0, import_react.useRef)(null); + const videoPlayerRef = (0, import_react.useRef)(null); + const modalRef = (0, import_react.useRef)(null); + const [tab, setTab] = (0, import_react.useState)(activeTab || (0, import_func.get)(tabsConfig, "data[0].key")); + const [activeKey, setActiveKey] = (0, import_react.useState)("related"); + const [currentIndex, setCurrentIndex] = (0, import_react.useState)(0); + const tabsConfig = !(0, import_func.isEmpty)(tabs) ? tabs : { + data: [ + { + label: "对比图模式", + key: "COMPATER", + children: /* @__PURE__ */ import_react.default.createElement( + import_CombineImage.default, + { + ref: combineImageRef, + data: dataSource[currentIndex] || {} + } + ) + }, + { + label: "场景图模式", + key: "NORMAL", + children: /* @__PURE__ */ import_react.default.createElement( + import_meta.BigImagePreview, + { + ref: bigImagePreviewRef, + height: "500px", + data: dataSource[currentIndex] + } + ) + } + ] + }; + (0, import_react.useEffect)(() => { + (async () => { + let data = {}; + })(); + }, [currentIndex, dataSource, imageData, isRelated]); + (0, import_react.useImperativeHandle)(ref, () => ({ + ref, + tab, + setTab, + modalRef, + activeKey, + setActiveKey, + videoPlayerRef, + combineImageRef, + bigImagePreviewRef + })); return /* @__PURE__ */ import_react.default.createElement( - import_antd.Modal, + import_meta.Modal, { destroyOnClose: true, - open: open || visible, - footer: null, + open, + ref: modalRef, + footer, className: componentPrefix, title, ...props }, - descriptionConfig.data.map((descriptions) => { - var _a; - return /* @__PURE__ */ import_react.default.createElement( - import_antd.Descriptions, - { - key: descriptions.title, - title: /* @__PURE__ */ import_react.default.createElement("p", { style: { margin: "12px 0 0", fontSize: initialStyle.fontSize } }, descriptions.title), - column: 8, - style: { padding: "0 64px" } - }, - (_a = descriptions == null ? void 0 : descriptions.children) == null ? void 0 : _a.map((item) => /* @__PURE__ */ import_react.default.createElement( - DescriptionsItem, - { - key: item.key, - label: item.label, - span: 1, - contentStyle: { fontSize: initialStyle.fontSize }, - labelStyle: { fontSize: initialStyle.fontSize } - }, - item.children - )) - ); - }), - /* @__PURE__ */ import_react.default.createElement( - import_antd.Tabs, - { - defaultActiveKey: activeKey, - centered: true, - tabBarStyle: { fontSize: "18px" }, - items: tabsConfig.data, - ...tabsConfig - } - ), /* @__PURE__ */ import_react.default.createElement( "div", { - className: (0, import_classnames.default)(`${componentPrefix}-view-container`), - style: activeKey === "TRACK" ? { - height: "718px", - marginBottom: "0px" - } : {} + style: { + marginTop: "16px" + } }, - activeKey !== "TRACK" && /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement( - import_navigation.default, + /* @__PURE__ */ import_react.default.createElement( + import_meta.ConfigProvider, { - className: (0, import_classnames.default)( - `${componentPrefix}-view-container__nav`, - previewIndex <= 0 && `${componentPrefix}-view-container__nav--disabled`, - `${componentPrefix}-view-container__nav--left` - ), - show: isRelated ? imageData.length > 1 : dataSource.length > 1, - disabled: previewIndex <= 0, - prev: true, - onClick: () => { - setPreviewIndex((pre) => pre - 1); + theme: { + token: { + colorTextSecondary: "rgba(0,0,0,0.45)" + }, + components: { + Descriptions: { + titleMarginBottom: "20px", + viewBg: "#f6f6f6", + titleColor: "rgba(0,0,0,0.45)", + colorTextLabel: "rgba(0,0,0,0.45)", + contentColor: "rgba(0,0,0,0.88)" + } + } } - } - ), /* @__PURE__ */ import_react.default.createElement( - import_navigation.default, + }, + attributeList.map((descriptions) => { + var _a2; + return /* @__PURE__ */ import_react.default.createElement( + import_meta.Descriptions, + { + key: descriptions.title, + title: /* @__PURE__ */ import_react.default.createElement("p", { style: { margin: "12px 0 0", fontSize: initialStyle.fontSize } }, descriptions.title), + column: 8, + style: { padding: "0 64px" } + }, + (_a2 = descriptions == null ? void 0 : descriptions.children) == null ? void 0 : _a2.map((item) => /* @__PURE__ */ import_react.default.createElement( + DescriptionsItem, + { + key: item.key, + label: item.label, + span: 1, + contentStyle: { fontSize: initialStyle.fontSize }, + labelStyle: { fontSize: initialStyle.fontSize } + }, + item.children + )) + ); + }) + ), + /* @__PURE__ */ import_react.default.createElement( + "div", { - className: (0, import_classnames.default)( - `${componentPrefix}-view-container__nav`, - (previewIndex >= imageData.length - 1 || previewIndex >= dataSource.length - 1) && `${componentPrefix}-view-container__nav--disabled`, - `${componentPrefix}-view-container__nav--right` - ), - show: isRelated ? imageData.length > 1 : dataSource.length > 1, - disabled: previewIndex >= imageData.length - 1 || previewIndex >= dataSource.length - 1, - next: true, - onClick: async (e) => { - setPreviewIndex((pre) => pre + 1); + className: (0, import_classnames.default)(`${componentPrefix}-view-container`) + }, + /* @__PURE__ */ import_react.default.createElement( + import_meta.Tabs, + { + activeKey: tab, + centered: true, + destroyInactiveTabPane: true, + onChange: (v) => { + setTab((pre) => { + onTabChange == null ? void 0 : onTabChange(v, pre); + return v; + }); + }, + tabBarStyle: { fontSize: "18px", fontWeight: "bold" }, + items: tabsConfig.data, + ...tabsConfig } - } - )) + ), + tab === "VIDEO" && /* @__PURE__ */ import_react.default.createElement(import_meta.VideoPlayer, { ref: videoPlayerRef, url: (_a = dataSource[currentIndex]) == null ? void 0 : _a.flvUrl }), + /* @__PURE__ */ import_react.default.createElement( + import_navigation.default, + { + className: (0, import_classnames.default)( + `${componentPrefix}-view-container__nav`, + currentIndex <= 0 && `${componentPrefix}-view-container__nav--disabled`, + `${componentPrefix}-view-container__nav--left` + ), + show: isRelated ? imageData.length > 1 : dataSource.length > 1, + disabled: currentIndex <= 0, + prev: true, + onClick: () => { + setCurrentIndex((pre) => { + onIndexChange == null ? void 0 : onIndexChange(pre - 1, pre); + return pre - 1; + }); + } + } + ), + /* @__PURE__ */ import_react.default.createElement( + import_navigation.default, + { + className: (0, import_classnames.default)( + `${componentPrefix}-view-container__nav`, + (currentIndex >= imageData.length - 1 || currentIndex >= dataSource.length - 1) && `${componentPrefix}-view-container__nav--disabled`, + `${componentPrefix}-view-container__nav--right` + ), + show: isRelated ? imageData.length > 1 : dataSource.length > 1, + disabled: currentIndex >= imageData.length - 1 || currentIndex >= dataSource.length - 1, + next: true, + onClick: async (e) => { + setCurrentIndex((pre) => { + onIndexChange == null ? void 0 : onIndexChange(pre + 1, pre); + return pre + 1; + }); + } + } + ) + ) ) ); -}; +}); var BigImageModal_default = BigImageModal; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { diff --git a/packages/biz/lib/BigImageModal/index.less b/packages/biz/lib/BigImageModal/index.less index 966b5d6..8e98e2e 100644 --- a/packages/biz/lib/BigImageModal/index.less +++ b/packages/biz/lib/BigImageModal/index.less @@ -3,11 +3,14 @@ box-shadow: 0 4px 12px rgb(0 0 0 / 20%); } + .zhst-tabs .zhst-tabs-nav-wrap { + background-color: #f6f6f6; + } + &-view-container { position: relative; width: 100%; - height: 532px; margin-bottom: 16px; &__nav { @@ -226,231 +229,6 @@ } } -.zhst-image__header { - width: 100%; - // margin-top: 3px; - margin-bottom: 10px; - - &__pad0 { - padding: 0; - } - - &__pad66 { - padding: 0 66px; - } - - &__bar { - display: flex; - width: 100%; - background: #f6f6f6; - // box-shadow: 0px 0px 8px 0px rgba(172, 172, 172, 0.5); - justify-content: center; - // border-color: #f0f0f0; - // border-bottom-width: 1px; - // border-bottom-style: solid; - } - - &__barNoColor { - display: flex; - width: 100%; - justify-content: center; - border-color: #f0f0f0; - border-bottom-width: 1px; - border-bottom-style: solid; - } - - &__item { - position: relative; - display: flex; - height: 40px; - align-items: center; - justify-content: center; - margin: 0 15px; - color: #999; - cursor: pointer; - font-size: 14px; - font-weight: bold; - line-height: 19px; - transition: font-size 0.3s ease; - - &:hover { - // font-size: 18px; - color: #333; - } - - &::before { - position: absolute; - bottom: 0; - left: 50%; - width: 0; - border-bottom: 2px solid #09f; - content: ''; - transition: all 0.3s ease; - } - - &--active { - background-color: transparent; - color: #333; - font-size: 18px; - - // color: #0099ff; - &::before { - left: 0; - width: 100%; - } - } - } -} - - -.zhst-image__compater-view { - display: flex; - width: 100%; - align-items: center; - justify-content: center; - - &>div:first-child { - margin-right: 25px; - } - - &>div:last-child { - margin-left: 25px; - } - - &__container { - position: relative; - width: 345px; - height: 460px; - box-sizing: content-box; - border: 1px solid #f0f0f0; - } - - &__view { - width: 345px; - height: 460px; - } - - &__label { - position: absolute; - z-index: 99; - top: 0; - left: 0; - display: flex; - height: 34px; - align-items: center; - justify-content: center; - - // width: 48px; - padding: 0 6px; - background: #09f; - color: #fff; - } - - &__tool { - display: flex; - width: 345px; - height: 40px; - align-items: center; - justify-content: center; - background: #f9f9f9; - - i, - span { - color: #333 !important; - } - - i { - margin-right: 4px; - } - - &>*:not(:last-child) { - margin-right: 20px; - } - - &__scale { - display: inline-block; - width: 38px; - height: 16px; - - // margin-left: 15px; - box-sizing: content-box; - border: 1px solid rgb(77 77 77 / 100%); - background: rgb(255 255 255 / 100%); - border-radius: 2px; - color: #4d4d4d; - cursor: default; - font-size: 12px; - line-height: 16px; - text-align: center; - } - - &__line { - width: 1px; - height: 14px; - background: #e6e6e6; - } - } - - &__empty { - position: absolute; - z-index: 9; - display: flex; - width: 100%; - height: 100%; - flex-direction: column; - align-items: center; - justify-content: center; - background: #f9f9f9; - transform: translateY(-100%); - - &>img { - width: 140px; - height: 80px; - } - - &--text { - color: #999; - font-size: 14px; - line-height: 22px; - } - } - - &__scoll-module { - position: absolute; - top: 0%; - left: 0%; - display: flex; - width: 100%; - height: 100%; - align-items: flex-end; - justify-content: space-between; - pointer-events: none; - - &__btn { - display: flex; - width: 50px; - height: 50px; - align-items: center; - justify-content: center; - margin: 6px; - border-radius: 50%; - opacity: 0.5; - pointer-events: all; - - &>span { - display: flex; - align-items: center; - justify-content: center; - } - } - - &__btn:hover { - background-color: #09f !important; - color: #fff !important; - } - } -} - .zhst-image__trackmodel { &__panel { position: relative; @@ -643,23 +421,6 @@ } } -.zhst-image__null { - display: flex; - height: 100%; - flex-direction: column; - align-items: center; - justify-content: center; - - &__text { - // margin-left: 105px; - margin-top: 8px; - color: #999; - font-size: 14px; - width: 100%; - text-align: center; - } -} - .zhst-image__attributePanel { margin: 0 66px; background: #f6f6f6; @@ -713,23 +474,6 @@ .relatedPics { width: 742px; height: 100px; - // display: flex; - // box-sizing: border-box; - // background: #fafafa; - // border-radius: 2px; - // border: 1px solid #f0f0f0; - // .LeftBtn, - // .RighttBtn { - // width: 34px; - // height: 100%; - // display: flex; - // justify-content: center; - // align-items: center; - // } - // .ListContent { - // flex: 1; - // height: 100%; - // } } .disabled { diff --git a/packages/biz/lib/BigImageModal/mock.d.ts b/packages/biz/lib/BigImageModal/mock.d.ts deleted file mode 100644 index 257ed75..0000000 --- a/packages/biz/lib/BigImageModal/mock.d.ts +++ /dev/null @@ -1,294 +0,0 @@ -export declare const IMAGE_DATA: { - enAbleDeleteFeature: boolean; - tabsFilter: string[]; - dataSources: { - objectId: string; - condition: { - featureInfo: null; - featureData: string; - imageData: string; - alg: string; - rect: { - x: number; - y: number; - w: number; - h: number; - }; - objectImageUrl: string; - srcImageUrl: string; - }; - score: number; - timestamp: number; - deviceId: string; - id: string; - name: string; - dirid: string; - status: string; - longitude: number; - latitude: number; - caseId: string; - caseGroup: string; - isDeleted: string; - extendInfo: { - vmsPlatformId: string; - vmsChannel: string; - vmsCameraDecoderTag: string; - platformPluginType: string; - deviceVender: string; - type: string; - ip: string; - port: string; - username: string; - passwd: string; - rtspAddress: string; - facesnapChannel: string; - edgeDeviceSn: string; - platform1400Id: number; - useRtspAddress: boolean; - frameCheck: boolean; - frameRectX: number; - frameRectY: number; - frameRectW: number; - frameRectH: number; - edgeNodeId: string; - processStatus: string; - }; - objectIndex: { - objectId: string; - solutionId: string; - deviceId: string; - fragmentId: string; - }; - objectType: string; - isObjectTrack: boolean; - pathId: string; - frameInfo: { - frameId: string; - frameTimestamp: string; - width: number; - height: number; - originWidth: number; - originHeight: number; - offsetTime: string; - skipNumber: string; - }; - level: number; - bboxInFrame: { - x: number; - y: number; - w: number; - h: number; - }; - bboxExtInFrame: { - x: number; - y: number; - w: number; - h: number; - }; - objectImageKey: string; - objectExtImageKey: string; - frameImageKey: string; - confidence: number; - sourceObjectId: string; - storeTimestamp: string; - gbNumber: string; - qualityScore: number; - subObjectCount: number; - subObjectType: string[]; - subObjectIds: string[]; - cameraInfo: { - id: string; - name: string; - dirid: string; - status: string; - longitude: number; - latitude: number; - caseId: string; - caseGroup: string; - isDeleted: string; - extendInfo: { - vmsPlatformId: string; - vmsChannel: string; - vmsCameraDecoderTag: string; - platformPluginType: string; - deviceVender: string; - type: string; - ip: string; - port: string; - username: string; - passwd: string; - rtspAddress: string; - facesnapChannel: string; - edgeDeviceSn: string; - platform1400Id: number; - useRtspAddress: boolean; - frameCheck: boolean; - frameRectX: number; - frameRectY: number; - frameRectW: number; - frameRectH: number; - edgeNodeId: string; - processStatus: string; - }; - }; - solutionId: string; - fragmentId: string; - contrastKey: string; - compaterImages: string[]; - imgSummary: string; - imageKey: string; - srcImageUrl: string; - algorithmVersion: string; - cameraId: string; - cameraName: string; - }[]; - selectIndex: number; - disableBtn: number[]; - dataSource: { - objectId: string; - condition: { - featureInfo: null; - featureData: string; - imageData: string; - alg: string; - rect: { - x: number; - y: number; - w: number; - h: number; - }; - objectImageUrl: string; - srcImageUrl: string; - }; - score: number; - timestamp: number; - deviceId: string; - id: string; - name: string; - dirid: string; - status: string; - longitude: number; - latitude: number; - caseId: string; - caseGroup: string; - isDeleted: string; - extendInfo: { - vmsPlatformId: string; - vmsChannel: string; - vmsCameraDecoderTag: string; - platformPluginType: string; - deviceVender: string; - type: string; - ip: string; - port: string; - username: string; - passwd: string; - rtspAddress: string; - facesnapChannel: string; - edgeDeviceSn: string; - platform1400Id: number; - useRtspAddress: boolean; - frameCheck: boolean; - frameRectX: number; - frameRectY: number; - frameRectW: number; - frameRectH: number; - edgeNodeId: string; - processStatus: string; - }; - objectIndex: { - objectId: string; - solutionId: string; - deviceId: string; - fragmentId: string; - }; - objectType: string; - isObjectTrack: boolean; - pathId: string; - frameInfo: { - frameId: string; - frameTimestamp: string; - width: number; - height: number; - originWidth: number; - originHeight: number; - offsetTime: string; - skipNumber: string; - }; - level: number; - bboxInFrame: { - x: number; - y: number; - w: number; - h: number; - }; - bboxExtInFrame: { - x: number; - y: number; - w: number; - h: number; - }; - objectImageKey: string; - objectExtImageKey: string; - frameImageKey: string; - confidence: number; - sourceObjectId: string; - storeTimestamp: string; - gbNumber: string; - qualityScore: number; - subObjectCount: number; - subObjectType: string[]; - subObjectIds: string[]; - cameraInfo: { - id: string; - name: string; - dirid: string; - status: string; - longitude: number; - latitude: number; - caseId: string; - caseGroup: string; - isDeleted: string; - extendInfo: { - vmsPlatformId: string; - vmsChannel: string; - vmsCameraDecoderTag: string; - platformPluginType: string; - deviceVender: string; - type: string; - ip: string; - port: string; - username: string; - passwd: string; - rtspAddress: string; - facesnapChannel: string; - edgeDeviceSn: string; - platform1400Id: number; - useRtspAddress: boolean; - frameCheck: boolean; - frameRectX: number; - frameRectY: number; - frameRectW: number; - frameRectH: number; - edgeNodeId: string; - processStatus: string; - }; - }; - solutionId: string; - fragmentId: string; - contrastKey: string; - compaterImages: string[]; - imgSummary: string; - imageKey: string; - srcImageUrl: string; - algorithmVersion: string; - cameraId: string; - cameraName: string; - }[]; - isArchiveDetail: boolean; - ToolProps: { - renderVideoBtn: boolean; - disableVideo: boolean; - }; - specialTitle: string; -}; diff --git a/packages/biz/lib/BigImageModal/mock.js b/packages/biz/lib/BigImageModal/mock.js index e3072e9..42b5935 100644 --- a/packages/biz/lib/BigImageModal/mock.js +++ b/packages/biz/lib/BigImageModal/mock.js @@ -19,7 +19,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru // src/BigImageModal/mock.ts var mock_exports = {}; __export(mock_exports, { - IMAGE_DATA: () => IMAGE_DATA + BIG_IMAGE_DATA: () => BIG_IMAGE_DATA, + IMAGE_DATA: () => IMAGE_DATA, + attributeList: () => attributeList }); module.exports = __toCommonJS(mock_exports); var IMAGE_DATA = { @@ -28,449 +30,6 @@ var IMAGE_DATA = { "COMPATER", "NORMAL" ], - "dataSources": [ - { - "objectId": "1742110565582518272", - "condition": { - "featureInfo": null, - "featureData": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", - "imageData": "", - "alg": "VERSION_REID_HEAD_ATTR", - "rect": { - "x": 0.271875, - "y": 0.32222223, - "w": 0.2859375, - "h": 0.67777777 - }, - "objectImageUrl": "singer-20240102/1/129529/1742047651878156288.jpg", - "srcImageUrl": "singer-20240102/1/129529/1742047652511496192.jpg" - }, - "score": 0.7163062, - "timestamp": 1704186491979, - "deviceId": "129533", - "id": "129533", - "name": "4楼门口过道人脸", - "dirid": "0", - "status": "1", - "longitude": 120.125, - "latitude": 30.280500411987305, - "caseId": "0", - "caseGroup": "", - "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "38", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - }, - "objectIndex": { - "objectId": "1742110565582518272", - "solutionId": "1", - "deviceId": "129533", - "fragmentId": "0" - }, - "objectType": "OBJECT_TYPE_PEDESTRAIN", - "isObjectTrack": true, - "pathId": "1742110532019697664", - "frameInfo": { - "frameId": "0", - "frameTimestamp": "1704186491979", - "width": 0, - "height": 0, - "originWidth": 1920, - "originHeight": 1080, - "offsetTime": "24714687", - "skipNumber": "0" - }, - "level": 1, - "bboxInFrame": { - "x": 0.603125, - "y": 0.3314815, - "w": 0.0578125, - "h": 0.2712963 - }, - "bboxExtInFrame": { - "x": 0.546875, - "y": 0.2638889, - "w": 0.17135416, - "h": 0.40648147 - }, - "objectImageKey": "", - "objectExtImageKey": "http://10.0.0.7:30003/file/singer-20240102/1/129533/1742110565582518272.jpg", - "frameImageKey": "http://10.0.0.7:30003/file/singer-20240102/1/129533/1742110565603489792.jpg", - "confidence": 0.817271, - "sourceObjectId": "1742110565603489792", - "storeTimestamp": "0", - "gbNumber": "", - "qualityScore": 0, - "subObjectCount": 1, - "subObjectType": [ - "OBJECT_TYPE_FACE" - ], - "subObjectIds": [ - "1742110532015503360" - ], - "cameraInfo": { - "id": "129533", - "name": "4楼门口过道人脸", - "dirid": "0", - "status": "1", - "longitude": 120.125, - "latitude": 30.280500411987305, - "caseId": "0", - "caseGroup": "", - "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "38", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - } - }, - "solutionId": "1", - "fragmentId": "0", - "contrastKey": "singer-20240102/1/129533/1742110565582518272.jpg", - "compaterImages": [ - "http://10.0.0.7:30003/file/singer-20240102/1/129529/1742047651878156288.jpg" - ], - "imgSummary": "singer-20240102/1/129533/1742110565582518272.jpg", - "imageKey": "http://10.0.0.7:30003/file/singer-20240102/1/129533/1742110565582518272.jpg", - "srcImageUrl": "http://10.0.0.7:30003/file/singer-20240102/1/129533/1742110565603489792.jpg", - "algorithmVersion": "VERSION_REID_HEAD_ATTR", - "cameraId": "129533", - "cameraName": "4楼门口过道人脸" - }, - { - "objectId": "1742092780462684161", - "condition": { - "featureInfo": null, - "featureData": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", - "imageData": "", - "alg": "VERSION_REID_HEAD_ATTR", - "rect": { - "x": 0.271875, - "y": 0.32222223, - "w": 0.2859375, - "h": 0.67777777 - }, - "objectImageUrl": "singer-20240102/1/129529/1742047651878156288.jpg", - "srcImageUrl": "singer-20240102/1/129529/1742047652511496192.jpg" - }, - "score": 0.70154816, - "timestamp": 1704182251640, - "deviceId": "129533", - "id": "129533", - "name": "4楼门口过道人脸", - "dirid": "0", - "status": "1", - "longitude": 120.125, - "latitude": 30.280500411987305, - "caseId": "0", - "caseGroup": "", - "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "38", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - }, - "objectIndex": { - "objectId": "1742092780462684161", - "solutionId": "1", - "deviceId": "129533", - "fragmentId": "0" - }, - "objectType": "OBJECT_TYPE_PEDESTRAIN", - "isObjectTrack": true, - "pathId": "1742092746237163520", - "frameInfo": { - "frameId": "0", - "frameTimestamp": "1704182251640", - "width": 0, - "height": 0, - "originWidth": 1920, - "originHeight": 1080, - "offsetTime": "20474348", - "skipNumber": "0" - }, - "level": 1, - "bboxInFrame": { - "x": 0.63177085, - "y": 0.38333333, - "w": 0.078125, - "h": 0.3537037 - }, - "bboxExtInFrame": { - "x": 0.55885416, - "y": 0.29537037, - "w": 0.22447917, - "h": 0.5314815 - }, - "objectImageKey": "", - "objectExtImageKey": "http://10.0.0.7:30003/file/singer-20240102/1/129533/1742092780462684161.jpg", - "frameImageKey": "http://10.0.0.7:30003/file/singer-20240102/1/129533/1742092780768868352.jpg", - "confidence": 0.888334, - "sourceObjectId": "1742092780768868352", - "storeTimestamp": "0", - "gbNumber": "", - "qualityScore": 0, - "subObjectCount": 1, - "subObjectType": [ - "OBJECT_TYPE_FACE" - ], - "subObjectIds": [ - "1742092746232969217" - ], - "cameraInfo": { - "id": "129533", - "name": "4楼门口过道人脸", - "dirid": "0", - "status": "1", - "longitude": 120.125, - "latitude": 30.280500411987305, - "caseId": "0", - "caseGroup": "", - "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "38", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - } - }, - "solutionId": "1", - "fragmentId": "0", - "contrastKey": "singer-20240102/1/129533/1742092780462684161.jpg", - "compaterImages": [ - "http://10.0.0.7:30003/file/singer-20240102/1/129529/1742047651878156288.jpg" - ], - "imgSummary": "singer-20240102/1/129533/1742092780462684161.jpg", - "imageKey": "http://10.0.0.7:30003/file/singer-20240102/1/129533/1742092780462684161.jpg", - "srcImageUrl": "http://10.0.0.7:30003/file/singer-20240102/1/129533/1742092780768868352.jpg", - "algorithmVersion": "VERSION_REID_HEAD_ATTR", - "cameraId": "129533", - "cameraName": "4楼门口过道人脸" - }, - { - "objectId": "1742092514409592832", - "condition": { - "featureInfo": null, - "featureData": "AAAAAAAAAAAAAAA==", - "imageData": "", - "alg": "VERSION_REID_HEAD_ATTR", - "rect": { - "x": 0.271875, - "y": 0.32222223, - "w": 0.2859375, - "h": 0.67777777 - }, - "objectImageUrl": "singer-20240102/1/129529/1742047651878156288.jpg", - "srcImageUrl": "singer-20240102/1/129529/1742047652511496192.jpg" - }, - "score": 0.703765, - "timestamp": 1704182186451, - "deviceId": "129529", - "id": "129529", - "name": "4入口人脸", - "dirid": "0", - "status": "1", - "longitude": 120.12100219726562, - "latitude": 30.280099868774414, - "caseId": "0", - "caseGroup": "", - "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "34", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - }, - "objectIndex": { - "objectId": "1742092514409592832", - "solutionId": "1", - "deviceId": "129529", - "fragmentId": "0" - }, - "objectType": "OBJECT_TYPE_PEDESTRAIN", - "isObjectTrack": true, - "pathId": "1742092482440607744", - "frameInfo": { - "frameId": "0", - "frameTimestamp": "1704182186451", - "width": 0, - "height": 0, - "originWidth": 2560, - "originHeight": 1440, - "offsetTime": "20409182", - "skipNumber": "0" - }, - "level": 1, - "bboxInFrame": { - "x": 0.6195313, - "y": 0.24583334, - "w": 0.09804688, - "h": 0.41944444 - }, - "bboxExtInFrame": { - "x": 0.53515625, - "y": 0.14027777, - "w": 0.26640624, - "h": 0.63125 - }, - "objectImageKey": "", - "objectExtImageKey": "http://10.0.0.7:30003/file/singer-20240102/1/129529/1742092514409592832.jpg", - "frameImageKey": "http://10.0.0.7:30003/file/singer-20240102/1/129529/1742092515508500480.jpg", - "confidence": 0.92494, - "sourceObjectId": "1742092515508500480", - "storeTimestamp": "0", - "gbNumber": "", - "qualityScore": 0, - "subObjectCount": 1, - "subObjectType": [ - "OBJECT_TYPE_FACE" - ], - "subObjectIds": [ - "1742092482432219136" - ], - "cameraInfo": { - "id": "129529", - "name": "4入口人脸", - "dirid": "0", - "status": "1", - "longitude": 120.12100219726562, - "latitude": 30.280099868774414, - "caseId": "0", - "caseGroup": "", - "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "34", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - } - }, - "solutionId": "1", - "fragmentId": "0", - "contrastKey": "singer-20240102/1/129529/1742092514409592832.jpg", - "compaterImages": [ - "http://10.0.0.7:30003/file/singer-20240102/1/129529/1742047651878156288.jpg" - ], - "imgSummary": "singer-20240102/1/129529/1742092514409592832.jpg", - "imageKey": "http://10.0.0.7:30003/file/singer-20240102/1/129529/1742092514409592832.jpg", - "srcImageUrl": "http://10.0.0.7:30003/file/singer-20240102/1/129529/1742092515508500480.jpg", - "algorithmVersion": "VERSION_REID_HEAD_ATTR", - "cameraId": "129529", - "cameraName": "4入口人脸" - } - ], "selectIndex": 4, "disableBtn": [ 0, @@ -507,30 +66,6 @@ var IMAGE_DATA = { "caseId": "0", "caseGroup": "", "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "38", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - }, "objectIndex": { "objectId": "1742110565582518272", "solutionId": "1", @@ -578,41 +113,6 @@ var IMAGE_DATA = { "subObjectIds": [ "1742110532015503360" ], - "cameraInfo": { - "id": "129533", - "name": "4楼门口过道人脸", - "dirid": "0", - "status": "1", - "longitude": 120.125, - "latitude": 30.280500411987305, - "caseId": "0", - "caseGroup": "", - "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "38", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - } - }, "solutionId": "1", "fragmentId": "0", "contrastKey": "singer-20240102/1/129533/1742110565582518272.jpg", @@ -654,30 +154,6 @@ var IMAGE_DATA = { "caseId": "0", "caseGroup": "", "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "38", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - }, "objectIndex": { "objectId": "1742092680994764802", "solutionId": "1", @@ -721,41 +197,6 @@ var IMAGE_DATA = { "subObjectCount": 0, "subObjectType": [], "subObjectIds": [], - "cameraInfo": { - "id": "129533", - "name": "4楼门口过道人脸", - "dirid": "0", - "status": "1", - "longitude": 120.125, - "latitude": 30.280500411987305, - "caseId": "0", - "caseGroup": "", - "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "38", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - } - }, "solutionId": "1", "fragmentId": "0", "contrastKey": "singer-20240102/1/129533/1742092680994764802.jpg", @@ -797,30 +238,6 @@ var IMAGE_DATA = { "caseId": "0", "caseGroup": "", "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "34", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - }, "objectIndex": { "objectId": "1742092514409592832", "solutionId": "1", @@ -868,41 +285,6 @@ var IMAGE_DATA = { "subObjectIds": [ "1742092482432219136" ], - "cameraInfo": { - "id": "129529", - "name": "4入口人脸", - "dirid": "0", - "status": "1", - "longitude": 120.12100219726562, - "latitude": 30.280099868774414, - "caseId": "0", - "caseGroup": "", - "isDeleted": "DEVICEMANAGER_BOOL_DEFAULT", - "extendInfo": { - "vmsPlatformId": "29", - "vmsChannel": "34", - "vmsCameraDecoderTag": "hikvision", - "platformPluginType": "PLATFORM_PLUGIN_TYPE_HAIKANG_NVR", - "deviceVender": "0", - "type": "DEVICEMANAGER_CAMERA_TYPE_NORMAL", - "ip": "", - "port": "0", - "username": "", - "passwd": "", - "rtspAddress": "", - "facesnapChannel": "", - "edgeDeviceSn": "", - "platform1400Id": 0, - "useRtspAddress": false, - "frameCheck": false, - "frameRectX": 0, - "frameRectY": 0, - "frameRectW": 0, - "frameRectH": 0, - "edgeNodeId": "0", - "processStatus": "FILTER_REALTIME_DEFAULT" - } - }, "solutionId": "1", "fragmentId": "0", "contrastKey": "singer-20240102/1/129529/1742092514409592832.jpg", @@ -924,7 +306,262 @@ var IMAGE_DATA = { }, "specialTitle": "" }; +var BIG_IMAGE_DATA = [ + { + imageKey: "http://10.0.0.120:30003/file/singer-20240110/1/5/1744894622934503424.jpg", + imgSummary: "http://10.0.0.120:30003/file/singer-20240117/1/5/1747536346412488704.jpg", + flvUrl: "ws://10.0.0.120:9033/flv/Sip/34020000001310000301.flv?ip=10.0.0.120&stime=1704815972&etime=1704815992", + compaterImages: [ + "http://10.0.0.120:30003/file/singer-20240117/1/5/1747536346412488704.jpg", + "http://10.0.0.120:30003/file/public/public_20240117/file/dfdd3340-53c8-4dc4-9921-f13230aa0355.jpg" + ], + odRect: { + "x": 0.5445312, + "y": 0.19166666, + "w": 0.08671875, + "h": 0.40138888 + }, + attachImg: [ + { + "url": "http://10.0.0.120:30003/file/singer-20240110/1/5/1744894622695428096.jpg", + "label": "形体" + }, + { + "url": "http://10.0.0.120:30003/file/singer-20240110/1/5/1744894588427964418.jpg", + "label": "人脸" + } + ], + score: "0.6", + // 人脸质量分 + showScore: true, + // 人脸质量分 + cameraPosition: "string", + // 摄像头位置 + time: "2022-01-01", + // 摄像头拍摄时间 + objects: [ + { + "objectIndex": { + "objectId": "1746832189053474816", + "solutionId": "0", + "deviceId": "0", + "fragmentId": "0" + }, + "objectType": "OBJECT_TYPE_PEDESTRAIN", + "sourceObjectId": "0", + "level": 0, + "confidence": 0.881164, + "frameInfo": { + "frameId": "0", + "frameTimestamp": "1705312223057", + "width": 0, + "height": 0, + "originWidth": 0, + "originHeight": 0, + "offsetTime": "0", + "skipNumber": "0" + }, + "infoOnSource": { + "bboxInFrame": { + "bboxRatio": { + "x": 0.61418945, + "y": 0.34309354, + "w": 0.067661405, + "h": 0.34659258 + } + }, + "countInSource": 0, + "indexInSource": 0 + }, + "qualityScore": 0 + } + ] + }, + { + imageKey: "http://10.0.0.120:30003/file/singer-20240115/1/9/1746795581994436608.jpg", + imgSummary: "http://10.0.0.120:30003/file/singer-20240117/1/5/1747536346412488704.jpg", + odRect: { + "x": 0.553125, + "y": 0.29722223, + "w": 0.048958335, + "h": 0.2462963 + }, + attachImg: [ + { + "url": "http://10.0.0.120:30003/file/singer-20240115/1/9/1746795581163964416.jpg", + "label": "形体" + }, + { + "url": "http://10.0.0.120:30003/file/singer-20240115/1/9/1746795546867140608.jpg", + "label": "人脸" + } + ], + flvUrl: "ws://10.0.0.120:9033/flv/HaikangNvr/34.flv?ip=10.0.2.103&stime=1705302394&etime=1705302414", + score: 0.815207, + // 人脸质量分 + showScore: true, + // 人脸质量分 + cameraPosition: "string", + // 摄像头位置 + time: "2022-01-01", + // 摄像头拍摄时间 + objects: [ + { + "objectIndex": { + "objectId": "1746816737430472704", + "solutionId": "0", + "deviceId": "0", + "fragmentId": "0" + }, + "objectType": "OBJECT_TYPE_PEDESTRAIN", + "sourceObjectId": "0", + "frameInfo": { + "frameId": "0", + "frameTimestamp": "1705308539109", + "width": 0, + "height": 0, + "originWidth": 0, + "originHeight": 0, + "offsetTime": "0", + "skipNumber": "0" + }, + "infoOnSource": { + "bboxInFrame": { + "bboxRatio": { + "x": 0.5519352, + "y": 0.2965385, + "w": 0.05185461, + "h": 0.24698898 + } + }, + "countInSource": 0, + "indexInSource": 0 + }, + "qualityScore": 0 + }, + { + "objectIndex": { + "objectId": "1746816737430472705", + "solutionId": "0", + "deviceId": "0", + "fragmentId": "0" + }, + "objectType": "OBJECT_TYPE_PEDESTRAIN", + "sourceObjectId": "0", + "level": 0, + "confidence": 0.9310699, + "frameInfo": { + "frameId": "0", + "frameTimestamp": "1705308539109", + "width": 0, + "height": 0, + "originWidth": 0, + "originHeight": 0, + "offsetTime": "0", + "skipNumber": "0" + }, + "infoOnSource": { + "bboxInFrame": { + "bboxRatio": { + "x": 0.58543766, + "y": 0.3203356, + "w": 0.052037954, + "h": 0.2664015 + } + }, + "countInSource": 0, + "indexInSource": 0 + }, + "qualityScore": 0 + } + ] + } +]; +var attributeList = [ + { + title: "人员属性", + children: [ + { + key: "1", + label: "性别", + children: "男" + }, + { + key: "2", + label: "年龄", + children: "成年" + }, + { + key: "3", + label: "帽子", + children: "无" + }, + { + key: "4", + label: "上身颜色", + children: "灰" + }, + { + key: "5", + label: "下身颜色", + children: "蓝色" + }, + { + key: "6", + label: "附着物", + children: "无" + }, + { + key: "7", + label: "骑行", + children: "否" + } + ] + }, + { + title: "社区规范", + children: [ + { + key: "1", + label: "性别", + children: "男" + }, + { + key: "2", + label: "年龄", + children: "成年" + }, + { + key: "3", + label: "帽子", + children: "无" + }, + { + key: "4", + label: "上身颜色", + children: "灰" + }, + { + key: "5", + label: "下身颜色", + children: "蓝色" + }, + { + key: "6", + label: "附着物", + children: "无" + }, + { + key: "7", + label: "骑行", + children: "否" + } + ] + } +]; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { - IMAGE_DATA + BIG_IMAGE_DATA, + IMAGE_DATA, + attributeList }); diff --git a/packages/biz/lib/adapter/BigImageModalAdapter/index.d.ts b/packages/biz/lib/adapter/BigImageModalAdapter/index.d.ts deleted file mode 100644 index dab889b..0000000 --- a/packages/biz/lib/adapter/BigImageModalAdapter/index.d.ts +++ /dev/null @@ -1,153 +0,0 @@ -/** - * 适配老的大屏组件数据格式传入 - */ -import React from 'react'; -import { AlgorithmVersionStr, HumanProperty, ObjectType, Rect, ViewOption, AlignType, IScreenshotButtonProp, ODRECT } from '@zhst/types'; -export type TAB_TYPE = 'COMPATER' | 'NORMAL' | 'TRACK'; -export type MODEL_TYPE = 'VIDEO' | 'IMAGE'; -export interface ImgViewProps extends React.HTMLAttributes { - imageKey: string; - odRect: ODRECT; - attachImg?: Array<{ - label: string; - url: string; - }>; - showAttachImgLabel: boolean; - screenshotButtonAlign: AlignType; - screenshotButtonRender: (screenshotButtonProp: IScreenshotButtonProp) => React.ReactElement; - scale$?: number; - showCrop$?: boolean; - hideLeftTopBtn?: boolean; - score?: number; - viewOption?: ViewOption; -} -export interface VideoViewProps { - flvUrl: string; - maxDuration?: number; - screenshotButtonAlign?: AlignType; - screenshotButtonRender?: (screenshotButtonProp: IScreenshotButtonProp) => React.ReactElement; - defautlNormalizationRect?: Rect; - onCropChange?: (showCrop: boolean, normalizationRect: null | Rect) => void; - showCrop$?: boolean; -} -export interface CarouselProps { - hasPre?: boolean; - hasNext?: boolean; - selectIndex: number; - setSelectIndex: React.Dispatch>; - dataSource: Array<{ - key: string; - url: string; - }>; -} -export type ISelectItem = Partial> & Partial>; -export interface HeaderProps { - value: TAB_TYPE; - onChange: (type: TAB_TYPE) => void; - tabsFilter: TAB_TYPE[]; -} -export interface ImgViewRef { - imgInsRef: React.MutableRefObject; - setShowCrop: React.Dispatch>; -} -export interface VideoViewRef { - cropAble: boolean; - setShowCrop: React.Dispatch>; - downloadVideoframe: () => void; -} -export interface ParamProps { - tab: string; - selectItem: ISelectItem; - imgViewRef: React.MutableRefObject; - VideoViewRef: React.MutableRefObject; - model: MODEL_TYPE; - setModel: React.Dispatch>; - scale$: number; - showCrop$: boolean; -} -export interface BigImageData { - extendRectList: (Rect & { - algorithmVersion: AlgorithmVersionStr; - imageKey: string; - })[]; - rectList: (Rect & { - algorithmVersion: AlgorithmVersionStr; - imageKey: string; - })[]; - attachImg: { - url: string; - label: '形体' | '人脸'; - }[]; - odRect: Rect; - imageKey: string; - imgSummary: string; - objectExtImageKey: string; - attributeList: { - label: string; - list: any[]; - }[]; - archiveImages?: any; - spaceName: string; - objectType: ObjectType; - objectId: string; - bodyObjectId?: string; - faceObjectId?: string; - sourceObjectId?: string; - cameraId: string; - cameraName: string; - selectIndex: number; - humanProperty: HumanProperty; - qualityScore?: number; - score: number; - timestamp: string; - bodyImageUrl: string; - faceImageUrl: string; - algorithmVersion: AlgorithmVersionStr; - bodySpaceName: string; - faceSpaceName: string; - solutionId?: string; - [index: string]: any; -} -interface IOldImageData { - visible?: boolean; - defaultModel?: MODEL_TYPE; - onClose?: () => void; - isLoading?: boolean; - hasPre?: boolean; - hasNext?: boolean; - selectIndex?: number; - onSelectIndexChange?: (i: number) => void; - dataSource: any[]; - dataSources: any[]; - relatedData?: any[]; - transformPropFunc: (item: any) => ISelectItem; - transformVideoPropFunc: (item: ISelectItem) => Promise>; - screenshotButtonRender?: (screenshotButtonProp: IScreenshotButtonProp) => React.ReactElement; - showTool?: boolean; - showCarousel?: boolean; - imgViewProp?: Partial; - videoViewProp?: Partial; - ToolProps?: Partial; - nullDialogProp?: { - emptyText?: string; - }; - showHeader?: boolean; - tabsFilter?: TAB_TYPE[]; - useVirtual?: boolean; - loadNext?: (i: number) => Promise; - loadPre?: (i: number) => Promise; - children: React.ReactNode; - title?: string; - specialTitle?: string; - isRelated?: boolean; - carouselProp?: Partial; -} -export interface ToolProps { - renderRight?: (props: ParamProps) => React.ReactNode; - renderLeft?: (props: ParamProps) => React.ReactNode; - renderVideoBtn?: boolean; - param: ParamProps; - disableVideo: boolean; -} -declare const _default: (data: IOldImageData) => IOldImageData; -export default _default; diff --git a/packages/biz/lib/adapter/BigImageModalAdapter/index.js b/packages/biz/lib/adapter/BigImageModalAdapter/index.js deleted file mode 100644 index 9deae88..0000000 --- a/packages/biz/lib/adapter/BigImageModalAdapter/index.js +++ /dev/null @@ -1,28 +0,0 @@ -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// src/adapter/BigImageModalAdapter/index.tsx -var BigImageModalAdapter_exports = {}; -__export(BigImageModalAdapter_exports, { - default: () => BigImageModalAdapter_default -}); -module.exports = __toCommonJS(BigImageModalAdapter_exports); -var BigImageModalAdapter_default = (data) => { - const newData = data; - return newData; -}; diff --git a/packages/biz/lib/adapter/index.d.ts b/packages/biz/lib/adapter/index.d.ts deleted file mode 100644 index f1dd564..0000000 --- a/packages/biz/lib/adapter/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as BigImageModalAdapter } from './BigImageModalAdapter'; diff --git a/packages/biz/lib/adapter/index.js b/packages/biz/lib/adapter/index.js deleted file mode 100644 index 8f1699d..0000000 --- a/packages/biz/lib/adapter/index.js +++ /dev/null @@ -1,39 +0,0 @@ -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// src/adapter/index.ts -var adapter_exports = {}; -__export(adapter_exports, { - BigImageModalAdapter: () => import_BigImageModalAdapter.default -}); -module.exports = __toCommonJS(adapter_exports); -var import_BigImageModalAdapter = __toESM(require("./BigImageModalAdapter")); -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - BigImageModalAdapter -}); diff --git a/packages/biz/lib/index.d.ts b/packages/biz/lib/index.d.ts index ac47c74..78b6ca3 100644 --- a/packages/biz/lib/index.d.ts +++ b/packages/biz/lib/index.d.ts @@ -1,3 +1,2 @@ export { default as Demo } from './Demo'; -export * from './adapter'; export { default as BigImageModal } from './BigImageModal'; diff --git a/packages/biz/lib/index.js b/packages/biz/lib/index.js index 85c051d..ce35778 100644 --- a/packages/biz/lib/index.js +++ b/packages/biz/lib/index.js @@ -16,7 +16,6 @@ var __copyProps = (to, from, except, desc) => { } return to; }; -var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default")); var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- @@ -35,11 +34,9 @@ __export(src_exports, { }); module.exports = __toCommonJS(src_exports); var import_Demo = __toESM(require("./Demo")); -__reExport(src_exports, require("./adapter"), module.exports); var import_BigImageModal = __toESM(require("./BigImageModal")); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { BigImageModal, - Demo, - ...require("./adapter") + Demo }); diff --git a/packages/biz/lib/useSocket/index.d.ts b/packages/biz/lib/useSocket/index.d.ts deleted file mode 100644 index 08018b5..0000000 --- a/packages/biz/lib/useSocket/index.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -export declare const SocketApi: { - CameraTaskStatue: string; - DeviceStatus: string; - SubscribeSolutionDeploy: string; - SubscribeTasksSummary: string; - MonitorSubscribeResult: string; - MonitorSubscribeStatus: string; - SubscribeArchiveGroupUpload: string; - SubscribeJointTask: string; - SubscribeGroupFragment: string; - SubscribeGroup: string; - SubscribeStreamEvent: string; -}; -type ApiKeys = keyof typeof SocketApi; -declare const _default: (topic: ApiKeys, iterator?: any, opt?: { - req?: { - [key: string]: any; - } | undefined; - throttle?: number | undefined; - parseData?: boolean | undefined; - beforeLoopTmp?: Function | undefined; - shouldBreak: boolean; - forceRefresh: any; - close?: boolean | undefined; -} | undefined) => void; -export default _default; diff --git a/packages/biz/lib/useSocket/index.js b/packages/biz/lib/useSocket/index.js index f7a3435..b4d6861 100644 --- a/packages/biz/lib/useSocket/index.js +++ b/packages/biz/lib/useSocket/index.js @@ -37,7 +37,6 @@ var import_react = require("react"); var import_func = require("@zhst/func"); var import_hooks = require("@zhst/hooks"); var import_ws = __toESM(require("./ws")); -var noop = (v) => null; var getSelf = (v) => v; var SocketApi = { CameraTaskStatue: "singer.DeviceService/SubScribeCameraTaskStatus", @@ -55,11 +54,10 @@ var SocketApi = { SubscribeStreamEvent: "singer.MediaManagerService/SubscribeStreamEvent" // 监听视频分组状态变化,列表变化也通知 }; -var useSocket_default = (topic, iterator = noop, opt) => { +var useSocket_default = (topic, iterator = import_func.noop, opt) => { const { req = {}, throttle = 0, - parseData = true, beforeLoopTmp = getSelf, shouldBreak = false, forceRefresh, diff --git a/packages/biz/lib/useSocket/ws.d.ts b/packages/biz/lib/useSocket/ws.d.ts index cb4f172..0dc9550 100644 --- a/packages/biz/lib/useSocket/ws.d.ts +++ b/packages/biz/lib/useSocket/ws.d.ts @@ -1,8 +1,3 @@ -/// -/// -/// -/// -/// declare class Channel { /** * io 实例化对象 diff --git a/packages/biz/package.json b/packages/biz/package.json index 59dc496..558775d 100644 --- a/packages/biz/package.json +++ b/packages/biz/package.json @@ -1,6 +1,6 @@ { "name": "@zhst/biz", - "version": "0.3.2", + "version": "0.5.0", "description": "业务库", "keywords": [ "business", @@ -35,7 +35,7 @@ "registry": "http://10.0.0.77:4874" }, "devDependencies": { - "@zhst/types": "workspace:^" + "@types/zhst": "workspace:^" }, "dependencies": { "@zhst/func": "workspace:^", diff --git a/packages/biz/src/BigImageModal/BigImageModal.tsx b/packages/biz/src/BigImageModal/BigImageModal.tsx index afdad05..4303966 100644 --- a/packages/biz/src/BigImageModal/BigImageModal.tsx +++ b/packages/biz/src/BigImageModal/BigImageModal.tsx @@ -4,7 +4,8 @@ import { ConfigProvider, Descriptions, Modal, Tabs, Button, BigImagePreview, Vid import classNames from 'classnames' import type { ModalProps, DescriptionsProps, TabsProps, VideoViewRef, ImgViewRef } from '@zhst/meta' import { get, isEmpty } from '@zhst/func'; -import { MODEL_TYPE, TAB_TYPE } from '@zhst/types'; + + import './index.less' import Navigation from './components/navigation'; import CombineImage from './components/CombineImage' @@ -14,6 +15,9 @@ const DescriptionsItem = Descriptions.Item export const componentPrefix = 'zhst-image' +export type TAB_TYPE = 'COMPATER' | 'NORMAL' | 'VIDEO'; +export type MODEL_TYPE = 'VIDEO' | 'IMAGE'; + export interface BigImageModalProps extends ModalProps { visible: boolean // 弹框显示隐藏 activeTab?: TAB_TYPE // 当前 tab diff --git a/packages/biz/src/BigImageModal/components/navigation/index.tsx b/packages/biz/src/BigImageModal/components/navigation/index.tsx index 7c9700d..eeb0afc 100644 --- a/packages/biz/src/BigImageModal/components/navigation/index.tsx +++ b/packages/biz/src/BigImageModal/components/navigation/index.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import classnames from 'classnames'; -import { Button } from 'antd'; -import { Icon } from '@zhst/meta'; +import { Icon, Button } from '@zhst/meta'; import './index.less'; const componentName = `zhst-image__nav`; diff --git a/packages/biz/src/BigImageModal/demo/index.tsx b/packages/biz/src/BigImageModal/demo/index.tsx index 1b7256d..abb1df2 100644 --- a/packages/biz/src/BigImageModal/demo/index.tsx +++ b/packages/biz/src/BigImageModal/demo/index.tsx @@ -1,4 +1,4 @@ - +// @ts-nocheck import React, { useEffect, useRef, useState } from 'react'; import { BigImageModal } from '@zhst/biz' import { Button, Space } from '@zhst/meta' @@ -6,7 +6,7 @@ import { BIG_IMAGE_DATA, attributeList } from '../mock' -const BigModal = (props) => { +const BigModal = (props: any) => { const { } = props const [visible, setVisible] = useState(true) diff --git a/packages/biz/src/BigImageModal/demo/oldData.tsx b/packages/biz/src/BigImageModal/demo/oldData.tsx index 4d0873d..364345e 100644 --- a/packages/biz/src/BigImageModal/demo/oldData.tsx +++ b/packages/biz/src/BigImageModal/demo/oldData.tsx @@ -1,4 +1,4 @@ - +// @ts-nocheck import React, { useState } from 'react'; import { BigImageModal } from '@zhst/biz' import { Button, DescriptionsProps } from '@zhst/meta' diff --git a/packages/biz/src/BigImageModal/index.less b/packages/biz/src/BigImageModal/index.less index e27baec..8e98e2e 100644 --- a/packages/biz/src/BigImageModal/index.less +++ b/packages/biz/src/BigImageModal/index.less @@ -512,78 +512,3 @@ } } } - -.relatedWrapper { - width: 100%; - height: 100px; - padding: 0 30px; - margin-bottom: 30px; - box-sizing: border-box; - - .relatedTabs { - width: 100%; - height: 100px; - } - - .relatedContent { - width: 100%; - height: 100px; - - display: flex; - - .relatedPics { - width: 742px; - height: 100px; - // display: flex; - // box-sizing: border-box; - // background: #fafafa; - // border-radius: 2px; - // border: 1px solid #f0f0f0; - // .LeftBtn, - // .RighttBtn { - // width: 34px; - // height: 100%; - // display: flex; - // justify-content: center; - // align-items: center; - // } - // .ListContent { - // flex: 1; - // height: 100%; - // } - } - - .disabled { - color: rgba(0, 0, 0, 0.25); - } - - .relatedBtn { - flex: 1; - font-size: 14px; - color: #333333; - display: flex; - align-items: flex-end; - cursor: pointer; - - &:hover { - color: #0099ff; - } - } - } - - .ant-tabs-left>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane { - padding-left: 16px; - } - - .ant-tabs-tab { - padding: 8px 12px !important; - text-align: right !important; - } - - .ant-tabs .ant-tabs-tab { - font-size: 14px; - font-weight: bold; - text-align: right; - justify-content: flex-end; - } -} diff --git a/packages/biz/src/BigImageModal/mock.ts b/packages/biz/src/BigImageModal/mock.ts index 6d30adb..73dd7f2 100644 --- a/packages/biz/src/BigImageModal/mock.ts +++ b/packages/biz/src/BigImageModal/mock.ts @@ -1,5 +1,3 @@ -import { DescriptionsProps } from "@zhst/meta"; - export const IMAGE_DATA = { "enAbleDeleteFeature": true, "tabsFilter": [ @@ -441,7 +439,7 @@ export const BIG_IMAGE_DATA = [ } ] -export const attributeList: DescriptionsProps['items'] = [ +export const attributeList = [ { title: '人员属性', children: [ diff --git a/packages/biz/src/BigImageModal/util/bigImageModalAdapter.tsx b/packages/biz/src/BigImageModal/util/bigImageModalAdapter.tsx index 71d62ef..c341455 100644 --- a/packages/biz/src/BigImageModal/util/bigImageModalAdapter.tsx +++ b/packages/biz/src/BigImageModal/util/bigImageModalAdapter.tsx @@ -1,10 +1,9 @@ /** * 适配老的大屏组件数据格式传入 */ -import React, { FC } from 'react'; +import React, { } from 'react'; import { AlgorithmVersionStr, HumanProperty, ObjectType, Rect, IScreenshotButtonProp } from '@zhst/types' import { VideoViewProps, ImgViewProps, VideoViewRef, ImgViewRef } from '@zhst/meta' -import { IMAGE_DATA } from '../mock'; export type TAB_TYPE = 'COMPATER' | 'NORMAL' | 'TRACK'; export type MODEL_TYPE = 'VIDEO' | 'IMAGE'; diff --git a/packages/biz/src/Demo/index.tsx b/packages/biz/src/Demo/index.tsx index 3e29618..7545062 100644 --- a/packages/biz/src/Demo/index.tsx +++ b/packages/biz/src/Demo/index.tsx @@ -1,5 +1,5 @@ import React from 'react' -import { Button } from 'antd' +import { Button } from '@zhst/meta' import { useThrottleFn } from '@zhst/hooks' export default () => { diff --git a/packages/biz/src/hooks/useIntelligentTracking/index.tsx b/packages/biz/src/hooks/useIntelligentTracking/index.tsx index f9e0510..33d4e5b 100644 --- a/packages/biz/src/hooks/useIntelligentTracking/index.tsx +++ b/packages/biz/src/hooks/useIntelligentTracking/index.tsx @@ -4,7 +4,7 @@ import { getListTaskStatus, getCameraStatusFunc } from '../useTaskState'; import Tree from '@common/components/CameraTree/Tree'; import doRequest from '../../utils/request'; import { Dayjs as Moment } from 'dayjs'; -import { message } from 'antd'; +import { message } from '@zhst/meta'; import { SearchCamera } from '@common/components/CameraTree/utils'; import { get, isEmpty } from '@zhst/func'; import type { OperationType } from '../../interface' diff --git a/packages/biz/src/useSocket/index.ts b/packages/biz/src/useSocket/index.ts index cc3aefb..bebbabd 100644 --- a/packages/biz/src/useSocket/index.ts +++ b/packages/biz/src/useSocket/index.ts @@ -1,9 +1,8 @@ import { useMemo } from 'react'; -import { throttle as loadshThrottle } from '@zhst/func'; +import { throttle as loadshThrottle, noop } from '@zhst/func'; import { useDeepEffect, useLatest } from '@zhst/hooks'; import ws from './ws'; -const noop = (v: any) => null; const getSelf = (v: any) => v; export const SocketApi = { CameraTaskStatue: 'singer.DeviceService/SubScribeCameraTaskStatus', @@ -36,7 +35,6 @@ export default ( const { req = {}, throttle = 0, - parseData = true, beforeLoopTmp = getSelf, shouldBreak = false, forceRefresh, diff --git a/packages/constants/CHANGELOG.md b/packages/constants/CHANGELOG.md index a1c0604..695c6be 100644 --- a/packages/constants/CHANGELOG.md +++ b/packages/constants/CHANGELOG.md @@ -1,5 +1,59 @@ # @zhst/biz +## 0.5.0 + +### Minor Changes + +- feat: 初版发布 + +## 0.4.1 + +### Patch Changes + +- feat: 初始化 + +## 0.4.0 + +### Minor Changes + +- fix: 修改 pkg + +## 0.3.7 + +### Patch Changes + +- fix: 测试 hooks + +## 0.3.6 + +### Patch Changes + +- feat: 测试 hooks 机器人 + +## 0.3.5 + +### Patch Changes + +- feat: 测试 hook 机器人 + +## 0.3.4 + +### Patch Changes + +- fix:测试机器人 + +## 0.3.3 + +### Patch Changes + +- fix: 修改变量 + +## 0.3.2 + +### Patch Changes + +- fix: 修改变量 + ## 0.3.1 ### Patch Changes diff --git a/packages/constants/lib/index.js b/packages/constants/lib/index.js index 363ea44..4aa07fe 100644 --- a/packages/constants/lib/index.js +++ b/packages/constants/lib/index.js @@ -13,7 +13,7 @@ var __copyProps = (to, from, except, desc) => { var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default")); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); -// src/index.tsx +// src/index.ts var src_exports = {}; module.exports = __toCommonJS(src_exports); __reExport(src_exports, require("./camera"), module.exports); diff --git a/packages/constants/package.json b/packages/constants/package.json index 507569f..cf8ddd3 100644 --- a/packages/constants/package.json +++ b/packages/constants/package.json @@ -1,6 +1,6 @@ { "name": "@zhst/constants", - "version": "0.3.1", + "version": "0.5.0", "description": "常量库", "keywords": [ "constants", @@ -16,12 +16,14 @@ "lib/**/style/*", "*.less" ], - "main": "lib/index.tsx", + "main": "lib/index.js", "module": "es/index.js", "typings": "es/index.d.ts", "exports": { ".": { - "import": "./src/index.ts" + "require": "./lib/index.js", + "import": "./es/index.js", + "default": "./es/index.js" } }, "files": [ diff --git a/packages/constants/src/index.tsx b/packages/constants/src/index.ts similarity index 100% rename from packages/constants/src/index.tsx rename to packages/constants/src/index.ts diff --git a/packages/func/CHANGELOG.md b/packages/func/CHANGELOG.md index be9f906..1010608 100644 --- a/packages/func/CHANGELOG.md +++ b/packages/func/CHANGELOG.md @@ -1,5 +1,41 @@ # @zhst/utils +## 0.5.0 + +### Minor Changes + +- feat: 初版发布 + +### Patch Changes + +- Updated dependencies + - @zhst/request@0.5.0 + +## 0.4.1 + +### Patch Changes + +- feat: 初始化 +- Updated dependencies + - @zhst/request@0.4.1 + +## 0.4.0 + +### Minor Changes + +- fix: 修改 pkg + +### Patch Changes + +- Updated dependencies + - @zhst/request@0.4.0 + +## 0.3.1 + +### Patch Changes + +- fix: 修改 ignore + ## 0.3.0 ### Minor Changes diff --git a/packages/func/es/index.js b/packages/func/es/index.js index 614979f..598dbef 100644 --- a/packages/func/es/index.js +++ b/packages/func/es/index.js @@ -7,5 +7,4 @@ export * from "./number"; export * from "./time"; export * from "./utils"; export * from "./camera"; -export * from "./math"; -export * from "./upload"; \ No newline at end of file +export * from "./math"; \ No newline at end of file diff --git a/packages/func/es/math/index.js b/packages/func/es/math/index.js index d9d6d04..341dddb 100644 --- a/packages/func/es/math/index.js +++ b/packages/func/es/math/index.js @@ -1,4 +1,3 @@ -var _ALGORITHM_VERSION; function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } @@ -9,8 +8,8 @@ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symb function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } import { cloneDeep, get, isNull } from 'lodash-es'; import { dataURLToBlob } from "../file"; var proto = { @@ -22,7 +21,7 @@ var proto = { } } }; -export var ALGORITHM_VERSION = (_ALGORITHM_VERSION = {}, _defineProperty(_ALGORITHM_VERSION, '7', '形体'), _defineProperty(_ALGORITHM_VERSION, '4', '人脸'), _defineProperty(_ALGORITHM_VERSION, '6', '非机动车'), _ALGORITHM_VERSION); +export var ALGORITHM_VERSION = _defineProperty(_defineProperty(_defineProperty({}, '7', '形体'), '4', '人脸'), '6', '非机动车'); export var algorithmVersions = _toConsumableArray(Object.keys(ALGORITHM_VERSION)); export var getBikeExtendRect = function getBikeExtendRect(rect, maxW) { var newRect = _objectSpread({}, rect); diff --git a/packages/func/es/upload/index.js b/packages/func/es/upload/index.js deleted file mode 100644 index e978a53..0000000 --- a/packages/func/es/upload/index.js +++ /dev/null @@ -1,119 +0,0 @@ -function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } -function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } -function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } -function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } -import dayjs from "dayjs"; -import { getFileSuffix, getImageSuffixByFileType } from "../utils"; -import base64 from "base-64"; -import { v4 as uuidV4 } from 'uuid'; -import { get } from "lodash-es"; -import request from '@zhst/request'; - -//小文件上传走s3 -var defaultBucket = 'public'; -export var commonUpload = /*#__PURE__*/function () { - var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(file) { - var option, - type, - _option$bucket, - bucket, - _option$dir, - dir, - _option$withSuFuffix, - withSuFuffix, - prefix, - fileSuffix, - fileType, - imageSuffix, - key, - imgKey, - _args2 = arguments; - return _regeneratorRuntime().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - option = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {}; - type = _args2.length > 2 ? _args2[2] : undefined; - _option$bucket = option.bucket, bucket = _option$bucket === void 0 ? defaultBucket : _option$bucket, _option$dir = option.dir, dir = _option$dir === void 0 ? 'file' : _option$dir, _option$withSuFuffix = option.withSuFuffix, withSuFuffix = _option$withSuFuffix === void 0 ? false : _option$withSuFuffix; - prefix = "".concat(dayjs().format('YYYYMMDD')); - fileSuffix = withSuFuffix ? getFileSuffix(get(file, 'name')) : ''; - fileType = file['type'].split('/', 2); - imageSuffix = ''; - if (fileType['0'] === 'image') { - imageSuffix = getImageSuffixByFileType(fileType['1']); - } - key = "".concat(prefix, "/").concat(dir ? "".concat(dir, "/") : '').concat(uuidV4()).concat(!fileSuffix ? '' : ".".concat(fileSuffix)); - imgKey = "".concat(bucket, "_").concat(bucket, "_").concat(key).concat(imageSuffix); //后端约定 见https://docs.qq.com/doc/DUklodHNxUGl2U3NM》 - if (!(type === 'upload')) { - _context2.next = 13; - break; - } - imgKey = "v1_".concat(base64.encode(imgKey)); - return _context2.abrupt("return", new Promise(function (resolve) { - var reader = new FileReader(); - reader.readAsDataURL(file); - reader.onload = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() { - var _reader$result; - return _regeneratorRuntime().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - if (!reader.result) { - _context.next = 4; - break; - } - _context.next = 3; - return request({ - method: 'PUT', - url: '/singer.FileServerService/PutObject', - data: { - version: 1, - bucket: defaultBucket, - objectName: "".concat(bucket, "_").concat(key).concat(imageSuffix), - // fileData: reader.result, - putObjectOption: { - contentType: file.type - }, - // @ts-ignore - fileDataBase64: (_reader$result = reader.result) === null || _reader$result === void 0 ? void 0 : _reader$result.split(';base64,')[1] - } - }); - case 3: - resolve(imgKey); - case 4: - case "end": - return _context.stop(); - } - }, _callee); - })); - })); - case 13: - case "end": - return _context2.stop(); - } - }, _callee2); - })); - return function commonUpload(_x) { - return _ref.apply(this, arguments); - }; -}(); -export var upload = /*#__PURE__*/function () { - var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(file) { - var option, - _args3 = arguments; - return _regeneratorRuntime().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { - case 0: - option = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {}; - _context3.next = 3; - return commonUpload(file, option, 'upload'); - case 3: - return _context3.abrupt("return", _context3.sent); - case 4: - case "end": - return _context3.stop(); - } - }, _callee3); - })); - return function upload(_x2) { - return _ref3.apply(this, arguments); - }; -}(); \ No newline at end of file diff --git a/packages/func/package.json b/packages/func/package.json index fc14d69..5dd9058 100644 --- a/packages/func/package.json +++ b/packages/func/package.json @@ -1,6 +1,6 @@ { "name": "@zhst/func", - "version": "0.3.0", + "version": "0.5.0", "description": "函数合集", "keywords": [ "hooks" @@ -18,7 +18,9 @@ "typings": "es/index.d.ts", "exports": { ".": { - "import": "./src/index.ts" + "require": "./lib/index.js", + "import": "./es/index.js", + "default": "./es/index.js" }, "./package.json": "./package.json" }, @@ -48,6 +50,6 @@ "@types/file-saver": "^2.0.7", "@types/lodash-es": "^4.17.12", "@types/uuid": "^9.0.7", - "@zhst/types": "workspace:^" + "@types/zhst": "workspace:^" } } diff --git a/packages/func/src/file/index.ts b/packages/func/src/file/index.ts index ea7fbd4..e302dbd 100644 --- a/packages/func/src/file/index.ts +++ b/packages/func/src/file/index.ts @@ -3,7 +3,8 @@ import JSZip from 'jszip'; import FileSaver from 'file-saver'; import { matchS3Prefix } from '../utils' import { get, isString } from 'lodash-es'; -import { Rect } from '@zhst/types' + +export type Rect = { x: number; y: number; w: number; h: number }; /** * diff --git a/packages/func/src/index.ts b/packages/func/src/index.ts index 7dd46b2..c2828fc 100644 --- a/packages/func/src/index.ts +++ b/packages/func/src/index.ts @@ -8,4 +8,3 @@ export * from './time' export * from './utils' export * from './camera' export * from './math' -export * from './upload' diff --git a/packages/func/src/upload/index.ts b/packages/func/src/upload/index.ts deleted file mode 100644 index 5d4b5ff..0000000 --- a/packages/func/src/upload/index.ts +++ /dev/null @@ -1,59 +0,0 @@ -import dayjs from "dayjs"; -import { getFileSuffix, getImageSuffixByFileType } from "../utils"; -import base64 from "base-64"; -import { v4 as uuidV4 } from 'uuid' -import { get } from "lodash-es"; -import request from '@zhst/request' - -//小文件上传走s3 -const defaultBucket = 'public'; -type uploadOption = { - bucket?: string; - dir?: string; - withSuFuffix?: boolean; -}; - -export const commonUpload = async (file: File, option: uploadOption = {}, type: string) => { - const { bucket = defaultBucket, dir = 'file', withSuFuffix = false } = option; - const prefix = `${dayjs().format('YYYYMMDD')}`; - const fileSuffix = withSuFuffix ? getFileSuffix(get(file, 'name')) : ''; - const fileType = file['type'].split('/', 2); - let imageSuffix = ''; - if (fileType['0'] === 'image') { - imageSuffix = getImageSuffixByFileType(fileType['1']); - } - - const key = `${prefix}/${dir ? `${dir}/` : ''}${uuidV4()}${!fileSuffix ? '' : `.${fileSuffix}`}`; - let imgKey = `${bucket}_${bucket}_${key}${imageSuffix}`; //后端约定 见https://docs.qq.com/doc/DUklodHNxUGl2U3NM》 - if (type === 'upload') { - imgKey = `v1_${base64.encode(imgKey)}`; - return new Promise((resolve) => { - const reader = new FileReader(); - reader.readAsDataURL(file); - reader.onload = async () => { - if (reader.result) { - await request({ - method: 'PUT', - url: '/singer.FileServerService/PutObject', - data: { - version: 1, - bucket: defaultBucket, - objectName: `${bucket}_${key}${imageSuffix}`, - // fileData: reader.result, - putObjectOption: { - contentType: file.type, - }, - // @ts-ignore - fileDataBase64: reader.result?.split(';base64,')[1], - }, - }); - resolve(imgKey); - } - }; - }); - } -}; - -export const upload = async (file: File, option: uploadOption = {}) => { - return await commonUpload(file, option, 'upload'); -}; diff --git a/packages/hooks/CHANGELOG.md b/packages/hooks/CHANGELOG.md index 0b60bc9..21689ce 100644 --- a/packages/hooks/CHANGELOG.md +++ b/packages/hooks/CHANGELOG.md @@ -1,5 +1,42 @@ # @zhst/hooks +## 0.5.0 + +### Minor Changes + +- feat: 初版发布 + +### Patch Changes + +- Updated dependencies + - @zhst/func@0.5.0 + +## 0.4.1 + +### Patch Changes + +- feat: 初始化 +- Updated dependencies + - @zhst/func@0.4.1 + +## 0.4.0 + +### Minor Changes + +- fix: 修改 pkg + +### Patch Changes + +- Updated dependencies + - @zhst/func@0.4.0 + +## 0.3.1 + +### Patch Changes + +- Updated dependencies + - @zhst/func@0.3.1 + ## 0.3.0 ### Minor Changes diff --git a/packages/hooks/es/useDeepMemo/index.d.ts b/packages/hooks/es/useDeepMemo/index.d.ts deleted file mode 100644 index ba9fabc..0000000 --- a/packages/hooks/es/useDeepMemo/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { DependencyList } from 'react'; -export default function useDeepMemo(factory: () => T, deps: DependencyList | undefined): T; diff --git a/packages/hooks/es/useDeepMemo/index.js b/packages/hooks/es/useDeepMemo/index.js index cd5231c..fcf4a0b 100644 --- a/packages/hooks/es/useDeepMemo/index.js +++ b/packages/hooks/es/useDeepMemo/index.js @@ -8,6 +8,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } import { useState, useMemo } from 'react'; import useDeepEffect from "../useDeepEffect"; export default function useDeepMemo(factory, deps) { + // @ts-ignore var value = useMemo(factory, deps); var _useState = useState(value), _useState2 = _slicedToArray(_useState, 2), diff --git a/packages/hooks/es/useSocket/index.d.ts b/packages/hooks/es/useSocket/index.d.ts index cb0ff5c..e69de29 100644 --- a/packages/hooks/es/useSocket/index.d.ts +++ b/packages/hooks/es/useSocket/index.d.ts @@ -1 +0,0 @@ -export {}; diff --git a/packages/hooks/es/useSocket/index.js b/packages/hooks/es/useSocket/index.js index 8cec2e9..e69de29 100644 --- a/packages/hooks/es/useSocket/index.js +++ b/packages/hooks/es/useSocket/index.js @@ -1 +0,0 @@ -export {}; \ No newline at end of file diff --git a/packages/hooks/lib/useDeepMemo/index.d.ts b/packages/hooks/lib/useDeepMemo/index.d.ts deleted file mode 100644 index ba9fabc..0000000 --- a/packages/hooks/lib/useDeepMemo/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { DependencyList } from 'react'; -export default function useDeepMemo(factory: () => T, deps: DependencyList | undefined): T; diff --git a/packages/hooks/lib/useSocket/index.d.ts b/packages/hooks/lib/useSocket/index.d.ts index cb0ff5c..e69de29 100644 --- a/packages/hooks/lib/useSocket/index.d.ts +++ b/packages/hooks/lib/useSocket/index.d.ts @@ -1 +0,0 @@ -export {}; diff --git a/packages/hooks/package.json b/packages/hooks/package.json index 1ec4ee1..3e18d13 100644 --- a/packages/hooks/package.json +++ b/packages/hooks/package.json @@ -1,6 +1,6 @@ { "name": "@zhst/hooks", - "version": "0.3.0", + "version": "0.5.0", "description": "hooks合集", "keywords": [ "hooks" @@ -18,7 +18,9 @@ "typings": "es/index.d.ts", "exports": { ".": { - "import": "./src/index.ts" + "require": "./lib/index.js", + "import": "./es/index.js", + "default": "./es/index.js" }, "./package.json": "./package.json" }, @@ -35,7 +37,7 @@ "registry": "http://10.0.0.77:4874" }, "devDependencies": { - "@zhst/types": "workspace:^" + "@types/zhst": "workspace:^" }, "dependencies": { "@zhst/func": "workspace:^", diff --git a/packages/hooks/src/useDeepMemo/index.ts b/packages/hooks/src/useDeepMemo/index.ts index c266c38..4f34b92 100644 --- a/packages/hooks/src/useDeepMemo/index.ts +++ b/packages/hooks/src/useDeepMemo/index.ts @@ -3,6 +3,7 @@ import { useState, useMemo, DependencyList } from 'react'; import useDeepEffect from '../useDeepEffect'; export default function useDeepMemo(factory: () => T, deps: DependencyList | undefined) { + // @ts-ignore const value = useMemo(factory, deps); const [state, setState] = useState(value); useDeepEffect(() => { diff --git a/packages/hooks/src/useSocket/index.ts b/packages/hooks/src/useSocket/index.ts index c968958..8b13789 100644 --- a/packages/hooks/src/useSocket/index.ts +++ b/packages/hooks/src/useSocket/index.ts @@ -1,2 +1 @@ -import { useWebSocket } from 'ahooks' diff --git a/packages/material/CHANGELOG.md b/packages/material/CHANGELOG.md index f99d9b5..9ffc253 100644 --- a/packages/material/CHANGELOG.md +++ b/packages/material/CHANGELOG.md @@ -1,5 +1,86 @@ # @zhst/biz +## 0.5.0 + +### Minor Changes + +- feat: 初版发布 + +### Patch Changes + +- Updated dependencies + - @zhst/hooks@0.5.0 + - @zhst/func@0.5.0 + - @zhst/meta@0.6.0 + - @zhst/biz@0.5.0 + +## 0.4.2 + +### Patch Changes + +- Updated dependencies + - @zhst/meta@0.5.2 + - @zhst/biz@0.4.2 + +## 0.4.1 + +### Patch Changes + +- feat: 初始化 +- Updated dependencies + - @zhst/hooks@0.4.1 + - @zhst/func@0.4.1 + - @zhst/meta@0.5.1 + - @zhst/biz@0.4.1 + +## 0.4.0 + +### Minor Changes + +- fix: 修改 pkg + +### Patch Changes + +- Updated dependencies + - @zhst/hooks@0.4.0 + - @zhst/func@0.4.0 + - @zhst/meta@0.5.0 + - @zhst/biz@0.4.0 + +## 0.3.6 + +### Patch Changes + +- Updated dependencies + - @zhst/meta@0.4.4 + - @zhst/biz@0.3.6 + +## 0.3.5 + +### Patch Changes + +- Updated dependencies + - @zhst/meta@0.4.3 + - @zhst/biz@0.3.5 + +## 0.3.4 + +### Patch Changes + +- Updated dependencies + - @zhst/meta@0.4.2 + - @zhst/biz@0.3.4 + +## 0.3.3 + +### Patch Changes + +- Updated dependencies + - @zhst/func@0.3.1 + - @zhst/biz@0.3.3 + - @zhst/hooks@0.3.1 + - @zhst/meta@0.4.1 + ## 0.3.2 ### Patch Changes diff --git a/packages/material/package.json b/packages/material/package.json index c0fcf18..0b8ceef 100644 --- a/packages/material/package.json +++ b/packages/material/package.json @@ -1,6 +1,6 @@ { "name": "@zhst/material", - "version": "0.3.2", + "version": "0.5.0", "description": "物料库", "keywords": [ "business", diff --git a/packages/meta/.fatherrc.ts b/packages/meta/.fatherrc.ts index 9e3a0ef..447d06b 100644 --- a/packages/meta/.fatherrc.ts +++ b/packages/meta/.fatherrc.ts @@ -2,6 +2,12 @@ import { defineConfig } from 'father'; export default defineConfig({ // more father config: https://github.com/umijs/father/blob/master/docs/config.md - esm: { output: 'es' }, - cjs: { output: 'lib' }, + esm: { + output: 'es', + ignores: ['**/demo/*', 'src/**/demo/*'] + }, + cjs: { + output: 'lib', + ignores: ['**/demo/*', 'src/**/demo/*'] + }, }); diff --git a/packages/meta/CHANGELOG.md b/packages/meta/CHANGELOG.md index 0326977..deb8775 100644 --- a/packages/meta/CHANGELOG.md +++ b/packages/meta/CHANGELOG.md @@ -1,5 +1,82 @@ # @zhst/utils +## 0.6.0 + +### Minor Changes + +- feat: 初版发布 + +### Patch Changes + +- Updated dependencies + - @zhst/hooks@0.5.0 + - @zhst/func@0.5.0 + - @zhst/meta@0.6.0 + +## 0.5.2 + +### Patch Changes + +- feat: 修改引用 +- Updated dependencies + - @zhst/meta@0.5.2 + +## 0.5.1 + +### Patch Changes + +- feat: 初始化 +- Updated dependencies + - @zhst/hooks@0.4.1 + - @zhst/func@0.4.1 + - @zhst/meta@0.5.1 + +## 0.5.0 + +### Minor Changes + +- fix: 修改 pkg + +### Patch Changes + +- Updated dependencies + - @zhst/hooks@0.4.0 + - @zhst/func@0.4.0 + - @zhst/meta@0.5.0 + +## 0.4.4 + +### Patch Changes + +- fix: 修改 pkg +- Updated dependencies + - @zhst/meta@0.4.4 + +## 0.4.3 + +### Patch Changes + +- fix: 修改 pkg +- Updated dependencies + - @zhst/meta@0.4.3 + +## 0.4.2 + +### Patch Changes + +- feat: 打包 +- Updated dependencies + - @zhst/meta@0.4.2 + +## 0.4.1 + +### Patch Changes + +- Updated dependencies + - @zhst/func@0.3.1 + - @zhst/hooks@0.3.1 + - @zhst/meta@0.4.1 + ## 0.4.0 ### Minor Changes diff --git a/packages/meta/es/BigImagePreview/BigImagePreview.js b/packages/meta/es/BigImagePreview/BigImagePreview.js index 31fffcb..33a82f0 100644 --- a/packages/meta/es/BigImagePreview/BigImagePreview.js +++ b/packages/meta/es/BigImagePreview/BigImagePreview.js @@ -5,8 +5,8 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } @@ -16,14 +16,21 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } import React, { useEffect, useState, useCallback, useRef, useImperativeHandle } from 'react'; import classNames from 'classnames'; import { useLatest } from '@zhst/hooks'; -import { get, pick, isNull, generateImg, dataURLToBlob, getOdRect, getExtendRect, getTransformRect, getRotateImg, getTransforms, addEventListenerWrapper, upload, getFileByRect } from '@zhst/func'; +import { get, pick, isNull, generateImg, dataURLToBlob, +// @ts-ignore +getOdRect, +// @ts-ignore +getExtendRect, +// @ts-ignore +getTransformRect, +// @ts-ignore +getRotateImg, getTransforms, addEventListenerWrapper, getFileByRect } from '@zhst/func'; import Align from 'rc-align'; import { Button, Empty } from 'antd'; import Icon from "../iconfont"; import { Cropper, Viewer, EVENT_VIEWER_TRANSFORM_CHANGE, EVENT_VIEWER_READY, EVENT_CROP_START, EVENT_CROP_END } from "../ImageEditor"; import BtnGroup from "./components/BtnGroup"; import "./index.less"; -import getScreenshotButtonRender from "./components/ScreenhotButtons"; import { defaultAlignOption, CROP_TYPE } from "../utils/constants"; var componentName = "zhst-image__img-view"; var cropBtnDataSource = [{ @@ -53,15 +60,11 @@ var operateBtnDataSource = [{ title: '重置图片' }]; export var BigImagePreview = /*#__PURE__*/React.forwardRef(function (props, ref) { - var _dataSource$currentIn2, _dataSource$currentIn3; - var _props$dataSource = props.dataSource, - dataSource = _props$dataSource === void 0 ? [] : _props$dataSource, - width = props.width, + var width = props.width, height = props.height, _props$showScore = props.showScore, showScore = _props$showScore === void 0 ? true : _props$showScore, - _props$objects = props.objects, - objects = _props$objects === void 0 ? [] : _props$objects, + data = props.data, _props$showOpt = props.showOpt, showOpt = _props$showOpt === void 0 ? false : _props$showOpt, _props$showAttachImgL = props.showAttachImgLabel, @@ -69,37 +72,39 @@ export var BigImagePreview = /*#__PURE__*/React.forwardRef(function (props, ref) _props$screenshotButt = props.screenshotButtonAlign, screenshotButtonAlign = _props$screenshotButt === void 0 ? defaultAlignOption : _props$screenshotButt, _props$screenshotButt2 = props.screenshotButtonRender, - screenshotButtonRender = _props$screenshotButt2 === void 0 ? getScreenshotButtonRender({ - onBigImageActionClick: function onBigImageActionClick() {}, - disableBtn: [] - }) : _props$screenshotButt2, + screenshotButtonRender = _props$screenshotButt2 === void 0 ? function () { + return /*#__PURE__*/React.createElement("div", { + style: { + color: '#fff' + } + }, "\u56DE\u8C03DOM"); + } : _props$screenshotButt2, _props$hideLeftTopBtn = props.hideLeftTopBtn, hideLeftTopBtn = _props$hideLeftTopBtn === void 0 ? true : _props$hideLeftTopBtn, _props$viewOption = props.viewOption, viewOption = _props$viewOption === void 0 ? {} : _props$viewOption; + var imageKey = data.imageKey, + attachImg = data.attachImg, + odRect = data.odRect, + score = data.score, + _data$objects = data.objects, + objects = _data$objects === void 0 ? [] : _data$objects; var imgContainerRef = React.useRef(null); var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), isReady = _useState2[0], setIsReady = _useState2[1]; - var _useState3 = useState(0), - _useState4 = _slicedToArray(_useState3, 2), - currentIndex = _useState4[0], - setCurrentIndex = _useState4[1]; - console.log('props', props); var init = useCallback(function ($container) { imgContainerRef.current = $container; setIsReady(true); }, []); // ============================= viewer ========================= var imgInsRef = useRef(null); - var _useState5 = useState(false), - _useState6 = _slicedToArray(_useState5, 2), - isImgReady = _useState6[0], - setIsImgReady = _useState6[1]; + var _useState3 = useState(false), + _useState4 = _slicedToArray(_useState3, 2), + isImgReady = _useState4[0], + setIsImgReady = _useState4[1]; useEffect(function () { - var _dataSource$currentIn; - console.log('123', 123); if (!isReady || !(imgContainerRef !== null && imgContainerRef !== void 0 && imgContainerRef.current)) return; var handleReady = addEventListenerWrapper(imgContainerRef.current, EVENT_VIEWER_READY, function () { setIsImgReady(true); @@ -107,7 +112,7 @@ export var BigImagePreview = /*#__PURE__*/React.forwardRef(function (props, ref) var handleTransformChange = addEventListenerWrapper(imgContainerRef.current, EVENT_VIEWER_TRANSFORM_CHANGE, function () {}); imgInsRef.current = new Viewer(imgContainerRef.current, _objectSpread(_objectSpread({}, viewOption), {}, { fitScaleAsMinScale: true, - image: generateImg((_dataSource$currentIn = dataSource[currentIndex]) === null || _dataSource$currentIn === void 0 ? void 0 : _dataSource$currentIn.imageKey) + image: generateImg(imageKey) })); return function () { var _imgInsRef$current, _imgInsRef$current$de; @@ -116,7 +121,7 @@ export var BigImagePreview = /*#__PURE__*/React.forwardRef(function (props, ref) imgInsRef === null || imgInsRef === void 0 || (_imgInsRef$current = imgInsRef.current) === null || _imgInsRef$current === void 0 || (_imgInsRef$current$de = _imgInsRef$current.destroy) === null || _imgInsRef$current$de === void 0 || _imgInsRef$current$de.call(_imgInsRef$current); imgInsRef.current = null; }; - }, [isReady, currentIndex]); + }, [isReady, imageKey]); // ============================= viewer操作按钮 ========================= var handleOptClick = function handleOptClick(v) { @@ -137,47 +142,47 @@ export var BigImagePreview = /*#__PURE__*/React.forwardRef(function (props, ref) // ============================= cropper ========================= // 手动截图相关参数 var cropInsRef = useRef(null); - var _useState7 = useState(showOpt), + var _useState5 = useState(showOpt), + _useState6 = _slicedToArray(_useState5, 2), + showCrop = _useState6[0], + setShowCrop = _useState6[1]; + var _useState7 = useState(CROP_TYPE['AUTO']), _useState8 = _slicedToArray(_useState7, 2), - showCrop = _useState8[0], - setShowCrop = _useState8[1]; - var _useState9 = useState(CROP_TYPE['AUTO']), - _useState10 = _slicedToArray(_useState9, 2), - cropType = _useState10[0], - setCropType = _useState10[1]; + cropType = _useState8[0], + setCropType = _useState8[1]; // 自动截图相关参数 + var _useState9 = useState([]), + _useState10 = _slicedToArray(_useState9, 2), + odList = _useState10[0], + setOdList = _useState10[1]; var _useState11 = useState([]), _useState12 = _slicedToArray(_useState11, 2), - odList = _useState12[0], - setOdList = _useState12[1]; - var _useState13 = useState([]), + extendOdList = _useState12[0], + setExtendOdList = _useState12[1]; + var _useState13 = useState(null), _useState14 = _slicedToArray(_useState13, 2), - extendOdList = _useState14[0], - setExtendOdList = _useState14[1]; - var _useState15 = useState(null), - _useState16 = _slicedToArray(_useState15, 2), - selectRectId = _useState16[0], - setSelectRectId = _useState16[1]; + selectRectId = _useState14[0], + setSelectRectId = _useState14[1]; // 定位按钮相关参数 var alginContainerRef = useRef(null); var alignRef = useRef(null); - var _useState17 = useState(null), - _useState18 = _slicedToArray(_useState17, 2), - cropRect = _useState18[0], - setCropRect = _useState18[1]; + var _useState15 = useState(null), + _useState16 = _slicedToArray(_useState15, 2), + cropRect = _useState16[0], + setCropRect = _useState16[1]; // 选中的版本号 - var _useState19 = useState(null), - _useState20 = _slicedToArray(_useState19, 2), - selectAlgorithmVersion = _useState20[0], - setSelectAlgorithmVersion = _useState20[1]; + var _useState17 = useState(null), + _useState18 = _slicedToArray(_useState17, 2), + selectAlgorithmVersion = _useState18[0], + setSelectAlgorithmVersion = _useState18[1]; var handlerCropStartRef = useRef(null); var handlerCropEndRef = useRef(null); var handleShapeSelectRef = useRef(null); useEffect(function () { - initData(dataSource[currentIndex].objects || objects); + initData(objects); return function () { var _imgInsRef$current5, _imgInsRef$current5$c, _handlerCropStartRef$, _handlerCropEndRef$cu, _handleShapeSelectRef, _cropInsRef$current, _cropInsRef$current$d; (_imgInsRef$current5 = imgInsRef.current) === null || _imgInsRef$current5 === void 0 || (_imgInsRef$current5$c = _imgInsRef$current5.clearShape) === null || _imgInsRef$current5$c === void 0 || _imgInsRef$current5$c.call(_imgInsRef$current5); @@ -187,10 +192,10 @@ export var BigImagePreview = /*#__PURE__*/React.forwardRef(function (props, ref) cropInsRef === null || cropInsRef === void 0 || (_cropInsRef$current = cropInsRef.current) === null || _cropInsRef$current === void 0 || (_cropInsRef$current$d = _cropInsRef$current.destroy) === null || _cropInsRef$current$d === void 0 || _cropInsRef$current$d.call(_cropInsRef$current); cropInsRef.current = null; }; - }, [isImgReady, showCrop, cropType, currentIndex]); + }, [isImgReady, showCrop, cropType, imageKey]); var initData = function initData(_objects) { var imgIns = imgInsRef.current; - var _odRect = dataSource[currentIndex].odRect; + var _odRect = odRect; //清理crop setCropRect(null); if (!isImgReady) return; @@ -287,11 +292,10 @@ export var BigImagePreview = /*#__PURE__*/React.forwardRef(function (props, ref) // 获取框选的截图框信息 var latestCropType = useLatest(cropType); - var latestImgKey = useLatest(dataSource[currentIndex].imageKey); var latestCropRect = useLatest(cropRect); var getCropInfo = /*#__PURE__*/function () { - var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() { - var cropType, cropRect, imgIns, transform, newImgKey, rectList, extendRectList, selectIndex, shapes, shapeIds, newRect, data; + var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(cb) { + var cropType, cropRect, imgIns, transform, newImgKey, rectList, extendRectList, selectIndex, shapes, shapeIds, newRect, _data; return _regeneratorRuntime().wrap(function _callee3$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: @@ -299,7 +303,7 @@ export var BigImagePreview = /*#__PURE__*/React.forwardRef(function (props, ref) cropRect = latestCropRect.current; imgIns = imgInsRef.current; transform = imgIns.targetTransform; - newImgKey = latestImgKey.current; + newImgKey = imageKey; rectList = []; extendRectList = []; selectIndex = 0; @@ -335,26 +339,20 @@ export var BigImagePreview = /*#__PURE__*/React.forwardRef(function (props, ref) selectIndex = rectList.findIndex(function (v) { return v['id'] === selectRectId; }); - return _context3.abrupt("break", 26); + return _context3.abrupt("break", 22); case 17: //获取旋转过的坐标 // @ts-ignore newRect = getTransformRect(imgIns.image, transform, cropRect); //判断是不是旋转过 - if (!(get(transform, 'rotate', 0) % 360 != 0)) { - _context3.next = 23; - break; + if (get(transform, 'rotate', 0) % 360 != 0) { + _data = getRotateImg(imgIns.image, get(transform, 'rotate', 0)); //在画布上画旋转后的图片 + newImgKey = _data; } - data = getRotateImg(imgIns.image, get(transform, 'rotate', 0)); //在画布上画旋转后的图片 - _context3.next = 22; - return upload(data); - case 22: - newImgKey = _context3.sent; - case 23: rectList.push(newRect); extendRectList.push(newRect); - return _context3.abrupt("break", 26); - case 26: - _context3.next = 28; + return _context3.abrupt("break", 22); + case 22: + _context3.next = 24; return Promise.all(extendRectList.map( /*#__PURE__*/function () { var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(rect, index) { var file, imgKey; @@ -365,25 +363,22 @@ export var BigImagePreview = /*#__PURE__*/React.forwardRef(function (props, ref) return getFileByRect(imgIns.image, rect); case 2: file = _context.sent; - _context.next = 5; - return upload(file); - case 5: - imgKey = _context.sent; + imgKey = file; extendRectList[index] = _objectSpread(_objectSpread({}, rect), {}, { imgKey: imgKey }); - case 7: + case 5: case "end": return _context.stop(); } }, _callee); })); - return function (_x, _x2) { + return function (_x2, _x3) { return _ref2.apply(this, arguments); }; }())); - case 28: - _context3.next = 30; + case 24: + _context3.next = 26; return Promise.all(rectList.map( /*#__PURE__*/function () { var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(rect, index) { var faceCorrectImage, faceCorrectImageKey, base64, blobData, file, newRect; @@ -391,47 +386,47 @@ export var BigImagePreview = /*#__PURE__*/React.forwardRef(function (props, ref) while (1) switch (_context2.prev = _context2.next) { case 0: faceCorrectImage = rect['faceCorrectImage']; - if (!faceCorrectImage) { - _context2.next = 8; - break; + if (faceCorrectImage) { + base64 = "data:image/jpg;base64,".concat(faceCorrectImage); + blobData = dataURLToBlob(base64); + file = new window.File([blobData], "".concat(new Date().getTime())); + faceCorrectImageKey = file; } - base64 = "data:image/jpg;base64,".concat(faceCorrectImage); - blobData = dataURLToBlob(base64); - file = new window.File([blobData], "".concat(new Date().getTime())); - _context2.next = 7; - return upload(file); - case 7: - faceCorrectImageKey = _context2.sent; - case 8: newRect = _objectSpread(_objectSpread({}, rect), faceCorrectImageKey ? { faceCorrectImageKey: faceCorrectImageKey } : {}); delete newRect['faceCorrectImage']; rectList[index] = newRect; - case 11: + case 5: case "end": return _context2.stop(); } }, _callee2); })); - return function (_x3, _x4) { + return function (_x4, _x5) { return _ref3.apply(this, arguments); }; }())); - case 30: + case 26: + cb === null || cb === void 0 || cb({ + rectList: rectList, + extendRectList: extendRectList, + selectIndex: selectIndex, + imgKey: newImgKey + }); return _context3.abrupt("return", { rectList: rectList, extendRectList: extendRectList, selectIndex: selectIndex, imgKey: newImgKey }); - case 31: + case 28: case "end": return _context3.stop(); } }, _callee3); })); - return function getCropInfo() { + return function getCropInfo(_x) { return _ref.apply(this, arguments); }; }(); @@ -452,24 +447,22 @@ export var BigImagePreview = /*#__PURE__*/React.forwardRef(function (props, ref) }; // ============================= attact img ========================= - var _useState21 = useState(0), + var _useState19 = useState(0), + _useState20 = _slicedToArray(_useState19, 2), + selectAttachImgIndex = _useState20[0], + setSelectAttachImgIndex = _useState20[1]; + var _useState21 = useState(false), _useState22 = _slicedToArray(_useState21, 2), - selectAttachImgIndex = _useState22[0], - setSelectAttachImgIndex = _useState22[1]; - var _useState23 = useState(false), - _useState24 = _slicedToArray(_useState23, 2), - isZoomin = _useState24[0], - setIsZoomin = _useState24[1]; + isZoomin = _useState22[0], + setIsZoomin = _useState22[1]; /** * 修改当前图片预览下标 * @param diff 跳转强度 正向后翻、负值向前翻 */ - var handleChangeIndex = function handleChangeIndex(diff) { - var _dataSource$_index; - var _index = currentIndex + diff; - if (!(dataSource !== null && dataSource !== void 0 && (_dataSource$_index = dataSource[_index]) !== null && _dataSource$_index !== void 0 && _dataSource$_index.imageKey)) return; - setCurrentIndex(_index); + var handleChangeIndex = function handleChangeIndex(cb) { + if (!imageKey) return; + cb === null || cb === void 0 || cb(); }; // ============================== Ref =============================== @@ -488,7 +481,7 @@ export var BigImagePreview = /*#__PURE__*/React.forwardRef(function (props, ref) height: height, width: width } - }, dataSource.length ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", { + }, imageKey ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", { className: classNames("".concat(componentName, "-main"), cropType === CROP_TYPE['AUTO'] && "".concat(componentName, "-main--cursor")), ref: init }), !hideLeftTopBtn && /*#__PURE__*/React.createElement(BtnGroup, { @@ -521,15 +514,16 @@ export var BigImagePreview = /*#__PURE__*/React.forwardRef(function (props, ref) } }, screenshotButtonRender({ model: 'IMAGE', + // @ts-ignore getCropInfo: getCropInfo, setShowCrop: setShowCrop, cropType: cropType, selectAlgorithmVersion: selectAlgorithmVersion - }))), ((_dataSource$currentIn2 = dataSource[currentIndex].attachImg) === null || _dataSource$currentIn2 === void 0 ? void 0 : _dataSource$currentIn2.length) && !showCrop && /*#__PURE__*/React.createElement("div", { + }))), (attachImg === null || attachImg === void 0 ? void 0 : attachImg.length) && !showCrop && /*#__PURE__*/React.createElement("div", { className: classNames("".concat(componentName, "-attach"), isZoomin && "".concat(componentName, "-attach--zoomin"), "".concat(componentName, "-attach--fixed"), isZoomin && "".concat(componentName, "-attach--zoomin--fixed")) }, /*#__PURE__*/React.createElement("div", { className: classNames("".concat(componentName, "-attach__tab")) - }, showAttachImgLabel ? (_dataSource$currentIn3 = dataSource[currentIndex].attachImg) === null || _dataSource$currentIn3 === void 0 ? void 0 : _dataSource$currentIn3.map(function (_ref4, index) { + }, showAttachImgLabel ? attachImg === null || attachImg === void 0 ? void 0 : attachImg.map(function (_ref4, index) { var label = _ref4.label; return /*#__PURE__*/React.createElement("div", { key: index, @@ -563,13 +557,13 @@ export var BigImagePreview = /*#__PURE__*/React.forwardRef(function (props, ref) }))), /*#__PURE__*/React.createElement("img", { draggable: "false", className: classNames("".concat(componentName, "-attach__img"), "".concat(componentName, "-attach__img--fixed")), - src: get(dataSource[currentIndex].attachImg, "".concat(selectAttachImgIndex, ".url"), '') + src: get(attachImg, "".concat(selectAttachImgIndex, ".url"), '') })), showScore && /*#__PURE__*/React.createElement("div", { style: { bottom: 20 }, className: classNames("".concat(componentName, "__face-score")) - }, "\u4EBA\u8138\u8D28\u91CF\u5206\uFF1A".concat(Number(dataSource[currentIndex].score).toFixed(2)))) : /*#__PURE__*/React.createElement(Empty, { + }, "\u4EBA\u8138\u8D28\u91CF\u5206\uFF1A".concat(Number(score).toFixed(2)))) : /*#__PURE__*/React.createElement(Empty, { image: Empty.PRESENTED_IMAGE_SIMPLE, description: "\u6682\u65E0\u6570\u636E" })); diff --git a/packages/meta/es/BigImagePreview/components/ScreenhotButtons/index.js b/packages/meta/es/BigImagePreview/components/ScreenhotButtons/index.js deleted file mode 100644 index 64121a6..0000000 --- a/packages/meta/es/BigImagePreview/components/ScreenhotButtons/index.js +++ /dev/null @@ -1,124 +0,0 @@ -function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } -function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } -function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } -function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } -import React from 'react'; -import { Button } from 'antd'; -import classNames from 'classnames'; -import { IBigImageOpt } from '@zhst/types/BigImageModal'; -import "./index.less"; -var componentName = 'bigImageWrapper--v2'; -var getScreenshotButtonRender = function getScreenshotButtonRender(arg) { - var _arg$disableBtn = arg.disableBtn, - disableBtn = _arg$disableBtn === void 0 ? [] : _arg$disableBtn, - onBigImageActionClick = arg.onBigImageActionClick; - return function (param) { - var getCropInfo = param.getCropInfo, - setShowCrop = param.setShowCrop, - cropType = param.cropType, - selectAlgorithmVersion = param.selectAlgorithmVersion; - var isAuto = cropType === 'AUTO'; - return /*#__PURE__*/React.createElement("div", { - className: classNames("".concat(componentName, "__screenshot")), - style: { - zIndex: 100, - position: 'absolute', - width: '86px' - } - }, !disableBtn.includes(IBigImageOpt['ADD_HISTORY_WITH_CROP']) && isAuto && /*#__PURE__*/React.createElement(Button, { - type: 'text', - onClick: /*#__PURE__*/function () { - var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(e) { - var image; - return _regeneratorRuntime().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - e.stopPropagation(); - _context.next = 3; - return getCropInfo(); - case 3: - image = _context.sent; - setShowCrop(false); - onBigImageActionClick(IBigImageOpt['ADD_HISTORY_WITH_CROP'], image); - case 6: - case "end": - return _context.stop(); - } - }, _callee); - })); - return function (_x) { - return _ref.apply(this, arguments); - }; - }() - }, "\u76EE\u6807\u68C0\u7D22"), !disableBtn.includes(IBigImageOpt['ADD_HISTORY_WITH_CROP_BODY']) && !isAuto && /*#__PURE__*/React.createElement(Button, { - type: 'text', - onClick: /*#__PURE__*/function () { - var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(e) { - var image; - return _regeneratorRuntime().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - e.stopPropagation(); - _context2.next = 3; - return getCropInfo(); - case 3: - image = _context2.sent; - setShowCrop(false); - onBigImageActionClick(IBigImageOpt['ADD_HISTORY_WITH_CROP_BODY'], image); - case 6: - case "end": - return _context2.stop(); - } - }, _callee2); - })); - return function (_x2) { - return _ref2.apply(this, arguments); - }; - }() - }, "\u641C\u5F62\u4F53"), !disableBtn.includes(IBigImageOpt['ADD_HISTORY_WITH_CROP_VEHICLE']) && !isAuto && /*#__PURE__*/React.createElement(Button, { - type: 'text', - onClick: /*#__PURE__*/function () { - var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(e) { - var image; - return _regeneratorRuntime().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { - case 0: - e.stopPropagation(); - _context3.next = 3; - return getCropInfo(); - case 3: - image = _context3.sent; - setShowCrop(false); - onBigImageActionClick(IBigImageOpt['ADD_HISTORY_WITH_CROP_VEHICLE'], image); - case 6: - case "end": - return _context3.stop(); - } - }, _callee3); - })); - return function (_x3) { - return _ref3.apply(this, arguments); - }; - }() - }, "\u641C\u975E\u673A\u52A8\u8F66"), !disableBtn.includes(IBigImageOpt['ADD_HISTORY_WITH_CROP_ARCHIVE']) && selectAlgorithmVersion !== 0 && /*#__PURE__*/React.createElement(Button, { - type: 'text', - onClick: function onClick(e) { - e.stopPropagation(); - var image = getCropInfo(); - setShowCrop(false); - if (!image.rectList[0].algorithmVersion) { - image.rectList[0].algorithmVersion = 0; - image.extendRectList[0].algorithmVersion = 0; - } - onBigImageActionClick(IBigImageOpt['ADD_HISTORY_WITH_CROP_ARCHIVE'], image); - } - }, "\u6863\u6848\u68C0\u7D22"), /*#__PURE__*/React.createElement(Button, { - type: 'text', - onClick: function onClick(e) { - e.stopPropagation(); - setShowCrop(false); - } - }, "\u9000\u51FA\u6846\u9009")); - }; -}; -export default getScreenshotButtonRender; \ No newline at end of file diff --git a/packages/meta/es/BigImagePreview/components/ScreenhotButtons/index.less b/packages/meta/es/BigImagePreview/components/ScreenhotButtons/index.less deleted file mode 100644 index ca407fa..0000000 --- a/packages/meta/es/BigImagePreview/components/ScreenhotButtons/index.less +++ /dev/null @@ -1,21 +0,0 @@ -.bigImageWrapper--v2__screenshot { - min-width: 90px; - background: rgb(0 0 0 / 50%); - border-radius: 0; - - &>button { - width: 100%; - color: #fff !important; - font-family: 'Microsoft YaHei'; - font-size: 12px !important; - border-radius: 0; - - &>span { - color: #fff; - } - - &:hover { - background-color: #09f !important; - } - } -} diff --git a/packages/meta/es/CompareImage/CompareImage.js b/packages/meta/es/CompareImage/CompareImage.js index 290df60..1007042 100644 --- a/packages/meta/es/CompareImage/CompareImage.js +++ b/packages/meta/es/CompareImage/CompareImage.js @@ -7,7 +7,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } import React, { useRef, useState, useEffect, forwardRef, useImperativeHandle } from 'react'; import { generateImg, get, addEventListenerWrapper } from '@zhst/func'; import { useUpdateEffect } from '@zhst/hooks'; -import { Button } from 'antd'; +import Button from "../button"; import classNames from 'classnames'; import Viewer from "../ImageEditor/viewer"; import Icon from "../iconfont"; @@ -16,36 +16,37 @@ import "./index.less"; var componentName = "zhst-image__compater-view"; // 对比图组件 var CompareImage = /*#__PURE__*/forwardRef(function (props, ref) { - var label = props.label, + var _props$label = props.label, + label = _props$label === void 0 ? '标题' : _props$label, _props$openRoll = props.openRoll, - openRoll = _props$openRoll === void 0 ? false : _props$openRoll, - _props$dataSource = props.dataSource, - dataSource = _props$dataSource === void 0 ? [] : _props$dataSource, + openRoll = _props$openRoll === void 0 ? true : _props$openRoll, + _props$url = props.url, + url = _props$url === void 0 ? '' : _props$url, + _props$score = props.score, + score = _props$score === void 0 ? 0 : _props$score, + preDisable = props.preDisable, + nextDisable = props.nextDisable, _props$showScore = props.showScore, showScore = _props$showScore === void 0 ? true : _props$showScore, - _props$current = props.current, - current = _props$current === void 0 ? 0 : _props$current; + onNext = props.onNext, + onPre = props.onPre; var imgContainerRef = useRef(null); var imgInsRef = useRef(null); var _useState = useState(0), _useState2 = _slicedToArray(_useState, 2), scale = _useState2[0], setScale = _useState2[1]; - //图片翻页机制 - var _useState3 = useState(current), - _useState4 = _slicedToArray(_useState3, 2), - currentIndex = _useState4[0], - setCurrentIndex = _useState4[1]; // 初始化页面 useEffect(function () { + if (!url) return; var handleTransformChange = addEventListenerWrapper(imgContainerRef.current, 'viewer-transform-change', function (event) { var data = event.detail; setScale(get(data, 'scale', 0)); }); - if (generateImg(dataSource[currentIndex].url)) { + if (generateImg(url)) { imgInsRef.current = new Viewer(imgContainerRef.current, { - image: generateImg(dataSource[currentIndex].url) + image: generateImg(url) }); } return function () { @@ -61,49 +62,37 @@ var CompareImage = /*#__PURE__*/forwardRef(function (props, ref) { if (imgInsRef.current) { var _imgInsRef$current2; (_imgInsRef$current2 = imgInsRef.current) === null || _imgInsRef$current2 === void 0 || _imgInsRef$current2.refleshImage({ - image: generateImg(dataSource[currentIndex].url) + image: generateImg(url) }); } - }, [currentIndex]); - - // 翻页实践 - var handleIndexChange = function handleIndexChange(changeVal) { - var _dataSource$_index, _imgInsRef$current3; - var _index = currentIndex + changeVal; - if (!(dataSource !== null && dataSource !== void 0 && (_dataSource$_index = dataSource[_index]) !== null && _dataSource$_index !== void 0 && _dataSource$_index.url)) return; - (_imgInsRef$current3 = imgInsRef.current) === null || _imgInsRef$current3 === void 0 || _imgInsRef$current3.refleshImage({ - image: generateImg(dataSource[_index].url) - }); - setCurrentIndex(_index); - }; + }, [url]); useImperativeHandle(ref, function () { return { - imgInsRef: imgInsRef, - handleIndexChange: handleIndexChange + imgInsRef: imgInsRef }; }); return /*#__PURE__*/React.createElement("div", { className: classNames("".concat(componentName, "__container")) }, /*#__PURE__*/React.createElement("div", { className: classNames("".concat(componentName, "__label")) - }, label), /*#__PURE__*/React.createElement("div", { - ref: imgContainerRef, - className: classNames("".concat(componentName, "__view")) - }), !dataSource.length && /*#__PURE__*/React.createElement("div", { + }, label), !url ? /*#__PURE__*/React.createElement("div", { className: classNames("".concat(componentName, "__empty")) }, /*#__PURE__*/React.createElement("img", { src: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMIAAADDCAYAAADQvc6UAAABRWlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGASSSwoyGFhYGDIzSspCnJ3UoiIjFJgf8LAwSDCIMogwMCcmFxc4BgQ4ANUwgCjUcG3awyMIPqyLsis7PPOq3QdDFcvjV3jOD1boQVTPQrgSkktTgbSf4A4LbmgqISBgTEFyFYuLykAsTuAbJEioKOA7DkgdjqEvQHEToKwj4DVhAQ5A9k3gGyB5IxEoBmML4BsnSQk8XQkNtReEOBxcfXxUQg1Mjc0dyHgXNJBSWpFCYh2zi+oLMpMzyhRcASGUqqCZ16yno6CkYGRAQMDKMwhqj/fAIcloxgHQqxAjIHBEugw5sUIsSQpBobtQPdLciLEVJYzMPBHMDBsayhILEqEO4DxG0txmrERhM29nYGBddr//5/DGRjYNRkY/l7////39v///y4Dmn+LgeHANwDrkl1AuO+pmgAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAwqADAAQAAAABAAAAwwAAAAD9b/HnAAAHlklEQVR4Ae3dP3PTWBSGcbGzM6GCKqlIBRV0dHRJFarQ0eUT8LH4BnRU0NHR0UEFVdIlFRV7TzRksomPY8uykTk/zewQfKw/9znv4yvJynLv4uLiV2dBoDiBf4qP3/ARuCRABEFAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghgg0Aj8i0JO4OzsrPv69Wv+hi2qPHr0qNvf39+iI97soRIh4f3z58/u7du3SXX7Xt7Z2enevHmzfQe+oSN2apSAPj09TSrb+XKI/f379+08+A0cNRE2ANkupk+ACNPvkSPcAAEibACyXUyfABGm3yNHuAECRNgAZLuYPgEirKlHu7u7XdyytGwHAd8jjNyng4OD7vnz51dbPT8/7z58+NB9+/bt6jU/TI+AGWHEnrx48eJ/EsSmHzx40L18+fLyzxF3ZVMjEyDCiEDjMYZZS5wiPXnyZFbJaxMhQIQRGzHvWR7XCyOCXsOmiDAi1HmPMMQjDpbpEiDCiL358eNHurW/5SnWdIBbXiDCiA38/Pnzrce2YyZ4//59F3ePLNMl4PbpiL2J0L979+7yDtHDhw8vtzzvdGnEXdvUigSIsCLAWavHp/+qM0BcXMd/q25n1vF57TYBp0a3mUzilePj4+7k5KSLb6gt6ydAhPUzXnoPR0dHl79WGTNCfBnn1uvSCJdegQhLI1vvCk+fPu2ePXt2tZOYEV6/fn31dz+shwAR1sP1cqvLntbEN9MxA9xcYjsxS1jWR4AIa2Ibzx0tc44fYX/16lV6NDFLXH+YL32jwiACRBiEbf5KcXoTIsQSpzXx4N28Ja4BQoK7rgXiydbHjx/P25TaQAJEGAguWy0+2Q8PD6/Ki4R8EVl+bzBOnZY95fq9rj9zAkTI2SxdidBHqG9+skdw43borCXO/ZcJdraPWdv22uIEiLA4q7nvvCug8WTqzQveOH26fodo7g6uFe/a17W3+nFBAkRYENRdb1vkkz1CH9cPsVy/jrhr27PqMYvENYNlHAIesRiBYwRy0V+8iXP8+/fvX11Mr7L7ECueb/r48eMqm7FuI2BGWDEG8cm+7G3NEOfmdcTQw4h9/55lhm7DekRYKQPZF2ArbXTAyu4kDYB2YxUzwg0gi/41ztHnfQG26HbGel/crVrm7tNY+/1btkOEAZ2M05r4FB7r9GbAIdxaZYrHdOsgJ/wCEQY0J74TmOKnbxxT9n3FgGGWWsVdowHtjt9Nnvf7yQM2aZU/TIAIAxrw6dOnAWtZZcoEnBpNuTuObWMEiLAx1HY0ZQJEmHJ3HNvGCBBhY6jtaMoEiJB0Z29vL6ls58vxPcO8/zfrdo5qvKO+d3Fx8Wu8zf1dW4p/cPzLly/dtv9Ts/EbcvGAHhHyfBIhZ6NSiIBTo0LNNtScABFyNiqFCBChULMNNSdAhJyNSiECRCjUbEPNCRAhZ6NSiAARCjXbUHMCRMjZqBQiQIRCzTbUnAARcjYqhQgQoVCzDTUnQIScjUohAkQo1GxDzQkQIWejUogAEQo121BzAkTI2agUIkCEQs021JwAEXI2KoUIEKFQsw01J0CEnI1KIQJEKNRsQ80JECFno1KIABEKNdtQcwJEyNmoFCJAhELNNtScABFyNiqFCBChULMNNSdAhJyNSiECRCjUbEPNCRAhZ6NSiAARCjXbUHMCRMjZqBQiQIRCzTbUnAARcjYqhQgQoVCzDTUnQIScjUohAkQo1GxDzQkQIWejUogAEQo121BzAkTI2agUIkCEQs021JwAEXI2KoUIEKFQsw01J0CEnI1KIQJEKNRsQ80JECFno1KIABEKNdtQcwJEyNmoFCJAhELNNtScABFyNiqFCBChULMNNSdAhJyNSiECRCjUbEPNCRAhZ6NSiAARCjXbUHMCRMjZqBQiQIRCzTbUnAARcjYqhQgQoVCzDTUnQIScjUohAkQo1GxDzQkQIWejUogAEQo121BzAkTI2agUIkCEQs021JwAEXI2KoUIEKFQsw01J0CEnI1KIQJEKNRsQ80JECFno1KIABEKNdtQcwJEyNmoFCJAhELNNtScABFyNiqFCBChULMNNSdAhJyNSiEC/wGgKKC4YMA4TAAAAABJRU5ErkJggg==", title: "\u6682\u65E0\u6570\u636E" }), /*#__PURE__*/React.createElement("span", { className: classNames("".concat(componentName, "__empty--text")) - }, "\u6682\u65E0\u5339\u914D\u6570\u636E")), !!dataSource.length && openRoll && /*#__PURE__*/React.createElement("div", { + }, "\u6682\u65E0\u5339\u914D\u6570\u636E")) : /*#__PURE__*/React.createElement("div", { + ref: imgContainerRef, + className: classNames("".concat(componentName, "__view")) + }), !!url && openRoll && /*#__PURE__*/React.createElement("div", { className: classNames("".concat(componentName, "__scoll-module")) }, /*#__PURE__*/React.createElement(Button, { type: 'default', className: classNames("".concat(componentName, "__scoll-module__btn")), - disabled: currentIndex <= 0, + disabled: preDisable, onClick: function onClick() { - handleIndexChange(-1); + onPre === null || onPre === void 0 || onPre(); } }, /*#__PURE__*/React.createElement(Icon, { icon: "icon-qiehuanzuo", @@ -111,22 +100,22 @@ var CompareImage = /*#__PURE__*/forwardRef(function (props, ref) { })), /*#__PURE__*/React.createElement(Button, { type: 'default', className: classNames("".concat(componentName, "__scoll-module__btn")), - disabled: currentIndex >= dataSource.length - 1, + disabled: nextDisable, onClick: function onClick() { - handleIndexChange(1); + onNext === null || onNext === void 0 || onNext(); } }, /*#__PURE__*/React.createElement(Icon, { icon: "icon-qiehuanyou", size: 40 }))), showScore && /*#__PURE__*/React.createElement(CornerScore, { - scoreTxt: dataSource[currentIndex].score + scoreTxt: score || 0 }), /*#__PURE__*/React.createElement("div", { className: classNames("".concat(componentName, "__tool")) }, /*#__PURE__*/React.createElement(Button, { type: "text", onClick: function onClick() { - var _imgInsRef$current4, _imgInsRef$current4$s; - imgInsRef === null || imgInsRef === void 0 || (_imgInsRef$current4 = imgInsRef.current) === null || _imgInsRef$current4 === void 0 || (_imgInsRef$current4$s = _imgInsRef$current4.scaleTo) === null || _imgInsRef$current4$s === void 0 || _imgInsRef$current4$s.call(_imgInsRef$current4, 0.1); + var _imgInsRef$current3, _imgInsRef$current3$s; + imgInsRef === null || imgInsRef === void 0 || (_imgInsRef$current3 = imgInsRef.current) === null || _imgInsRef$current3 === void 0 || (_imgInsRef$current3$s = _imgInsRef$current3.scaleTo) === null || _imgInsRef$current3$s === void 0 || _imgInsRef$current3$s.call(_imgInsRef$current3, 0.1); } }, /*#__PURE__*/React.createElement(Icon, { size: 16, @@ -134,8 +123,8 @@ var CompareImage = /*#__PURE__*/forwardRef(function (props, ref) { }), /*#__PURE__*/React.createElement("span", null, '放大')), /*#__PURE__*/React.createElement(Button, { type: "text", onClick: function onClick() { - var _imgInsRef$current5, _imgInsRef$current5$s; - imgInsRef === null || imgInsRef === void 0 || (_imgInsRef$current5 = imgInsRef.current) === null || _imgInsRef$current5 === void 0 || (_imgInsRef$current5$s = _imgInsRef$current5.scaleTo) === null || _imgInsRef$current5$s === void 0 || _imgInsRef$current5$s.call(_imgInsRef$current5, -0.1); + var _imgInsRef$current4, _imgInsRef$current4$s; + imgInsRef === null || imgInsRef === void 0 || (_imgInsRef$current4 = imgInsRef.current) === null || _imgInsRef$current4 === void 0 || (_imgInsRef$current4$s = _imgInsRef$current4.scaleTo) === null || _imgInsRef$current4$s === void 0 || _imgInsRef$current4$s.call(_imgInsRef$current4, -0.1); } }, /*#__PURE__*/React.createElement(Icon, { size: 16, @@ -147,8 +136,8 @@ var CompareImage = /*#__PURE__*/forwardRef(function (props, ref) { }), /*#__PURE__*/React.createElement(Button, { type: "text", onClick: function onClick() { - var _imgInsRef$current6, _imgInsRef$current6$r; - imgInsRef === null || imgInsRef === void 0 || (_imgInsRef$current6 = imgInsRef.current) === null || _imgInsRef$current6 === void 0 || (_imgInsRef$current6$r = _imgInsRef$current6.reset) === null || _imgInsRef$current6$r === void 0 || _imgInsRef$current6$r.call(_imgInsRef$current6); + var _imgInsRef$current5, _imgInsRef$current5$r; + imgInsRef === null || imgInsRef === void 0 || (_imgInsRef$current5 = imgInsRef.current) === null || _imgInsRef$current5 === void 0 || (_imgInsRef$current5$r = _imgInsRef$current5.reset) === null || _imgInsRef$current5$r === void 0 || _imgInsRef$current5$r.call(_imgInsRef$current5); } }, /*#__PURE__*/React.createElement(Icon, { size: 16, diff --git a/packages/meta/es/CompareImage/index.less b/packages/meta/es/CompareImage/index.less index 378f365..6b69829 100644 --- a/packages/meta/es/CompareImage/index.less +++ b/packages/meta/es/CompareImage/index.less @@ -13,16 +13,15 @@ } &__container { + font-size: 0; position: relative; - width: 345px; - height: 460px; box-sizing: content-box; border: 1px solid #f0f0f0; } &__view { - width: 345px; - height: 460px; + min-width: 345px; + min-height: 450px; } &__label { @@ -31,6 +30,7 @@ top: 0; left: 0; display: flex; + font-size: 16px; height: 34px; align-items: center; justify-content: center; @@ -43,7 +43,7 @@ &__tool { display: flex; - width: 345px; + width: 100%; height: 40px; align-items: center; justify-content: center; @@ -99,6 +99,7 @@ transform: translateY(-100%); &>img { + margin-bottom: 12px; width: 140px; height: 80px; } @@ -125,6 +126,7 @@ display: flex; width: 50px; height: 50px; + bottom: 45px; align-items: center; justify-content: center; margin: 6px; diff --git a/packages/meta/es/ImageEditor/cropper/event.js b/packages/meta/es/ImageEditor/cropper/event.js index c51cbc9..bd8219c 100644 --- a/packages/meta/es/ImageEditor/cropper/event.js +++ b/packages/meta/es/ImageEditor/cropper/event.js @@ -92,7 +92,6 @@ export default { this.cropping = false; // removeClass(this.dragBox, CLASS_MASK); } - var hasCrop = get(this, 'cropBoxData.width', 0) !== 0 && get(this, 'cropBoxData.height', 0) !== 0; dispatchEvent(this.element, EVENT_CROP_CHANGE, hasCrop ? this === null || this === void 0 ? void 0 : this.cropBoxData : null); hasCrop && dispatchEvent(this.element, EVENT_CROP_END, hasCrop ? this === null || this === void 0 ? void 0 : this.cropBoxData : null); diff --git a/packages/meta/es/ImageEditor/cropper/index.js b/packages/meta/es/ImageEditor/cropper/index.js index 8e9e19a..fd0f625 100644 --- a/packages/meta/es/ImageEditor/cropper/index.js +++ b/packages/meta/es/ImageEditor/cropper/index.js @@ -9,8 +9,8 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } //@ts-nocheck import { get, isPlainObject, isString, isNil } from '@zhst/func'; import { addClass, removeClass } from 'rc-util/lib/Dom/class'; diff --git a/packages/meta/es/ImageEditor/utils.js b/packages/meta/es/ImageEditor/utils.js index 13b6199..28d15b5 100644 --- a/packages/meta/es/ImageEditor/utils.js +++ b/packages/meta/es/ImageEditor/utils.js @@ -2,8 +2,8 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } //@ts-nocheck import { isObject, isNumber, assign, isFunction } from '@zhst/func'; import { hasClass, addClass, removeClass } from 'rc-util/lib/Dom/class'; diff --git a/packages/meta/es/ImageEditor/viewer/event.js b/packages/meta/es/ImageEditor/viewer/event.js index 8f41e1e..bfcaa00 100644 --- a/packages/meta/es/ImageEditor/viewer/event.js +++ b/packages/meta/es/ImageEditor/viewer/event.js @@ -2,8 +2,8 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } //@ts-nocheck import { isNumber, get, addEventListenerWrapper } from '@zhst/func'; import { addClass, removeClass } from 'rc-util/lib/Dom/class.js'; diff --git a/packages/meta/es/ImageEditor/viewer/helper.js b/packages/meta/es/ImageEditor/viewer/helper.js index defe973..9b67aa7 100644 --- a/packages/meta/es/ImageEditor/viewer/helper.js +++ b/packages/meta/es/ImageEditor/viewer/helper.js @@ -8,8 +8,8 @@ var _excluded = ["x", "y"], function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } //@ts-nocheck diff --git a/packages/meta/es/ImageEditor/viewer/index.js b/packages/meta/es/ImageEditor/viewer/index.js index 92ed561..43ffd9d 100644 --- a/packages/meta/es/ImageEditor/viewer/index.js +++ b/packages/meta/es/ImageEditor/viewer/index.js @@ -7,8 +7,8 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } //@ts-nocheck import { isPlainObject } from '@zhst/func'; import { addClass } from 'rc-util/lib/Dom/class'; diff --git a/packages/meta/es/ImageEditor/viewer/shape.js b/packages/meta/es/ImageEditor/viewer/shape.js index d386d4f..a713880 100644 --- a/packages/meta/es/ImageEditor/viewer/shape.js +++ b/packages/meta/es/ImageEditor/viewer/shape.js @@ -8,8 +8,8 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // @ts-nocheck import { isNil, isArray, isFunction } from '@zhst/func'; import * as turf from '@turf/turf'; diff --git a/packages/meta/es/Temp/index.js b/packages/meta/es/Temp/index.js deleted file mode 100644 index 487e871..0000000 --- a/packages/meta/es/Temp/index.js +++ /dev/null @@ -1,7 +0,0 @@ -import React from 'react'; -import { Button } from 'antd'; -var ButtonDemo = function ButtonDemo(props) { - var children = props.children; - return /*#__PURE__*/React.createElement(Button, props, children); -}; -export default ButtonDemo; \ No newline at end of file diff --git a/packages/meta/es/VideoPlayer/VideoPlayer.js b/packages/meta/es/VideoPlayer/VideoPlayer.js index 795a58d..2bd4e41 100644 --- a/packages/meta/es/VideoPlayer/VideoPlayer.js +++ b/packages/meta/es/VideoPlayer/VideoPlayer.js @@ -2,8 +2,8 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } @@ -13,7 +13,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o = function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } -import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react'; +import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react'; import { noop, get, addEventListenerWrapper, dataURLToBlob, nextTick, toRealNumber, getTransforms, formatDurationTime } from '@zhst/func'; import Align from 'rc-align'; import { useLatest, useUpdateEffect, useFullscreen, useUnmount } from '@zhst/hooks'; @@ -25,7 +25,6 @@ import { Cropper, EVENT_CROP_START, EVENT_CROP_END } from "../ImageEditor"; import FlvPlayer, { FLV_EVENT } from "./components/FlvPlayer"; import Range from "./components/Progress"; import Loading from "./components/Loading"; -import getScreenshotButtonRender from "../BigImagePreview/components/ScreenhotButtons"; import { CROP_TYPE } from "../utils/constants"; import { getShowStatus } from "./videoPlayerHelper"; import "./index.less"; @@ -44,15 +43,15 @@ var VideoPlayer = /*#__PURE__*/forwardRef(function (props, ref) { } } : _props$screenshotButt, _props$screenshotButt2 = props.screenshotButtonRender, - screenshotButtonRender = _props$screenshotButt2 === void 0 ? getScreenshotButtonRender({ - onBigImageActionClick: function onBigImageActionClick() {}, - disableBtn: [] - }) : _props$screenshotButt2, + screenshotButtonRender = _props$screenshotButt2 === void 0 ? function () { + return /*#__PURE__*/React.createElement("div", { + style: { + color: '#fff' + } + }, "\u56DE\u8C03DOM"); + } : _props$screenshotButt2, onCropChange = props.onCropChange, defaultNormalizationRect = props.defautlNormalizationRect; - var videoType = useMemo(function () { - return url && url.startsWith('http') ? 'mp4' : 'flv'; - }, [url]); // ========================== 播放 ========================= //实例参数 var containerRef = useRef(null); //容器ref @@ -171,32 +170,30 @@ var VideoPlayer = /*#__PURE__*/forwardRef(function (props, ref) { checkIsErr(); console.error('视频出错了', e, video.currentTime); }; - var waitingListener = function waitingListener(e) { + var waitingListener = function waitingListener() { setIsLoadingVideoWrapper(true); - console.debug('视频加载等待', e, video.currentTime); + // console.debug('视频加载等待', e, video.currentTime); }; - var playingListener = function playingListener(e) { + var playingListener = function playingListener() { setIsLoadingVideoWrapper(false); setIsError(false); - console.debug('视频从等待中播放', e, video.currentTime); + // console.debug('视频从等待中播放', e, video.currentTime); }; - var playLister = function playLister(e) { + var playLister = function playLister() { setIsPlay(true); setIsError(false); - console.debug('提示该视频正在播放中', e, video.currentTime); + // console.debug('提示该视频正在播放中', e, video.currentTime); }; - var pauseListener = function pauseListener(e) { + var pauseListener = function pauseListener() { setIsPlay(false); - console.debug('暂停播放', e, video.currentTime); + // console.debug('暂停播放', e, video.currentTime); }; - var endedListner = function endedListner(e) { + var endedListner = function endedListner() { setIsEnd(true); setIsVideoLoadFinish(true); - console.debug('视频播放完了', e, video.currentTime); + // console.debug('视频播放完了', e, video.currentTime); }; - var timeupdateListner = function timeupdateListner(e) { - var _videoRef$current; - console.debug('视频播放时间更新', e, video.currentTime, (_videoRef$current = videoRef.current) === null || _videoRef$current === void 0 ? void 0 : _videoRef$current.duration, maxDuration); + var timeupdateListner = function timeupdateListner() { var nowTime = video.currentTime; if (nowTime >= maxDuration) { setIsEnd(true); @@ -586,7 +583,7 @@ var VideoPlayer = /*#__PURE__*/forwardRef(function (props, ref) { playId: playSeq, autoPlay: true, className: classNames("".concat(componentName, "-flv")), - type: videoType, + type: url.startsWith('http') ? 'mp4' : 'flv', url: url, config: { enableStashBuffer: true, @@ -602,7 +599,7 @@ var VideoPlayer = /*#__PURE__*/forwardRef(function (props, ref) { style: { display: isFullscreen ? 'none' : 'block' } - }), showCrop && cropRect && screenshotButtonRender && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", { + }), showCrop && cropRect && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", { ref: alginContainerRef, className: classNames("".concat(componentName, "-align")), style: Object.assign({ @@ -628,7 +625,7 @@ var VideoPlayer = /*#__PURE__*/forwardRef(function (props, ref) { className: "".concat(componentName, "-opt") }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, { type: "text", - onClick: function onClick(e) { + onClick: function onClick() { if (!isPlay) { var _videoInsRef$current8; //播放中暂停 diff --git a/packages/meta/es/VideoPlayer/components/FlvPlayer/index.js b/packages/meta/es/VideoPlayer/components/FlvPlayer/index.js index 8514dcd..b52198d 100644 --- a/packages/meta/es/VideoPlayer/components/FlvPlayer/index.js +++ b/packages/meta/es/VideoPlayer/components/FlvPlayer/index.js @@ -15,8 +15,8 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } import React, { Component } from 'react'; import flvjs from 'flv.js'; import { isEqual } from '@zhst/func'; diff --git a/packages/meta/es/doubleClick/index.js b/packages/meta/es/doubleClick/index.js deleted file mode 100644 index a409470..0000000 --- a/packages/meta/es/doubleClick/index.js +++ /dev/null @@ -1,84 +0,0 @@ -function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } -var _excluded = ["okFunc", "cancelFunc", "doubleCheckKey", "doubleCheckTitle"]; -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } -function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } -function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } -function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } -function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } -function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } -function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } -function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } -function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } -function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } -//@ts-nocheck -import { noop } from '@zhst/func'; -import { Modal, Checkbox } from 'antd'; -import { useDoubleCheck } from '@zhst/hooks'; -var confirm = Modal.confirm; - -//二次确认 -export var doubleCheck = function doubleCheck() { - var title = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '警告'; - var option = arguments.length > 1 ? arguments[1] : undefined; - var _ref = option || {}, - _ref$okFunc = _ref.okFunc, - okFunc = _ref$okFunc === void 0 ? noop : _ref$okFunc, - _ref$cancelFunc = _ref.cancelFunc, - cancelFunc = _ref$cancelFunc === void 0 ? noop : _ref$cancelFunc, - doubleCheckKey = _ref.doubleCheckKey, - _ref$doubleCheckTitle = _ref.doubleCheckTitle, - doubleCheckTitle = _ref$doubleCheckTitle === void 0 ? '不再询问' : _ref$doubleCheckTitle, - others = _objectWithoutProperties(_ref, _excluded); - return confirm(_objectSpread(_objectSpread({ - title: title, - // type: 'warning', - onCancel: function () { - var _onCancel = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(isOk) { - return _regeneratorRuntime().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - if (!isOk) { - _context.next = 5; - break; - } - _context.next = 3; - return okFunc(); - case 3: - _context.next = 7; - break; - case 5: - _context.next = 7; - return cancelFunc(); - case 7: - case "end": - return _context.stop(); - } - }, _callee); - })); - function onCancel(_x) { - return _onCancel.apply(this, arguments); - } - return onCancel; - }() - }, doubleCheckKey ? { - renderFooterRight: function renderFooterRight() { - var _useDoubleCheck = useDoubleCheck(doubleCheckKey), - _useDoubleCheck2 = _slicedToArray(_useDoubleCheck, 2), - value = _useDoubleCheck2[0], - setValue = _useDoubleCheck2[1]; - return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Checkbox, { - checked: value, - onChange: function onChange(v) { - setValue(v); - } - }, doubleCheckTitle)); - } - } : {}), others)); -}; -export default doubleCheck; \ No newline at end of file diff --git a/packages/meta/es/iconfont/index.js b/packages/meta/es/iconfont/index.js index 6a980e4..df5a782 100644 --- a/packages/meta/es/iconfont/index.js +++ b/packages/meta/es/iconfont/index.js @@ -2,8 +2,8 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } import React from 'react'; import classNames from 'classnames'; import "./iconfont.css"; diff --git a/packages/meta/es/index.js b/packages/meta/es/index.js index 4d5931a..942b61b 100644 --- a/packages/meta/es/index.js +++ b/packages/meta/es/index.js @@ -1,4 +1,3 @@ -export { default as doubleClick } from "./doubleClick"; export { default as Icon } from "./iconfont"; export { default as CompareImage } from "./CompareImage"; export { default as BigImagePreview } from "./BigImagePreview"; @@ -8,6 +7,8 @@ export { default as Button } from "./button"; export { default as Space } from "./space"; export { default as Switch } from "./switch"; export { default as Grid } from "./grid"; +export { default as Row } from "./row"; +export { default as Col } from "./col"; export { default as TimePicker } from "./time-picker"; export { default as DatePicker } from "./date-picker"; export { default as Calender } from "./calendar"; @@ -24,4 +25,8 @@ export { default as Watermark } from "./watermark"; export { default as Typography } from "./typography"; export { default as InputNumber } from "./input-number"; export { default as Modal } from "./modal"; -export { default as Divider } from "./divider"; \ No newline at end of file +export { default as Divider } from "./divider"; +export { default as Descriptions } from "./descriptions"; +export { default as Flex } from "./flex"; +export { default as Score } from "./score"; +export { default as Progress } from "./progress"; \ No newline at end of file diff --git a/packages/meta/package.json b/packages/meta/package.json index 373e28d..9c4e6c4 100644 --- a/packages/meta/package.json +++ b/packages/meta/package.json @@ -1,6 +1,6 @@ { "name": "@zhst/meta", - "version": "0.4.0", + "version": "0.6.0", "description": "原子组件", "keywords": [ "meta", @@ -14,16 +14,20 @@ "lib/**/style/*", "*.less" ], - "type": "module", "main": "lib/index.js", - "module": "es/index.ts", - "typings": "src/index.ts", + "module": "es/index.js", + "typings": "es/index.d.ts", "exports": { ".": { - "import": "./src/index.ts" + "require": "./lib/index.js", + "import": "./es/index.js", + "default": "./es/index.js" } }, "files": [ + "lib", + "es", + "dist" ], "scripts": { "build": "father build" @@ -33,7 +37,43 @@ "registry": "http://10.0.0.77:4874" }, "devDependencies": { - "@zhst/types": "workspace:^" + "@types/ali-oss": "^6.16.11", + "@types/fs-extra": "^11.0.4", + "@types/gtag.js": "^0.0.18", + "@types/http-server": "^0.12.4", + "@types/inquirer": "^9.0.7", + "@types/isomorphic-fetch": "^0.0.39", + "@types/jest": "^29.5.11", + "@types/jest-axe": "^3.5.9", + "@types/jest-environment-puppeteer": "^5.0.6", + "@types/jest-image-snapshot": "^6.4.0", + "@types/jquery": "^3.5.29", + "@types/jsdom": "^21.1.6", + "@types/lodash": "^4.14.202", + "@types/minimist": "^1.2.5", + "@types/node": "^20.10.6", + "@types/nprogress": "^0.2.3", + "@types/pixelmatch": "^5.2.6", + "@types/pngjs": "^6.0.4", + "@types/prismjs": "^1.26.3", + "@types/progress": "^2.0.7", + "@types/qs": "^6.9.11", + "@types/react": "^18.2.46", + "@types/react-copy-to-clipboard": "^5.0.7", + "@types/react-dom": "^18.2.18", + "@types/react-highlight-words": "^0.16.7", + "@types/react-resizable": "^3.0.7", + "@types/semver": "^7.5.6", + "@types/tar": "^6.1.10", + "@types/throttle-debounce": "^5.0.2", + "@types/warning": "^3.0.3", + "@types/zhst": "workspace:^", + "@typescript-eslint/eslint-plugin": "^6.17.0", + "@typescript-eslint/parser": "^6.17.0", + "react": "^18.2.0", + "react-copy-to-clipboard": "^5.1.0", + "react-countup": "^6.5.0", + "react-dom": "^18.2.0" }, "dependencies": { "@ant-design/colors": "^7.0.2", @@ -49,6 +89,7 @@ "@zhst/hooks": "workspace:^", "@zhst/meta": "workspace:^", "antd": "^5.12.5", + "antd-img-crop": "^4.21.0", "antd-style": "^3.6.1", "classnames": "^2.5.1", "copy-to-clipboard": "^3.3.3", @@ -56,24 +97,45 @@ "downloadjs": "^1.4.7", "flv.js": "^1.6.2", "rc-align": "^4.0.15", - "rc-checkbox": "^3.1.0", - "rc-dialog": "^9.3.4", - "rc-field-form": "^1.41.0", - "rc-input": "^1.4.3", - "rc-input-number": "^8.6.1", + "rc-cascader": "~3.20.0", + "rc-checkbox": "~3.1.0", + "rc-collapse": "~3.7.2", + "rc-dialog": "~9.3.4", + "rc-drawer": "~6.5.2", + "rc-dropdown": "~4.1.0", + "rc-field-form": "~1.41.0", + "rc-image": "~7.5.1", + "rc-input": "~1.3.11", + "rc-input-number": "~8.4.0", + "rc-mentions": "~2.9.1", + "rc-menu": "~9.12.4", "rc-motion": "^2.9.0", - "rc-pagination": "^4.0.4", - "rc-picker": "4.0.0-alpha.36", + "rc-notification": "~5.3.0", + "rc-pagination": "~4.0.4", + "rc-picker": "~3.14.6", + "rc-progress": "~3.5.1", + "rc-rate": "~2.12.0", "rc-resize-observer": "^1.4.0", - "rc-select": "^14.11.0", - "rc-switch": "^4.1.0", - "rc-tabs": "^14.0.0", - "rc-textarea": "^1.6.3", - "rc-tooltip": "^6.1.3", + "rc-segmented": "~2.2.2", + "rc-select": "~14.10.0", + "rc-slider": "~10.5.0", + "rc-steps": "~6.0.1", + "rc-switch": "~4.1.0", + "rc-table": "~7.36.1", + "rc-tabs": "~12.14.1", + "rc-textarea": "~1.5.3", + "rc-tooltip": "~6.1.3", + "rc-tree": "~5.8.2", + "rc-tree-select": "~5.15.0", + "rc-upload": "~4.5.2", "rc-util": "^5.38.1", "react": "^18.0.0", "react-dom": "^18.0.0", "react-draggable": "^4.4.6", "scroll-into-view-if-needed": "^3.1.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } } diff --git a/packages/meta/src/BigImagePreview/BigImagePreview.tsx b/packages/meta/src/BigImagePreview/BigImagePreview.tsx index ff2c037..6957d48 100644 --- a/packages/meta/src/BigImagePreview/BigImagePreview.tsx +++ b/packages/meta/src/BigImagePreview/BigImagePreview.tsx @@ -7,18 +7,21 @@ import { isNull, generateImg, dataURLToBlob, + // @ts-ignore getOdRect, + // @ts-ignore getExtendRect, + // @ts-ignore getTransformRect, + // @ts-ignore getRotateImg, getTransforms, addEventListenerWrapper, - upload, getFileByRect } from '@zhst/func'; import Align from 'rc-align'; import { Button, Empty } from 'antd'; -import { type Rect, type IScreenshotButtonProp, type ODRECT, type AlignType, type ViewOption, type IOdRectOrigin, AlgorithmVersion } from '@zhst/types' +import { type Rect, type IScreenshotButtonProp, type AlignType, type IOdRectOrigin } from '@zhst/types' import Icon from '../iconfont'; import { Cropper, @@ -30,11 +33,37 @@ import { } from '../ImageEditor'; import BtnGroup from './components/BtnGroup'; import './index.less' -import getScreenshotButtonRender from './components/ScreenhotButtons'; import { defaultAlignOption, CROP_TYPE } from '../utils/constants' const componentName = `zhst-image__img-view`; + +export interface ViewOption { + /* 图片url */ + image?: string | HTMLImageElement; + + /* 缩放灵敏度(0,1],default: 0.1 */ + wheelZoomRatio?: number; + + /* + * 是否允许缩放 + * @default: true + */ + scaleAble?: boolean; + + /* + * 是否允许拖拽 + * @default: true + */ + dragAble?: boolean; + + /* + * fit scale 作为 最小缩放 + * @default: false + */ + fitScaleAsMinScale?: boolean; +} + export interface ImgViewProps extends React.HTMLAttributes { data: { url?: string @@ -107,10 +136,7 @@ export const BigImagePreview = React.forwardRef((props showOpt = false, showAttachImgLabel = true, screenshotButtonAlign = defaultAlignOption, - screenshotButtonRender = getScreenshotButtonRender({ - onBigImageActionClick: () => {}, - disableBtn: [], - }), + screenshotButtonRender = () =>
回调DOM
, hideLeftTopBtn = true, viewOption = {} } = props; @@ -473,6 +499,7 @@ export const BigImagePreview = React.forwardRef((props > {screenshotButtonRender({ model: 'IMAGE', + // @ts-ignore getCropInfo, setShowCrop, cropType, diff --git a/packages/meta/src/BigImagePreview/components/ScreenhotButtons/index.less b/packages/meta/src/BigImagePreview/components/ScreenhotButtons/index.less deleted file mode 100644 index ca407fa..0000000 --- a/packages/meta/src/BigImagePreview/components/ScreenhotButtons/index.less +++ /dev/null @@ -1,21 +0,0 @@ -.bigImageWrapper--v2__screenshot { - min-width: 90px; - background: rgb(0 0 0 / 50%); - border-radius: 0; - - &>button { - width: 100%; - color: #fff !important; - font-family: 'Microsoft YaHei'; - font-size: 12px !important; - border-radius: 0; - - &>span { - color: #fff; - } - - &:hover { - background-color: #09f !important; - } - } -} diff --git a/packages/meta/src/BigImagePreview/components/ScreenhotButtons/index.tsx b/packages/meta/src/BigImagePreview/components/ScreenhotButtons/index.tsx deleted file mode 100644 index cb43597..0000000 --- a/packages/meta/src/BigImagePreview/components/ScreenhotButtons/index.tsx +++ /dev/null @@ -1,106 +0,0 @@ -import React from'react' -import { Button } from 'antd'; -import classNames from 'classnames'; -import type { AlgorithmVersion } from '@zhst/types' -import { IBigImageOpt } from '@zhst/types/BigImageModal' -import './index.less'; - -const componentName = 'bigImageWrapper--v2'; - -interface IScreenShotButton { - getCropInfo: () => void - setShowCrop: any - cropType: string - selectAlgorithmVersion?: AlgorithmVersion | null -} - -const getScreenshotButtonRender = (arg: { - disableBtn: number[]; - onBigImageActionClick: (type: number, item: any) => void; -}) => { - const { disableBtn = [], onBigImageActionClick } = arg; - return (param: IScreenShotButton) => { - const { getCropInfo, setShowCrop, cropType, selectAlgorithmVersion } = param; - let isAuto = cropType === 'AUTO'; - - return ( -
- {!disableBtn.includes(IBigImageOpt['ADD_HISTORY_WITH_CROP']) && isAuto && ( - - )} - {!disableBtn.includes(IBigImageOpt['ADD_HISTORY_WITH_CROP_BODY']) && !isAuto && ( - - )} - {!disableBtn.includes(IBigImageOpt['ADD_HISTORY_WITH_CROP_VEHICLE']) && !isAuto && ( - - )} - {!disableBtn.includes(IBigImageOpt['ADD_HISTORY_WITH_CROP_ARCHIVE']) && - selectAlgorithmVersion !== 0 && ( - - )} - -
- ); - }; -}; - -export default getScreenshotButtonRender; diff --git a/packages/meta/src/CompareImage/CompareImage.tsx b/packages/meta/src/CompareImage/CompareImage.tsx index ea49b55..a2c8ba9 100644 --- a/packages/meta/src/CompareImage/CompareImage.tsx +++ b/packages/meta/src/CompareImage/CompareImage.tsx @@ -1,7 +1,7 @@ -import React, { useRef, useState, FC, useEffect, forwardRef, useImperativeHandle } from 'react' +import React, { useRef, useState, useEffect, forwardRef, useImperativeHandle } from 'react' import { generateImg, get, addEventListenerWrapper } from '@zhst/func'; import { useUpdateEffect } from '@zhst/hooks'; -import { Button } from 'antd'; +import Button from '../button'; import classNames from 'classnames' import Viewer from '../ImageEditor/viewer'; import Icon from '../iconfont' diff --git a/packages/meta/src/Temp/index.tsx b/packages/meta/src/Temp/index.tsx deleted file mode 100644 index 2138009..0000000 --- a/packages/meta/src/Temp/index.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import React, { FC } from 'react' -import { Button } from 'antd' -import type { ButtonProps } from 'antd/lib/button' - -interface IButtonDemo extends ButtonProps { - -} - -const ButtonDemo: FC = (props) => { - const { children } = props - - return ( - - ) -} - -export default ButtonDemo diff --git a/packages/meta/src/VideoPlayer/VideoPlayer.tsx b/packages/meta/src/VideoPlayer/VideoPlayer.tsx index e23ee49..81b0b7f 100644 --- a/packages/meta/src/VideoPlayer/VideoPlayer.tsx +++ b/packages/meta/src/VideoPlayer/VideoPlayer.tsx @@ -1,4 +1,4 @@ -import React, { Dispatch, ReactElement, SetStateAction, forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react'; +import React, { Dispatch, ReactElement, SetStateAction, forwardRef, useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react'; import { noop, get, @@ -24,7 +24,6 @@ import { import FlvPlayer, { FLV_EVENT } from './components/FlvPlayer'; import Range from './components/Progress'; import Loading from './components/Loading'; -import getScreenshotButtonRender from '../BigImagePreview/components/ScreenhotButtons'; import { CROP_TYPE } from '../utils/constants'; import { getShowStatus } from './videoPlayerHelper' import './index.less' @@ -64,14 +63,10 @@ const VideoPlayer = forwardRef((props, ref) => { adjustY: true, }, }, - screenshotButtonRender = getScreenshotButtonRender({ - onBigImageActionClick: () => {}, - disableBtn: [], - }), + screenshotButtonRender = () =>
回调DOM
, onCropChange, defautlNormalizationRect: defaultNormalizationRect, } = props; - const videoType = useMemo(() => (url && url.startsWith('http') ? 'mp4' : 'flv'), [url]); // ========================== 播放 ========================= //实例参数 const containerRef: any = useRef(null); //容器ref @@ -161,37 +156,30 @@ const VideoPlayer = forwardRef((props, ref) => { checkIsErr(); console.error('视频出错了', e, video.currentTime); }; - let waitingListener = (e: any) => { + let waitingListener = () => { setIsLoadingVideoWrapper(true); - console.debug('视频加载等待', e, video.currentTime); + // console.debug('视频加载等待', e, video.currentTime); }; - let playingListener = (e: any) => { + let playingListener = () => { setIsLoadingVideoWrapper(false); setIsError(false) - console.debug('视频从等待中播放', e, video.currentTime); + // console.debug('视频从等待中播放', e, video.currentTime); }; - let playLister = (e: any) => { + let playLister = () => { setIsPlay(true); setIsError(false) - console.debug('提示该视频正在播放中', e, video.currentTime); + // console.debug('提示该视频正在播放中', e, video.currentTime); }; - let pauseListener = (e: any) => { + let pauseListener = () => { setIsPlay(false); - console.debug('暂停播放', e, video.currentTime); + // console.debug('暂停播放', e, video.currentTime); }; - let endedListner = (e: any) => { + let endedListner = () => { setIsEnd(true); setIsVideoLoadFinish(true); - console.debug('视频播放完了', e, video.currentTime); + // console.debug('视频播放完了', e, video.currentTime); }; - let timeupdateListner = (e: any) => { - console.debug( - '视频播放时间更新', - e, - video.currentTime, - videoRef.current?.duration, - maxDuration - ); + let timeupdateListner = () => { let nowTime = video.currentTime; if (nowTime >= maxDuration) { setIsEnd(true); @@ -545,7 +533,7 @@ const VideoPlayer = forwardRef((props, ref) => { playId={playSeq} autoPlay={true} className={classNames(`${componentName}-flv`)} - type={videoType} + type={url.startsWith('http') ? 'mp4' : 'flv'} url={url} config={{ enableStashBuffer: true, @@ -566,7 +554,7 @@ const VideoPlayer = forwardRef((props, ref) => { > {/*
*/} - {showCrop && cropRect && screenshotButtonRender && ( + {showCrop && cropRect && ( <>
((props, ref) => {
+ + + + {urls.map((url, idx) => ( + + + + ))} + +
+ ) +} diff --git a/packages/meta/src/VideoPlayer/index.md b/packages/meta/src/VideoPlayer/index.md index 7675081..6a64c70 100644 --- a/packages/meta/src/VideoPlayer/index.md +++ b/packages/meta/src/VideoPlayer/index.md @@ -3,6 +3,8 @@ group: 通用 category: Components subtitle: 视频播放 title: VideoPlayer 视频播放 +demo: + cols: 2 --- # VideoPlayer 视频播放 @@ -17,12 +19,12 @@ import { VideoPlayer, Space, Button } from '@zhst/meta' export default () => { const videoRef = useRef(null) - const [url, setUrl] = useState('ws://10.0.0.120:9033/flv/Sip/34020000001310000301.flv?ip=10.0.0.120&stime=1704815972&etime=1704815992') + const [url, setUrl] = useState(null) return ( - - + + @@ -30,6 +32,8 @@ export default () => { } ``` +测试视频播放压力 + ## API | 参数 | 说明 | 类型 | 默认值 | 版本 | diff --git a/packages/meta/src/_util/responsiveObserver.ts b/packages/meta/src/_util/responsiveObserver.ts index ca4b3f7..dcf4d04 100644 --- a/packages/meta/src/_util/responsiveObserver.ts +++ b/packages/meta/src/_util/responsiveObserver.ts @@ -95,6 +95,7 @@ export default function useResponsiveObserver() { if (!subscribers.size) this.unregister(); }, unregister() { + // @ts-ignore Object.keys(responsiveMap).forEach((screen: Breakpoint) => { const matchMediaQuery = responsiveMap[screen]; const handler = this.matchHandlers[matchMediaQuery]; @@ -103,6 +104,7 @@ export default function useResponsiveObserver() { subscribers.clear(); }, register() { + // @ts-ignore Object.keys(responsiveMap).forEach((screen: Breakpoint) => { const matchMediaQuery = responsiveMap[screen]; const listener = ({ matches }: { matches: boolean }) => { diff --git a/packages/meta/src/badge/Ribbon.tsx b/packages/meta/src/badge/Ribbon.tsx new file mode 100644 index 0000000..4bd8ef5 --- /dev/null +++ b/packages/meta/src/badge/Ribbon.tsx @@ -0,0 +1,72 @@ +import * as React from 'react'; +import classNames from 'classnames'; + +import type { PresetColorType } from '../_util/colors'; +import { isPresetColor } from '../_util/colors'; +import type { LiteralUnion } from '../_util/type'; +import { ConfigContext } from '../config-provider'; +import useStyle from './style/ribbon'; + +type RibbonPlacement = 'start' | 'end'; + +export interface RibbonProps { + className?: string; + prefixCls?: string; + style?: React.CSSProperties; // style of ribbon element, not the wrapper + text?: React.ReactNode; + color?: LiteralUnion; + children?: React.ReactNode; + placement?: RibbonPlacement; + rootClassName?: string; +} + +const Ribbon: React.FC = (props) => { + const { + className, + prefixCls: customizePrefixCls, + style, + color, + children, + text, + placement = 'end', + rootClassName, + } = props; + const { getPrefixCls, direction } = React.useContext(ConfigContext); + const prefixCls = getPrefixCls('ribbon', customizePrefixCls); + + const wrapperCls = `${prefixCls}-wrapper`; + const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, wrapperCls); + + const colorInPreset = isPresetColor(color, false); + const ribbonCls = classNames( + prefixCls, + `${prefixCls}-placement-${placement}`, + { + [`${prefixCls}-rtl`]: direction === 'rtl', + [`${prefixCls}-color-${color}`]: colorInPreset, + }, + className, + ); + + const colorStyle: React.CSSProperties = {}; + const cornerColorStyle: React.CSSProperties = {}; + if (color && !colorInPreset) { + colorStyle.background = color; + cornerColorStyle.color = color; + } + return wrapCSSVar( +
+ {children} +
+ {text} +
+
+
, + ); +}; + +if (process.env.NODE_ENV !== 'production') { + Ribbon.displayName = 'Ribbon'; +} + +export default Ribbon; diff --git a/packages/meta/src/badge/ScrollNumber.tsx b/packages/meta/src/badge/ScrollNumber.tsx new file mode 100644 index 0000000..79414bc --- /dev/null +++ b/packages/meta/src/badge/ScrollNumber.tsx @@ -0,0 +1,91 @@ +import classNames from 'classnames'; +import * as React from 'react'; +import { cloneElement } from '../_util/reactNode'; +import { ConfigContext } from '../config-provider'; +import SingleNumber from './SingleNumber'; + +export interface ScrollNumberProps { + prefixCls?: string; + className?: string; + motionClassName?: string; + count?: string | number | null; + children?: React.ReactElement; + component?: React.ComponentType; + style?: React.CSSProperties; + title?: string | number | null; + show: boolean; +} + +export interface ScrollNumberState { + animateStarted?: boolean; + count?: string | number | null; +} + +const ScrollNumber = React.forwardRef((props, ref) => { + const { + prefixCls: customizePrefixCls, + count, + className, + motionClassName, + style, + title, + show, + component: Component = 'sup', + children, + ...restProps + } = props; + const { getPrefixCls } = React.useContext(ConfigContext); + const prefixCls = getPrefixCls('scroll-number', customizePrefixCls); + + // ============================ Render ============================ + const newProps = { + ...restProps, + 'data-show': show, + style, + className: classNames(prefixCls, className, motionClassName), + title: title as string, + }; + + // Only integer need motion + let numberNodes: React.ReactNode = count; + if (count && Number(count) % 1 === 0) { + const numberList = String(count).split(''); + + numberNodes = ( + + {numberList.map((num, i) => ( + + ))} + + ); + } + + // allow specify the border + // mock border-color by box-shadow for compatible with old usage: + // + if (style && style.borderColor) { + newProps.style = { + ...style, + boxShadow: `0 0 0 1px ${style.borderColor} inset`, + }; + } + if (children) { + return cloneElement(children, (oriProps) => ({ + className: classNames(`${prefixCls}-custom-component`, oriProps?.className, motionClassName), + })); + } + + return ( + + {numberNodes} + + ); +}); + +export default ScrollNumber; diff --git a/packages/meta/src/badge/SingleNumber.tsx b/packages/meta/src/badge/SingleNumber.tsx new file mode 100644 index 0000000..3973a1e --- /dev/null +++ b/packages/meta/src/badge/SingleNumber.tsx @@ -0,0 +1,124 @@ +import classNames from 'classnames'; +import * as React from 'react'; + +export interface UnitNumberProps { + prefixCls: string; + value: string | number; + offset?: number; + current?: boolean; +} + +function UnitNumber({ prefixCls, value, current, offset = 0 }: UnitNumberProps) { + let style: React.CSSProperties | undefined; + + if (offset) { + style = { + position: 'absolute', + top: `${offset}00%`, + left: 0, + }; + } + + return ( + + {value} + + ); +} + +export interface SingleNumberProps { + prefixCls: string; + value: string; + count: number; +} + +function getOffset(start: number, end: number, unit: -1 | 1) { + let index = start; + let offset = 0; + + while ((index + 10) % 10 !== end) { + index += unit; + offset += unit; + } + + return offset; +} + +export default function SingleNumber(props: SingleNumberProps) { + const { prefixCls, count: originCount, value: originValue } = props; + const value = Number(originValue); + const count = Math.abs(originCount); + const [prevValue, setPrevValue] = React.useState(value); + const [prevCount, setPrevCount] = React.useState(count); + + // ============================= Events ============================= + const onTransitionEnd = () => { + setPrevValue(value); + setPrevCount(count); + }; + + // Fallback if transition events are not supported + React.useEffect(() => { + const timeout = setTimeout(() => { + onTransitionEnd(); + }, 1000); + + return () => { + clearTimeout(timeout); + }; + }, [value]); + + // ============================= Render ============================= + // Render unit list + let unitNodes: React.ReactElement[]; + let offsetStyle: React.CSSProperties | undefined; + + if (prevValue === value || Number.isNaN(value) || Number.isNaN(prevValue)) { + // Nothing to change + unitNodes = []; + offsetStyle = { + transition: 'none', + }; + } else { + unitNodes = []; + + // Fill basic number units + const end = value + 10; + const unitNumberList: number[] = []; + for (let index = value; index <= end; index += 1) { + unitNumberList.push(index); + } + + // Fill with number unit nodes + const prevIndex = unitNumberList.findIndex((n) => n % 10 === prevValue); + unitNodes = unitNumberList.map((n, index) => { + const singleUnit = n % 10; + return ( + + ); + }); + + // Calculate container offset value + const unit = prevCount < count ? 1 : -1; + offsetStyle = { + transform: `translateY(${-getOffset(prevValue, value, unit)}00%)`, + }; + } + + return ( + + {unitNodes} + + ); +} diff --git a/packages/meta/src/badge/__tests__/__snapshots__/demo-extend.test.ts.snap b/packages/meta/src/badge/__tests__/__snapshots__/demo-extend.test.ts.snap new file mode 100644 index 0000000..149ec52 --- /dev/null +++ b/packages/meta/src/badge/__tests__/__snapshots__/demo-extend.test.ts.snap @@ -0,0 +1,3101 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`renders components/badge/demo/basic.tsx extend context correctly 1`] = ` +
+
+ + + + + + + + + 5 + + + + + +
+
+ + + + + + 0 + + +
+
+ + + + + + + + +
+
+`; + +exports[`renders components/badge/demo/basic.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/badge/demo/change.tsx extend context correctly 1`] = ` +
+
+
+
+ + + + + + + + + 5 + + + + + +
+
+
+ + + +
+
+
+
+
+
+
+ + + + + + +
+
+ +
+
+
+
+`; + +exports[`renders components/badge/demo/change.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/badge/demo/colorful.tsx extend context correctly 1`] = ` +Array [ + , +
+
+ + + + pink + + +
+
+ + + + red + + +
+
+ + + + yellow + + +
+
+ + + + orange + + +
+
+ + + + cyan + + +
+
+ + + + green + + +
+
+ + + + blue + + +
+
+ + + + purple + + +
+
+ + + + geekblue + + +
+
+ + + + magenta + + +
+
+ + + + volcano + + +
+
+ + + + gold + + +
+
+ + + + lime + + +
+
, + , +
+
+ + + + #f50 + + +
+
+ + + + rgb(45, 183, 245) + + +
+
+ + + + hsl(102, 53%, 61%) + + +
+
+ + + + hwb(205 6% 9%) + + +
+
, +] +`; + +exports[`renders components/badge/demo/colorful.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/badge/demo/colorful-with-count-debug.tsx extend context correctly 1`] = ` +Array [ +
+
+ +
+ pink +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ red +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ yellow +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ orange +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ cyan +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ green +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ blue +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ purple +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ geekblue +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ magenta +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ volcano +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ gold +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ lime +
+ + + + + 4 + + + + + 4 + + + + +
+
+
, +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
, +] +`; + +exports[`renders components/badge/demo/colorful-with-count-debug.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/badge/demo/component-token.tsx extend context correctly 1`] = ` +
+
+ + + + + + + + + 5 + + + + + +
+
+ + + + + + 2 + + + + + 6 + + + + + +
+
+ + + + + + +
+
+ + + + Success + + +
+
+ + + 0 + + +
+
+`; + +exports[`renders components/badge/demo/component-token.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/badge/demo/dot.tsx extend context correctly 1`] = ` +
+
+ + + + + + +
+ +
+`; + +exports[`renders components/badge/demo/dot.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/badge/demo/link.tsx extend context correctly 1`] = ` + + + + + + + + + + 5 + + + + + + +`; + +exports[`renders components/badge/demo/link.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/badge/demo/mix.tsx extend context correctly 1`] = ` +
+
+
+
+ + + + + + + + + 5 + + + + + +
+
+ + + + + + + + + 5 + + + + + +
+
+ + + + + + + + + 5 + + + + + +
+
+ + + + + + + + + 5 + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+
+
+
+
+ + + 0 + + +
+
+ + + 0 + + +
+
+ + + 0 + + +
+
+ + + + + + 0 + + +
+
+ + + + + + 0 + + +
+
+
+
+`; + +exports[`renders components/badge/demo/mix.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/badge/demo/no-wrapper.tsx extend context correctly 1`] = ` +
+
+ +
+
+ + + + + + 1 + + + + + 1 + + + + + +
+
+ + + + + + 2 + + + + + 5 + + + + + +
+
+ + + + + +
+
+ + + 99+ + + +
+
+`; + +exports[`renders components/badge/demo/no-wrapper.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/badge/demo/offset.tsx extend context correctly 1`] = ` + + + + + + + + + 5 + + + + + +`; + +exports[`renders components/badge/demo/offset.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/badge/demo/overflow.tsx extend context correctly 1`] = ` +
+
+ + + + + + + + + 9 + + + + + 9 + + + + + +
+
+ + + + + + 99+ + + +
+
+ + + + + + 10+ + + +
+
+ + + + + + 999+ + + +
+
+`; + +exports[`renders components/badge/demo/overflow.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/badge/demo/ribbon.tsx extend context correctly 1`] = ` +
+
+
+
+
+
+
+ Pushes open the window +
+
+
+
+ and raises the spyglass. +
+
+
+ + Hippies + +
+
+
+
+
+
+
+
+
+
+ Pushes open the window +
+
+
+
+ and raises the spyglass. +
+
+
+ + Hippies + +
+
+
+
+
+
+
+
+
+
+ Pushes open the window +
+
+
+
+ and raises the spyglass. +
+
+
+ + Hippies + +
+
+
+
+
+
+
+
+
+
+ Pushes open the window +
+
+
+
+ and raises the spyglass. +
+
+
+ + Hippies + +
+
+
+
+
+
+
+
+
+
+ Pushes open the window +
+
+
+
+ and raises the spyglass. +
+
+
+ + Hippies + +
+
+
+
+
+
+
+
+
+
+ Pushes open the window +
+
+
+
+ and raises the spyglass. +
+
+
+ + Hippies + +
+
+
+
+
+
+
+
+
+
+ Pushes open the window +
+
+
+
+ and raises the spyglass. +
+
+
+ + Hippies + +
+
+
+
+
+
+
+
+
+
+ Pushes open the window +
+
+
+
+ and raises the spyglass. +
+
+
+ + Hippies + +
+
+
+
+
+`; + +exports[`renders components/badge/demo/ribbon.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/badge/demo/ribbon-debug.tsx extend context correctly 1`] = ` +
+
+
+
+
+ 推开窗户举起望远镜 +
+
+
+ + 啦啦啦啦 + +
+
+
+
+
+
+
+
+ 推开窗户举起望远镜 +
+
+
+ + 啦啦啦啦 + +
+
+
+
+
+
+
+
+ 推开窗户举起望远镜 +
+
+
+ + 啦啦啦啦 + +
+
+
+
+
+
+
+
+ 推开窗户举起望远镜 +
+
+
+ + 啦啦啦啦 + +
+
+
+
+
+
+
+
+ 推开窗户举起望远镜 +
+
+
+ + 啦啦啦啦 + +
+
+
+
+
+`; + +exports[`renders components/badge/demo/ribbon-debug.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/badge/demo/size.tsx extend context correctly 1`] = ` +
+
+ + + + + + + + + 5 + + + + + +
+
+ + + + + + + + + 5 + + + + + +
+
+`; + +exports[`renders components/badge/demo/size.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/badge/demo/status.tsx extend context correctly 1`] = ` +Array [ +
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
, +
, +
+
+ + + + Success + + +
+
+ + + + Error + + +
+
+ + + + Default + + +
+
+ + + + Processing + + +
+
+ + + + Warning + + +
+
, +] +`; + +exports[`renders components/badge/demo/status.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/badge/demo/title.tsx extend context correctly 1`] = ` +
+
+ + + + + + + + + 5 + + + + + +
+
+ + + + + + + + + - + + + + + 5 + + + + + +
+
+`; + +exports[`renders components/badge/demo/title.tsx extend context correctly 2`] = `[]`; diff --git a/packages/meta/src/badge/__tests__/__snapshots__/demo.test.tsx.snap b/packages/meta/src/badge/__tests__/__snapshots__/demo.test.tsx.snap new file mode 100644 index 0000000..20f17c7 --- /dev/null +++ b/packages/meta/src/badge/__tests__/__snapshots__/demo.test.tsx.snap @@ -0,0 +1,3070 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`renders components/badge/demo/basic.tsx correctly 1`] = ` +
+
+ + + + + + + + + 5 + + + + + +
+
+ + + + + + 0 + + +
+
+ + + + + + + + +
+
+`; + +exports[`renders components/badge/demo/change.tsx correctly 1`] = ` +
+
+
+
+ + + + + + + + + 5 + + + + + +
+
+
+ + + +
+
+
+
+
+
+
+ + + + + + +
+
+ +
+
+
+
+`; + +exports[`renders components/badge/demo/colorful.tsx correctly 1`] = ` +Array [ + , +
+
+ + + + pink + + +
+
+ + + + red + + +
+
+ + + + yellow + + +
+
+ + + + orange + + +
+
+ + + + cyan + + +
+
+ + + + green + + +
+
+ + + + blue + + +
+
+ + + + purple + + +
+
+ + + + geekblue + + +
+
+ + + + magenta + + +
+
+ + + + volcano + + +
+
+ + + + gold + + +
+
+ + + + lime + + +
+
, + , +
+
+ + + + #f50 + + +
+
+ + + + rgb(45, 183, 245) + + +
+
+ + + + hsl(102, 53%, 61%) + + +
+
+ + + + hwb(205 6% 9%) + + +
+
, +] +`; + +exports[`renders components/badge/demo/colorful-with-count-debug.tsx correctly 1`] = ` +Array [ +
+
+ +
+ pink +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ red +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ yellow +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ orange +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ cyan +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ green +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ blue +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ purple +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ geekblue +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ magenta +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ volcano +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ gold +
+ + + + + 4 + + + + + 4 + + + + +
+
+
+ +
+ lime +
+ + + + + 4 + + + + + 4 + + + + +
+
+
, +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
+ + + + loading + + +
+
, +] +`; + +exports[`renders components/badge/demo/component-token.tsx correctly 1`] = ` +
+
+ + + + + + + + + 5 + + + + + +
+
+ + + + + + 2 + + + + + 6 + + + + + +
+
+ + + + + + +
+
+ + + + Success + + +
+
+ + + 0 + + +
+
+`; + +exports[`renders components/badge/demo/dot.tsx correctly 1`] = ` +
+
+ + + + + + +
+ +
+`; + +exports[`renders components/badge/demo/link.tsx correctly 1`] = ` + + + + + + + + + + 5 + + + + + + +`; + +exports[`renders components/badge/demo/mix.tsx correctly 1`] = ` +
+
+
+
+ + + + + + + + + 5 + + + + + +
+
+ + + + + + + + + 5 + + + + + +
+
+ + + + + + + + + 5 + + + + + +
+
+ + + + + + + + + 5 + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+
+
+
+
+ + + 0 + + +
+
+ + + 0 + + +
+
+ + + 0 + + +
+
+ + + + + + 0 + + +
+
+ + + + + + 0 + + +
+
+
+
+`; + +exports[`renders components/badge/demo/no-wrapper.tsx correctly 1`] = ` +
+
+ +
+
+ + + + + + 1 + + + + + 1 + + + + + +
+
+ + + + + + 2 + + + + + 5 + + + + + +
+
+ + + + + +
+
+ + + 99+ + + +
+
+`; + +exports[`renders components/badge/demo/offset.tsx correctly 1`] = ` + + + + + + + + + 5 + + + + + +`; + +exports[`renders components/badge/demo/overflow.tsx correctly 1`] = ` +
+
+ + + + + + + + + 9 + + + + + 9 + + + + + +
+
+ + + + + + 99+ + + +
+
+ + + + + + 10+ + + +
+
+ + + + + + 999+ + + +
+
+`; + +exports[`renders components/badge/demo/ribbon.tsx correctly 1`] = ` +
+
+
+
+
+
+
+ Pushes open the window +
+
+
+
+ and raises the spyglass. +
+
+
+ + Hippies + +
+
+
+
+
+
+
+
+
+
+ Pushes open the window +
+
+
+
+ and raises the spyglass. +
+
+
+ + Hippies + +
+
+
+
+
+
+
+
+
+
+ Pushes open the window +
+
+
+
+ and raises the spyglass. +
+
+
+ + Hippies + +
+
+
+
+
+
+
+
+
+
+ Pushes open the window +
+
+
+
+ and raises the spyglass. +
+
+
+ + Hippies + +
+
+
+
+
+
+
+
+
+
+ Pushes open the window +
+
+
+
+ and raises the spyglass. +
+
+
+ + Hippies + +
+
+
+
+
+
+
+
+
+
+ Pushes open the window +
+
+
+
+ and raises the spyglass. +
+
+
+ + Hippies + +
+
+
+
+
+
+
+
+
+
+ Pushes open the window +
+
+
+
+ and raises the spyglass. +
+
+
+ + Hippies + +
+
+
+
+
+
+
+
+
+
+ Pushes open the window +
+
+
+
+ and raises the spyglass. +
+
+
+ + Hippies + +
+
+
+
+
+`; + +exports[`renders components/badge/demo/ribbon-debug.tsx correctly 1`] = ` +
+
+
+
+
+ 推开窗户举起望远镜 +
+
+
+ + 啦啦啦啦 + +
+
+
+
+
+
+
+
+ 推开窗户举起望远镜 +
+
+
+ + 啦啦啦啦 + +
+
+
+
+
+
+
+
+ 推开窗户举起望远镜 +
+
+
+ + 啦啦啦啦 + +
+
+
+
+
+
+
+
+ 推开窗户举起望远镜 +
+
+
+ + 啦啦啦啦 + +
+
+
+
+
+
+
+
+ 推开窗户举起望远镜 +
+
+
+ + 啦啦啦啦 + +
+
+
+
+
+`; + +exports[`renders components/badge/demo/size.tsx correctly 1`] = ` +
+
+ + + + + + + + + 5 + + + + + +
+
+ + + + + + + + + 5 + + + + + +
+
+`; + +exports[`renders components/badge/demo/status.tsx correctly 1`] = ` +Array [ +
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
, +
, +
+
+ + + + Success + + +
+
+ + + + Error + + +
+
+ + + + Default + + +
+
+ + + + Processing + + +
+
+ + + + Warning + + +
+
, +] +`; + +exports[`renders components/badge/demo/title.tsx correctly 1`] = ` +
+
+ + + + + + + + + 5 + + + + + +
+
+ + + + + + + + + - + + + + + 5 + + + + + +
+
+`; diff --git a/packages/meta/src/badge/__tests__/__snapshots__/index.test.tsx.snap b/packages/meta/src/badge/__tests__/__snapshots__/index.test.tsx.snap new file mode 100644 index 0000000..ca44c0f --- /dev/null +++ b/packages/meta/src/badge/__tests__/__snapshots__/index.test.tsx.snap @@ -0,0 +1,657 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Badge render Badge status/color when contains children 1`] = ` + +`; + +exports[`Badge render correct with negative number 1`] = ` +
+ + + + + + - + + + + + 1 + + + + + 0 + + + + + + + + + + + - + + + + + 1 + + + + + 0 + + + + + +
+`; + +exports[`Badge rtl render component should be rendered correctly in RTL direction 1`] = ` + +`; + +exports[`Badge rtl render component should be rendered correctly in RTL direction 2`] = ` + +
+ head + + + + + + 5 + + + + + +`; + +exports[`Badge should be compatible with borderColor style 1`] = ` + + + + + + 4 + + + + + +`; + +exports[`Badge should display custom color and number is 0 1`] = ` +
+ + + 0 + + + + + 0 + + + + + 0 + + + +
+ + 0 + + +
+`; + +exports[`Badge should render when count is changed 1`] = ` + + + + + + 1 + + + + + 0 + + + 1 + + + 2 + + + 3 + + + 4 + + + 5 + + + 6 + + + 7 + + + 8 + + + 9 + + + 0 + + + + + +`; + +exports[`Badge should render when count is changed 2`] = ` + + + + + + 1 + + + + + 1 + + + 2 + + + 3 + + + 4 + + + 5 + + + 6 + + + 7 + + + 8 + + + 9 + + + 0 + + + 1 + + + + + +`; + +exports[`Badge should render when count is changed 3`] = ` + + + + + + 1 + + + + + 1 + + + + + +`; + +exports[`Badge should render when count is changed 4`] = ` + + + 99+ + + +`; + +exports[`Badge should render when count is changed 5`] = ` + + + + + + 1 + + + + + 0 + + + + + +`; + +exports[`Badge should render when count is changed 6`] = ` + + + + + + 9 + + + 0 + + + 1 + + + 2 + + + 3 + + + 4 + + + 5 + + + 6 + + + 7 + + + 8 + + + 9 + + + + + +`; + +exports[`Badge should support offset when count is a ReactNode 1`] = ` + + + head + + + +`; diff --git a/packages/meta/src/badge/__tests__/__snapshots__/ribbon.test.tsx.snap b/packages/meta/src/badge/__tests__/__snapshots__/ribbon.test.tsx.snap new file mode 100644 index 0000000..6a4f024 --- /dev/null +++ b/packages/meta/src/badge/__tests__/__snapshots__/ribbon.test.tsx.snap @@ -0,0 +1,18 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Ribbon rtl render component should be rendered correctly in RTL direction 1`] = ` +
+
+ +
+
+
+`; diff --git a/packages/meta/src/badge/__tests__/demo-extend.test.ts b/packages/meta/src/badge/__tests__/demo-extend.test.ts new file mode 100644 index 0000000..fb3a147 --- /dev/null +++ b/packages/meta/src/badge/__tests__/demo-extend.test.ts @@ -0,0 +1,3 @@ +import { extendTest } from '../../../tests/shared/demoTest'; + +extendTest('badge'); diff --git a/packages/meta/src/badge/__tests__/demo.test.tsx b/packages/meta/src/badge/__tests__/demo.test.tsx new file mode 100644 index 0000000..18e41f6 --- /dev/null +++ b/packages/meta/src/badge/__tests__/demo.test.tsx @@ -0,0 +1,8 @@ +import * as React from 'react'; +import demoTest, { rootPropsTest } from '../../../tests/shared/demoTest'; + +demoTest('badge'); + +rootPropsTest('badge', (Badge, props) => , { + name: 'Badge.Ribbon', +}); diff --git a/packages/meta/src/badge/__tests__/image.test.ts b/packages/meta/src/badge/__tests__/image.test.ts new file mode 100644 index 0000000..f34cf6c --- /dev/null +++ b/packages/meta/src/badge/__tests__/image.test.ts @@ -0,0 +1,5 @@ +import { imageDemoTest } from '../../../tests/shared/imageTest'; + +describe('Badge image', () => { + imageDemoTest('badge'); +}); diff --git a/packages/meta/src/badge/__tests__/index.test.tsx b/packages/meta/src/badge/__tests__/index.test.tsx new file mode 100644 index 0000000..9a23c6b --- /dev/null +++ b/packages/meta/src/badge/__tests__/index.test.tsx @@ -0,0 +1,252 @@ +import { fireEvent, render } from '@testing-library/react'; +import React from 'react'; +import { act } from 'react-dom/test-utils'; +import mountTest from '../../../tests/shared/mountTest'; +import rtlTest from '../../../tests/shared/rtlTest'; +import Tooltip from '../../tooltip'; +import Badge from '../index'; + +describe('Badge', () => { + mountTest(Badge); + rtlTest(Badge); + rtlTest(() => ( + + + head + + + )); + + beforeEach(() => { + jest.useFakeTimers(); + }); + + afterEach(() => { + jest.useRealTimers(); + }); + + it('no strict warning', () => { + const errSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); + const { rerender } = render( + + + , + ); + + rerender( + + + , + ); + + expect(errSpy).not.toHaveBeenCalled(); + errSpy.mockRestore(); + }); + + it('badge dot not scaling count > 9', () => { + const { container } = render(); + expect(container.querySelectorAll('.ant-card-multiple-words').length).toBe(0); + }); + + it('badge should support float number', () => { + const { container } = render(); + expect(container.querySelectorAll('.ant-badge-multiple-words')[0].textContent).toEqual('3.5'); + + const { container: anotherContainer, unmount } = render(); + expect(anotherContainer.querySelectorAll('.ant-badge-multiple-words')[0].textContent).toEqual( + '3.5', + ); + + expect(() => unmount()).not.toThrow(); + }); + + it('badge dot not showing count == 0', () => { + const { container } = render(); + expect(container.querySelectorAll('.ant-badge-dot').length).toBe(0); + }); + + it('should have an overridden title attribute', () => { + const { container } = render(); + expect((container.querySelector('.ant-scroll-number')! as HTMLElement).title).toEqual( + 'Custom title', + ); + }); + + // https://github.com/ant-design/ant-design/issues/10626 + it('should be composable with Tooltip', () => { + const ref = React.createRef(); + const { container } = render( + + + , + ); + + act(() => { + fireEvent.mouseEnter(container.querySelector('.ant-badge')!); + jest.runAllTimers(); + }); + expect(container.querySelector('.ant-tooltip-open')).toBeTruthy(); + }); + + it('should render when count is changed', () => { + const { asFragment, rerender } = render(); + + function updateMatch(count: number) { + rerender(); + + act(() => { + jest.runAllTimers(); + expect(asFragment().firstChild).toMatchSnapshot(); + }); + } + + updateMatch(10); + updateMatch(11); + updateMatch(11); + updateMatch(111); + updateMatch(10); + updateMatch(9); + }); + + it('should be compatible with borderColor style', () => { + const { asFragment } = render( + , + ); + expect(asFragment().firstChild).toMatchSnapshot(); + }); + + // https://github.com/ant-design/ant-design/issues/13694 + it('should support offset when count is a ReactNode', () => { + const { asFragment } = render( + } offset={[10, 20]}> + + head + + , + ); + expect(asFragment().firstChild).toMatchSnapshot(); + }); + + // https://github.com/ant-design/ant-design/issues/15349 + it('should color style works on Badge', () => { + const { container } = render( + , + ); + expect((container.querySelector('.ant-badge-status-text')! as HTMLElement).style.color).toEqual( + 'red', + ); + }); + + // https://github.com/ant-design/ant-design/issues/15799 + it('render correct with negative number', () => { + const { asFragment } = render( +
+ + +
, + ); + expect(asFragment().firstChild).toMatchSnapshot(); + }); + + // https://github.com/ant-design/ant-design/issues/21331 + // https://github.com/ant-design/ant-design/issues/31590 + it('render Badge status/color when contains children', () => { + const { container, asFragment } = render( + , + ); + expect(asFragment().firstChild).toMatchSnapshot(); + expect(container.querySelectorAll('.ant-scroll-number-only-unit')[0].textContent).toBe('5'); + expect(container.querySelectorAll('.ant-scroll-number-only-unit')[1].textContent).toBe('5'); + expect(container.querySelectorAll('.ant-scroll-number-only-unit')[2].textContent).toBe('5'); + }); + + it('Badge should work when status/color is empty string', () => { + const { container } = render( + <> + + + , + ); + + expect(container.querySelectorAll('.ant-badge')).toHaveLength(2); + }); + + it('Badge should display count when color and count are both exist', () => { + const { container } = render( + <> + + + + , + ); + + expect(container.querySelectorAll('.ant-badge-count')).toHaveLength(1); + expect(container.querySelectorAll('[title="44"]')).toHaveLength(1); + expect(container.querySelectorAll('.ant-badge-status-dot')).toHaveLength(2); + }); + + it('Badge not render status-text when text is empty string', () => { + const { container } = render(); + + expect(container.querySelectorAll('.ant-badge > .ant-badge-status-text')).toHaveLength(0); + }); + + // https://github.com/ant-design/ant-design/issues/38965 + it('should display custom color and number is 0', () => { + const { container } = render( + <> + + + + +
+ + , + ); + + expect(container).toMatchSnapshot(); + expect(container.querySelectorAll('.ant-badge-count')).toHaveLength(4); + expect(container.querySelectorAll('[title="0"]')).toHaveLength(4); + }); + + it('should support classNames and styles', () => { + const { container } = render( + + test + , + ); + + const element = container.querySelector('.ant-badge'); + + // classNames + expect(element).toHaveClass('test-root'); + expect(element?.querySelector('sup')).toHaveClass('test-indicator'); + + // styles + expect(element).toHaveStyle({ backgroundColor: 'yellow' }); + expect(element?.querySelector('sup')).toHaveStyle({ backgroundColor: 'blue' }); + }); +}); diff --git a/packages/meta/src/badge/__tests__/ribbon.test.tsx b/packages/meta/src/badge/__tests__/ribbon.test.tsx new file mode 100644 index 0000000..9206bf4 --- /dev/null +++ b/packages/meta/src/badge/__tests__/ribbon.test.tsx @@ -0,0 +1,82 @@ +import { render } from '@testing-library/react'; +import React from 'react'; +import mountTest from '../../../tests/shared/mountTest'; +import rtlTest from '../../../tests/shared/rtlTest'; +import Badge from '../index'; + +describe('Ribbon', () => { + mountTest(Badge.Ribbon); + rtlTest(Badge.Ribbon); + + describe('placement', () => { + it('works with `start` & `end` placement', () => { + const { container: wrapperStart } = render( + +
+ , + ); + expect(wrapperStart.querySelectorAll('.ant-ribbon-placement-start').length).toEqual(1); + + const { container: wrapperEnd } = render( + +
+ , + ); + expect(wrapperEnd.querySelectorAll('.ant-ribbon-placement-end').length).toEqual(1); + }); + }); + + describe('color', () => { + it('works with preset color', () => { + const { container } = render( + +
+ , + ); + expect(container.querySelectorAll('.ant-ribbon-color-green').length).toEqual(1); + }); + it('works with custom color', () => { + const { container: wrapperLeft } = render( + +
+ , + ); + expect((wrapperLeft.querySelector('.ant-ribbon')! as HTMLElement).style.background).toEqual( + 'rgb(136, 136, 136)', + ); + expect((wrapperLeft.querySelector('.ant-ribbon-corner')! as HTMLElement).style.color).toEqual( + 'rgb(136, 136, 136)', + ); + const { container: wrapperRight } = render( + +
+ , + ); + expect((wrapperRight.querySelector('.ant-ribbon')! as HTMLElement).style.background).toEqual( + 'rgb(136, 136, 136)', + ); + expect( + (wrapperRight.querySelector('.ant-ribbon-corner')! as HTMLElement).style.color, + ).toEqual('rgb(136, 136, 136)'); + }); + }); + + describe('text', () => { + it('works with string', () => { + const { container } = render( + +
+ , + ); + expect(container.querySelector('.ant-ribbon')?.textContent).toEqual('cool'); + }); + it('works with element', () => { + const { container } = render( + }> +
+ , + ); + expect(container.querySelectorAll('.cool').length).toEqual(1); + }); + }); +}); diff --git a/packages/meta/src/badge/demo/basic.md b/packages/meta/src/badge/demo/basic.md new file mode 100644 index 0000000..a229bf6 --- /dev/null +++ b/packages/meta/src/badge/demo/basic.md @@ -0,0 +1,7 @@ +## zh-CN + +简单的徽章展示,当 `count` 为 `0` 时,默认不显示,但是可以使用 `showZero` 修改为显示。 + +## en-US + +Simplest Usage. Badge will be hidden when `count` is `0`, but we can use `showZero` to show it. diff --git a/packages/meta/src/badge/demo/basic.tsx b/packages/meta/src/badge/demo/basic.tsx new file mode 100644 index 0000000..eae6e0f --- /dev/null +++ b/packages/meta/src/badge/demo/basic.tsx @@ -0,0 +1,19 @@ +import React from 'react'; +import { ClockCircleOutlined } from '@ant-design/icons'; +import { Avatar, Badge, Space } from 'antd'; + +const App: React.FC = () => ( + + + + + + + + }> + + + +); + +export default App; diff --git a/packages/meta/src/badge/demo/change.md b/packages/meta/src/badge/demo/change.md new file mode 100644 index 0000000..d7a0e42 --- /dev/null +++ b/packages/meta/src/badge/demo/change.md @@ -0,0 +1,7 @@ +## zh-CN + +展示动态变化的效果。 + +## en-US + +The count will be animated as it changes. diff --git a/packages/meta/src/badge/demo/change.tsx b/packages/meta/src/badge/demo/change.tsx new file mode 100644 index 0000000..aec8bbb --- /dev/null +++ b/packages/meta/src/badge/demo/change.tsx @@ -0,0 +1,54 @@ +import React, { useState } from 'react'; +import { MinusOutlined, PlusOutlined, QuestionOutlined } from '@ant-design/icons'; +import { Avatar, Badge, Button, Switch, Space } from 'antd'; + +const ButtonGroup = Button.Group; + +const App: React.FC = () => { + const [count, setCount] = useState(5); + const [show, setShow] = useState(true); + + const increase = () => { + setCount(count + 1); + }; + + const decline = () => { + let newCount = count - 1; + if (newCount < 0) { + newCount = 0; + } + setCount(newCount); + }; + + const random = () => { + const newCount = Math.floor(Math.random() * 100); + setCount(newCount); + }; + + const onChange = (checked: boolean) => { + setShow(checked); + }; + + return ( + + + + + + + - ) -} -``` diff --git a/packages/meta/src/doubleClick/index.tsx b/packages/meta/src/doubleClick/index.tsx deleted file mode 100644 index 0c4fe92..0000000 --- a/packages/meta/src/doubleClick/index.tsx +++ /dev/null @@ -1,50 +0,0 @@ -//@ts-nocheck -import { noop } from '@zhst/func'; -import { Modal, Checkbox } from 'antd'; -import { useDoubleCheck } from '@zhst/hooks'; -const { confirm } = Modal; - -//二次确认 -export const doubleCheck = (title = '警告', option?) => { - const { - okFunc = noop, - cancelFunc = noop, - doubleCheckKey, - doubleCheckTitle = '不再询问', - ...others - } = option || {}; - - return confirm({ - title, - // type: 'warning', - onCancel: async (isOk) => { - if (isOk) { - await okFunc(); - } else { - await cancelFunc(); - } - }, - ...(doubleCheckKey - ? { - renderFooterRight: () => { - const [value, setValue] = useDoubleCheck(doubleCheckKey); - return ( -
- { - setValue(v); - }} - > - {doubleCheckTitle} - -
- ); - }, - } - : {}), - ...others, - }); -}; - -export default doubleCheck; diff --git a/packages/meta/src/form/FormItem/index.tsx b/packages/meta/src/form/FormItem/index.tsx index 2d3aee4..39cdf55 100644 --- a/packages/meta/src/form/FormItem/index.tsx +++ b/packages/meta/src/form/FormItem/index.tsx @@ -271,6 +271,7 @@ function InternalFormItem(props: FormItemProps): React.Rea errors={mergedErrors} warnings={mergedWarnings} meta={meta} + // @ts-ignore onSubItemMetaChange={onSubItemMetaChange} > {baseChildren} @@ -301,6 +302,7 @@ function InternalFormItem(props: FormItemProps): React.Rea validateTrigger={mergedValidateTrigger} onMetaChange={onMetaChange} > + {/* @ts-ignore */} {(control, renderMeta, context: FormInstance) => { const mergedName = toArray(name).length && renderMeta ? renderMeta.name : []; const fieldId = getFieldId(mergedName, formName); diff --git a/packages/meta/src/grid/style/index.ts b/packages/meta/src/grid/style/index.ts index 9624d60..27f2600 100644 --- a/packages/meta/src/grid/style/index.ts +++ b/packages/meta/src/grid/style/index.ts @@ -193,6 +193,7 @@ export const useColStyle = genStyleHooks( genGridStyle(gridToken, ''), genGridStyle(gridToken, '-xs'), Object.keys(gridMediaSizesMap) + // @ts-ignore .map((key: GridMediaSize) => genGridMediaStyle(gridToken, gridMediaSizesMap[key], key)) .reduce((pre, cur) => ({ ...pre, ...cur }), {}), ]; diff --git a/packages/meta/src/index.tsx b/packages/meta/src/index.tsx index aa3b597..ce7f37d 100644 --- a/packages/meta/src/index.tsx +++ b/packages/meta/src/index.tsx @@ -1,4 +1,3 @@ -export { default as doubleClick } from './doubleClick'; export { default as Icon } from './iconfont'; export { default as CompareImage } from './CompareImage' export type { CompareImageProps } from './CompareImage' @@ -15,6 +14,10 @@ export type { SpaceProps } from './space'; export { default as Switch } from './switch' export type { SwitchProps } from './switch'; export { default as Grid } from './grid' +export { default as Row } from './row' +export type { RowProps } from './row'; +export { default as Col } from './col' +export type { ColProps } from './col'; export { default as TimePicker } from './time-picker' export type { TimePickerProps } from './time-picker'; export { default as DatePicker } from './date-picker' @@ -52,3 +55,5 @@ export { default as Descriptions } from './descriptions' export type { DescriptionsContextProps, DescriptionsItemType, DescriptionsProps } from './descriptions' export { default as Flex } from './flex' export { default as Score } from './score' +export { default as Progress } from './progress' +export type { ProgressProps, ProgressAriaProps } from './progress' diff --git a/packages/meta/src/input-number/index.tsx b/packages/meta/src/input-number/index.tsx index 657918c..a976452 100644 --- a/packages/meta/src/input-number/index.tsx +++ b/packages/meta/src/input-number/index.tsx @@ -142,6 +142,7 @@ const InputNumber = React.forwardRef((props, classNames={{ input: inputNumberClass, }} + // @ts-ignore classes={{ affixWrapper: classNames( getStatusClassNames(`${prefixCls}-affix-wrapper`, mergedStatus, hasFeedback), diff --git a/packages/meta/src/input/TextArea.tsx b/packages/meta/src/input/TextArea.tsx index c6402db..e31ae31 100644 --- a/packages/meta/src/input/TextArea.tsx +++ b/packages/meta/src/input/TextArea.tsx @@ -93,6 +93,7 @@ const TextArea = forwardRef((props, ref) => { disabled={mergedDisabled} allowClear={mergedAllowClear} className={classNames(cssVarCls, rootCls, className, rootClassName)} + // @ts-ignore classes={{ affixWrapper: classNames( `${prefixCls}-textarea-affix-wrapper`, diff --git a/packages/meta/src/locale/ar_EG.ts b/packages/meta/src/locale/ar_EG.ts deleted file mode 100644 index 9815f19..0000000 --- a/packages/meta/src/locale/ar_EG.ts +++ /dev/null @@ -1,121 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/ar_EG'; -import Calendar from '../calendar/locale/ar_EG'; -import DatePicker from '../date-picker/locale/ar_EG'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/ar_EG'; - -const typeTemplate = 'ليس ${label} من نوع ${type} صالحًا'; - -const localeValues: Locale = { - locale: 'ar', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'يرجى التحديد', - }, - Table: { - filterTitle: 'الفلاتر', - filterConfirm: 'تأكيد', - filterReset: 'إعادة ضبط', - selectAll: 'اختيار الكل', - selectInvert: 'إلغاء الاختيار', - selectionAll: 'حدد جميع البيانات', - sortTitle: 'رتب', - expand: 'توسيع الصف', - collapse: 'طي الصف', - triggerDesc: 'ترتيب تنازلي', - triggerAsc: 'ترتيب تصاعدي', - cancelSort: 'إلغاء الترتيب', - }, - Modal: { - okText: 'تأكيد', - cancelText: 'إلغاء', - justOkText: 'تأكيد', - }, - Popconfirm: { - okText: 'تأكيد', - cancelText: 'إلغاء', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'ابحث هنا', - itemUnit: 'عنصر', - itemsUnit: 'عناصر', - }, - Upload: { - uploading: 'جاري الرفع...', - removeFile: 'احذف الملف', - uploadError: 'مشكلة فى الرفع', - previewFile: 'استعرض الملف', - downloadFile: 'تحميل الملف', - }, - Empty: { - description: 'لا توجد بيانات', - }, - Icon: { - icon: 'أيقونة', - }, - Text: { - edit: 'تعديل', - copy: 'نسخ', - copied: 'نقل', - expand: 'وسع', - }, - PageHeader: { - back: 'عودة', - }, - Form: { - defaultValidateMessages: { - default: 'خطأ في حقل الإدخال ${label}', - required: 'يرجى إدخال ${label}', - enum: '${label} يجب أن يكون واحدا من [${enum}]', - whitespace: '${label} لا يمكن أن يكون حرفًا فارغًا', - date: { - format: '${label} تنسيق التاريخ غير صحيح', - parse: '${label} لا يمكن تحويلها إلى تاريخ', - invalid: 'تاريخ ${label} غير صحيح', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: 'يجب ${label} ان يكون ${len} أحرف', - min: '${label} على الأقل ${min} أحرف', - max: '${label} يصل إلى ${max} أحرف', - range: 'يجب ${label} ان يكون مابين ${min}-${max} أحرف', - }, - number: { - len: '${len} ان يساوي ${label} يجب', - min: '${min} الأدنى هو ${label} حد', - max: '${max} الأقصى هو ${label} حد', - range: '${max}-${min} ان يكون مابين ${label} يجب', - }, - array: { - len: 'يجب أن يكون ${label} طوله ${len}', - min: 'يجب أن يكون ${label} طوله الأدنى ${min}', - max: 'يجب أن يكون ${label} طوله الأقصى ${max}', - range: 'يجب أن يكون ${label} طوله مابين ${min}-${max}', - }, - pattern: { - mismatch: 'لا يتطابق ${label} مع ${pattern}', - }, - }, - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/az_AZ.ts b/packages/meta/src/locale/az_AZ.ts deleted file mode 100644 index a2e9dcf..0000000 --- a/packages/meta/src/locale/az_AZ.ts +++ /dev/null @@ -1,101 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/az_AZ'; -import Calendar from '../calendar/locale/az_AZ'; -import DatePicker from '../date-picker/locale/az_AZ'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/az_AZ'; - -const typeTemplate = '${label}Hökmlü deyil${type}'; - -const localeValues: Locale = { - locale: 'az', - Pagination, - DatePicker, - TimePicker, - Calendar, - Table: { - filterTitle: 'Filter menyu', - filterConfirm: 'Axtar', - filterReset: 'Sıfırla', - emptyText: 'Məlumat yoxdur', - selectAll: 'Cari səhifəni seç', - selectInvert: 'Invert current page', - }, - Modal: { - okText: 'Bəli', - cancelText: 'Ləğv et', - justOkText: 'Bəli', - }, - Popconfirm: { - okText: 'Bəli', - cancelText: 'Ləğv et', - }, - Transfer: { - titles: ['', ''], - notFoundContent: 'Tapılmadı', - searchPlaceholder: 'Burada axtar', - itemUnit: 'item', - itemsUnit: 'items', - }, - Select: { - notFoundContent: 'Tapılmadı', - }, - Upload: { - uploading: 'Yüklənir...', - removeFile: 'Faylı sil', - uploadError: 'Yükləmə xətası', - previewFile: 'Fayla önbaxış', - }, - Form: { - optional: '(Seçimli)', - defaultValidateMessages: { - default: 'Sahə təsdiq xətası${label}', - required: 'Xahiş edirik daxil olun${label}', - enum: '${label}Onlardan biri olmalıdır[${enum}]', - whitespace: '${label}Null xarakter ola bilməz', - date: { - format: '${label}Tarix formatı hökmlü deyil', - parse: '${label}Tarixi döndərmək mümkün deyil', - invalid: '${label}səhv tarixdir', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label}Olmalıdır${len}işarələr', - min: '${label}ən az${min}işarələr', - max: '${label}ən çox${max}işarələr', - range: '${label}Olmalıdır${min}-${max}hərflər arasında', - }, - number: { - len: '${label}Bərabər olmalıdır${len}', - min: '${label}Minimal dəyəri${min}', - max: '${label}Maksimal qiymət:${max}', - range: '${label}Olmalıdır${min}-${max}aralarında', - }, - array: { - len: 'Olmalıdır${len}parça${label}', - min: 'ən az${min}parça${label}', - max: 'ən çox${max}parça${label}', - range: '${label}miqdarıOlmalıdır${min}-${max}aralarında', - }, - pattern: { - mismatch: '${label}Şablona uyğun gəlmir${pattern}', - }, - }, - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/bg_BG.ts b/packages/meta/src/locale/bg_BG.ts deleted file mode 100644 index 0604790..0000000 --- a/packages/meta/src/locale/bg_BG.ts +++ /dev/null @@ -1,99 +0,0 @@ -import Pagination from 'rc-pagination/lib/locale/bg_BG'; -import Calendar from '../calendar/locale/bg_BG'; -import DatePicker from '../date-picker/locale/bg_BG'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/bg_BG'; - -const typeTemplate = '${label} не е валиден ${type}'; - -const localeValues: Locale = { - locale: 'bg', - Pagination, - DatePicker, - TimePicker, - Calendar, - Table: { - filterTitle: 'Филтриране', - filterConfirm: 'Добре', - filterReset: 'Нулриане', - selectAll: 'Избор на текуща страница', - selectInvert: 'Обръщане', - }, - Modal: { - okText: 'Добре', - cancelText: 'Отказ', - justOkText: 'Добре', - }, - Popconfirm: { - okText: 'Добре', - cancelText: 'Отказ', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Търсене', - itemUnit: 'избор', - itemsUnit: 'избори', - }, - Upload: { - uploading: 'Качване...', - removeFile: 'Премахване', - uploadError: 'Грешка при качването', - previewFile: 'Преглед', - downloadFile: 'Свали файл', - }, - Empty: { - description: 'Няма данни', - }, - Form: { - optional: '(по желание)', - defaultValidateMessages: { - default: 'грешка при проверка на полето ${label}', - required: 'Моля, въведете ${label}', - enum: '${label} трябва да е един от [${enum}]', - whitespace: '${label} Не може да бъде нулев знак', - date: { - format: '${label} невалиден формат на датата', - parse: '${label} не може да се преобразува в дата', - invalid: '${label} е невалидна дата', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} ще бъде ${len} знака', - min: '${label} най-малко ${min} герои', - max: '${label} повечето ${max} герои', - range: '${label} Трябва да е вътре ${min}-${max} между знаци', - }, - number: { - len: '${label} трябва да е равно на ${len}', - min: '${label} Минималната стойност е ${min}', - max: '${label} Максималната стойност е ${max}', - range: '${label} Трябва да е вътре ${min}-${max} между', - }, - array: { - len: 'ще бъде ${len} индивидуален ${label}', - min: 'най-малко ${min} индивидуален ${label}', - max: 'повечето ${max} индивидуален ${label}', - range: '${label} Количеството трябва да е вътре ${min}-${max} между', - }, - pattern: { - mismatch: '${label} не отговаря на модела ${pattern}', - }, - }, - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/bn_BD.ts b/packages/meta/src/locale/bn_BD.ts deleted file mode 100644 index c02532f..0000000 --- a/packages/meta/src/locale/bn_BD.ts +++ /dev/null @@ -1,134 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/bn_BD'; -import Calendar from '../calendar/locale/bn_BD'; -import DatePicker from '../date-picker/locale/bn_BD'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/bn_BD'; - -const typeTemplate = '${label} টি সঠিক ${type} নয়।'; - -const localeValues: Locale = { - locale: 'bn-bd', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'অনুগ্রহ করে নির্বাচন করুন', - }, - Table: { - filterTitle: 'ফিল্টার মেনু', - filterConfirm: 'ঠিক', - filterReset: 'রিসেট', - filterEmptyText: 'ফিল্টার নেই', - emptyText: 'কোনও ডেটা নেই', - selectAll: 'বর্তমান পৃষ্ঠা নির্বাচন করুন', - selectInvert: 'বর্তমান পৃষ্ঠাটি উল্টে দিন', - selectNone: 'সমস্ত ডেটা সাফ করুন', - selectionAll: 'সমস্ত ডেটা নির্বাচন করুন', - sortTitle: 'সাজান', - expand: 'সারি প্রসারিত করুন', - collapse: 'সারি সঙ্কুচিত করুন', - triggerDesc: 'অবতরণকে সাজানোর জন্য ক্লিক করুন', - triggerAsc: 'আরোহী বাছাই করতে ক্লিক করুন', - cancelSort: 'বাছাই বাতিল করতে ক্লিক করুন', - }, - Modal: { - okText: 'ঠিক', - cancelText: 'বাতিল', - justOkText: 'ঠিক', - }, - Popconfirm: { - okText: 'ঠিক', - cancelText: 'বাতিল', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'এখানে অনুসন্ধান', - itemUnit: 'আইটেম', - itemsUnit: 'আইটেমসমূহ', - remove: 'অপসারণ', - selectCurrent: 'বর্তমান পৃষ্ঠা নির্বাচন করুন', - removeCurrent: 'বর্তমান পৃষ্ঠাটি সরান', - selectAll: 'সমস্ত ডেটা নির্বাচন করুন', - removeAll: 'সমস্ত ডেটা সরান', - selectInvert: 'বর্তমান পৃষ্ঠাটি উল্টে দিন', - }, - Upload: { - uploading: 'আপলোড হচ্ছে ...', - removeFile: 'ফাইল সরান', - uploadError: 'আপলোডে সমস্যা', - previewFile: 'ফাইলের পূর্বরূপ', - downloadFile: 'ফাইল ডাউনলোড', - }, - Empty: { - description: 'কোনও ডেটা নেই', - }, - Icon: { - icon: 'আইকন', - }, - Text: { - edit: 'সম্পাদনা', - copy: 'অনুলিপি', - copied: 'অনুলিপি হয়েছে', - expand: 'বিস্তৃত করা', - }, - PageHeader: { - back: 'পেছনে', - }, - Form: { - optional: '(ঐচ্ছিক)', - defaultValidateMessages: { - default: '${label} এর ক্ষেত্রে ক্ষেত্র বৈধতা ত্রুটি', - required: 'অনুগ্রহ করে ${label} প্রবেশ করান', - enum: '${label} অবশ্যই [${enum}] এর মধ্যে একটি হতে হবে', - whitespace: '${label} ফাঁকা অক্ষর হতে পারে না', - date: { - format: '${label} তারিখ ফরমেট সঠিক নয়।', - parse: '${label} তারিখে রূপান্তর করা যায় না', - invalid: '${label} একটি সঠিক তারিখ না।', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} অবশ্যই ${len} অক্ষরের হতে হবে।', - min: '${label} অবশ্যই অন্তত ${min} অক্ষরের হতে হবে।', - max: '${label} অবশ্যই ${max} পর্যন্ত অক্ষরের হতে হবে।', - range: '${label} অবশ্যই ${min}-${max} অক্ষরের এর মধ্যে হতে হবে।', - }, - number: { - len: '${label} অবশ্যই ${len} এর সমান হতে হবে', - min: '${label} অবশ্যই সর্বনিম্ন ${min} হতে হবে', - max: '${label} অবশ্যই সর্বোচ্চ ${max} হতে হবে', - range: '${label} অবশ্যই ${min}-${max} এর মধ্যে হতে হবে', - }, - array: { - len: 'অবশ্যই ${len} ${label} হতে হবে', - min: 'কমপক্ষে ${min} ${label}', - max: 'সর্বাধিক হিসাবে ${max} ${label}', - range: '${label} এর পরিমাণ অবশ্যই ${min}-${max} এর মধ্যে হতে হবে', - }, - pattern: { - mismatch: '${label} এই ${pattern} প্যাটার্নের সাথে মেলে না', - }, - }, - }, - Image: { - preview: 'পূর্বরূপ', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/by_BY.ts b/packages/meta/src/locale/by_BY.ts deleted file mode 100644 index 976a67d..0000000 --- a/packages/meta/src/locale/by_BY.ts +++ /dev/null @@ -1,136 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/by_BY'; -import Calendar from '../calendar/locale/by_BY'; -import DatePicker from '../date-picker/locale/by_BY'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/by_BY'; - -const typeTemplate: string = "${label} не з'яўляецца тыпам ${type}"; - -const localeValues: Locale = { - locale: 'by', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Калі ласка, выберыце', - }, - Table: { - filterTitle: 'Фільтр', - filterConfirm: 'OK', - filterReset: 'Скінуць', - filterEmptyText: 'Без фільтраў', - filterCheckall: 'Выбраць усё', - filterSearchPlaceholder: 'Пошук фільтраў', - emptyText: 'Няма даных', - selectAll: 'Выбраць усё', - selectInvert: 'Інвертаваць выбар', - selectNone: 'Ачысціць усе даныя', - selectionAll: 'Выбраць усе даныя', - sortTitle: 'Сартаванне', - expand: 'Разгарнуць радок', - collapse: 'Згарнуць радок', - triggerDesc: 'Націсніце для сартавання па ўбыванні', - triggerAsc: 'Націсніце для сартавання па ўзрастанні', - cancelSort: 'Націсніце, каб адмяніць сартаванне', - }, - Modal: { - okText: 'OK', - cancelText: 'Адмена', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Адмена', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Пошук', - itemUnit: 'элем.', - itemsUnit: 'элем.', - remove: 'Выдаліць', - selectCurrent: 'Вылучыць бягучую старонку', - removeCurrent: 'Выдаліць бягучую старонку', - selectAll: 'Выбраць усе даныя', - removeAll: 'Выдаліць усе даныя', - selectInvert: 'Паказаць у адваротным парадку', - }, - Upload: { - uploading: 'Запампоўка...', - removeFile: 'Выдаліць файл', - uploadError: 'Адбылася памылка пры запампоўцы', - previewFile: 'Перадпрагляд файла', - downloadFile: 'Спампаваць файл', - }, - Empty: { - description: 'Няма даных', - }, - Icon: { - icon: 'Іконка', - }, - Text: { - edit: 'Рэдагаваць', - copy: 'Капіяваць', - copied: 'Капіяванне завершана', - expand: 'Разгарнуць', - }, - PageHeader: { - back: 'Назад', - }, - Form: { - optional: '(не абавязкова)', - defaultValidateMessages: { - default: 'Памылка праверкі поля «${label}»', - required: 'Калі ласка, увядзіце «${label}»', - enum: 'Поле «${label}» павінна быць адным з [${enum}]', - whitespace: 'Поле «${label}» не можа быць пустым', - date: { - format: 'Поле «${label}» мае няправільны фармат даты', - parse: 'Поле «${label}» не можа быць пераўтворана ў дату', - invalid: "Поле «${label}» не з'яўляецца карэктнай датай", - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: 'Значэнне поля «${label}» павінна мець даўжыню ${len} сімвалаў', - min: 'Значэнне поля «${label}» павінна мець не меней за ${min} сімвалаў', - max: 'Значэнне поля «${label}» павінна быць не даўжэй за ${max} сімвалаў', - range: 'Значэнне поля «${label}» павінна мець даўжыню ${min}-${max} сімвалаў', - }, - number: { - len: 'Значэнне поля «${label}» павінна быць роўнае ${len}', - min: 'Значэнне поля «${label}» павінна быць больш або роўнае ${min}', - max: 'Значэнне поля «${label}» павінна быць больш або роўнае ${max}', - range: 'Значэнне поля «${label}» павінна быць паміж ${min} і ${max}', - }, - array: { - len: 'Колькасць элементаў у полі «${label}» павінна быць роўная ${len}', - min: 'Колькасць элементаў у полі «${label}» павінна быць не меней за ${min}', - max: 'Колькасць элементаў у полі «${label}» павінна быць не болей за ${max}', - range: 'Колькасць элементаў у полі «${label}» павінна быць паміж ${min} і ${max}', - }, - pattern: { - mismatch: 'Значэнне поля «${label}» не адпавядае шаблону ${pattern}', - }, - }, - }, - Image: { - preview: 'Preview', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/ca_ES.ts b/packages/meta/src/locale/ca_ES.ts deleted file mode 100644 index e9600ab..0000000 --- a/packages/meta/src/locale/ca_ES.ts +++ /dev/null @@ -1,129 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/ca_ES'; -import Calendar from '../calendar/locale/ca_ES'; -import DatePicker from '../date-picker/locale/ca_ES'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/ca_ES'; - -const typeTemplate = '${label} no és un ${type} vàlid'; - -const localeValues: Locale = { - locale: 'ca', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Seleccionar', - }, - Table: { - filterTitle: 'Filtrar el menú', - filterConfirm: 'D’acord', - filterReset: 'Reiniciar', - filterEmptyText: 'Sense filtres', - selectAll: 'Seleccionar la pàgina actual', - selectInvert: 'Invertir la selecció', - selectionAll: 'Seleccionar-ho tot', - sortTitle: 'Ordenar', - expand: 'Ampliar la fila', - collapse: 'Plegar la fila', - triggerDesc: 'Ordre descendent', - triggerAsc: 'Ordre ascendent', - cancelSort: 'Desactivar l’ordre', - }, - Modal: { - okText: 'D’acord', - cancelText: 'Cancel·lar', - justOkText: 'D’acord', - }, - Popconfirm: { - okText: 'D’acord', - cancelText: 'Cancel·lar', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Cercar', - itemUnit: 'ítem', - itemsUnit: 'ítems', - remove: 'Eliminar', - selectCurrent: 'Seleccionar la pàgina actual', - removeCurrent: 'Eliminar la selecció', - selectAll: 'Seleccionar-ho tot', - removeAll: 'Eliminar-ho tot', - selectInvert: 'Invertir la selecció', - }, - Upload: { - uploading: 'Carregant…', - removeFile: 'Eliminar el fitxer', - uploadError: 'Error de càrrega', - previewFile: 'Vista prèvia del fitxer', - downloadFile: 'Baixar el fitxer', - }, - Empty: { - description: 'Sense dades', - }, - Icon: { - icon: 'icona', - }, - Text: { - edit: 'Editar', - copy: 'Copiar', - copied: 'Copiat', - expand: 'Ampliar', - }, - PageHeader: { - back: 'Enrere', - }, - Form: { - optional: '(opcional)', - defaultValidateMessages: { - default: 'Error de validació del camp ${label}', - required: 'Introdueix ${label}', - enum: '${label} ha de ser un de [${enum}]', - whitespace: '${label} no pot ser un caràcter en blanc', - date: { - format: 'El format de la data de ${label} és invàlid', - parse: '${label} no es pot convertir a cap data', - invalid: '${label} és una data invàlida', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} ha de ser de ${len} caràcters', - min: '${label} ha de tenir com a mínim ${min} caràcters', - max: '${label} ha de tenir com a màxim ${max} caràcters', - range: '${label} ha d’estar entre ${min} i ${max} caràcters', - }, - number: { - len: '${label} ha de ser igual a ${len}', - min: '${label} ha de tenir un valor mínim de ${min}', - max: '${label} ha de tenir un valor màxim de ${max}', - range: '${label} ha de tenir un valor entre ${min} i ${max}', - }, - array: { - len: 'La llargada de ${label} ha de ser de ${len}', - min: 'La llargada de ${label} ha de ser com a mínim de ${min}', - max: 'La llargada de ${label} ha de ser com a màxim de ${max}', - range: 'La llargada de ${label} ha d’estar entre ${min} i ${max}', - }, - pattern: { - mismatch: '${label} no coincideix amb el patró ${pattern}', - }, - }, - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/cs_CZ.ts b/packages/meta/src/locale/cs_CZ.ts deleted file mode 100644 index 26ad77e..0000000 --- a/packages/meta/src/locale/cs_CZ.ts +++ /dev/null @@ -1,136 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/cs_CZ'; -import Calendar from '../calendar/locale/cs_CZ'; -import DatePicker from '../date-picker/locale/cs_CZ'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/cs_CZ'; - -const typeTemplate = '${label} není platný ${type}'; - -const localeValues: Locale = { - locale: 'cs', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Prosím vyber', - }, - Table: { - filterTitle: 'Filtr', - filterConfirm: 'Potvrdit', - filterReset: 'Obnovit', - filterEmptyText: 'Žádné filtry', - filterCheckall: 'Vybrat všechny položky', - filterSearchPlaceholder: 'Vyhledat ve filtrech', - emptyText: 'Žádná data', - selectAll: 'Vybrat všechny řádky na současné stránce', - selectInvert: 'Invertovat výběr na současné stránce', - selectNone: 'Odznačit vše', - selectionAll: 'Vybrat všechny řádky', - sortTitle: 'Řadit', - expand: 'Rozbalit řádek', - collapse: 'Zabalit řádek', - triggerDesc: 'Klikni pro sestupné řazení', - triggerAsc: 'Klikni pro vzestupné řazení', - cancelSort: 'Klikni pro zrušení řazení', - }, - Modal: { - okText: 'OK', - cancelText: 'Zrušit', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Zrušit', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Vyhledávání', - itemUnit: 'položka', - itemsUnit: 'položek', - remove: 'Odstranit', - selectCurrent: 'Vybrat aktuální stranu', - removeCurrent: 'Smazat aktuální stranu', - selectAll: 'Označit vše', - removeAll: 'Odznačit vše', - selectInvert: 'Opačný výběr', - }, - Upload: { - uploading: 'Nahrávání...', - removeFile: 'Odstranit soubor', - uploadError: 'Chyba při nahrávání', - previewFile: 'Zobrazit soubor', - downloadFile: 'Stáhnout soubor', - }, - Empty: { - description: 'Žádná data', - }, - Icon: { - icon: 'ikona', - }, - Text: { - edit: 'Upravit', - copy: 'Kopírovat', - copied: 'Zkopírované', - expand: 'Zvětšit', - }, - PageHeader: { - back: 'Zpět', - }, - Form: { - optional: '(nepovinné)', - defaultValidateMessages: { - default: 'Validační chyba pole pro ${label}', - required: 'Prosím vložte ${label}', - enum: '${label} musí být jeden z [${enum}]', - whitespace: '${label} nemůže být prázdný znak', - date: { - format: '${label} formát datumu je neplatný', - parse: '${label} není možné konvertovat na datum', - invalid: '${label} je neplatné datum', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} musí být ${len} znaků', - min: '${label} musí být alespoň ${min} znaků', - max: '${label} musí být do ${max} znaků', - range: '${label} musí být mezi ${min}-${max} znaky', - }, - number: { - len: '${label} musí být stejný jako ${len}', - min: '${label} musí být minimálně ${min}', - max: '${label} musí být maximálně ${max}', - range: '${label} musí být mezi ${min}-${max}', - }, - array: { - len: 'Musí být ${len} ${label}', - min: 'Alespoň ${min} ${label}', - max: 'Nejvíc ${max} ${label}', - range: 'Počet ${label} musí být mezi ${min}-${max}', - }, - pattern: { - mismatch: '${label} neodpovídá vzoru ${pattern}', - }, - }, - }, - Image: { - preview: 'Náhled', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/da_DK.ts b/packages/meta/src/locale/da_DK.ts deleted file mode 100644 index 39c7d8d..0000000 --- a/packages/meta/src/locale/da_DK.ts +++ /dev/null @@ -1,57 +0,0 @@ -import Pagination from 'rc-pagination/lib/locale/da_DK'; -import Calendar from '../calendar/locale/da_DK'; -import DatePicker from '../date-picker/locale/da_DK'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/da_DK'; - -const localeValues: Locale = { - locale: 'da', - DatePicker, - TimePicker, - Calendar, - Pagination, - Table: { - filterTitle: 'Filtermenu', - filterConfirm: 'OK', - filterReset: 'Nulstil', - filterEmptyText: 'Ingen filtre', - emptyText: 'Ingen data', - selectAll: 'Vælg alle', - selectNone: 'Ryd alt data', - selectInvert: 'Invertér valg', - selectionAll: 'Vælg alt data', - sortTitle: 'Sortér', - expand: 'Udvid række', - collapse: 'Flet række', - triggerDesc: 'Klik for at sortere faldende', - triggerAsc: 'Klik for at sortere stigende', - cancelSort: 'Klik for at annullere sortering', - }, - Modal: { - okText: 'OK', - cancelText: 'Afbryd', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Afbryd', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Søg her', - itemUnit: 'element', - itemsUnit: 'elementer', - }, - Upload: { - uploading: 'Uploader...', - removeFile: 'Fjern fil', - uploadError: 'Fejl ved upload', - previewFile: 'Forhåndsvisning', - downloadFile: 'Download fil', - }, - Empty: { - description: 'Ingen data', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/de_DE.ts b/packages/meta/src/locale/de_DE.ts deleted file mode 100644 index d161fbb..0000000 --- a/packages/meta/src/locale/de_DE.ts +++ /dev/null @@ -1,140 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/de_DE'; -import Calendar from '../calendar/locale/de_DE'; -import DatePicker from '../date-picker/locale/de_DE'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/de_DE'; - -const typeTemplate = '${label} ist nicht gültig. ${type} erwartet'; - -const localeValues: Locale = { - locale: 'de', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Bitte auswählen', - }, - Table: { - filterTitle: 'Filter-Menü', - filterConfirm: 'OK', - filterReset: 'Zurücksetzen', - filterEmptyText: 'Keine Filter', - filterSearchPlaceholder: 'Suche in Filtern', - filterCheckall: 'Alle auswählen', - selectAll: 'Selektiere Alle', - selectInvert: 'Selektion Invertieren', - selectionAll: 'Wählen Sie alle Daten aus', - sortTitle: 'Sortieren', - emptyText: 'Keine Daten', - expand: 'Zeile erweitern', - collapse: 'Zeile reduzieren', - triggerDesc: 'Klicken zur absteigenden Sortierung', - triggerAsc: 'Klicken zur aufsteigenden Sortierung', - cancelSort: 'Klicken zum Abbrechen der Sortierung', - }, - Tour: { - Next: 'Weiter', - Previous: 'Zurück', - Finish: 'Fertig', - }, - Modal: { - okText: 'OK', - cancelText: 'Abbrechen', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Abbrechen', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Suchen', - itemUnit: 'Eintrag', - itemsUnit: 'Einträge', - remove: 'Entfernen', - selectCurrent: 'Alle auf aktueller Seite auswählen', - removeCurrent: 'Auswahl auf aktueller Seite aufheben', - selectAll: 'Alle auswählen', - removeAll: 'Auswahl aufheben', - selectInvert: 'Auswahl umkehren', - }, - Upload: { - uploading: 'Hochladen...', - removeFile: 'Datei entfernen', - uploadError: 'Fehler beim Hochladen', - previewFile: 'Dateivorschau', - downloadFile: 'Download-Datei', - }, - Empty: { - description: 'Keine Daten', - }, - Text: { - edit: 'Bearbeiten', - copy: 'Kopieren', - copied: 'Kopiert', - expand: 'Erweitern', - }, - PageHeader: { - back: 'Zurück', - }, - Form: { - defaultValidateMessages: { - default: 'Feld-Validierungsfehler: ${label}', - required: 'Bitte geben Sie ${label} an', - enum: '${label} muss eines der folgenden sein [${enum}]', - whitespace: '${label} darf kein Leerzeichen sein', - date: { - format: '${label} ist ein ungültiges Datumsformat', - parse: '${label} kann nicht in ein Datum umgewandelt werden', - invalid: '${label} ist ein ungültiges Datum', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} muss genau ${len} Zeichen lang sein', - min: '${label} muss mindestens ${min} Zeichen lang sein', - max: '${label} darf höchstens ${max} Zeichen lang sein', - range: '${label} muss zwischen ${min} und ${max} Zeichen lang sein', - }, - number: { - len: '${label} muss gleich ${len} sein', - min: '${label} muss mindestens ${min} sein', - max: '${label} darf maximal ${max} sein', - range: '${label} muss zwischen ${min} und ${max} liegen', - }, - array: { - len: 'Es müssen ${len} ${label} sein', - min: 'Es müssen mindestens ${min} ${label} sein', - max: 'Es dürfen maximal ${max} ${label} sein', - range: 'Die Anzahl an ${label} muss zwischen ${min} und ${max} liegen', - }, - pattern: { - mismatch: '${label} entspricht nicht dem ${pattern} Muster', - }, - }, - }, - Image: { - preview: 'Vorschau', - }, - QRCode: { - expired: 'QR-Code abgelaufen', - refresh: 'Aktualisieren', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/el_GR.ts b/packages/meta/src/locale/el_GR.ts deleted file mode 100644 index 97a489a..0000000 --- a/packages/meta/src/locale/el_GR.ts +++ /dev/null @@ -1,47 +0,0 @@ -import Pagination from 'rc-pagination/lib/locale/el_GR'; -import Calendar from '../calendar/locale/el_GR'; -import DatePicker from '../date-picker/locale/el_GR'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/el_GR'; - -const localeValues: Locale = { - locale: 'el', - Pagination, - DatePicker, - TimePicker, - Calendar, - Table: { - filterTitle: 'Μενού φίλτρων', - filterConfirm: 'ΟΚ', - filterReset: 'Επαναφορά', - selectAll: 'Επιλογή τρέχουσας σελίδας', - selectInvert: 'Αντιστροφή τρέχουσας σελίδας', - }, - Modal: { - okText: 'ΟΚ', - cancelText: 'Άκυρο', - justOkText: 'ΟΚ', - }, - Popconfirm: { - okText: 'ΟΚ', - cancelText: 'Άκυρο', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Αναζήτηση', - itemUnit: 'αντικείμενο', - itemsUnit: 'αντικείμενα', - }, - Upload: { - uploading: 'Μεταφόρτωση...', - removeFile: 'Αφαίρεση αρχείου', - uploadError: 'Σφάλμα μεταφόρτωσης', - previewFile: 'Προεπισκόπηση αρχείου', - downloadFile: 'Λήψη αρχείου', - }, - Empty: { - description: 'Δεν υπάρχουν δεδομένα', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/en_GB.ts b/packages/meta/src/locale/en_GB.ts deleted file mode 100644 index ec98560..0000000 --- a/packages/meta/src/locale/en_GB.ts +++ /dev/null @@ -1,136 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/en_GB'; -import Calendar from '../calendar/locale/en_GB'; -import DatePicker from '../date-picker/locale/en_GB'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/en_GB'; - -const typeTemplate = '${label} is not a valid ${type}'; - -const localeValues: Locale = { - locale: 'en-gb', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Please select', - }, - Table: { - filterTitle: 'Filter menu', - filterConfirm: 'OK', - filterReset: 'Reset', - filterEmptyText: 'No filters', - filterCheckall: 'Select all items', - filterSearchPlaceholder: 'Search in filters', - emptyText: 'No data', - selectAll: 'Select current page', - selectInvert: 'Invert current page', - selectNone: 'Clear all data', - selectionAll: 'Select all data', - sortTitle: 'Sort', - expand: 'Expand row', - collapse: 'Collapse row', - triggerDesc: 'Click to sort descending', - triggerAsc: 'Click to sort ascending', - cancelSort: 'Click to cancel sorting', - }, - Modal: { - okText: 'OK', - cancelText: 'Cancel', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Cancel', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Search here', - itemUnit: 'item', - itemsUnit: 'items', - remove: 'Remove', - selectCurrent: 'Select current page', - removeCurrent: 'Remove current page', - selectAll: 'Select all data', - removeAll: 'Remove all data', - selectInvert: 'Invert current page', - }, - Upload: { - uploading: 'Uploading...', - removeFile: 'Remove file', - uploadError: 'Upload error', - previewFile: 'Preview file', - downloadFile: 'Download file', - }, - Empty: { - description: 'No Data', - }, - Icon: { - icon: 'icon', - }, - Text: { - edit: 'Edit', - copy: 'Copy', - copied: 'Copied', - expand: 'Expand', - }, - PageHeader: { - back: 'Back', - }, - Form: { - optional: '(optional)', - defaultValidateMessages: { - default: 'Field validation error for ${label}', - required: 'Please enter ${label}', - enum: '${label} must be one of [${enum}]', - whitespace: '${label} cannot be a blank character', - date: { - format: '${label} date format is invalid', - parse: '${label} cannot be converted to a date', - invalid: '${label} is an invalid date', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} must be ${len} characters', - min: '${label} must be at least ${min} characters', - max: '${label} must be up to ${max} characters', - range: '${label} must be between ${min}-${max} characters', - }, - number: { - len: '${label} must be equal to ${len}', - min: '${label} must be minimum ${min}', - max: '${label} must be maximum ${max}', - range: '${label} must be between ${min}-${max}', - }, - array: { - len: 'Must be ${len} ${label}', - min: 'At least ${min} ${label}', - max: 'At most ${max} ${label}', - range: 'The amount of ${label} must be between ${min}-${max}', - }, - pattern: { - mismatch: '${label} does not match the pattern ${pattern}', - }, - }, - }, - Image: { - preview: 'Preview', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/en_US.ts b/packages/meta/src/locale/en_US.ts index b47d569..4b3bcd0 100644 --- a/packages/meta/src/locale/en_US.ts +++ b/packages/meta/src/locale/en_US.ts @@ -1,5 +1,5 @@ /* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/en_US'; +// import Pagination from 'rc-pagination/lib/locale/en_US'; import type { Locale } from '.'; import Calendar from '../calendar/locale/en_US'; import DatePicker from '../date-picker/locale/en_US'; @@ -9,46 +9,47 @@ const typeTemplate = '${label} is not a valid ${type}'; const localeValues: Locale = { locale: 'en', - Pagination, + // Pagination, DatePicker, TimePicker, Calendar, global: { placeholder: 'Please select', }, - Table: { - filterTitle: 'Filter menu', - filterConfirm: 'OK', - filterReset: 'Reset', - filterEmptyText: 'No filters', - filterCheckall: 'Select all items', - filterSearchPlaceholder: 'Search in filters', - emptyText: 'No data', - selectAll: 'Select current page', - selectInvert: 'Invert current page', - selectNone: 'Clear all data', - selectionAll: 'Select all data', - sortTitle: 'Sort', - expand: 'Expand row', - collapse: 'Collapse row', - triggerDesc: 'Click to sort descending', - triggerAsc: 'Click to sort ascending', - cancelSort: 'Click to cancel sorting', - }, - Tour: { - Next: 'Next', - Previous: 'Previous', - Finish: 'Finish', - }, + // Table: { + // filterTitle: 'Filter menu', + // filterConfirm: 'OK', + // filterReset: 'Reset', + // filterEmptyText: 'No filters', + // filterCheckall: 'Select all items', + // filterSearchPlaceholder: 'Search in filters', + // emptyText: 'No data', + // selectAll: 'Select current page', + // selectInvert: 'Invert current page', + // selectNone: 'Clear all data', + // selectionAll: 'Select all data', + // sortTitle: 'Sort', + // expand: 'Expand row', + // collapse: 'Collapse row', + // triggerDesc: 'Click to sort descending', + // triggerAsc: 'Click to sort ascending', + // cancelSort: 'Click to cancel sorting', + // }, + // Tour: { + // Next: 'Next', + // Previous: 'Previous', + // Finish: 'Finish', + // }, Modal: { okText: 'OK', cancelText: 'Cancel', justOkText: 'OK', }, - Popconfirm: { - okText: 'OK', - cancelText: 'Cancel', - }, + // Popconfirm: { + // okText: 'OK', + // cancelText: 'Cancel', + // }, + // @ts-ignore Transfer: { titles: ['', ''], searchPlaceholder: 'Search here', diff --git a/packages/meta/src/locale/es_ES.ts b/packages/meta/src/locale/es_ES.ts deleted file mode 100644 index e9972bc..0000000 --- a/packages/meta/src/locale/es_ES.ts +++ /dev/null @@ -1,136 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/es_ES'; -import Calendar from '../calendar/locale/es_ES'; -import DatePicker from '../date-picker/locale/es_ES'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/es_ES'; - -const typeTemplate = '${label} no es un ${type} válido'; - -const localeValues: Locale = { - locale: 'es', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Seleccione', - }, - Table: { - filterTitle: 'Filtrar menú', - filterConfirm: 'Aceptar', - filterReset: 'Reiniciar', - filterEmptyText: 'Sin filtros', - filterCheckall: 'Seleccionar todo', - filterSearchPlaceholder: 'Buscar en filtros', - emptyText: 'Sin datos', - selectAll: 'Seleccionar todo', - selectInvert: 'Invertir selección', - selectNone: 'Vacíe todo', - selectionAll: 'Seleccionar todos los datos', - sortTitle: 'Ordenar', - expand: 'Expandir fila', - collapse: 'Colapsar fila', - triggerDesc: 'Click para ordenar en orden descendente', - triggerAsc: 'Click para ordenar en orden ascendente', - cancelSort: 'Click para cancelar ordenamiento', - }, - Modal: { - okText: 'Aceptar', - cancelText: 'Cancelar', - justOkText: 'Aceptar', - }, - Popconfirm: { - okText: 'Aceptar', - cancelText: 'Cancelar', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Buscar aquí', - itemUnit: 'elemento', - itemsUnit: 'elementos', - remove: 'Eliminar', - selectCurrent: 'Seleccionar página actual', - removeCurrent: 'Remover página actual', - selectAll: 'Seleccionar todos los datos', - removeAll: 'Eliminar todos los datos', - selectInvert: 'Invertir página actual', - }, - Upload: { - uploading: 'Subiendo...', - removeFile: 'Eliminar archivo', - uploadError: 'Error al subir el archivo', - previewFile: 'Vista previa', - downloadFile: 'Descargar archivo', - }, - Empty: { - description: 'No hay datos', - }, - Icon: { - icon: 'ícono', - }, - Text: { - edit: 'Editar', - copy: 'Copiar', - copied: 'Copiado', - expand: 'Expandir', - }, - PageHeader: { - back: 'Volver', - }, - Form: { - optional: '(opcional)', - defaultValidateMessages: { - default: 'Error de validación del campo ${label}', - required: 'Por favor ingresar ${label}', - enum: '${label} debe ser uno de [${enum}]', - whitespace: '${label} no puede ser un carácter en blanco', - date: { - format: 'El formato de fecha de ${label} es inválido', - parse: '${label} no se puede convertir a una fecha', - invalid: '${label} es una fecha inválida', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} debe tener ${len} caracteres', - min: '${label} debe tener al menos ${min} caracteres', - max: '${label} debe tener hasta ${max} caracteres', - range: '${label} debe tener entre ${min}-${max} caracteres', - }, - number: { - len: '${label} debe ser igual a ${len}', - min: '${label} valor mínimo es ${min}', - max: '${label} valor máximo es ${max}', - range: '${label} debe estar entre ${min}-${max}', - }, - array: { - len: 'Debe ser ${len} ${label}', - min: 'Al menos ${min} ${label}', - max: 'A lo mucho ${max} ${label}', - range: 'El monto de ${label} debe estar entre ${min}-${max}', - }, - pattern: { - mismatch: '${label} no coincide con el patrón ${pattern}', - }, - }, - }, - Image: { - preview: 'Previsualización', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/et_EE.ts b/packages/meta/src/locale/et_EE.ts deleted file mode 100644 index 8c1a44d..0000000 --- a/packages/meta/src/locale/et_EE.ts +++ /dev/null @@ -1,136 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/et_EE'; -import Calendar from '../calendar/locale/et_EE'; -import DatePicker from '../date-picker/locale/et_EE'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/et_EE'; - -const typeTemplate = '${label} ei ole kehtiv ${type}'; - -const localeValues: Locale = { - locale: 'et', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Palun vali', - }, - Table: { - filterTitle: 'Filtri menüü', - filterConfirm: 'OK', - filterReset: 'Nulli', - filterEmptyText: 'Filtreid pole', - filterCheckall: 'Vali kõik', - filterSearchPlaceholder: 'Otsi filtritest', - emptyText: 'Andmed puuduvad', - selectAll: 'Vali kõik', - selectInvert: 'Inverteeri valik', - selectNone: 'Kustuta kõik andmed', - selectionAll: 'Vali kõik andmed', - sortTitle: 'Sorteeri', - expand: 'Laienda rida', - collapse: 'Ahenda rida', - triggerDesc: 'Klõpsa kahanevalt sortimiseks', - triggerAsc: 'Klõpsa kasvavalt sortimiseks', - cancelSort: 'Klõpsa sortimise tühistamiseks', - }, - Modal: { - okText: 'OK', - cancelText: 'Tühista', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Tühista', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Otsi siit', - itemUnit: 'kogus', - itemsUnit: 'kogused', - remove: 'Eemalda', - selectCurrent: 'Vali praegune leht', - removeCurrent: 'Eemalda praegune leht', - selectAll: 'Vali kõik', - removeAll: 'Eemalda kõik andmed', - selectInvert: 'Inverteeri valik', - }, - Upload: { - uploading: 'Üleslaadimine...', - removeFile: 'Eemalda fail', - uploadError: 'Üleslaadimise tõrge', - previewFile: 'Faili eelvaade', - downloadFile: 'Lae fail alla', - }, - Empty: { - description: 'Andmed puuduvad', - }, - Icon: { - icon: 'ikoon', - }, - Text: { - edit: 'Muuda', - copy: 'Kopeeri', - copied: 'Kopeeritud', - expand: 'Laienda', - }, - PageHeader: { - back: 'Tagasi', - }, - Form: { - optional: '(valikuline)', - defaultValidateMessages: { - default: '${label} välja valideerimise viga', - required: 'Palun sisesta ${label}', - enum: '${label} peab olema üks järgmistest: [${enum}]', - whitespace: '${label} ei saa olla tühi märk', - date: { - format: '${label} kuupäevavorming on kehtetu', - parse: '${label} ei saa kuupäevaks teisendada', - invalid: '${label} on vale kuupäev', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} peab koosnema ${len} tähemärgist', - min: '${label} peab olema vähemalt ${min} tähemärki', - max: '${label} peab olema kuni ${max} tähemärki', - range: '${label} peab olema vahemikus ${min}–${max} tähemärki', - }, - number: { - len: '${label} must be equal to ${len}', - min: '${label} peab olema vähemalt ${min}', - max: '${label} peab olema maksimaalne ${max}', - range: '${label} peab olema vahemikus ${min}–${max}', - }, - array: { - len: 'Peab olema ${len} ${label}', - min: 'Vähemalt ${min} ${label}', - max: 'Maksimaalselt ${max} ${label}', - range: '${label} summa peab olema vahemikus ${min}–${max}', - }, - pattern: { - mismatch: '${label} ei vasta mustrile ${pattern}', - }, - }, - }, - Image: { - preview: 'Eelvaade', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/eu_ES.ts b/packages/meta/src/locale/eu_ES.ts deleted file mode 100644 index 878f5d1..0000000 --- a/packages/meta/src/locale/eu_ES.ts +++ /dev/null @@ -1,148 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/eu_ES'; -import Calendar from '../calendar/locale/eu_ES'; -import DatePicker from '../date-picker/locale/eu_ES'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/eu_ES'; - -const typeTemplate = '${label} ez da ${type} balioduna'; - -const localeValues: Locale = { - locale: 'eu', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Aukeratu', - }, - Table: { - filterTitle: 'Iragazi menua', - filterConfirm: 'Onartu', - filterReset: 'Garbitu', - filterEmptyText: 'Iragazkirik gabe', - filterCheckall: 'Hautatu dena', - filterSearchPlaceholder: 'Bilatu iragazkietan', - emptyText: 'Daturik gabe', - selectAll: 'Hautatu dena', - selectInvert: 'Alderantzikatu hautaketa', - selectNone: 'Hustu dena', - selectionAll: 'Hautatu datu guztiak', - sortTitle: 'Ordenatu', - expand: 'Zabaldu', - collapse: 'Itxi', - triggerDesc: 'Egin klik beheranzko ordenean ordenatzeko', - triggerAsc: 'Egin klik goranzko ordenean ordenatzeko', - cancelSort: 'Egin klik ordenamendua ezeztatzeko', - }, - Tour: { - Next: 'Hurrengoa', - Previous: 'Aurrekoa', - Finish: 'Bukatu', - }, - Modal: { - okText: 'Onartu', - cancelText: 'Utzi', - justOkText: 'Onartu', - }, - Popconfirm: { - okText: 'Onartu', - cancelText: 'Utzi', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Bilatu hemen', - itemUnit: 'elementu', - itemsUnit: 'elementuak', - remove: 'Ezabatu', - selectCurrent: 'Hautatu uneko orria', - removeCurrent: 'Uneko orria ezabatu', - selectAll: 'Datu guztiak hautatu', - removeAll: 'Ezabatu datu guztiak', - selectInvert: 'Uneko orrialdea alderantzikatu', - }, - Upload: { - uploading: 'Igotzen...', - removeFile: 'Fitxategia ezabatu', - uploadError: 'Errorea fitxategia igotzerakoan', - previewFile: 'Aurrebista', - downloadFile: 'Fitxategia deskargatu', - }, - Empty: { - description: 'Ez dago daturik', - }, - Icon: { - icon: 'ikono', - }, - Text: { - edit: 'Editatu', - copy: 'Kopiatu', - copied: 'Kopiatuta', - expand: 'Zabaldu', - }, - PageHeader: { - back: 'Itzuli', - }, - Form: { - optional: '(aukerakoa)', - defaultValidateMessages: { - default: '${label} eremuaren balidazio errorea', - required: 'Mesedez, sartu ${label}', - enum: '${label} [${enum}] -tako bat izan behar da', - whitespace: '${label} ezin da izan karaktere zuri bat', - date: { - format: '${label} dataren formatua baliogabea da', - parse: '${label} ezin da data batera doitu', - invalid: '${label} data baliogabea da', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} eremuak ${len} karaktere izan dehar ditu', - min: '${label} eremuak gutxienez ${min} karaktere izan behar ditu', - max: '${label} eremuak gehienez ${max} karaktere izan behar ditu', - range: '${label} eremuak ${min}-${max} karaktere artean izan behar ditu', - }, - number: { - len: '${label} eremuaren balioa ${len} izan behar da', - min: '${label} eremuaren balio minimoa ${min} da', - max: '${label} eremuaren balio maximoa ${max} da', - range: '${label} eremuaren balioa ${min}-${max} artekoa izan behar da', - }, - array: { - len: '${len} ${label} izan behar dira', - min: 'Gutxienez ${min} ${label}', - max: 'Gehienez ${max} ${label}', - range: '${label} kopuruak ${min}-${max} -ra bitartekoa izan behar du', - }, - pattern: { - mismatch: '${label} ez dator bat ${pattern} patroiarekin', - }, - }, - }, - Image: { - preview: 'Aurrebista', - }, - QRCode: { - expired: 'QR kodea kadukatuta', - refresh: 'Freskatu', - }, - ColorPicker: { - presetEmpty: 'Hustu', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/fa_IR.ts b/packages/meta/src/locale/fa_IR.ts deleted file mode 100644 index 7bd2d61..0000000 --- a/packages/meta/src/locale/fa_IR.ts +++ /dev/null @@ -1,145 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/fa_IR'; -import Calendar from '../calendar/locale/fa_IR'; -import DatePicker from '../date-picker/locale/fa_IR'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/fa_IR'; - -const typeTemplate = '${label} از نوع ${type} معتبر نیست'; - -const localeValues: Locale = { - locale: 'fa', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'لطفاً انتخاب کنید', - }, - Table: { - filterTitle: 'منوی فیلتر', - filterConfirm: 'تایید', - filterReset: 'پاک کردن', - filterEmptyText: 'بدون فیلتر', - filterCheckall: 'انتخاب همه‌ی موارد', - filterSearchPlaceholder: 'جستجو در فیلترها', - emptyText: 'بدون داده', - selectAll: 'انتخاب صفحه‌ی کنونی', - selectInvert: 'معکوس کردن انتخاب‌ها در صفحه ی کنونی', - selectNone: 'انتخاب هیچکدام', - selectionAll: 'انتخاب همه‌ی داده‌ها', - sortTitle: 'مرتب سازی', - expand: 'باز شدن ردیف', - collapse: 'بستن ردیف', - triggerDesc: 'ترتیب نزولی', - triggerAsc: 'ترتیب صعودی', - cancelSort: 'لغوِ ترتیبِ داده شده', - }, - Tour: { - Next: 'بعدی', - Previous: 'قبلی', - Finish: 'پایان', - }, - Modal: { - okText: 'تایید', - cancelText: 'لغو', - justOkText: 'تایید', - }, - Popconfirm: { - okText: 'تایید', - cancelText: 'لغو', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'جستجو', - itemUnit: 'عدد', - itemsUnit: 'عدد', - remove: 'حذف', - selectCurrent: 'انتخاب صفحه فعلی', - removeCurrent: 'پاک کردن انتخاب‌های صفحه فعلی', - selectAll: 'انتخاب همه', - removeAll: 'پاک کردن همه انتخاب‌ها', - selectInvert: 'معکوس کردن انتخاب‌ها در صفحه ی کنونی', - }, - Upload: { - uploading: 'در حال آپلود...', - removeFile: 'حذف فایل', - uploadError: 'خطا در آپلود', - previewFile: 'مشاهده‌ی فایل', - downloadFile: 'دریافت فایل', - }, - Empty: { - description: 'داده‌ای موجود نیست', - }, - Icon: { - icon: 'آیکن', - }, - Text: { - edit: 'ویرایش', - copy: 'کپی', - copied: 'کپی شد', - expand: 'توسعه', - }, - PageHeader: { - back: 'برگشت', - }, - Form: { - optional: '(اختیاری)', - defaultValidateMessages: { - default: 'خطا در ${label}', - required: 'فیلد ${label} اجباریست', - enum: '${label} باید یکی از [${enum}] باشد', - whitespace: '${label} نمیتواند خالی باشد', - date: { - format: 'ساختار تاریخ در ${label} نامعتبر است', - parse: '${label} قابل تبدیل به تاریخ نیست', - invalid: '${label} تاریخی نا معتبر است', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} باید ${len} کاراکتر باشد', - min: '${label} باید حداقل ${min} کاراکتر باشد', - max: '${label} باید حداکثر ${max} کاراکتر باشد', - range: '${label} باید بین ${min}-${max} کاراکتر باشد', - }, - number: { - len: '${label} باید برابر ${len}', - min: '${label} حداقل میتواند ${min} باشد', - max: '${label} حداکثر میتواند ${max} باشد', - range: '${label} باید بین ${min}-${max} باشد', - }, - array: { - len: 'تعداد ${label} باید ${len} باشد.', - min: 'تعداد ${label} حداقل باید ${min} باشد', - max: 'تعداد ${label} حداکثر باید ${max} باشد', - range: 'مقدار ${label} باید بین ${min}-${max} باشد', - }, - pattern: { - mismatch: 'الگوی ${label} با ${pattern} برابری نمی‌کند', - }, - }, - }, - Image: { - preview: 'پیش‌نمایش', - }, - QRCode: { - expired: 'QR Code منقضی شذد', - refresh: 'به‌روزرسانی', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/fi_FI.ts b/packages/meta/src/locale/fi_FI.ts deleted file mode 100644 index 375f8a2..0000000 --- a/packages/meta/src/locale/fi_FI.ts +++ /dev/null @@ -1,57 +0,0 @@ -import Pagination from 'rc-pagination/lib/locale/fi_FI'; -import Calendar from '../calendar/locale/fi_FI'; -import DatePicker from '../date-picker/locale/fi_FI'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/fi_FI'; - -const localeValues: Locale = { - locale: 'fi', - Pagination, - DatePicker, - TimePicker, - Calendar, - Table: { - filterTitle: 'Suodatus valikko', - filterConfirm: 'OK', - filterReset: 'Tyhjennä', - selectAll: 'Valitse kaikki', - selectInvert: 'Valitse päinvastoin', - sortTitle: 'Lajittele', - triggerDesc: 'Lajittele laskevasti', - triggerAsc: 'Lajittele nousevasti', - cancelSort: 'Peruuta lajittelu', - }, - Modal: { - okText: 'OK', - cancelText: 'Peruuta', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Peruuta', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Etsi täältä', - itemUnit: 'kohde', - itemsUnit: 'kohdetta', - }, - Upload: { - uploading: 'Lähetetään...', - removeFile: 'Poista tiedosto', - uploadError: 'Virhe lähetyksessä', - previewFile: 'Esikatsele tiedostoa', - downloadFile: 'Lataa tiedosto', - }, - Empty: { - description: 'Ei kohteita', - }, - Text: { - edit: 'Muokkaa', - copy: 'Kopioi', - copied: 'Kopioitu', - expand: 'Näytä lisää', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/fr_BE.ts b/packages/meta/src/locale/fr_BE.ts deleted file mode 100644 index a3fe0c4..0000000 --- a/packages/meta/src/locale/fr_BE.ts +++ /dev/null @@ -1,133 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/fr_BE'; -import Calendar from '../calendar/locale/fr_BE'; -import DatePicker from '../date-picker/locale/fr_BE'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/fr_BE'; - -const typeTemplate = "La valeur du champ ${label} n'est pas valide pour le type ${type}"; - -const localeValues: Locale = { - locale: 'fr', - Pagination, - DatePicker, - TimePicker, - Calendar, - Table: { - filterTitle: 'Filtrer', - filterConfirm: 'OK', - filterReset: 'Réinitialiser', - filterEmptyText: 'Aucun filtre', - filterCheckall: 'Tout sélectionner', - filterSearchPlaceholder: 'Chercher dans les filtres', - emptyText: 'Aucune donnée', - selectAll: 'Sélectionner la page actuelle', - selectInvert: 'Inverser la sélection de la page actuelle', - selectNone: 'Désélectionner toutes les données', - selectionAll: 'Sélectionner toutes les données', - sortTitle: 'Trier', - expand: 'Développer la ligne', - collapse: 'Réduire la ligne', - triggerDesc: 'Trier par ordre décroissant', - triggerAsc: 'Trier par ordre croissant', - cancelSort: 'Annuler le tri', - }, - Modal: { - okText: 'OK', - cancelText: 'Annuler', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Annuler', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Rechercher', - itemUnit: 'élément', - itemsUnit: 'éléments', - remove: 'Désélectionner', - selectCurrent: 'Sélectionner la page actuelle', - removeCurrent: 'Désélectionner la page actuelle', - selectAll: 'Sélectionner toutes les données', - removeAll: 'Désélectionner toutes les données', - selectInvert: 'Inverser la sélection de la page actuelle', - }, - Upload: { - uploading: 'Téléchargement...', - removeFile: 'Effacer le fichier', - uploadError: 'Erreur de téléchargement', - previewFile: 'Fichier de prévisualisation', - downloadFile: 'Télécharger un fichier', - }, - Empty: { - description: 'Aucune donnée', - }, - Icon: { - icon: 'icône', - }, - Text: { - edit: 'Éditer', - copy: 'Copier', - copied: 'Copie effectuée', - expand: 'Développer', - }, - PageHeader: { - back: 'Retour', - }, - Form: { - optional: '(optionnel)', - defaultValidateMessages: { - default: 'Erreur de validation pour le champ ${label}', - required: 'Le champ ${label} est obligatoire', - enum: 'La valeur du champ ${label} doit être parmi [${enum}]', - whitespace: 'La valeur du champ ${label} ne peut pas être vide', - date: { - format: "La valeur du champ ${label} n'est pas au format date", - parse: 'La valeur du champ ${label} ne peut pas être convertie vers une date', - invalid: "La valeur du champ ${label} n'est pas une date valide", - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: 'La taille du champ ${label} doit être de ${len} caractères', - min: 'La taille du champ ${label} doit être au minimum de ${min} caractères', - max: 'La taille du champ ${label} doit être au maximum de ${max} caractères', - range: 'La taille du champ ${label} doit être entre ${min} et ${max} caractères', - }, - number: { - len: 'La valeur du champ ${label} doit être égale à ${len}', - min: 'La valeur du champ ${label} doit être plus grande que ${min}', - max: 'La valeur du champ ${label} doit être plus petit que ${max}', - range: 'La valeur du champ ${label} doit être entre ${min} et ${max}', - }, - array: { - len: 'La taille du tableau ${label} doit être de ${len}', - min: 'La taille du tableau ${label} doit être au minimum de ${min}', - max: 'La taille du tableau ${label} doit être au maximum de ${max}', - range: 'La taille du tableau ${label} doit être entre ${min}-${max}', - }, - pattern: { - mismatch: 'La valeur du champ ${label} ne correspond pas au modèle ${pattern}', - }, - }, - }, - Image: { - preview: 'Aperçu', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/fr_CA.ts b/packages/meta/src/locale/fr_CA.ts deleted file mode 100644 index dccab1c..0000000 --- a/packages/meta/src/locale/fr_CA.ts +++ /dev/null @@ -1,133 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/fr_CA'; -import Calendar from '../calendar/locale/fr_CA'; -import DatePicker from '../date-picker/locale/fr_CA'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/fr_CA'; - -const typeTemplate = "La valeur du champ ${label} n'est pas valide pour le type ${type}"; - -const localeValues: Locale = { - locale: 'fr', - Pagination, - DatePicker, - TimePicker, - Calendar, - Table: { - filterTitle: 'Filtrer', - filterConfirm: 'OK', - filterReset: 'Réinitialiser', - filterEmptyText: 'Aucun filtre', - filterCheckall: 'Tout sélectionner', - filterSearchPlaceholder: 'Chercher dans les filtres', - emptyText: 'Aucune donnée', - selectAll: 'Sélectionner la page actuelle', - selectInvert: 'Inverser la sélection de la page actuelle', - selectNone: 'Désélectionner toutes les données', - selectionAll: 'Sélectionner toutes les données', - sortTitle: 'Trier', - expand: 'Développer la ligne', - collapse: 'Réduire la ligne', - triggerDesc: 'Trier par ordre décroissant', - triggerAsc: 'Trier par ordre croissant', - cancelSort: 'Annuler le tri', - }, - Modal: { - okText: 'OK', - cancelText: 'Annuler', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Annuler', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Rechercher', - itemUnit: 'élément', - itemsUnit: 'éléments', - remove: 'Désélectionner', - selectCurrent: 'Sélectionner la page actuelle', - removeCurrent: 'Désélectionner la page actuelle', - selectAll: 'Sélectionner toutes les données', - removeAll: 'Désélectionner toutes les données', - selectInvert: 'Inverser la sélection de la page actuelle', - }, - Upload: { - uploading: 'Téléchargement...', - removeFile: 'Effacer le fichier', - uploadError: 'Erreur de téléchargement', - previewFile: 'Fichier de prévisualisation', - downloadFile: 'Télécharger un fichier', - }, - Empty: { - description: 'Aucune donnée', - }, - Icon: { - icon: 'icône', - }, - Text: { - edit: 'Éditer', - copy: 'Copier', - copied: 'Copie effectuée', - expand: 'Développer', - }, - PageHeader: { - back: 'Retour', - }, - Form: { - optional: '(optionnel)', - defaultValidateMessages: { - default: 'Erreur de validation pour le champ ${label}', - required: 'Le champ ${label} est obligatoire', - enum: 'La valeur du champ ${label} doit être parmi [${enum}]', - whitespace: 'La valeur du champ ${label} ne peut pas être vide', - date: { - format: "La valeur du champ ${label} n'est pas au format date", - parse: 'La valeur du champ ${label} ne peut pas être convertie vers une date', - invalid: "La valeur du champ ${label} n'est pas une date valide", - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: 'La taille du champ ${label} doit être de ${len} caractères', - min: 'La taille du champ ${label} doit être au minimum de ${min} caractères', - max: 'La taille du champ ${label} doit être au maximum de ${max} caractères', - range: 'La taille du champ ${label} doit être entre ${min} et ${max} caractères', - }, - number: { - len: 'La valeur du champ ${label} doit être égale à ${len}', - min: 'La valeur du champ ${label} doit être plus grande que ${min}', - max: 'La valeur du champ ${label} doit être plus petit que ${max}', - range: 'La valeur du champ ${label} doit être entre ${min} et ${max}', - }, - array: { - len: 'La taille du tableau ${label} doit être de ${len}', - min: 'La taille du tableau ${label} doit être au minimum de ${min}', - max: 'La taille du tableau ${label} doit être au maximum de ${max}', - range: 'La taille du tableau ${label} doit être entre ${min}-${max}', - }, - pattern: { - mismatch: 'La valeur du champ ${label} ne correspond pas au modèle ${pattern}', - }, - }, - }, - Image: { - preview: 'Aperçu', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/fr_FR.ts b/packages/meta/src/locale/fr_FR.ts deleted file mode 100644 index 8cb99fd..0000000 --- a/packages/meta/src/locale/fr_FR.ts +++ /dev/null @@ -1,138 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/fr_FR'; -import type { Locale } from '.'; -import Calendar from '../calendar/locale/fr_FR'; -import DatePicker from '../date-picker/locale/fr_FR'; -import TimePicker from '../time-picker/locale/fr_FR'; - -const typeTemplate = "La valeur du champ ${label} n'est pas valide pour le type ${type}"; - -const localeValues: Locale = { - locale: 'fr', - Pagination, - DatePicker, - TimePicker, - Calendar, - Table: { - filterTitle: 'Filtrer', - filterConfirm: 'OK', - filterReset: 'Réinitialiser', - filterEmptyText: 'Aucun filtre', - filterCheckall: 'Tout sélectionner', - filterSearchPlaceholder: 'Chercher dans les filtres', - emptyText: 'Aucune donnée', - selectAll: 'Sélectionner la page actuelle', - selectInvert: 'Inverser la sélection de la page actuelle', - selectNone: 'Désélectionner toutes les données', - selectionAll: 'Sélectionner toutes les données', - sortTitle: 'Trier', - expand: 'Développer la ligne', - collapse: 'Réduire la ligne', - triggerDesc: 'Trier par ordre décroissant', - triggerAsc: 'Trier par ordre croissant', - cancelSort: 'Annuler le tri', - }, - Modal: { - okText: 'OK', - cancelText: 'Annuler', - justOkText: 'OK', - }, - Tour: { - Next: 'Étape suivante', - Previous: 'Étape précédente', - Finish: 'Fin de la visite guidée', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Annuler', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Rechercher', - itemUnit: 'élément', - itemsUnit: 'éléments', - remove: 'Désélectionner', - selectCurrent: 'Sélectionner la page actuelle', - removeCurrent: 'Désélectionner la page actuelle', - selectAll: 'Sélectionner toutes les données', - removeAll: 'Désélectionner toutes les données', - selectInvert: 'Inverser la sélection de la page actuelle', - }, - Upload: { - uploading: 'Téléchargement...', - removeFile: 'Effacer le fichier', - uploadError: 'Erreur de téléchargement', - previewFile: 'Fichier de prévisualisation', - downloadFile: 'Télécharger un fichier', - }, - Empty: { - description: 'Aucune donnée', - }, - Icon: { - icon: 'icône', - }, - Text: { - edit: 'Éditer', - copy: 'Copier', - copied: 'Copie effectuée', - expand: 'Développer', - }, - PageHeader: { - back: 'Retour', - }, - Form: { - optional: '(optionnel)', - defaultValidateMessages: { - default: 'Erreur de validation pour le champ ${label}', - required: 'Le champ ${label} est obligatoire', - enum: 'La valeur du champ ${label} doit être parmi [${enum}]', - whitespace: 'La valeur du champ ${label} ne peut pas être vide', - date: { - format: "La valeur du champ ${label} n'est pas au format date", - parse: 'La valeur du champ ${label} ne peut pas être convertie vers une date', - invalid: "La valeur du champ ${label} n'est pas une date valide", - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: 'La taille du champ ${label} doit être de ${len} caractères', - min: 'La taille du champ ${label} doit être au minimum de ${min} caractères', - max: 'La taille du champ ${label} doit être au maximum de ${max} caractères', - range: 'La taille du champ ${label} doit être entre ${min} et ${max} caractères', - }, - number: { - len: 'La valeur du champ ${label} doit être égale à ${len}', - min: 'La valeur du champ ${label} doit être plus grande que ${min}', - max: 'La valeur du champ ${label} doit être plus petit que ${max}', - range: 'La valeur du champ ${label} doit être entre ${min} et ${max}', - }, - array: { - len: 'La taille du tableau ${label} doit être de ${len}', - min: 'La taille du tableau ${label} doit être au minimum de ${min}', - max: 'La taille du tableau ${label} doit être au maximum de ${max}', - range: 'La taille du tableau ${label} doit être entre ${min}-${max}', - }, - pattern: { - mismatch: 'La valeur du champ ${label} ne correspond pas au modèle ${pattern}', - }, - }, - }, - Image: { - preview: 'Aperçu', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/ga_IE.ts b/packages/meta/src/locale/ga_IE.ts deleted file mode 100644 index 90b0aab..0000000 --- a/packages/meta/src/locale/ga_IE.ts +++ /dev/null @@ -1,127 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/ga_IE'; -import Calendar from '../calendar/locale/ga_IE'; -import DatePicker from '../date-picker/locale/ga_IE'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/ga_IE'; - -const typeTemplate = '${label} is not a valid ${type}'; - -const localeValues: Locale = { - locale: 'ga', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Please select', - }, - Table: { - filterTitle: 'Filter menu', - filterConfirm: 'OK', - filterReset: 'Reset', - selectAll: 'Select current page', - selectInvert: 'Invert current page', - selectionAll: 'Select all data', - sortTitle: 'Sort', - expand: 'Expand row', - collapse: 'Collapse row', - triggerDesc: 'Click to sort descending', - triggerAsc: 'Click to sort ascending', - cancelSort: 'Click to cancel sorting', - }, - Modal: { - okText: 'OK', - cancelText: 'Cancel', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Cancel', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Search here', - itemUnit: 'item', - itemsUnit: 'items', - remove: 'Remove', - selectCurrent: 'Select current page', - removeCurrent: 'Remove current page', - selectAll: 'Select all data', - removeAll: 'Remove all data', - selectInvert: 'Invert current page', - }, - Upload: { - uploading: 'Uploading...', - removeFile: 'Remove file', - uploadError: 'Upload error', - previewFile: 'Preview file', - downloadFile: 'Download file', - }, - Empty: { - description: 'No Data', - }, - Icon: { - icon: 'icon', - }, - Text: { - edit: 'Edit', - copy: 'Copy', - copied: 'Copied', - expand: 'Expand', - }, - PageHeader: { - back: 'Back', - }, - Form: { - defaultValidateMessages: { - default: 'Field validation error for ${label}', - required: 'Please enter ${label}', - enum: '${label} must be one of [${enum}]', - whitespace: '${label} cannot be a blank character', - date: { - format: '${label} date format is invalid', - parse: '${label} cannot be converted to a date', - invalid: '${label} is an invalid date', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} must be ${len} characters', - min: '${label} must be at least ${min} characters', - max: '${label} must be up to ${max} characters', - range: '${label} must be between ${min}-${max} characters', - }, - number: { - len: '${label} must be equal to ${len}', - min: '${label} must be minimum ${min}', - max: '${label} must be maximum ${max}', - range: '${label} must be between ${min}-${max}', - }, - array: { - len: 'Must be ${len} ${label}', - min: 'At least ${min} ${label}', - max: 'At most ${max} ${label}', - range: 'The amount of ${label} must be between ${min}-${max}', - }, - pattern: { - mismatch: '${label} does not match the pattern ${pattern}', - }, - }, - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/gl_ES.ts b/packages/meta/src/locale/gl_ES.ts deleted file mode 100644 index 1b97efa..0000000 --- a/packages/meta/src/locale/gl_ES.ts +++ /dev/null @@ -1,115 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/gl_ES'; -import Calendar from '../calendar/locale/gl_ES'; -import DatePicker from '../date-picker/locale/gl_ES'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/gl_ES'; - -const typeTemplate = '${label} non é un ${type} válido'; - -const localeValues: Locale = { - locale: 'gl', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Escolla', - }, - Table: { - filterTitle: 'Filtrar menú', - filterConfirm: 'Aceptar', - filterReset: 'Reiniciar', - selectAll: 'Seleccionar todo', - selectInvert: 'Invertir selección', - sortTitle: 'Ordenar', - }, - Modal: { - okText: 'Aceptar', - cancelText: 'Cancelar', - justOkText: 'Aceptar', - }, - Popconfirm: { - okText: 'Aceptar', - cancelText: 'Cancelar', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Buscar aquí', - itemUnit: 'elemento', - itemsUnit: 'elementos', - }, - Upload: { - uploading: 'Subindo...', - removeFile: 'Eliminar arquivo', - uploadError: 'Error ao subir o arquivo', - previewFile: 'Vista previa', - downloadFile: 'Descargar arquivo', - }, - Empty: { - description: 'Non hai datos', - }, - Icon: { - icon: 'icona', - }, - Text: { - edit: 'editar', - copy: 'copiar', - copied: 'copiado', - expand: 'expandir', - }, - PageHeader: { - back: 'voltar', - }, - Form: { - defaultValidateMessages: { - default: 'Error de validación do campo ${label}', - required: 'Por favor complete ${label}', - enum: '${label} ten que ser un de [${enum}]', - whitespace: '${label} non pode ter ningún caracter en branco', - date: { - format: 'O formato de data ${label} non é válido', - parse: '${label} non se pode convertir a unha data', - invalid: '${label} é unha data inválida', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} debe ter ${len} caracteres', - min: '${label} debe ter como mínimo ${min} caracteres', - max: '${label} debe ter ata ${max} caracteres', - range: '${label} debe ter entre ${min}-${max} caracteres', - }, - number: { - len: '${label} debe ser igual a ${len}', - min: '${label} valor mínimo é ${min}', - max: '${label} valor máximo é ${max}', - range: '${label} debe estar entre ${min}-${max}', - }, - array: { - len: 'Debe ser ${len} ${label}', - min: 'Como mínimo ${min} ${label}', - max: 'Como máximo ${max} ${label}', - range: 'O valor de ${label} debe estar entre ${min}-${max}', - }, - pattern: { - mismatch: '${label} non coincide co patrón ${pattern}', - }, - }, - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/he_IL.ts b/packages/meta/src/locale/he_IL.ts deleted file mode 100644 index 4faf078..0000000 --- a/packages/meta/src/locale/he_IL.ts +++ /dev/null @@ -1,121 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/he_IL'; -import Calendar from '../calendar/locale/he_IL'; -import DatePicker from '../date-picker/locale/he_IL'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/he_IL'; - -const typeTemplate = '${label} הוא לא ${type} תקין'; - -const localeValues: Locale = { - locale: 'he', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'אנא בחר', - }, - Table: { - filterTitle: 'תפריט סינון', - filterConfirm: 'אישור', - filterReset: 'איפוס', - selectAll: 'בחר הכל', - selectInvert: 'הפוך בחירה', - selectionAll: 'בחר את כל הנתונים', - sortTitle: 'מיון', - expand: 'הרחב שורה', - collapse: 'צמצם שורה', - triggerDesc: 'לחץ למיון לפי סדר יורד', - triggerAsc: 'לחץ למיון לפי סדר עולה', - cancelSort: 'לחץ כדי לבטל את המיון', - }, - Modal: { - okText: 'אישור', - cancelText: 'ביטול', - justOkText: 'אישור', - }, - Popconfirm: { - okText: 'אישור', - cancelText: 'ביטול', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'חפש כאן', - itemUnit: 'פריט', - itemsUnit: 'פריטים', - }, - Upload: { - uploading: 'מעלה...', - removeFile: 'הסר קובץ', - uploadError: 'שגיאת העלאה', - previewFile: 'הצג קובץ', - downloadFile: 'הורד קובץ', - }, - Empty: { - description: 'אין מידע', - }, - Icon: { - icon: 'סמל', - }, - Text: { - edit: 'ערוך', - copy: 'העתק', - copied: 'הועתק', - expand: 'הרחב', - }, - PageHeader: { - back: 'חזרה', - }, - Form: { - defaultValidateMessages: { - default: 'ערך השדה שגוי ${label}', - required: 'בבקשה הזן ${label}', - enum: '${label} חייב להיות אחד מערכים אלו [${enum}]', - whitespace: '${label} לא יכול להיות ריק', - date: { - format: '${label} תאריך לא תקין', - parse: '${label} לא ניתן להמיר לתאריך', - invalid: '${label} הוא לא תאריך תקין', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} חייב להיות ${len} תווים', - min: '${label} חייב להיות ${min} תווים', - max: '${label} מקסימום ${max} תווים', - range: '${label} חייב להיות בין ${min}-${max} תווים', - }, - number: { - len: '${label} חייב להיות שווה ל ${len}', - min: '${label} ערך מינימלי הוא ${min}', - max: '${label} ערך מקסימלי הוא ${max}', - range: '${label} חייב להיות בין ${min}-${max}', - }, - array: { - len: 'חייב להיות ${len} ${label}', - min: 'מינימום ${min} ${label}', - max: 'מקסימום ${max} ${label}', - range: 'הסכום של ${label} חייב להיות בין ${min}-${max}', - }, - pattern: { - mismatch: '${label} לא תואם לתבנית ${pattern}', - }, - }, - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/hi_IN.ts b/packages/meta/src/locale/hi_IN.ts deleted file mode 100644 index f4a293e..0000000 --- a/packages/meta/src/locale/hi_IN.ts +++ /dev/null @@ -1,134 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/hi_IN'; -import Calendar from '../calendar/locale/hi_IN'; -import DatePicker from '../date-picker/locale/hi_IN'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/hi_IN'; - -const typeTemplate = '${label} मान्य ${type} नहीं है'; - -const localeValues: Locale = { - locale: 'hi', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'कृपया चुनें', - }, - Table: { - filterTitle: 'सूची बंद करें', - filterConfirm: 'अच्छी तरह से', - filterReset: 'रीसेट', - filterEmptyText: 'कोई फ़िल्टर नहीं', - emptyText: 'कोई जानकारी नहीं', - selectAll: 'वर्तमान पृष्ठ का चयन करें', - selectInvert: 'वर्तमान पृष्ठ घुमाएं', - selectNone: 'सभी डेटा साफ़ करें', - selectionAll: 'सभी डेटा का चयन करें', - sortTitle: 'द्वारा क्रमबद्ध करें', - expand: 'पंक्ति का विस्तार करें', - collapse: 'पंक्ति संक्षिप्त करें', - triggerDesc: 'अवरोही क्रमित करने के लिए क्लिक करें', - triggerAsc: 'आरोही क्रमित करने के लिए क्लिक करें', - cancelSort: 'छँटाई रद्द करने के लिए क्लिक करें', - }, - Modal: { - okText: 'अच्छी तरह से', - cancelText: 'रद्द करना', - justOkText: 'अच्छी तरह से', - }, - Popconfirm: { - okText: 'अच्छी तरह से', - cancelText: 'रद्द करना', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'यहां खोजें', - itemUnit: 'तत्त्व', - itemsUnit: 'विषय-वस्तु', - remove: 'हटाए', - selectCurrent: 'वर्तमान पृष्ठ का चयन करें', - removeCurrent: 'वर्तमान पृष्ठ हटाएं', - selectAll: 'सभी डेटा का चयन करें', - removeAll: 'सभी डेटा हटाएं', - selectInvert: 'वर्तमान पृष्ठ को उल्टा करें', - }, - Upload: { - uploading: 'अपलोड हो रहा...', - removeFile: 'फ़ाइल निकालें', - uploadError: 'अपलोड में त्रुटि', - previewFile: 'फ़ाइल पूर्वावलोकन', - downloadFile: 'फ़ाइल डाउनलोड करें', - }, - Empty: { - description: 'कोई आकड़ा उपलब्ध नहीं है', - }, - Icon: { - icon: 'आइकन', - }, - Text: { - edit: 'संपादित करें', - copy: 'प्रतिलिपि', - copied: 'कॉपी किया गया', - expand: 'विस्तार', - }, - PageHeader: { - back: 'वापस', - }, - Form: { - optional: '(ऐच्छिक)', - defaultValidateMessages: { - default: '${label} के लिए फील्ड सत्यापन त्रुटि', - required: 'कृपया ${label} दर्ज करें', - enum: '${label} [${enum}] में से एक होना चाहिए', - whitespace: '${label} एक खाली अक्षर नहीं हो सकता', - date: { - format: '${label} तिथि प्रारूप अमान्य है', - parse: '${label} को तारीख में नहीं बदला जा सकता', - invalid: '${label} एक अमान्य तिथि है', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} ${len} अक्षर का होना चाहिए', - min: '${label} कम से कम ${min} वर्णों का होना चाहिए', - max: '${label} अधिकतम ${max} वर्णों का होना चाहिए', - range: '${label} ${min}-${max} वर्णों के बीच होना चाहिए', - }, - number: { - len: '${label} ${len} के बराबर होना चाहिए', - min: '${label} कम से कम ${min} होना चाहिए', - max: '${label} अधिकतम ${max} होना चाहिए', - range: '${label} ${min}-${max} के बीच होना चाहिए', - }, - array: { - len: '${len} ${label} होना चाहिए', - min: 'कम से कम ${min} ${label}', - max: 'ज्यादा से ज्यादा ${max} ${label}', - range: '${label} की राशि ${min}-${max} के बीच होनी चाहिए', - }, - pattern: { - mismatch: '${label} ${pattern} पैटर्न से मेल नहीं खाता', - }, - }, - }, - Image: { - preview: 'पूर्वावलोकन', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/hr_HR.ts b/packages/meta/src/locale/hr_HR.ts deleted file mode 100644 index 19e4f9c..0000000 --- a/packages/meta/src/locale/hr_HR.ts +++ /dev/null @@ -1,133 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/hr_HR'; -import Calendar from '../calendar/locale/hr_HR'; -import DatePicker from '../date-picker/locale/hr_HR'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/hr_HR'; - -const typeTemplate = '${label} nije valjan ${type}'; - -const localeValues: Locale = { - locale: 'hr', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Molimo označite', - }, - Table: { - filterTitle: 'Filter meni', - filterConfirm: 'OK', - filterReset: 'Reset', - filterEmptyText: 'Nema filtera', - emptyText: 'Nema podataka', - selectAll: 'Označi trenutnu stranicu', - selectInvert: 'Invertiraj trenutnu stranicu', - selectionAll: 'Odaberite sve podatke', - sortTitle: 'Sortiraj', - expand: 'Proširi redak', - collapse: 'Sažmi redak', - triggerDesc: 'Kliknite za sortiranje silazno', - triggerAsc: 'Kliknite za sortiranje uzlazno', - cancelSort: 'Kliknite da biste otkazali sortiranje', - }, - Modal: { - okText: 'OK', - cancelText: 'Odustani', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Odustani', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Pretraži ovdje', - itemUnit: 'stavka', - itemsUnit: 'stavke', - remove: 'Ukloniti', - selectCurrent: 'Odaberite trenutnu stranicu', - removeCurrent: 'Ukloni trenutnu stranicu', - selectAll: 'Odaberite sve podatke', - removeAll: 'Uklonite sve podatke', - selectInvert: 'Obrni trenutnu stranicu', - }, - Upload: { - uploading: 'Upload u tijeku...', - removeFile: 'Makni datoteku', - uploadError: 'Greška kod uploada', - previewFile: 'Pogledaj datoteku', - downloadFile: 'Preuzmi datoteku', - }, - Empty: { - description: 'Nema podataka', - }, - Icon: { - icon: 'ikona', - }, - Text: { - edit: 'Uredi', - copy: 'Kopiraj', - copied: 'Kopiranje uspješno', - expand: 'Proširi', - }, - PageHeader: { - back: 'Natrag', - }, - Form: { - optional: '(neobavezno)', - defaultValidateMessages: { - default: 'Pogreška provjere valjanosti polja za ${label}', - required: 'Molimo unesite ${label}', - enum: '${label} mora biti jedan od [${enum}]', - whitespace: '${label} ne može biti prazan znak', - date: { - format: '${label} format datuma je nevažeći', - parse: '${label} ne može se pretvoriti u datum', - invalid: '${label} je nevažeći datum', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} mora biti ${len} slova', - min: '${label} mora biti najmanje ${min} slova', - max: '${label} mora biti do ${max} slova', - range: '${label} mora biti između ${min}-${max} slova', - }, - number: { - len: '${label} mora biti jednak ${len}', - min: '${label} mora biti minimalano ${min}', - max: '${label} mora biti maksimalano ${max}', - range: '${label} mora biti između ${min}-${max}', - }, - array: { - len: 'Mora biti ${len} ${label}', - min: 'Najmanje ${min} ${label}', - max: 'Najviše ${max} ${label}', - range: 'Količina ${label} mora biti između ${min}-${max}', - }, - pattern: { - mismatch: '${label} ne odgovara obrascu ${pattern}', - }, - }, - }, - Image: { - preview: 'Pregled', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/hu_HU.ts b/packages/meta/src/locale/hu_HU.ts deleted file mode 100644 index 4570259..0000000 --- a/packages/meta/src/locale/hu_HU.ts +++ /dev/null @@ -1,48 +0,0 @@ -import Pagination from 'rc-pagination/lib/locale/hu_HU'; -import Calendar from '../calendar/locale/hu_HU'; -import DatePicker from '../date-picker/locale/hu_HU'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/hu_HU'; - -const localeValues: Locale = { - locale: 'hu', - Pagination, - DatePicker, - TimePicker, - Calendar, - Table: { - filterTitle: 'Szűrők', - filterConfirm: 'Alkalmazás', - filterReset: 'Visszaállítás', - selectAll: 'Jelenlegi oldal kiválasztása', - selectInvert: 'Jelenlegi oldal inverze', - sortTitle: 'Rendezés', - }, - Modal: { - okText: 'Alkalmazás', - cancelText: 'Visszavonás', - justOkText: 'Alkalmazás', - }, - Popconfirm: { - okText: 'Alkalmazás', - cancelText: 'Visszavonás', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Keresés', - itemUnit: 'elem', - itemsUnit: 'elemek', - }, - Upload: { - uploading: 'Feltöltés...', - removeFile: 'Fájl eltávolítása', - uploadError: 'Feltöltési hiba', - previewFile: 'Fájl előnézet', - downloadFile: 'Fájl letöltése', - }, - Empty: { - description: 'Nincs adat', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/hy_AM.ts b/packages/meta/src/locale/hy_AM.ts deleted file mode 100644 index 332e066..0000000 --- a/packages/meta/src/locale/hy_AM.ts +++ /dev/null @@ -1,115 +0,0 @@ -import type { PickerLocale } from '../date-picker/generatePicker'; -import type { Locale } from '.'; - -const datePickerLocale: PickerLocale = { - lang: { - locale: 'hy-am', - placeholder: 'Ընտրեք ամսաթիվը', - rangePlaceholder: ['Մեկնարկի ամսաթիվ', 'Ավարտի ամսաթիվը'], - today: 'Այսօր', - now: 'Հիմա', - backToToday: 'Վերադառնալ այսօր', - ok: 'Օկ', - clear: 'Մաքրել', - month: 'Ամիս', - year: 'Տարի', - timeSelect: 'ընտրեք ժամը', - dateSelect: 'ընտրեք ամսաթիվը', - weekSelect: 'Ընտրեք շաբաթը', - monthSelect: 'Ընտրեք ամիսը', - yearSelect: 'Ընտրեք տարին', - decadeSelect: 'Ընտրեք տասնամյակը', - yearFormat: 'YYYY', - dateFormat: 'DD/MM//YYYY', - dayFormat: 'DD', - dateTimeFormat: 'DD/MM//YYYY HH:mm:ss', - monthBeforeYear: true, - previousMonth: 'Անցած ամիս (PageUp)', - nextMonth: 'Մյուս ամիս (PageDown)', - previousYear: 'Անցած տարի (Control + left)', - nextYear: 'Մյուս տարի (Control + right)', - previousDecade: 'Անցած տասնամյակ', - nextDecade: 'Մյուս տասնամյակ', - previousCentury: 'Անցած դար', - nextCentury: 'Մյուս դար', - }, - timePickerLocale: { - placeholder: 'Ընտրեք ժամը', - }, -}; - -const localeValues: Locale = { - locale: 'hy-am', - Pagination: { - // Options.jsx - items_per_page: '/ էջ', - jump_to: 'Գնալ', - jump_to_confirm: 'հաստատել', - page: '', - - // Pagination.jsx - prev_page: 'Նախորդ Էջ', - next_page: 'Հաջորդ Էջ', - prev_5: 'Նախորդ 5 Էջերը', - next_5: 'Հաջորդ 5 Էջերը', - prev_3: 'Նախորդ 3 Էջերը', - next_3: 'Հաջորդ 3 Էջերը', - }, - DatePicker: datePickerLocale, - TimePicker: { - placeholder: 'Ընտրեք ժամը', - }, - Calendar: datePickerLocale, - global: { - placeholder: 'Ընտրեք', - }, - Table: { - filterTitle: 'ֆիլտրի ընտրացանկ', - filterConfirm: 'ֆիլտրել', - filterReset: 'Զրոյացնել', - selectAll: 'Ընտրեք ընթացիկ էջը', - selectInvert: 'Փոխարկել ընթացիկ էջը', - sortTitle: 'Տեսակավորել', - expand: 'Ընդլայնեք տողը', - collapse: 'Կրճատել տողը', - }, - Modal: { - okText: 'Օկ', - cancelText: 'Չեղարկել', - justOkText: 'Օկ', - }, - Popconfirm: { - okText: 'Հաստատել', - cancelText: 'Մերժել', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Որոնեք այստեղ', - itemUnit: 'պարագան', - itemsUnit: 'պարագաները', - }, - Upload: { - uploading: 'Ներբեռնում...', - removeFile: 'Հեռացնել ֆայլը', - uploadError: 'Ներբեռնման սխալ', - previewFile: 'Դիտել ֆայլը', - downloadFile: 'Ներբեռնել ֆայլը', - }, - Empty: { - description: 'Տվյալներ չկան', - }, - Icon: { - icon: 'պատկեր', - }, - Text: { - edit: 'Խմբագրել', - copy: 'Պատճենել', - copied: 'Պատճենվել է', - expand: 'Տեսնել ավելին', - }, - PageHeader: { - back: 'Հետ', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/id_ID.ts b/packages/meta/src/locale/id_ID.ts deleted file mode 100644 index 4b7e718..0000000 --- a/packages/meta/src/locale/id_ID.ts +++ /dev/null @@ -1,48 +0,0 @@ -import Pagination from 'rc-pagination/lib/locale/id_ID'; -import Calendar from '../calendar/locale/id_ID'; -import DatePicker from '../date-picker/locale/id_ID'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/id_ID'; - -const localeValues: Locale = { - locale: 'id', - Pagination, - DatePicker, - TimePicker, - Calendar, - Table: { - filterTitle: 'Saring', - filterConfirm: 'OK', - filterReset: 'Hapus', - selectAll: 'Pilih semua di halaman ini', - selectInvert: 'Balikkan pilihan di halaman ini', - sortTitle: 'Urutkan', - }, - Modal: { - okText: 'OK', - cancelText: 'Batal', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Batal', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Cari', - itemUnit: 'item', - itemsUnit: 'item', - }, - Upload: { - uploading: 'Mengunggah...', - removeFile: 'Hapus file', - uploadError: 'Kesalahan pengunggahan', - previewFile: 'File pratinjau', - downloadFile: 'Unduh berkas', - }, - Empty: { - description: 'Tidak ada data', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/index.tsx b/packages/meta/src/locale/index.tsx index 626ca6f..16d696d 100644 --- a/packages/meta/src/locale/index.tsx +++ b/packages/meta/src/locale/index.tsx @@ -2,16 +2,16 @@ import * as React from 'react'; import type { ValidateMessages } from 'rc-field-form/lib/interface'; import { devUseWarning } from '../_util/warning'; -// import type { PickerLocale as DatePickerLocale } from '../date-picker/generatePicker'; +import type { PickerLocale as DatePickerLocale } from '../date-picker/generatePicker'; import type { TransferLocale as TransferLocaleForEmpty } from '../empty'; -// import type { ModalLocale } from '../modal/locale'; -// import { changeConfirmLocale } from '../modal/locale'; +import type { ModalLocale } from '../modal/locale'; +import { changeConfirmLocale } from '../modal/locale'; // import type { PaginationLocale } from '../pagination/Pagination'; // import type { PopconfirmLocale } from '../popconfirm/PurePanel'; // import type { TableLocale } from '../table/interface'; // import type { TourLocale } from '../tour/interface'; // import type { TransferLocale } from '../transfer'; -// import type { UploadLocale } from '../upload/interface'; +import type { UploadLocale } from '../upload/interface'; import type { LocaleContextProps } from './context'; import LocaleContext from './context'; @@ -22,16 +22,16 @@ export const ANT_MARK = 'internalMark'; export interface Locale { locale: string; // Pagination?: PaginationLocale; - // DatePicker?: DatePickerLocale; - // TimePicker?: Record; - // Calendar?: Record; + DatePicker?: DatePickerLocale; + TimePicker?: Record; + Calendar?: Record; // Table?: TableLocale; - // Modal?: ModalLocale; + Modal?: ModalLocale; // Tour?: TourLocale; // Popconfirm?: PopconfirmLocale; // Transfer?: TransferLocale; - // Select?: Record; - // Upload?: UploadLocale; + Select?: Record; + Upload?: UploadLocale; Empty?: TransferLocaleForEmpty; global?: Record; PageHeader?: { back: string }; @@ -78,10 +78,10 @@ const LocaleProvider: React.FC = (props) => { ); } - // React.useEffect(() => { - // const clearLocale = changeConfirmLocale(locale && locale.Modal); - // return clearLocale; - // }, [locale]); + React.useEffect(() => { + const clearLocale = changeConfirmLocale(locale && locale.Modal); + return clearLocale; + }, [locale]); const getMemoizedContextValue = React.useMemo( () => ({ ...locale, exist: true }), diff --git a/packages/meta/src/locale/is_IS.ts b/packages/meta/src/locale/is_IS.ts deleted file mode 100644 index b33a2cd..0000000 --- a/packages/meta/src/locale/is_IS.ts +++ /dev/null @@ -1,47 +0,0 @@ -import Pagination from 'rc-pagination/lib/locale/is_IS'; -import Calendar from '../calendar/locale/is_IS'; -import DatePicker from '../date-picker/locale/is_IS'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/is_IS'; - -const localeValues: Locale = { - locale: 'is', - Pagination, - DatePicker, - TimePicker, - Calendar, - Table: { - filterTitle: 'Afmarkanir', - filterConfirm: 'Staðfesta', - filterReset: 'Núllstilla', - selectAll: 'Velja allt', - selectInvert: 'Viðsnúa vali', - }, - Modal: { - okText: 'Áfram', - cancelText: 'Hætta við', - justOkText: 'Í lagi', - }, - Popconfirm: { - okText: 'Áfram', - cancelText: 'Hætta við', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Leita hér', - itemUnit: 'færsla', - itemsUnit: 'færslur', - }, - Upload: { - uploading: 'Hleð upp...', - removeFile: 'Fjarlægja skrá', - uploadError: 'Villa við að hlaða upp', - previewFile: 'Forskoða skrá', - downloadFile: 'Hlaða niður skrá', - }, - Empty: { - description: 'Engin gögn', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/it_IT.ts b/packages/meta/src/locale/it_IT.ts deleted file mode 100644 index 536a630..0000000 --- a/packages/meta/src/locale/it_IT.ts +++ /dev/null @@ -1,136 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/it_IT'; -import Calendar from '../calendar/locale/it_IT'; -import DatePicker from '../date-picker/locale/it_IT'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/it_IT'; - -const typeTemplate = ' ${label} non è un ${type} valido'; - -const localeValues: Locale = { - locale: 'it', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Selezionare', - }, - Table: { - filterTitle: 'Menù Filtro', - filterConfirm: 'OK', - filterReset: 'Reset', - filterEmptyText: 'Senza filtri', - filterCheckall: 'Seleziona tutti', - filterSearchPlaceholder: 'Cerca nei filtri', - emptyText: 'Senza dati', - selectAll: 'Seleziona pagina corrente', - selectInvert: 'Inverti selezione nella pagina corrente', - selectNone: 'Deseleziona tutto', - selectionAll: 'Seleziona tutto', - sortTitle: 'Ordina', - expand: 'Espandi riga', - collapse: 'Comprimi riga ', - triggerDesc: 'Clicca per ordinare in modo discendente', - triggerAsc: 'Clicca per ordinare in modo ascendente', - cancelSort: "Clicca per eliminare l'ordinamento", - }, - Modal: { - okText: 'OK', - cancelText: 'Annulla', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Annulla', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Cerca qui', - itemUnit: 'elemento', - itemsUnit: 'elementi', - remove: 'Elimina', - selectCurrent: 'Seleziona la pagina corrente', - removeCurrent: 'Rimuovi la pagina corrente', - selectAll: 'Seleziona tutti i dati', - removeAll: 'Rimuovi tutti i dati', - selectInvert: 'Inverti la pagina corrente', - }, - Upload: { - uploading: 'Caricamento...', - removeFile: 'Rimuovi il file', - uploadError: 'Errore di caricamento', - previewFile: 'Anteprima file', - downloadFile: 'Scarica file', - }, - Empty: { - description: 'Nessun dato', - }, - Icon: { - icon: 'icona', - }, - Text: { - edit: 'modifica', - copy: 'copia', - copied: 'copia effettuata', - expand: 'espandi', - }, - PageHeader: { - back: 'Torna', - }, - Form: { - optional: '(opzionale)', - defaultValidateMessages: { - default: 'Errore di convalida del campo ${label}', - required: 'Si prega di inserire ${label}', - enum: '${label} deve essere uno di [${enum}]', - whitespace: '${label} non può essere un carattere vuoto', - date: { - format: 'Il formato della data ${label} non è valido', - parse: '${label} non può essere convertito in una data', - invalid: '${label} non è una data valida', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} deve avere ${len} caratteri', - min: '${label} deve contenere almeno ${min} caratteri', - max: '${label} deve contenere fino a ${max} caratteri', - range: '${label} deve contenere tra ${min}-${max} caratteri', - }, - number: { - len: '${label} deve essere uguale a ${len}', - min: '${label} valore minimo è ${min}', - max: '${label} valor e massimo è ${max}', - range: '${label} deve essere compreso tra ${min}-${max}', - }, - array: { - len: 'Deve essere ${len} ${label}', - min: 'Almeno ${min} ${label}', - max: 'Massimo ${max} ${label}', - range: 'Il totale di ${label} deve essere compreso tra ${min}-${max}', - }, - pattern: { - mismatch: '${label} non corrisponde al modello ${pattern}', - }, - }, - }, - Image: { - preview: 'Anteprima', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/ja_JP.ts b/packages/meta/src/locale/ja_JP.ts deleted file mode 100644 index 86bd897..0000000 --- a/packages/meta/src/locale/ja_JP.ts +++ /dev/null @@ -1,107 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/ja_JP'; -import Calendar from '../calendar/locale/ja_JP'; -import DatePicker from '../date-picker/locale/ja_JP'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/ja_JP'; - -const typeTemplate = '${label}は有効な${type}ではありません'; - -const localeValues: Locale = { - locale: 'ja', - Pagination, - DatePicker, - TimePicker, - Calendar, - Table: { - filterTitle: 'フィルター', - filterConfirm: 'OK', - filterReset: 'リセット', - filterEmptyText: 'フィルターなし', - selectAll: 'ページ単位で選択', - selectInvert: 'ページ単位で反転', - selectionAll: 'すべてを選択', - sortTitle: 'ソート', - expand: '展開する', - collapse: '折り畳む', - triggerDesc: 'クリックで降順にソート', - triggerAsc: 'クリックで昇順にソート', - cancelSort: 'ソートをキャンセル', - }, - Modal: { - okText: 'OK', - cancelText: 'キャンセル', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'キャンセル', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'ここを検索', - itemUnit: 'アイテム', - itemsUnit: 'アイテム', - }, - Upload: { - uploading: 'アップロード中...', - removeFile: 'ファイルを削除', - uploadError: 'アップロードエラー', - previewFile: 'ファイルをプレビュー', - downloadFile: 'ダウンロードファイル', - }, - Empty: { - description: 'データがありません', - }, - Form: { - defaultValidateMessages: { - default: '${label}のフィールド検証エラー', - required: '${label}を入力してください', - enum: '${label}は[${enum}]のいずれかである必要があります', - whitespace: '${label}は空白文字にすることはできません', - date: { - format: '${label}の日付形式は不正です', - parse: '${label}は日付に変換できません', - invalid: '${label}は不正な日付です', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label}は${len}文字である必要があります', - min: '${label}は${min}文字以上である必要があります', - max: '${label}は${max}文字以下である必要があります', - range: '${label}は${min}-${max}文字の範囲である必要があります', - }, - number: { - len: '${label}は${len}と等しい必要があります', - min: '${label}の最小値は${min}です', - max: '${label}の最大値は${max}です', - range: '${label}は${min}-${max}の範囲である必要があります', - }, - array: { - len: '${label}は${len}である必要があります', - min: '${label}の最小は${min}です', - max: '${label}の最大は${max}です', - range: '${label}の合計は${min}-${max}の範囲である必要があります', - }, - pattern: { - mismatch: '${label}はパターン${pattern}と一致しません', - }, - }, - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/ka_GE.ts b/packages/meta/src/locale/ka_GE.ts deleted file mode 100644 index 44b9af8..0000000 --- a/packages/meta/src/locale/ka_GE.ts +++ /dev/null @@ -1,134 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/ka_GE'; -import Calendar from '../calendar/locale/ka_GE'; -import DatePicker from '../date-picker/locale/ka_GE'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/ka_GE'; - -const typeTemplate = '${label} არ არის სწორი ${type}'; - -const localeValues: Locale = { - locale: 'ka', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'გთხოვთ აირჩიოთ', - }, - Table: { - filterTitle: 'ფილტრის მენიუ', - filterConfirm: 'კარგი', - filterReset: 'გასუფთავება', - filterEmptyText: 'ფილტრები არაა', - emptyText: 'ინფორმაცია არაა', - selectAll: 'აირჩიეთ მიმდინარე გვერდი', - selectInvert: 'შეაბრუნეთ მიმდინარე გვერდი', - selectNone: 'მონაცემების გასუფთავება', - selectionAll: 'ყველას მონიშვნა', - sortTitle: 'დალაგება', - expand: 'სტრიქონის გაშლა', - collapse: 'სტრიქონის შეკუმშვა', - triggerDesc: 'დაღმავალი დალაგება', - triggerAsc: 'აღმავალი დალაგება', - cancelSort: 'დალაგების გაუქმება', - }, - Modal: { - okText: 'კარგი', - cancelText: 'გაუქმება', - justOkText: 'ოკ', - }, - Popconfirm: { - okText: 'კარგი', - cancelText: 'გაუქმება', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'მოძებნე აქ', - itemUnit: 'ერთეული', - itemsUnit: 'ერთეულები', - remove: 'ამოშლა', - selectCurrent: 'მიმდინარე გვერდის არჩევა', - removeCurrent: 'მიმდინარე გვერდის ამოშლა', - selectAll: 'ყველას მონიშვნა', - removeAll: 'ყველას წაშლა', - selectInvert: 'მიმდინარე გვერდის შებრუნება', - }, - Upload: { - uploading: 'იტვირთება...', - removeFile: 'ფაილის ამოშლა', - uploadError: 'ატვირთვის შეცდომა', - previewFile: 'ფაილის გადახედვა', - downloadFile: 'ფაილის ჩამოტვირთვა', - }, - Empty: { - description: 'ინფორმაცია არაა', - }, - Icon: { - icon: 'ხატულა', - }, - Text: { - edit: 'რედაქტირება', - copy: 'ასლი', - copied: 'ასლი აღებულია', - expand: 'გაშლა', - }, - PageHeader: { - back: 'უკან', - }, - Form: { - optional: '(არასავალდებულო)', - defaultValidateMessages: { - default: 'ველის შემოწმების შეცდომა ${label}-ისთვის', - required: 'გთხოვთ შეიყვანეთ ${label}', - enum: '${label} უნდა იყოს ერთ-ერთი [${enum}]-დან', - whitespace: '${label} არ შეიძლება იყოს ცარიელი სიმბოლო', - date: { - format: '${label} თარიღის ფორმატი არასწორია', - parse: '${label} თარიღში კონვერტირება არ არის შესაძლებელი', - invalid: '${label} არასწორი თარიღია', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} უნდა იყოს ${len} სიმბოლო', - min: '${label} უნდა იყოს სულ მცირე ${min} სიმბოლო', - max: '${label} უნდა იყოს მაქსიმუმ ${max} სიმბოლო', - range: '${label} უნდა იყოს ${min}-${max} სიმბოლოს შორის', - }, - number: { - len: '${label} უნდა იყოს ${len} ტოლი', - min: '${label} უნდა იყოს მინუმიმ ${min}', - max: '${label} უნდა იყოს მაქსიმუმ ${max}', - range: '${label} უნდა იყოს ${min}-${max} შორის', - }, - array: { - len: 'უნდა იყოს ${len} ${label}', - min: 'სულ მცირე ${min} ${label}', - max: 'არაუმეტეს ${max} ${label}', - range: '${label}-ის რაოდენობა უნდა იყოს ${min}-${max} შორის', - }, - pattern: { - mismatch: '${label} არ ერგება შაბლონს ${pattern}', - }, - }, - }, - Image: { - preview: 'გადახედვა', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/kk_KZ.ts b/packages/meta/src/locale/kk_KZ.ts deleted file mode 100644 index ea81fd1..0000000 --- a/packages/meta/src/locale/kk_KZ.ts +++ /dev/null @@ -1,129 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ - -import Pagination from 'rc-pagination/lib/locale/kk_KZ'; -import Calendar from '../calendar/locale/kk_KZ'; -import DatePicker from '../date-picker/locale/kk_KZ'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/kk_KZ'; - -const typeTemplate: string = '${label} ${type} типі емес'; - -const localeValues: Locale = { - locale: 'kk', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Таңдаңыз', - }, - Table: { - filterTitle: 'Фильтр', - filterConfirm: 'OK', - filterReset: 'Тазарту', - filterEmptyText: 'Фильтр жоқ', - emptyText: 'Деректер жоқ', - selectAll: 'Барлығын таңдау', - selectInvert: 'Таңдауды төңкеру', - selectionAll: 'Барлық деректерді таңдаңыз', - sortTitle: 'Сұрыптау', - expand: 'Жолды жазу', - collapse: 'Жолды бүктеу', - triggerDesc: 'Төмендеуді сұрыптау үшін басыңыз', - triggerAsc: 'Өсу ретімен сұрыптау үшін басыңыз', - cancelSort: 'Сұрыптаудан бас тарту үшін басыңыз', - }, - Modal: { - okText: 'Жарайды', - cancelText: 'Болдырмау', - justOkText: 'Жарайды', - }, - Popconfirm: { - okText: 'Жарайды', - cancelText: 'Болдырмау', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Іздеу', - itemUnit: 'элемент.', - itemsUnit: 'элемент.', - remove: 'Жою', - selectAll: 'Барлық деректерді таңдау', - selectCurrent: 'Ағымдағы бетті таңдау', - selectInvert: 'Кері тәртіпте көрсету', - removeAll: 'Барлық деректерді жою', - removeCurrent: 'Ағымдағы парақты өшіру', - }, - Upload: { - uploading: 'Жүктеу...', - removeFile: 'Файлды жою', - uploadError: 'Жүктеу кезінде қате пайда болды', - previewFile: 'Файлды алдын ала қарау', - downloadFile: 'Файлды жүктеу', - }, - Empty: { - description: 'Деректер жоқ', - }, - Icon: { - icon: 'белгішесі', - }, - Text: { - edit: 'Өңдеу', - copy: 'Көшіру', - copied: 'Көшірілді', - expand: 'Жазу', - }, - PageHeader: { - back: 'Артқа', - }, - Form: { - defaultValidateMessages: { - default: '${label} өрісін тексеру қателігі', - required: '${label} енгізіңіз', - enum: '${label} [${enum}] қатарынан болуы керек', - whitespace: '${label} бос болмауы керек', - date: { - format: '${label} жарамды күн форматы емес', - parse: '${label} күнге түрлендірілмейді', - invalid: '${label} жарамды күн емес', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} ${len} таңбадан тұруы керек', - min: '${label} ${min} таңбадан үлкен немесе оған тең болуы керек', - max: '${label} ${max} таңбадан кем немесе оған тең болуы керек', - range: '${label} ұзындығы ${min}-${max} таңба аралығында болуы керек', - }, - number: { - len: '${label} ${len} тең болуы керек', - min: '${label} ${min} мәнінен үлкен немесе оған тең болуы керек', - max: '${label} ${max} мәнінен аз немесе оған тең болуы керек', - }, - array: { - len: '${label} элементтерінің саны ${len} тең болуы керек', - min: '${label} элементтерінің саны ${min} көп немесе оған тең болуы керек', - max: '${label} элементтерінің саны ${max} аз немесе оған тең болуы керек', - range: '${label} элементтерінің саны ${min} - ${max} аралығында болуы керек', - }, - pattern: { - mismatch: '${label} ${pattern} мен сәйкес келмейді', - }, - }, - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/km_KH.ts b/packages/meta/src/locale/km_KH.ts deleted file mode 100644 index fb92c89..0000000 --- a/packages/meta/src/locale/km_KH.ts +++ /dev/null @@ -1,109 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/km_KH'; -import Calendar from '../calendar/locale/km_KH'; -import DatePicker from '../date-picker/locale/km_KH'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/km_KH'; - -const typeTemplate = '${label} is not a valid ${type}'; - -const localeValues: Locale = { - locale: 'km', - Pagination, - DatePicker, - TimePicker, - Calendar, - Table: { - filterTitle: 'បញ្ចីតម្រៀប', - filterConfirm: 'យល់ព្រម', - filterReset: 'ត្រឡប់ដើម', - filterEmptyText: 'គ្មានបញ្ចីតម្រៀប', - emptyText: 'គ្មានទិន្នន័យ', - selectAll: 'រើសក្នុងទំព័រនេះ', - selectInvert: 'បញ្ច្រាសក្នុងទំព័រនេះ', - selectNone: 'លុបចេញទាំងអស់', - selectionAll: 'រើសយកទាំងអស់', - sortTitle: 'តម្រៀប', - expand: 'ពន្លាត', - collapse: 'បិតបាំង', - triggerDesc: 'ចុចដើម្បីរៀបតាមលំដាប់ធំ', - triggerAsc: 'ចុចដើម្បីរៀបតាមលំដាប់តូច​', - cancelSort: 'ចុចដើម្បីបោះបង់', - }, - Modal: { - okText: 'យល់ព្រម', - cancelText: 'បោះបង់', - justOkText: 'យល់ព្រម', - }, - Popconfirm: { - okText: 'យល់ព្រម', - cancelText: 'បោះបង់', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'ស្វែងរកនៅទីនេះ', - itemUnit: '', - itemsUnit: 'items', - }, - Upload: { - uploading: 'កំពុងបញ្ចូលឡើង...', - removeFile: 'លុបឯកសារ', - uploadError: 'បញ្ចូលមិនជោកជ័យ', - previewFile: 'មើលឯកសារ', - downloadFile: 'ទាញយកឯកសារ', - }, - Empty: { - description: 'គ្មានទិន្នន័យ', - }, - Form: { - defaultValidateMessages: { - default: 'Field validation error for ${label}', - required: 'Please enter ${label}', - enum: '${label} must be one of [${enum}]', - whitespace: '${label} cannot be a blank character', - date: { - format: '${label} date format is invalid', - parse: '${label} cannot be converted to a date', - invalid: '${label} is an invalid date', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} must be ${len} characters', - min: '${label} must be at least ${min} characters', - max: '${label} must be up to ${max} characters', - range: '${label} must be between ${min}-${max} characters', - }, - number: { - len: '${label} must be equal to ${len}', - min: '${label} must be minimum ${min}', - max: '${label} must be maximum ${max}', - range: '${label} must be between ${min}-${max}', - }, - array: { - len: 'Must be ${len} ${label}', - min: 'At least ${min} ${label}', - max: 'At most ${max} ${label}', - range: 'The amount of ${label} must be between ${min}-${max}', - }, - pattern: { - mismatch: '${label} does not match the pattern ${pattern}', - }, - }, - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/kmr_IQ.ts b/packages/meta/src/locale/kmr_IQ.ts deleted file mode 100644 index d92b74b..0000000 --- a/packages/meta/src/locale/kmr_IQ.ts +++ /dev/null @@ -1,47 +0,0 @@ -import Pagination from 'rc-pagination/lib/locale/kmr_IQ'; -import Calendar from '../calendar/locale/kmr_IQ'; -import DatePicker from '../date-picker/locale/kmr_IQ'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/kmr_IQ'; - -const localeValues: Locale = { - locale: 'ku', - Pagination, - DatePicker, - TimePicker, - Calendar, - Table: { - filterTitle: 'Menuê peldanka', - filterConfirm: 'Temam', - filterReset: 'Jê bibe', - selectAll: 'Hemî hilbijêre', - selectInvert: 'Hilbijartinan veguhere', - }, - Modal: { - okText: 'Temam', - cancelText: 'Betal ke', - justOkText: 'Temam', - }, - Popconfirm: { - okText: 'Temam', - cancelText: 'Betal ke', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Lêgerîn', - itemUnit: 'tişt', - itemsUnit: 'tişt', - }, - Upload: { - uploading: 'Bardike...', - removeFile: 'Pelê rabike', - uploadError: 'Xeta barkirine', - previewFile: 'Pelê pêşbibîne', - downloadFile: 'Pelê dakêşin', - }, - Empty: { - description: 'Agahî tune', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/kn_IN.ts b/packages/meta/src/locale/kn_IN.ts deleted file mode 100644 index df84c67..0000000 --- a/packages/meta/src/locale/kn_IN.ts +++ /dev/null @@ -1,54 +0,0 @@ -import Pagination from 'rc-pagination/lib/locale/kn_IN'; -import Calendar from '../calendar/locale/kn_IN'; -import DatePicker from '../date-picker/locale/kn_IN'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/kn_IN'; - -const localeValues: Locale = { - locale: 'kn', - Pagination, - DatePicker, - TimePicker, - Calendar, - // locales for all comoponents - global: { - placeholder: 'ದಯವಿಟ್ಟು ಆರಿಸಿ', - }, - Table: { - filterTitle: 'ಪಟ್ಟಿ ಸೋಸಿ', - filterConfirm: 'ಸರಿ', - filterReset: 'ಮರುಹೊಂದಿಸಿ', - emptyText: 'ಮಾಹಿತಿ ಇಲ್ಲ', - selectAll: 'ಪ್ರಸ್ತುತ ಪುಟವನ್ನು ಆಯ್ಕೆಮಾಡಿ', - selectInvert: 'ಪ್ರಸ್ತುತ ಪುಟವನ್ನು ತಿರುಗಿಸಿ', - sortTitle: 'ವಿಂಗಡಿಸಿ', - }, - Modal: { - okText: 'ಸರಿ', - cancelText: 'ರದ್ದು', - justOkText: 'ಸರಿ', - }, - Popconfirm: { - okText: 'ಸರಿ', - cancelText: 'ರದ್ದು', - }, - Transfer: { - titles: ['', ''], - notFoundContent: 'ದೊರೆತಿಲ್ಲ', - searchPlaceholder: 'ಇಲ್ಲಿ ಹುಡುಕಿ', - itemUnit: 'ವಿಷಯ', - itemsUnit: 'ವಿಷಯಗಳು', - }, - Select: { - notFoundContent: 'ದೊರೆತಿಲ್ಲ', - }, - Upload: { - uploading: 'ಏರಿಸಿ...', - removeFile: 'ಫೈಲ್ ತೆಗೆದುಹಾಕಿ', - uploadError: 'ಏರಿಸುವ ದೋಷ', - previewFile: 'ಫೈಲ್ ಮುನ್ನೋಟ', - downloadFile: 'ಫೈಲ್ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/ko_KR.ts b/packages/meta/src/locale/ko_KR.ts deleted file mode 100644 index 5963f1f..0000000 --- a/packages/meta/src/locale/ko_KR.ts +++ /dev/null @@ -1,148 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/ko_KR'; -import Calendar from '../calendar/locale/ko_KR'; -import DatePicker from '../date-picker/locale/ko_KR'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/ko_KR'; - -const typeTemplate = '${label} 유효하지 않은 ${type}'; - -const localeValues: Locale = { - locale: 'ko', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: '선택하세요', - }, - Table: { - filterTitle: '필터 메뉴', - filterConfirm: '확인', - filterReset: '초기화', - filterEmptyText: '필터 없음', - filterCheckall: '전체 선택', - filterSearchPlaceholder: '필터 검색', - emptyText: '데이터 없음', - selectAll: '전체 선택', - selectInvert: '선택 반전', - selectNone: '없음', - selectionAll: '전체 선택', - sortTitle: '정렬', - expand: '펼치기', - collapse: '접기', - triggerDesc: '내림차순으로 정렬하기', - triggerAsc: '오름차순으로 정렬하기', - cancelSort: '정렬 취소하기', - }, - Tour: { - Next: '다음', - Previous: '이전', - Finish: '종료', - }, - Modal: { - okText: '확인', - cancelText: '취소', - justOkText: '확인', - }, - Popconfirm: { - okText: '확인', - cancelText: '취소', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: '여기에 검색하세요', - itemUnit: '개', - itemsUnit: '개', - remove: '삭제', - selectCurrent: '현재 페이지 선택', - removeCurrent: '현재 페이지 삭제', - selectAll: '전체 선택', - removeAll: '전체 삭제', - selectInvert: '선택 반전', - }, - Upload: { - uploading: '업로드 중...', - removeFile: '파일 삭제', - uploadError: '업로드 실패', - previewFile: '파일 미리보기', - downloadFile: '파일 다운로드', - }, - Empty: { - description: '데이터 없음', - }, - Icon: { - icon: '아이콘', - }, - Text: { - edit: '수정', - copy: '복사', - copied: '복사 됨', - expand: '확장', - }, - PageHeader: { - back: '뒤로', - }, - Form: { - optional: '(선택사항)', - defaultValidateMessages: { - default: '필드 유효성 검사 오류 ${label}', - required: '${label} 값을 입력해 주세요', - enum: '${label} [${enum}] 중에 하나여야 합니다', - whitespace: '${label} 비워둘 수 없습니다', - date: { - format: '${label} 유효하지 않은 날짜 형식입니다', - parse: '${label} 날짜 형식으로 변환될 수 없습니다', - invalid: '${label} 유효하지 않은 날짜입니다', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} ${len}글자여야 합니다', - min: '${label} 적어도 ${min}글자 이상이어야 합니다', - max: '${label} ${max}글자 이하여야 합니다', - range: '${label} ${min}-${max}글자 사이어야 합니다', - }, - number: { - len: '${label} 값은 ${len}이어야 합니다', - min: '${label} 최솟값은 ${min}입니다', - max: '${label} 최댓값은 ${max}입니다', - range: '${label} 값은 ${min}-${max} 사이어야 합니다', - }, - array: { - len: '${len}이어야 합니다 ${label}', - min: '최소 ${min}이어야 합니다 ${label}', - max: '최대 ${max}이어야 합니다 ${label}', - range: '${label} ${min}-${max} 사이어야 합니다', - }, - pattern: { - mismatch: '${label} ${pattern} 패턴과 일치하지 않습니다', - }, - }, - }, - Image: { - preview: '미리보기', - }, - QRCode: { - expired: '만료된 QR 코드', - refresh: '새로고침', - }, - ColorPicker: { - presetEmpty: '미정', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/ku_IQ.ts b/packages/meta/src/locale/ku_IQ.ts deleted file mode 100644 index 5605b6d..0000000 --- a/packages/meta/src/locale/ku_IQ.ts +++ /dev/null @@ -1,51 +0,0 @@ -import Pagination from 'rc-pagination/lib/locale/kmr_IQ'; -import Calendar from '../calendar/locale/kmr_IQ'; -import DatePicker from '../date-picker/locale/kmr_IQ'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/kmr_IQ'; - -// please use antd/locale/kmr_IQ instead -// keep this file for compatibility -// https://github.com/ant-design/ant-design/issues/25778 - -const localeValues: Locale = { - locale: 'ku-iq', - Pagination, - DatePicker, - TimePicker, - Calendar, - Table: { - filterTitle: 'Menuê peldanka', - filterConfirm: 'Temam', - filterReset: 'Jê bibe', - selectAll: 'Hemî hilbijêre', - selectInvert: 'Hilbijartinan veguhere', - }, - Modal: { - okText: 'Temam', - cancelText: 'Betal ke', - justOkText: 'Temam', - }, - Popconfirm: { - okText: 'Temam', - cancelText: 'Betal ke', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Lêgerîn', - itemUnit: 'tişt', - itemsUnit: 'tişt', - }, - Upload: { - uploading: 'Bardike...', - removeFile: 'Pelê rabike', - uploadError: 'Xeta barkirine', - previewFile: 'Pelê pêşbibîne', - downloadFile: 'Pelê dakêşin', - }, - Empty: { - description: 'Agahî tune', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/lt_LT.ts b/packages/meta/src/locale/lt_LT.ts deleted file mode 100644 index 506fbec..0000000 --- a/packages/meta/src/locale/lt_LT.ts +++ /dev/null @@ -1,148 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/lt_LT'; -import type { Locale } from '.'; -import Calendar from '../calendar/locale/lt_LT'; -import DatePicker from '../date-picker/locale/lt_LT'; -import TimePicker from '../time-picker/locale/lt_LT'; - -const typeTemplate: string = '${label} neatitinka tipo ${type}'; - -const localeValues: Locale = { - locale: 'lt', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Pasirinkite', - }, - Table: { - filterTitle: 'Filtras', - filterConfirm: 'Gerai', - filterReset: 'Atstatyti', - filterEmptyText: 'Be filtrų', - filterCheckall: 'Pasirinkti visus', - filterSearchPlaceholder: 'Ieškoti filtruose', - emptyText: 'Nėra duomenų', - selectAll: 'Pasirinkti viską', - selectInvert: 'Apversti pasirinkimą', - selectNone: 'Išvalyti visus', - selectionAll: 'Rinktis visus', - sortTitle: 'Rikiavimas', - expand: 'Išskleisti', - collapse: 'Suskleisti', - triggerDesc: 'Spustelėkite norėdami rūšiuoti mažėjančia tvarka', - triggerAsc: 'Spustelėkite norėdami rūšiuoti didėjančia tvarka', - cancelSort: 'Spustelėkite, kad atšauktumėte rūšiavimą', - }, - Tour: { - Next: 'Kitas', - Previous: 'Ankstesnis', - Finish: 'Baigti', - }, - Modal: { - okText: 'Taip', - cancelText: 'Atšaukti', - justOkText: 'Gerai', - }, - Popconfirm: { - okText: 'Taip', - cancelText: 'Atšaukti', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Paieška', - itemUnit: 'vnt.', - itemsUnit: 'vnt.', - remove: 'Pašalinti', - selectCurrent: 'Pasirinkti dabartinį puslapį', - removeCurrent: 'Ištrinti dabartinį puslapį', - selectAll: 'Pasirinkti viską', - removeAll: 'Ištrinti viską', - selectInvert: 'Apversti pasirinkimą', - }, - Upload: { - uploading: 'Įkeliami duomenys...', - removeFile: 'Ištrinti failą', - uploadError: 'Įkeliant įvyko klaida', - previewFile: 'Failo peržiūra', - downloadFile: 'Atsisiųsti failą', - }, - Empty: { - description: 'Nėra duomenų', - }, - Icon: { - icon: 'piktograma', - }, - Text: { - edit: 'Redaguoti', - copy: 'Kopijuoti', - copied: 'Nukopijuota', - expand: 'Plačiau', - }, - PageHeader: { - back: 'Atgal', - }, - Form: { - optional: '(neprivaloma)', - defaultValidateMessages: { - default: 'Klaida laukelyje ${label}', - required: 'Prašome įvesti ${label}', - enum: '${label} turi būti vienas iš [${enum}]', - whitespace: '${label} negali likti tuščias', - date: { - format: '${label} neteisingas datos formatas', - parse: '${label} negali būti konvertuotas į datą', - invalid: '${label} neatitinka datos formato', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} turi būti ${len} simbolių', - min: '${label} turi būti bent ${min} simbolių', - max: '${label} turi būti ne ilgesnis nei ${max} simbolių', - range: 'Laukelio ${label} reikšmės ribos ${min}-${max} simbolių', - }, - number: { - len: '${label} turi būti lygi ${len}', - min: '${label} turi būti lygus arba didesnis už ${min}', - max: '${label} turi būti lygus arba mažesnis už ${max}', - range: '${label} turi būti tarp ${min}-${max}', - }, - array: { - len: 'Pasirinktas kiekis ${label} turi būti lygus ${len}', - min: 'Pasirinktas kiekis ${label} turi būti bent ${min}', - max: 'Pasirinktas kiekis ${label} turi būti ne ilgesnis nei ${max}', - range: 'Pasirinktas ${label} kiekis turi būti tarp ${min}-${max}', - }, - pattern: { - mismatch: '${label} neatitinka modelio ${pattern}', - }, - }, - }, - Image: { - preview: 'Peržiūrėti', - }, - QRCode: { - expired: 'QR kodo galiojimas baigėsi', - refresh: 'Atnaujinti', - }, - ColorPicker: { - presetEmpty: 'Tuščia', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/lv_LV.ts b/packages/meta/src/locale/lv_LV.ts deleted file mode 100644 index 7ce3b91..0000000 --- a/packages/meta/src/locale/lv_LV.ts +++ /dev/null @@ -1,47 +0,0 @@ -import Pagination from 'rc-pagination/lib/locale/lv_LV'; -import Calendar from '../calendar/locale/lv_LV'; -import DatePicker from '../date-picker/locale/lv_LV'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/lv_LV'; - -const localeValues: Locale = { - locale: 'lv', - Pagination, - DatePicker, - TimePicker, - Calendar, - Table: { - filterTitle: 'Filtrēšanas izvēlne', - filterConfirm: 'OK', - filterReset: 'Atiestatīt', - selectAll: 'Atlasiet pašreizējo lapu', - selectInvert: 'Pārvērst pašreizējo lapu', - }, - Modal: { - okText: 'OK', - cancelText: 'Atcelt', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Atcelt', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Meklēt šeit', - itemUnit: 'vienumu', - itemsUnit: 'vienumus', - }, - Upload: { - uploading: 'Augšupielāde...', - removeFile: 'Noņemt failu', - uploadError: 'Augšupielādes kļūda', - previewFile: 'Priekšskatiet failu', - downloadFile: 'Lejupielādēt failu', - }, - Empty: { - description: 'Nav datu', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/mk_MK.ts b/packages/meta/src/locale/mk_MK.ts deleted file mode 100644 index ddf41f3..0000000 --- a/packages/meta/src/locale/mk_MK.ts +++ /dev/null @@ -1,62 +0,0 @@ -import Pagination from 'rc-pagination/lib/locale/mk_MK'; -import Calendar from '../calendar/locale/mk_MK'; -import DatePicker from '../date-picker/locale/mk_MK'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/mk_MK'; - -const localeValues: Locale = { - locale: 'mk', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Ве молиме означете', - }, - Table: { - filterTitle: 'Мени за филтрирање', - filterConfirm: 'ОК', - filterReset: 'Избриши', - selectAll: 'Одбери страница', - selectInvert: 'Инвертирај страница', - }, - Modal: { - okText: 'ОК', - cancelText: 'Откажи', - justOkText: 'ОК', - }, - Popconfirm: { - okText: 'ОК', - cancelText: 'Откажи', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Пребарај тука', - itemUnit: 'предмет', - itemsUnit: 'предмети', - }, - Upload: { - uploading: 'Се прикачува...', - removeFile: 'Избриши фајл', - uploadError: 'Грешка при прикачување', - previewFile: 'Прикажи фајл', - downloadFile: 'Преземи фајл', - }, - Empty: { - description: 'Нема податоци', - }, - Icon: { - icon: 'Икона', - }, - Text: { - edit: 'Уреди', - copy: 'Копирај', - copied: 'Копирано', - expand: 'Зголеми', - }, - PageHeader: { - back: 'Назад', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/ml_IN.ts b/packages/meta/src/locale/ml_IN.ts deleted file mode 100644 index 8978ef3..0000000 --- a/packages/meta/src/locale/ml_IN.ts +++ /dev/null @@ -1,134 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/ml_IN'; -import Calendar from '../calendar/locale/ml_IN'; -import DatePicker from '../date-picker/locale/ml_IN'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/ml_IN'; - -const typeTemplate = '${label} അസാധുവായ ${type} ആണ്'; - -const localeValues: Locale = { - locale: 'ml', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'ദയവായി തിരഞ്ഞെടുക്കുക', - }, - Table: { - filterTitle: 'ഫിൽറ്റർ', - filterConfirm: 'ശരിയാണ്', - filterReset: 'പുനഃക്രമീകരിക്കുക', - filterEmptyText: 'ഫിൽറ്ററുകളൊന്നുമില്ല', - emptyText: 'ഡാറ്റയൊന്നുമില്ല', - selectAll: 'നിലവിലെ പേജ് തിരഞ്ഞെടുക്കുക', - selectInvert: 'നിലവിലെ പേജിൽ ഇല്ലാത്തത് തിരഞ്ഞെടുക്കുക', - selectNone: 'എല്ലാ ഡാറ്റയും നീക്കം ചെയ്യുക', - selectionAll: 'എല്ലാ ഡാറ്റയും തിരഞ്ഞെടുക്കുക', - sortTitle: 'ക്രമമാക്കുക', - expand: 'വരി വികസിപ്പിക്കുക', - collapse: 'വരി ചുരുക്കുക', - triggerDesc: 'അവരോഹണ ക്രമത്തിനായി ക്ലിക്ക് ചെയ്യുക', - triggerAsc: 'ആരോഹണ ക്രമത്തിനായി ക്ലിക്ക് ചെയ്യുക', - cancelSort: 'ക്രമീകരണം ഒഴിവാക്കുന്നതിനായി ക്ലിക്ക് ചെയ്യുക', - }, - Modal: { - okText: 'ശരിയാണ്', - cancelText: 'റദ്ദാക്കുക', - justOkText: 'ശരിയാണ്', - }, - Popconfirm: { - okText: 'ശരിയാണ്', - cancelText: 'റദ്ദാക്കുക', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'ഇവിടെ തിരയുക', - itemUnit: 'ഇനം', - itemsUnit: 'ഇനങ്ങൾ', - remove: 'നീക്കം ചെയ്യുക', - selectCurrent: 'നിലവിലെ പേജ് തിരഞ്ഞെടുക്കുക', - removeCurrent: 'നിലവിലെ പേജ് നീക്കം ചെയ്യുക', - selectAll: 'എല്ലാ ഡാറ്റയും തിരഞ്ഞെടുക്കുക', - removeAll: 'എല്ലാ ഡാറ്റയും നീക്കം ചെയ്യുക', - selectInvert: 'നിലവിലെ പേജിൽ ഇല്ലാത്തത് തിരഞ്ഞെടുക്കുക', - }, - Upload: { - uploading: 'അപ്‌ലോഡ് ചെയ്തു കൊണ്ടിരിക്കുന്നു...', - removeFile: 'ഫയൽ നീക്കം ചെയ്യുക', - uploadError: 'അപ്‌ലോഡിൽ പിശക് സംഭവിച്ചിരിക്കുന്നു', - previewFile: 'ഫയൽ പ്രിവ്യൂ ചെയ്യുക', - downloadFile: 'ഫയൽ ഡൗൺലോഡ് ചെയ്യുക', - }, - Empty: { - description: 'ഡാറ്റയൊന്നുമില്ല', - }, - Icon: { - icon: 'ഐക്കൺ', - }, - Text: { - edit: 'തിരുത്തുക', - copy: 'കോപ്പി ചെയ്യുക', - copied: 'കോപ്പി ചെയ്തു', - expand: 'വികസിപ്പിക്കുക', - }, - PageHeader: { - back: 'തിരികെ', - }, - Form: { - optional: '(optional)', - defaultValidateMessages: { - default: '${label} ഫീൽഡിൽ വാലിഡേഷൻ പിശകുണ്ട്', - required: 'ദയവായി ${label} രേഖപ്പെടുത്തുക', - enum: '${label} നിർബന്ധമായും [${enum}]-ൽ നിന്നുള്ളതായിരിക്കണം', - whitespace: '${label} ശൂന്യമായി വെക്കാനാകില്ല', - date: { - format: '${label} തീയതി രൂപരേഖ അസാധുവാണ്', - parse: '${label} ഒരു തീയതിയാക്കി മാറ്റാൻ സാധിക്കില്ല', - invalid: '${label} ഒരു അസാധുവായ തീയതി ആണ്', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} നിർബന്ധമായും ${len} അക്ഷരങ്ങൾ ഉണ്ടായിരിക്കണം', - min: '${label} നിർബന്ധമായും ${min} അക്ഷരങ്ങൾ എങ്കിലും ഉണ്ടായിരിക്കണം', - max: '${label} നിർബന്ധമായും ${max} അക്ഷരങ്ങളിൽ കൂടാൻ പാടില്ല', - range: '${label} നിർബന്ധമായും ${min}-നും ${max}-നും ഇടയിൽ അക്ഷരങ്ങൾ ഉള്ളതായിരിക്കണം', - }, - number: { - len: '${label} നിർബന്ധമായും ${len}-നു തുല്യമായിരിക്കണം', - min: '${label} നിർബന്ധമായും ${min}-ൽ കുറയാൻ പാടില്ല', - max: '${label} നിർബന്ധമായും ${max}-ൽ കൂടാൻ പാടില്ല', - range: '${label} നിർബന്ധമായും ${min}-നും ${max}-നും ഇടയിൽ ആയിരിക്കണം', - }, - array: { - len: 'നിർബന്ധമായും ${len} ${label} ഉണ്ടായിരിക്കണം', - min: 'കുറഞ്ഞപക്ഷം ${min} ${label} എങ്കിലും ഉണ്ടായിരിക്കണം', - max: 'അങ്ങേയറ്റം ${max} ${label} ആയിരിക്കണം', - range: '${label}-ന്റെ എണ്ണം നിർബന്ധമായും ${min}-നും ${max}-നും ഇടയിൽ ആയിരിക്കണം', - }, - pattern: { - mismatch: '${label} ${pattern} മാതൃകയുമായി യോജിക്കുന്നില്ല', - }, - }, - }, - Image: { - preview: 'പ്രിവ്യൂ', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/mn_MN.ts b/packages/meta/src/locale/mn_MN.ts deleted file mode 100644 index dab4056..0000000 --- a/packages/meta/src/locale/mn_MN.ts +++ /dev/null @@ -1,47 +0,0 @@ -import Pagination from 'rc-pagination/lib/locale/mn_MN'; -import type { Locale } from '.'; -import Calendar from '../calendar/locale/mn_MN'; -import DatePicker from '../date-picker/locale/mn_MN'; -import TimePicker from '../time-picker/locale/mn_MN'; - -const localeValues: Locale = { - locale: 'mn-mn', - Pagination, - DatePicker, - TimePicker, - Calendar, - Table: { - filterTitle: 'Хайх цэс', - filterConfirm: 'Тийм', - filterReset: 'Цэвэрлэх', - selectAll: 'Бүгдийг сонгох', - selectInvert: 'Бусдыг сонгох', - }, - Modal: { - okText: 'Тийм', - cancelText: 'Цуцлах', - justOkText: 'Тийм', - }, - Popconfirm: { - okText: 'Тийм', - cancelText: 'Цуцлах', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Хайх', - itemUnit: 'Зүйл', - itemsUnit: 'Зүйлүүд', - }, - Upload: { - uploading: 'Хуулж байна...', - removeFile: 'Файл устгах', - uploadError: 'Хуулахад алдаа гарлаа', - previewFile: 'Файлыг түргэн үзэх', - downloadFile: 'Файлыг татах', - }, - Empty: { - description: 'Мэдээлэл байхгүй байна', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/ms_MY.ts b/packages/meta/src/locale/ms_MY.ts deleted file mode 100644 index 43d5af4..0000000 --- a/packages/meta/src/locale/ms_MY.ts +++ /dev/null @@ -1,67 +0,0 @@ -import Pagination from 'rc-pagination/lib/locale/ms_MY'; -import Calendar from '../calendar/locale/ms_MY'; -import DatePicker from '../date-picker/locale/ms_MY'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/ms_MY'; - -const localeValues: Locale = { - locale: 'ms-my', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Sila pilih', - }, - PageHeader: { - back: 'Kembali', - }, - Text: { - edit: 'Sunting', - copy: 'Salin', - copied: 'Berjaya menyalin', - expand: 'Kembang', - }, - Empty: { - description: 'Tiada data', - }, - Table: { - filterTitle: 'Cari dengan tajuk', - filterConfirm: 'OK', - filterReset: 'Menetapkan semula', - emptyText: 'Tiada data', - selectAll: 'Pilih semua', - selectInvert: 'Terbalikkan', - }, - Modal: { - okText: 'OK', - cancelText: 'Batal', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Batal', - }, - Transfer: { - titles: ['', ''], - notFoundContent: 'Tidak dijumpai', - searchPlaceholder: 'Carian di sini', - itemUnit: 'item', - itemsUnit: 'item', - }, - Icon: { - icon: 'ikon', - }, - Select: { - notFoundContent: 'Tidak Dijumpai', - }, - Upload: { - uploading: 'Sedang memuat naik...', - removeFile: 'Buang fail', - uploadError: 'Masalah muat naik', - previewFile: 'Tengok fail', - downloadFile: 'Muat turun fail', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/my_MM.ts b/packages/meta/src/locale/my_MM.ts deleted file mode 100644 index 57f30dc..0000000 --- a/packages/meta/src/locale/my_MM.ts +++ /dev/null @@ -1,143 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/my_MM'; -import Calendar from '../calendar/locale/my_MM'; -import DatePicker from '../date-picker/locale/my_MM'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/my_MM'; - -const typeTemplate = '${label} သည် တရားဝင် ${type} မဟုတ်ပါ'; - -const localeValues: Locale = { - locale: 'my', - Pagination, - DatePicker, - TimePicker, - Calendar, - // locales for all components - global: { - placeholder: 'ကျေးဇူးပြု၍ ရွေးချယ်ပါ။', - }, - Table: { - filterTitle: 'စစ်ထုတ်ခြင်း မီနူ', - filterConfirm: 'အိုကေ', - filterReset: 'ပြန်လည်သတ်မှတ်ပါ။', - filterEmptyText: 'စစ်ထုတ်မှုများမရှိပါ။', - filterCheckall: 'ပစ္စည်းအားလုံးကို ရွေးပါ။', - filterSearchPlaceholder: 'စစ်ထုတ်မှုများတွင် ရှာဖွေပါ။', - selectAll: 'လက်ရှိစာမျက်နှာကို ရွေးပါ။', - selectInvert: 'လက်ရှိစာမျက်နှာကို ပြောင်းလိုက်ပါ။', - selectNone: 'ဒေတာအားလုံးကို ရှင်းလင်းပါ။', - selectionAll: 'ဒေတာအားလုံးကို ရွေးပါ။', - sortTitle: 'မျိုးတူစု', - expand: 'အတန်းချဲ့ပါ။', - collapse: 'အတန်းကို ခေါက်သိမ်းပါ။', - cancelSort: 'အမျိုးအစားခွဲခြင်းကို ပယ်ဖျက်ရန် နှိပ်ပါ။', - }, - Tour: { - Next: 'နောက်တစ်ခု', - Previous: 'အရင်', - Finish: 'ပြီးအောင်', - }, - Modal: { - okText: 'အိုကေ', - cancelText: 'မလုပ်တော့', - justOkText: 'အိုကေ', - }, - Popconfirm: { - cancelText: 'မလုပ်တော့', - okText: 'အိုကေ', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'ဒီမှာရှာပါ။', - itemUnit: 'ပစ္စည်း', - itemsUnit: 'ပစ္စည်းများ', - remove: 'ဖယ်ရှားပါ။', - selectCurrent: 'လက်ရှိစာမျက်နှာကို ရွေးပါ။', - removeCurrent: 'လက်ရှိစာမျက်နှာကို ဖယ်ရှားပါ။', - selectAll: 'ဒေတာအားလုံးကို ရွေးပါ။', - removeAll: 'ဒေတာအားလုံးကို ဖယ်ရှားပါ။', - selectInvert: 'လက်ရှိစာမျက်နှာကို ပြောင်းလိုက်ပါ။', - }, - Upload: { - uploading: 'တင်ခြင်း။...', - removeFile: 'ဖိုင်ကို ဖယ်ရှားပါ။', - uploadError: 'အပ်လုဒ်အမှား', - previewFile: 'ဖိုင်ကို အစမ်းကြည့်ပါ။', - downloadFile: 'ဖိုင်ကိုဒေါင်းလုဒ်လုပ်ပါ။', - }, - Empty: { - description: 'ဒေတာမရှိပါ။', - }, - Icon: { - icon: 'အိုင်ကွန်', - }, - Text: { - edit: 'တည်းဖြတ်ပါ။', - copy: 'ကော်ပီ', - copied: 'ကူးယူသည်။', - expand: 'ချဲ့ထွင်ပါ။', - }, - PageHeader: { - back: 'ကျော', - }, - Form: { - optional: '(ချန်လှပ်ထားနိုင်သည်)', - defaultValidateMessages: { - default: '${label} အတွက် အကွက်အတည်ပြုခြင်း အမှား', - required: '${label} ကို ထည့်ပါ', - enum: '${label} သည် [${enum}] မှ တစ်ခု ဖြစ်ရမည်', - whitespace: '${label} သည် အလွတ်စာလုံးမဖြစ်ရပါ။', - date: { - format: '${label} ရက်စွဲဖော်မတ်သည် မမှန်ကန်ပါ။', - parse: '${label} ကို ရက်စွဲအဖြစ် ပြောင်းလဲ၍မရပါ။', - invalid: '${label} သည် မမှန်ကန်သော ရက်စွဲတစ်ခုဖြစ်သည်။', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} သည် ${len} စာလုံးဖြစ်ရမည်။', - min: '${label} သည် အနည်းဆုံး စာလုံး ${min} ရှိရမည်။', - max: '${label} သည် ${max} စာလုံးအထိ ရှိရပါမည်။', - range: '${label} သည် ${min}-${max} စာလုံးကြားရှိရမည်။', - }, - number: { - len: '${label} သည် ${len} နှင့် ညီရမည်', - min: '${label} သည် အနည်းဆုံး ${min} ဖြစ်ရမည်', - max: '${label} သည် အများဆုံး ${max} ဖြစ်ရမည်', - range: '${label} သည် ${min}-${max} ကြားရှိရမည်', - }, - array: { - len: '${len} ${label} ဖြစ်ရမည်', - min: 'အနည်းဆုံး ${min} ${label}', - max: 'အများဆုံး ${max} ${label}', - range: '${label} ၏ ပမာဏသည် ${min}-${max} အကြား ဖြစ်ရမည်', - }, - pattern: { - mismatch: '${label} သည် ပုံစံ ${pattern} နှင့် မကိုက်ညီပါ', - }, - }, - }, - Image: { - preview: 'စမ်းကြည့်ပါ။', - }, - QRCode: { - expired: 'QR ကုဒ် သက်တမ်းကုန်သွားပါပြီ။', - refresh: 'ပြန်လည်စတင်ပါ။', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/nb_NO.ts b/packages/meta/src/locale/nb_NO.ts deleted file mode 100644 index 53d89ae..0000000 --- a/packages/meta/src/locale/nb_NO.ts +++ /dev/null @@ -1,128 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/nb_NO'; -import Calendar from '../calendar/locale/nb_NO'; -import DatePicker from '../date-picker/locale/nb_NO'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/nb_NO'; - -const typeTemplate = '${label} er ikke et gyldig ${type}'; - -const localeValues: Locale = { - locale: 'nb', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Vennligst velg', - }, - Table: { - filterTitle: 'Filtermeny', - filterConfirm: 'OK', - filterReset: 'Nullstill', - filterEmptyText: 'Ingen filtre', - selectAll: 'Velg alle', - selectInvert: 'Inverter gjeldende side', - selectionAll: 'Velg all data', - sortTitle: 'Sorter', - expand: 'Utvid rad', - collapse: 'Skjul rad', - triggerDesc: 'Sorter data i synkende rekkefølge', - triggerAsc: 'Sorterer data i stigende rekkefølge', - cancelSort: 'Klikk for å avbryte sorteringen', - }, - Modal: { - okText: 'OK', - cancelText: 'Avbryt', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Avbryt', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Søk her', - itemUnit: 'element', - itemsUnit: 'elementer', - remove: 'Fjern', - selectCurrent: 'Velg gjeldende side', - removeCurrent: 'Fjern gjeldende side', - selectAll: 'Velg all data', - removeAll: 'Fjern all data', - selectInvert: 'Inverter gjeldende side', - }, - Upload: { - uploading: 'Laster opp...', - removeFile: 'Fjern fil', - uploadError: 'Feil ved opplastning', - previewFile: 'Forhåndsvisning', - downloadFile: 'Last ned fil', - }, - Empty: { - description: 'Ingen data', - }, - Icon: { - icon: 'ikon', - }, - Text: { - edit: 'Rediger', - copy: 'Kopier', - copied: 'Kopiert', - expand: 'Utvid', - }, - PageHeader: { - back: 'Tilbake', - }, - Form: { - defaultValidateMessages: { - default: 'Feltvalideringsfeil ${label}', - required: 'Vennligst skriv inn ${label}', - enum: '${label} må være en av [${enum}]', - whitespace: '${label} kan ikke være et blankt tegn', - date: { - format: '${label} datoformatet er ugyldig', - parse: '${label} kan ikke konverteres til en dato', - invalid: '${label} er en ugyldig dato', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} må være ${len} tegn', - min: '${label} må minst ha ${min} tegn', - max: '${label} opp til ${max} tegn', - range: '${label} må være mellom ${min}-${max} tegn', - }, - number: { - len: '${label} må være lik ${len}', - min: '${label} minimumsverdien er ${min}', - max: '${label} maksimumsverdien er ${max}', - range: '${label} må være mellom ${min}-${max}', - }, - array: { - len: 'Må være ${len} ${label}', - min: 'Må være minst ${min} ${label}', - max: 'På det meste ${max} ${label}', - range: 'Totalt av ${label} må være mellom ${min}-${max}', - }, - pattern: { - mismatch: '${label} stemmer ikke overens med mønsteret ${pattern}', - }, - }, - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/ne_NP.ts b/packages/meta/src/locale/ne_NP.ts deleted file mode 100644 index ae1377d..0000000 --- a/packages/meta/src/locale/ne_NP.ts +++ /dev/null @@ -1,47 +0,0 @@ -import Pagination from 'rc-pagination/lib/locale/en_US'; -import Calendar from '../calendar/locale/en_US'; -import DatePicker from '../date-picker/locale/en_US'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/en_US'; - -const localeValues: Locale = { - locale: 'ne-np', - Pagination, - DatePicker, - TimePicker, - Calendar, - Table: { - filterTitle: 'फिल्टर मेनु', - filterConfirm: 'हो', - filterReset: 'रीसेट', - selectAll: 'सबै छान्नुुहोस्', - selectInvert: 'छनौट उल्टाउनुहोस', - }, - Modal: { - okText: 'हो', - cancelText: 'होईन', - justOkText: 'हो', - }, - Popconfirm: { - okText: 'हो', - cancelText: 'होईन', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'यहाँ खोज्नुहोस्', - itemUnit: 'वस्तु', - itemsUnit: 'वस्तुहरू', - }, - Upload: { - uploading: 'अपलोड गर्दै...', - removeFile: 'फाइल हटाउनुहोस्', - uploadError: 'अप्लोडमा समस्या भयो', - previewFile: 'फाइल पूर्वावलोकन गर्नुहोस्', - downloadFile: 'डाउनलोड फाइल', - }, - Empty: { - description: 'डाटा छैन', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/nl_BE.ts b/packages/meta/src/locale/nl_BE.ts deleted file mode 100644 index 2009558..0000000 --- a/packages/meta/src/locale/nl_BE.ts +++ /dev/null @@ -1,134 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/nl_BE'; -import Calendar from '../calendar/locale/nl_BE'; -import DatePicker from '../date-picker/locale/nl_BE'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/nl_BE'; - -const typeTemplate = '${label} is geen geldige ${type}'; - -const localeValues: Locale = { - locale: 'nl-be', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Maak een selectie', - }, - Table: { - cancelSort: 'Klik om sortering te annuleren', - collapse: 'Rij inklappen', - emptyText: 'Geen data', - expand: 'Rij uitklappen', - filterConfirm: 'OK', - filterEmptyText: 'Geen filters', - filterReset: 'Reset', - filterTitle: 'Filteren', - selectAll: 'Selecteer huidige pagina', - selectInvert: 'Keer volgorde om', - selectNone: 'Maak selectie leeg', - selectionAll: 'Selecteer alle data', - sortTitle: 'Sorteren', - triggerAsc: 'Klik om oplopend te sorteren', - triggerDesc: 'Klik om aflopend te sorteren', - }, - Modal: { - okText: 'OK', - cancelText: 'Annuleer', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Annuleer', - }, - Transfer: { - itemUnit: 'item', - itemsUnit: 'items', - remove: 'Verwijder', - removeAll: 'Verwijder alles', - removeCurrent: 'Verwijder huidige pagina', - searchPlaceholder: 'Zoek hier', - selectAll: 'Selecteer alles', - selectCurrent: 'Selecteer huidige pagina', - selectInvert: 'Huidige pagina omkeren', - titles: ['', ''], - }, - Upload: { - downloadFile: 'Bestand downloaden', - previewFile: 'Preview file', - removeFile: 'Verwijder bestand', - uploadError: 'Fout tijdens uploaden', - uploading: 'Uploaden...', - }, - Empty: { - description: 'Geen gegevens', - }, - Icon: { - icon: 'icoon', - }, - Text: { - edit: 'Bewerken', - copy: 'kopiëren', - copied: 'Gekopieerd', - expand: 'Uitklappen', - }, - PageHeader: { - back: 'Terug', - }, - Form: { - optional: '(optioneel)', - defaultValidateMessages: { - default: 'Validatiefout voor ${label}', - required: 'Gelieve ${label} in te vullen', - enum: '${label} moet één van [${enum}] zijn', - whitespace: '${label} mag geen blanco teken zijn', - date: { - format: '${label} heeft een ongeldig formaat', - parse: '${label} kan niet naar een datum omgezet worden', - invalid: '${label} is een ongeldige datum', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} moet ${len} karakters lang zijn', - min: '${label} moet minimaal ${min} karakters lang zijn', - max: '${label} mag maximaal ${max} karakters lang zijn', - range: '${label} moet tussen ${min}-${max} karakters lang zijn', - }, - number: { - len: '${label} moet gelijk zijn aan ${len}', - min: '${label} moet minimaal ${min} zijn', - max: '${label} mag maximaal ${max} zijn', - range: '${label} moet tussen ${min}-${max} liggen', - }, - array: { - len: 'Moeten ${len} ${label} zijn', - min: 'Minimaal ${min} ${label}', - max: 'maximaal ${max} ${label}', - range: 'Het aantal ${label} moet tussen ${min}-${max} liggen', - }, - pattern: { - mismatch: '${label} komt niet overeen met het patroon ${pattern}', - }, - }, - }, - Image: { - preview: 'Voorbeeld', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/nl_NL.ts b/packages/meta/src/locale/nl_NL.ts deleted file mode 100644 index 15ef5e9..0000000 --- a/packages/meta/src/locale/nl_NL.ts +++ /dev/null @@ -1,134 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/nl_NL'; -import Calendar from '../calendar/locale/nl_NL'; -import DatePicker from '../date-picker/locale/nl_NL'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/nl_NL'; - -const typeTemplate = '${label} is geen geldige ${type}'; - -const localeValues: Locale = { - locale: 'nl', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Maak een selectie', - }, - Table: { - cancelSort: 'Klik om sortering te annuleren', - collapse: 'Rij inklappen', - emptyText: 'Geen data', - expand: 'Rij uitklappen', - filterConfirm: 'OK', - filterEmptyText: 'Geen filters', - filterReset: 'Reset', - filterTitle: 'Filteren', - selectAll: 'Selecteer huidige pagina', - selectInvert: 'Keer volgorde om', - selectNone: 'Maak selectie leeg', - selectionAll: 'Selecteer alle data', - sortTitle: 'Sorteren', - triggerAsc: 'Klik om oplopend te sorteren', - triggerDesc: 'Klik om aflopend te sorteren', - }, - Modal: { - okText: 'OK', - cancelText: 'Annuleer', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Annuleer', - }, - Transfer: { - itemUnit: 'item', - itemsUnit: 'items', - remove: 'Verwijder', - removeAll: 'Verwijder alles', - removeCurrent: 'Verwijder huidige pagina', - searchPlaceholder: 'Zoek hier', - selectAll: 'Selecteer alles', - selectCurrent: 'Selecteer huidige pagina', - selectInvert: 'Huidige pagina omkeren', - titles: ['', ''], - }, - Upload: { - downloadFile: 'Bestand downloaden', - previewFile: 'Preview file', - removeFile: 'Verwijder bestand', - uploadError: 'Fout tijdens uploaden', - uploading: 'Uploaden...', - }, - Empty: { - description: 'Geen gegevens', - }, - Icon: { - icon: 'icoon', - }, - Text: { - edit: 'Bewerken', - copy: 'kopiëren', - copied: 'Gekopieerd', - expand: 'Uitklappen', - }, - PageHeader: { - back: 'Terug', - }, - Form: { - optional: '(optioneel)', - defaultValidateMessages: { - default: 'Validatiefout voor ${label}', - required: 'Gelieve ${label} in te vullen', - enum: '${label} moet één van [${enum}] zijn', - whitespace: '${label} mag geen blanco teken zijn', - date: { - format: '${label} heeft een ongeldig formaat', - parse: '${label} kan niet naar een datum omgezet worden', - invalid: '${label} is een ongeldige datum', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} moet ${len} karakters lang zijn', - min: '${label} moet minimaal ${min} karakters lang zijn', - max: '${label} mag maximaal ${max} karakters lang zijn', - range: '${label} moet tussen ${min}-${max} karakters lang zijn', - }, - number: { - len: '${label} moet gelijk zijn aan ${len}', - min: '${label} moet minimaal ${min} zijn', - max: '${label} mag maximaal ${max} zijn', - range: '${label} moet tussen ${min}-${max} liggen', - }, - array: { - len: 'Moeten ${len} ${label} zijn', - min: 'Minimaal ${min} ${label}', - max: 'maximaal ${max} ${label}', - range: 'Het aantal ${label} moet tussen ${min}-${max} liggen', - }, - pattern: { - mismatch: '${label} komt niet overeen met het patroon ${pattern}', - }, - }, - }, - Image: { - preview: 'Voorbeeld', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/pl_PL.ts b/packages/meta/src/locale/pl_PL.ts deleted file mode 100644 index 7def39c..0000000 --- a/packages/meta/src/locale/pl_PL.ts +++ /dev/null @@ -1,141 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/pl_PL'; -import Calendar from '../calendar/locale/pl_PL'; -import DatePicker from '../date-picker/locale/pl_PL'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/pl_PL'; - -const typeTemplate = '${label} nie posiada poprawnej wartości dla typu ${type}'; - -const localeValues: Locale = { - locale: 'pl', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Wybierz', - }, - Table: { - filterTitle: 'Menu filtra', - filterConfirm: 'OK', - filterReset: 'Usuń filtry', - filterEmptyText: 'Brak filtrów', - filterCheckall: 'Wybierz wszystkie elementy', - filterSearchPlaceholder: 'Szukaj w filtrach', - emptyText: 'Brak danych', - selectAll: 'Zaznacz bieżącą stronę', - selectInvert: 'Odwróć zaznaczenie', - selectNone: 'Wyczyść', - selectionAll: 'Wybierz wszystkie', - sortTitle: 'Sortowanie', - expand: 'Rozwiń wiersz', - collapse: 'Zwiń wiersz', - triggerDesc: 'Sortuj malejąco', - triggerAsc: 'Sortuj rosnąco', - cancelSort: 'Usuń sortowanie', - }, - Tour: { - Next: 'Dalej', - Previous: 'Wróć', - Finish: 'Zakończ', - }, - Modal: { - okText: 'OK', - cancelText: 'Anuluj', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Anuluj', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Szukaj', - itemUnit: 'obiekt', - itemsUnit: 'obiekty', - remove: 'Usuń', - selectCurrent: 'Wybierz aktualną stronę', - removeCurrent: 'Usuń aktualną stronę', - selectAll: 'Wybierz wszystkie', - removeAll: 'Usuń wszystkie', - selectInvert: 'Odwróć wybór', - }, - Upload: { - uploading: 'Wysyłanie...', - removeFile: 'Usuń plik', - uploadError: 'Błąd wysyłania', - previewFile: 'Podejrzyj plik', - downloadFile: 'Pobieranie pliku', - }, - Empty: { - description: 'Brak danych', - }, - Icon: { - icon: 'Ikona', - }, - Text: { - edit: 'Edytuj', - copy: 'Kopiuj', - copied: 'Skopiowany', - expand: 'Rozwiń', - }, - PageHeader: { - back: 'Wstecz', - }, - Form: { - optional: '(opcjonalne)', - defaultValidateMessages: { - default: 'Błąd walidacji dla pola ${label}', - required: 'Pole ${label} jest wymagane', - enum: 'Pole ${label} musi posiadać wartość z listy: [${enum}]', - whitespace: 'Pole ${label} nie może być puste', - date: { - format: '${label} posiada zły format daty', - parse: '${label} nie może zostać zinterpretowane jako data', - invalid: '${label} jest niepoprawną datą', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} musi posiadać ${len} znaków', - min: '${label} musi posiadać co namniej ${min} znaków', - max: '${label} musi posiadać maksymalnie ${max} znaków', - range: '${label} musi posiadać między ${min} a ${max} znaków', - }, - number: { - len: '${label} musi mieć wartość o długości ${len}', - min: '${label} musi mieć wartość większą lub równą ${min}', - max: '${label} musi mieć wartość mniejszą lub równą ${max}', - range: '${label} musi mieć wartość pomiędzy ${min} a ${max}', - }, - array: { - len: '${label} musi posiadać ${len} elementów', - min: '${label} musi posiadać co najmniej ${min} elementów', - max: '${label} musi posiadać maksymalnie ${max} elementów', - range: '${label} musi posiadać między ${min} a ${max} elementów', - }, - pattern: { - mismatch: '${label} nie posiada wartości zgodnej ze wzorem ${pattern}', - }, - }, - }, - Image: { - preview: 'Podgląd', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/pt_BR.ts b/packages/meta/src/locale/pt_BR.ts deleted file mode 100644 index 24185b0..0000000 --- a/packages/meta/src/locale/pt_BR.ts +++ /dev/null @@ -1,141 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/pt_BR'; -import Calendar from '../calendar/locale/pt_BR'; -import DatePicker from '../date-picker/locale/pt_BR'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/pt_BR'; - -const typeTemplate = '${label} não é um ${type} válido'; - -const localeValues: Locale = { - locale: 'pt-br', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Por favor escolha', - }, - Table: { - filterTitle: 'Menu de Filtro', - filterConfirm: 'OK', - filterReset: 'Resetar', - filterEmptyText: 'Sem filtros', - filterCheckall: 'Selecionar todos os itens', - filterSearchPlaceholder: 'Pesquisar nos filtros', - emptyText: 'Sem conteúdo', - selectAll: 'Selecionar página atual', - selectInvert: 'Inverter seleção', - selectNone: 'Apagar todo o conteúdo', - selectionAll: 'Selecionar todo o conteúdo', - sortTitle: 'Ordenar título', - expand: 'Expandir linha', - collapse: 'Colapsar linha', - triggerDesc: 'Clique organiza por descendente', - triggerAsc: 'Clique organiza por ascendente', - cancelSort: 'Clique para cancelar organização', - }, - Tour: { - Next: 'Próximo', - Previous: 'Anterior', - Finish: 'Finalizar', - }, - Modal: { - okText: 'OK', - cancelText: 'Cancelar', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Cancelar', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Procurar', - itemUnit: 'item', - itemsUnit: 'items', - remove: 'Remover', - selectCurrent: 'Selecionar página atual', - removeCurrent: 'Remover página atual', - selectAll: 'Selecionar todos', - removeAll: 'Remover todos', - selectInvert: 'Inverter seleção atual', - }, - Upload: { - uploading: 'Enviando...', - removeFile: 'Remover arquivo', - uploadError: 'Erro no envio', - previewFile: 'Visualizar arquivo', - downloadFile: 'Baixar arquivo', - }, - Empty: { - description: 'Não há dados', - }, - Icon: { - icon: 'ícone', - }, - Text: { - edit: 'editar', - copy: 'copiar', - copied: 'copiado', - expand: 'expandir', - }, - PageHeader: { - back: 'Retornar', - }, - Form: { - optional: '(opcional)', - defaultValidateMessages: { - default: 'Erro ${label} na validação de campo', - required: 'Por favor, insira ${label}', - enum: '${label} deve ser um dos seguinte: [${enum}]', - whitespace: '${label} não pode ser um carácter vazio', - date: { - format: ' O formato de data ${label} é inválido', - parse: '${label} não pode ser convertido para uma data', - invalid: '${label} é uma data inválida', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} deve possuir ${len} caracteres', - min: '${label} deve possuir ao menos ${min} caracteres', - max: '${label} deve possuir no máximo ${max} caracteres', - range: '${label} deve possuir entre ${min} e ${max} caracteres', - }, - number: { - len: '${label} deve ser igual à ${len}', - min: 'O valor mínimo de ${label} é ${min}', - max: 'O valor máximo de ${label} é ${max}', - range: '${label} deve estar entre ${min} e ${max}', - }, - array: { - len: 'Deve ser ${len} ${label}', - min: 'No mínimo ${min} ${label}', - max: 'No máximo ${max} ${label}', - range: 'A quantidade de ${label} deve estar entre ${min} e ${max}', - }, - pattern: { - mismatch: '${label} não se encaixa no padrão ${pattern}', - }, - }, - }, - Image: { - preview: 'Pré-visualização', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/pt_PT.ts b/packages/meta/src/locale/pt_PT.ts deleted file mode 100644 index a5cbad7..0000000 --- a/packages/meta/src/locale/pt_PT.ts +++ /dev/null @@ -1,136 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/pt_PT'; -import Calendar from '../calendar/locale/pt_PT'; -import DatePicker from '../date-picker/locale/pt_PT'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/pt_PT'; - -const typeTemplate = '${label} não é um ${type} válido'; - -const localeValues: Locale = { - locale: 'pt', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Por favor escolha', - }, - Table: { - filterTitle: 'Filtro', - filterConfirm: 'Aplicar', - filterReset: 'Reiniciar', - filterEmptyText: 'Sem filtros', - filterCheckall: 'Selecionar todos os itens', - filterSearchPlaceholder: 'Pesquisar nos filtros', - emptyText: 'Sem conteúdo', - selectAll: 'Selecionar página atual', - selectInvert: 'Inverter seleção', - sortTitle: 'Ordenação', - selectNone: 'Apagar todo o conteúdo', - selectionAll: 'Selecionar todo o conteúdo', - expand: 'Expandir linha', - collapse: 'Colapsar linha', - triggerDesc: 'Clique organiza por descendente', - triggerAsc: 'Clique organiza por ascendente', - cancelSort: 'Clique para cancelar organização', - }, - Modal: { - okText: 'OK', - cancelText: 'Cancelar', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Cancelar', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Procurar...', - itemUnit: 'item', - itemsUnit: 'itens', - remove: 'Remover', - selectCurrent: 'Selecionar página atual', - removeCurrent: 'Remover página atual', - selectAll: 'Selecionar tudo', - removeAll: 'Remover tudo', - selectInvert: 'Inverter a página actual', - }, - Upload: { - uploading: 'A carregar...', - removeFile: 'Remover', - uploadError: 'Erro ao carregar', - previewFile: 'Pré-visualizar', - downloadFile: 'Baixar', - }, - Empty: { - description: 'Sem resultados', - }, - Icon: { - icon: 'ícone', - }, - Text: { - edit: 'editar', - copy: 'copiar', - copied: 'copiado', - expand: 'expandir', - }, - PageHeader: { - back: 'voltar', - }, - Form: { - optional: '(opcional)', - defaultValidateMessages: { - default: 'Erro ${label} na validação de campo', - required: 'Por favor, insira ${label}', - enum: '${label} deve ser um dos seguinte: [${enum}]', - whitespace: '${label} não pode ser um carácter vazio', - date: { - format: ' O formato de data ${label} é inválido', - parse: '${label} não pode ser convertido para uma data', - invalid: '${label} é uma data inválida', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} deve possuir ${len} caracteres', - min: '${label} deve possuir ao menos ${min} caracteres', - max: '${label} deve possuir no máximo ${max} caracteres', - range: '${label} deve possuir entre ${min} e ${max} caracteres', - }, - number: { - len: '${label} deve ser igual à ${len}', - min: 'O valor mínimo de ${label} é ${min}', - max: 'O valor máximo de ${label} é ${max}', - range: '${label} deve estar entre ${min} e ${max}', - }, - array: { - len: 'Deve ser ${len} ${label}', - min: 'No mínimo ${min} ${label}', - max: 'No máximo ${max} ${label}', - range: 'A quantidade de ${label} deve estar entre ${min} e ${max}', - }, - pattern: { - mismatch: '${label} não se enquadra no padrão ${pattern}', - }, - }, - }, - Image: { - preview: 'Pré-visualização', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/ro_RO.ts b/packages/meta/src/locale/ro_RO.ts deleted file mode 100644 index 7821817..0000000 --- a/packages/meta/src/locale/ro_RO.ts +++ /dev/null @@ -1,134 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/ro_RO'; -import Calendar from '../calendar/locale/ro_RO'; -import DatePicker from '../date-picker/locale/ro_RO'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/ro_RO'; - -const typeTemplate = '${label} nu conține tipul corect (${type})'; - -const localeValues: Locale = { - locale: 'ro', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Selectează', - }, - Table: { - filterTitle: 'Filtrează', - filterConfirm: 'OK', - filterReset: 'Resetează', - filterEmptyText: 'Fără filtre', - emptyText: 'Nu există date', - selectAll: 'Selectează pagina curentă', - selectInvert: 'Inversează pagina curentă', - selectNone: 'Șterge selecția', - selectionAll: 'Selectează toate datele', - sortTitle: 'Ordonează', - expand: 'Extinde rândul', - collapse: 'Micșorează rândul', - triggerDesc: 'Apasă pentru ordonare descrescătoare', - triggerAsc: 'Apasă pentru ordonare crescătoare', - cancelSort: 'Apasă pentru a anula ordonarea', - }, - Modal: { - okText: 'OK', - cancelText: 'Anulare', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Anulare', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Căutare', - itemUnit: 'element', - itemsUnit: 'elemente', - remove: 'Șterge', - selectCurrent: 'Selectează pagina curentă', - removeCurrent: 'Șterge pagina curentă', - selectAll: 'Selectează toate datele', - removeAll: 'Șterge toate datele', - selectInvert: 'Inversează pagina curentă', - }, - Upload: { - uploading: 'Se transferă...', - removeFile: 'Înlătură fișierul', - uploadError: 'Eroare la upload', - previewFile: 'Previzualizare fișier', - downloadFile: 'Descărcare fișier', - }, - Empty: { - description: 'Fără date', - }, - Icon: { - icon: 'icon', - }, - Text: { - edit: 'editează', - copy: 'copiază', - copied: 'copiat', - expand: 'extinde', - }, - PageHeader: { - back: 'înapoi', - }, - Form: { - optional: '(opțional)', - defaultValidateMessages: { - default: 'Eroare la validarea câmpului ${label}', - required: 'Vă rugăm introduceți ${label}', - enum: '${label} trebuie să fie una din valorile [${enum}]', - whitespace: '${label} nu poate fi gol', - date: { - format: '${label} - data nu este în formatul corect', - parse: '${label} nu poate fi convertit la o dată', - invalid: '${label} este o dată invalidă', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} trebuie să conțină ${len} caractere', - min: '${label} trebuie să conțină cel puțin ${min} caractere', - max: '${label} trebuie să conțină cel mult ${max} caractere', - range: '${label} trebuie să conțină între ${min}-${max} caractere', - }, - number: { - len: '${label} trebuie să conțină ${len} cifre', - min: '${label} trebuie să fie minim ${min}', - max: '${label} trebuie să fie maxim ${max}', - range: '${label} trebuie să fie între ${min}-${max}', - }, - array: { - len: '${label} trebuie să conțină ${len} elemente', - min: '${label} trebuie să conțină cel puțin ${min} elemente', - max: '${label} trebuie să conțină cel mult ${max} elemente', - range: '${label} trebuie să conțină între ${min}-${max} elemente', - }, - pattern: { - mismatch: '${label} nu respectă șablonul ${pattern}', - }, - }, - }, - Image: { - preview: 'Preview', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/ru_RU.ts b/packages/meta/src/locale/ru_RU.ts deleted file mode 100644 index 7699116..0000000 --- a/packages/meta/src/locale/ru_RU.ts +++ /dev/null @@ -1,146 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ - -import Pagination from 'rc-pagination/lib/locale/ru_RU'; -import Calendar from '../calendar/locale/ru_RU'; -import DatePicker from '../date-picker/locale/ru_RU'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/ru_RU'; - -const typeTemplate: string = '${label} не является типом ${type}'; - -const localeValues: Locale = { - locale: 'ru', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Пожалуйста выберите', - }, - Table: { - filterTitle: 'Фильтр', - filterConfirm: 'OK', - filterReset: 'Сбросить', - filterEmptyText: 'Без фильтров', - filterCheckall: 'Выбрать все элементы', - filterSearchPlaceholder: 'Поиск в фильтрах', - emptyText: 'Нет данных', - selectAll: 'Выбрать всё', - selectInvert: 'Инвертировать выбор', - selectNone: 'Очистить все данные', - selectionAll: 'Выбрать все данные', - sortTitle: 'Сортировка', - expand: 'Развернуть строку', - collapse: 'Свернуть строку', - triggerDesc: 'Нажмите для сортировки по убыванию', - triggerAsc: 'Нажмите для сортировки по возрастанию', - cancelSort: 'Нажмите, чтобы отменить сортировку', - }, - Tour: { - Next: 'Далее', - Previous: 'Назад', - Finish: 'Завершить', - }, - Modal: { - okText: 'OK', - cancelText: 'Отмена', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Отмена', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Поиск', - itemUnit: 'элем.', - itemsUnit: 'элем.', - remove: 'Удалить', - selectAll: 'Выбрать все данные', - selectCurrent: 'Выбрать текущую страницу', - selectInvert: 'Инвертировать выбор', - removeAll: 'Удалить все данные', - removeCurrent: 'Удалить текущую страницу', - }, - Upload: { - uploading: 'Загрузка...', - removeFile: 'Удалить файл', - uploadError: 'При загрузке произошла ошибка', - previewFile: 'Предпросмотр файла', - downloadFile: 'Загрузить файл', - }, - Empty: { - description: 'Нет данных', - }, - Icon: { - icon: 'иконка', - }, - Text: { - edit: 'Редактировать', - copy: 'Копировать', - copied: 'Скопировано', - expand: 'Раскрыть', - }, - PageHeader: { - back: 'Назад', - }, - Form: { - optional: '(необязательно)', - defaultValidateMessages: { - default: 'Ошибка проверки поля ${label}', - required: 'Пожалуйста, введите ${label}', - enum: '${label} должен быть одним из [${enum}]', - whitespace: '${label} не может быть пустым', - date: { - format: '${label} не правильный формат даты', - parse: '${label} не может быть преобразовано в дату', - invalid: '${label} не является корректной датой', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} должна быть ${len} символов', - min: '${label} должна быть больше или равна ${min} символов', - max: '${label} должна быть меньше или равна ${max} символов', - range: 'Длина ${label} должна быть между ${min}-${max} символами', - }, - number: { - len: '${label} должна быть равна ${len}', - min: '${label} должна быть больше или равна ${min}', - max: '${label} должна быть меньше или равна ${max}', - range: '${label} должна быть между ${min}-${max}', - }, - array: { - len: 'Количество элементов ${label} должно быть равно ${len}', - min: 'Количество элементов ${label} должно быть больше или равно ${min}', - max: 'Количество элементов ${label} должно быть меньше или равно ${max}', - range: 'Количество элементов ${label} должно быть между ${min} и ${max}', - }, - pattern: { - mismatch: '${label} не соответствует шаблону ${pattern}', - }, - }, - }, - Image: { - preview: 'Предпросмотр', - }, - QRCode: { - expired: 'QR-код устарел', - refresh: 'Обновить', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/si_LK.ts b/packages/meta/src/locale/si_LK.ts deleted file mode 100644 index 9e88aaf..0000000 --- a/packages/meta/src/locale/si_LK.ts +++ /dev/null @@ -1,136 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/si_LK'; -import DatePicker from '../date-picker/locale/si_LK'; -import TimePicker from '../time-picker/locale/si_LK'; -import Calendar from '../calendar/locale/si_LK'; -import type { Locale } from '.'; - -const typeTemplate = '${label} වලංගු ${type} ක් නොවේ'; - -const localeValues: Locale = { - locale: 'si', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'කරුණාකර තෝරන්න', - }, - Table: { - filterTitle: 'පෙරහන්', - filterConfirm: 'හරි', - filterReset: 'යළි සකසන්න', - filterEmptyText: 'පෙරහන් නැත', - filterCheckall: 'සියළු අථක තෝරන්න', - filterSearchPlaceholder: 'පෙරහන් තුළ සොයන්න', - emptyText: 'දත්ත නැත', - selectAll: 'වත්මන් පිටුව තෝරන්න', - selectInvert: 'වත්මන් පිටුව යටියනය', - selectNone: 'සියළු දත්ත ඉවතලන්න', - selectionAll: 'සියළු දත්ත තෝරන්න', - sortTitle: 'පෙළගැසීම', - expand: 'පේළිය දිගහරින්න', - collapse: 'පේළිය හකුළන්න', - triggerDesc: 'අවරෝහණව පෙළගැසීමට ඔබන්න', - triggerAsc: 'ආරෝහණව පෙළගැසීමට ඔබන්න', - cancelSort: 'පෙළගැසීම අවලංගු කිරීමට ඔබන්න', - }, - Modal: { - okText: 'හරි', - cancelText: 'අවලංගු කරන්න', - justOkText: 'හරි', - }, - Popconfirm: { - okText: 'හරි', - cancelText: 'අවලංගු කරන්න', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'මෙතැන සොයන්න', - itemUnit: 'අථකය', - itemsUnit: 'අථක', - remove: 'ඉවත් කරන්න', - selectCurrent: 'වත්මන් පිටුව තෝරන්න', - removeCurrent: 'වත්මන් පිටුව ඉවත් කරන්න', - selectAll: 'සියළු දත්ත තෝරන්න', - removeAll: 'සියළු දත්ත ඉවතලන්න', - selectInvert: 'වත්මන් පිටුව යටියනය', - }, - Upload: { - uploading: 'උඩුගත වෙමින්...', - removeFile: 'ගොනුව ඉවතලන්න', - uploadError: 'උඩුගත වීමේ දෝෂයකි', - previewFile: 'ගොනුවේ පෙරදසුන', - downloadFile: 'ගොනුව බාගන්න', - }, - Empty: { - description: 'දත්ත නැත', - }, - Icon: { - icon: 'නිරූපකය', - }, - Text: { - edit: 'සංස්කරණය', - copy: 'පිටපත්', - copied: 'පිටපත් විය', - expand: 'විහිදුවන්න', - }, - PageHeader: { - back: 'ආපසු', - }, - Form: { - optional: '(විකල්පයකි)', - defaultValidateMessages: { - default: '${label} සඳහා ක්‍ෂේත්‍රය වලංගුකරණයේ දෝෂයකි', - required: '${label} ඇතුල් කරන්න', - enum: '[${enum}] වලින් එකක් ${label} විය යුතුය', - whitespace: '${label} හිස් අකුරක් නොවිය යුතුය', - date: { - format: '${label} දිනයේ ආකෘතිය වැරදිය', - parse: '${label} දිනයකට පරිවර්තනය කළ නොහැකිය', - invalid: '${label} වලංගු නොවන දිනයකි', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} අකුරු ${len}ක් විය යුතුය', - min: '${label} අවමය අකුරු ${min}ක් විය යුතුය', - max: '${label} අකුරු ${max}ක් දක්වා විය යුතුය', - range: '${label} අකුරු ${min}-${max}ක් අතර විය යුතුය', - }, - number: { - len: '${label} නිසැකව ${len} සමාන විය යුතුය', - min: '${label} අවමය ${min} විය යුතුය', - max: '${label} උපරිමය ${max} විය යුතුය', - range: '${label} නිසැකව ${min}-${max} අතර විය යුතුය', - }, - array: { - len: '${len} ${label} විය යුතුය', - min: 'අවම වශයෙන් ${min} ${label}', - max: 'උපරිම වශයෙන් ${max} ${label}', - range: '${label} ගණන ${min}-${max} අතර විය යුතුය', - }, - pattern: { - mismatch: '${pattern} රටාවට ${label} නොගැළපේ', - }, - }, - }, - Image: { - preview: 'පෙරදසුන', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/sk_SK.ts b/packages/meta/src/locale/sk_SK.ts deleted file mode 100644 index 0ddcf14..0000000 --- a/packages/meta/src/locale/sk_SK.ts +++ /dev/null @@ -1,136 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/sk_SK'; -import Calendar from '../calendar/locale/sk_SK'; -import DatePicker from '../date-picker/locale/sk_SK'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/sk_SK'; - -const typeTemplate = '${label} nie je platný ${type}'; - -const localeValues: Locale = { - locale: 'sk', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Prosím vyber', - }, - Table: { - filterTitle: 'Filter', - filterConfirm: 'OK', - filterReset: 'Obnoviť', - filterEmptyText: 'Žiadne filtre', - filterCheckall: 'Vyber všetky položky', - filterSearchPlaceholder: 'Vyhľadaj vo filtroch', - emptyText: 'Žiadne dáta', - selectAll: 'Označ všetky položky', - selectInvert: 'Opačný výber položiek', - selectNone: 'Odznač všetko', - selectionAll: 'Označ všetko', - sortTitle: 'Zoradiť', - expand: 'Rozbaliť riadok', - collapse: 'Zbaliť riadok', - triggerDesc: 'Kliknutím zoradíš zostupne', - triggerAsc: 'Kliknutím zoradíš vzostupne', - cancelSort: 'Kliknutím zrušíš zoradenie', - }, - Modal: { - okText: 'OK', - cancelText: 'Zrušiť', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Zrušiť', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Vyhľadávanie', - itemUnit: 'položka', - itemsUnit: 'položiek', - remove: 'Odstráň', - selectCurrent: 'Vyber aktuálnu stranu', - removeCurrent: 'Zmaž aktuálnu stranu', - selectAll: 'Označ všetko', - removeAll: 'Odznač všetko', - selectInvert: 'Opačný výber', - }, - Upload: { - uploading: 'Nahrávanie...', - removeFile: 'Odstrániť súbor', - uploadError: 'Chyba pri nahrávaní', - previewFile: 'Zobraziť súbor', - downloadFile: 'Stiahnuť súbor', - }, - Empty: { - description: 'Žiadne dáta', - }, - Icon: { - icon: 'ikona', - }, - Text: { - edit: 'Upraviť', - copy: 'Kopírovať', - copied: 'Skopírované', - expand: 'Zväčšiť', - }, - PageHeader: { - back: 'Späť', - }, - Form: { - optional: '(nepovinné)', - defaultValidateMessages: { - default: 'Validačná chyba poľa pre ${label}', - required: 'Prosím vlož ${label}', - enum: '${label} musí byť jeden z [${enum}]', - whitespace: '${label} nemôže byť prázdny znak', - date: { - format: '${label} formát dátumu je neplatný', - parse: '${label} nie je možné konvertovať na dátum', - invalid: '${label} je neplatný dátum', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} musí byť ${len} znakov', - min: '${label} musí byť aspoň ${min} znakov', - max: '${label} musí byť do ${max} znakov', - range: '${label} musí byť medzi ${min}-${max} znakmi', - }, - number: { - len: '${label} musí byť rovnaký ako ${len}', - min: '${label} musí byť minimálne ${min}', - max: '${label} musí byť maximálne ${max}', - range: '${label} musí byť medzi ${min}-${max}', - }, - array: { - len: 'Musí byť ${len} ${label}', - min: 'Aspoň ${min} ${label}', - max: 'Najviac ${max} ${label}', - range: 'Počet ${label} musí byť medzi ${min}-${max}', - }, - pattern: { - mismatch: '${label} nezodpovedá vzoru ${pattern}', - }, - }, - }, - Image: { - preview: 'Náhľad', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/sl_SI.ts b/packages/meta/src/locale/sl_SI.ts deleted file mode 100644 index 8fb10e6..0000000 --- a/packages/meta/src/locale/sl_SI.ts +++ /dev/null @@ -1,47 +0,0 @@ -import Pagination from 'rc-pagination/lib/locale/sl_SI'; -import Calendar from '../calendar/locale/sl_SI'; -import DatePicker from '../date-picker/locale/sl_SI'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/sl_SI'; - -const localeValues: Locale = { - locale: 'sl', - Pagination, - DatePicker, - TimePicker, - Calendar, - Table: { - filterTitle: 'Filter', - filterConfirm: 'Filtriraj', - filterReset: 'Pobriši filter', - selectAll: 'Izberi vse na trenutni strani', - selectInvert: 'Obrni izbor na trenutni strani', - }, - Modal: { - okText: 'V redu', - cancelText: 'Prekliči', - justOkText: 'V redu', - }, - Popconfirm: { - okText: 'v redu', - cancelText: 'Prekliči', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Išči tukaj', - itemUnit: 'Objekt', - itemsUnit: 'Objektov', - }, - Upload: { - uploading: 'Nalaganje...', - removeFile: 'Odstrani datoteko', - uploadError: 'Napaka pri nalaganju', - previewFile: 'Predogled datoteke', - downloadFile: 'Prenos datoteke', - }, - Empty: { - description: 'Ni podatkov', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/sr_RS.ts b/packages/meta/src/locale/sr_RS.ts deleted file mode 100644 index 56d4fdc..0000000 --- a/packages/meta/src/locale/sr_RS.ts +++ /dev/null @@ -1,134 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/sr_RS'; -import Calendar from '../calendar/locale/sr_RS'; -import DatePicker from '../date-picker/locale/sr_RS'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/sr_RS'; - -const typeTemplate = '${label} nije važeći ${type}'; - -const localeValues: Locale = { - locale: 'sr', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Izaberi', - }, - Table: { - filterTitle: 'Meni filtera', - filterConfirm: 'U redu', - filterReset: 'Poništi', - filterEmptyText: 'Nema filtera', - emptyText: 'Nema podataka', - selectAll: 'Izaberi trenutnu stranicu', - selectInvert: 'Obrni izbor trenutne stranice', - selectNone: 'Obriši sve podatke', - selectionAll: 'Izaberi sve podatke', - sortTitle: 'Sortiraj', - expand: 'Proširi red', - collapse: 'Skupi red', - triggerDesc: 'Klikni da sortiraš po padajućem redosledu', - triggerAsc: 'Klikni da sortiraš po rastućem redosledu', - cancelSort: 'Klikni da otkažeš sortiranje', - }, - Modal: { - okText: 'U redu', - cancelText: 'Otkaži', - justOkText: 'U redu', - }, - Popconfirm: { - okText: 'U redu', - cancelText: 'Otkaži', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Pretraži ovde', - itemUnit: 'stavka', - itemsUnit: 'stavki', - remove: 'Ukloni', - selectCurrent: 'Izaberi trenutnu stranicu', - removeCurrent: 'Ukloni trenutnu stranicu', - selectAll: 'Izaberi sve podatke', - removeAll: 'Ukloni sve podatke', - selectInvert: 'Obrni izbor trenutne stranice', - }, - Upload: { - uploading: 'Otpremanje...', - removeFile: 'Ukloni datoteku', - uploadError: 'Greška pri otpremanju', - previewFile: 'Pregledaj datoteku', - downloadFile: 'Preuzmi datoteku', - }, - Empty: { - description: 'Nema podataka', - }, - Icon: { - icon: 'ikona', - }, - Text: { - edit: 'Uredi', - copy: 'Kopiraj', - copied: 'Kopirano', - expand: 'Proširi', - }, - PageHeader: { - back: 'Nazad', - }, - Form: { - optional: '(opcionalno)', - defaultValidateMessages: { - default: 'Greška pri proveri valjanosti za ${label}', - required: 'Unesi ${label}', - enum: '${label} mora da bude nešto od [${enum}]', - whitespace: '${label} ne može biti prazan znak', - date: { - format: '${label} format datuma je nevažeći', - parse: '${label} se ne može konvertovati u datum', - invalid: '${label} je nevažeći datum', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} mora da sadrži ${len} znakova', - min: '${label} mora da sadrži bar ${min} znakova', - max: '${label} mora da sadrži do ${max} znakova', - range: '${label} mora da sadrži između ${min} i ${max} znakova', - }, - number: { - len: '${label} mora biti jednak ${len}', - min: '${label} mora biti najmanje ${min}', - max: '${label} mora biti najviše ${max}', - range: '${label} mora biti između ${min} i ${max}', - }, - array: { - len: 'Mora biti ${len} ${label}', - min: 'Najmanje ${min} ${label}', - max: 'najviše ${max} ${label}', - range: 'Iznos ${label} mora biti između ${min} i ${max}', - }, - pattern: { - mismatch: '${label} ne odgovara obrascu ${pattern}', - }, - }, - }, - Image: { - preview: 'Pregled', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/sv_SE.ts b/packages/meta/src/locale/sv_SE.ts deleted file mode 100644 index 9c5f472..0000000 --- a/packages/meta/src/locale/sv_SE.ts +++ /dev/null @@ -1,145 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/sv_SE'; -import Calendar from '../calendar/locale/sv_SE'; -import DatePicker from '../date-picker/locale/sv_SE'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/sv_SE'; - -const typeTemplate = '${label} är inte en giltig ${type}'; - -const localeValues: Locale = { - locale: 'sv', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Vänligen välj', - }, - Table: { - filterTitle: 'Filtermeny', - filterConfirm: 'OK', - filterReset: 'Återställ', - filterEmptyText: 'Inga filter', - filterCheckall: 'Markera alla objekt', - filterSearchPlaceholder: 'Sök i filter', - emptyText: 'Ingen data', - selectAll: 'Markera nuvarande sida', - selectInvert: 'Invertera nuvarande sida', - selectNone: 'Avmarkera all data', - selectionAll: 'Markera all data', - sortTitle: 'Sortera', - expand: 'Expandera rad', - collapse: 'Komprimera rad', - triggerDesc: 'Klicka för att sortera i fallande ordning', - triggerAsc: 'Klicka för att sortera i stigande ordning', - cancelSort: 'Klicka för att avbryta sortering', - }, - Tour: { - Next: 'Nästa', - Previous: 'Föregående', - Finish: 'Avsluta', - }, - Modal: { - okText: 'OK', - cancelText: 'Avbryt', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'OK', - cancelText: 'Avbryt', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Sök här', - itemUnit: 'objekt', - itemsUnit: 'objekt', - remove: 'Ta bort', - selectCurrent: 'Markera nuvarande sida', - removeCurrent: 'Ta bort nuvarande sida', - selectAll: 'Markera all data', - removeAll: 'Ta bort all data', - selectInvert: 'Invertera nuvarande sida', - }, - Upload: { - uploading: 'Laddar upp...', - removeFile: 'Ta bort fil', - uploadError: 'Uppladdningsfel', - previewFile: 'Förhandsgranska fil', - downloadFile: 'Ladda ned fil', - }, - Empty: { - description: 'Ingen data', - }, - Icon: { - icon: 'ikon', - }, - Text: { - edit: 'Redigera', - copy: 'Kopiera', - copied: 'Kopierad', - expand: 'Expandera', - }, - PageHeader: { - back: 'Tillbaka', - }, - Form: { - optional: '(valfritt)', - defaultValidateMessages: { - default: 'Fältvalideringsfel för ${label}', - required: 'Vänligen fyll i ${label}', - enum: '${label} måste vara en av [${enum}]', - whitespace: '${label} kan inte vara ett tomt tecken', - date: { - format: '${label} datumformatet är ogiltigt', - parse: '${label} kan inte konverteras till ett datum', - invalid: '${label} är ett ogiltigt datum', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} måste vara ${len} tecken', - min: '${label} måste vara minst ${min} tecken', - max: '${label} måste vara högst ${max} tecken', - range: '${label} måste vara mellan ${min}-${max} tecken', - }, - number: { - len: '${label} måste vara lika med ${len}', - min: '${label} måste vara minst ${min}', - max: '${label} måste vara högst ${max}', - range: '${label} måste vara mellan ${min}-${max}', - }, - array: { - len: 'Måste vara ${len} ${label}', - min: 'Minst ${min} ${label}', - max: 'Högst ${max} ${label}', - range: 'Antal ${label} måste vara mellan ${min}-${max}', - }, - pattern: { - mismatch: '${label} stämmer inte överens med mönstret ${pattern}', - }, - }, - }, - Image: { - preview: 'Förhandsgranska', - }, - QRCode: { - expired: 'QR-koden har upphört att gälla', - refresh: 'Uppdatera', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/ta_IN.ts b/packages/meta/src/locale/ta_IN.ts deleted file mode 100644 index e0d46b2..0000000 --- a/packages/meta/src/locale/ta_IN.ts +++ /dev/null @@ -1,133 +0,0 @@ -import Pagination from 'rc-pagination/lib/locale/ta_IN'; -import Calendar from '../calendar/locale/ta_IN'; -import DatePicker from '../date-picker/locale/ta_IN'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/ta_IN'; - -const typeTemplate = '${label} is not a valid ${type}'; - -const localeValues: Locale = { - locale: 'ta', - Pagination, - DatePicker, - TimePicker, - Calendar, - // locales for all comoponents - global: { - placeholder: 'தேதியைத் தேர்ந்தெடுக்கவும்', - }, - Table: { - filterTitle: 'பட்டியலை மூடு', - filterConfirm: 'சரி', - filterReset: 'மீட்டமை', - emptyText: 'தகவல் இல்லை', - selectAll: 'அனைத்தையும் தேர்வுசெய்', - selectInvert: 'தலைகீழாக மாற்று', - sortTitle: 'தலைப்பை வரிசைப்படுத்தவும்', - filterEmptyText: 'No filters', - filterCheckall: 'அனைத்து பொருட்களையும் தேர்ந்தெடுக்கவும்', - filterSearchPlaceholder: 'வடிப்பான்களில் தேடவும்', - expand: 'வரிசையை விரிவாக்கு', - collapse: 'வரிசையைச் சுருக்கு', - triggerDesc: 'இறங்குவரிசையை வரிசைப்படுத்த கிளிக் செய்யவும்', - triggerAsc: 'ஏறுவரிசையில் வரிசைப்படுத்த கிளிக் செய்யவும்', - cancelSort: 'வரிசையாக்கத்தை ரத்து செய்ய கிளிக் செய்யவும்', - }, - Modal: { - okText: 'சரி', - cancelText: 'ரத்து செய்யவும்', - justOkText: 'பரவாயில்லை, சரி', - }, - Popconfirm: { - okText: 'சரி', - cancelText: 'ரத்து செய்யவும்', - }, - Transfer: { - titles: ['', ''], - notFoundContent: 'உள்ளடக்கம் கிடைக்கவில்லை', - searchPlaceholder: 'இங்கு தேடவும்', - itemUnit: 'தகவல்', - itemsUnit: 'தகவல்கள்', - }, - Upload: { - uploading: 'பதிவேற்றுகிறது...', - removeFile: 'கோப்பை அகற்று', - uploadError: 'பதிவேற்றுவதில் பிழை', - previewFile: 'கோப்பை முன்னோட்டமிடுங்கள்', - downloadFile: 'பதிவிறக்க கோப்பு', - }, - Empty: { - description: 'தகவல் இல்லை', - }, - Icon: { - icon: 'உருவம்', - }, - Text: { - edit: 'திருத்து', - copy: 'நகல் எடு', - copied: 'நகல் எடுக்கப்பட்டது', - expand: 'விரிவாக்கவும்', - }, - PageHeader: { - back: 'பின் செல்லவும்', - }, - Form: { - optional: '(optional)', - defaultValidateMessages: { - default: '${label}க்கான புல சரிபார்ப்பு பிழை', - required: '${label} ஐ உள்ளிடவும்', - enum: '${label} கண்டிப்பாக [${enum}] இல் ஒன்றாக இருக்க வேண்டும்', - whitespace: '${label} வெற்று எழுத்தாக இருக்கக்கூடாது', - date: { - format: '${label} தேதி வடிவம் தவறானது', - parse: '${label}ஐ தேதியாக மாற்ற முடியாது', - invalid: '${label} என்பது தவறான தேதி', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} கண்டிப்பாக ${len} எழுத்துகளாக இருக்க வேண்டும்', - min: '${label} குறைந்தது ${min} எழுத்துகளாக இருக்க வேண்டும்', - max: '${label} ${max} எழுத்துகள் வரை இருக்க வேண்டும்', - range: '${label} கண்டிப்பாக ${min}-${max} எழுத்துகளுக்கு இடையில் இருக்க வேண்டும்', - }, - number: { - len: '${label} கண்டிப்பாக ${len}க்கு சமமாக இருக்க வேண்டும்', - min: '${label} குறைந்தபட்சம் ${min} ஆக இருக்க வேண்டும்', - max: '${label} அதிகபட்சம் ${max} ஆக இருக்க வேண்டும்', - range: '${label} கண்டிப்பாக ${min}-${max} இடையே இருக்க வேண்டும்', - }, - array: { - len: '${len} ${label} ஆக இருக்க வேண்டும்', - min: 'குறைந்தது ${min} ${label}', - max: 'அதிகபட்சம் ${max} ${label}', - range: '${label} இன் தொகை கண்டிப்பாக ${min}-${max} இடையே இருக்க வேண்டும்', - }, - pattern: { - mismatch: '${label} ஆனது ${pattern} வடிவத்துடன் பொருந்தவில்லை', - }, - }, - }, - Image: { - preview: 'முன்னோட்ட', - }, - QRCode: { - expired: 'QR குறியீடு காலாவதியானது', - refresh: 'புதுப்பிப்பு', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/th_TH.ts b/packages/meta/src/locale/th_TH.ts deleted file mode 100644 index b85d3dc..0000000 --- a/packages/meta/src/locale/th_TH.ts +++ /dev/null @@ -1,145 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/th_TH'; -import Calendar from '../calendar/locale/th_TH'; -import DatePicker from '../date-picker/locale/th_TH'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/th_TH'; - -const typeTemplate = '${label} ไม่ใช่ ${type} ที่ถูกต้อง'; - -const localeValues: Locale = { - locale: 'th', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'กรุณาเลือก', - }, - Table: { - filterTitle: 'ตัวกรอง', - filterConfirm: 'ยืนยัน', - filterReset: 'รีเซ็ต', - filterEmptyText: 'ไม่มีตัวกรอง', - filterCheckall: 'เลือกรายการทั้งหมด', - filterSearchPlaceholder: 'ค้นหาตัวกรอง', - emptyText: 'ไม่มีข้อมูล', - selectAll: 'เลือกทั้งหมดในหน้านี้', - selectInvert: 'กลับสถานะการเลือกในหน้านี้', - selectNone: 'ไม่เลือกข้อมูลทั้งหมด', - selectionAll: 'เลือกข้อมูลทั้งหมด', - sortTitle: 'เรียง', - expand: 'แสดงแถวข้อมูล', - collapse: 'ย่อแถวข้อมูล', - triggerDesc: 'คลิกเรียงจากมากไปน้อย', - triggerAsc: 'คลิกเรียงจากน้อยไปมาก', - cancelSort: 'คลิกเพื่อยกเลิกการเรียง', - }, - Tour: { - Next: 'ถัดไป', - Previous: 'ย้อนกลับ', - Finish: 'เสร็จสิ้น', - }, - Modal: { - okText: 'ตกลง', - cancelText: 'ยกเลิก', - justOkText: 'ตกลง', - }, - Popconfirm: { - okText: 'ตกลง', - cancelText: 'ยกเลิก', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'ค้นหา', - itemUnit: 'ชิ้น', - itemsUnit: 'ชิ้น', - remove: 'นำออก', - selectCurrent: 'เลือกทั้งหมดในหน้านี้', - removeCurrent: 'นำออกทั้งหมดในหน้านี้', - selectAll: 'เลือกข้อมูลทั้งหมด', - removeAll: 'นำข้อมูลออกทั้งหมด', - selectInvert: 'กลับสถานะการเลือกในหน้านี้', - }, - Upload: { - uploading: 'กำลังอัปโหลด...', - removeFile: 'ลบไฟล์', - uploadError: 'เกิดข้อผิดพลาดในการอัปโหลด', - previewFile: 'ดูตัวอย่างไฟล์', - downloadFile: 'ดาวน์โหลดไฟล์', - }, - Empty: { - description: 'ไม่มีข้อมูล', - }, - Icon: { - icon: 'ไอคอน', - }, - Text: { - edit: 'แก้ไข', - copy: 'คัดลอก', - copied: 'คัดลอกแล้ว', - expand: 'ขยาย', - }, - PageHeader: { - back: 'ย้อนกลับ', - }, - Form: { - optional: '(ไม่จำเป็น)', - defaultValidateMessages: { - default: 'ฟิลด์ ${label} ไม่ผ่านเงื่อนไขการตรวจสอบ', - required: 'กรุณากรอก ${label}', - enum: '${label} ต้องเป็นค่าใดค่าหนึ่งใน [${enum}]', - whitespace: '${label} ไม่สามารถเป็นช่องว่างได้', - date: { - format: 'รูปแบบวันที่ ${label} ไม่ถูกต้อง', - parse: '${label} ไม่สามารถแปลงเป็นวันที่ได้', - invalid: '${label} เป็นวันที่ที่ไม่ถูกต้อง', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} ต้องมี ${len} ตัวอักษร', - min: '${label} ต้องมีอย่างน้อย ${min} ตัวอักษร', - max: '${label} มีได้สูงสุด ${max} ตัวอักษร', - range: '${label} ต้องมี ${min}-${max} ตัวอักษร', - }, - number: { - len: '${label} ต้องมี ${len} ตัว', - min: 'ค่าต่ำสุด ${label} คือ ${min}', - max: 'ค่าสูงสุด ${label} คือ ${max}', - range: '${label} ต้องมีค่า ${min}-${max}', - }, - array: { - len: 'ต้องมี ${len} ${label}', - min: 'ต้องมีอย่างน้อย ${min} ${label}', - max: 'มีได้สูงสุด ${max} ${label}', - range: 'จำนวน ${label} ต้องอยู่ในช่วง ${min}-${max}', - }, - pattern: { - mismatch: '${label} ไม่ตรงกับรูปแบบ ${pattern}', - }, - }, - }, - Image: { - preview: 'ดูตัวอย่าง', - }, - QRCode: { - expired: 'คิวอาร์โค้ดหมดอายุ', - refresh: 'รีเฟรช', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/tk_TK.ts b/packages/meta/src/locale/tk_TK.ts deleted file mode 100644 index 900b042..0000000 --- a/packages/meta/src/locale/tk_TK.ts +++ /dev/null @@ -1,132 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/tk_TK'; -import Calendar from '../calendar/locale/tk_TK'; -import DatePicker from '../date-picker/locale/tk_TK'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/tk_TK'; - -const typeTemplate: string = '${label} ${type} görnüşinde däl'; - -const localeValues: Locale = { - locale: 'tk', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Saýlaň', - }, - Table: { - filterTitle: 'Filter', - filterConfirm: 'Bolýar', - filterReset: 'Arassala', - filterEmptyText: 'Filtersiz', - emptyText: 'Maglumat ýok', - selectAll: 'Ählisini saýla', - selectInvert: 'Tersini saýlaň', - selectNone: 'Ähli maglumatlary arassala', - selectionAll: 'Ähli maglumatlary saýla', - sortTitle: 'Tertiple', - expand: 'Setirleri aç', - collapse: 'Setirleri ýygna', - triggerDesc: 'Kemelýän tertipde tertiple', - triggerAsc: 'Artýan tertipde tertiple', - cancelSort: 'Tertipleri arassala', - }, - Modal: { - okText: 'Bolýar', - cancelText: 'Ýatyr', - justOkText: 'Bolýar', - }, - Popconfirm: { - okText: 'Bolýar', - cancelText: 'Ýatyr', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Gözle', - itemUnit: 'elem.', - itemsUnit: 'elem.', - remove: 'Poz', - selectAll: 'Ähli maglumatlary saýla', - selectCurrent: 'Şu sahypany saýlaň', - selectInvert: 'Ters tertipde görkez', - removeAll: 'Ähli maglumatlary poz', - removeCurrent: 'Şu sahypany poz', - }, - Upload: { - uploading: 'Ugradylýar...', - removeFile: 'Faýly poz', - uploadError: 'Ugratmakda näsazlyk ýüze çykdy', - previewFile: 'Faýly görmek', - downloadFile: 'Faýly ýükle', - }, - Empty: { - description: 'Maglumat ýok', - }, - Icon: { - icon: 'nyşan', - }, - Text: { - edit: 'Üýtgetmek', - copy: 'Göçürmek', - copied: 'Göçürildi', - expand: 'Ýygnamak', - }, - PageHeader: { - back: 'Yza', - }, - Form: { - defaultValidateMessages: { - default: '${label} meýdany barlanmady', - required: '${label} meýdany giriziň', - enum: '${label} meýdan şulardan biri bolmaly: [${enum}]', - whitespace: '${label} meýdany boş bolup bilmeýär', - date: { - format: '${label} ýalňyş wagt formaty', - parse: '${label} meýdany wagta çalşyp bolmady', - invalid: '${label} meýdany nädogry wagt', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} meýdany ${len} simwol bolmaly', - min: '${label} meýdany ${min} simwoldan az bolmaly däl', - max: '${label} meýdany ${max} simwoldan köp bolmaly däl', - range: '${label} meýdany ${min}-${max} simwol aralygynda bolmaly', - }, - number: { - len: '${label} meýdan ${len} simwol bolmaly', - min: '${label} meýdany ${min} simwoldan az bolmaly däl', - max: '${label} meýdany ${max} simwoldan köp bolmaly däl', - }, - array: { - len: '${label} meýdanynyň elementleriniň sany ${len} deň bolmaly', - min: '${label} meýdanynyň elementleriniň sany ${min} az bolmaly däl', - max: '${label} meýdanynyň elementleriniň sany ${max} köp bolmaly däl', - range: '${label} meýdanynyň elementleriniň sany ${min} we ${max} aralykda bolmaly', - }, - pattern: { - mismatch: '${label} meýdany ${pattern} şablony bilen gabat gelmeýär', - }, - }, - }, - Image: { - preview: 'Öňünden görmek', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/tr_TR.ts b/packages/meta/src/locale/tr_TR.ts deleted file mode 100644 index 613c2fb..0000000 --- a/packages/meta/src/locale/tr_TR.ts +++ /dev/null @@ -1,132 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/tr_TR'; -import Calendar from '../calendar/locale/tr_TR'; -import DatePicker from '../date-picker/locale/tr_TR'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/tr_TR'; - -const typeTemplate = '${label} geçerli bir ${type} değil'; - -const localeValues: Locale = { - locale: 'tr', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Lütfen seçiniz', - }, - Table: { - filterTitle: 'Filtre menüsü', - filterConfirm: 'Tamam', - filterReset: 'Sıfırla', - filterEmptyText: 'Filtre yok', - selectAll: 'Tüm sayfayı seç', - selectInvert: 'Tersini seç', - selectionAll: 'Tümünü seç', - sortTitle: 'Sırala', - expand: 'Satırı genişlet', - collapse: 'Satırı daralt', - triggerDesc: 'Azalan düzende sırala', - triggerAsc: 'Artan düzende sırala', - cancelSort: 'Sıralamayı kaldır', - }, - Modal: { - okText: 'Tamam', - cancelText: 'İptal', - justOkText: 'Tamam', - }, - Popconfirm: { - okText: 'Tamam', - cancelText: 'İptal', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Arama', - itemUnit: 'Öğe', - itemsUnit: 'Öğeler', - remove: 'Kaldır', - selectCurrent: 'Tüm sayfayı seç', - removeCurrent: 'Sayfayı kaldır', - selectAll: 'Tümünü seç', - removeAll: 'Tümünü kaldır', - selectInvert: 'Tersini seç', - }, - Upload: { - uploading: 'Yükleniyor...', - removeFile: 'Dosyayı kaldır', - uploadError: 'Yükleme hatası', - previewFile: 'Dosyayı önizle', - downloadFile: 'Dosyayı indir', - }, - Empty: { - description: 'Veri Yok', - }, - Icon: { - icon: 'ikon', - }, - Text: { - edit: 'Düzenle', - copy: 'Kopyala', - copied: 'Kopyalandı', - expand: 'Genişlet', - }, - PageHeader: { - back: 'Geri', - }, - Form: { - optional: '(opsiyonel)', - defaultValidateMessages: { - default: 'Alan doğrulama hatası ${label}', - required: '${label} gerekli bir alan', - enum: '${label} şunlardan biri olmalı: [${enum}]', - whitespace: '${label} sadece boşluk olamaz', - date: { - format: '${label} tarih biçimi geçersiz', - parse: '${label} bir tarihe dönüştürülemedi', - invalid: '${label} geçersiz bir tarih', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} ${len} karakter olmalı', - min: '${label} en az ${min} karakter olmalı', - max: '${label} en çok ${max} karakter olmalı', - range: '${label} ${min}-${max} karakter arası olmalı', - }, - number: { - len: '${label} ${len} olmalı', - min: '${label} en az ${min} olmalı', - max: '${label} en çok ${max} olmalı', - range: '${label} ${min}-${max} arası olmalı', - }, - array: { - len: '${label} sayısı ${len} olmalı', - min: '${label} sayısı en az ${min} olmalı', - max: '${label} sayısı en çok ${max} olmalı', - range: '${label} sayısı ${min}-${max} arası olmalı', - }, - pattern: { - mismatch: '${label} şu kalıpla eşleşmeli: ${pattern}', - }, - }, - }, - Image: { - preview: 'Önizleme', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/uk_UA.ts b/packages/meta/src/locale/uk_UA.ts deleted file mode 100644 index 40f25e9..0000000 --- a/packages/meta/src/locale/uk_UA.ts +++ /dev/null @@ -1,145 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/uk_UA'; -import Calendar from '../calendar/locale/uk_UA'; -import DatePicker from '../date-picker/locale/uk_UA'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/uk_UA'; - -const typeTemplate = '${label} не є типом ${type}'; - -const localeValues: Locale = { - locale: 'uk', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Будь ласка, оберіть', - }, - Table: { - filterTitle: 'Фільтрувати', - filterConfirm: 'OK', - filterReset: 'Скинути', - filterEmptyText: 'Фільтри відсутні', - filterCheckall: 'Обрати всі', - filterSearchPlaceholder: 'Пошук у фільтрах', - emptyText: 'Даних немає', - selectAll: 'Обрати всі на сторінці', - selectInvert: 'Інвертувати вибір', - selectNone: 'Очистити вибір', - selectionAll: 'Обрати всі', - sortTitle: 'Сортувати', - expand: 'Розгорнути рядок', - collapse: 'Згорнути рядок', - triggerDesc: 'Сортувати за спаданням', - triggerAsc: 'Сортувати за зростанням', - cancelSort: 'Відмінити сортування', - }, - Tour: { - Next: 'Далі', - Previous: 'Назад', - Finish: 'Завершити', - }, - Modal: { - okText: 'Гаразд', - cancelText: 'Скасувати', - justOkText: 'Гаразд', - }, - Popconfirm: { - okText: 'Гаразд', - cancelText: 'Скасувати', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Введіть текст для пошуку', - itemUnit: 'елем.', - itemsUnit: 'елем.', - remove: 'Видалити', - selectCurrent: 'Вибрати поточну сторінку', - removeCurrent: 'Скасувати вибір на сторінці', - selectAll: 'Вибрати всі дані', - removeAll: 'Скасувати вибір', - selectInvert: 'Інвертувати поточну сторінку', - }, - Upload: { - uploading: 'Завантаження ...', - removeFile: 'Видалити файл', - uploadError: 'Помилка завантаження', - previewFile: 'Попередній перегляд файлу', - downloadFile: 'Завантажити файл', - }, - Empty: { - description: 'Даних немає', - }, - Icon: { - icon: 'іконка', - }, - Text: { - edit: 'Редагувати', - copy: 'Скопіювати', - copied: 'Скопійовано', - expand: 'Розширити', - }, - PageHeader: { - back: 'Назад', - }, - Form: { - optional: '(опціонально)', - defaultValidateMessages: { - default: 'Помилка валідації для поля ${label}', - required: 'Будь ласка, заповніть ${label}', - enum: 'Лише одне зі значень [${enum}] доступне для ${label}', - whitespace: 'Значення у полі ${label} не може бути пробілом', - date: { - format: 'Не валідний формат дати у ${label}', - parse: 'Значення ${label} не може бути приведене до дати', - invalid: 'Не валідна дата у ${label}', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} має містити ${len} символів', - min: '${label} має містити не менш, ніж ${min} символів', - max: '${label} має містити не більш, ніж ${max} символів', - range: '${label} має містити ${min}-${max} символів', - }, - number: { - len: '${label} має дорівнювати ${len}', - min: '${label} має бути не менш, ніж ${min}', - max: '${label} має бути не більш, ніж ${max}', - range: '${label} має бути в межах ${min}-${max}', - }, - array: { - len: '${label} має містити ${len} елементи', - min: '${label} має містити не менш, ніж ${min} елементи', - max: '${label} має містити не більш, ніж ${max} елементи', - range: 'Кількість елементів в ${label} має бути в межах ${min}-${max}', - }, - pattern: { - mismatch: '${label} не відповідає шаблону ${pattern}', - }, - }, - }, - Image: { - preview: 'Попередній перегляд', - }, - QRCode: { - expired: 'QR-код закінчився', - refresh: 'Оновити', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/ur_PK.ts b/packages/meta/src/locale/ur_PK.ts deleted file mode 100644 index 753a11c..0000000 --- a/packages/meta/src/locale/ur_PK.ts +++ /dev/null @@ -1,134 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/ur_PK'; -import Calendar from '../calendar/locale/ur_PK'; -import DatePicker from '../date-picker/locale/ur_PK'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/ur_PK'; - -const typeTemplate = '${label} درست نہیں ہے ${type}'; - -const localeValues: Locale = { - locale: 'ur', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'منتخب کریں', - }, - Table: { - filterTitle: 'فلٹر مینو', - filterConfirm: 'ٹھیک ہے', - filterReset: 'ری سیٹ کریں', - filterEmptyText: 'فلٹرز نہیں', - emptyText: 'کوئی ڈیٹا نہیں', - selectAll: 'موجودہ صفحہ منتخب کریں', - selectInvert: 'موجودہ صفحے کو الٹ دیں', - selectNone: 'تمام ڈیٹا صاف کریں', - selectionAll: 'تمام ڈیٹا کو منتخب کریں', - sortTitle: 'ترتیب دیں', - expand: 'پھیلائیں', - collapse: 'سمیٹیں', - triggerDesc: 'نزولی کو ترتیب دینے کیلئے کلک کریں', - triggerAsc: 'چڑھنے کو ترتیب دینے کیلئے کلک کریں', - cancelSort: 'ترتیب کو منسوخ کرنے کیلئے دبائیں', - }, - Modal: { - okText: 'ٹھیک ہے', - cancelText: 'منسوخ کریں', - justOkText: 'ٹھیک ہے', - }, - Popconfirm: { - okText: 'ٹھیک ہے', - cancelText: 'منسوخ کریں', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'یہاں تلاش کریں', - itemUnit: 'شے', - itemsUnit: 'اشیاء', - remove: 'ہٹائیں', - selectCurrent: 'موجودہ صفحہ منتخب کریں', - removeCurrent: 'موجودہ صفحہ ہٹائیں', - selectAll: 'تمام ڈیٹا کو منتخب کریں', - removeAll: 'تمام ڈیٹا کو ہٹا دیں', - selectInvert: 'موجودہ صفحے کو الٹ دیں', - }, - Upload: { - uploading: 'اپ لوڈ ہو رہا ہے…', - removeFile: 'فائل کو ہٹا دیں', - uploadError: 'اپ لوڈ کی خرابی', - previewFile: 'پیش نظار فائل', - downloadFile: 'فائل ڈاؤن لوڈ کریں', - }, - Empty: { - description: 'کوئی ڈیٹا نہیں', - }, - Icon: { - icon: 'آئیکن', - }, - Text: { - edit: 'ترمیم', - copy: 'کاپی', - copied: 'کاپی ہوگیا', - expand: 'پھیلائیں', - }, - PageHeader: { - back: 'پیچھے', - }, - Form: { - optional: '(اختیاری)', - defaultValidateMessages: { - default: ' ${label} کیلئے فیلڈ کی توثیق میں نقص', - required: 'درج کریں ${label}', - enum: '${label} ایک ہونا ضروری ہے [${enum}]', - whitespace: '${label} خالی نہیں ہوسکتا', - date: { - format: '${label} تاریخ کی شکل غلط ہے', - parse: '${label} تاریخ میں تبدیل نہیں کیا جاسکتا', - invalid: '${label} غلط تاریخ ہے', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} ضروری ہے ${len} حروف', - min: '${label} کم از کم ہونا چاہئے ${min} حروف', - max: '${label} تک ہونا چاہئے ${max} حروف', - range: '${label} کے درمیان ہونا چاہئے ${min}-${max} حروف', - }, - number: { - len: '${label} کے برابر ہونا چاہئے ${len}', - min: '${label} کم از کم ہونا چاہئے ${min}', - max: '${label} زیادہ سے زیادہ ہونا چاہئے ${max}', - range: '${label} کے درمیان ہونا چاہئے ${min}-${max}', - }, - array: { - len: 'ضروری ہے ${len} ${label}', - min: 'کم از کم ${min} ${label}', - max: 'زیادہ سے زیادہ ${max} ${label}', - range: 'کی رقم ${label} کے درمیان ہونا چاہئے ${min}-${max}', - }, - pattern: { - mismatch: '${label} پیٹرن سے ملتا نہیں ہے ${pattern}', - }, - }, - }, - Image: { - preview: 'پیش نظارہ', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/useLocale.ts b/packages/meta/src/locale/useLocale.ts index 69be9bc..e77ed5e 100644 --- a/packages/meta/src/locale/useLocale.ts +++ b/packages/meta/src/locale/useLocale.ts @@ -16,6 +16,7 @@ const useLocale = ( const locale = defaultLocale || defaultLocaleData[componentName]; const localeFromContext = fullLocale?.[componentName] ?? {}; return { + // @ts-ignore ...(typeof locale === 'function' ? locale() : locale), ...(localeFromContext || {}), }; diff --git a/packages/meta/src/locale/vi_VN.ts b/packages/meta/src/locale/vi_VN.ts deleted file mode 100644 index 8bcf581..0000000 --- a/packages/meta/src/locale/vi_VN.ts +++ /dev/null @@ -1,144 +0,0 @@ -import Pagination from 'rc-pagination/lib/locale/vi_VN'; -import Calendar from '../calendar/locale/vi_VN'; -import DatePicker from '../date-picker/locale/vi_VN'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/vi_VN'; - -const typeTemplate = '${label} không phải kiểu ${type} hợp lệ'; - -const localeValues: Locale = { - locale: 'vi', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: 'Vui lòng chọn', - }, - Table: { - filterTitle: 'Bộ lọc', - filterConfirm: 'Đồng ý', - filterReset: 'Bỏ lọc', - filterEmptyText: 'Không có bộ lọc', - filterCheckall: 'Chọn tất cả', - filterSearchPlaceholder: 'Tìm kiếm bộ lọc', - emptyText: 'Trống', - selectAll: 'Chọn tất cả', - selectInvert: 'Chọn ngược lại', - selectNone: 'Bỏ chọn tất cả', - selectionAll: 'Chọn tất cả', - sortTitle: 'Sắp xếp', - expand: 'Mở rộng dòng', - collapse: 'Thu gọn dòng', - triggerDesc: 'Nhấp để sắp xếp giảm dần', - triggerAsc: 'Nhấp để sắp xếp tăng dần', - cancelSort: 'Nhấp để hủy sắp xếp', - }, - Tour: { - Next: 'Tiếp', - Previous: 'Trước', - Finish: 'Hoàn thành', - }, - Modal: { - okText: 'Đồng ý', - cancelText: 'Hủy', - justOkText: 'OK', - }, - Popconfirm: { - okText: 'Đồng ý', - cancelText: 'Hủy', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: 'Tìm ở đây', - itemUnit: 'mục', - itemsUnit: 'mục', - remove: 'Gỡ bỏ', - selectCurrent: 'Chọn trang hiện tại', - removeCurrent: 'Gỡ bỏ trang hiện tại', - selectAll: 'Chọn tất cả', - removeAll: 'Gỡ bỏ tất cả', - selectInvert: 'Đảo ngược trang hiện tại', - }, - Upload: { - uploading: 'Đang tải lên...', - removeFile: 'Gỡ bỏ tập tin', - uploadError: 'Lỗi tải lên', - previewFile: 'Xem trước tập tin', - downloadFile: 'Tải tập tin', - }, - Empty: { - description: 'Trống', - }, - Icon: { - icon: 'icon', - }, - Text: { - edit: 'Chỉnh sửa', - copy: 'Sao chép', - copied: 'Đã sao chép', - expand: 'Mở rộng', - }, - PageHeader: { - back: 'Quay lại', - }, - Form: { - optional: '(Tùy chọn)', - defaultValidateMessages: { - default: '${label} không đáp ứng điều kiện quy định', - required: 'Hãy nhập thông tin cho trường ${label}', - enum: '${label} phải có giá trị nằm trong tập [${enum}]', - whitespace: '${label} không được chứa khoảng trắng', - date: { - format: '${label} sai định dạng ngày tháng', - parse: 'Không thể chuyển ${label} sang kiểu Ngày tháng', - invalid: '${label} không phải giá trị Ngày tháng hợp lệ', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label} phải dài đúng ${len} ký tự', - min: 'Độ dài tối thiểu trường ${label} là ${min} ký tự', - max: 'Độ dài tối đa trường ${label} là ${max} ký tự', - range: 'Độ dài trường ${label} phải từ ${min} đến ${max} ký tự', - }, - number: { - len: '${label} phải bằng ${len}', - min: '${label} phải lớn hơn hoặc bằng ${min}', - max: '${label} phải nhỏ hơn hoặc bằng ${max}', - range: '${label} phải nằm trong khoảng ${min}-${max}', - }, - array: { - len: 'Mảng ${label} phải có ${len} phần tử ', - min: 'Mảng ${label} phải chứa tối thiểu ${min} phần tử ', - max: 'Mảng ${label} phải chứa tối đa ${max} phần tử ', - range: 'Mảng ${label} phải chứa từ ${min}-${max} phần tử', - }, - pattern: { - mismatch: '${label} không thỏa mãn mẫu kiểm tra ${pattern}', - }, - }, - }, - Image: { - preview: 'Xem trước', - }, - QRCode: { - expired: 'Mã QR hết hạn', - refresh: 'Làm mới', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/zh_CN.ts b/packages/meta/src/locale/zh_CN.ts index 3e6513b..11e69da 100644 --- a/packages/meta/src/locale/zh_CN.ts +++ b/packages/meta/src/locale/zh_CN.ts @@ -1,5 +1,5 @@ /* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/zh_CN'; +// import Pagination from 'rc-pagination/lib/locale/zh_CN'; import type { Locale } from '.'; import Calendar from '../calendar/locale/zh_CN'; import DatePicker from '../date-picker/locale/zh_CN'; @@ -9,7 +9,7 @@ const typeTemplate = '${label}不是一个有效的${type}'; const localeValues: Locale = { locale: 'zh-cn', - Pagination, + // Pagination, DatePicker, TimePicker, Calendar, @@ -17,29 +17,30 @@ const localeValues: Locale = { global: { placeholder: '请选择', }, - Table: { - filterTitle: '筛选', - filterConfirm: '确定', - filterReset: '重置', - filterEmptyText: '无筛选项', - filterCheckall: '全选', - filterSearchPlaceholder: '在筛选项中搜索', - selectAll: '全选当页', - selectInvert: '反选当页', - selectNone: '清空所有', - selectionAll: '全选所有', - sortTitle: '排序', - expand: '展开行', - collapse: '关闭行', - triggerDesc: '点击降序', - triggerAsc: '点击升序', - cancelSort: '取消排序', - }, + // Table: { + // filterTitle: '筛选', + // filterConfirm: '确定', + // filterReset: '重置', + // filterEmptyText: '无筛选项', + // filterCheckall: '全选', + // filterSearchPlaceholder: '在筛选项中搜索', + // selectAll: '全选当页', + // selectInvert: '反选当页', + // selectNone: '清空所有', + // selectionAll: '全选所有', + // sortTitle: '排序', + // expand: '展开行', + // collapse: '关闭行', + // triggerDesc: '点击降序', + // triggerAsc: '点击升序', + // cancelSort: '取消排序', + // }, Modal: { okText: '确定', cancelText: '取消', justOkText: '知道了', }, + // @ts-ignore Tour: { Next: '下一步', Previous: '上一步', diff --git a/packages/meta/src/locale/zh_HK.ts b/packages/meta/src/locale/zh_HK.ts deleted file mode 100644 index 60dbefd..0000000 --- a/packages/meta/src/locale/zh_HK.ts +++ /dev/null @@ -1,137 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/zh_TW'; -import Calendar from '../calendar/locale/zh_TW'; -import DatePicker from '../date-picker/locale/zh_TW'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/zh_TW'; - -const typeTemplate = '${label}不是一個有效的${type}'; - -const localeValues: Locale = { - locale: 'zh-hk', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: '請選擇', - }, - Table: { - filterTitle: '篩選器', - filterConfirm: '確定', - filterReset: '重置', - filterEmptyText: '無篩選項', - selectAll: '全部選取', - selectInvert: '反向選取', - selectNone: '清空所有', - selectionAll: '全選所有', - sortTitle: '排序', - expand: '展開行', - collapse: '關閉行', - triggerDesc: '點擊降序', - triggerAsc: '點擊升序', - cancelSort: '取消排序', - }, - Modal: { - okText: '確定', - cancelText: '取消', - justOkText: '知道了', - }, - Tour: { - Next: '下一步', - Previous: '上一步', - Finish: '結束導覽', - }, - Popconfirm: { - okText: '確定', - cancelText: '取消', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: '搜尋資料', - itemUnit: '項目', - itemsUnit: '項目', - remove: '刪除', - selectCurrent: '全選當頁', - removeCurrent: '刪除當頁', - selectAll: '全選所有', - removeAll: '刪除全部', - selectInvert: '反選當頁', - }, - Upload: { - uploading: '正在上傳...', - removeFile: '刪除檔案', - uploadError: '上傳失敗', - previewFile: '檔案預覽', - downloadFile: '下载文件', - }, - Empty: { - description: '無此資料', - }, - Icon: { - icon: '圖標', - }, - Text: { - edit: '編輯', - copy: '複製', - copied: '複製成功', - expand: '展開', - }, - PageHeader: { - back: '返回', - }, - Form: { - defaultValidateMessages: { - default: '字段驗證錯誤${label}', - required: '請輸入${label}', - enum: '${label}必須是其中一個[${enum}]', - whitespace: '${label}不能為空字符', - date: { - format: '${label}日期格式無效', - parse: '${label}不能轉換為日期', - invalid: '${label}是一個無效日期', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label}須為${len}個字符', - min: '${label}最少${min}個字符', - max: '${label}最多${max}個字符', - range: '${label}須在${min}-${max}字符之間', - }, - number: { - len: '${label}必須等於${len}', - min: '${label}最小值為${min}', - max: '${label}最大值為${max}', - range: '${label}須在${min}-${max}之間', - }, - array: { - len: '須為${len}個${label}', - min: '最少${min}個${label}', - max: '最多${max}個${label}', - range: '${label}數量須在${min}-${max}之間', - }, - pattern: { - mismatch: '${label}與模式不匹配${pattern}', - }, - }, - }, - Image: { - preview: '預覽', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/locale/zh_TW.ts b/packages/meta/src/locale/zh_TW.ts deleted file mode 100644 index babd48e..0000000 --- a/packages/meta/src/locale/zh_TW.ts +++ /dev/null @@ -1,138 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -import Pagination from 'rc-pagination/lib/locale/zh_TW'; -import Calendar from '../calendar/locale/zh_TW'; -import DatePicker from '../date-picker/locale/zh_TW'; -import type { Locale } from '.'; -import TimePicker from '../time-picker/locale/zh_TW'; - -const typeTemplate = '${label}不是一個有效的${type}'; - -const localeValues: Locale = { - locale: 'zh-tw', - Pagination, - DatePicker, - TimePicker, - Calendar, - global: { - placeholder: '請選擇', - }, - Table: { - filterTitle: '篩選器', - filterConfirm: '確定', - filterReset: '重置', - filterEmptyText: '無篩選項', - selectAll: '全部選取', - selectInvert: '反向選取', - selectNone: '清空所有', - selectionAll: '全選所有', - sortTitle: '排序', - expand: '展開行', - collapse: '關閉行', - triggerDesc: '點擊降序', - triggerAsc: '點擊升序', - cancelSort: '取消排序', - }, - Modal: { - okText: '確定', - cancelText: '取消', - justOkText: '知道了', - }, - Tour: { - Next: '下一步', - Previous: '上一步', - Finish: '結束導覽', - }, - Popconfirm: { - okText: '確定', - cancelText: '取消', - }, - Transfer: { - titles: ['', ''], - searchPlaceholder: '搜尋資料', - itemUnit: '項目', - itemsUnit: '項目', - remove: '删除', - selectCurrent: '全選當頁', - removeCurrent: '删除當頁', - selectAll: '全選所有', - removeAll: '删除全部', - selectInvert: '反選當頁', - }, - Upload: { - uploading: '正在上傳...', - removeFile: '刪除檔案', - uploadError: '上傳失敗', - previewFile: '檔案預覽', - downloadFile: '下载文件', - }, - Empty: { - description: '無此資料', - }, - Icon: { - icon: '圖標', - }, - Text: { - edit: '編輯', - copy: '複製', - copied: '複製成功', - expand: '展開', - }, - PageHeader: { - back: '返回', - }, - Form: { - optional: '(可選)', - defaultValidateMessages: { - default: '字段驗證錯誤${label}', - required: '請輸入${label}', - enum: '${label}必須是其中一個[${enum}]', - whitespace: '${label}不能為空字符', - date: { - format: '${label}日期格式無效', - parse: '${label}不能轉換為日期', - invalid: '${label}是一個無效日期', - }, - types: { - string: typeTemplate, - method: typeTemplate, - array: typeTemplate, - object: typeTemplate, - number: typeTemplate, - date: typeTemplate, - boolean: typeTemplate, - integer: typeTemplate, - float: typeTemplate, - regexp: typeTemplate, - email: typeTemplate, - url: typeTemplate, - hex: typeTemplate, - }, - string: { - len: '${label}須為${len}個字符', - min: '${label}最少${min}個字符', - max: '${label}最多${max}個字符', - range: '${label}須在${min}-${max}字符之間', - }, - number: { - len: '${label}必須等於${len}', - min: '${label}最小值為${min}', - max: '${label}最大值為${max}', - range: '${label}須在${min}-${max}之間', - }, - array: { - len: '須為${len}個${label}', - min: '最少${min}個${label}', - max: '最多${max}個${label}', - range: '${label}數量須在${min}-${max}之間', - }, - pattern: { - mismatch: '${label}與模式不匹配${pattern}', - }, - }, - }, - Image: { - preview: '預覽', - }, -}; - -export default localeValues; diff --git a/packages/meta/src/modal/Modal.tsx b/packages/meta/src/modal/Modal.tsx index a2a47e6..74f0fa9 100644 --- a/packages/meta/src/modal/Modal.tsx +++ b/packages/meta/src/modal/Modal.tsx @@ -135,6 +135,7 @@ const Modal: React.FC = (props) => { footer={dialogFooter} visible={open ?? visible} mousePosition={restProps.mousePosition ?? mousePosition} + // @ts-ignore onClose={handleCancel} closable={mergedClosable} closeIcon={mergedCloseIcon} diff --git a/packages/meta/src/modal/confirm.tsx b/packages/meta/src/modal/confirm.tsx index 26a6883..00017e1 100644 --- a/packages/meta/src/modal/confirm.tsx +++ b/packages/meta/src/modal/confirm.tsx @@ -112,6 +112,7 @@ export default function confirm(config: ModalFuncProps) { config.afterClose(); } + // @ts-ignore destroy.apply(this, args); }, }; diff --git a/packages/meta/src/modal/useModal/index.tsx b/packages/meta/src/modal/useModal/index.tsx index a87c23e..da80182 100644 --- a/packages/meta/src/modal/useModal/index.tsx +++ b/packages/meta/src/modal/useModal/index.tsx @@ -101,6 +101,7 @@ function useModal(): readonly [instance: HookAPI, contextHolder: React.ReactElem setActionQueue((prev) => [...prev, destroyAction]); } }, + // @ts-ignore update: (newConfig: ModalFuncProps) => { function updateAction() { modalRef.current?.update(newConfig); diff --git a/packages/meta/src/progress/Circle.tsx b/packages/meta/src/progress/Circle.tsx new file mode 100644 index 0000000..67cf067 --- /dev/null +++ b/packages/meta/src/progress/Circle.tsx @@ -0,0 +1,94 @@ +import classNames from 'classnames'; +import type { ProgressProps as RcProgressProps } from 'rc-progress'; +import { Circle as RCCircle } from 'rc-progress'; +import * as React from 'react'; +import Tooltip from '../tooltip'; +import type { ProgressGradient, ProgressProps } from './progress'; +import { getPercentage, getSize, getStrokeColor } from './utils'; + +const CIRCLE_MIN_STROKE_WIDTH = 3; + +const getMinPercent = (width: number): number => (CIRCLE_MIN_STROKE_WIDTH / width) * 100; + +export interface CircleProps extends ProgressProps { + prefixCls: string; + children: React.ReactNode; + progressStatus: string; + strokeColor?: string | ProgressGradient; +} + +const Circle: React.FC = (props) => { + const { + prefixCls, + trailColor = null as unknown as string, + strokeLinecap = 'round', + gapPosition, + gapDegree, + width: originWidth = 120, + type, + children, + success, + size = originWidth, + } = props; + + const [width, height] = getSize(size, 'circle'); + + let { strokeWidth } = props; + if (strokeWidth === undefined) { + strokeWidth = Math.max(getMinPercent(width), 6); + } + + const circleStyle: React.CSSProperties = { width, height, fontSize: width * 0.15 + 6 }; + + const realGapDegree = React.useMemo(() => { + // Support gapDeg = 0 when type = 'dashboard' + if (gapDegree || gapDegree === 0) { + return gapDegree; + } + if (type === 'dashboard') { + return 75; + } + return undefined; + }, [gapDegree, type]); + + const gapPos = gapPosition || (type === 'dashboard' && 'bottom') || undefined; + + // using className to style stroke color + const isGradient = Object.prototype.toString.call(props.strokeColor) === '[object Object]'; + const strokeColor = getStrokeColor({ success, strokeColor: props.strokeColor }); + + const wrapperClassName = classNames(`${prefixCls}-inner`, { + [`${prefixCls}-circle-gradient`]: isGradient, + }); + + const circleContent = ( + + ); + + return ( +
+ {width <= 20 ? ( + + {circleContent} + + ) : ( + <> + {circleContent} + {children} + + )} +
+ ); +}; + +export default Circle; diff --git a/packages/meta/src/progress/Line.tsx b/packages/meta/src/progress/Line.tsx new file mode 100644 index 0000000..b8c249d --- /dev/null +++ b/packages/meta/src/progress/Line.tsx @@ -0,0 +1,147 @@ +import * as React from 'react'; +import { presetPrimaryColors } from '@ant-design/colors'; + +import { devUseWarning } from '../_util/warning'; +import type { DirectionType } from '../config-provider'; +import type { ProgressGradient, ProgressProps, StringGradients } from './progress'; +import { getSize, getSuccessPercent, validProgress } from './utils'; +import { LineStrokeColorVar, Percent } from './style'; + +interface LineProps extends ProgressProps { + prefixCls: string; + direction?: DirectionType; + children: React.ReactNode; + strokeColor?: string | ProgressGradient; +} + +/** + * @example + * { + * "0%": "#afc163", + * "75%": "#009900", + * "50%": "green", // ====> '#afc163 0%, #66FF00 25%, #00CC00 50%, #009900 75%, #ffffff 100%' + * "25%": "#66FF00", + * "100%": "#ffffff" + * } + */ +export const sortGradient = (gradients: StringGradients) => { + let tempArr: any[] = []; + Object.keys(gradients).forEach((key) => { + const formattedKey = parseFloat(key.replace(/%/g, '')); + if (!isNaN(formattedKey)) { + tempArr.push({ + key: formattedKey, + value: gradients[key], + }); + } + }); + tempArr = tempArr.sort((a, b) => a.key - b.key); + return tempArr.map(({ key, value }) => `${value} ${key}%`).join(', '); +}; + +/** + * Then this man came to realize the truth: Besides six pence, there is the moon. Besides bread and + * butter, there is the bug. And... Besides women, there is the code. + * + * @example + * { + * "0%": "#afc163", + * "25%": "#66FF00", + * "50%": "#00CC00", // ====> linear-gradient(to right, #afc163 0%, #66FF00 25%, + * "75%": "#009900", // #00CC00 50%, #009900 75%, #ffffff 100%) + * "100%": "#ffffff" + * } + */ +export const handleGradient = ( + strokeColor: ProgressGradient, + directionConfig?: DirectionType, +): React.CSSProperties => { + const { + from = presetPrimaryColors.blue, + to = presetPrimaryColors.blue, + direction = directionConfig === 'rtl' ? 'to left' : 'to right', + ...rest + } = strokeColor; + if (Object.keys(rest).length !== 0) { + const sortedGradients = sortGradient(rest as StringGradients); + const background = `linear-gradient(${direction}, ${sortedGradients})`; + return { background, [LineStrokeColorVar]: background } as React.CSSProperties; + } + const background = `linear-gradient(${direction}, ${from}, ${to})`; + return { background, [LineStrokeColorVar]: background } as React.CSSProperties; +}; + +const Line: React.FC = (props) => { + const { + prefixCls, + direction: directionConfig, + percent, + size, + strokeWidth, + strokeColor, + strokeLinecap = 'round', + children, + trailColor = null, + success, + } = props; + + const backgroundProps = + strokeColor && typeof strokeColor !== 'string' + ? handleGradient(strokeColor, directionConfig) + : { [LineStrokeColorVar]: strokeColor, background: strokeColor }; + + const borderRadius = strokeLinecap === 'square' || strokeLinecap === 'butt' ? 0 : undefined; + + const mergedSize = size ?? [-1, strokeWidth || (size === 'small' ? 6 : 8)]; + + const [width, height] = getSize(mergedSize, 'line', { strokeWidth }); + + if (process.env.NODE_ENV !== 'production') { + const warning = devUseWarning('Progress'); + + warning.deprecated(!('strokeWidth' in props), 'strokeWidth', 'size'); + } + + const trailStyle: React.CSSProperties = { + backgroundColor: trailColor || undefined, + borderRadius, + }; + + const percentStyle = { + width: `${validProgress(percent)}%`, + height, + borderRadius, + ...backgroundProps, + [Percent]: validProgress(percent) / 100, + }; + + const successPercent = getSuccessPercent(props); + + const successPercentStyle = { + width: `${validProgress(successPercent)}%`, + height, + borderRadius, + backgroundColor: success?.strokeColor, + } as React.CSSProperties; + + const outerStyle: React.CSSProperties = { + width: width < 0 ? '100%' : width, + height, + }; + + return ( + <> +
+
+
+ {successPercent !== undefined ? ( +
+ ) : null} +
+
+ {children} + + ); +}; + +export default Line; diff --git a/packages/meta/src/progress/Steps.tsx b/packages/meta/src/progress/Steps.tsx new file mode 100644 index 0000000..85f7c27 --- /dev/null +++ b/packages/meta/src/progress/Steps.tsx @@ -0,0 +1,53 @@ +import classNames from 'classnames'; +import * as React from 'react'; +import type { ProgressProps } from './progress'; +import { getSize } from './utils'; + +interface ProgressStepsProps extends ProgressProps { + steps: number; + strokeColor?: string | string[]; + trailColor?: string; +} + +const Steps: React.FC = (props) => { + const { + size, + steps, + percent = 0, + strokeWidth = 8, + strokeColor, + trailColor = null as any, + prefixCls, + children, + } = props; + const current = Math.round(steps * (percent / 100)); + const stepWidth = size === 'small' ? 2 : 14; + const mergedSize = size ?? [stepWidth, strokeWidth]; + const [width, height] = getSize(mergedSize, 'step', { steps, strokeWidth }); + const unitWidth = width / steps; + const styledSteps: React.ReactNode[] = new Array(steps); + for (let i = 0; i < steps; i++) { + const color = Array.isArray(strokeColor) ? strokeColor[i] : strokeColor; + styledSteps[i] = ( +
+ ); + } + return ( +
+ {styledSteps} + {children} +
+ ); +}; + +export default Steps; diff --git a/packages/meta/src/progress/__tests__/__snapshots__/demo-extend.test.ts.snap b/packages/meta/src/progress/__tests__/__snapshots__/demo-extend.test.ts.snap new file mode 100644 index 0000000..f2ad6f4 --- /dev/null +++ b/packages/meta/src/progress/__tests__/__snapshots__/demo-extend.test.ts.snap @@ -0,0 +1,3540 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`renders components/progress/demo/circle.tsx extend context correctly 1`] = ` +
+
+
+
+ + + + + + + 75% + +
+
+
+
+
+
+ + + + + + + + + + +
+
+
+
+
+
+ + + + + + + + + + +
+
+
+
+`; + +exports[`renders components/progress/demo/circle.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/progress/demo/circle-micro.tsx extend context correctly 1`] = ` +Array [ +
+
+ + + + + + + +
+
+
+ +
+
+
+
, + + 代码发布 + , +] +`; + +exports[`renders components/progress/demo/circle-micro.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/progress/demo/circle-mini.tsx extend context correctly 1`] = ` +
+
+
+
+ + + + + + + 30% + +
+
+
+
+
+
+ + + + + + + + + + +
+
+
+
+
+
+ + + + + + + + + + +
+
+
+
+`; + +exports[`renders components/progress/demo/circle-mini.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/progress/demo/component-token.tsx extend context correctly 1`] = ` +Array [ +
+
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+
+
+
+
+ + 50% + +
+
+
, +
, +
, +
+
+
+
+ + + + + + + 50% + +
+
+
+
+
+
+ + + + + + + 50% + +
+
+
+
+
+
+ + + + + + + +
+
+
+ +
+
+
+
+
+
, +
, +
, +
+
+
+
+ + + + + + + 50% + +
+
+
+
+
+
+ + + + + + + 50% + +
+
+
+
+
+
+ + + + + + + +
+
+
+ +
+
+
+
+
+
, +
, +
, +
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+
+
+
+
+ + 50% + +
+
+
+
, +] +`; + +exports[`renders components/progress/demo/component-token.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/progress/demo/dashboard.tsx extend context correctly 1`] = ` +
+
+
+
+ + + + + + + 75% + +
+
+
+
+
+
+ + + + + + + 75% + +
+
+
+
+`; + +exports[`renders components/progress/demo/dashboard.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/progress/demo/dynamic.tsx extend context correctly 1`] = ` +Array [ +
+
+
+
+
+
+
+ + 0% + +
+
+
+ + + + + + + 0% + +
+
+
, +
+ + +
, +] +`; + +exports[`renders components/progress/demo/dynamic.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/progress/demo/format.tsx extend context correctly 1`] = ` +
+
+
+
+ + + + + + + 75 Days + +
+
+
+
+
+
+ + + + + + + Done + +
+
+
+
+`; + +exports[`renders components/progress/demo/format.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/progress/demo/gradient-line.tsx extend context correctly 1`] = ` +
+
+
+
+
+
+
+ + 99.9% + +
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+ + + + + + +
+
+
+ + + + + 90% + +
+ + +
+
+
+ + + + + + +
+
+
+ + + + + + + + +
+ + +
+
+
+ + + + + + +
+
+
+ + + + + 93% + +
+ + + +
+
+
+
+ + + + + + +
+
+
+ + + + + 90% + +
+ + +
+
+
+ + + + + + +
+
+
+ + + + + + + + +
+ + +
+
+
+ + + + + + +
+
+
+ + + + + 93% + +
+ + + + +`; + +exports[`renders components/progress/demo/gradient-line.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/progress/demo/line.tsx extend context correctly 1`] = ` +Array [ +
+
+
+
+
+
+ + 30% + +
, +
+
+
+
+
+
+ + 50% + +
, +
+
+
+
+
+
+ + + + + +
, +
+
+
+
+
+
+ + + + + +
, +
+
+
+
+
+
+
, +] +`; + +exports[`renders components/progress/demo/line.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/progress/demo/line-mini.tsx extend context correctly 1`] = ` +
+
+
+
+
+
+
+ + 30% + +
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+
+
+ + + + + +
+
+
+
+
+
+
+ + + + + +
+
+`; + +exports[`renders components/progress/demo/line-mini.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/progress/demo/linecap.tsx extend context correctly 1`] = ` +Array [ +
+
+
+
+
+
+ + 75% + +
, +
+
+
+
+ + + + + + + 75% + +
+
+
+
+
+
+ + + + + + + 75% + +
+
+
+
, +] +`; + +exports[`renders components/progress/demo/linecap.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/progress/demo/segment.tsx extend context correctly 1`] = ` +Array [ +
+
+
+
+
+
+
+ + 60% + +
, +
+
+
+ +
+
, +
+
+
+
+ + + + + + + 60% + +
+
+
+
+
+ +
+
+
+
+
+
+ + + + + + + 60% + +
+
+
+
+
+ +
+
+
+
, +] +`; + +exports[`renders components/progress/demo/segment.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/progress/demo/size.tsx extend context correctly 1`] = ` +Array [ +
+
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+
+
+
+
+ + 50% + +
+
+
, +
, +
, +
+
+
+
+ + + + + + + 50% + +
+
+
+
+
+
+ + + + + + + 50% + +
+
+
+
+
+
+ + + + + + + +
+
+
+ +
+
+
+
+
+
, +
, +
, +
+
+
+
+ + + + + + + 50% + +
+
+
+
+
+
+ + + + + + + 50% + +
+
+
+
+
+
+ + + + + + + +
+
+
+ +
+
+
+
+
+
, +
, +
, +
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+
+
+
+
+ + 50% + +
+
+
+
, +] +`; + +exports[`renders components/progress/demo/size.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/progress/demo/steps.tsx extend context correctly 1`] = ` +Array [ +
+
+
+
+
+ + 50% + +
+
, +
, +
+
+
+
+
+
+
+ + 30% + +
+
, +
, +
+
+
+
+
+
+
+ + + + + +
+
, +
, +
+
+
+
+
+
+
+ + 60% + +
+
, +] +`; + +exports[`renders components/progress/demo/steps.tsx extend context correctly 2`] = `[]`; diff --git a/packages/meta/src/progress/__tests__/__snapshots__/demo.test.ts.snap b/packages/meta/src/progress/__tests__/__snapshots__/demo.test.ts.snap new file mode 100644 index 0000000..551a566 --- /dev/null +++ b/packages/meta/src/progress/__tests__/__snapshots__/demo.test.ts.snap @@ -0,0 +1,3335 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`renders components/progress/demo/circle.tsx correctly 1`] = ` +
+
+
+
+ + + + + + + 75% + +
+
+
+
+
+
+ + + + + + + + + + +
+
+
+
+
+
+ + + + + + + + + + +
+
+
+
+`; + +exports[`renders components/progress/demo/circle-micro.tsx correctly 1`] = ` +Array [ +
+
+ + + + + + + +
+
, + + 代码发布 + , +] +`; + +exports[`renders components/progress/demo/circle-mini.tsx correctly 1`] = ` +
+
+
+
+ + + + + + + 30% + +
+
+
+
+
+
+ + + + + + + + + + +
+
+
+
+
+
+ + + + + + + + + + +
+
+
+
+`; + +exports[`renders components/progress/demo/component-token.tsx correctly 1`] = ` +Array [ +
+
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+
+
+
+
+ + 50% + +
+
+
, +
, +
, +
+
+
+
+ + + + + + + 50% + +
+
+
+
+
+
+ + + + + + + 50% + +
+
+
+
+
+
+ + + + + + + +
+
+
+
, +
, +
, +
+
+
+
+ + + + + + + 50% + +
+
+
+
+
+
+ + + + + + + 50% + +
+
+
+
+
+
+ + + + + + + +
+
+
+
, +
, +
, +
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+
+
+
+
+ + 50% + +
+
+
+
, +] +`; + +exports[`renders components/progress/demo/dashboard.tsx correctly 1`] = ` +
+
+
+
+ + + + + + + 75% + +
+
+
+
+
+
+ + + + + + + 75% + +
+
+
+
+`; + +exports[`renders components/progress/demo/dynamic.tsx correctly 1`] = ` +Array [ +
+
+
+
+
+
+
+ + 0% + +
+
+
+ + + + + + + 0% + +
+
+
, +
+ + +
, +] +`; + +exports[`renders components/progress/demo/format.tsx correctly 1`] = ` +
+
+
+
+ + + + + + + 75 Days + +
+
+
+
+
+
+ + + + + + + Done + +
+
+
+
+`; + +exports[`renders components/progress/demo/gradient-line.tsx correctly 1`] = ` +
+
+
+
+
+
+
+ + 99.9% + +
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+ + + + + + +
+
+
+ + + + + 90% + +
+ + +
+
+
+ + + + + + +
+
+
+ + + + + + + + +
+ + +
+
+
+ + + + + + +
+
+
+ + + + + 93% + +
+ + + +
+
+
+
+ + + + + + +
+
+
+ + + + + 90% + +
+ + +
+
+
+ + + + + + +
+
+
+ + + + + + + + +
+ + +
+
+
+ + + + + + +
+
+
+ + + + + 93% + +
+ + + + +`; + +exports[`renders components/progress/demo/line.tsx correctly 1`] = ` +Array [ +
+
+
+
+
+
+ + 30% + +
, +
+
+
+
+
+
+ + 50% + +
, +
+
+
+
+
+
+ + + + + +
, +
+
+
+
+
+
+ + + + + +
, +
+
+
+
+
+
+
, +] +`; + +exports[`renders components/progress/demo/line-mini.tsx correctly 1`] = ` +
+
+
+
+
+
+
+ + 30% + +
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+
+
+ + + + + +
+
+
+
+
+
+
+ + + + + +
+
+`; + +exports[`renders components/progress/demo/linecap.tsx correctly 1`] = ` +Array [ +
+
+
+
+
+
+ + 75% + +
, +
+
+
+
+ + + + + + + 75% + +
+
+
+
+
+
+ + + + + + + 75% + +
+
+
+
, +] +`; + +exports[`renders components/progress/demo/segment.tsx correctly 1`] = ` +Array [ +
+
+
+
+
+
+
+ + 60% + +
, +
+
+
+
+ + + + + + + 60% + +
+
+
+
+
+
+ + + + + + + 60% + +
+
+
+
, +] +`; + +exports[`renders components/progress/demo/size.tsx correctly 1`] = ` +Array [ +
+
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+
+
+
+
+ + 50% + +
+
+
, +
, +
, +
+
+
+
+ + + + + + + 50% + +
+
+
+
+
+
+ + + + + + + 50% + +
+
+
+
+
+
+ + + + + + + +
+
+
+
, +
, +
, +
+
+
+
+ + + + + + + 50% + +
+
+
+
+
+
+ + + + + + + 50% + +
+
+
+
+
+
+ + + + + + + +
+
+
+
, +
, +
, +
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+
+
+
+
+ + 50% + +
+
+
+
+
+
+
+
+
+ + 50% + +
+
+
+
, +] +`; + +exports[`renders components/progress/demo/steps.tsx correctly 1`] = ` +Array [ +
+
+
+
+
+ + 50% + +
+
, +
, +
+
+
+
+
+
+
+ + 30% + +
+
, +
, +
+
+
+
+
+
+
+ + + + + +
+
, +
, +
+
+
+
+
+
+
+ + 60% + +
+
, +] +`; diff --git a/packages/meta/src/progress/__tests__/__snapshots__/index.test.tsx.snap b/packages/meta/src/progress/__tests__/__snapshots__/index.test.tsx.snap new file mode 100644 index 0000000..e7fe47a --- /dev/null +++ b/packages/meta/src/progress/__tests__/__snapshots__/index.test.tsx.snap @@ -0,0 +1,780 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Progress render dashboard 295 gapDegree 1`] = ` +
+
+ + + + + + + 0% + +
+
+`; + +exports[`Progress render dashboard 296 gapDegree 1`] = ` +
+
+ + + + + + + 0% + +
+
+`; + +exports[`Progress render dashboard zero gapDegree 1`] = ` +
+
+ + + + + + + 0% + +
+
+`; + +exports[`Progress render format 1`] = ` +
+
+
+
+
+
+
+ + 50 10 + +
+`; + +exports[`Progress render negative progress 1`] = ` +
+
+
+
+
+
+ + 0% + +
+`; + +exports[`Progress render negative successPercent 1`] = ` +
+
+
+
+
+
+
+ + 50% + +
+`; + +exports[`Progress render normal progress 1`] = ` +
+
+
+
+
+
+ + 0% + +
+`; + +exports[`Progress render out-of-range progress 1`] = ` +
+
+
+
+
+
+ + + + + +
+`; + +exports[`Progress render out-of-range progress with info 1`] = ` +
+
+
+
+
+
+ + + + + +
+`; + +exports[`Progress render strokeColor 1`] = ` +
+
+ + + + + + + 50% + +
+
+`; + +exports[`Progress render strokeColor 2`] = ` +
+
+
+
+
+
+ + 50% + +
+`; + +exports[`Progress render strokeColor 3`] = ` +
+
+
+
+
+
+ + 50% + +
+`; + +exports[`Progress render strokeWidth of progress 1`] = ` +
+
+
+ + + + + + + 30% + +
+
+
+`; + +exports[`Progress render successColor progress 1`] = ` +
+
+
+
+
+
+
+ + 60% + +
+`; + +exports[`Progress render successColor progress type="circle" 1`] = ` +
+
+ + + + + + + 60% + +
+
+`; + +exports[`Progress render successColor progress type="dashboard" 1`] = ` +
+
+ + + + + + + 60% + +
+
+`; + +exports[`Progress render trailColor progress 1`] = ` +
+
+
+
+
+
+ + 0% + +
+`; + +exports[`Progress rtl render component should be rendered correctly in RTL direction 1`] = ` +
+
+
+
+
+
+ + 0% + +
+`; + +exports[`Progress should support steps 1`] = ` +
+
+
+
+
+ + 0% + +
+
+`; + +exports[`Progress steps should have default percent 0 1`] = ` +
+`; diff --git a/packages/meta/src/progress/__tests__/demo-extend.test.ts b/packages/meta/src/progress/__tests__/demo-extend.test.ts new file mode 100644 index 0000000..c0f1d38 --- /dev/null +++ b/packages/meta/src/progress/__tests__/demo-extend.test.ts @@ -0,0 +1,3 @@ +import { extendTest } from '../../../tests/shared/demoTest'; + +extendTest('progress'); diff --git a/packages/meta/src/progress/__tests__/demo.test.ts b/packages/meta/src/progress/__tests__/demo.test.ts new file mode 100644 index 0000000..6beec6e --- /dev/null +++ b/packages/meta/src/progress/__tests__/demo.test.ts @@ -0,0 +1,3 @@ +import demoTest from '../../../tests/shared/demoTest'; + +demoTest('progress'); diff --git a/packages/meta/src/progress/__tests__/image.test.ts b/packages/meta/src/progress/__tests__/image.test.ts new file mode 100644 index 0000000..e3298b7 --- /dev/null +++ b/packages/meta/src/progress/__tests__/image.test.ts @@ -0,0 +1,7 @@ +import { imageDemoTest } from '../../../tests/shared/imageTest'; + +describe('Progress image', () => { + imageDemoTest('progress', { + ssr: true, + }); +}); diff --git a/packages/meta/src/progress/__tests__/index.test.tsx b/packages/meta/src/progress/__tests__/index.test.tsx new file mode 100644 index 0000000..411c1dc --- /dev/null +++ b/packages/meta/src/progress/__tests__/index.test.tsx @@ -0,0 +1,407 @@ +import React, { useState } from 'react'; +import { Tooltip } from 'antd'; +import type { ProgressProps } from '..'; +import Progress from '..'; +import mountTest from '../../../tests/shared/mountTest'; +import rtlTest from '../../../tests/shared/rtlTest'; +import { fireEvent, render } from '../../../tests/utils'; +import { handleGradient, sortGradient } from '../Line'; +import ProgressSteps from '../Steps'; +import { ProgressTypes } from '../progress'; + +describe('Progress', () => { + mountTest(Progress); + rtlTest(Progress); + it('successPercent should decide the progress status when it exists', () => { + const { container: wrapper, rerender } = render( + , + ); + expect(wrapper.querySelectorAll('.ant-progress-status-success')).toHaveLength(0); + + rerender(); + expect(wrapper.querySelectorAll('.ant-progress-status-success')).toHaveLength(1); + + rerender(); + expect(wrapper.querySelectorAll('.ant-progress-status-success')).toHaveLength(0); + }); + + it('render out-of-range progress', () => { + const { container: wrapper } = render(); + expect(wrapper.firstChild).toMatchSnapshot(); + }); + + it('render strokeWidth of progress', () => { + const { container } = render(); + expect(container).toMatchSnapshot(); + }); + + it('render out-of-range progress with info', () => { + const { container: wrapper } = render(); + expect(wrapper.firstChild).toMatchSnapshot(); + }); + + it('render negative progress', () => { + const { container: wrapper } = render(); + expect(wrapper.firstChild).toMatchSnapshot(); + }); + + it('render negative successPercent', () => { + const { container: wrapper } = render(); + expect(wrapper.firstChild).toMatchSnapshot(); + }); + + it('render format', () => { + const { container: wrapper } = render( + `${percent} ${successPercent}`} + />, + ); + expect(wrapper.firstChild).toMatchSnapshot(); + }); + + it('render strokeColor', () => { + const { container: wrapper, rerender } = render( + , + ); + expect(wrapper.firstChild).toMatchSnapshot(); + rerender( + , + ); + expect(wrapper.firstChild).toMatchSnapshot(); + rerender( + , + ); + expect(wrapper.firstChild).toMatchSnapshot(); + }); + + it('render normal progress', () => { + const { container: wrapper } = render(); + expect(wrapper.firstChild).toMatchSnapshot(); + }); + + it('render trailColor progress', () => { + const { container: wrapper } = render(); + expect(wrapper.firstChild).toMatchSnapshot(); + }); + + it('render successColor progress', () => { + const { container: wrapper } = render( + , + ); + expect(wrapper.firstChild).toMatchSnapshot(); + }); + + it('render successColor progress type="circle"', () => { + const { container: wrapper } = render( + , + ); + expect(wrapper.firstChild).toMatchSnapshot(); + }); + + it('render successColor progress type="dashboard"', () => { + const { container: wrapper } = render( + , + ); + expect(wrapper.firstChild).toMatchSnapshot(); + }); + + it('render dashboard zero gapDegree', () => { + const { container: wrapper } = render(); + expect(wrapper.firstChild).toMatchSnapshot(); + }); + + it('render dashboard 295 gapDegree', () => { + const { container: wrapper } = render(); + expect(wrapper.firstChild).toMatchSnapshot(); + }); + + it('render dashboard 296 gapDegree', () => { + const { container: wrapper } = render(); + expect(wrapper.firstChild).toMatchSnapshot(); + }); + + it('get correct line-gradient', () => { + expect(handleGradient({ from: 'test', to: 'test' }).background).toBe( + 'linear-gradient(to right, test, test)', + ); + expect(handleGradient({}).background).toBe('linear-gradient(to right, #1677FF, #1677FF)'); + expect(handleGradient({ from: 'test', to: 'test', '0%': 'test' }).background).toBe( + 'linear-gradient(to right, test 0%)', + ); + }); + + it('sort gradients correctly', () => { + expect(sortGradient({ '10%': 'test10', '30%': 'test30', '20%': 'test20' })).toBe( + 'test10 10%, test20 20%, test30 30%', + ); + expect(sortGradient({ '10%': 'test10', '30%': 'test30', '20%': 'test20', dummy: 'test' })).toBe( + 'test10 10%, test20 20%, test30 30%', + ); + }); + + it('should show success status when percent is 100', () => { + const { container: wrapper } = render(); + expect(wrapper.querySelectorAll('.ant-progress-status-success')).toHaveLength(1); + }); + + // https://github.com/ant-design/ant-design/issues/15950 + it('should show success status when percent is 100 and status is undefined', () => { + const { container: wrapper } = render(); + expect(wrapper.querySelectorAll('.ant-progress-status-success')).toHaveLength(1); + }); + + // https://github.com/ant-design/ant-design/pull/15951#discussion_r273062969 + it('should show success status when status is invalid', () => { + const errorSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); + const { container: wrapper } = render( + , + ); + expect(wrapper.querySelectorAll('.ant-progress-status-success')).toHaveLength(1); + errorSpy.mockRestore(); + }); + + it('should support steps', () => { + const { container: wrapper } = render(); + expect(wrapper.firstChild).toMatchSnapshot(); + }); + + it('steps should be changeable', () => { + const { container: wrapper, rerender } = render(); + expect(wrapper.querySelectorAll('.ant-progress-steps-item-active').length).toBe(3); + rerender(); + expect(wrapper.querySelectorAll('.ant-progress-steps-item-active').length).toBe(2); + }); + + it('steps should be changeable when has strokeColor', () => { + const { container: wrapper, rerender } = render( + , + ); + expect( + wrapper.querySelectorAll('.ant-progress-steps-item')[0].style.backgroundColor, + ).toBe('rgb(22, 119, 255)'); + rerender(); + expect( + wrapper.querySelectorAll('.ant-progress-steps-item')[2].style.backgroundColor, + ).toBe(''); + expect( + wrapper.querySelectorAll('.ant-progress-steps-item')[1].style.backgroundColor, + ).toBe('rgb(22, 119, 255)'); + }); + + it('steps should support trailColor', () => { + const { container: wrapper } = render(); + expect( + wrapper.querySelectorAll('.ant-progress-steps-item')[1].style.backgroundColor, + ).toBe('rgb(24, 144, 238)'); + }); + + it('should display correct step', () => { + const { container: wrapper, rerender } = render(); + expect(wrapper.querySelectorAll('.ant-progress-steps-item-active').length).toBe(2); + rerender(); + expect(wrapper.querySelectorAll('.ant-progress-steps-item-active').length).toBe(3); + rerender(); + expect(wrapper.querySelectorAll('.ant-progress-steps-item-active').length).toBe(4); + }); + + it('steps should have default percent 0', () => { + const { container } = render(); + expect(container.firstChild).toMatchSnapshot(); + }); + + it('should warning if use `progress` in success', () => { + const errorSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); + render(); + expect(errorSpy).toHaveBeenCalledWith( + 'Warning: [antd: Progress] `success.progress` is deprecated. Please use `success.percent` instead.', + ); + }); + it('should warnning if use `width` prop', () => { + const errorSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); + render(); + expect(errorSpy).toHaveBeenCalledWith( + 'Warning: [antd: Progress] `width` is deprecated. Please use `size` instead.', + ); + }); + + it('should warnning if use `strokeWidth` prop in type Line', () => { + const errorSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); + render(); + expect(errorSpy).toHaveBeenCalledWith( + 'Warning: [antd: Progress] `strokeWidth` is deprecated. Please use `size` instead.', + ); + }); + + it('should warning if use `progress` in success in type Circle', () => { + const errorSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); + render(); + expect(errorSpy).toHaveBeenCalledWith( + 'Warning: [antd: Progress] `success.progress` is deprecated. Please use `success.percent` instead.', + ); + }); + + it('should warnning if pass number[] into `size` in type Circle', () => { + const errorSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); + render(); + expect(errorSpy).toHaveBeenCalledWith( + 'Warning: [antd: Progress] Type "circle" and "dashboard" do not accept array as `size`, please use number or preset size instead.', + ); + }); + + it('should not warning if not pass the `size` prop in type Circle', () => { + const errorSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); + errorSpy.mockClear(); + render(); + expect(errorSpy).not.toHaveBeenCalled(); + }); + + it('should warnning if pass number[] into `size` in type dashboard', () => { + const errorSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); + render(); + expect(errorSpy).toHaveBeenCalledWith( + 'Warning: [antd: Progress] Type "circle" and "dashboard" do not accept array as `size`, please use number or preset size instead.', + ); + }); + + it('should update the percentage based on the value of percent', () => { + const Content: React.FC = () => { + const [percent, setPercent] = useState(0); + + return ( + <> + {ProgressTypes.map((type) => ( + + ))} + + + ); + }; + + const { container } = render(); + expect(container.querySelectorAll('[title="0%"]')).toHaveLength(ProgressTypes.length); + // Change Percent + fireEvent.click(container.querySelectorAll('button')[0]); + expect(container.querySelectorAll('[title="10%"]')).toHaveLength(ProgressTypes.length); + }); + + describe('github issues', () => { + // https://github.com/ant-design/ant-design/issues/30685 + it('Rendered more hooks than during the previous render', () => { + expect(() => { + const { rerender } = render( + , + ); + rerender(); + }).not.toThrow(); + }); + + // https://github.com/ant-design/ant-design/issues/40377 + it('should not throw error when percent is null', () => { + expect(() => { + render(); + }).not.toThrow(); + }); + }); + + describe('progress size', () => { + const App = (props: { size: ProgressProps['size'] }) => ( + <> + + + + + + ); + + const { container, rerender } = render(); + expect(container.querySelector('.ant-progress-line .ant-progress-outer')).toHaveStyle({ + width: '30px', + }); + expect(container.querySelector('.ant-progress-steps .ant-progress-steps-item')).toHaveStyle({ + width: '30px', + height: '30px', + }); + expect(container.querySelectorAll('.ant-progress-circle .ant-progress-inner')[0]).toHaveStyle({ + width: '30px', + height: '30px', + }); + expect(container.querySelectorAll('.ant-progress-circle .ant-progress-inner')[1]).toHaveStyle({ + width: '30px', + height: '30px', + }); + + rerender(); + + expect(container.querySelector('.ant-progress-line .ant-progress-outer')).toHaveStyle({ + width: '60px', + height: '20px', + }); + expect(container.querySelector('.ant-progress-steps .ant-progress-steps-item')).toHaveStyle({ + width: '60px', + height: '20px', + }); + expect(container.querySelectorAll('.ant-progress-circle .ant-progress-inner')[0]).toHaveStyle({ + width: '60px', + height: '60px', + }); + expect(container.querySelectorAll('.ant-progress-circle .ant-progress-inner')[1]).toHaveStyle({ + width: '60px', + height: '60px', + }); + }); + + it('no strict warning', () => { + const errSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); + const { rerender } = render( + + + , + ); + rerender( + + + , + ); + expect(errSpy).not.toHaveBeenCalledWith( + expect.stringContaining('findDOMNode is deprecated in StrictMode'), + ); + errSpy.mockRestore(); + }); + + it('should be accessible', () => { + const { container: wrapper, rerender } = render( + , + ); + let progress = wrapper.querySelector('[role="progressbar"]'); + expect(progress).toHaveAttribute('aria-label', 'My progress'); + expect(progress).toHaveAttribute('aria-valuenow', '70'); + + rerender( + <> + My progress + + , + ); + progress = wrapper.querySelector('[role="progressbar"]'); + expect(progress).toHaveAttribute('aria-labelledby', 'progressLabel'); + expect(progress).toHaveAttribute('aria-valuenow', '90'); + }); +}); diff --git a/packages/meta/src/progress/demo/circle-micro.md b/packages/meta/src/progress/demo/circle-micro.md new file mode 100644 index 0000000..9803a0d --- /dev/null +++ b/packages/meta/src/progress/demo/circle-micro.md @@ -0,0 +1,7 @@ +## zh-CN + +响应式的圈形进度,当 `width` 小于等于 20 的时候,进度信息将不会显示在进度圈里面,而是以 Tooltip 的形式显示。 + +## en-US + +Responsive circular progress bar. When `width` is smaller than 20, progress information will be displayed in Tooltip. diff --git a/packages/meta/src/progress/demo/circle-micro.tsx b/packages/meta/src/progress/demo/circle-micro.tsx new file mode 100644 index 0000000..31fb7ed --- /dev/null +++ b/packages/meta/src/progress/demo/circle-micro.tsx @@ -0,0 +1,18 @@ +import React from 'react'; +import { Progress } from 'antd'; + +const App: React.FC = () => ( + <> + `进行中,已完成${number}%`} + /> + 代码发布 + +); + +export default App; diff --git a/packages/meta/src/progress/demo/circle-mini.md b/packages/meta/src/progress/demo/circle-mini.md new file mode 100644 index 0000000..397b2ca --- /dev/null +++ b/packages/meta/src/progress/demo/circle-mini.md @@ -0,0 +1,7 @@ +## zh-CN + +小一号的圈形进度。 + +## en-US + +A smaller circular progress bar. diff --git a/packages/meta/src/progress/demo/circle-mini.tsx b/packages/meta/src/progress/demo/circle-mini.tsx new file mode 100644 index 0000000..7aaf154 --- /dev/null +++ b/packages/meta/src/progress/demo/circle-mini.tsx @@ -0,0 +1,12 @@ +import React from 'react'; +import { Progress, Space } from 'antd'; + +const App: React.FC = () => ( + + + + + +); + +export default App; diff --git a/packages/meta/src/progress/demo/circle.md b/packages/meta/src/progress/demo/circle.md new file mode 100644 index 0000000..4e1254f --- /dev/null +++ b/packages/meta/src/progress/demo/circle.md @@ -0,0 +1,7 @@ +## zh-CN + +圈形的进度。 + +## en-US + +A circular progress bar. diff --git a/packages/meta/src/progress/demo/circle.tsx b/packages/meta/src/progress/demo/circle.tsx new file mode 100644 index 0000000..bf1cb83 --- /dev/null +++ b/packages/meta/src/progress/demo/circle.tsx @@ -0,0 +1,12 @@ +import React from 'react'; +import { Progress, Space } from 'antd'; + +const App: React.FC = () => ( + + + + + +); + +export default App; diff --git a/packages/meta/src/progress/demo/component-token.md b/packages/meta/src/progress/demo/component-token.md new file mode 100644 index 0000000..6b2a961 --- /dev/null +++ b/packages/meta/src/progress/demo/component-token.md @@ -0,0 +1,7 @@ +## zh-CN + +组件 Token Debug. + +## en-US + +Component Token Debug. diff --git a/packages/meta/src/progress/demo/component-token.tsx b/packages/meta/src/progress/demo/component-token.tsx new file mode 100644 index 0000000..d0d0491 --- /dev/null +++ b/packages/meta/src/progress/demo/component-token.tsx @@ -0,0 +1,52 @@ +import React from 'react'; +import { ConfigProvider, Progress, Space } from 'antd'; + +const App: React.FC = () => ( + + + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + + +
+); + +export default App; diff --git a/packages/meta/src/progress/demo/dashboard.md b/packages/meta/src/progress/demo/dashboard.md new file mode 100644 index 0000000..0c2e0c5 --- /dev/null +++ b/packages/meta/src/progress/demo/dashboard.md @@ -0,0 +1,7 @@ +## zh-CN + +通过设置 `type=dashboard`,可以很方便地实现仪表盘样式的进度条。若想要修改缺口的角度,可以设置 `gapDegree` 为你想要的值。 + +## en-US + +By setting `type=dashboard`, you can get a dashboard style of progress easily. Modify `gapDegree` to set the degree of gap. diff --git a/packages/meta/src/progress/demo/dashboard.tsx b/packages/meta/src/progress/demo/dashboard.tsx new file mode 100644 index 0000000..27a758a --- /dev/null +++ b/packages/meta/src/progress/demo/dashboard.tsx @@ -0,0 +1,11 @@ +import React from 'react'; +import { Progress, Space } from 'antd'; + +const App: React.FC = () => ( + + + + +); + +export default App; diff --git a/packages/meta/src/progress/demo/dynamic.md b/packages/meta/src/progress/demo/dynamic.md new file mode 100644 index 0000000..4d413cf --- /dev/null +++ b/packages/meta/src/progress/demo/dynamic.md @@ -0,0 +1,7 @@ +## zh-CN + +会动的进度条才是好进度条。 + +## en-US + +A dynamic progress bar is better. diff --git a/packages/meta/src/progress/demo/dynamic.tsx b/packages/meta/src/progress/demo/dynamic.tsx new file mode 100644 index 0000000..21888d6 --- /dev/null +++ b/packages/meta/src/progress/demo/dynamic.tsx @@ -0,0 +1,42 @@ +import React, { useState } from 'react'; +import { MinusOutlined, PlusOutlined } from '@ant-design/icons'; +import { Button, Progress } from 'antd'; + +const App: React.FC = () => { + const [percent, setPercent] = useState(0); + + const increase = () => { + setPercent((prevPercent) => { + const newPercent = prevPercent + 10; + if (newPercent > 100) { + return 100; + } + return newPercent; + }); + }; + + const decline = () => { + setPercent((prevPercent) => { + const newPercent = prevPercent - 10; + if (newPercent < 0) { + return 0; + } + return newPercent; + }); + }; + + return ( + <> +
+ + +
+ + + ); + }; + + // ============================== Ref =============================== + // Test needs + React.useImperativeHandle(ref, () => ({ + handlePreview: onInternalPreview, + handleDownload: onInternalDownload, + })); + + const { getPrefixCls } = React.useContext(ConfigContext); + + // ============================= Render ============================= + const prefixCls = getPrefixCls('upload', customizePrefixCls); + const rootPrefixCls = getPrefixCls(); + + const listClassNames = classNames(`${prefixCls}-list`, `${prefixCls}-list-${listType}`); + + // >>> Motion config + const motionKeyList = [...items.map((file) => ({ key: file.uid, file }))]; + + const animationDirection = + listType === 'picture-card' || listType === 'picture-circle' ? 'animate-inline' : 'animate'; + // const transitionName = list.length === 0 ? '' : `${prefixCls}-${animationDirection}`; + + let motionConfig: Omit = { + motionDeadline: 2000, + motionName: `${prefixCls}-${animationDirection}`, + keys: motionKeyList, + motionAppear, + }; + + const listItemMotion = React.useMemo>(() => { + const motion = { + ...initCollapseMotion(rootPrefixCls), + }; + + delete motion.onAppearEnd; + delete motion.onEnterEnd; + delete motion.onLeaveEnd; + + return motion; + }, [rootPrefixCls]); + + if (listType !== 'picture-card' && listType !== 'picture-circle') { + motionConfig = { + ...listItemMotion, + ...motionConfig, + }; + } + + return ( +
+ + {({ key, file, className: motionClassName, style: motionStyle }) => ( + + )} + + + {/* Append action */} + {appendAction && ( + + {({ className: motionClassName, style: motionStyle }) => + cloneElement(appendAction, (oriProps) => ({ + className: classNames(oriProps.className, motionClassName), + style: { + ...motionStyle, + // prevent the element has hover css pseudo-class that may cause animation to end prematurely. + pointerEvents: motionClassName ? 'none' : undefined, + ...oriProps.style, + }, + })) + } + + )} +
+ ); +}; + +const UploadList = React.forwardRef(InternalUploadList); + +if (process.env.NODE_ENV !== 'production') { + UploadList.displayName = 'UploadList'; +} + +export default UploadList; diff --git a/packages/meta/src/upload/__tests__/__snapshots__/demo-extend.test.ts.snap b/packages/meta/src/upload/__tests__/__snapshots__/demo-extend.test.ts.snap new file mode 100644 index 0000000..a501198 --- /dev/null +++ b/packages/meta/src/upload/__tests__/__snapshots__/demo-extend.test.ts.snap @@ -0,0 +1,5062 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`renders components/upload/demo/avatar.tsx extend context correctly 1`] = ` +Array [ + +
+ + + + +
+
, + +
+ + + + +
+
, +] +`; + +exports[`renders components/upload/demo/avatar.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/upload/demo/basic.tsx extend context correctly 1`] = ` + +
+ + + + +
+
+ +`; + +exports[`renders components/upload/demo/basic.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/upload/demo/component-token.tsx extend context correctly 1`] = ` + +
+ + + + +
+
+
+
+
+ + + +
+ + xxx.png + + + + +
+
+
+
+
+ + + +
+ + yyy.png + + + + +
+
+
+
+
+ + + +
+ + zzz.png + + + + +
+
+
+
+ +
+
+
+
+ +`; + +exports[`renders components/upload/demo/component-token.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/upload/demo/customize-progress-bar.tsx extend context correctly 1`] = ` + +
+ + + + +
+
+ +`; + +exports[`renders components/upload/demo/customize-progress-bar.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/upload/demo/debug-disabled.tsx extend context correctly 1`] = ` +
+
+ +
+ + + Click Text to Upload + +
+
+ +
+
+ +
+ + + + +
+
+ +
+
+ +
+ + +
+
+
+ Uploading... +
+ + image.png + +
+
+
+
+
+ + + +
+ + image.png + + +
+
+
+
+ +
+
+
+
+ + + + +
+
+ +
+
+ +
+ + +
+
+
+ Uploading... +
+ + image.png + +
+
+
+
+
+ + + +
+ + image.png + + +
+
+
+
+ +
+
+
+
+ + + + +
+
+ +
+
+ +
+ + +
+

+ + + +

+

+ Click or drag file to this area to upload +

+

+ Support for a single or bulk upload. Strictly prohibited from uploading company data or other banned files. +

+
+
+
+
+ +
+
+`; + +exports[`renders components/upload/demo/debug-disabled.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/upload/demo/defaultFileList.tsx extend context correctly 1`] = ` + +
+ + + + +
+
+
+
+
+ + + +
+ + xxx.png + + + + +
+
+
+
+
+ + + +
+ + yyy.png + + + + +
+
+
+
+
+ + + +
+ + zzz.png + + + + +
+
+
+
+ +
+
+
+
+ +`; + +exports[`renders components/upload/demo/defaultFileList.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/upload/demo/directory.tsx extend context correctly 1`] = ` + +
+ + + + +
+
+ +`; + +exports[`renders components/upload/demo/directory.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/upload/demo/drag.tsx extend context correctly 1`] = ` + +
+ + +
+

+ + + +

+

+ Click or drag file to this area to upload +

+

+ Support for a single or bulk upload. Strictly prohibited from uploading company data or other banned files. +

+
+
+
+
+ +`; + +exports[`renders components/upload/demo/drag.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/upload/demo/drag-sorting.tsx extend context correctly 1`] = ` +Array [ + +
+ + + + +
+
+
+
+
+
+ + + +
+ + image1.png + + + + +
+
+
+
+
+
+
+ + + +
+ + image2.png + + + + +
+
+
+
+
+
+
+ + + +
+ + image3.png + + + + +
+
+
+
+
+
+
+ + + +
+ + image4.png + + + + +
+
+
+
+
+
+
+ + + +
+ + image.png + + + + +
+
+
+
+ +
+
+
+
+
+ , + , +
, +] +`; + +exports[`renders components/upload/demo/drag-sorting.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/upload/demo/file-type.tsx extend context correctly 1`] = ` + +
+
+ +
+
+ +
+
+
+
+ + + +
+ + image.png + + + + +
+
+
+
+ +
+
+
+
+
+
+ + + +
+ + pdf.pdf + + + + +
+
+
+
+ +
+
+
+
+
+
+ + + +
+ + doc.doc + + + + +
+
+
+
+ +
+
+
+
+ + + + +
+
+ +`; + +exports[`renders components/upload/demo/file-type.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/upload/demo/fileList.tsx extend context correctly 1`] = ` + +
+ + + + +
+
+
+
+
+ + + +
+ + xxx.png + + + + +
+
+
+
+`; + +exports[`renders components/upload/demo/fileList.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/upload/demo/max-count.tsx extend context correctly 1`] = ` +
+
+ +
+ + + + +
+
+ +
+
+ +
+ + + + +
+
+ +
+
+`; + +exports[`renders components/upload/demo/max-count.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/upload/demo/picture-card.tsx extend context correctly 1`] = ` + +
+
+
+ + image.png + + + image.png + + + + + + + + + +
+
+
+
+ + image.png + + + image.png + + + + + + + + + +
+
+
+
+ + image.png + + + image.png + + + + + + + + + +
+
+
+
+ + image.png + + + image.png + + + + + + + + + +
+
+
+
+
+ Uploading... +
+ + image.png + +
+
+
+
+
+ + + +
+ + image.png + + + + +
+
+
+
+ +
+
+
+
+ + + + +
+
+ +`; + +exports[`renders components/upload/demo/picture-card.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/upload/demo/picture-circle.tsx extend context correctly 1`] = ` + +
+
+
+ + image.png + + + image.png + + + + + + + + + +
+
+
+
+
+ Uploading... +
+ + image.png + +
+
+
+
+
+ + + +
+ + image.png + + + + +
+
+
+
+ +
+
+
+
+ + + + +
+
+ +`; + +exports[`renders components/upload/demo/picture-circle.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/upload/demo/picture-style.tsx extend context correctly 1`] = ` +Array [ + +
+ + + + +
+
+
+
+
+ + + +
+ + xxx.png + + + + +
+
+
+
+ + yyy.png + + + yyy.png + + + + +
+
+
+
+
+ + + +
+ + zzz.png + + + + +
+
+
+
+ +
+
+
+
+ , +
, +
, + +
+ + + + +
+
+
+
+
+ + + +
+ + xxx.png + + + + +
+
+
+
+ + yyy.png + + + yyy.png + + + + +
+
+
+
+
+ + + +
+ + zzz.png + + + + +
+
+
+
+ +
+
+
+
+ , +] +`; + +exports[`renders components/upload/demo/picture-style.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/upload/demo/preview-file.tsx extend context correctly 1`] = ` + +
+ + + + +
+
+ +`; + +exports[`renders components/upload/demo/preview-file.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/upload/demo/transform-file.tsx extend context correctly 1`] = ` + +
+ + + + +
+
+ +`; + +exports[`renders components/upload/demo/transform-file.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/upload/demo/upload-custom-action-icon.tsx extend context correctly 1`] = ` + +
+ + + + +
+
+
+
+
+ + + +
+ + xxx.png + + + + + +
+
+
+
+
+ + + +
+ + yyy.png + + + + + +
+
+
+
+
+ + + +
+ + zzz.png + + + + +
+
+
+
+ +
+
+
+
+ +`; + +exports[`renders components/upload/demo/upload-custom-action-icon.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/upload/demo/upload-manually.tsx extend context correctly 1`] = ` +Array [ + +
+ + + + +
+
+ , + , +] +`; + +exports[`renders components/upload/demo/upload-manually.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/upload/demo/upload-png-only.tsx extend context correctly 1`] = ` + +
+ + + + +
+
+ +`; + +exports[`renders components/upload/demo/upload-png-only.tsx extend context correctly 2`] = `[]`; + +exports[`renders components/upload/demo/upload-with-aliyun-oss.tsx extend context correctly 1`] = ` +
+
+
+
+ +
+
+
+
+ +
+ + + + +
+
+ +
+
+
+
+
+ +`; + +exports[`renders components/upload/demo/upload-with-aliyun-oss.tsx extend context correctly 2`] = `[]`; diff --git a/packages/meta/src/upload/__tests__/__snapshots__/demo.test.ts.snap b/packages/meta/src/upload/__tests__/__snapshots__/demo.test.ts.snap new file mode 100644 index 0000000..9585da3 --- /dev/null +++ b/packages/meta/src/upload/__tests__/__snapshots__/demo.test.ts.snap @@ -0,0 +1,4756 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`renders components/upload/demo/avatar.tsx correctly 1`] = ` +Array [ + +
+ + + + +
+
, + +
+ + + + +
+
, +] +`; + +exports[`renders components/upload/demo/basic.tsx correctly 1`] = ` + +
+ + + + +
+
+ +`; + +exports[`renders components/upload/demo/component-token.tsx correctly 1`] = ` + +
+ + + + +
+
+
+
+
+ + + +
+ + xxx.png + + + + +
+
+
+
+
+ + + +
+ + yyy.png + + + + +
+
+
+
+
+ + + +
+ + zzz.png + + + + +
+
+
+
+`; + +exports[`renders components/upload/demo/customize-progress-bar.tsx correctly 1`] = ` + +
+ + + + +
+
+ +`; + +exports[`renders components/upload/demo/debug-disabled.tsx correctly 1`] = ` +
+
+ +
+ + + Click Text to Upload + +
+
+ +
+
+ +
+ + + + +
+
+ +
+
+ +
+ + +
+
+
+ Uploading... +
+ + image.png + +
+
+
+
+
+ + + +
+ + image.png + + +
+
+
+ + + + +
+
+
+
+
+ +
+ + +
+
+
+ Uploading... +
+ + image.png + +
+
+
+
+
+ + + +
+ + image.png + + +
+
+
+ + + + +
+
+
+
+
+ +
+ + +
+

+ + + +

+

+ Click or drag file to this area to upload +

+

+ Support for a single or bulk upload. Strictly prohibited from uploading company data or other banned files. +

+
+
+
+
+ +
+
+`; + +exports[`renders components/upload/demo/defaultFileList.tsx correctly 1`] = ` + +
+ + + + +
+
+
+
+
+ + + +
+ + xxx.png + + + + +
+
+
+
+
+ + + +
+ + yyy.png + + + + +
+
+
+
+
+ + + +
+ + zzz.png + + + + +
+
+
+
+`; + +exports[`renders components/upload/demo/directory.tsx correctly 1`] = ` + +
+ + + + +
+
+ +`; + +exports[`renders components/upload/demo/drag.tsx correctly 1`] = ` + +
+ + +
+

+ + + +

+

+ Click or drag file to this area to upload +

+

+ Support for a single or bulk upload. Strictly prohibited from uploading company data or other banned files. +

+
+
+
+
+ +`; + +exports[`renders components/upload/demo/drag-sorting.tsx correctly 1`] = ` + +
+ + + + +
+
+
+
+
+
+ + + +
+ + image1.png + + + + +
+
+
+
+
+
+
+ + + +
+ + image2.png + + + + +
+
+
+
+
+
+
+ + + +
+ + image3.png + + + + +
+
+
+
+
+
+
+ + + +
+ + image4.png + + + + +
+
+
+
+
+
+
+ + + +
+ + image.png + + + + +
+
+
+
+
+`; + +exports[`renders components/upload/demo/file-type.tsx correctly 1`] = ` + +
+
+ +
+
+ +
+
+
+
+ + + +
+ + image.png + + + + +
+
+
+
+
+ + + +
+ + pdf.pdf + + + + +
+
+
+
+
+ + + +
+ + doc.doc + + + + +
+
+
+ + + + +
+
+
+`; + +exports[`renders components/upload/demo/fileList.tsx correctly 1`] = ` + +
+ + + + +
+
+
+
+
+ + + +
+ + xxx.png + + + + +
+
+
+
+`; + +exports[`renders components/upload/demo/max-count.tsx correctly 1`] = ` +
+
+ +
+ + + + +
+
+ +
+
+ +
+ + + + +
+
+ +
+
+`; + +exports[`renders components/upload/demo/picture-card.tsx correctly 1`] = ` + +
+
+
+ + image.png + + + image.png + + + + + + + + + +
+
+
+
+ + image.png + + + image.png + + + + + + + + + +
+
+
+
+ + image.png + + + image.png + + + + + + + + + +
+
+
+
+ + image.png + + + image.png + + + + + + + + + +
+
+
+
+
+ Uploading... +
+ + image.png + +
+
+
+
+
+ + + +
+ + image.png + + + + +
+
+
+ + + + +
+
+
+`; + +exports[`renders components/upload/demo/picture-circle.tsx correctly 1`] = ` + +
+
+
+ + image.png + + + image.png + + + + + + + + + +
+
+
+
+
+ Uploading... +
+ + image.png + +
+
+
+
+
+ + + +
+ + image.png + + + + +
+
+
+ + + + +
+
+
+`; + +exports[`renders components/upload/demo/picture-style.tsx correctly 1`] = ` +Array [ + +
+ + + + +
+
+
+
+
+ + + +
+ + xxx.png + + + + +
+
+
+
+ + yyy.png + + + yyy.png + + + + +
+
+
+
+
+ + + +
+ + zzz.png + + + + +
+
+
+
, +
, +
, + +
+ + + + +
+
+
+
+
+ + + +
+ + xxx.png + + + + +
+
+
+
+ + yyy.png + + + yyy.png + + + + +
+
+
+
+
+ + + +
+ + zzz.png + + + + +
+
+
+
, +] +`; + +exports[`renders components/upload/demo/preview-file.tsx correctly 1`] = ` + +
+ + + + +
+
+ +`; + +exports[`renders components/upload/demo/transform-file.tsx correctly 1`] = ` + +
+ + + + +
+
+ +`; + +exports[`renders components/upload/demo/upload-custom-action-icon.tsx correctly 1`] = ` + +
+ + + + +
+
+
+
+
+ + + +
+ + xxx.png + + + + + +
+
+
+
+
+ + + +
+ + yyy.png + + + + + +
+
+
+
+
+ + + +
+ + zzz.png + + + + +
+
+
+
+`; + +exports[`renders components/upload/demo/upload-manually.tsx correctly 1`] = ` +Array [ + +
+ + + + +
+
+ , + , +] +`; + +exports[`renders components/upload/demo/upload-png-only.tsx correctly 1`] = ` + +
+ + + + +
+
+ +`; + +exports[`renders components/upload/demo/upload-with-aliyun-oss.tsx correctly 1`] = ` +
+
+
+
+ +
+
+
+
+ +
+ + + + +
+
+ +
+
+
+
+
+ +`; diff --git a/packages/meta/src/upload/__tests__/__snapshots__/upload.test.tsx.snap b/packages/meta/src/upload/__tests__/__snapshots__/upload.test.tsx.snap new file mode 100644 index 0000000..752728b --- /dev/null +++ b/packages/meta/src/upload/__tests__/__snapshots__/upload.test.tsx.snap @@ -0,0 +1,25 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Upload rtl render component should be rendered correctly in RTL direction 1`] = ` + + +
+ +`; diff --git a/packages/meta/src/upload/__tests__/__snapshots__/uploadlist.test.tsx.snap b/packages/meta/src/upload/__tests__/__snapshots__/uploadlist.test.tsx.snap new file mode 100644 index 0000000..16d0ba7 --- /dev/null +++ b/packages/meta/src/upload/__tests__/__snapshots__/uploadlist.test.tsx.snap @@ -0,0 +1,1372 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Upload List handle error 1`] = ` + +
+ + + + +
+
+
+
+
+ + + +
+ + foo.png + + + + +
+
+
+
+`; + +exports[`Upload List itemRender 1`] = ` +
+
+
+ + uid:-1 name: xxx.png status: removed url: https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png 1/2 + + + remove + + + download + + + preview + +
+
+
+
+ + uid:-2 name: yyy.png status: removed url: https://zos.alipayobjects.com/rmsportal/IQKRngzUuFzJzGzRJXUs.png 2/2 + + + remove + + + download + + + preview + +
+
+
+`; + +exports[`Upload List should be uploading when upload a file 1`] = ` + +
+ + + + +
+
+
+
+
+ + + +
+ + foo.png + + + + +
+
+
+
+`; + +exports[`Upload List should non-image format file preview 1`] = ` + +
+ + + + +
+
+
+
+ + + + + + + not-image + + + + +
+
+
+
+ + image + + + image + + + + +
+
+
+
+ + + + + + + not-image + + + + +
+
+
+
+ + + + + + + not-image + + + + +
+
+
+
+ + image + + + image + + + + +
+
+
+
+ + image + + + image + + + + +
+
+
+
+ + image + + + image + + + + +
+
+
+
+ + image + + + image + + + + +
+
+
+
+ + image + + + image + + + + +
+
+
+
+ + image + + + image + + + + +
+
+
+
+`; + +exports[`Upload List should support removeIcon and downloadIcon 1`] = ` + +
+ + + + +
+
+
+
+
+ + + +
+ + image + + + + +
+
+
+
+ + image + + + image + + + + + +
+
+
+
+`; + +exports[`Upload List should support removeIcon and downloadIcon 2`] = ` + +
+ + + + +
+
+
+
+
+ + + +
+ + image + + + + +
+
+
+
+ + image + + + image + + + + + +
+
+
+
+`; + +exports[`Upload List should support showRemoveIcon and showPreviewIcon 1`] = ` + +
+ + + + +
+
+
+
+
+ + + +
+ + image + + +
+
+
+ +
+
+
+`; diff --git a/packages/meta/src/upload/__tests__/demo-extend.test.ts b/packages/meta/src/upload/__tests__/demo-extend.test.ts new file mode 100644 index 0000000..d4c4583 --- /dev/null +++ b/packages/meta/src/upload/__tests__/demo-extend.test.ts @@ -0,0 +1,3 @@ +import { extendTest } from '../../../tests/shared/demoTest'; + +extendTest('upload', { skip: ['crop-image.tsx'] }); diff --git a/packages/meta/src/upload/__tests__/demo.test.ts b/packages/meta/src/upload/__tests__/demo.test.ts new file mode 100644 index 0000000..ec1f577 --- /dev/null +++ b/packages/meta/src/upload/__tests__/demo.test.ts @@ -0,0 +1,3 @@ +import demoTest from '../../../tests/shared/demoTest'; + +demoTest('upload', { skip: ['crop-image.tsx'] }); diff --git a/packages/meta/src/upload/__tests__/dragger.test.tsx b/packages/meta/src/upload/__tests__/dragger.test.tsx new file mode 100644 index 0000000..ebdcc37 --- /dev/null +++ b/packages/meta/src/upload/__tests__/dragger.test.tsx @@ -0,0 +1,57 @@ +/* eslint-disable react/no-string-refs, react/prefer-es6-class */ +import React from 'react'; +import Upload from '..'; +import mountTest from '../../../tests/shared/mountTest'; +import { act, fireEvent, render, waitFor } from '../../../tests/utils'; +import { setup, teardown } from './mock'; + +describe('Upload.Dragger', () => { + mountTest(Upload.Dragger); + + beforeEach(() => setup()); + afterEach(() => teardown()); + + it('support drag file with over style', async () => { + jest.useFakeTimers(); + const { container: wrapper } = render( + +
+ , + ); + + fireEvent.dragOver(wrapper.querySelector('.ant-upload-drag-container')!, { + target: { + files: [{ file: 'foo.png' }], + }, + }); + + act(() => { + jest.runAllTimers(); + }); + + await waitFor(() => { + expect(wrapper.querySelector('.ant-upload-drag')).toHaveClass('ant-upload-drag-hover'); + }); + + jest.useRealTimers(); + }); + + it('support onDrop when files are dropped onto upload area', async () => { + const onDrop = jest.fn(); + const { container: wrapper } = render( + +
+ , + ); + + fireEvent.drop(wrapper.querySelector('.ant-upload-drag-container')!, { + dataTransfer: { + files: [new File(['foo'], 'foo.png', { type: 'image/png' })], + }, + }); + + await waitFor(() => { + expect(onDrop).toHaveBeenCalled(); + }); + }); +}); diff --git a/packages/meta/src/upload/__tests__/image.test.ts b/packages/meta/src/upload/__tests__/image.test.ts new file mode 100644 index 0000000..fbcef31 --- /dev/null +++ b/packages/meta/src/upload/__tests__/image.test.ts @@ -0,0 +1,5 @@ +import { imageDemoTest } from '../../../tests/shared/imageTest'; + +describe('Upload image', () => { + imageDemoTest('upload', { skip: ['crop-image.tsx'] }); +}); diff --git a/packages/meta/src/upload/__tests__/mock.ts b/packages/meta/src/upload/__tests__/mock.ts new file mode 100644 index 0000000..f810b71 --- /dev/null +++ b/packages/meta/src/upload/__tests__/mock.ts @@ -0,0 +1,12 @@ +import mock from 'xhr-mock'; + +export function setup() { + mock.setup(); + mock.post('http://upload.com/', (req, res) => { + req.headers({ 'content-length': 100 as unknown as string }); + req.body('thisisbody'); + return res; + }); +} + +export const teardown = mock.teardown.bind(mock); diff --git a/packages/meta/src/upload/__tests__/requests.ts b/packages/meta/src/upload/__tests__/requests.ts new file mode 100644 index 0000000..b0d2e42 --- /dev/null +++ b/packages/meta/src/upload/__tests__/requests.ts @@ -0,0 +1,15 @@ +import type { UploadProps } from '../interface'; + +export const successRequest: UploadProps['customRequest'] = ({ onSuccess, file }) => { + setTimeout(() => { + // @ts-ignore + onSuccess?.(null, file); + }); +}; + +export const errorRequest: UploadProps['customRequest'] = ({ onError }) => { + setTimeout(() => { + // @ts-ignore + onError?.(); + }); +}; diff --git a/packages/meta/src/upload/__tests__/type.test.tsx b/packages/meta/src/upload/__tests__/type.test.tsx new file mode 100644 index 0000000..5d74aa0 --- /dev/null +++ b/packages/meta/src/upload/__tests__/type.test.tsx @@ -0,0 +1,212 @@ +import React from 'react'; +import type { UploadProps } from '..'; +import Upload from '..'; + +describe('Upload.typescript', () => { + it('Upload', () => { + const upload = ( + + click to upload + + ); + expect(upload).toBeTruthy(); + }); + + it('onChange', () => { + const upload = ( + onChange={({ file }) => file}> + click to upload + + ); + + expect(upload).toBeTruthy(); + }); + + it('onChange params', () => { + type IFile = { + customFile: File; + }; + + const upload = ( + onChange={({ file }) => file.response?.customFile}> + click to upload + + ); + + expect(upload).toBeTruthy(); + }); + + it('onChange fileList', () => { + type IFile = { + customFile: File; + }; + + const upload = ( + onChange={({ fileList }) => fileList.map((file) => file.response?.customFile)}> + click to upload + + ); + + expect(upload).toBeTruthy(); + }); + + it('onChange in UploadProps', () => { + const uploadProps: UploadProps = { + onChange: ({ file }) => file, + }; + const upload = ( + + click to upload + + ); + + expect(upload).toBeTruthy(); + }); + + it('showUploadList', () => { + const upload = ( + + click to upload + + ); + expect(upload).toBeTruthy(); + }); + + it('beforeUpload', () => { + const upload = ( + { + const { name: returnType } = file; + if (returnType === 'boolean') { + return true; + } + if (returnType === 'Promise') { + return Promise.resolve(false); + } + if (returnType === 'file') { + return file; + } + if (returnType === 'Promise') { + return Promise.resolve(file); + } + if (returnType === 'string') { + return Upload.LIST_IGNORE; + } + if (returnType === 'Promise') { + return Promise.resolve(Upload.LIST_IGNORE); + } + if (returnType === 'Promise') { + return Promise.resolve(); + } + }} + > + click to upload + + ); + expect(upload).toBeTruthy(); + }); + + it('beforeUpload async', () => { + const upload = ( + { + const { name: returnType } = file; + if (returnType === 'boolean') { + return true; + } + if (returnType === 'file') { + return file; + } + if (returnType === 'string') { + return Upload.LIST_IGNORE; + } + }} + > + click to upload + + ); + expect(upload).toBeTruthy(); + }); + + it('defaultFileList/fileList', () => { + const fileList = [ + { + uid: '-1', + name: 'xxx.png', + status: 'done' as const, + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + thumbUrl: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + }, + { + uid: '-2', + name: 'yyy.png', + status: 'error' as const, + }, + ]; + const upload = ; + expect(upload).toBeTruthy(); + }); + + it('itemRender', () => { + const upload = ( + ( +
+ {node} + {file.name} + {list.length} + remove + download + preview +
+ )} + > + click to upload +
+ ); + expect(upload).toBeTruthy(); + }); + + it('data', () => { + const upload1 = ( + ({ + url: '', + })} + > + click to upload + + ); + const upload2 = ( + + Promise.resolve({ + url: '', + }) + } + > + click to upload + + ); + const upload3 = ( + + click to upload + + ); + expect(upload1).toBeTruthy(); + expect(upload2).toBeTruthy(); + expect(upload3).toBeTruthy(); + }); +}); diff --git a/packages/meta/src/upload/__tests__/upload.test.tsx b/packages/meta/src/upload/__tests__/upload.test.tsx new file mode 100644 index 0000000..6e1d790 --- /dev/null +++ b/packages/meta/src/upload/__tests__/upload.test.tsx @@ -0,0 +1,1038 @@ +import React, { useEffect, useRef } from 'react'; +import { produce } from 'immer'; +import cloneDeep from 'lodash/cloneDeep'; +import type { UploadRequestOption } from 'rc-upload/lib/interface'; + +import type { RcFile, UploadFile, UploadProps } from '..'; +import Upload from '..'; +import { resetWarned } from '../../_util/warning'; +import mountTest from '../../../tests/shared/mountTest'; +import rtlTest from '../../../tests/shared/rtlTest'; +import { act, fireEvent, render, waitFakeTimer } from '../../../tests/utils'; +import Form from '../../form'; +import { getFileItem, isImageUrl, removeFileItem } from '../utils'; +import { setup, teardown } from './mock'; + +(globalThis as any).IS_REACT_ACT_ENVIRONMENT = true; + +describe('Upload', () => { + mountTest(Upload); + rtlTest(Upload); + + beforeAll(() => { + jest.useFakeTimers(); + }); + beforeEach(() => setup()); + afterAll(() => { + jest.useRealTimers(); + }); + afterEach(() => { + jest.clearAllTimers(); + return teardown(); + }); + + // Mock for rc-util raf + window.requestAnimationFrame = (callback) => window.setTimeout(callback, 16); + + window.cancelAnimationFrame = (id) => window.clearTimeout(id); + + // https://github.com/react-component/upload/issues/36 + it('should get refs inside Upload in componentDidMount', () => { + let ref: React.RefObject; + const App: React.FC = () => { + const inputRef = useRef(null); + useEffect(() => { + ref = inputRef; + }, []); + return ( + + + + ); + }; + render(); + expect(ref!).toBeDefined(); + }); + + it('return promise in beforeUpload', async () => { + const data = jest.fn(); + const done = jest.fn(); + const props: UploadProps = { + action: 'http://upload.com', + beforeUpload: () => + new Promise((resolve) => { + setTimeout(() => resolve('success'), 100); + }), + data, + onChange({ file }) { + if (file.status !== 'uploading') { + expect(data).toHaveBeenCalled(); + done(); + } + }, + }; + + const { container: wrapper } = render( + + + , + ); + fireEvent.change(wrapper.querySelector('input')!, { + target: { files: [{ file: 'foo.png' }] }, + }); + await waitFakeTimer(); + expect(done).toHaveBeenCalled(); + }); + + it('beforeUpload can be falsy', async () => { + const done = jest.fn(); + const props: UploadProps = { + action: 'http://upload.com', + beforeUpload: () => false, + onChange: ({ file }) => { + if (file.status !== 'uploading') { + done(); + } + }, + }; + + const { container: wrapper } = render( + + + , + ); + + fireEvent.change(wrapper.querySelector('input')!, { + target: { files: [{ file: 'foo.png' }] }, + }); + await waitFakeTimer(); + expect(done).toHaveBeenCalled(); + }); + + it('upload promise return file in beforeUpload', async () => { + const done = jest.fn(); + const data = jest.fn(); + const props: UploadProps = { + action: 'http://upload.com', + beforeUpload: (file) => + new Promise((resolve) => { + setTimeout(() => { + const result = file; + (result as any).name = 'test.png'; + resolve(result); + }, 100); + }), + data, + onChange: ({ file }) => { + if (file.status !== 'uploading') { + expect(data).toHaveBeenCalled(); + expect(file.name).toEqual('test.png'); + done(); + } + }, + }; + + const { container: wrapper } = render( + + + , + ); + + fireEvent.change(wrapper.querySelector('input')!, { + target: { files: [{ file: 'foo.png' }] }, + }); + await waitFakeTimer(); + + expect(done).toHaveBeenCalled(); + }); + + it('should not stop upload when return value of beforeUpload is false', (done) => { + const fileList = [ + { + uid: 'bar', + name: 'bar.png', + }, + ]; + const mockFile = new File(['foo'], 'foo.png', { + type: 'image/png', + }); + const data = jest.fn(); + const props: UploadProps = { + action: 'http://upload.com', + fileList, + beforeUpload: () => false, + data, + onChange: ({ file, fileList: updatedFileList }) => { + expect(file instanceof File).toBe(true); + expect(updatedFileList.map((f) => f.name)).toEqual(['bar.png', 'foo.png']); + expect(data).not.toHaveBeenCalled(); + done(); + }, + }; + + const { container: wrapper } = render( + + + , + ); + + fireEvent.change(wrapper.querySelector('input')!, { + target: { files: [mockFile] }, + }); + }); + + it('should not stop upload when return value of beforeUpload is not false', (done) => { + const data = jest.fn(); + const props = { + action: 'http://upload.com', + beforeUpload() {}, + data, + onChange: () => { + expect(data).toHaveBeenCalled(); + done(); + }, + }; + + const { container: wrapper } = render( + + + , + ); + + fireEvent.change(wrapper.querySelector('input')!, { + target: { + files: [{ file: 'foo.png' }], + }, + }); + }); + + // https://github.com/ant-design/ant-design/issues/14779 + it('should contain input file control if upload button is hidden', () => { + const { container, rerender } = render( + + + , + ); + + expect(container.querySelectorAll('input[type="file"]')).toHaveLength(1); + + rerender(); + expect(container.querySelectorAll('input[type="file"]')).toHaveLength(1); + }); + + // https://github.com/ant-design/ant-design/issues/14298 + it('should not have id if upload children is null, avoid being triggered by label', () => { + const Demo: React.FC<{ children?: UploadProps['children'] }> = ({ children }) => ( +
+ + {children} + +
+ ); + + const { container, rerender } = render( + +
upload
+
, + ); + + expect(container.querySelector('input#upload')).toBeTruthy(); + rerender(); + expect(container.querySelector('input#upload')).toBeFalsy(); + }); + + // https://github.com/ant-design/ant-design/issues/16478 + it('should not have id if Upload is disabled, avoid being triggered by label', () => { + const Demo: React.FC<{ disabled?: UploadProps['disabled'] }> = ({ disabled }) => ( +
+ + +
upload
+
+
+
+ ); + + const { container: wrapper, rerender } = render(); + expect(wrapper.querySelectorAll('input#upload').length).toBe(1); + rerender(); + expect(wrapper.querySelectorAll('input#upload').length).toBe(0); + }); + + // https://github.com/ant-design/ant-design/issues/24197 + it('should not have id if upload.Dragger is disabled, avoid being triggered by label', () => { + const Demo: React.FC<{ disabled?: UploadProps['disabled'] }> = ({ disabled }) => ( +
+ + +
upload
+
+
+
+ ); + + const { container: wrapper, rerender } = render(); + expect(wrapper.querySelectorAll('input#upload').length).toBe(1); + rerender(); + expect(wrapper.querySelectorAll('input#upload').length).toBe(0); + }); + + it('should be controlled by fileList', async () => { + const fileList = [ + { + uid: '-1', + name: 'foo.png', + status: 'done', + url: 'http://www.baidu.com/xxx.png', + }, + ]; + const ref = React.createRef(); + const { rerender } = render(); + expect(ref.current.fileList).toEqual([]); + rerender(); + await waitFakeTimer(); + expect(ref.current.fileList).toEqual(fileList); + }); + + it('should be able to get uid at first', () => { + const fileList = [ + { + name: 'foo.png', + status: 'done', + url: 'http://www.baidu.com/xxx.png', + }, + ]; + render(); + (fileList as UploadProps['fileList'])?.forEach((file) => { + expect(file.uid).toBeDefined(); + }); + }); + + describe('util', () => { + it('should be able to get fileItem', () => { + const file = { uid: '-1', name: 'item.jpg' } as RcFile; + const fileList = [ + { + uid: '-1', + name: 'item.jpg', + }, + ]; + const targetItem = getFileItem(file, fileList); + expect(targetItem).toBe(fileList[0]); + }); + + it('should be able to remove fileItem', () => { + const file = { uid: '-1', name: 'item.jpg' }; + const fileList = [ + { + uid: '-1', + name: 'item.jpg', + }, + { + uid: '-2', + name: 'item2.jpg', + }, + ]; + const targetItem = removeFileItem(file, fileList); + expect(targetItem).toEqual(fileList.slice(1)); + }); + + it('remove fileItem and fileList with immutable data', () => { + const file = { uid: '-3', name: 'item3.jpg' }; + const fileList = produce( + [ + { + uid: '-1', + name: 'item.jpg', + }, + { + uid: '-2', + name: 'item2.jpg', + }, + ], + (draftState) => { + draftState.push({ + uid: '-3', + name: 'item3.jpg', + }); + }, + ); + const targetItem = removeFileItem(file, fileList); + expect(targetItem).toEqual(fileList.slice(0, 2)); + }); + + it('should not be able to remove fileItem', () => { + const file = { uid: '-3', name: 'item.jpg' }; + const fileList = [ + { + uid: '-1', + name: 'item.jpg', + }, + { + uid: '-2', + name: 'item2.jpg', + }, + ]; + const targetItem = removeFileItem(file, fileList); + expect(targetItem).toBe(null); + }); + + it('isImageUrl should work correctly when file.url is null', () => { + const file = { url: null } as unknown as UploadFile; + expect(isImageUrl(file)).toBe(true); + }); + }); + + it('should support linkProps as object', () => { + const fileList = [ + { + uid: '-1', + name: 'foo.png', + status: 'done', + url: 'http://www.baidu.com/xxx.png', + linkProps: { + download: 'image', + rel: 'noopener', + }, + }, + ]; + const { container: wrapper } = render( + , + ); + const linkNode = wrapper.querySelector('a.ant-upload-list-item-name'); + expect(linkNode?.getAttribute('download')).toBe('image'); + expect(linkNode?.getAttribute('rel')).toBe('noopener'); + }); + + it('should support linkProps as json stringify', () => { + const linkPropsString = JSON.stringify({ + download: 'image', + rel: 'noopener', + }); + const fileList = [ + { + uid: '-1', + name: 'foo.png', + status: 'done', + url: 'http://www.baidu.com/xxx.png', + linkProps: linkPropsString, + }, + ]; + const { container: wrapper } = render( + , + ); + const linkNode = wrapper.querySelector('a.ant-upload-list-item-name'); + expect(linkNode?.getAttribute('download')).toBe('image'); + expect(linkNode?.getAttribute('rel')).toBe('noopener'); + }); + + it('should stop remove when return value of onRemove is false', async () => { + const mockRemove = jest.fn(() => false); + const props: UploadProps = { + onRemove: mockRemove, + fileList: [ + { + uid: '-1', + name: 'foo.png', + status: 'done', + url: 'http://www.baidu.com/xxx.png', + }, + ], + }; + + const { container: wrapper } = render(); + + fireEvent.click(wrapper.querySelector('div.ant-upload-list-item .anticon-delete')!); + + await waitFakeTimer(); + + expect(mockRemove).toHaveBeenCalled(); + expect(props.fileList).toHaveLength(1); + expect(props.fileList?.[0]?.status).toBe('done'); + }); + + // https://github.com/ant-design/ant-design/issues/18902 + it('should not abort uploading until return value of onRemove is resolved as true', async () => { + const file = { + uid: '-1', + name: 'foo.png', + status: 'uploading', + url: 'http://www.baidu.com/xxx.png', + }; + + let removePromise: (value: boolean | Promise) => void; + + const onRemove: UploadProps['onRemove'] = () => + new Promise((resolve) => { + expect(file.status).toBe('uploading'); + removePromise = resolve; + }); + const onChange = jest.fn(); + + const { container } = render( + , + ); + fireEvent.click(container.querySelector('div.ant-upload-list-item .anticon-delete')!); + + // Delay return true for remove + await waitFakeTimer(); + await act(async () => { + removePromise(true); + }); + + expect(onChange).toHaveBeenCalled(); + expect(file.status).toBe('removed'); + }); + + it('should not stop download when return use onDownload', async () => { + const mockRemove = jest.fn(() => false); + const props: UploadProps = { + onRemove: mockRemove, + showUploadList: { + showDownloadIcon: true, + }, + fileList: [ + { + uid: '-1', + name: 'foo.png', + status: 'done', + url: 'http://www.baidu.com/xxx.png', + }, + ], + }; + + const { container: wrapper } = render( {}} />); + + fireEvent.click(wrapper.querySelector('div.ant-upload-list-item .anticon-download')!); + + await waitFakeTimer(); + expect(props.fileList).toHaveLength(1); + expect(props.fileList?.[0]?.status).toBe('done'); + }); + + // https://github.com/ant-design/ant-design/issues/14439 + it('should allow call abort function through upload instance', () => { + const ref = React.createRef(); + render( + + + , + ); + expect(typeof ref.current?.upload.abort).toBe('function'); + }); + + it('correct dragCls when type is drag', () => { + const fileList = [{ status: 'uploading', uid: 'file' }]; + const { container: wrapper } = render( + + + , + ); + expect(wrapper.querySelectorAll('.ant-upload-drag-uploading').length).toBe(1); + }); + + it('return when targetItem is null', () => { + const fileList = [{ uid: 'file' }]; + const ref = React.createRef(); + render( + + + , + ); + expect(ref.current?.onSuccess('', { uid: 'fileItem' })).toBe(undefined); + expect(ref.current?.onProgress('', { uid: 'fileItem' })).toBe(undefined); + expect(ref.current?.onError('', '', { uid: 'fileItem' })).toBe(undefined); + }); + + it('should replace file when targetItem already exists', () => { + const fileList = [{ uid: 'file', name: 'file' }]; + const ref = React.createRef(); + const { unmount } = render( + + + , + ); + + const newFile = { + uid: 'file', + name: 'file1', + }; + + act(() => { + ref.current?.onBatchStart([ + { + file: newFile, + parsedFile: newFile, + }, + ]); + }); + + expect(ref.current.fileList.length).toBe(1); + expect(ref.current.fileList[0].originFileObj).toEqual({ + name: 'file1', + uid: 'file', + }); + + unmount(); + }); + + it('warning if set `value`', () => { + resetWarned(); + const value = { value: [] } as any; + const errorSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); + render(); + expect(errorSpy).toHaveBeenCalledWith( + 'Warning: [antd: Upload] `value` is not a valid prop, do you mean `fileList`?', + ); + errorSpy.mockRestore(); + }); + + it('should be treated as file but not an image', () => { + const file = { + status: 'done', + uid: '-1', + type: 'video/mp4', + url: 'https://zos.alipayobjects.com/rmsportal/IQKRngzUuFzJzGzRJXUs.png', + }; + const { container: wrapper } = render( + , + ); + expect(wrapper.querySelectorAll('img').length).toBe(0); + }); + + // https://github.com/ant-design/ant-design/issues/25077 + it('should support events', () => { + const onClick = jest.fn(); + const onMouseEnter = jest.fn(); + const onMouseLeave = jest.fn(); + const props = { onClick, onMouseEnter, onMouseLeave }; + const { container: wrapper } = render( + + + , + ); + fireEvent.click(wrapper.querySelectorAll('.ant-upload')[1]); + expect(onClick).toHaveBeenCalled(); + fireEvent.mouseEnter(wrapper.querySelectorAll('.ant-upload')[1]); + expect(onMouseEnter).toHaveBeenCalled(); + fireEvent.mouseLeave(wrapper.querySelectorAll('.ant-upload')[1]); + expect(onMouseLeave).toHaveBeenCalled(); + }); + + // https://github.com/ant-design/ant-design/issues/26427 + it('should sync file list with control mode', async () => { + const done = jest.fn(); + let callTimes = 0; + + const customRequest = jest.fn(async (options) => { + // stop here to make sure new fileList has been set and passed to Upload + // eslint-disable-next-line no-promise-executor-return + await new Promise((resolve) => setTimeout(resolve, 0)); + options.onProgress({ percent: 0 }); + const url = Promise.resolve('https://ant.design'); + options.onProgress({ percent: 100 }); + options.onSuccess({}, { ...options.file, url }); + }); + + const Demo: React.FC = () => { + const [fileList, setFileList] = React.useState([]); + + const onChange: UploadProps['onChange'] = async (e) => { + const newFileList = Array.isArray(e) ? e : e.fileList; + setFileList(newFileList); + const file = newFileList[0]; + + callTimes += 1; + + switch (callTimes) { + case 1: + case 2: + expect(file).toEqual(expect.objectContaining({ status: 'uploading', percent: 0 })); + break; + + case 3: + expect(file).toEqual(expect.objectContaining({ status: 'uploading', percent: 100 })); + break; + + case 4: + expect(file).toEqual(expect.objectContaining({ status: 'done', percent: 100 })); + break; + + default: + // Do nothing + } + + if (callTimes >= 4) { + done(); + } + }; + + return ( + + + + ); + }; + + const { container: wrapper } = render(); + + fireEvent.change(wrapper.querySelector('input')!, { + target: { files: [{ file: 'foo.png' }] }, + }); + + await waitFakeTimer(); + + expect(done).toHaveBeenCalled(); + }); + + describe('maxCount', () => { + it('replace when only 1', async () => { + const onChange = jest.fn(); + const fileList = [ + { + uid: 'bar', + name: 'bar.png', + }, + ]; + + const props = { + action: 'http://upload.com', + fileList, + onChange, + maxCount: 1, + }; + + const { container: wrapper } = render( + + + , + ); + + fireEvent.change(wrapper.querySelector('input')!, { + target: { + files: [new File(['foo'], 'foo.png', { type: 'image/png' })], + }, + }); + + await waitFakeTimer(); + + expect(onChange.mock.calls[0][0].fileList).toHaveLength(1); + expect(onChange.mock.calls[0][0].fileList[0]).toEqual( + expect.objectContaining({ + name: 'foo.png', + }), + ); + }); + + it('maxCount > 1', async () => { + const onChange = jest.fn(); + const fileList = [ + { + uid: 'bar', + name: 'bar.png', + }, + ]; + + const props = { + action: 'http://upload.com', + fileList, + onChange, + maxCount: 2, + }; + + const { container: wrapper } = render( + + + , + ); + + fireEvent.change(wrapper.querySelector('input')!, { + target: { + files: [ + new File(['foo'], 'foo.png', { + type: 'image/png', + }), + new File(['invisible'], 'invisible.png', { type: 'image/png' }), + ], + }, + }); + + await waitFakeTimer(); + + expect(onChange.mock.calls[0][0].fileList).toHaveLength(2); + expect(onChange.mock.calls[0][0].fileList).toEqual([ + expect.objectContaining({ + name: 'bar.png', + }), + expect.objectContaining({ + name: 'foo.png', + }), + ]); + + // Only trigger for file in `maxCount` + onChange.mock.calls.forEach((args) => { + expect(args[0].file.name).toBe('foo.png'); + }); + }); + + // https://github.com/ant-design/ant-design/issues/43190 + it('should trigger onChange when remove', async () => { + const onChange = jest.fn(); + + const { container } = render( + + + , + ); + + // Click delete + fireEvent.click(container.querySelector('.ant-upload-list-item-action')!); + + await waitFakeTimer(); + + expect(onChange).toHaveBeenCalledWith( + expect.objectContaining({ + // Have 1 file + fileList: [expect.anything()], + }), + ); + }); + }); + + it('auto fill file uid', () => { + const fileList = [{ name: 'bamboo.png' }]; + + expect((fileList[0] as any).uid).toBeFalsy(); + + render( + + + , + ); + + expect((fileList[0] as any).uid).toBeTruthy(); + }); + + it('Proxy should support deepClone', async () => { + const onChange = jest.fn(); + + const { container: wrapper } = render( + + + , + ); + + fireEvent.change(wrapper.querySelector('input')!, { + target: { + files: [new File(['foo'], 'foo.png', { type: 'image/png' })], + }, + }); + + await waitFakeTimer(); + + const { file } = onChange.mock.calls[0][0]; + const clone = cloneDeep(file); + + expect(Object.getOwnPropertyDescriptor(file, 'name')).toEqual( + expect.objectContaining({ value: 'foo.png' }), + ); + + ['uid', 'name', 'lastModified', 'lastModifiedDate', 'size', 'type'].forEach((key) => { + expect(key in clone).toBeTruthy(); + }); + }); + + it('not break on freeze object', async () => { + const fileList = [ + { + fileName: 'Test.png', + name: 'SupportIS App - potwierdzenie.png', + thumbUrl: null, + downloadUrl: 'https://localhost:5001/api/files/ff2917ce-e4b9-4542-84da-31cdbe7c273f', + status: 'done', + }, + ]; + + const image = cloneDeep(fileList[0]); + + const frozenFileList = fileList.map(Object.freeze); + + const { container: wrapper } = render( + , + ); + const rmBtn = wrapper.querySelectorAll('.ant-upload-list-item-action'); + fireEvent.click(rmBtn[rmBtn.length - 1]); + + // Wait for Upload async remove + await waitFakeTimer(); + + expect(image).toEqual(frozenFileList[0]); + }); + // https://github.com/ant-design/ant-design/issues/30390 + // IE11 Does not support the File constructor + it('should not break in IE if beforeUpload returns false', async () => { + const onChange = jest.fn(); + const { container } = render( + false} fileList={[]} onChange={onChange} />, + ); + const fileConstructor = () => { + throw new TypeError("Object doesn't support this action"); + }; + + const spyIE = jest.spyOn(global, 'File').mockImplementationOnce(fileConstructor); + fireEvent.change(container.querySelector('input')!, { + target: { files: [{ file: 'foo.png' }] }, + }); + + // React 18 is async now + await waitFakeTimer(); + + expect(onChange.mock.calls[0][0].fileList).toHaveLength(1); + spyIE.mockRestore(); + }); + + // https://github.com/ant-design/ant-design/issues/33819 + it('should show the animation of the upload children leaving when the upload children becomes null', async () => { + const { container, rerender } = render( + + + , + ); + + rerender(); + expect(container.querySelector('.ant-upload-select')).toHaveClass( + 'ant-upload-animate-inline-leave-start', + ); + expect(container.querySelector('.ant-upload-select')).toHaveStyle({ + pointerEvents: 'none', + }); + + // Motion leave status change: start > active + await waitFakeTimer(); + + fireEvent.animationEnd(container.querySelector('.ant-upload-select')!); + expect(container.querySelector('.ant-upload-select')).not.toHaveClass( + 'ant-upload-animate-inline-leave-start', + ); + }); + + it(' should pass prefixCls', async () => { + const { container: wrapper } = render(); + expect(wrapper.querySelectorAll('.ant-upload-list').length).toBeGreaterThan(0); + + const { container: wrapper2 } = render(); + expect(wrapper2.querySelectorAll('.custom-upload-list').length).toBeGreaterThan(0); + }); + + // https://github.com/ant-design/ant-design/issues/36869 + it('Prevent auto batch', async () => { + const mockFile1 = new File(['bamboo'], 'bamboo.png', { type: 'image/png' }); + const mockFile2 = new File(['light'], 'light.png', { type: 'image/png' }); + + let info1: UploadRequestOption; + let info2: UploadRequestOption; + + const onChange = jest.fn(); + const { container } = render( + { + if (info.file === mockFile1) { + info1 = info; + } else { + info2 = info; + } + }} + onChange={onChange} + />, + ); + + fireEvent.change(container.querySelector('input')!, { + target: { files: [mockFile1, mockFile2] }, + }); + + // React 18 is async now + await waitFakeTimer(); + + onChange.mockReset(); + + // Processing + act(() => { + (info1?.onProgress as any)?.({ percent: 10 }, mockFile1); + (info2?.onProgress as any)?.({ percent: 20 }, mockFile2); + }); + + expect(onChange).toHaveBeenCalledWith( + expect.objectContaining({ + fileList: [ + expect.objectContaining({ percent: 10 }), + expect.objectContaining({ percent: 20 }), + ], + }), + ); + }); + + it('prevent auto batch in control mode', async () => { + const mockFile1 = new File(['bamboo'], 'bamboo.png', { type: 'image/png' }); + const mockFile2 = new File(['light'], 'light.png', { type: 'image/png' }); + + const customRequest = jest.fn(async (options) => { + // stop here to make sure new fileList has been set and passed to Upload + // eslint-disable-next-line no-promise-executor-return + await new Promise((resolve) => setTimeout(resolve, 0)); + options.onProgress({ percent: 0 }); + const url = Promise.resolve('https://ant.design'); + options.onProgress({ percent: 100 }); + options.onSuccess({}, { ...options.file, url }); + }); + + let fileListOut: UploadProps['fileList'] = []; + + const Demo: React.FC = () => { + const [fileList, setFileList] = React.useState([]); + + const onChange: UploadProps['onChange'] = async (e) => { + const newFileList = Array.isArray(e) ? e : e.fileList; + setFileList(newFileList); + + fileListOut = newFileList; + }; + + return ( + + + + ); + }; + + const { container } = render(); + + fireEvent.change(container.querySelector('input')!, { + target: { files: [mockFile1, mockFile2] }, + }); + + // React 18 is async now + await waitFakeTimer(); + + fileListOut.forEach((file) => { + expect(file.status).toBe('done'); + }); + }); +}); diff --git a/packages/meta/src/upload/__tests__/uploadlist.test.tsx b/packages/meta/src/upload/__tests__/uploadlist.test.tsx new file mode 100644 index 0000000..1d51169 --- /dev/null +++ b/packages/meta/src/upload/__tests__/uploadlist.test.tsx @@ -0,0 +1,1667 @@ +import React from 'react'; +import type { UploadFile, UploadProps } from '..'; +import Upload from '..'; +import { act, fireEvent, render, waitFakeTimer, waitFor } from '../../../tests/utils'; +import type { FormInstance } from '../../form'; +import Form from '../../form'; +import UploadList from '../UploadList'; +import type { UploadListProps, UploadLocale } from '../interface'; +import { previewImage } from '../utils'; +import { setup, teardown } from './mock'; +import { errorRequest, successRequest } from './requests'; + +const fileList: UploadProps['fileList'] = [ + { + uid: '-1', + name: 'xxx.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + thumbUrl: 'https://zos.alipayobjects.com/rmsportal/IQKRngzUuFzJzGzRJXUs.png', + }, + { + uid: '-2', + name: 'yyy.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/IQKRngzUuFzJzGzRJXUs.png', + thumbUrl: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + }, +]; + +describe('Upload List', () => { + // Mock for rc-util raf + window.requestAnimationFrame = (callback) => window.setTimeout(callback, 16); + window.cancelAnimationFrame = (id) => window.clearTimeout(id); + + // jsdom not support `createObjectURL` yet. Let's handle this. + const originCreateObjectURL = window.URL.createObjectURL; + window.URL.createObjectURL = jest.fn(() => ''); + const originRevokeObjectURL = window.URL.revokeObjectURL; + window.URL.revokeObjectURL = jest.fn(() => ''); + + // Mock dom + let size = { width: 0, height: 0 }; + function setSize(width: number, height: number) { + size = { width, height }; + } + const mockWidthGet = jest.spyOn(Image.prototype, 'width', 'get'); + const mockHeightGet = jest.spyOn(Image.prototype, 'height', 'get'); + const mockSrcSet = jest.spyOn(Image.prototype, 'src', 'set'); + + let drawImageCallback: jest.Mock | null = null; + function hookDrawImageCall(callback: jest.Mock) { + drawImageCallback = callback; + } + const mockGetCanvasContext = jest.spyOn(HTMLCanvasElement.prototype, 'getContext'); + const mockToDataURL = jest.spyOn(HTMLCanvasElement.prototype, 'toDataURL'); + + // HTMLCanvasElement.prototype + + beforeEach(() => { + jest.useFakeTimers(); + return setup(); + }); + afterEach(() => { + teardown(); + drawImageCallback = null; + jest.clearAllTimers(); + jest.useRealTimers(); + }); + + let open: jest.MockInstance; + beforeAll(() => { + open = jest.spyOn(window, 'open').mockImplementation(() => null); + mockWidthGet.mockImplementation(() => size.width); + mockHeightGet.mockImplementation(() => size.height); + mockSrcSet.mockImplementation(function fn() { + if (this.onload) { + this.onload(); + } + }); + + mockGetCanvasContext.mockReturnValue({ + drawImage(...args) { + if (drawImageCallback) { + drawImageCallback(...args); + } + }, + } as RenderingContext); + mockToDataURL.mockReturnValue('data:image/png;base64,'); + }); + + afterAll(() => { + window.URL.createObjectURL = originCreateObjectURL; + window.URL.revokeObjectURL = originRevokeObjectURL; + mockWidthGet.mockRestore(); + mockHeightGet.mockRestore(); + mockSrcSet.mockRestore(); + mockGetCanvasContext.mockRestore(); + mockToDataURL.mockRestore(); + open.mockRestore(); + }); + + // https://github.com/ant-design/ant-design/issues/4653 + it('should use file.thumbUrl for in priority', () => { + const { container: wrapper, unmount } = render( + + + , + ); + fileList.forEach((file, i) => { + const linkNode = wrapper.querySelectorAll('.ant-upload-list-item-thumbnail')[i]; + const imgNode = wrapper.querySelectorAll('.ant-upload-list-item-thumbnail img')[i]; + expect(linkNode.getAttribute('href')).toBe(file.url); + expect(imgNode.getAttribute('src')).toBe(file.thumbUrl); + }); + unmount(); + }); + + // https://github.com/ant-design/ant-design/issues/7269 + it('should remove correct item when uid is 0', async () => { + const list = [ + { + uid: '0', + name: 'xxx.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + thumbUrl: 'https://zos.alipayobjects.com/rmsportal/IQKRngzUuFzJzGzRJXUs.png', + }, + { + uid: '1', + name: 'xxx.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + thumbUrl: 'https://zos.alipayobjects.com/rmsportal/IQKRngzUuFzJzGzRJXUs.png', + }, + ]; + const { container, unmount } = render( + + + , + ); + expect(container.querySelectorAll('.ant-upload-list-item').length).toBe(2); + fireEvent.click( + container.querySelectorAll('.ant-upload-list-item')[0].querySelector('.anticon-delete')!, + ); + + // Upload use Promise to wait remove action. Let's wait this also. + await waitFakeTimer(); + + // Progress motion to done + // React 17 will reach deadline, so we need check if already done + if (container.querySelector('.ant-upload-animate-leave-active')) { + fireEvent.animationEnd(container.querySelector('.ant-upload-animate-leave-active')!); + } + + await waitFakeTimer(); + + expect(container.querySelectorAll('.ant-upload-list-item-container')).toHaveLength(1); + + unmount(); + }); + + it('should be uploading when upload a file', async () => { + const done = jest.fn(); + let wrapper: ReturnType; + let latestFileList: UploadFile[] | null = null; + const onChange: UploadProps['onChange'] = async ({ file, fileList: eventFileList }) => { + expect(eventFileList === latestFileList).toBeFalsy(); + if (file.status === 'uploading') { + await Promise.resolve(); + expect(wrapper.container.firstChild).toMatchSnapshot(); + } + if (file.status === 'done') { + done(); + } + + latestFileList = eventFileList; + }; + wrapper = render( + + + , + ); + fireEvent.change(wrapper.container.querySelector('input')!, { + target: { files: [{ name: 'foo.png' }] }, + }); + await waitFakeTimer(); + + expect(done).toHaveBeenCalled(); + + wrapper.unmount(); + }); + + it('handle error', async () => { + const onChange = jest.fn(); + + const { + container: wrapper, + unmount, + baseElement, + } = render( + + + , + ); + fireEvent.change(wrapper.querySelector('input')!, { + target: { files: [{ name: 'foo.png' }] }, + }); + + await waitFakeTimer(); + + // Wait twice since `errorRequest` also use timeout for mock + + expect(onChange).toHaveBeenLastCalledWith( + expect.objectContaining({ + file: expect.objectContaining({ status: 'error' }), + }), + ); + if (wrapper.querySelector('.ant-upload-animate-appear-active')) { + fireEvent.animationEnd(wrapper.querySelector('.ant-upload-animate-appear-active')!); + } + + await waitFakeTimer(); + expect(wrapper.firstChild).toMatchSnapshot(); + + // Error message + fireEvent.mouseEnter(wrapper.querySelector('.ant-upload-list-item')!); + + await waitFakeTimer(); + expect(baseElement.querySelector('.ant-tooltip')).not.toHaveClass('.ant-tooltip-hidden'); + + unmount(); + }); + + it('does concat fileList when beforeUpload returns false', async () => { + const handleChange = jest.fn(); + const ref = React.createRef(); + const { container: wrapper, unmount } = render( + false} + > + + , + ); + fireEvent.change(wrapper.querySelector('input')!, { + target: { files: [{ name: 'foo.png' }] }, + }); + + await waitFakeTimer(); + + expect(ref.current.fileList.length).toBe(fileList.length + 1); + expect(handleChange.mock.calls[0][0].fileList).toHaveLength(3); + + unmount(); + }); + + it('In the case of listType=picture, the error status does not show the download.', () => { + (global as any).testName = + 'In the case of listType=picture, the error status does not show the download.'; + const file = { status: 'error', uid: 'file' }; + const { container: wrapper, unmount } = render( + + + , + ); + + // Has error item className + fireEvent.mouseEnter(wrapper.querySelector('.ant-upload-list-item-error')!); + + expect(wrapper.querySelectorAll('div.ant-upload-list-item i.anticon-download').length).toBe(0); + + unmount(); + }); + + it('In the case of listType=picture-card, the error status does not show the download.', () => { + (global as any).testName = + 'In the case of listType=picture-card, the error status does not show the download.'; + const file = { status: 'error', uid: 'file' }; + const { container: wrapper, unmount } = render( + + + , + ); + expect(wrapper.querySelectorAll('div.ant-upload-list-item i.anticon-download').length).toBe(0); + + unmount(); + }); + + it('In the case of listType=text, the error status does not show the download.', () => { + const file = { status: 'error', uid: 'file' }; + const { container: wrapper, unmount } = render( + + + , + ); + expect(wrapper.querySelectorAll('div.ant-upload-list-item i.anticon-download').length).toBe(0); + + unmount(); + }); + + it('should support onPreview', () => { + const handlePreview = jest.fn(); + const { container: wrapper, unmount } = render( + + + , + ); + fireEvent.click(wrapper.querySelectorAll('.anticon-eye')[0]); + expect(handlePreview).toHaveBeenCalledWith(fileList[0]); + fireEvent.click(wrapper.querySelectorAll('.anticon-eye')[1]); + expect(handlePreview).toHaveBeenCalledWith(fileList[1]); + + unmount(); + }); + + it('should support onRemove', async () => { + const handleRemove = jest.fn(); + const handleChange = jest.fn(); + const { container: wrapper, unmount } = render( + + + , + ); + fireEvent.click(wrapper.querySelectorAll('.anticon-delete')[0]); + expect(handleRemove).toHaveBeenCalledWith(fileList[0]); + fireEvent.click(wrapper.querySelectorAll('.anticon-delete')[1]); + expect(handleRemove).toHaveBeenCalledWith(fileList[1]); + await waitFakeTimer(); + expect(handleChange).toHaveBeenCalledTimes(2); + + unmount(); + }); + + it('should support onDownload', async () => { + const handleDownload = jest.fn(); + const { container: wrapper, unmount } = render( + + + , + ); + fireEvent.click(wrapper.querySelectorAll('.anticon-download')[0]); + expect(handleDownload).toHaveBeenCalled(); + + unmount(); + }); + + it('should support no onDownload', async () => { + const { container: wrapper, unmount } = render( + + + , + ); + fireEvent.click(wrapper.querySelectorAll('.anticon-download')[0]); + + unmount(); + }); + + describe('should generate thumbUrl from file', () => { + [ + { width: 100, height: 200, name: 'height large than width' }, + { width: 200, height: 100, name: 'width large than height' }, + ].forEach(({ width, height, name }) => { + it(name, async () => { + setSize(width, height); + const onDrawImage = jest.fn(); + hookDrawImageCall(onDrawImage); + + const handlePreview = jest.fn(); + const newFileList: UploadProps['fileList'] = [...fileList]; + const newFile = { + ...fileList[0], + uid: '-3', + originFileObj: new File([], 'xxx.png', { type: 'image/png' }), + }; + delete newFile.thumbUrl; + newFileList.push(newFile as UploadFile); + const ref = React.createRef(); + const { unmount } = render( + + + , + ); + await waitFakeTimer(); + + expect(ref.current.fileList[2].thumbUrl).not.toBe(undefined); + expect(onDrawImage).toHaveBeenCalled(); + + // Offset check + const [, offsetX, offsetY] = onDrawImage.mock.calls[0]; + expect((width > height ? offsetX : offsetY) === 0).toBeTruthy(); + unmount(); + }); + }); + }); + + it('should non-image format file preview', () => { + const list = [ + { + name: 'not-image', + status: 'done', + uid: '-3', + url: 'https://cdn.xxx.com/aaa.zip', + thumbUrl: 'data:application/zip;base64,UEsDBAoAAAAAADYZYkwAAAAAAAAAAAAAAAAdAAk', + originFileObj: new File([], 'aaa.zip'), + }, + { + name: 'image', + status: 'done', + uid: '-4', + url: 'https://cdn.xxx.com/aaa', + }, + { + name: 'not-image', + status: 'done', + uid: '-5', + url: 'https://cdn.xxx.com/aaa.xx', + }, + { + name: 'not-image', + status: 'done', + uid: '-6', + url: 'https://cdn.xxx.com/aaa.png/xx.xx', + }, + { + name: 'image', + status: 'done', + uid: '-7', + url: 'https://cdn.xxx.com/xx.xx/aaa.png', + }, + { + name: 'image', + status: 'done', + uid: '-8', + url: 'https://cdn.xxx.com/xx.xx/aaa.png', + thumbUrl: 'data:image/png;base64,UEsDBAoAAAAAADYZYkwAAAAAAAAAAAAAAAAdAAk', + }, + { + name: 'image', + status: 'done', + uid: '-9', + url: 'https://cdn.xxx.com/xx.xx/aaa.png?query=123', + }, + { + name: 'image', + status: 'done', + uid: '-10', + url: 'https://cdn.xxx.com/xx.xx/aaa.png#anchor', + }, + { + name: 'image', + status: 'done', + uid: '-11', + url: 'https://cdn.xxx.com/xx.xx/aaa.png?query=some.query.with.dot', + }, + { + name: 'image', + status: 'done', + uid: '-12', + url: 'https://publish-pic-cpu.baidu.com/1296beb3-50d9-4276-885f-52645cbb378e.jpeg@w_228%2ch_152', + type: 'image/png', + }, + ]; + + const { container: wrapper, unmount } = render( + + + , + ); + expect(wrapper.firstChild).toMatchSnapshot(); + + unmount(); + }); + + it('not crash when uploading not provides percent', async () => { + const { unmount } = render( + , + ); + + await waitFakeTimer(); + + unmount(); + }); + + it('should support showRemoveIcon and showPreviewIcon', () => { + const list = [ + { + name: 'image', + status: 'uploading', + uid: '-4', + url: 'https://cdn.xxx.com/aaa', + }, + { + name: 'image', + status: 'done', + uid: '-5', + url: 'https://cdn.xxx.com/aaa', + }, + ]; + + const { container: wrapper, unmount } = render( + + + , + ); + expect(wrapper.firstChild).toMatchSnapshot(); + + unmount(); + }); + + // https://github.com/ant-design/ant-design/issues/27519 + // https://github.com/ant-design/ant-design/issues/45735 + it('should show remove icon when showRemoveIcon is true', () => { + const list = [ + { + name: 'image', + status: 'uploading', + uid: '-4', + url: 'https://cdn.xxx.com/aaa', + }, + ]; + + const { container: wrapper, unmount } = render( + + + , + ); + expect(wrapper.querySelector('.anticon-delete')).toBeTruthy(); + unmount(); + }); + + it('disabled should not affect preview and download icon', () => { + const list = [ + { + name: 'image', + status: 'done', + uid: '-4', + url: 'https://cdn.xxx.com/aaa', + }, + ]; + + const { container: wrapper, unmount } = render( + + + , + ); + // preview icon + expect( + wrapper.querySelectorAll('.ant-upload-list-item-actions > *')[0].hasAttribute('disabled'), + ).toBeFalsy(); + // download icon + + expect( + wrapper.querySelectorAll('.ant-upload-list-item-actions > *')[1].hasAttribute('disabled'), + ).toBeFalsy(); + // delete icon + expect( + wrapper.querySelectorAll('.ant-upload-list-item-actions > *')[2].hasAttribute('disabled'), + ).toBeTruthy(); + unmount(); + }); + + it('should support custom onClick in custom icon', async () => { + const handleRemove = jest.fn(); + const handleChange = jest.fn(); + const myClick = jest.fn(); + const { container: wrapper, unmount } = render( + + RM + + ), + }} + > + + , + ); + fireEvent.click(wrapper.querySelectorAll('.custom-delete')[0]); + expect(handleRemove).toHaveBeenCalledWith(fileList[0]); + expect(myClick).toHaveBeenCalled(); + fireEvent.click(wrapper.querySelectorAll('.custom-delete')[1]); + expect(handleRemove).toHaveBeenCalledWith(fileList[1]); + expect(myClick).toHaveBeenCalled(); + await waitFakeTimer(); + expect(handleChange).toHaveBeenCalledTimes(2); + + unmount(); + }); + + it('should support removeIcon and downloadIcon', () => { + const list = [ + { + name: 'image', + status: 'uploading', + uid: '-4', + url: 'https://cdn.xxx.com/aaa', + }, + { + name: 'image', + status: 'done', + uid: '-5', + url: 'https://cdn.xxx.com/aaa', + }, + ]; + + const { container: wrapper, unmount } = render( + RM, + downloadIcon: DL, + previewIcon: PV, + }} + > + + , + ); + expect(wrapper.firstChild).toMatchSnapshot(); + unmount(); + + const { container: wrapper2, unmount: unmount2 } = render( + RM, + downloadIcon: () => DL, + previewIcon: () => PV, + }} + > + + , + ); + expect(wrapper2.firstChild).toMatchSnapshot(); + unmount2(); + }); + + // https://github.com/ant-design/ant-design/issues/7762 + it('work with form validation', async () => { + let formRef: FormInstance; + + const TestForm: React.FC = () => { + const [form] = Form.useForm(); + formRef = form; + + return ( +
+ e.fileList} + rules={[ + { + required: true, + async validator(_, value) { + if (!value || value.length === 0) { + throw new Error('file required'); + } + }, + }, + ]} + > + false}> + + + +
+ ); + }; + + const { container, unmount } = render(); + + fireEvent.submit(container.querySelector('form')!); + await waitFakeTimer(); + expect(formRef!.getFieldError(['file'])).toEqual(['file required']); + + fireEvent.change(container.querySelector('input')!, { + target: { files: [{ name: 'foo.png' }] }, + }); + + fireEvent.submit(container.querySelector('form')!); + await waitFakeTimer(); + expect(formRef!.getFieldError(['file'])).toEqual([]); + + unmount(); + }); + + it('return when prop onPreview not exists', () => { + const ref = React.createRef(); + const { unmount } = render( + , + ); + expect(ref.current?.handlePreview?.()).toBe(undefined); + unmount(); + }); + + it('return when prop onDownload not exists', () => { + const file = new File([''], 'test.txt', { type: 'text/plain' }); + const items = [{ uid: 'upload-list-item', url: '' }]; + const ref = React.createRef(); + const showUploadList = { showUploadList: { showDownloadIcon: true } }; + const { unmount } = render( + , + ); + expect(ref.current?.handleDownload?.(file)).toBe(undefined); + unmount(); + }); + + it('previewFile should work correctly', async () => { + const items = [{ uid: 'upload-list-item', url: '' }]; + const previewFunc = jest.fn(previewImage); + const { container: wrapper, unmount } = render( + , + ); + + fireEvent.change(wrapper.querySelector('input')!, { + target: { files: [{ name: 'foo.png' }] }, + }); + + await waitFakeTimer(); + + expect(wrapper.querySelector('.ant-upload-list-item-thumbnail')?.getAttribute('href')).toBe( + null, + ); + + unmount(); + }); + + it('downloadFile should work correctly', async () => { + const downloadFunc = jest.fn(); + const items = [{ uid: 'upload-list-item', name: 'test', url: '', status: 'done' }]; + const { container: wrapper, unmount } = render( + , + ); + + // Not throw + const btn = wrapper.querySelector('.ant-btn'); + expect(btn?.getAttribute('title')).toBe('Download file'); + fireEvent.click(btn!); + expect(downloadFunc).toHaveBeenCalled(); + + unmount(); + }); + + it('extname should work correctly when url not exists', () => { + const items = [{ uid: 'upload-list-item', url: '' }]; + const { container: wrapper, unmount } = render( + , + ); + expect(wrapper.querySelectorAll('.ant-upload-list-item-thumbnail').length).toBe(1); + unmount(); + }); + + it('extname should work correctly when url exists', (done) => { + const items = [{ status: 'done', uid: 'upload-list-item', url: '/example' }]; + const { container: wrapper, unmount } = render( + { + expect(file.url).toBe('/example'); + unmount(); + done(); + }} + items={items as UploadListProps['items']} + locale={{ downloadFile: '' }} + showDownloadIcon + />, + ); + fireEvent.click(wrapper.querySelector('div.ant-upload-list-item .anticon-download')!); + }); + + it('when picture-card is loading, icon should render correctly', () => { + const items = [{ status: 'uploading', uid: 'upload-list-item' }]; + const { container: wrapper, unmount } = render( + , + ); + expect(wrapper.querySelectorAll('.ant-upload-list-item-thumbnail')?.length).toBe(1); + expect(wrapper.querySelector('.ant-upload-list-item-thumbnail')?.textContent).toBe('uploading'); + + unmount(); + }); + + it('onPreview should be called, when url exists', () => { + const onPreview = jest.fn(); + const items = [{ thumbUrl: 'thumbUrl', url: 'url', uid: 'upload-list-item' }]; + const { + container: wrapper, + rerender, + unmount, + } = render( + , + ); + fireEvent.click(wrapper.querySelector('.ant-upload-list-item-thumbnail')!); + expect(onPreview).toHaveBeenCalled(); + fireEvent.click(wrapper.querySelector('.ant-upload-list-item-name')!); + expect(onPreview).toHaveBeenCalled(); + rerender( + , + ); + fireEvent.click(wrapper.querySelector('.ant-upload-list-item-name')!); + expect(onPreview).toHaveBeenCalled(); + + unmount(); + }); + + it('upload image file should be converted to the base64', async () => { + const mockFile = new File([''], 'foo.png', { + type: 'image/png', + }); + + const previewFunc = jest.fn(previewImage); + + const { unmount } = render( + , + ); + + await waitFor(() => { + expect(previewFunc).toHaveBeenCalled(); + }); + await previewFunc(mockFile).then((dataUrl) => { + expect(dataUrl).toEqual('data:image/png;base64,'); + }); + unmount(); + }); + + it('upload svg file with should not have CORS error', async () => { + const mockFile = new File( + [ + '
Test
', + ], + 'bar.svg', + { type: 'image/svg+xml' }, + ); + + const previewFunc = jest.fn(previewImage); + + const { unmount } = render( + , + ); + + await waitFor(() => { + expect(previewFunc).toHaveBeenCalled(); + }); + await previewFunc(mockFile).then((dataUrl) => { + expect(dataUrl).toEqual('data:image/png;base64,'); + }); + unmount(); + }); + + it('upload gif file should be converted to the image/gif base64', async () => { + const mockFile = new File([''], 'foo.gif', { + type: 'image/gif', + }); + + const previewFunc = jest.fn(previewImage); + + const { unmount } = render( + , + ); + + await waitFor(() => { + expect(previewFunc).toHaveBeenCalled(); + }); + await previewFunc(mockFile).then((dataUrl) => { + expect(dataUrl).toEqual('data:image/gif;base64,'); + }); + unmount(); + }); + + it("upload non image file shouldn't be converted to the base64", async () => { + const mockFile = new File([''], 'foo.7z', { + type: 'application/x-7z-compressed', + }); + const previewFunc = jest.fn(previewImage); + + const { unmount } = render( + , + ); + + await waitFor(() => { + expect(previewFunc).toHaveBeenCalled(); + }); + await previewFunc(mockFile).then((dataUrl) => { + expect(dataUrl).toBe(''); + }); + + unmount(); + }); + + describe('customize previewFile support', () => { + function test(name: string, renderInstance: () => File | Blob) { + it(name, async () => { + const mockThumbnail = 'mock-image'; + const previewFile = jest.fn(() => Promise.resolve(mockThumbnail)); + const file = { + ...fileList?.[0], + originFileObj: renderInstance(), + }; + delete file.thumbUrl; + const ref = React.createRef(); + const { container: wrapper, unmount } = render( + + + , + ); + expect(previewFile).toHaveBeenCalledWith(file.originFileObj); + await waitFakeTimer(); + + expect( + wrapper.querySelector('.ant-upload-list-item-thumbnail img')?.getAttribute('src'), + ).toBe(mockThumbnail); + + unmount(); + }); + } + test('File', () => new File([], 'xxx.png')); + test('Blob', () => new Blob()); + }); + + // https://github.com/ant-design/ant-design/issues/22958 + describe('customize isImageUrl support', () => { + const list = [ + ...fileList, + { + uid: '0', + name: 'xxx.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + thumbUrl: + 'http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg@!panda_style?spm=a2c4g.11186623.2.17.4dc56b29BHokyg&file=example.jpg@!panda_style', + }, + ]; + it('should not render when file.thumbUrl use "!" as separator', () => { + const { container: wrapper, unmount } = render( + + + , + ); + const imgNode = wrapper.querySelectorAll('.ant-upload-list-item-thumbnail img'); + expect(imgNode.length).toBe(2); + unmount(); + }); + it('should render when custom imageUrl return true', () => { + const isImageUrl = jest.fn(() => true); + const { container: wrapper, unmount } = render( + + + , + ); + const imgNode = wrapper.querySelectorAll('.ant-upload-list-item-thumbnail img'); + expect(isImageUrl).toHaveBeenCalled(); + expect(imgNode.length).toBe(3); + unmount(); + }); + it('should not render when custom imageUrl return false', () => { + const isImageUrl = jest.fn(() => false); + const { container: wrapper, unmount } = render( + + + , + ); + const imgNode = wrapper.querySelectorAll('.ant-upload-list-item-thumbnail img'); + expect(isImageUrl).toHaveBeenCalled(); + expect(imgNode.length).toBe(0); + unmount(); + }); + }); + describe('thumbUrl support for non-image', () => { + const nonImageFile = new File([''], 'foo.7z', { type: 'application/x-7z-compressed' }); + it('should render when upload non-image file and configure thumbUrl in onChange', async () => { + const thumbUrl = + 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'; + let wrapper: ReturnType; + const onChange = jest.fn[]>( + ({ fileList: files }) => { + const newFileList = files?.map>((item) => ({ ...item, thumbUrl })); + + wrapper.rerender( + + + , + ); + }, + ); + + wrapper = render( + + + , + ); + const imgNode = wrapper.container.querySelectorAll('.ant-upload-list-item-thumbnail img'); + expect(imgNode.length).toBe(0); + + // Simulate change is a timeout change + fireEvent.change(wrapper.container.querySelector('input')!, { + target: { files: [nonImageFile] }, + }); + + // Wait for `rc-upload` process file + await waitFakeTimer(); + // Basic called times + expect(onChange).toHaveBeenCalled(); + + // Check for images + await waitFakeTimer(); + const afterImgNode = wrapper.container.querySelectorAll( + '.ant-upload-list-item-thumbnail img', + ); + expect(afterImgNode.length).toBeTruthy(); + + wrapper.unmount(); + }); + + it('should not render when upload non-image file without thumbUrl in onChange', async () => { + (global as any).testName = + 'should not render when upload non-image file without thumbUrl in onChange'; + let wrapper: ReturnType; + const onChange = jest.fn[]>( + ({ fileList: files }) => { + wrapper.rerender( + + + , + ); + }, + ); + wrapper = render( + + + , + ); + const imgNode = wrapper.container.querySelectorAll('.ant-upload-list-item-thumbnail img'); + expect(imgNode.length).toBe(0); + fireEvent.change(wrapper.container.querySelector('input')!, { + target: { files: [nonImageFile] }, + }); + + await waitFakeTimer(); + expect(onChange).toHaveBeenCalled(); + expect(wrapper.container.querySelectorAll('.ant-upload-list-item-thumbnail img').length).toBe( + 0, + ); + }); + }); + + it('[deprecated] should support transformFile', (done) => { + jest.useRealTimers(); + let wrapper: ReturnType; + let lastFile: UploadFile; + + const handleTransformFile = jest.fn(); + const onChange: UploadProps['onChange'] = ({ file }) => { + if (file.status === 'done') { + expect(file).not.toBe(lastFile); + expect(handleTransformFile).toHaveBeenCalled(); + wrapper.unmount(); + done(); + } + + lastFile = file; + }; + wrapper = render( + + + , + ); + fireEvent.change(wrapper.container.querySelector('input')!, { + target: { files: [{ name: 'foo.png' }] }, + }); + }); + + it('should render button inside UploadList when listStyle is picture-card', () => { + const { + container: wrapper, + rerender, + unmount, + } = render( + + + , + ); + expect(wrapper.querySelectorAll('.ant-upload-list button.trigger').length).toBeGreaterThan(0); + rerender( + + + , + ); + expect(wrapper.querySelectorAll('.ant-upload-list button.trigger').length).toBe(0); + + unmount(); + }); + + // https://github.com/ant-design/ant-design/issues/26536 + it('multiple file upload should keep the internal fileList async', async () => { + const uploadRef = React.createRef(); + + const MyUpload: React.FC = () => { + const [testFileList, setTestFileList] = React.useState([]); + + return ( + { + setTestFileList([...info.fileList]); + }} + > + + + ); + }; + + const { unmount } = render(); + + // Mock async update in a frame + const fileNames = ['light', 'bamboo', 'little']; + + await act(() => { + uploadRef.current.onBatchStart( + fileNames.map((fileName) => { + const file = new File([], fileName); + (file as any).uid = fileName; + return { file, parsedFile: file }; + }), + ); + }); + + expect(uploadRef.current.fileList).toHaveLength(fileNames.length); + + await waitFakeTimer(); + expect(uploadRef.current.fileList).toHaveLength(fileNames.length); + + unmount(); + }); + + it('itemRender', () => { + const onDownload = jest.fn(); + const onRemove = jest.fn(); + const onPreview = jest.fn(); + const itemRender: UploadListProps['itemRender'] = (_, file, currFileList, actions) => { + const { name, status, uid, url } = file; + const index = currFileList.indexOf(file); + return ( +
+ + {`uid:${uid} name: ${name} status: ${status} url: ${url} ${index + 1}/${ + currFileList.length + }`} + + + remove + + + download + + + preview + +
+ ); + }; + const { container: wrapper, unmount } = render( + , + ); + expect(wrapper.firstChild).toMatchSnapshot(); + + fireEvent.click(wrapper.querySelectorAll('.custom-item-render-action-remove')[0]); + expect(onRemove.mock.calls[0][0]).toEqual(fileList[0]); + + fireEvent.click(wrapper.querySelectorAll('.custom-item-render-action-download')[0]); + expect(onDownload.mock.calls[0][0]).toEqual(fileList[0]); + + fireEvent.click(wrapper.querySelectorAll('.custom-item-render-action-preview')[0]); + expect(onPreview.mock.calls[0][0]).toEqual(fileList[0]); + + unmount(); + }); + + it('LIST_IGNORE should not add in list', async () => { + const beforeUpload = jest.fn(() => Upload.LIST_IGNORE); + const { container: wrapper, unmount } = render(); + + fireEvent.change(wrapper.querySelector('input')!, { + target: { files: [{ file: 'foo.png' }] }, + }); + + await waitFakeTimer(); + + expect(beforeUpload).toHaveBeenCalled(); + expect(wrapper.querySelectorAll('.ant-upload-list-text-container')).toHaveLength(0); + + unmount(); + }); + + it('Not crash when fileList is null', () => { + const defaultWrapper = render( + , + ); + defaultWrapper.unmount(); + + const wrapper = render(); + wrapper.unmount(); + }); + + it('should not exist crossorigin attribute when does not set file.crossorigin in case of listType="picture"', () => { + const list = [ + { + uid: '0', + name: 'xxx.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + thumbUrl: 'https://zos.alipayobjects.com/rmsportal/IQKRngzUuFzJzGzRJXUs.png', + }, + ]; + + const { container: wrapper, unmount } = render( + + + , + ); + list.forEach((_, i) => { + const imgNode = wrapper.querySelectorAll('.ant-upload-list-item-thumbnail img')[i]; + expect(imgNode.getAttribute('crossOrigin')).toBe(null); + }); + unmount(); + }); + + it('should exist crossorigin attribute when set file.crossorigin in case of listType="picture"', () => { + const list = [ + { + uid: '0', + name: 'xxx.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + thumbUrl: 'https://zos.alipayobjects.com/rmsportal/IQKRngzUuFzJzGzRJXUs.png', + crossOrigin: '', + }, + { + uid: '1', + name: 'xxx.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + thumbUrl: 'https://zos.alipayobjects.com/rmsportal/IQKRngzUuFzJzGzRJXUs.png', + crossOrigin: 'anonymous', + }, + { + uid: '2', + name: 'xxx.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + thumbUrl: 'https://zos.alipayobjects.com/rmsportal/IQKRngzUuFzJzGzRJXUs.png', + crossOrigin: 'use-credentials', + }, + ]; + + const { container: wrapper, unmount } = render( + + + , + ); + list.forEach((file, i) => { + const imgNode = wrapper.querySelectorAll('.ant-upload-list-item-thumbnail img')[i]; + expect(imgNode.getAttribute('crossOrigin')).not.toBe(undefined); + expect(imgNode.getAttribute('crossOrigin')).toBe(file.crossOrigin); + }); + unmount(); + }); + + it('should not exist crossorigin attribute when does not set file.crossorigin in case of listType="picture-card"', () => { + const list = [ + { + uid: '0', + name: 'xxx.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + thumbUrl: 'https://zos.alipayobjects.com/rmsportal/IQKRngzUuFzJzGzRJXUs.png', + }, + ]; + + const { container: wrapper, unmount } = render( + + + , + ); + list.forEach((_, i) => { + const imgNode = wrapper.querySelectorAll('.ant-upload-list-item-thumbnail img')[i]; + expect(imgNode.getAttribute('crossOrigin')).toBe(null); + }); + unmount(); + }); + + it('should exist crossorigin attribute when set file.crossorigin in case of listType="picture-card"', () => { + const list = [ + { + uid: '0', + name: 'xxx.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + thumbUrl: 'https://zos.alipayobjects.com/rmsportal/IQKRngzUuFzJzGzRJXUs.png', + crossOrigin: '', + }, + { + uid: '1', + name: 'xxx.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + thumbUrl: 'https://zos.alipayobjects.com/rmsportal/IQKRngzUuFzJzGzRJXUs.png', + crossOrigin: 'anonymous', + }, + { + uid: '2', + name: 'xxx.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + thumbUrl: 'https://zos.alipayobjects.com/rmsportal/IQKRngzUuFzJzGzRJXUs.png', + crossOrigin: 'use-credentials', + }, + ]; + + const { container: wrapper, unmount } = render( + + + , + ); + list.forEach((file, i) => { + const imgNode = wrapper.querySelectorAll('.ant-upload-list-item-thumbnail img')[i]; + expect(imgNode.getAttribute('crossOrigin')).not.toBe(undefined); + expect(imgNode.getAttribute('crossOrigin')).toBe(file.crossOrigin); + }); + unmount(); + }); + + describe('should not display upload file-select button when listType is picture-card and children is empty', () => { + it('when showUploadList is true', () => { + const list = [ + { + uid: '0', + name: 'xxx.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + thumbUrl: 'https://zos.alipayobjects.com/rmsportal/IQKRngzUuFzJzGzRJXUs.png', + }, + ]; + const { container: wrapper, unmount } = render( + , + ); + expect(wrapper.querySelectorAll('.ant-upload-select').length).toBe(1); + expect(wrapper.querySelectorAll('.ant-upload-select')[0]?.style.display).toBe( + 'none', + ); + unmount(); + }); + + // https://github.com/ant-design/ant-design/issues/36183 + it('when showUploadList is false', () => { + const list = [ + { + uid: '0', + name: 'xxx.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + thumbUrl: 'https://zos.alipayobjects.com/rmsportal/IQKRngzUuFzJzGzRJXUs.png', + }, + ]; + const { container: wrapper, unmount } = render( + , + ); + expect(wrapper.querySelectorAll('.ant-upload-select').length).toBe(1); + expect(wrapper.querySelectorAll('.ant-upload-select')[0]?.style.display).toBe( + 'none', + ); + unmount(); + }); + }); + + // https://github.com/ant-design/ant-design/issues/36286 + it('remove should keep origin className', async () => { + const onChange = jest.fn(); + const list = [ + { + uid: '0', + name: 'xxx.png', + status: 'error', + }, + ]; + const { container } = render( + , + ); + + fireEvent.click(container.querySelector('.anticon-delete')!); + + await waitFakeTimer(); + + expect(onChange).toHaveBeenCalledWith( + expect.objectContaining({ + file: expect.objectContaining({ status: 'removed' }), + }), + ); + + expect(container.querySelector('.ant-upload-list-item-error')).toBeTruthy(); + }); + + // https://github.com/ant-design/ant-design/issues/42056 + describe('when form is disabled but upload is not', () => { + it('should not disable remove button', () => { + const { container } = render( +
+ + + +
, + ); + + const removeButton = container.querySelector('.ant-upload-list-item-actions > button'); + expect(removeButton).toBeTruthy(); + expect(removeButton).not.toBeDisabled(); + }); + }); +}); diff --git a/packages/meta/src/upload/demo/avatar.md b/packages/meta/src/upload/demo/avatar.md new file mode 100644 index 0000000..e483f45 --- /dev/null +++ b/packages/meta/src/upload/demo/avatar.md @@ -0,0 +1,11 @@ +## zh-CN + +点击上传用户头像,并使用 `beforeUpload` 限制用户上传的图片格式和大小。 + +> `beforeUpload` 的返回值可以是一个 Promise 以支持异步处理,如服务端校验等:[示例](https://upload-react-component.vercel.app/demo/before-upload#beforeupload)。 + +## en-US + +Click to upload user's avatar, and validate size and format of picture with `beforeUpload`. + +> The return value of function `beforeUpload` can be a Promise to check asynchronously. [demo](https://upload-react-component.vercel.app/demo/before-upload#beforeupload) diff --git a/packages/meta/src/upload/demo/avatar.tsx b/packages/meta/src/upload/demo/avatar.tsx new file mode 100644 index 0000000..594316c --- /dev/null +++ b/packages/meta/src/upload/demo/avatar.tsx @@ -0,0 +1,78 @@ +import React, { useState } from 'react'; +import { LoadingOutlined, PlusOutlined } from '@ant-design/icons'; +import { message, Upload } from 'antd'; +import type { UploadChangeParam } from 'antd/es/upload'; +import type { RcFile, UploadFile, UploadProps } from 'antd/es/upload/interface'; + +const getBase64 = (img: RcFile, callback: (url: string) => void) => { + const reader = new FileReader(); + reader.addEventListener('load', () => callback(reader.result as string)); + reader.readAsDataURL(img); +}; + +const beforeUpload = (file: RcFile) => { + const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png'; + if (!isJpgOrPng) { + message.error('You can only upload JPG/PNG file!'); + } + const isLt2M = file.size / 1024 / 1024 < 2; + if (!isLt2M) { + message.error('Image must smaller than 2MB!'); + } + return isJpgOrPng && isLt2M; +}; + +const App: React.FC = () => { + const [loading, setLoading] = useState(false); + const [imageUrl, setImageUrl] = useState(); + + const handleChange: UploadProps['onChange'] = (info: UploadChangeParam) => { + if (info.file.status === 'uploading') { + setLoading(true); + return; + } + if (info.file.status === 'done') { + // Get this url from response in real world. + getBase64(info.file.originFileObj as RcFile, (url) => { + setLoading(false); + setImageUrl(url); + }); + } + }; + + const uploadButton = ( + + ); + + return ( + <> + + {imageUrl ? avatar : uploadButton} + + + {imageUrl ? avatar : uploadButton} + + + ); +}; + +export default App; diff --git a/packages/meta/src/upload/demo/basic.md b/packages/meta/src/upload/demo/basic.md new file mode 100644 index 0000000..4d3da62 --- /dev/null +++ b/packages/meta/src/upload/demo/basic.md @@ -0,0 +1,7 @@ +## zh-CN + +经典款式,用户点击按钮弹出文件选择框。 + +## en-US + +Classic mode. File selection dialog pops up when upload button is clicked. diff --git a/packages/meta/src/upload/demo/basic.tsx b/packages/meta/src/upload/demo/basic.tsx new file mode 100644 index 0000000..3908dad --- /dev/null +++ b/packages/meta/src/upload/demo/basic.tsx @@ -0,0 +1,30 @@ +import React from 'react'; +import { UploadOutlined } from '@ant-design/icons'; +import type { UploadProps } from 'antd'; +import { Button, message, Upload } from 'antd'; + +const props: UploadProps = { + name: 'file', + action: 'https://run.mocky.io/v3/435e224c-44fb-4773-9faf-380c5e6a2188', + headers: { + authorization: 'authorization-text', + }, + onChange(info) { + if (info.file.status !== 'uploading') { + console.log(info.file, info.fileList); + } + if (info.file.status === 'done') { + message.success(`${info.file.name} file uploaded successfully`); + } else if (info.file.status === 'error') { + message.error(`${info.file.name} file upload failed.`); + } + }, +}; + +const App: React.FC = () => ( + + + +); + +export default App; diff --git a/packages/meta/src/upload/demo/component-token.md b/packages/meta/src/upload/demo/component-token.md new file mode 100644 index 0000000..de91480 --- /dev/null +++ b/packages/meta/src/upload/demo/component-token.md @@ -0,0 +1,7 @@ +## zh-CN + +Component Token Debug. + +## en-US + +Component Token Debug. diff --git a/packages/meta/src/upload/demo/component-token.tsx b/packages/meta/src/upload/demo/component-token.tsx new file mode 100644 index 0000000..0c8773a --- /dev/null +++ b/packages/meta/src/upload/demo/component-token.tsx @@ -0,0 +1,53 @@ +import { UploadOutlined } from '@ant-design/icons'; +import React from 'react'; +import type { UploadProps } from 'antd'; +import { Button, ConfigProvider, Upload } from 'antd'; + +const props: UploadProps = { + action: 'https://run.mocky.io/v3/435e224c-44fb-4773-9faf-380c5e6a2188', + onChange({ file, fileList }) { + if (file.status !== 'uploading') { + console.log(file, fileList); + } + }, + defaultFileList: [ + { + uid: '1', + name: 'xxx.png', + status: 'uploading', + url: 'http://www.baidu.com/xxx.png', + percent: 33, + }, + { + uid: '2', + name: 'yyy.png', + status: 'done', + url: 'http://www.baidu.com/yyy.png', + }, + { + uid: '3', + name: 'zzz.png', + status: 'error', + response: 'Server Error 500', // custom error message to show + url: 'http://www.baidu.com/zzz.png', + }, + ], +}; + +const App: React.FC = () => ( + + + + + +); + +export default App; diff --git a/packages/meta/src/upload/demo/crop-image.md b/packages/meta/src/upload/demo/crop-image.md new file mode 100644 index 0000000..e8d0c72 --- /dev/null +++ b/packages/meta/src/upload/demo/crop-image.md @@ -0,0 +1,7 @@ +## zh-CN + +配合 [antd-img-crop](https://github.com/nanxiaobei/antd-img-crop) 实现上传前裁切图片。 + +## en-US + +Use [antd-img-crop](https://github.com/nanxiaobei/antd-img-crop) to crop image before uploading. diff --git a/packages/meta/src/upload/demo/crop-image.tsx b/packages/meta/src/upload/demo/crop-image.tsx new file mode 100644 index 0000000..addd987 --- /dev/null +++ b/packages/meta/src/upload/demo/crop-image.tsx @@ -0,0 +1,50 @@ +import ImgCrop from 'antd-img-crop'; +import React, { useState } from 'react'; +import { Upload } from 'antd'; +import type { RcFile, UploadFile, UploadProps } from 'antd/es/upload/interface'; + +const App: React.FC = () => { + const [fileList, setFileList] = useState([ + { + uid: '-1', + name: 'image.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + }, + ]); + + const onChange: UploadProps['onChange'] = ({ fileList: newFileList }) => { + setFileList(newFileList); + }; + + const onPreview = async (file: UploadFile) => { + let src = file.url as string; + if (!src) { + src = await new Promise((resolve) => { + const reader = new FileReader(); + reader.readAsDataURL(file.originFileObj as RcFile); + reader.onload = () => resolve(reader.result as string); + }); + } + const image = new Image(); + image.src = src; + const imgWindow = window.open(src); + imgWindow?.document.write(image.outerHTML); + }; + + return ( + + + {fileList.length < 5 && '+ Upload'} + + + ); +}; + +export default App; diff --git a/packages/meta/src/upload/demo/customize-progress-bar.md b/packages/meta/src/upload/demo/customize-progress-bar.md new file mode 100644 index 0000000..0d68029 --- /dev/null +++ b/packages/meta/src/upload/demo/customize-progress-bar.md @@ -0,0 +1,7 @@ +## zh-CN + +使用 `progress` 属性自定义进度条样式。 + +## en-US + +Use `progress` for customize progress bar. diff --git a/packages/meta/src/upload/demo/customize-progress-bar.tsx b/packages/meta/src/upload/demo/customize-progress-bar.tsx new file mode 100644 index 0000000..8f7865c --- /dev/null +++ b/packages/meta/src/upload/demo/customize-progress-bar.tsx @@ -0,0 +1,38 @@ +import React from 'react'; +import { UploadOutlined } from '@ant-design/icons'; +import type { UploadProps } from 'antd'; +import { Button, message, Upload } from 'antd'; + +const props: UploadProps = { + name: 'file', + action: 'https://run.mocky.io/v3/435e224c-44fb-4773-9faf-380c5e6a2188', + headers: { + authorization: 'authorization-text', + }, + onChange(info) { + if (info.file.status !== 'uploading') { + console.log(info.file, info.fileList); + } + if (info.file.status === 'done') { + message.success(`${info.file.name} file uploaded successfully`); + } else if (info.file.status === 'error') { + message.error(`${info.file.name} file upload failed.`); + } + }, + progress: { + strokeColor: { + '0%': '#108ee9', + '100%': '#87d068', + }, + strokeWidth: 3, + format: (percent) => percent && `${parseFloat(percent.toFixed(2))}%`, + }, +}; + +const App: React.FC = () => ( + + + +); + +export default App; diff --git a/packages/meta/src/upload/demo/debug-disabled.md b/packages/meta/src/upload/demo/debug-disabled.md new file mode 100644 index 0000000..922e5b9 --- /dev/null +++ b/packages/meta/src/upload/demo/debug-disabled.md @@ -0,0 +1,7 @@ +## zh-CN + +Disabled Style Debug. + +## en-US + +Disabled Style Debug. diff --git a/packages/meta/src/upload/demo/debug-disabled.tsx b/packages/meta/src/upload/demo/debug-disabled.tsx new file mode 100644 index 0000000..b2a17fc --- /dev/null +++ b/packages/meta/src/upload/demo/debug-disabled.tsx @@ -0,0 +1,69 @@ +import React from 'react'; +import { InboxOutlined, PlusOutlined, UploadOutlined } from '@ant-design/icons'; +import { Button, Space, Upload } from 'antd'; +import type { UploadFile } from 'antd/es/upload/interface'; + +const { Dragger } = Upload; + +const fileList: UploadFile[] = [ + { + uid: '-1', + name: 'image.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + }, + { + uid: '-2', + name: 'image.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + }, + { + uid: '-xxx', + percent: 50, + name: 'image.png', + status: 'uploading', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + }, + { + uid: '-5', + name: 'image.png', + status: 'error', + }, +]; + +const App: React.FC = () => { + const uploadButton = ( + + ); + + return ( + + Click Text to Upload + + + + + {uploadButton} + + + {uploadButton} + + +

+ +

+

Click or drag file to this area to upload

+

+ Support for a single or bulk upload. Strictly prohibited from uploading company data or + other banned files. +

+
+
+ ); +}; + +export default App; diff --git a/packages/meta/src/upload/demo/defaultFileList.md b/packages/meta/src/upload/demo/defaultFileList.md new file mode 100644 index 0000000..f0d5437 --- /dev/null +++ b/packages/meta/src/upload/demo/defaultFileList.md @@ -0,0 +1,7 @@ +## zh-CN + +使用 `defaultFileList` 设置已上传的内容。 + +## en-US + +Use `defaultFileList` for uploaded files when page init. diff --git a/packages/meta/src/upload/demo/defaultFileList.tsx b/packages/meta/src/upload/demo/defaultFileList.tsx new file mode 100644 index 0000000..4f4e759 --- /dev/null +++ b/packages/meta/src/upload/demo/defaultFileList.tsx @@ -0,0 +1,43 @@ +import React from 'react'; +import { UploadOutlined } from '@ant-design/icons'; +import type { UploadProps } from 'antd'; +import { Button, Upload } from 'antd'; + +const props: UploadProps = { + action: 'https://run.mocky.io/v3/435e224c-44fb-4773-9faf-380c5e6a2188', + onChange({ file, fileList }) { + if (file.status !== 'uploading') { + console.log(file, fileList); + } + }, + defaultFileList: [ + { + uid: '1', + name: 'xxx.png', + status: 'uploading', + url: 'http://www.baidu.com/xxx.png', + percent: 33, + }, + { + uid: '2', + name: 'yyy.png', + status: 'done', + url: 'http://www.baidu.com/yyy.png', + }, + { + uid: '3', + name: 'zzz.png', + status: 'error', + response: 'Server Error 500', // custom error message to show + url: 'http://www.baidu.com/zzz.png', + }, + ], +}; + +const App: React.FC = () => ( + + + +); + +export default App; diff --git a/packages/meta/src/upload/demo/directory.md b/packages/meta/src/upload/demo/directory.md new file mode 100644 index 0000000..501c87c --- /dev/null +++ b/packages/meta/src/upload/demo/directory.md @@ -0,0 +1,7 @@ +## zh-CN + +支持上传一个文件夹里的所有文件。 [Safari 里仍然能选择文件?]('#/%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%8A%E4%BC%A0%E5%9C%A8%20Safari%20%E4%BB%8D%E7%84%B6%E5%8F%AF%E4%BB%A5%E9%80%89%E4%B8%AD%E6%96%87%E4%BB%B6') + +## en-US + +You can select and upload a whole directory. [Can still select files when uploading a folder in Safari?]('#/Can%20still%20select%20files%20when%20uploading%20a%20folder%20in%20Safari') diff --git a/packages/meta/src/upload/demo/directory.tsx b/packages/meta/src/upload/demo/directory.tsx new file mode 100644 index 0000000..0b866d7 --- /dev/null +++ b/packages/meta/src/upload/demo/directory.tsx @@ -0,0 +1,11 @@ +import React from 'react'; +import { UploadOutlined } from '@ant-design/icons'; +import { Button, Upload } from 'antd'; + +const App: React.FC = () => ( + + + +); + +export default App; diff --git a/packages/meta/src/upload/demo/drag-sorting.md b/packages/meta/src/upload/demo/drag-sorting.md new file mode 100644 index 0000000..4cc428b --- /dev/null +++ b/packages/meta/src/upload/demo/drag-sorting.md @@ -0,0 +1,13 @@ +## zh-CN + +使用 `itemRender` ,我们可以集成 [dnd-kit](https://github.com/clauderic/dnd-kit) 来实现对上传列表拖拽排序。 + +## en-US + +By using `itemRender`, we can integrate upload with [dnd-kit](https://github.com/clauderic/dnd-kit) to implement drag sorting of uploadList. + +```css +.is-dragging a { + pointer-events: none; +} +``` diff --git a/packages/meta/src/upload/demo/drag-sorting.tsx b/packages/meta/src/upload/demo/drag-sorting.tsx new file mode 100644 index 0000000..22335cf --- /dev/null +++ b/packages/meta/src/upload/demo/drag-sorting.tsx @@ -0,0 +1,115 @@ +import { UploadOutlined } from '@ant-design/icons'; +import type { DragEndEvent } from '@dnd-kit/core'; +import { DndContext, PointerSensor, useSensor } from '@dnd-kit/core'; +import { + arrayMove, + SortableContext, + useSortable, + verticalListSortingStrategy, +} from '@dnd-kit/sortable'; +import { CSS } from '@dnd-kit/utilities'; +import React, { useState } from 'react'; +import { Button, Upload } from 'antd'; +import type { UploadFile, UploadProps } from 'antd/es/upload/interface'; + +interface DraggableUploadListItemProps { + originNode: React.ReactElement>; + file: UploadFile; +} + +const DraggableUploadListItem = ({ originNode, file }: DraggableUploadListItemProps) => { + const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable({ + id: file.uid, + }); + + const style: React.CSSProperties = { + transform: CSS.Transform.toString(transform), + transition, + cursor: 'move', + }; + + return ( +
+ {/* hide error tooltip when dragging */} + {file.status === 'error' && isDragging ? originNode.props.children : originNode} +
+ ); +}; + +const App: React.FC = () => { + const [fileList, setFileList] = useState([ + { + uid: '-1', + name: 'image1.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + }, + { + uid: '-2', + name: 'image2.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + }, + { + uid: '-3', + name: 'image3.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + }, + { + uid: '-4', + name: 'image4.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + }, + { + uid: '-5', + name: 'image.png', + status: 'error', + }, + ]); + + const sensor = useSensor(PointerSensor, { + activationConstraint: { distance: 10 }, + }); + + const onDragEnd = ({ active, over }: DragEndEvent) => { + if (active.id !== over?.id) { + setFileList((prev) => { + const activeIndex = prev.findIndex((i) => i.uid === active.id); + const overIndex = prev.findIndex((i) => i.uid === over?.id); + return arrayMove(prev, activeIndex, overIndex); + }); + } + }; + + const onChange: UploadProps['onChange'] = ({ fileList: newFileList }) => { + setFileList(newFileList); + }; + + return ( + + i.uid)} strategy={verticalListSortingStrategy}> + ( + + )} + > + + + + + ); +}; + +export default App; diff --git a/packages/meta/src/upload/demo/drag.md b/packages/meta/src/upload/demo/drag.md new file mode 100644 index 0000000..528f29c --- /dev/null +++ b/packages/meta/src/upload/demo/drag.md @@ -0,0 +1,11 @@ +## zh-CN + +把文件拖入指定区域,完成上传,同样支持点击上传。 + +设置 `multiple` 后,在 `IE10+` 可以一次上传多个文件。 + +## en-US + +You can drag files to a specific area, to upload. Alternatively, you can also upload by selecting. + +We can upload several files at once in modern browsers by giving the input the `multiple` attribute. diff --git a/packages/meta/src/upload/demo/drag.tsx b/packages/meta/src/upload/demo/drag.tsx new file mode 100644 index 0000000..7c55a7c --- /dev/null +++ b/packages/meta/src/upload/demo/drag.tsx @@ -0,0 +1,41 @@ +import React from 'react'; +import { InboxOutlined } from '@ant-design/icons'; +import type { UploadProps } from 'antd'; +import { message, Upload } from 'antd'; + +const { Dragger } = Upload; + +const props: UploadProps = { + name: 'file', + multiple: true, + action: 'https://run.mocky.io/v3/435e224c-44fb-4773-9faf-380c5e6a2188', + onChange(info) { + const { status } = info.file; + if (status !== 'uploading') { + console.log(info.file, info.fileList); + } + if (status === 'done') { + message.success(`${info.file.name} file uploaded successfully.`); + } else if (status === 'error') { + message.error(`${info.file.name} file upload failed.`); + } + }, + onDrop(e) { + console.log('Dropped files', e.dataTransfer.files); + }, +}; + +const App: React.FC = () => ( + +

+ +

+

Click or drag file to this area to upload

+

+ Support for a single or bulk upload. Strictly prohibited from uploading company data or other + banned files. +

+
+); + +export default App; diff --git a/packages/meta/src/upload/demo/file-type.md b/packages/meta/src/upload/demo/file-type.md new file mode 100644 index 0000000..78b4fd4 --- /dev/null +++ b/packages/meta/src/upload/demo/file-type.md @@ -0,0 +1,7 @@ +## zh-CN + +根据类型默认显示对应 icon + +## en-US + +Displays the corresponding by default by type icon diff --git a/packages/meta/src/upload/demo/file-type.tsx b/packages/meta/src/upload/demo/file-type.tsx new file mode 100644 index 0000000..ebd3a99 --- /dev/null +++ b/packages/meta/src/upload/demo/file-type.tsx @@ -0,0 +1,121 @@ +import React, { useState } from 'react'; +import { + FileExcelTwoTone, + FilePdfTwoTone, + FileWordTwoTone, + LoadingOutlined, + PaperClipOutlined, + PictureTwoTone, + PlusOutlined, +} from '@ant-design/icons'; +import { Modal, Upload } from 'antd'; +import type { RcFile, UploadFile, UploadProps } from 'antd/es/upload/interface'; + +const getBase64 = (file: RcFile): Promise => + new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.readAsDataURL(file); + reader.onload = () => resolve(reader.result as string); + reader.onerror = (error) => reject(error); + }); + +const App: React.FC = () => { + const [previewOpen, setPreviewOpen] = useState(false); + const [previewImage, setPreviewImage] = useState(''); + const [fileList, setFileList] = useState([ + { + uid: '-2', + name: 'pdf.pdf', + status: 'done', + url: 'http://cdn07.foxitsoftware.cn/pub/foxit/cpdf/FoxitCompanyProfile.pdf', + }, + { + uid: '-3', + name: 'doc.doc', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.doc', + }, + { + uid: '-4', + name: 'image.png', + status: 'error', + }, + { + uid: '-5', + name: 'pdf.pdf', + status: 'error', + }, + { + uid: '-6', + name: 'doc.doc', + status: 'error', + }, + ]); + + const handleCancel = () => setPreviewOpen(false); + + const handlePreview = async (file: UploadFile) => { + if (!file.url && !file.preview) { + file.preview = await getBase64(file.originFileObj as RcFile); + } + + setPreviewOpen(true); + setPreviewImage(file.url || (file.preview as string)); + }; + + const handleChange: UploadProps['onChange'] = ({ fileList: newFileList }) => + setFileList(newFileList); + + const handleIconRender: UploadProps['iconRender'] = (file, listType) => { + const fileSufIconList = [ + { type: , suf: ['.pdf'] }, + { type: , suf: ['.xlsx', '.xls', '.csv'] }, + { type: , suf: ['.doc', '.docx'] }, + { + type: , + suf: ['.webp', '.svg', '.png', '.gif', '.jpg', '.jpeg', '.jfif', '.bmp', '.dpg'], + }, + ]; + // console.log(1, file, listType); + let icon = file.status === 'uploading' ? : ; + if (listType === 'picture' || listType === 'picture-card' || listType === 'picture-circle') { + if (listType === 'picture-card' && file.status === 'uploading') { + icon = ; // or icon = 'uploading...'; + } else { + fileSufIconList.forEach((item) => { + if (item.suf.includes(file.name.slice(file.name.lastIndexOf('.')))) { + icon = item.type; + } + }); + } + } + return icon; + }; + + const uploadButton = ( + + ); + + return ( + <> + + {fileList.length >= 8 ? null : uploadButton} + + + example + + + ); +}; + +export default App; diff --git a/packages/meta/src/upload/demo/fileList.md b/packages/meta/src/upload/demo/fileList.md new file mode 100644 index 0000000..47a4662 --- /dev/null +++ b/packages/meta/src/upload/demo/fileList.md @@ -0,0 +1,15 @@ +## zh-CN + +使用 `fileList` 对列表进行完全控制,可以实现各种自定义功能,以下演示二种情况: + +1. 上传列表数量的限制。 + +2. 读取远程路径并显示链接。 + +## en-US + +You can gain full control over filelist by configuring `fileList`. You can accomplish all kinds of customized functions. The following shows two circumstances: + +1. limit the number of uploaded files. + +2. read from response and show file link. diff --git a/packages/meta/src/upload/demo/fileList.tsx b/packages/meta/src/upload/demo/fileList.tsx new file mode 100644 index 0000000..412cff2 --- /dev/null +++ b/packages/meta/src/upload/demo/fileList.tsx @@ -0,0 +1,48 @@ +import React, { useState } from 'react'; +import { UploadOutlined } from '@ant-design/icons'; +import type { UploadProps } from 'antd'; +import { Button, Upload } from 'antd'; +import type { UploadFile } from 'antd/es/upload/interface'; + +const App: React.FC = () => { + const [fileList, setFileList] = useState([ + { + uid: '-1', + name: 'xxx.png', + status: 'done', + url: 'http://www.baidu.com/xxx.png', + }, + ]); + + const handleChange: UploadProps['onChange'] = (info) => { + let newFileList = [...info.fileList]; + + // 1. Limit the number of uploaded files + // Only to show two recent uploaded files, and old ones will be replaced by the new + newFileList = newFileList.slice(-2); + + // 2. Read from response and show file link + newFileList = newFileList.map((file) => { + if (file.response) { + // Component will show file.url as link + file.url = file.response.url; + } + return file; + }); + + setFileList(newFileList); + }; + + const props = { + action: 'https://run.mocky.io/v3/435e224c-44fb-4773-9faf-380c5e6a2188', + onChange: handleChange, + multiple: true, + }; + return ( + + + + ); +}; + +export default App; diff --git a/packages/meta/src/upload/demo/max-count.md b/packages/meta/src/upload/demo/max-count.md new file mode 100644 index 0000000..e15a295 --- /dev/null +++ b/packages/meta/src/upload/demo/max-count.md @@ -0,0 +1,7 @@ +## zh-CN + +通过 `maxCount` 限制上传数量。当为 `1` 时,始终用最新上传的代替当前。 + +## en-US + +Limit files with `maxCount`. Will replace current one when `maxCount` is `1`. diff --git a/packages/meta/src/upload/demo/max-count.tsx b/packages/meta/src/upload/demo/max-count.tsx new file mode 100644 index 0000000..ae1f4b9 --- /dev/null +++ b/packages/meta/src/upload/demo/max-count.tsx @@ -0,0 +1,25 @@ +import React from 'react'; +import { UploadOutlined } from '@ant-design/icons'; +import { Button, Space, Upload } from 'antd'; + +const App: React.FC = () => ( + + + + + + + + +); + +export default App; diff --git a/packages/meta/src/upload/demo/picture-card.md b/packages/meta/src/upload/demo/picture-card.md new file mode 100644 index 0000000..80e9394 --- /dev/null +++ b/packages/meta/src/upload/demo/picture-card.md @@ -0,0 +1,7 @@ +## zh-CN + +用户可以上传图片并在列表中显示缩略图。当上传照片数到达限制后,上传按钮消失。 + +## en-US + +After users upload picture, the thumbnail will be shown in list. The upload button will disappear when count meets limitation. diff --git a/packages/meta/src/upload/demo/picture-card.tsx b/packages/meta/src/upload/demo/picture-card.tsx new file mode 100644 index 0000000..fef9858 --- /dev/null +++ b/packages/meta/src/upload/demo/picture-card.tsx @@ -0,0 +1,97 @@ +import React, { useState } from 'react'; +import { PlusOutlined } from '@ant-design/icons'; +import { Modal, Upload } from 'antd'; +import type { RcFile, UploadProps } from 'antd/es/upload'; +import type { UploadFile } from 'antd/es/upload/interface'; + +const getBase64 = (file: RcFile): Promise => + new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.readAsDataURL(file); + reader.onload = () => resolve(reader.result as string); + reader.onerror = (error) => reject(error); + }); + +const App: React.FC = () => { + const [previewOpen, setPreviewOpen] = useState(false); + const [previewImage, setPreviewImage] = useState(''); + const [previewTitle, setPreviewTitle] = useState(''); + const [fileList, setFileList] = useState([ + { + uid: '-1', + name: 'image.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + }, + { + uid: '-2', + name: 'image.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + }, + { + uid: '-3', + name: 'image.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + }, + { + uid: '-4', + name: 'image.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + }, + { + uid: '-xxx', + percent: 50, + name: 'image.png', + status: 'uploading', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + }, + { + uid: '-5', + name: 'image.png', + status: 'error', + }, + ]); + + const handleCancel = () => setPreviewOpen(false); + + const handlePreview = async (file: UploadFile) => { + if (!file.url && !file.preview) { + file.preview = await getBase64(file.originFileObj as RcFile); + } + + setPreviewImage(file.url || (file.preview as string)); + setPreviewOpen(true); + setPreviewTitle(file.name || file.url!.substring(file.url!.lastIndexOf('/') + 1)); + }; + + const handleChange: UploadProps['onChange'] = ({ fileList: newFileList }) => + setFileList(newFileList); + + const uploadButton = ( + + ); + return ( + <> + + {fileList.length >= 8 ? null : uploadButton} + + + example + + + ); +}; + +export default App; diff --git a/packages/meta/src/upload/demo/picture-circle.md b/packages/meta/src/upload/demo/picture-circle.md new file mode 100644 index 0000000..66f9d2d --- /dev/null +++ b/packages/meta/src/upload/demo/picture-circle.md @@ -0,0 +1,7 @@ +## zh-CN + +图片卡的替代显示。 + +## en-US + +Alternative display for picture-card. diff --git a/packages/meta/src/upload/demo/picture-circle.tsx b/packages/meta/src/upload/demo/picture-circle.tsx new file mode 100644 index 0000000..459b6d5 --- /dev/null +++ b/packages/meta/src/upload/demo/picture-circle.tsx @@ -0,0 +1,79 @@ +import React, { useState } from 'react'; +import { PlusOutlined } from '@ant-design/icons'; +import { Modal, Upload } from 'antd'; +import type { RcFile, UploadProps } from 'antd/es/upload'; +import type { UploadFile } from 'antd/es/upload/interface'; + +const getBase64 = (file: RcFile): Promise => + new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.readAsDataURL(file); + reader.onload = () => resolve(reader.result as string); + reader.onerror = (error) => reject(error); + }); + +const App: React.FC = () => { + const [previewOpen, setPreviewOpen] = useState(false); + const [previewImage, setPreviewImage] = useState(''); + const [previewTitle, setPreviewTitle] = useState(''); + const [fileList, setFileList] = useState([ + { + uid: '-1', + name: 'image.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + }, + { + uid: '-xxx', + percent: 50, + name: 'image.png', + status: 'uploading', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + }, + { + uid: '-5', + name: 'image.png', + status: 'error', + }, + ]); + + const handleCancel = () => setPreviewOpen(false); + + const handlePreview = async (file: UploadFile) => { + if (!file.url && !file.preview) { + file.preview = await getBase64(file.originFileObj as RcFile); + } + + setPreviewImage(file.url || (file.preview as string)); + setPreviewOpen(true); + setPreviewTitle(file.name || file.url!.substring(file.url!.lastIndexOf('/') + 1)); + }; + + const handleChange: UploadProps['onChange'] = ({ fileList: newFileList }) => + setFileList(newFileList); + + const uploadButton = ( + + ); + return ( + <> + + {fileList.length >= 8 ? null : uploadButton} + + + example + + + ); +}; + +export default App; diff --git a/packages/meta/src/upload/demo/picture-style.md b/packages/meta/src/upload/demo/picture-style.md new file mode 100644 index 0000000..c983c35 --- /dev/null +++ b/packages/meta/src/upload/demo/picture-style.md @@ -0,0 +1,20 @@ +## zh-CN + +上传文件为图片,可展示本地缩略图。`IE8/9` 不支持浏览器本地缩略图展示([Ref](https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL)),可以写 `thumbUrl` 属性来代替。 + +## en-US + +If uploaded file is a picture, the thumbnail can be shown. `IE8/9` do not support local thumbnail show. Please use `thumbUrl` instead. + +```css +/* tile uploaded pictures */ +.upload-list-inline .ant-upload-list-item { + float: left; + width: 200px; + margin-inline-end: 8px; +} + +.ant-upload-rtl.upload-list-inline .ant-upload-list-item { + float: right; +} +``` diff --git a/packages/meta/src/upload/demo/picture-style.tsx b/packages/meta/src/upload/demo/picture-style.tsx new file mode 100644 index 0000000..7d006fe --- /dev/null +++ b/packages/meta/src/upload/demo/picture-style.tsx @@ -0,0 +1,49 @@ +import React from 'react'; +import { UploadOutlined } from '@ant-design/icons'; +import { Button, Upload } from 'antd'; +import type { UploadFile } from 'antd/es/upload/interface'; + +const fileList: UploadFile[] = [ + { + uid: '0', + name: 'xxx.png', + status: 'uploading', + percent: 33, + }, + { + uid: '-1', + name: 'yyy.png', + status: 'done', + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + thumbUrl: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', + }, + { + uid: '-2', + name: 'zzz.png', + status: 'error', + }, +]; + +const App: React.FC = () => ( + <> + + + +
+
+ + + + +); + +export default App; diff --git a/packages/meta/src/upload/demo/preview-file.md b/packages/meta/src/upload/demo/preview-file.md new file mode 100644 index 0000000..eff7bb6 --- /dev/null +++ b/packages/meta/src/upload/demo/preview-file.md @@ -0,0 +1,7 @@ +## zh-CN + +自定义本地预览,用于处理非图片格式文件(例如视频文件)。 + +## en-US + +Customize local preview. Can handle with non-image format files such as video. diff --git a/packages/meta/src/upload/demo/preview-file.tsx b/packages/meta/src/upload/demo/preview-file.tsx new file mode 100644 index 0000000..3132150 --- /dev/null +++ b/packages/meta/src/upload/demo/preview-file.tsx @@ -0,0 +1,27 @@ +import React from 'react'; +import { UploadOutlined } from '@ant-design/icons'; +import type { UploadProps } from 'antd'; +import { Button, Upload } from 'antd'; + +const props: UploadProps = { + action: '//jsonplaceholder.typicode.com/posts/', + listType: 'picture', + previewFile(file) { + console.log('Your upload file:', file); + // Your process logic. Here we just mock to the same file + return fetch('https://next.json-generator.com/api/json/get/4ytyBoLK8', { + method: 'POST', + body: file, + }) + .then((res) => res.json()) + .then(({ thumbnail }) => thumbnail); + }, +}; + +const App: React.FC = () => ( + + + +); + +export default App; diff --git a/packages/meta/src/upload/demo/testMax.tsx b/packages/meta/src/upload/demo/testMax.tsx new file mode 100644 index 0000000..b34a196 --- /dev/null +++ b/packages/meta/src/upload/demo/testMax.tsx @@ -0,0 +1,17 @@ +import React from 'react'; +import { UploadOutlined } from '@ant-design/icons'; +import { Button, Space, Upload } from 'antd'; + +const App: React.FC = () => ( + + + + + +); + +export default App; diff --git a/packages/meta/src/upload/demo/transform-file.md b/packages/meta/src/upload/demo/transform-file.md new file mode 100644 index 0000000..82530ae --- /dev/null +++ b/packages/meta/src/upload/demo/transform-file.md @@ -0,0 +1,7 @@ +## zh-CN + +使用 `beforeUpload` 转换上传的文件(例如添加水印)。 + +## en-US + +Use `beforeUpload` for transform file before request such as add a watermark. diff --git a/packages/meta/src/upload/demo/transform-file.tsx b/packages/meta/src/upload/demo/transform-file.tsx new file mode 100644 index 0000000..397ba64 --- /dev/null +++ b/packages/meta/src/upload/demo/transform-file.tsx @@ -0,0 +1,39 @@ +import React from 'react'; +import { UploadOutlined } from '@ant-design/icons'; +import type { UploadProps } from 'antd'; +import { Button, Upload } from 'antd'; + +const props: UploadProps = { + action: 'https://run.mocky.io/v3/435e224c-44fb-4773-9faf-380c5e6a2188', + listType: 'picture', + beforeUpload(file) { + return new Promise((resolve) => { + const reader = new FileReader(); + reader.readAsDataURL(file); + reader.onload = () => { + const img = document.createElement('img'); + img.src = reader.result as string; + img.onload = () => { + const canvas = document.createElement('canvas'); + canvas.width = img.naturalWidth; + canvas.height = img.naturalHeight; + const ctx = canvas.getContext('2d')!; + ctx.drawImage(img, 0, 0); + ctx.fillStyle = 'red'; + ctx.textBaseline = 'middle'; + ctx.font = '33px Arial'; + ctx.fillText('Ant Design', 20, 20); + canvas.toBlob((result) => resolve(result as any)); + }; + }; + }); + }, +}; + +const App: React.FC = () => ( + + + +); + +export default App; diff --git a/packages/meta/src/upload/demo/upload-custom-action-icon.md b/packages/meta/src/upload/demo/upload-custom-action-icon.md new file mode 100644 index 0000000..eabd229 --- /dev/null +++ b/packages/meta/src/upload/demo/upload-custom-action-icon.md @@ -0,0 +1,7 @@ +## zh-CN + +使用 `showUploadList` 设置列表交互图标。 + +## en-US + +Use `showUploadList` for custom action icons of files. diff --git a/packages/meta/src/upload/demo/upload-custom-action-icon.tsx b/packages/meta/src/upload/demo/upload-custom-action-icon.tsx new file mode 100644 index 0000000..14aa357 --- /dev/null +++ b/packages/meta/src/upload/demo/upload-custom-action-icon.tsx @@ -0,0 +1,49 @@ +import React from 'react'; +import { StarOutlined, UploadOutlined } from '@ant-design/icons'; +import type { UploadProps } from 'antd'; +import { Button, Upload } from 'antd'; + +const props: UploadProps = { + action: 'https://run.mocky.io/v3/435e224c-44fb-4773-9faf-380c5e6a2188', + onChange({ file, fileList }) { + if (file.status !== 'uploading') { + console.log(file, fileList); + } + }, + defaultFileList: [ + { + uid: '1', + name: 'xxx.png', + status: 'done', + response: 'Server Error 500', // custom error message to show + url: 'http://www.baidu.com/xxx.png', + }, + { + uid: '2', + name: 'yyy.png', + status: 'done', + url: 'http://www.baidu.com/yyy.png', + }, + { + uid: '3', + name: 'zzz.png', + status: 'error', + response: 'Server Error 500', // custom error message to show + url: 'http://www.baidu.com/zzz.png', + }, + ], + showUploadList: { + showDownloadIcon: true, + downloadIcon: 'Download', + showRemoveIcon: true, + removeIcon: console.log(e, 'custom removeIcon event')} />, + }, +}; + +const App: React.FC = () => ( + + + +); + +export default App; diff --git a/packages/meta/src/upload/demo/upload-manually.md b/packages/meta/src/upload/demo/upload-manually.md new file mode 100644 index 0000000..e0fb8c0 --- /dev/null +++ b/packages/meta/src/upload/demo/upload-manually.md @@ -0,0 +1,7 @@ +## zh-CN + +`beforeUpload` 返回 `false` 后,手动上传文件。 + +## en-US + +Upload files manually after `beforeUpload` returns `false`. diff --git a/packages/meta/src/upload/demo/upload-manually.tsx b/packages/meta/src/upload/demo/upload-manually.tsx new file mode 100644 index 0000000..8169ea2 --- /dev/null +++ b/packages/meta/src/upload/demo/upload-manually.tsx @@ -0,0 +1,67 @@ +import React, { useState } from 'react'; +import { UploadOutlined } from '@ant-design/icons'; +import { Button, message, Upload } from 'antd'; +import type { RcFile, UploadFile, UploadProps } from 'antd/es/upload/interface'; + +const App: React.FC = () => { + const [fileList, setFileList] = useState([]); + const [uploading, setUploading] = useState(false); + + const handleUpload = () => { + const formData = new FormData(); + fileList.forEach((file) => { + formData.append('files[]', file as RcFile); + }); + setUploading(true); + // You can use any AJAX library you like + fetch('https://run.mocky.io/v3/435e224c-44fb-4773-9faf-380c5e6a2188', { + method: 'POST', + body: formData, + }) + .then((res) => res.json()) + .then(() => { + setFileList([]); + message.success('upload successfully.'); + }) + .catch(() => { + message.error('upload failed.'); + }) + .finally(() => { + setUploading(false); + }); + }; + + const props: UploadProps = { + onRemove: (file) => { + const index = fileList.indexOf(file); + const newFileList = fileList.slice(); + newFileList.splice(index, 1); + setFileList(newFileList); + }, + beforeUpload: (file) => { + setFileList([...fileList, file]); + + return false; + }, + fileList, + }; + + return ( + <> + + + + + + ); +}; + +export default App; diff --git a/packages/meta/src/upload/demo/upload-png-only.md b/packages/meta/src/upload/demo/upload-png-only.md new file mode 100644 index 0000000..8ce6389 --- /dev/null +++ b/packages/meta/src/upload/demo/upload-png-only.md @@ -0,0 +1,7 @@ +## zh-CN + +`beforeUpload` 返回 `false` 或 `Promise.reject` 时,只用于拦截上传行为,不会阻止文件进入上传列表([原因](https://github.com/ant-design/ant-design/issues/15561#issuecomment-475108235))。如果需要阻止列表展现,可以通过返回 `Upload.LIST_IGNORE` 实现。 + +## en-US + +`beforeUpload` only prevent upload behavior when return false or reject promise, the prevented file would still show in file list. Here is the example you can keep prevented files out of list by return `UPLOAD.LIST_IGNORE`. diff --git a/packages/meta/src/upload/demo/upload-png-only.tsx b/packages/meta/src/upload/demo/upload-png-only.tsx new file mode 100644 index 0000000..ee76413 --- /dev/null +++ b/packages/meta/src/upload/demo/upload-png-only.tsx @@ -0,0 +1,25 @@ +import React from 'react'; +import { UploadOutlined } from '@ant-design/icons'; +import type { UploadProps } from 'antd'; +import { Button, message, Upload } from 'antd'; + +const props: UploadProps = { + beforeUpload: (file) => { + const isPNG = file.type === 'image/png'; + if (!isPNG) { + message.error(`${file.name} is not a png file`); + } + return isPNG || Upload.LIST_IGNORE; + }, + onChange: (info) => { + console.log(info.fileList); + }, +}; + +const App: React.FC = () => ( + + + +); + +export default App; diff --git a/packages/meta/src/upload/demo/upload-with-aliyun-oss.md b/packages/meta/src/upload/demo/upload-with-aliyun-oss.md new file mode 100644 index 0000000..025b227 --- /dev/null +++ b/packages/meta/src/upload/demo/upload-with-aliyun-oss.md @@ -0,0 +1,7 @@ +## zh-CN + +使用阿里云 OSS 上传示例. + +## en-US + +Use Aliyun OSS upload example. diff --git a/packages/meta/src/upload/demo/upload-with-aliyun-oss.tsx b/packages/meta/src/upload/demo/upload-with-aliyun-oss.tsx new file mode 100644 index 0000000..cf19e47 --- /dev/null +++ b/packages/meta/src/upload/demo/upload-with-aliyun-oss.tsx @@ -0,0 +1,110 @@ +import React, { useEffect, useState } from 'react'; +import { UploadOutlined } from '@ant-design/icons'; +import type { UploadProps } from 'antd'; +import { Button, Form, message, Upload } from 'antd'; +import type { UploadFile } from 'antd/es/upload/interface'; + +interface OSSDataType { + dir: string; + expire: string; + host: string; + accessId: string; + policy: string; + signature: string; +} + +interface AliyunOSSUploadProps { + value?: UploadFile[]; + onChange?: (fileList: UploadFile[]) => void; +} + +const AliyunOSSUpload = ({ value, onChange }: AliyunOSSUploadProps) => { + const [OSSData, setOSSData] = useState(); + + // Mock get OSS api + // https://help.aliyun.com/document_detail/31988.html + const mockGetOSSData = () => ({ + dir: 'user-dir/', + expire: '1577811661', + host: '//www.mocky.io/v2/5cc8019d300000980a055e76', + accessId: 'c2hhb2RhaG9uZw==', + policy: 'eGl4aWhhaGFrdWt1ZGFkYQ==', + signature: 'ZGFob25nc2hhbw==', + }); + + const init = async () => { + try { + const result = await mockGetOSSData(); + setOSSData(result); + } catch (error) { + message.error(error); + } + }; + + useEffect(() => { + init(); + }, []); + + const handleChange: UploadProps['onChange'] = ({ fileList }) => { + console.log('Aliyun OSS:', fileList); + onChange?.([...fileList]); + }; + + const onRemove = (file: UploadFile) => { + const files = (value || []).filter((v) => v.url !== file.url); + + if (onChange) { + onChange(files); + } + }; + + const getExtraData: UploadProps['data'] = (file) => ({ + key: file.url, + OSSAccessKeyId: OSSData?.accessId, + policy: OSSData?.policy, + Signature: OSSData?.signature, + }); + + const beforeUpload: UploadProps['beforeUpload'] = async (file) => { + if (!OSSData) return false; + + const expire = Number(OSSData.expire) * 1000; + + if (expire < Date.now()) { + await init(); + } + + const suffix = file.name.slice(file.name.lastIndexOf('.')); + const filename = Date.now() + suffix; + // @ts-ignore + file.url = OSSData.dir + filename; + + return file; + }; + + const uploadProps: UploadProps = { + name: 'file', + fileList: value, + action: OSSData?.host, + onChange: handleChange, + onRemove, + data: getExtraData, + beforeUpload, + }; + + return ( + + + + ); +}; + +const App: React.FC = () => ( +
+ + + +
+); + +export default App; diff --git a/packages/meta/src/upload/demo/utils/request.ts b/packages/meta/src/upload/demo/utils/request.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/meta/src/upload/index.ts b/packages/meta/src/upload/index.ts new file mode 100644 index 0000000..98a5a8b --- /dev/null +++ b/packages/meta/src/upload/index.ts @@ -0,0 +1,27 @@ +import Dragger from './Dragger'; +import type { UploadProps } from './Upload'; +import InternalUpload, { LIST_IGNORE } from './Upload'; + +export type { DraggerProps } from './Dragger'; +export type { + RcFile, + UploadChangeParam, + UploadFile, + UploadListProps, + UploadProps, +} from './interface'; + +type InternalUploadType = typeof InternalUpload; +type CompoundedComponent = InternalUploadType & { + ( + props: React.PropsWithChildren> & React.RefAttributes, + ): React.ReactElement; + Dragger: typeof Dragger; + LIST_IGNORE: string; +}; + +const Upload = InternalUpload as CompoundedComponent; +Upload.Dragger = Dragger; +Upload.LIST_IGNORE = LIST_IGNORE; + +export default Upload; diff --git a/packages/meta/src/upload/index.zh-CN.md b/packages/meta/src/upload/index.zh-CN.md new file mode 100644 index 0000000..72c38f8 --- /dev/null +++ b/packages/meta/src/upload/index.zh-CN.md @@ -0,0 +1,167 @@ +--- +category: Components +subtitle: 上传 +group: 数据录入 +title: Upload +cover: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*93ymR4RD4S0AAAAAAAAAAAAADrJ8AQ/original +coverDark: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*l1nlSryXib8AAAAAAAAAAAAADrJ8AQ/original +demo: + cols: 2 +--- + +文件选择上传和拖拽上传控件。 + +## 何时使用 + +上传是将信息(网页、文字、图片、视频等)通过网页或者上传工具发布到远程服务器上的过程。 + +- 当需要上传一个或一些文件时。 +- 当需要展现上传的进度时。 +- 当需要使用拖拽交互时。 + +## 代码演示 + + +点击上传 +用户头像 +已上传的文件列表 +照片墙 +圆形照片墙 +完全控制的上传列表 +拖拽上传 +文件夹上传 +手动上传 +只上传 png 图片 +图片列表样式 +自定义预览 +限制数量 +上传前转换文件 +阿里云 OSS +自定义显示 icon +自定义交互图标 + +上传前裁切图片 +自定义进度条样式 +组件 Token +Debug Disabled Styles +测试批量上传视频 + +## API + +通用属性参考:[通用属性](/docs/react/common-props) + +| 参数 | 说明 | 类型 | 默认值 | 版本 | +| --- | --- | --- | --- | --- | +| accept | 接受上传的文件类型,详见 [input accept Attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept) | string | - | | +| action | 上传的地址 | string \| (file) => Promise<string> | - | | +| beforeUpload | 上传文件之前的钩子,参数为上传的文件,若返回 `false` 则停止上传。支持返回一个 Promise 对象,Promise 对象 reject 时则停止上传,resolve 时开始上传( resolve 传入 `File` 或 `Blob` 对象则上传 resolve 传入对象);也可以返回 `Upload.LIST_IGNORE`,此时列表中将不展示此文件。 **注意:IE9 不支持该方法** | (file, fileList) => boolean \| Promise<File> \| `Upload.LIST_IGNORE` | - | | +| customRequest | 通过覆盖默认的上传行为,可以自定义自己的上传实现 | function | - | | +| data | 上传所需额外参数或返回上传额外参数的方法 | object\|(file) => object \| Promise<object> | - | | +| defaultFileList | 默认已经上传的文件列表 | object\[] | - | | +| directory | 支持上传文件夹([caniuse](https://caniuse.com/#feat=input-file-directory)) | boolean | false | | +| disabled | 是否禁用 | boolean | false | 对于自定义 Upload children 时请将 disabled 属性同时传给 child node 确保 disabled 渲染效果保持一致 | +| fileList | 已经上传的文件列表(受控),使用此参数时,如果遇到 `onChange` 只调用一次的问题,请参考 [#2423](https://github.com/ant-design/ant-design/issues/2423) | [UploadFile](#uploadfile)\[] | - | | +| headers | 设置上传的请求头部,IE10 以上有效 | object | - | | +| iconRender | 自定义显示 icon | (file: UploadFile, listType?: UploadListType) => ReactNode | - | | +| isImageUrl | 自定义缩略图是否使用 <img /> 标签进行显示 | (file: UploadFile) => boolean | [(内部实现)](https://github.com/ant-design/ant-design/blob/4ad5830eecfb87471cd8ac588c5d992862b70770/components/upload/utils.tsx#L47-L68) | | +| itemRender | 自定义上传列表项 | (originNode: ReactElement, file: UploadFile, fileList: object\[], actions: { download: function, preview: function, remove: function }) => React.ReactNode | - | 4.16.0 | +| listType | 上传列表的内建样式,支持四种基本样式 `text`, `picture`, `picture-card` 和 `picture-circle` | string | `text` | `picture-circle`(5.2.0+) | +| maxCount | 限制上传数量。当为 1 时,始终用最新上传的文件代替当前文件 | number | - | 4.10.0 | +| method | 上传请求的 http method | string | `post` | | +| multiple | 是否支持多选文件,`ie10+` 支持。开启后按住 ctrl 可选择多个文件 | boolean | false | | +| name | 发到后台的文件参数名 | string | `file` | | +| openFileDialogOnClick | 点击打开文件对话框 | boolean | true | | +| previewFile | 自定义文件预览逻辑 | (file: File \| Blob) => Promise<dataURL: string> | - | | +| progress | 自定义进度条样式 | [ProgressProps](/components/progress-cn#api)(仅支持 `type="line"`) | { strokeWidth: 2, showInfo: false } | 4.3.0 | +| showUploadList | 是否展示文件列表, 可设为一个对象,用于单独设定 `showPreviewIcon`, `showRemoveIcon`, `showDownloadIcon`, `removeIcon` 和 `downloadIcon` | boolean \| { showPreviewIcon?: boolean, showRemoveIcon?: boolean, showDownloadIcon?: boolean, previewIcon?: ReactNode \| (file: UploadFile) => ReactNode, removeIcon?: ReactNode \| (file: UploadFile) => ReactNode, downloadIcon?: ReactNode \| (file: UploadFile) => ReactNode } | true | function: 4.7.0 | +| withCredentials | 上传请求时是否携带 cookie | boolean | false | | +| onChange | 上传文件改变时的回调,上传每个阶段都会触发该事件。详见 [onChange](#onchange) | function | - | | +| onDrop | 当文件被拖入上传区域时执行的回调功能 | (event: React.DragEvent) => void | - | 4.16.0 | +| onDownload | 点击下载文件时的回调,如果没有指定,则默认跳转到文件 url 对应的标签页 | function(file): void | (跳转新标签页) | | +| onPreview | 点击文件链接或预览图标时的回调 | function(file) | - | | +| onRemove   | 点击移除文件时的回调,返回值为 false 时不移除。支持返回一个 Promise 对象,Promise 对象 resolve(false) 或 reject 时不移除               | function(file): boolean \| Promise | -   | | + +### UploadFile + +继承自 File,附带额外属性用于渲染。 + +| 参数 | 说明 | 类型 | 默认值 | 版本 | +| --- | --- | --- | --- | --- | +| crossOrigin | CORS 属性设置 | `'anonymous'` \| `'use-credentials'` \| `''` | - | 4.20.0 | +| name | 文件名 | string | - | - | +| percent | 上传进度 | number | - | - | +| status | 上传状态,不同状态展示颜色也会有所不同 | `error` \| `done` \| `uploading` \| `removed` | - | - | +| thumbUrl | 缩略图地址 | string | - | - | +| uid | 唯一标识符,不设置时会自动生成 | string | - | - | +| url | 下载地址 | string | - | - | + +### onChange + +> 💡 上传中、完成、失败都会调用这个函数。 + +文件状态改变的回调,返回为: + +```js +{ + file: { /* ... */ }, + fileList: [ /* ... */ ], + event: { /* ... */ }, +} +``` + +1. `file` 当前操作的文件对象。 + + ```js + { + uid: 'uid', // 文件唯一标识,建议设置为负数,防止和内部产生的 id 冲突 + name: 'xx.png', // 文件名 + status: 'done' | 'uploading' | 'error' | 'removed' , // beforeUpload 拦截的文件没有 status 状态属性 + response: '{"status": "success"}', // 服务端响应内容 + linkProps: '{"download": "image"}', // 下载链接额外的 HTML 属性 + } + ``` + +2. `fileList` 当前的文件列表。 + +3. `event` 上传中的服务端响应内容,包含了上传进度等信息,高级浏览器支持。 + +## FAQ + +### 服务端如何实现? + +- 服务端上传接口实现可以参考 [jQuery-File-Upload](https://github.com/blueimp/jQuery-File-Upload/wiki#server-side)。 +- 如果要做本地 mock 可以参考这个 [express 的例子](https://github.com/react-component/upload/blob/master/server.js)。 + +### 如何显示下载链接? + +请使用 `fileList` 属性设置数组项的 `url` 属性进行展示控制。 + +### `customRequest` 怎么使用? + +请参考 。 + +### 为何 `fileList` 受控时,上传不在列表中的文件不会触发 `onChange` 后续的 `status` 更新事件? + +`onChange` 事件仅会作用于在列表中的文件,因而 `fileList` 不存在对应文件时后续事件会被忽略。请注意,在 `4.13.0` 版本之前受控状态存在 bug 导致不在列表中的文件也会触发。 + +### `onChange` 为什么有时候返回 File 有时候返回 { originFileObj: File }? + +历史原因,在 `beforeUpload` 返回 `false` 时,会返回 `File` 对象。在下个大版本我们会统一返回 `{ originFileObj: File }` 对象。当前版本已经兼容所有场景下 `info.file.originFileObj` 获取原 `File` 写法。你可以提前切换。 + +### 为何有时 Chrome 点击 Upload 无法弹出文件选择框? + +与 `antd` 无关,原生上传也会失败。请重启 `Chrome` 浏览器,让其完成升级工作。 + +相关 `issue`: + +- [#32672](https://github.com/ant-design/ant-design/issues/32672) +- [#32913](https://github.com/ant-design/ant-design/issues/32913) +- [#33988](https://github.com/ant-design/ant-design/issues/33988) + +### 文件夹上传在 Safari 仍然可以选中文件? + +组件内部是以 `directory`、`webkitdirectory` 属性控制 input 来实现文件夹选择的, 但似乎在 Safari 的实现中,[并不会阻止用户选择文件](https://stackoverflow.com/q/55649945/3040605),请尝试额外传递无法匹配文件的 `accept` 属性来规避此问题 例如: + +```js +accept: `.${'n'.repeat(100)}`; +``` diff --git a/packages/meta/src/upload/interface.ts b/packages/meta/src/upload/interface.ts new file mode 100644 index 0000000..7c0e752 --- /dev/null +++ b/packages/meta/src/upload/interface.ts @@ -0,0 +1,169 @@ +import type * as React from 'react'; +import type { + RcFile as OriRcFile, + UploadRequestOption as RcCustomRequestOptions, + UploadProps as RcUploadProps, +} from 'rc-upload/lib/interface'; + +import type { ProgressAriaProps, ProgressProps } from '../progress'; + +export interface RcFile extends OriRcFile { + readonly lastModifiedDate: Date; +} + +export type UploadFileStatus = 'error' | 'done' | 'uploading' | 'removed'; + +export interface HttpRequestHeader { + [key: string]: string; +} + +export interface UploadFile extends ProgressAriaProps { + uid: string; + size?: number; + name: string; + fileName?: string; + lastModified?: number; + lastModifiedDate?: Date; + url?: string; + status?: UploadFileStatus; + percent?: number; + thumbUrl?: string; + crossOrigin?: React.ImgHTMLAttributes['crossOrigin']; + originFileObj?: RcFile; + response?: T; + error?: any; + linkProps?: any; + type?: string; + xhr?: T; + preview?: string; +} + +export interface InternalUploadFile extends UploadFile { + originFileObj: RcFile; +} + +export interface UploadChangeParam { + // https://github.com/ant-design/ant-design/issues/14420 + file: T; + fileList: T[]; + event?: { percent: number }; +} + +export interface ShowUploadListInterface { + showRemoveIcon?: boolean; + showPreviewIcon?: boolean; + showDownloadIcon?: boolean; + removeIcon?: React.ReactNode | ((file: UploadFile) => React.ReactNode); + downloadIcon?: React.ReactNode | ((file: UploadFile) => React.ReactNode); + previewIcon?: React.ReactNode | ((file: UploadFile) => React.ReactNode); +} + +export interface UploadLocale { + uploading?: string; + removeFile?: string; + downloadFile?: string; + uploadError?: string; + previewFile?: string; +} + +export type UploadType = 'drag' | 'select'; +export type UploadListType = 'text' | 'picture' | 'picture-card' | 'picture-circle'; +export type UploadListProgressProps = Omit; + +export type ItemRender = ( + originNode: React.ReactElement, + file: UploadFile, + fileList: Array>, + actions: { + download: () => void; + preview: () => void; + remove: () => void; + }, +) => React.ReactNode; + +type PreviewFileHandler = (file: File | Blob) => PromiseLike; +type TransformFileHandler = ( + file: RcFile, +) => string | Blob | File | PromiseLike; +type BeforeUploadValueType = void | boolean | string | Blob | File; + +export interface UploadProps extends Pick { + type?: UploadType; + name?: string; + defaultFileList?: Array>; + fileList?: Array>; + action?: string | ((file: RcFile) => string) | ((file: RcFile) => PromiseLike); + directory?: boolean; + data?: + | Record + | ((file: UploadFile) => Record | Promise>); + method?: 'POST' | 'PUT' | 'PATCH' | 'post' | 'put' | 'patch'; + headers?: HttpRequestHeader; + showUploadList?: boolean | ShowUploadListInterface; + multiple?: boolean; + accept?: string; + beforeUpload?: ( + file: RcFile, + FileList: RcFile[], + ) => BeforeUploadValueType | Promise; + onChange?: (info: UploadChangeParam>) => void; + onDrop?: (event: React.DragEvent) => void; + listType?: UploadListType; + className?: string; + rootClassName?: string; + onPreview?: (file: UploadFile) => void; + onDownload?: (file: UploadFile) => void; + onRemove?: (file: UploadFile) => void | boolean | Promise; + supportServerRender?: boolean; + style?: React.CSSProperties; + disabled?: boolean; + prefixCls?: string; + customRequest?: (options: RcCustomRequestOptions) => void; + withCredentials?: boolean; + openFileDialogOnClick?: boolean; + locale?: UploadLocale; + id?: string; + previewFile?: PreviewFileHandler; + /** @deprecated Please use `beforeUpload` directly */ + transformFile?: TransformFileHandler; + iconRender?: (file: UploadFile, listType?: UploadListType) => React.ReactNode; + isImageUrl?: (file: UploadFile) => boolean; + progress?: UploadListProgressProps; + itemRender?: ItemRender; + /** Config max count of `fileList`. Will replace current one when `maxCount` is 1 */ + maxCount?: number; + children?: React.ReactNode; +} + +export interface UploadState { + fileList: UploadFile[]; + dragState: string; +} + +export interface UploadListProps { + listType?: UploadListType; + onPreview?: (file: UploadFile) => void; + onDownload?: (file: UploadFile) => void; + onRemove?: (file: UploadFile) => void | boolean; + items?: Array>; + progress?: UploadListProgressProps; + prefixCls?: string; + className?: string; + showRemoveIcon?: boolean; + showDownloadIcon?: boolean; + showPreviewIcon?: boolean; + removeIcon?: React.ReactNode | ((file: UploadFile) => React.ReactNode); + downloadIcon?: React.ReactNode | ((file: UploadFile) => React.ReactNode); + previewIcon?: React.ReactNode | ((file: UploadFile) => React.ReactNode); + locale: UploadLocale; + previewFile?: PreviewFileHandler; + iconRender?: (file: UploadFile, listType?: UploadListType) => React.ReactNode; + isImageUrl?: (file: UploadFile) => boolean; + appendAction?: React.ReactNode; + appendActionVisible?: boolean; + itemRender?: ItemRender; + /** + * @internal Only the internal remove button is provided for use + */ + disabled?: boolean; +} diff --git a/packages/meta/src/upload/style/dragger.ts b/packages/meta/src/upload/style/dragger.ts new file mode 100644 index 0000000..77c4d69 --- /dev/null +++ b/packages/meta/src/upload/style/dragger.ts @@ -0,0 +1,83 @@ +import { unit } from '@ant-design/cssinjs'; +import type { UploadToken } from '.'; +import type { GenerateStyle } from '../../theme/internal'; + +const genDraggerStyle: GenerateStyle = (token) => { + const { componentCls, iconCls } = token; + + return { + [`${componentCls}-wrapper`]: { + [`${componentCls}-drag`]: { + position: 'relative', + width: '100%', + height: '100%', + textAlign: 'center', + background: token.colorFillAlter, + border: `${unit(token.lineWidth)} dashed ${token.colorBorder}`, + borderRadius: token.borderRadiusLG, + cursor: 'pointer', + transition: `border-color ${token.motionDurationSlow}`, + + [componentCls]: { + padding: token.padding, + }, + + [`${componentCls}-btn`]: { + display: 'table', + width: '100%', + height: '100%', + outline: 'none', + borderRadius: token.borderRadiusLG, + + '&:focus-visible': { + outline: `${unit(token.lineWidthFocus)} solid ${token.colorPrimaryBorder}`, + }, + }, + + [`${componentCls}-drag-container`]: { + display: 'table-cell', + verticalAlign: 'middle', + }, + + [` + &:not(${componentCls}-disabled):hover, + &-hover:not(${componentCls}-disabled) + `]: { + borderColor: token.colorPrimaryHover, + }, + + [`p${componentCls}-drag-icon`]: { + marginBottom: token.margin, + + [iconCls]: { + color: token.colorPrimary, + fontSize: token.uploadThumbnailSize, + }, + }, + + [`p${componentCls}-text`]: { + margin: `0 0 ${unit(token.marginXXS)}`, + color: token.colorTextHeading, + fontSize: token.fontSizeLG, + }, + + [`p${componentCls}-hint`]: { + color: token.colorTextDescription, + fontSize: token.fontSize, + }, + + // ===================== Disabled ===================== + [`&${componentCls}-disabled`]: { + [`p${componentCls}-drag-icon ${iconCls}, + p${componentCls}-text, + p${componentCls}-hint + `]: { + color: token.colorTextDisabled, + }, + }, + }, + }, + }; +}; + +export default genDraggerStyle; diff --git a/packages/meta/src/upload/style/index.ts b/packages/meta/src/upload/style/index.ts new file mode 100644 index 0000000..10a5fdb --- /dev/null +++ b/packages/meta/src/upload/style/index.ts @@ -0,0 +1,79 @@ +import { resetComponent } from '../../style'; +import { genCollapseMotion } from '../../style/motion'; +import type { FullToken, GenerateStyle, GetDefaultToken } from '../../theme/internal'; +import { genStyleHooks, mergeToken } from '../../theme/internal'; +import genDraggerStyle from './dragger'; +import genListStyle from './list'; +import genMotionStyle from './motion'; +import { genPictureCardStyle, genPictureStyle } from './picture'; +import genRtlStyle from './rtl'; + +export interface ComponentToken { + /** + * @desc 操作按扭颜色 + * @descEN Action button color + */ + actionsColor: string; +} + +export interface UploadToken extends FullToken<'Upload'> { + uploadThumbnailSize: number | string; + uploadProgressOffset: number | string; + uploadPicCardSize: number | string; +} + +const genBaseStyle: GenerateStyle = (token) => { + const { componentCls, colorTextDisabled } = token; + + return { + [`${componentCls}-wrapper`]: { + ...resetComponent(token), + + [componentCls]: { + outline: 0, + "input[type='file']": { + cursor: 'pointer', + }, + }, + + [`${componentCls}-select`]: { + display: 'inline-block', + }, + + [`${componentCls}-disabled`]: { + color: colorTextDisabled, + cursor: 'not-allowed', + }, + }, + }; +}; + +export const prepareComponentToken: GetDefaultToken<'Upload'> = (token) => ({ + actionsColor: token.colorTextDescription, +}); + +// ============================== Export ============================== +export default genStyleHooks( + 'Upload', + (token) => { + const { fontSizeHeading3, fontHeight, lineWidth, controlHeightLG, calc } = token; + + const uploadToken = mergeToken(token, { + uploadThumbnailSize: calc(fontSizeHeading3).mul(2).equal(), + uploadProgressOffset: calc(calc(fontHeight).div(2)).add(lineWidth).equal(), + uploadPicCardSize: calc(controlHeightLG).mul(2.55).equal(), + }); + + return [ + genBaseStyle(uploadToken), + genDraggerStyle(uploadToken), + genPictureStyle(uploadToken), + genPictureCardStyle(uploadToken), + genListStyle(uploadToken), + genMotionStyle(uploadToken), + genRtlStyle(uploadToken), + genCollapseMotion(uploadToken), + ]; + }, + prepareComponentToken, +); diff --git a/packages/meta/src/upload/style/list.ts b/packages/meta/src/upload/style/list.ts new file mode 100644 index 0000000..a6d7da8 --- /dev/null +++ b/packages/meta/src/upload/style/list.ts @@ -0,0 +1,121 @@ +import { unit } from '@ant-design/cssinjs'; +import type { UploadToken } from '.'; +import { clearFix, textEllipsis } from '../../style'; +import type { GenerateStyle } from '../../theme/internal'; + +const genListStyle: GenerateStyle = (token) => { + const { componentCls, antCls, iconCls, fontSize, lineHeight, calc } = token; + const itemCls = `${componentCls}-list-item`; + const actionsCls = `${itemCls}-actions`; + const actionCls = `${itemCls}-action`; + const listItemHeightSM = token.fontHeightSM; + + return { + [`${componentCls}-wrapper`]: { + [`${componentCls}-list`]: { + ...clearFix(), + lineHeight: token.lineHeight, + + [itemCls]: { + position: 'relative', + height: calc(token.lineHeight).mul(fontSize).equal(), + marginTop: token.marginXS, + fontSize, + display: 'flex', + alignItems: 'center', + transition: `background-color ${token.motionDurationSlow}`, + + '&:hover': { + backgroundColor: token.controlItemBgHover, + }, + + [`${itemCls}-name`]: { + ...textEllipsis, + padding: `0 ${unit(token.paddingXS)}`, + lineHeight, + flex: 'auto', + transition: `all ${token.motionDurationSlow}`, + }, + + [actionsCls]: { + [actionCls]: { + opacity: 0, + }, + + [iconCls]: { + color: token.actionsColor, + transition: `all ${token.motionDurationSlow}`, + }, + + [` + ${actionCls}:focus-visible, + &.picture ${actionCls} + `]: { + opacity: 1, + }, + + [`${actionCls}${antCls}-btn`]: { + height: listItemHeightSM, + border: 0, + lineHeight: 1, + }, + }, + + [`${componentCls}-icon ${iconCls}`]: { + color: token.colorTextDescription, + fontSize, + }, + + [`${itemCls}-progress`]: { + position: 'absolute', + bottom: token.calc(token.uploadProgressOffset).mul(-1).equal(), + width: '100%', + paddingInlineStart: calc(fontSize).add(token.paddingXS).equal(), + fontSize, + lineHeight: 0, + pointerEvents: 'none', + + '> div': { + margin: 0, + }, + }, + }, + + [`${itemCls}:hover ${actionCls}`]: { + opacity: 1, + }, + + [`${itemCls}-error`]: { + color: token.colorError, + [`${itemCls}-name, ${componentCls}-icon ${iconCls}`]: { + color: token.colorError, + }, + + [actionsCls]: { + [`${iconCls}, ${iconCls}:hover`]: { + color: token.colorError, + }, + + [actionCls]: { + opacity: 1, + }, + }, + }, + + [`${componentCls}-list-item-container`]: { + transition: `opacity ${token.motionDurationSlow}, height ${token.motionDurationSlow}`, + + // For smooth removing animation + '&::before': { + display: 'table', + width: 0, + height: 0, + content: '""', + }, + }, + }, + }, + }; +}; + +export default genListStyle; diff --git a/packages/meta/src/upload/style/motion.ts b/packages/meta/src/upload/style/motion.ts new file mode 100644 index 0000000..86a5a0a --- /dev/null +++ b/packages/meta/src/upload/style/motion.ts @@ -0,0 +1,56 @@ +import { Keyframes } from '@ant-design/cssinjs'; +import type { UploadToken } from '.'; +import type { GenerateStyle } from '../../theme/internal'; +import { initFadeMotion } from '../../style/motion'; + +const uploadAnimateInlineIn = new Keyframes('uploadAnimateInlineIn', { + from: { + width: 0, + height: 0, + margin: 0, + padding: 0, + opacity: 0, + }, +}); + +const uploadAnimateInlineOut = new Keyframes('uploadAnimateInlineOut', { + to: { + width: 0, + height: 0, + margin: 0, + padding: 0, + opacity: 0, + }, +}); +// =========================== Motion =========================== +const genMotionStyle: GenerateStyle = (token) => { + const { componentCls } = token; + const inlineCls = `${componentCls}-animate-inline`; + + return [ + { + [`${componentCls}-wrapper`]: { + [`${inlineCls}-appear, ${inlineCls}-enter, ${inlineCls}-leave`]: { + animationDuration: token.motionDurationSlow, + animationTimingFunction: token.motionEaseInOutCirc, + animationFillMode: 'forwards', + }, + + [`${inlineCls}-appear, ${inlineCls}-enter`]: { + animationName: uploadAnimateInlineIn, + }, + + [`${inlineCls}-leave`]: { + animationName: uploadAnimateInlineOut, + }, + }, + }, + { + [`${componentCls}-wrapper`]: initFadeMotion(token), + }, + uploadAnimateInlineIn, + uploadAnimateInlineOut, + ]; +}; + +export default genMotionStyle; diff --git a/packages/meta/src/upload/style/picture.ts b/packages/meta/src/upload/style/picture.ts new file mode 100644 index 0000000..38b494b --- /dev/null +++ b/packages/meta/src/upload/style/picture.ts @@ -0,0 +1,254 @@ +import { blue } from '@ant-design/colors'; + +import type { UploadToken } from '.'; +import { clearFix, textEllipsis } from '../../style'; +import type { GenerateStyle } from '../../theme/internal'; +import { unit } from '@ant-design/cssinjs'; + +const genPictureStyle: GenerateStyle = (token) => { + const { componentCls, iconCls, uploadThumbnailSize, uploadProgressOffset, calc } = token; + const listCls = `${componentCls}-list`; + const itemCls = `${listCls}-item`; + + return { + [`${componentCls}-wrapper`]: { + // ${listCls} 增加优先级 + [` + ${listCls}${listCls}-picture, + ${listCls}${listCls}-picture-card, + ${listCls}${listCls}-picture-circle + `]: { + [itemCls]: { + position: 'relative', + height: calc(uploadThumbnailSize) + .add(calc(token.lineWidth).mul(2)) + .add(calc(token.paddingXS).mul(2)) + .equal(), + padding: token.paddingXS, + border: `${unit(token.lineWidth)} ${token.lineType} ${token.colorBorder}`, + borderRadius: token.borderRadiusLG, + + '&:hover': { + background: 'transparent', + }, + + [`${itemCls}-thumbnail`]: { + ...textEllipsis, + width: uploadThumbnailSize, + height: uploadThumbnailSize, + lineHeight: unit(calc(uploadThumbnailSize).add(token.paddingSM).equal()), + textAlign: 'center', + flex: 'none', + + [iconCls]: { + fontSize: token.fontSizeHeading2, + color: token.colorPrimary, + }, + + img: { + display: 'block', + width: '100%', + height: '100%', + overflow: 'hidden', + }, + }, + + [`${itemCls}-progress`]: { + bottom: uploadProgressOffset, + width: `calc(100% - ${unit(calc(token.paddingSM).mul(2).equal())})`, + marginTop: 0, + paddingInlineStart: calc(uploadThumbnailSize).add(token.paddingXS).equal(), + }, + }, + + [`${itemCls}-error`]: { + borderColor: token.colorError, + + // Adjust the color of the error icon : https://github.com/ant-design/ant-design/pull/24160 + [`${itemCls}-thumbnail ${iconCls}`]: { + [`svg path[fill='${blue[0]}']`]: { + fill: token.colorErrorBg, + }, + [`svg path[fill='${blue.primary}']`]: { + fill: token.colorError, + }, + }, + }, + + [`${itemCls}-uploading`]: { + borderStyle: 'dashed', + + [`${itemCls}-name`]: { + marginBottom: uploadProgressOffset, + }, + }, + }, + + [`${listCls}${listCls}-picture-circle ${itemCls}`]: { + [`&, &::before, ${itemCls}-thumbnail`]: { + borderRadius: '50%', + }, + }, + }, + }; +}; + +const genPictureCardStyle: GenerateStyle = (token) => { + const { componentCls, iconCls, fontSizeLG, colorTextLightSolid, calc } = token; + + const listCls = `${componentCls}-list`; + const itemCls = `${listCls}-item`; + + const uploadPictureCardSize = token.uploadPicCardSize; + + return { + [` + ${componentCls}-wrapper${componentCls}-picture-card-wrapper, + ${componentCls}-wrapper${componentCls}-picture-circle-wrapper + `]: { + ...clearFix(), + display: 'inline-block', + width: '100%', + + [`${componentCls}${componentCls}-select`]: { + width: uploadPictureCardSize, + height: uploadPictureCardSize, + marginInlineEnd: token.marginXS, + marginBottom: token.marginXS, + textAlign: 'center', + verticalAlign: 'top', + backgroundColor: token.colorFillAlter, + border: `${unit(token.lineWidth)} dashed ${token.colorBorder}`, + borderRadius: token.borderRadiusLG, + cursor: 'pointer', + transition: `border-color ${token.motionDurationSlow}`, + + [`> ${componentCls}`]: { + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + height: '100%', + textAlign: 'center', + }, + + [`&:not(${componentCls}-disabled):hover`]: { + borderColor: token.colorPrimary, + }, + }, + + // list + [`${listCls}${listCls}-picture-card, ${listCls}${listCls}-picture-circle`]: { + [`${listCls}-item-container`]: { + display: 'inline-block', + width: uploadPictureCardSize, + height: uploadPictureCardSize, + marginBlock: `0 ${unit(token.marginXS)}`, + marginInline: `0 ${unit(token.marginXS)}`, + verticalAlign: 'top', + }, + + '&::after': { + display: 'none', + }, + + [itemCls]: { + height: '100%', + margin: 0, + + '&::before': { + position: 'absolute', + zIndex: 1, + width: `calc(100% - ${unit(calc(token.paddingXS).mul(2).equal())})`, + height: `calc(100% - ${unit(calc(token.paddingXS).mul(2).equal())})`, + backgroundColor: token.colorBgMask, + opacity: 0, + transition: `all ${token.motionDurationSlow}`, + content: '" "', + }, + }, + + [`${itemCls}:hover`]: { + [`&::before, ${itemCls}-actions`]: { + opacity: 1, + }, + }, + + [`${itemCls}-actions`]: { + position: 'absolute', + insetInlineStart: 0, + zIndex: 10, + width: '100%', + whiteSpace: 'nowrap', + textAlign: 'center', + opacity: 0, + transition: `all ${token.motionDurationSlow}`, + + [` + ${iconCls}-eye, + ${iconCls}-download, + ${iconCls}-delete + `]: { + zIndex: 10, + width: fontSizeLG, + margin: `0 ${unit(token.marginXXS)}`, + fontSize: fontSizeLG, + cursor: 'pointer', + transition: `all ${token.motionDurationSlow}`, + color: colorTextLightSolid, + + '&:hover': { + color: colorTextLightSolid, + }, + + svg: { + verticalAlign: 'baseline', + }, + }, + }, + + [`${itemCls}-thumbnail, ${itemCls}-thumbnail img`]: { + position: 'static', + display: 'block', + width: '100%', + height: '100%', + objectFit: 'contain', + }, + + [`${itemCls}-name`]: { + display: 'none', + textAlign: 'center', + }, + + [`${itemCls}-file + ${itemCls}-name`]: { + position: 'absolute', + bottom: token.margin, + display: 'block', + width: `calc(100% - ${unit(calc(token.paddingXS).mul(2).equal())})`, + }, + + [`${itemCls}-uploading`]: { + [`&${itemCls}`]: { + backgroundColor: token.colorFillAlter, + }, + + [`&::before, ${iconCls}-eye, ${iconCls}-download, ${iconCls}-delete`]: { + display: 'none', + }, + }, + + [`${itemCls}-progress`]: { + bottom: token.marginXL, + width: `calc(100% - ${unit(calc(token.paddingXS).mul(2).equal())})`, + paddingInlineStart: 0, + }, + }, + }, + [`${componentCls}-wrapper${componentCls}-picture-circle-wrapper`]: { + [`${componentCls}${componentCls}-select`]: { + borderRadius: '50%', + }, + }, + }; +}; + +export { genPictureStyle, genPictureCardStyle }; diff --git a/packages/meta/src/upload/style/rtl.ts b/packages/meta/src/upload/style/rtl.ts new file mode 100644 index 0000000..0e6fae9 --- /dev/null +++ b/packages/meta/src/upload/style/rtl.ts @@ -0,0 +1,15 @@ +import type { UploadToken } from '.'; +import type { GenerateStyle } from '../../theme/internal'; + +// =========================== Motion =========================== +const genRtlStyle: GenerateStyle = (token) => { + const { componentCls } = token; + + return { + [`${componentCls}-rtl`]: { + direction: 'rtl', + }, + }; +}; + +export default genRtlStyle; diff --git a/packages/meta/src/upload/utils.ts b/packages/meta/src/upload/utils.ts new file mode 100644 index 0000000..42f004e --- /dev/null +++ b/packages/meta/src/upload/utils.ts @@ -0,0 +1,131 @@ +import type { InternalUploadFile, RcFile, UploadFile } from './interface'; + +export function file2Obj(file: RcFile): InternalUploadFile { + return { + ...file, + lastModified: file.lastModified, + lastModifiedDate: file.lastModifiedDate, + name: file.name, + size: file.size, + type: file.type, + uid: file.uid, + percent: 0, + originFileObj: file, + }; +} + +/** Upload fileList. Replace file if exist or just push into it. */ +export function updateFileList(file: UploadFile, fileList: (UploadFile | Readonly)[]) { + const nextFileList = [...fileList]; + const fileIndex = nextFileList.findIndex(({ uid }) => uid === file.uid); + if (fileIndex === -1) { + nextFileList.push(file); + } else { + nextFileList[fileIndex] = file; + } + return nextFileList; +} + +export function getFileItem(file: RcFile, fileList: (UploadFile | Readonly)[]) { + const matchKey = file.uid !== undefined ? 'uid' : 'name'; + return fileList.filter((item) => item[matchKey] === file[matchKey])[0]; +} + +export function removeFileItem(file: UploadFile, fileList: (UploadFile | Readonly)[]) { + const matchKey = file.uid !== undefined ? 'uid' : 'name'; + const removed = fileList.filter((item) => item[matchKey] !== file[matchKey]); + if (removed.length === fileList.length) { + return null; + } + return removed; +} + +// ==================== Default Image Preview ==================== +const extname = (url: string = '') => { + const temp = url.split('/'); + const filename = temp[temp.length - 1]; + const filenameWithoutSuffix = filename.split(/#|\?/)[0]; + return (/\.[^./\\]*$/.exec(filenameWithoutSuffix) || [''])[0]; +}; + +const isImageFileType = (type: string): boolean => type.indexOf('image/') === 0; + +export const isImageUrl = (file: UploadFile): boolean => { + if (file.type && !file.thumbUrl) { + return isImageFileType(file.type); + } + const url: string = (file.thumbUrl || file.url || '') as string; + const extension = extname(url); + if ( + /^data:image\//.test(url) || + /(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico|heic|heif)$/i.test(extension) + ) { + return true; + } + if (/^data:/.test(url)) { + // other file types of base64 + return false; + } + if (extension) { + // other file types which have extension + return false; + } + return true; +}; + +const MEASURE_SIZE = 200; + +export function previewImage(file: File | Blob): Promise { + return new Promise((resolve) => { + if (!file.type || !isImageFileType(file.type)) { + resolve(''); + return; + } + + const canvas = document.createElement('canvas'); + canvas.width = MEASURE_SIZE; + canvas.height = MEASURE_SIZE; + canvas.style.cssText = `position: fixed; left: 0; top: 0; width: ${MEASURE_SIZE}px; height: ${MEASURE_SIZE}px; z-index: 9999; display: none;`; + document.body.appendChild(canvas); + const ctx = canvas.getContext('2d'); + const img = new Image(); + img.onload = () => { + const { width, height } = img; + + let drawWidth = MEASURE_SIZE; + let drawHeight = MEASURE_SIZE; + let offsetX = 0; + let offsetY = 0; + + if (width > height) { + drawHeight = height * (MEASURE_SIZE / width); + offsetY = -(drawHeight - drawWidth) / 2; + } else { + drawWidth = width * (MEASURE_SIZE / height); + offsetX = -(drawWidth - drawHeight) / 2; + } + + ctx!.drawImage(img, offsetX, offsetY, drawWidth, drawHeight); + const dataURL = canvas.toDataURL(); + document.body.removeChild(canvas); + window.URL.revokeObjectURL(img.src); + resolve(dataURL); + }; + img.crossOrigin = 'anonymous'; + if (file.type.startsWith('image/svg+xml')) { + const reader = new FileReader(); + reader.onload = () => { + if (reader.result) img.src = reader.result as string; + }; + reader.readAsDataURL(file); + } else if (file.type.startsWith('image/gif')) { + const reader = new FileReader(); + reader.onload = () => { + if (reader.result) resolve(reader.result as string); + }; + reader.readAsDataURL(file); + } else { + img.src = window.URL.createObjectURL(file); + } + }); +} diff --git a/packages/meta/src/watermark/utils.ts b/packages/meta/src/watermark/utils.ts index f2394c7..54333d6 100644 --- a/packages/meta/src/watermark/utils.ts +++ b/packages/meta/src/watermark/utils.ts @@ -5,6 +5,7 @@ export function toLowercaseSeparator(key: string) { export function getStyleStr(style: React.CSSProperties): string { return Object.keys(style) + // @ts-ignore .map((key: keyof React.CSSProperties) => `${toLowercaseSeparator(key)}: ${style[key]};`) .join(' '); } diff --git a/packages/meta/tsconfig.json b/packages/meta/tsconfig.json deleted file mode 100644 index 17ce7f9..0000000 --- a/packages/meta/tsconfig.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "references": [{ "path": "../../tsconfig.json" }], - "compilerOptions": { - } -} diff --git a/packages/request/CHANGELOG.md b/packages/request/CHANGELOG.md index e1947d9..746c462 100644 --- a/packages/request/CHANGELOG.md +++ b/packages/request/CHANGELOG.md @@ -1,5 +1,23 @@ # @zhst/request +## 0.5.0 + +### Minor Changes + +- feat: 初版发布 + +## 0.4.1 + +### Patch Changes + +- feat: 初始化 + +## 0.4.0 + +### Minor Changes + +- fix: 修改 pkg + ## 0.3.0 ### Minor Changes diff --git a/packages/request/es/index.js b/packages/request/es/index.js index e7d305c..2ac5ad5 100644 --- a/packages/request/es/index.js +++ b/packages/request/es/index.js @@ -18,13 +18,17 @@ function _isNativeFunction(fn) { try { return Function.toString.call(fn).indexOf function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } -function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } import { extend } from 'umi-request'; import { omit, get } from 'lodash-es'; import { message } from 'antd'; -import { User } from '@zhst/types/user'; import base64 from 'base-64'; +export var User = /*#__PURE__*/function (User) { + User["TOKEN_KEY"] = "USER-TOKEN"; + User["USER_KEY"] = "USER"; + return User; +}({}); export var ResponseError = /*#__PURE__*/function (_Error) { _inherits(ResponseError, _Error); var _super = _createSuper(ResponseError); @@ -150,7 +154,6 @@ export var doRequest = function doRequest(cgi, option) { // 7环境gateway -- http://10.0.0.7:32223 newUrl = "http://10.0.0.7:32223".concat(url); // 7环境进行调试 } - if (originUrl) { newUrl = url; } diff --git a/packages/request/lib/index.js b/packages/request/lib/index.js index 94b2c38..2ede4ea 100644 --- a/packages/request/lib/index.js +++ b/packages/request/lib/index.js @@ -30,6 +30,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru var src_exports = {}; __export(src_exports, { ResponseError: () => ResponseError, + User: () => User, default: () => src_default, doRequest: () => doRequest, req: () => req @@ -38,8 +39,12 @@ module.exports = __toCommonJS(src_exports); var import_umi_request = require("umi-request"); var import_lodash_es = require("lodash-es"); var import_antd = require("antd"); -var import_user = require("@zhst/types/user"); var import_base_64 = __toESM(require("base-64")); +var User = /* @__PURE__ */ ((User2) => { + User2["TOKEN_KEY"] = "USER-TOKEN"; + User2["USER_KEY"] = "USER"; + return User2; +})(User || {}); var ResponseError = class extends Error { constructor(response, text, data, request, type = "ResponseError") { super(text || response.statusText); @@ -63,8 +68,8 @@ req.use(async (ctx, next) => { const { res } = ctx; const d = await res.text(); if (res.status === 401) { - localStorage.removeItem(import_user.User.TOKEN_KEY); - localStorage.removeItem(import_user.User.USER_KEY); + localStorage.removeItem("USER-TOKEN" /* TOKEN_KEY */); + localStorage.removeItem("USER" /* USER_KEY */); import_antd.message.warning("登录过期,请重新登录!"); return; } @@ -103,7 +108,7 @@ var doRequest = (cgi, option) => { originUrl = false, refererSuffix = "" } = cgi; - const token = localStorage.getItem(import_user.User.TOKEN_KEY); + const token = localStorage.getItem("USER-TOKEN" /* TOKEN_KEY */); let newUrl = ""; if (useBaseUrl) { newUrl = `${baseUrl}${url}`; @@ -144,6 +149,7 @@ var src_default = doRequest; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { ResponseError, + User, doRequest, req }); diff --git a/packages/request/package.json b/packages/request/package.json index 3cf06d2..e1ee86a 100644 --- a/packages/request/package.json +++ b/packages/request/package.json @@ -1,6 +1,6 @@ { "name": "@zhst/request", - "version": "0.3.0", + "version": "0.5.0", "description": "请求库", "keywords": [ "request", @@ -19,7 +19,9 @@ "typings": "es/index.d.ts", "exports": { ".": { - "import": "./src/index.ts" + "require": "./lib/index.js", + "import": "./es/index.js", + "default": "./es/index.js" }, "./package.json": "./package.json" }, @@ -43,6 +45,6 @@ "devDependencies": { "@types/base-64": "^1.0.2", "@types/lodash-es": "^4.17.12", - "@zhst/types": "workspace:^" + "@types/zhst": "workspace:^" } } diff --git a/packages/request/src/index.ts b/packages/request/src/index.ts index d2272e1..3e28b79 100644 --- a/packages/request/src/index.ts +++ b/packages/request/src/index.ts @@ -2,9 +2,13 @@ import { extend } from 'umi-request'; import type { RequestOptionsInit } from 'umi-request'; import { omit, get } from 'lodash-es'; import { message } from 'antd'; -import { User } from '@zhst/types/user'; import base64 from 'base-64'; +export enum User { + TOKEN_KEY = 'USER-TOKEN', + USER_KEY = 'USER' +} + export class ResponseError extends Error { name; data; diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index 0843b80..07be36f 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -1,4 +1,22 @@ -# @zhst/types +# @types/zhst + +## 0.5.0 + +### Minor Changes + +- feat: 初版发布 + +## 0.4.1 + +### Patch Changes + +- feat: 初始化 + +## 0.4.0 + +### Minor Changes + +- fix: 修改 pkg ## 0.3.0 diff --git a/packages/types/package.json b/packages/types/package.json index b04dddb..337cc50 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { - "name": "@zhst/types", - "version": "0.3.0", + "name": "@types/zhst", + "version": "0.5.0", "description": "变量定义库", "keywords": [ "types", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 19af500..290ba49 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,31 +19,31 @@ importers: version: 17.8.1 '@types/react': specifier: ^18.0.0 - version: 18.2.39 + version: 18.2.48 '@types/react-dom': specifier: ^18.0.0 - version: 18.2.17 + version: 18.2.18 '@umijs/lint': specifier: ^4.0.0 - version: 4.0.88(eslint@8.54.0)(stylelint@14.16.1)(typescript@5.3.2) + version: 4.1.1(eslint@8.56.0)(stylelint@14.16.1)(typescript@5.3.3) babel-plugin-import: specifier: ^1.13.8 version: 1.13.8 dumi: specifier: ^2.2.13 - version: 2.2.14(@babel/core@7.23.3)(@types/node@20.5.1)(@types/react@18.2.39)(eslint@8.54.0)(prettier@2.8.8)(react-dom@18.2.0)(react@18.2.0)(stylelint@14.16.1)(typescript@5.3.2)(webpack@5.89.0) + version: 2.2.17(@babel/core@7.23.7)(@types/node@20.5.1)(@types/react@18.2.48)(eslint@8.56.0)(prettier@2.8.8)(react-dom@18.2.0)(react@18.2.0)(stylelint@14.16.1)(typescript@5.3.3)(webpack@5.89.0) eslint: specifier: ^8.23.0 - version: 8.54.0 + version: 8.56.0 father: specifier: ^4.1.0 - version: 4.3.7(@types/node@20.5.1)(webpack@5.89.0) + version: 4.3.8(@types/node@20.5.1)(webpack@5.89.0) husky: specifier: ^8.0.1 version: 8.0.3 lerna: specifier: ^8.0.0 - version: 8.0.0 + version: 8.0.2 lint-staged: specifier: ^13.0.3 version: 13.3.0 @@ -52,10 +52,10 @@ importers: version: 2.8.8 prettier-plugin-organize-imports: specifier: ^3.0.0 - version: 3.2.4(prettier@2.8.8)(typescript@5.3.2) + version: 3.2.4(prettier@2.8.8)(typescript@5.3.3) prettier-plugin-packagejson: specifier: ^2.2.18 - version: 2.4.6(prettier@2.8.8) + version: 2.4.9(prettier@2.8.8) react: specifier: ^18.0.0 version: 18.2.0 @@ -79,7 +79,7 @@ importers: version: link:../meta antd: specifier: ^5.12.5 - version: 5.12.5(react-dom@18.2.0)(react@18.2.0) + version: 5.13.2(react-dom@18.2.0)(react@18.2.0) classnames: specifier: ^2.5.1 version: 2.5.1 @@ -87,7 +87,7 @@ importers: specifier: ^5.38.1 version: 5.38.1(react-dom@18.2.0)(react@18.2.0) devDependencies: - '@zhst/types': + '@types/zhst': specifier: workspace:^ version: link:../types @@ -129,7 +129,7 @@ importers: '@types/uuid': specifier: ^9.0.7 version: 9.0.7 - '@zhst/types': + '@types/zhst': specifier: workspace:^ version: link:../types @@ -143,7 +143,7 @@ importers: version: 3.7.8(react@18.2.0) antd: specifier: ^5.12.5 - version: 5.12.5(react-dom@18.2.0)(react@18.2.0) + version: 5.13.2(react-dom@18.2.0)(react@18.2.0) events: specifier: ^3.3.0 version: 3.3.0 @@ -155,9 +155,9 @@ importers: version: 0.12.4(prop-types@15.8.1)(react@18.2.0) react-router-dom: specifier: ^6.21.1 - version: 6.21.1(react-dom@18.2.0)(react@18.2.0) + version: 6.21.3(react-dom@18.2.0)(react@18.2.0) devDependencies: - '@zhst/types': + '@types/zhst': specifier: workspace:^ version: link:../types @@ -183,13 +183,13 @@ importers: version: 7.0.2 '@ant-design/cssinjs': specifier: ^1.18.2 - version: 1.18.2(react-dom@18.2.0)(react@18.2.0) + version: 1.18.4(react-dom@18.2.0)(react@18.2.0) '@ant-design/icons': specifier: ^5.2.6 version: 5.2.6(react-dom@18.2.0)(react@18.2.0) '@ctrl/tinycolor': specifier: ^4.0.2 - version: 4.0.2 + version: 4.0.3 '@rc-component/mutate-observer': specifier: ^1.1.0 version: 1.1.0(react-dom@18.2.0)(react@18.2.0) @@ -216,10 +216,13 @@ importers: version: 'link:' antd: specifier: ^5.12.5 - version: 5.12.5(react-dom@18.2.0)(react@18.2.0) + version: 5.13.2(react-dom@18.2.0)(react@18.2.0) + antd-img-crop: + specifier: ^4.21.0 + version: 4.21.0(antd@5.13.2)(react-dom@18.2.0)(react@18.2.0) antd-style: specifier: ^3.6.1 - version: 3.6.1(@types/react@18.2.39)(antd@5.12.5)(react-dom@18.2.0)(react@18.2.0) + version: 3.6.1(@types/react@18.2.48)(antd@5.13.2)(react-dom@18.2.0)(react@18.2.0) classnames: specifier: ^2.5.1 version: 2.5.1 @@ -238,48 +241,99 @@ importers: rc-align: specifier: ^4.0.15 version: 4.0.15(react-dom@18.2.0)(react@18.2.0) + rc-cascader: + specifier: ~3.20.0 + version: 3.20.0(react-dom@18.2.0)(react@18.2.0) rc-checkbox: - specifier: ^3.1.0 + specifier: ~3.1.0 version: 3.1.0(react-dom@18.2.0)(react@18.2.0) + rc-collapse: + specifier: ~3.7.2 + version: 3.7.2(react-dom@18.2.0)(react@18.2.0) rc-dialog: - specifier: ^9.3.4 + specifier: ~9.3.4 version: 9.3.4(react-dom@18.2.0)(react@18.2.0) + rc-drawer: + specifier: ~6.5.2 + version: 6.5.2(react-dom@18.2.0)(react@18.2.0) + rc-dropdown: + specifier: ~4.1.0 + version: 4.1.0(react-dom@18.2.0)(react@18.2.0) rc-field-form: - specifier: ^1.41.0 + specifier: ~1.41.0 version: 1.41.0(react-dom@18.2.0)(react@18.2.0) + rc-image: + specifier: ~7.5.1 + version: 7.5.1(react-dom@18.2.0)(react@18.2.0) rc-input: - specifier: ^1.4.3 - version: 1.4.3(react-dom@18.2.0)(react@18.2.0) + specifier: ~1.3.11 + version: 1.3.11(react-dom@18.2.0)(react@18.2.0) rc-input-number: - specifier: ^8.6.1 - version: 8.6.1(react-dom@18.2.0)(react@18.2.0) + specifier: ~8.4.0 + version: 8.4.0(react-dom@18.2.0)(react@18.2.0) + rc-mentions: + specifier: ~2.9.1 + version: 2.9.1(react-dom@18.2.0)(react@18.2.0) + rc-menu: + specifier: ~9.12.4 + version: 9.12.4(react-dom@18.2.0)(react@18.2.0) rc-motion: specifier: ^2.9.0 version: 2.9.0(react-dom@18.2.0)(react@18.2.0) + rc-notification: + specifier: ~5.3.0 + version: 5.3.0(react-dom@18.2.0)(react@18.2.0) rc-pagination: - specifier: ^4.0.4 + specifier: ~4.0.4 version: 4.0.4(react-dom@18.2.0)(react@18.2.0) rc-picker: - specifier: 4.0.0-alpha.36 - version: 4.0.0-alpha.36(dayjs@1.11.10)(react-dom@18.2.0)(react@18.2.0) + specifier: ~3.14.6 + version: 3.14.6(dayjs@1.11.10)(react-dom@18.2.0)(react@18.2.0) + rc-progress: + specifier: ~3.5.1 + version: 3.5.1(react-dom@18.2.0)(react@18.2.0) + rc-rate: + specifier: ~2.12.0 + version: 2.12.0(react-dom@18.2.0)(react@18.2.0) rc-resize-observer: specifier: ^1.4.0 version: 1.4.0(react-dom@18.2.0)(react@18.2.0) + rc-segmented: + specifier: ~2.2.2 + version: 2.2.2(react-dom@18.2.0)(react@18.2.0) rc-select: - specifier: ^14.11.0 - version: 14.11.0(react-dom@18.2.0)(react@18.2.0) + specifier: ~14.10.0 + version: 14.10.0(react-dom@18.2.0)(react@18.2.0) + rc-slider: + specifier: ~10.5.0 + version: 10.5.0(react-dom@18.2.0)(react@18.2.0) + rc-steps: + specifier: ~6.0.1 + version: 6.0.1(react-dom@18.2.0)(react@18.2.0) rc-switch: - specifier: ^4.1.0 + specifier: ~4.1.0 version: 4.1.0(react-dom@18.2.0)(react@18.2.0) + rc-table: + specifier: ~7.36.1 + version: 7.36.1(react-dom@18.2.0)(react@18.2.0) rc-tabs: - specifier: ^14.0.0 - version: 14.0.0(react-dom@18.2.0)(react@18.2.0) + specifier: ~12.14.1 + version: 12.14.1(react-dom@18.2.0)(react@18.2.0) rc-textarea: - specifier: ^1.6.3 - version: 1.6.3(react-dom@18.2.0)(react@18.2.0) + specifier: ~1.5.3 + version: 1.5.3(react-dom@18.2.0)(react@18.2.0) rc-tooltip: - specifier: ^6.1.3 + specifier: ~6.1.3 version: 6.1.3(react-dom@18.2.0)(react@18.2.0) + rc-tree: + specifier: ~5.8.2 + version: 5.8.2(react-dom@18.2.0)(react@18.2.0) + rc-tree-select: + specifier: ~5.15.0 + version: 5.15.0(react-dom@18.2.0)(react@18.2.0) + rc-upload: + specifier: ~4.5.2 + version: 4.5.2(react-dom@18.2.0)(react@18.2.0) rc-util: specifier: ^5.38.1 version: 5.38.1(react-dom@18.2.0)(react@18.2.0) @@ -296,15 +350,117 @@ importers: specifier: ^3.1.0 version: 3.1.0 devDependencies: - '@zhst/types': + '@types/ali-oss': + specifier: ^6.16.11 + version: 6.16.11 + '@types/fs-extra': + specifier: ^11.0.4 + version: 11.0.4 + '@types/gtag.js': + specifier: ^0.0.18 + version: 0.0.18 + '@types/http-server': + specifier: ^0.12.4 + version: 0.12.4 + '@types/inquirer': + specifier: ^9.0.7 + version: 9.0.7 + '@types/isomorphic-fetch': + specifier: ^0.0.39 + version: 0.0.39 + '@types/jest': + specifier: ^29.5.11 + version: 29.5.12 + '@types/jest-axe': + specifier: ^3.5.9 + version: 3.5.9 + '@types/jest-environment-puppeteer': + specifier: ^5.0.6 + version: 5.0.6 + '@types/jest-image-snapshot': + specifier: ^6.4.0 + version: 6.4.0 + '@types/jquery': + specifier: ^3.5.29 + version: 3.5.29 + '@types/jsdom': + specifier: ^21.1.6 + version: 21.1.6 + '@types/lodash': + specifier: ^4.14.202 + version: 4.14.202 + '@types/minimist': + specifier: ^1.2.5 + version: 1.2.5 + '@types/node': + specifier: ^20.10.6 + version: 20.11.5 + '@types/nprogress': + specifier: ^0.2.3 + version: 0.2.3 + '@types/pixelmatch': + specifier: ^5.2.6 + version: 5.2.6 + '@types/pngjs': + specifier: ^6.0.4 + version: 6.0.4 + '@types/prismjs': + specifier: ^1.26.3 + version: 1.26.3 + '@types/progress': + specifier: ^2.0.7 + version: 2.0.7 + '@types/qs': + specifier: ^6.9.11 + version: 6.9.11 + '@types/react': + specifier: ^18.2.46 + version: 18.2.48 + '@types/react-copy-to-clipboard': + specifier: ^5.0.7 + version: 5.0.7 + '@types/react-dom': + specifier: ^18.2.18 + version: 18.2.18 + '@types/react-highlight-words': + specifier: ^0.16.7 + version: 0.16.7 + '@types/react-resizable': + specifier: ^3.0.7 + version: 3.0.7 + '@types/semver': + specifier: ^7.5.6 + version: 7.5.6 + '@types/tar': + specifier: ^6.1.10 + version: 6.1.11 + '@types/throttle-debounce': + specifier: ^5.0.2 + version: 5.0.2 + '@types/warning': + specifier: ^3.0.3 + version: 3.0.3 + '@types/zhst': specifier: workspace:^ version: link:../types + '@typescript-eslint/eslint-plugin': + specifier: ^6.17.0 + version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': + specifier: ^6.17.0 + version: 6.21.0(eslint@8.56.0)(typescript@5.3.3) + react-copy-to-clipboard: + specifier: ^5.1.0 + version: 5.1.0(react@18.2.0) + react-countup: + specifier: ^6.5.0 + version: 6.5.0(react@18.2.0) packages/request: dependencies: antd: specifier: ^5.12.5 - version: 5.12.5(react-dom@18.2.0)(react@18.2.0) + version: 5.13.2(react-dom@18.2.0)(react@18.2.0) base-64: specifier: ^1.0.0 version: 1.0.0 @@ -321,7 +477,7 @@ importers: '@types/lodash-es': specifier: ^4.17.12 version: 4.17.12 - '@zhst/types': + '@types/zhst': specifier: workspace:^ version: link:../types @@ -339,22 +495,22 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.22 dev: true /@ant-design/colors@7.0.2: - resolution: {integrity: sha512-7KJkhTiPiLHSu+LmMJnehfJ6242OCxSlR3xHVBecYxnMW8MS/878NXct1GqYARyL59fyeFdKRxXTfvR9SnDgJg==, tarball: https://registry.npmmirror.com/@ant-design/colors/-/colors-7.0.2.tgz} + resolution: {integrity: sha512-7KJkhTiPiLHSu+LmMJnehfJ6242OCxSlR3xHVBecYxnMW8MS/878NXct1GqYARyL59fyeFdKRxXTfvR9SnDgJg==} dependencies: '@ctrl/tinycolor': 3.6.1 dev: false - /@ant-design/cssinjs@1.18.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-514V9rjLaFYb3v4s55/8bg2E6fb81b99s3crDZf4nSwtiDLLXs8axnIph+q2TVkY2hbJPZOn/cVsVcnLkzFy7w==, tarball: https://registry.npmmirror.com/@ant-design/cssinjs/-/cssinjs-1.18.2.tgz} + /@ant-design/cssinjs@1.18.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-IrUAOj5TYuMG556C9gdbFuOrigyhzhU5ZYpWb3gYTxAwymVqRbvLzFCZg6OsjLBR6GhzcxYF3AhxKmjB+rA2xA==} peerDependencies: react: '>=16.0.0' react-dom: '>=16.0.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@emotion/hash': 0.8.0 '@emotion/unitless': 0.7.5 classnames: 2.5.1 @@ -362,22 +518,22 @@ packages: rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - stylis: 4.3.0 + stylis: 4.3.1 dev: false - /@ant-design/icons-svg@4.3.1: - resolution: {integrity: sha512-4QBZg8ccyC6LPIRii7A0bZUk3+lEDCLnhB+FVsflGdcWPPmV+j3fire4AwwoqHV/BibgvBmR9ZIo4s867smv+g==, tarball: https://registry.npmmirror.com/@ant-design/icons-svg/-/icons-svg-4.3.1.tgz} + /@ant-design/icons-svg@4.3.2: + resolution: {integrity: sha512-s9WV19cXTC/Tux/XpDru/rCfPZQhGaho36B+9RrN1v5YsaKmE6dJ+fq6LQnXVBVYjzkqykEEK+1XG+SYiottTQ==} /@ant-design/icons@5.2.6(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-4wn0WShF43TrggskBJPRqCD0fcHbzTYjnaoskdiJrVHg86yxoZ8ZUqsXvyn4WUqehRiFKnaclOhqk9w4Ui2KVw==, tarball: https://registry.npmmirror.com/@ant-design/icons/-/icons-5.2.6.tgz} + resolution: {integrity: sha512-4wn0WShF43TrggskBJPRqCD0fcHbzTYjnaoskdiJrVHg86yxoZ8ZUqsXvyn4WUqehRiFKnaclOhqk9w4Ui2KVw==} engines: {node: '>=8'} peerDependencies: react: '>=16.0.0' react-dom: '>=16.0.0' dependencies: '@ant-design/colors': 7.0.2 - '@ant-design/icons-svg': 4.3.1 - '@babel/runtime': 7.23.4 + '@ant-design/icons-svg': 4.3.2 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 @@ -385,11 +541,11 @@ packages: dev: false /@ant-design/react-slick@1.0.2(react@18.2.0): - resolution: {integrity: sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ==, tarball: https://registry.npmmirror.com/@ant-design/react-slick/-/react-slick-1.0.2.tgz} + resolution: {integrity: sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ==} peerDependencies: react: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 json2mq: 0.2.0 react: 18.2.0 @@ -404,64 +560,36 @@ packages: find-up: 5.0.0 dev: true - /@antfu/utils@0.7.6: - resolution: {integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==} + /@antfu/utils@0.7.7: + resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} dev: true - /@babel/code-frame@7.23.4: - resolution: {integrity: sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==, tarball: https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.23.4.tgz} + /@babel/code-frame@7.23.5: + resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.23.4 chalk: 2.4.2 - /@babel/compat-data@7.23.3: - resolution: {integrity: sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==} - engines: {node: '>=6.9.0'} - dev: true - /@babel/compat-data@7.23.5: resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} engines: {node: '>=6.9.0'} dev: true - /@babel/core@7.23.2: - resolution: {integrity: sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==} + /@babel/core@7.23.6: + resolution: {integrity: sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.23.4 - '@babel/generator': 7.23.4 - '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.2) - '@babel/helpers': 7.23.4 - '@babel/parser': 7.23.6 - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.4 - '@babel/types': 7.23.4 - convert-source-map: 2.0.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/core@7.23.3: - resolution: {integrity: sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.23.4 - '@babel/generator': 7.23.4 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) - '@babel/helpers': 7.23.4 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.6) + '@babel/helpers': 7.23.8 '@babel/parser': 7.23.6 '@babel/template': 7.22.15 - '@babel/traverse': 7.23.4 - '@babel/types': 7.23.4 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 convert-source-map: 2.0.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -471,41 +599,53 @@ packages: - supports-color dev: true - /@babel/eslint-parser@7.22.15(@babel/core@7.23.2)(eslint@8.54.0): - resolution: {integrity: sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg==} + /@babel/core@7.23.7: + resolution: {integrity: sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/helpers': 7.23.8 + '@babel/parser': 7.23.6 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/eslint-parser@7.23.3(@babel/core@7.23.6)(eslint@8.56.0): + resolution: {integrity: sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: '@babel/core': ^7.11.0 eslint: ^7.5.0 || ^8.0.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.6 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 - eslint: 8.54.0 + eslint: 8.56.0 eslint-visitor-keys: 2.1.0 semver: 6.3.1 dev: true - /@babel/generator@7.23.4: - resolution: {integrity: sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==} + /@babel/generator@7.23.6: + resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.22 jsesc: 2.5.2 dev: true - /@babel/helper-compilation-targets@7.22.15: - resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/compat-data': 7.23.3 - '@babel/helper-validator-option': 7.22.15 - browserslist: 4.22.2 - lru-cache: 5.1.1 - semver: 6.3.1 - dev: true - /@babel/helper-compilation-targets@7.23.6: resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} engines: {node: '>=6.9.0'} @@ -527,29 +667,29 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 dev: true /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 dev: true /@babel/helper-module-imports@7.22.15: resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 - /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.2): + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.6): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 @@ -557,13 +697,13 @@ packages: '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.3): + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 @@ -580,47 +720,42 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 dev: true /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 dev: true /@babel/helper-string-parser@7.23.4: - resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==, tarball: https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz} + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} engines: {node: '>=6.9.0'} /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, tarball: https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz} + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.22.15: - resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} - engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-validator-option@7.23.5: resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} dev: true - /@babel/helpers@7.23.4: - resolution: {integrity: sha512-HfcMizYz10cr3h29VqyfGL6ZWIjTwWfvYBMsBVGwpcbhNGe3wQ1ZXZRPzZoAHhd9OqHadHqjQ89iVKINXnbzuw==} + /@babel/helpers@7.23.8: + resolution: {integrity: sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/traverse': 7.23.4 - '@babel/types': 7.23.4 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 transitivePeerDependencies: - supports-color dev: true /@babel/highlight@7.23.4: - resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==, tarball: https://registry.npmmirror.com/@babel/highlight/-/highlight-7.23.4.tgz} + resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.22.20 @@ -632,192 +767,192 @@ packages: engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.3): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.7): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.23.3): + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.23.7): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.3): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.7): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.3): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.7): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.3): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.7): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.3): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.7): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.3): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.7): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.3): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.7): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.3): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.7): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.3): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.7): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.3): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.7): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.3): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.7): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-modules-commonjs@7.23.0(@babel/core@7.23.3): - resolution: {integrity: sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==} + /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) + '@babel/core': 7.23.7 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 dev: true - /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.3): + /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.3): + /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/runtime@7.23.2: - resolution: {integrity: sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==, tarball: https://registry.npmmirror.com/@babel/runtime/-/runtime-7.23.2.tgz} + /@babel/runtime@7.23.6: + resolution: {integrity: sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==} engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.14.0 + regenerator-runtime: 0.14.1 dev: true - /@babel/runtime@7.23.4: - resolution: {integrity: sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==, tarball: https://registry.npmmirror.com/@babel/runtime/-/runtime-7.23.4.tgz} + /@babel/runtime@7.23.8: + resolution: {integrity: sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==} engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.14.0 + regenerator-runtime: 0.14.1 /@babel/template@7.22.15: resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.23.4 + '@babel/code-frame': 7.23.5 '@babel/parser': 7.23.6 - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 dev: true - /@babel/traverse@7.23.4: - resolution: {integrity: sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==} + /@babel/traverse@7.23.7: + resolution: {integrity: sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.23.4 - '@babel/generator': 7.23.4 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/parser': 7.23.6 - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/types@7.23.4: - resolution: {integrity: sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==, tarball: https://registry.npmmirror.com/@babel/types/-/types-7.23.4.tgz} + /@babel/types@7.23.6: + resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.23.4 @@ -831,7 +966,7 @@ packages: /@changesets/apply-release-plan@7.0.0: resolution: {integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==} dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@changesets/config': 3.0.0 '@changesets/get-version-range-type': 0.4.0 '@changesets/git': 3.0.0 @@ -849,7 +984,7 @@ packages: /@changesets/assemble-release-plan@6.0.0: resolution: {integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw==} dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.0.0 '@changesets/types': 6.0.0 @@ -867,7 +1002,7 @@ packages: resolution: {integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==} hasBin: true dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@changesets/apply-release-plan': 7.0.0 '@changesets/assemble-release-plan': 6.0.0 '@changesets/changelog-git': 0.2.0 @@ -886,7 +1021,7 @@ packages: ansi-colors: 4.1.3 chalk: 2.4.2 ci-info: 3.9.0 - enquirer: 2.3.6 + enquirer: 2.4.1 external-editor: 3.1.0 fs-extra: 7.0.1 human-id: 1.0.2 @@ -932,7 +1067,7 @@ packages: /@changesets/get-release-plan@4.0.0: resolution: {integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w==} dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@changesets/assemble-release-plan': 6.0.0 '@changesets/config': 3.0.0 '@changesets/pre': 2.0.0 @@ -948,7 +1083,7 @@ packages: /@changesets/git@3.0.0: resolution: {integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==} dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -973,7 +1108,7 @@ packages: /@changesets/pre@2.0.0: resolution: {integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==} dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -983,7 +1118,7 @@ packages: /@changesets/read@0.6.0: resolution: {integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==} dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@changesets/git': 3.0.0 '@changesets/logger': 0.1.0 '@changesets/parse': 0.4.0 @@ -1004,7 +1139,7 @@ packages: /@changesets/write@0.3.0: resolution: {integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw==} dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@changesets/types': 6.0.0 fs-extra: 7.0.1 human-id: 1.0.2 @@ -1099,14 +1234,14 @@ packages: '@commitlint/types': 17.8.1 '@types/node': 20.5.1 chalk: 4.1.2 - cosmiconfig: 8.3.6(typescript@5.3.2) - cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.1)(typescript@5.3.2) + cosmiconfig: 8.3.6(typescript@5.3.3) + cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.2)(typescript@5.3.3) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 resolve-from: 5.0.0 - ts-node: 10.9.1(@types/node@20.5.1)(typescript@5.3.2) - typescript: 5.3.2 + ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -1186,133 +1321,133 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@csstools/postcss-color-function@1.1.1(postcss@8.4.31): + /@csstools/postcss-color-function@1.1.1(postcss@8.4.33): resolution: {integrity: sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.31) - postcss: 8.4.31 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.33) + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-font-format-keywords@1.0.1(postcss@8.4.31): + /@csstools/postcss-font-format-keywords@1.0.1(postcss@8.4.33): resolution: {integrity: sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-hwb-function@1.0.2(postcss@8.4.31): + /@csstools/postcss-hwb-function@1.0.2(postcss@8.4.33): resolution: {integrity: sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-ic-unit@1.0.1(postcss@8.4.31): + /@csstools/postcss-ic-unit@1.0.1(postcss@8.4.33): resolution: {integrity: sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.31) - postcss: 8.4.31 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.33) + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-is-pseudo-class@2.0.7(postcss@8.4.31): + /@csstools/postcss-is-pseudo-class@2.0.7(postcss@8.4.33): resolution: {integrity: sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.13) - postcss: 8.4.31 - postcss-selector-parser: 6.0.13 + '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.15) + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 dev: true - /@csstools/postcss-normalize-display-values@1.0.1(postcss@8.4.31): + /@csstools/postcss-normalize-display-values@1.0.1(postcss@8.4.33): resolution: {integrity: sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-oklab-function@1.1.1(postcss@8.4.31): + /@csstools/postcss-oklab-function@1.1.1(postcss@8.4.33): resolution: {integrity: sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.31) - postcss: 8.4.31 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.33) + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-progressive-custom-properties@1.3.0(postcss@8.4.31): + /@csstools/postcss-progressive-custom-properties@1.3.0(postcss@8.4.33): resolution: {integrity: sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.3 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-stepped-value-functions@1.0.1(postcss@8.4.31): + /@csstools/postcss-stepped-value-functions@1.0.1(postcss@8.4.33): resolution: {integrity: sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-unset-value@1.0.2(postcss@8.4.31): + /@csstools/postcss-unset-value@1.0.2(postcss@8.4.33): resolution: {integrity: sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 dev: true - /@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.0.13): + /@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.0.15): resolution: {integrity: sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss-selector-parser: ^6.0.10 dependencies: - postcss-selector-parser: 6.0.13 + postcss-selector-parser: 6.0.15 dev: true /@ctrl/tinycolor@3.6.1: - resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==, tarball: https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz} + resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==} engines: {node: '>=10'} dev: false - /@ctrl/tinycolor@4.0.2: - resolution: {integrity: sha512-fKQinXE9pJ83J1n+C3rDl2xNLJwfoYNvXLRy5cYZA9hBJJw2q+sbb/AOSNKmLxnTWyNTmy4994dueSwP4opi5g==, tarball: https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-4.0.2.tgz} + /@ctrl/tinycolor@4.0.3: + resolution: {integrity: sha512-e9nEVehVJwkymQpkGhdSNzLT2Lr9UTTby+JePq4Z2SxBbOQjY7pLgSouAaXvfaGQVSAaY0U4eJdwfSDmCbItcw==} engines: {node: '>=14'} dev: false /@emotion/babel-plugin@11.11.0: - resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==, tarball: https://registry.npmmirror.com/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz} + resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==} dependencies: '@babel/helper-module-imports': 7.22.15 - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@emotion/hash': 0.9.1 '@emotion/memoize': 0.8.1 '@emotion/serialize': 1.1.3 @@ -1325,7 +1460,7 @@ packages: dev: false /@emotion/cache@11.11.0: - resolution: {integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==, tarball: https://registry.npmmirror.com/@emotion/cache/-/cache-11.11.0.tgz} + resolution: {integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==} dependencies: '@emotion/memoize': 0.8.1 '@emotion/sheet': 1.2.2 @@ -1335,7 +1470,7 @@ packages: dev: false /@emotion/css@11.11.2: - resolution: {integrity: sha512-VJxe1ucoMYMS7DkiMdC2T7PWNbrEI0a39YRiyDvK2qq4lXwjRbVP/z4lpG+odCsRzadlR+1ywwrTzhdm5HNdew==, tarball: https://registry.npmmirror.com/@emotion/css/-/css-11.11.2.tgz} + resolution: {integrity: sha512-VJxe1ucoMYMS7DkiMdC2T7PWNbrEI0a39YRiyDvK2qq4lXwjRbVP/z4lpG+odCsRzadlR+1ywwrTzhdm5HNdew==} dependencies: '@emotion/babel-plugin': 11.11.0 '@emotion/cache': 11.11.0 @@ -1345,19 +1480,19 @@ packages: dev: false /@emotion/hash@0.8.0: - resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==, tarball: https://registry.npmmirror.com/@emotion/hash/-/hash-0.8.0.tgz} + resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} dev: false /@emotion/hash@0.9.1: - resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==, tarball: https://registry.npmmirror.com/@emotion/hash/-/hash-0.9.1.tgz} + resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==} dev: false /@emotion/memoize@0.8.1: - resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==, tarball: https://registry.npmmirror.com/@emotion/memoize/-/memoize-0.8.1.tgz} + resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==} dev: false - /@emotion/react@11.11.3(@types/react@18.2.39)(react@18.2.0): - resolution: {integrity: sha512-Cnn0kuq4DoONOMcnoVsTOR8E+AdnKFf//6kUWc4LCdnxj31pZWn7rIULd6Y7/Js1PiPHzn7SKCM9vB/jBni8eA==, tarball: https://registry.npmmirror.com/@emotion/react/-/react-11.11.3.tgz} + /@emotion/react@11.11.3(@types/react@18.2.48)(react@18.2.0): + resolution: {integrity: sha512-Cnn0kuq4DoONOMcnoVsTOR8E+AdnKFf//6kUWc4LCdnxj31pZWn7rIULd6Y7/Js1PiPHzn7SKCM9vB/jBni8eA==} peerDependencies: '@types/react': '*' react: '>=16.8.0' @@ -1365,20 +1500,20 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@emotion/babel-plugin': 11.11.0 '@emotion/cache': 11.11.0 '@emotion/serialize': 1.1.3 '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) '@emotion/utils': 1.2.1 '@emotion/weak-memoize': 0.3.1 - '@types/react': 18.2.39 + '@types/react': 18.2.48 hoist-non-react-statics: 3.3.2 react: 18.2.0 dev: false /@emotion/serialize@1.1.3: - resolution: {integrity: sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA==, tarball: https://registry.npmmirror.com/@emotion/serialize/-/serialize-1.1.3.tgz} + resolution: {integrity: sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA==} dependencies: '@emotion/hash': 0.9.1 '@emotion/memoize': 0.8.1 @@ -1388,7 +1523,7 @@ packages: dev: false /@emotion/server@11.11.0(@emotion/css@11.11.2): - resolution: {integrity: sha512-6q89fj2z8VBTx9w93kJ5n51hsmtYuFPtZgnc1L8VzRx9ti4EU6EyvF6Nn1H1x3vcCQCF7u2dB2lY4AYJwUW4PA==, tarball: https://registry.npmmirror.com/@emotion/server/-/server-11.11.0.tgz} + resolution: {integrity: sha512-6q89fj2z8VBTx9w93kJ5n51hsmtYuFPtZgnc1L8VzRx9ti4EU6EyvF6Nn1H1x3vcCQCF7u2dB2lY4AYJwUW4PA==} peerDependencies: '@emotion/css': ^11.0.0-rc.0 peerDependenciesMeta: @@ -1403,19 +1538,19 @@ packages: dev: false /@emotion/sheet@1.2.2: - resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==, tarball: https://registry.npmmirror.com/@emotion/sheet/-/sheet-1.2.2.tgz} + resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==} dev: false /@emotion/unitless@0.7.5: - resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==, tarball: https://registry.npmmirror.com/@emotion/unitless/-/unitless-0.7.5.tgz} + resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==} dev: false /@emotion/unitless@0.8.1: - resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==, tarball: https://registry.npmmirror.com/@emotion/unitless/-/unitless-0.8.1.tgz} + resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} dev: false /@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@18.2.0): - resolution: {integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==, tarball: https://registry.npmmirror.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz} + resolution: {integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==} peerDependencies: react: '>=16.8.0' dependencies: @@ -1423,15 +1558,15 @@ packages: dev: false /@emotion/utils@1.2.1: - resolution: {integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==, tarball: https://registry.npmmirror.com/@emotion/utils/-/utils-1.2.1.tgz} + resolution: {integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==} dev: false /@emotion/weak-memoize@0.3.1: - resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==, tarball: https://registry.npmmirror.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz} + resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==} dev: false /@esbuild/android-arm64@0.17.19: - resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==, tarball: https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz} + resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -1440,7 +1575,7 @@ packages: optional: true /@esbuild/android-arm64@0.18.20: - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==, tarball: https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz} + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -1449,7 +1584,7 @@ packages: optional: true /@esbuild/android-arm@0.17.19: - resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==, tarball: https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz} + resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -1458,7 +1593,7 @@ packages: optional: true /@esbuild/android-arm@0.18.20: - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==, tarball: https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz} + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -1467,7 +1602,7 @@ packages: optional: true /@esbuild/android-x64@0.17.19: - resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==, tarball: https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz} + resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -1476,7 +1611,7 @@ packages: optional: true /@esbuild/android-x64@0.18.20: - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==, tarball: https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz} + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -1485,7 +1620,7 @@ packages: optional: true /@esbuild/darwin-arm64@0.17.19: - resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==, tarball: https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz} + resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -1494,7 +1629,7 @@ packages: optional: true /@esbuild/darwin-arm64@0.18.20: - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==, tarball: https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz} + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -1503,7 +1638,7 @@ packages: optional: true /@esbuild/darwin-x64@0.17.19: - resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==, tarball: https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz} + resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -1512,7 +1647,7 @@ packages: optional: true /@esbuild/darwin-x64@0.18.20: - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==, tarball: https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz} + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -1521,7 +1656,7 @@ packages: optional: true /@esbuild/freebsd-arm64@0.17.19: - resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==, tarball: https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz} + resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -1530,7 +1665,7 @@ packages: optional: true /@esbuild/freebsd-arm64@0.18.20: - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==, tarball: https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz} + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -1539,7 +1674,7 @@ packages: optional: true /@esbuild/freebsd-x64@0.17.19: - resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==, tarball: https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz} + resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -1548,7 +1683,7 @@ packages: optional: true /@esbuild/freebsd-x64@0.18.20: - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==, tarball: https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz} + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -1557,7 +1692,7 @@ packages: optional: true /@esbuild/linux-arm64@0.17.19: - resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==, tarball: https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz} + resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -1566,7 +1701,7 @@ packages: optional: true /@esbuild/linux-arm64@0.18.20: - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==, tarball: https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz} + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -1575,7 +1710,7 @@ packages: optional: true /@esbuild/linux-arm@0.17.19: - resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==, tarball: https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz} + resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -1584,7 +1719,7 @@ packages: optional: true /@esbuild/linux-arm@0.18.20: - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==, tarball: https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz} + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -1593,7 +1728,7 @@ packages: optional: true /@esbuild/linux-ia32@0.17.19: - resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==, tarball: https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz} + resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -1602,7 +1737,7 @@ packages: optional: true /@esbuild/linux-ia32@0.18.20: - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==, tarball: https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz} + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -1611,7 +1746,7 @@ packages: optional: true /@esbuild/linux-loong64@0.17.19: - resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==, tarball: https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz} + resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -1620,7 +1755,7 @@ packages: optional: true /@esbuild/linux-loong64@0.18.20: - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==, tarball: https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz} + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -1629,7 +1764,7 @@ packages: optional: true /@esbuild/linux-mips64el@0.17.19: - resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==, tarball: https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz} + resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -1638,7 +1773,7 @@ packages: optional: true /@esbuild/linux-mips64el@0.18.20: - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==, tarball: https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz} + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -1647,7 +1782,7 @@ packages: optional: true /@esbuild/linux-ppc64@0.17.19: - resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==, tarball: https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz} + resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -1656,7 +1791,7 @@ packages: optional: true /@esbuild/linux-ppc64@0.18.20: - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==, tarball: https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz} + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -1665,7 +1800,7 @@ packages: optional: true /@esbuild/linux-riscv64@0.17.19: - resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==, tarball: https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz} + resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -1674,7 +1809,7 @@ packages: optional: true /@esbuild/linux-riscv64@0.18.20: - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==, tarball: https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz} + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -1683,7 +1818,7 @@ packages: optional: true /@esbuild/linux-s390x@0.17.19: - resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==, tarball: https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz} + resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -1692,7 +1827,7 @@ packages: optional: true /@esbuild/linux-s390x@0.18.20: - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==, tarball: https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz} + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -1701,7 +1836,7 @@ packages: optional: true /@esbuild/linux-x64@0.17.19: - resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==, tarball: https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz} + resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -1710,7 +1845,7 @@ packages: optional: true /@esbuild/linux-x64@0.18.20: - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==, tarball: https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz} + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -1719,7 +1854,7 @@ packages: optional: true /@esbuild/netbsd-x64@0.17.19: - resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==, tarball: https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz} + resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -1728,7 +1863,7 @@ packages: optional: true /@esbuild/netbsd-x64@0.18.20: - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==, tarball: https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz} + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -1737,7 +1872,7 @@ packages: optional: true /@esbuild/openbsd-x64@0.17.19: - resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==, tarball: https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz} + resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -1746,7 +1881,7 @@ packages: optional: true /@esbuild/openbsd-x64@0.18.20: - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==, tarball: https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz} + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -1755,7 +1890,7 @@ packages: optional: true /@esbuild/sunos-x64@0.17.19: - resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==, tarball: https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz} + resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -1764,7 +1899,7 @@ packages: optional: true /@esbuild/sunos-x64@0.18.20: - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==, tarball: https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz} + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -1773,7 +1908,7 @@ packages: optional: true /@esbuild/win32-arm64@0.17.19: - resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==, tarball: https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz} + resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -1782,7 +1917,7 @@ packages: optional: true /@esbuild/win32-arm64@0.18.20: - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==, tarball: https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz} + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -1791,7 +1926,7 @@ packages: optional: true /@esbuild/win32-ia32@0.17.19: - resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==, tarball: https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz} + resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -1800,7 +1935,7 @@ packages: optional: true /@esbuild/win32-ia32@0.18.20: - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==, tarball: https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz} + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -1809,7 +1944,7 @@ packages: optional: true /@esbuild/win32-x64@0.17.19: - resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==, tarball: https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz} + resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -1818,7 +1953,7 @@ packages: optional: true /@esbuild/win32-x64@0.18.20: - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==, tarball: https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz} + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -1826,13 +1961,13 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.54.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.54.0 + eslint: 8.56.0 eslint-visitor-keys: 3.4.3 dev: true @@ -1841,14 +1976,14 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@2.1.3: - resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==} + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 espree: 9.6.1 - globals: 13.23.0 + globals: 13.24.0 ignore: 5.3.0 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -1858,8 +1993,8 @@ packages: - supports-color dev: true - /@eslint/js@8.54.0: - resolution: {integrity: sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==} + /@eslint/js@8.56.0: + resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -1873,21 +2008,21 @@ packages: '@floating-ui/core': 0.6.2 dev: true - /@floating-ui/react-dom-interactions@0.3.1(@types/react@18.2.39)(react-dom@18.1.0)(react@18.1.0): + /@floating-ui/react-dom-interactions@0.3.1(@types/react@18.2.48)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-tP2KEh7EHJr5hokSBHcPGojb+AorDNUf0NYfZGg/M+FsMvCOOsSEeEF0O1NDfETIzDnpbHnCs0DuvCFhSMSStg==} deprecated: Package renamed to @floating-ui/react dependencies: - '@floating-ui/react-dom': 0.6.3(@types/react@18.2.39)(react-dom@18.1.0)(react@18.1.0) + '@floating-ui/react-dom': 0.6.3(@types/react@18.2.48)(react-dom@18.1.0)(react@18.1.0) aria-hidden: 1.2.3 point-in-polygon: 1.1.0 - use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.39)(react@18.1.0) + use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.48)(react@18.1.0) transitivePeerDependencies: - '@types/react' - react - react-dom dev: true - /@floating-ui/react-dom@0.6.3(@types/react@18.2.39)(react-dom@18.1.0)(react@18.1.0): + /@floating-ui/react-dom@0.6.3(@types/react@18.2.48)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-hC+pS5D6AgS2wWjbmSQ6UR6Kpy+drvWGJIri6e1EDGADTPsCaa4KzCgmCczHrQeInx9tqs81EyDmbKJYY2swKg==} peerDependencies: react: '>=16.8.0' @@ -1896,15 +2031,15 @@ packages: '@floating-ui/dom': 0.4.5 react: 18.1.0 react-dom: 18.1.0(react@18.1.0) - use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.39)(react@18.1.0) + use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.48)(react@18.1.0) transitivePeerDependencies: - '@types/react' dev: true - /@formatjs/ecma402-abstract@1.18.0: - resolution: {integrity: sha512-PEVLoa3zBevWSCZzPIM/lvPCi8P5l4G+NXQMc/CjEiaCWgyHieUoo0nM7Bs0n/NbuQ6JpXEolivQ9pKSBHaDlA==} + /@formatjs/ecma402-abstract@1.18.2: + resolution: {integrity: sha512-+QoPW4csYALsQIl8GbN14igZzDbuwzcpWrku9nyMXlaqAlwRBgl5V+p0vWMGFqHOw37czNXaP/lEk4wbLgcmtA==} dependencies: - '@formatjs/intl-localematcher': 0.5.2 + '@formatjs/intl-localematcher': 0.5.4 tslib: 2.6.2 dev: true @@ -1914,70 +2049,66 @@ packages: tslib: 2.6.2 dev: true - /@formatjs/icu-messageformat-parser@2.7.3: - resolution: {integrity: sha512-X/jy10V9S/vW+qlplqhMUxR8wErQ0mmIYSq4mrjpjDl9mbuGcCILcI1SUYkL5nlM4PJqpc0KOS0bFkkJNPxYRw==} + /@formatjs/icu-messageformat-parser@2.7.5: + resolution: {integrity: sha512-zCB53HdGDibh6/2ISEN3TGsFQruQ6gGKMFV94qHNyVrs0tNO6ncKhV0vq0n3Ydz8ipIQ2GaYAvfCoimNOVvKqA==} dependencies: - '@formatjs/ecma402-abstract': 1.18.0 - '@formatjs/icu-skeleton-parser': 1.7.0 + '@formatjs/ecma402-abstract': 1.18.2 + '@formatjs/icu-skeleton-parser': 1.7.2 tslib: 2.6.2 dev: true - /@formatjs/icu-skeleton-parser@1.7.0: - resolution: {integrity: sha512-Cfdo/fgbZzpN/jlN/ptQVe0lRHora+8ezrEeg2RfrNjyp+YStwBy7cqDY8k5/z2LzXg6O0AdzAV91XS0zIWv+A==} + /@formatjs/icu-skeleton-parser@1.7.2: + resolution: {integrity: sha512-nlIXVv280bjGW3ail5Np1+xgGKBnMhwQQIivgbk9xX0af8ESQO+y2VW9TOY7mCrs3WH786uVpZlLimXAlXH7SA==} dependencies: - '@formatjs/ecma402-abstract': 1.18.0 + '@formatjs/ecma402-abstract': 1.18.2 tslib: 2.6.2 dev: true - /@formatjs/intl-displaynames@6.6.4: - resolution: {integrity: sha512-ET8KQ+L9Q0K8x1SnJQa4DNssUcbATlMopWqYvGGR8yAvw5qwAQc1fv+DshCoZNIE9pbcue0IGC4kWNAkWqlFag==} + /@formatjs/intl-displaynames@6.6.6: + resolution: {integrity: sha512-Dg5URSjx0uzF8VZXtHb6KYZ6LFEEhCbAbKoYChYHEOnMFTw/ZU3jIo/NrujzQD2EfKPgQzIq73LOUvW6Z/LpFA==} dependencies: - '@formatjs/ecma402-abstract': 1.18.0 - '@formatjs/intl-localematcher': 0.5.2 + '@formatjs/ecma402-abstract': 1.18.2 + '@formatjs/intl-localematcher': 0.5.4 tslib: 2.6.2 dev: true - /@formatjs/intl-listformat@7.5.3: - resolution: {integrity: sha512-l7EOr0Yh1m8KagytukB90yw81uyzrM7amKFrgxXqphz4KeSIL0KPa68lPsdtZ+JmQB73GaDQRwLOwUKFZ1VZPQ==} + /@formatjs/intl-listformat@7.5.5: + resolution: {integrity: sha512-XoI52qrU6aBGJC9KJddqnacuBbPlb/bXFN+lIFVFhQ1RnFHpzuFrlFdjD9am2O7ZSYsyqzYRpkVcXeT1GHkwDQ==} dependencies: - '@formatjs/ecma402-abstract': 1.18.0 - '@formatjs/intl-localematcher': 0.5.2 + '@formatjs/ecma402-abstract': 1.18.2 + '@formatjs/intl-localematcher': 0.5.4 tslib: 2.6.2 dev: true - /@formatjs/intl-localematcher@0.5.2: - resolution: {integrity: sha512-txaaE2fiBMagLrR4jYhxzFO6wEdEG4TPMqrzBAcbr4HFUYzH/YC+lg6OIzKCHm8WgDdyQevxbAAV1OgcXctuGw==} + /@formatjs/intl-localematcher@0.5.4: + resolution: {integrity: sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==} dependencies: tslib: 2.6.2 dev: true - /@formatjs/intl@2.9.9(typescript@5.3.2): - resolution: {integrity: sha512-JI3CNgL2Zdg5lv9ncT2sYKqbAj2RGrCbdzaCckIxMPxn4QuHuOVvYUGmBAXVusBmfG/0sxLmMrnwnBioz+QKdA==} + /@formatjs/intl@2.9.11(typescript@5.3.3): + resolution: {integrity: sha512-wJF5GKuopgeKy75e11JPjueC/XKAxrOndqVEZqg5zDrGuxALUD6Vo/x+oDTQwVZYf2zJnEzqZlUGtv5gSi/ChQ==} peerDependencies: - typescript: '5' + typescript: ^4.7 || 5 peerDependenciesMeta: typescript: optional: true dependencies: - '@formatjs/ecma402-abstract': 1.18.0 + '@formatjs/ecma402-abstract': 1.18.2 '@formatjs/fast-memoize': 2.2.0 - '@formatjs/icu-messageformat-parser': 2.7.3 - '@formatjs/intl-displaynames': 6.6.4 - '@formatjs/intl-listformat': 7.5.3 - intl-messageformat: 10.5.8 + '@formatjs/icu-messageformat-parser': 2.7.5 + '@formatjs/intl-displaynames': 6.6.6 + '@formatjs/intl-listformat': 7.5.5 + intl-messageformat: 10.5.10 tslib: 2.6.2 - typescript: 5.3.2 + typescript: 5.3.3 dev: true - /@gar/promisify@1.1.3: - resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} - dev: true - - /@humanwhocodes/config-array@0.11.13: - resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 2.0.1 + '@humanwhocodes/object-schema': 2.0.2 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: @@ -1989,8 +2120,8 @@ packages: engines: {node: '>=12.22'} dev: true - /@humanwhocodes/object-schema@2.0.1: - resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} dev: true /@hutson/parse-repository-url@3.0.2: @@ -2006,7 +2137,7 @@ packages: resolution: {integrity: sha512-H8xz74JDzDw8f0qLxwIaxFMnFkbXTZNWEufOk3WxaLFHV4h0A2FjIDgNk5LzC0am4jssnjdeJJdRs3UFu3582Q==} dependencies: '@antfu/install-pkg': 0.1.1 - '@antfu/utils': 0.7.6 + '@antfu/utils': 0.7.7 '@iconify/types': 2.0.0 debug: 4.3.4 kolorist: 1.8.0 @@ -2043,6 +2174,35 @@ packages: engines: {node: '>=8'} dev: true + /@jest/environment@27.5.1: + resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 20.11.5 + jest-mock: 27.5.1 + dev: true + + /@jest/expect-utils@29.7.0: + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-get-type: 29.6.3 + dev: true + + /@jest/fake-timers@27.5.1: + resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@sinonjs/fake-timers': 8.1.0 + '@types/node': 20.11.5 + jest-message-util: 27.5.1 + jest-mock: 27.5.1 + jest-util: 27.5.1 + dev: true + /@jest/schemas@29.6.3: resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -2054,9 +2214,9 @@ packages: resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.22 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 convert-source-map: 2.0.0 @@ -2079,7 +2239,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.10.0 + '@types/node': 20.11.5 '@types/yargs': 16.0.9 chalk: 4.1.2 dev: true @@ -2091,7 +2251,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.10.0 + '@types/node': 20.11.5 '@types/yargs': 17.0.32 chalk: 4.1.2 dev: true @@ -2102,7 +2262,7 @@ packages: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.22 dev: true /@jridgewell/resolve-uri@3.1.1: @@ -2119,15 +2279,15 @@ packages: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.22 dev: true /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} dev: true - /@jridgewell/trace-mapping@0.3.20: - resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} + /@jridgewell/trace-mapping@0.3.22: + resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==} dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 @@ -2140,12 +2300,12 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true - /@lerna/create@8.0.0(typescript@5.3.2): - resolution: {integrity: sha512-mCeEhjFDRwPY7J4uxCjqdzPwPFBUGlkdlQjBidaX5XaoQcxR2hAAvgHZKfVGkUUEZKfyPcWwKzen4KydNB2G7A==} + /@lerna/create@8.0.2(typescript@5.3.3): + resolution: {integrity: sha512-AueSlfiYXqEmy9/EIc17mjlaHFuv734dfgVBegyoefIA7hdeoExtsXnACWf8Tw5af6gwyTL3KAp6QQyc1sTuZQ==} engines: {node: '>=18.0.0'} dependencies: - '@npmcli/run-script': 6.0.2 - '@nx/devkit': 17.1.3(nx@17.1.3) + '@npmcli/run-script': 7.0.2 + '@nx/devkit': 17.2.8(nx@17.2.8) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 19.0.11 byte-size: 8.1.1 @@ -2155,7 +2315,7 @@ packages: columnify: 1.6.0 conventional-changelog-core: 5.0.1 conventional-recommended-bump: 7.0.1 - cosmiconfig: 8.3.6(typescript@5.3.2) + cosmiconfig: 8.3.6(typescript@5.3.3) dedent: 0.7.0 execa: 5.0.0 fs-extra: 11.2.0 @@ -2182,12 +2342,12 @@ packages: npm-packlist: 5.1.1 npm-registry-fetch: 14.0.5 npmlog: 6.0.2 - nx: 17.1.3 + nx: 17.2.8 p-map: 4.0.0 p-map-series: 2.1.0 p-queue: 6.6.2 p-reduce: 2.1.0 - pacote: 15.2.0 + pacote: 17.0.6 pify: 5.0.0 read-cmd-shim: 4.0.0 read-package-json: 6.0.4 @@ -2224,7 +2384,7 @@ packages: peerDependencies: react: '>=16.3.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 hoist-non-react-statics: 3.3.2 react: 18.1.0 react-is: 16.13.1 @@ -2236,7 +2396,7 @@ packages: peerDependencies: react: '>=16.3.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 hoist-non-react-statics: 3.3.2 react: 18.2.0 react-is: 16.13.1 @@ -2254,7 +2414,7 @@ packages: /@manypkg/find-root@1.1.0: resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 @@ -2263,7 +2423,7 @@ packages: /@manypkg/get-packages@1.1.3: resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -2338,15 +2498,20 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.16.0 dev: true - /@npmcli/fs@2.1.2: - resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + /@npmcli/agent@2.2.0: + resolution: {integrity: sha512-2yThA1Es98orMkpSLVqlDZAMPK3jHJhifP2gnNUdk1754uZ8yI5c+ulCoVG+WlntQA6MzhrURMXjSd9Z7dJ2/Q==} + engines: {node: ^16.14.0 || >=18.0.0} dependencies: - '@gar/promisify': 1.1.3 - semver: 7.5.4 + agent-base: 7.1.0 + http-proxy-agent: 7.0.0 + https-proxy-agent: 7.0.2 + lru-cache: 10.1.0 + socks-proxy-agent: 8.0.2 + transitivePeerDependencies: + - supports-color dev: true /@npmcli/fs@3.1.0: @@ -2356,18 +2521,18 @@ packages: semver: 7.5.4 dev: true - /@npmcli/git@4.1.0: - resolution: {integrity: sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + /@npmcli/git@5.0.4: + resolution: {integrity: sha512-nr6/WezNzuYUppzXRaYu/W4aT5rLxdXqEFupbh6e/ovlYFQ8hpu1UUPV3Ir/YTl+74iXl2ZOMlGzudh9ZPUchQ==} + engines: {node: ^16.14.0 || >=18.0.0} dependencies: - '@npmcli/promise-spawn': 6.0.2 - lru-cache: 7.18.3 - npm-pick-manifest: 8.0.2 + '@npmcli/promise-spawn': 7.0.1 + lru-cache: 10.1.0 + npm-pick-manifest: 9.0.0 proc-log: 3.0.0 promise-inflight: 1.0.1(bluebird@3.7.2) promise-retry: 2.0.1 semver: 7.5.4 - which: 3.0.1 + which: 4.0.0 transitivePeerDependencies: - bluebird dev: true @@ -2381,54 +2546,44 @@ packages: npm-normalize-package-bin: 3.0.1 dev: true - /@npmcli/move-file@2.0.1: - resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - deprecated: This functionality has been moved to @npmcli/fs - dependencies: - mkdirp: 1.0.4 - rimraf: 3.0.2 - dev: true - /@npmcli/node-gyp@3.0.0: resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true - /@npmcli/promise-spawn@6.0.2: - resolution: {integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + /@npmcli/promise-spawn@7.0.1: + resolution: {integrity: sha512-P4KkF9jX3y+7yFUxgcUdDtLy+t4OlDGuEBLNs57AZsfSfg+uV6MLndqGpnl4831ggaEdXwR50XFoZP4VFtHolg==} + engines: {node: ^16.14.0 || >=18.0.0} dependencies: - which: 3.0.1 + which: 4.0.0 dev: true - /@npmcli/run-script@6.0.2: - resolution: {integrity: sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + /@npmcli/run-script@7.0.2: + resolution: {integrity: sha512-Omu0rpA8WXvcGeY6DDzyRoY1i5DkCBkzyJ+m2u7PD6quzb0TvSqdIPOkTn8ZBOj7LbbcbMfZ3c5skwSu6m8y2w==} + engines: {node: ^16.14.0 || >=18.0.0} dependencies: '@npmcli/node-gyp': 3.0.0 - '@npmcli/promise-spawn': 6.0.2 - node-gyp: 9.4.1 + '@npmcli/promise-spawn': 7.0.1 + node-gyp: 10.0.1 read-package-json-fast: 3.0.2 - which: 3.0.1 + which: 4.0.0 transitivePeerDependencies: - - bluebird - supports-color dev: true - /@nrwl/devkit@17.1.3(nx@17.1.3): - resolution: {integrity: sha512-8HfIY7P3yIYfQ/XKuHoq0GGLA9GpwWtBlI9kPQ0ygjuJ9BkpiGMtQvO6003zs7c6vpc2vNeG+Jmi72+EKvoN5A==} + /@nrwl/devkit@17.2.8(nx@17.2.8): + resolution: {integrity: sha512-l2dFy5LkWqSA45s6pee6CoqJeluH+sjRdVnAAQfjLHRNSx6mFAKblyzq5h1f4P0EUCVVVqLs+kVqmNx5zxYqvw==} dependencies: - '@nx/devkit': 17.1.3(nx@17.1.3) + '@nx/devkit': 17.2.8(nx@17.2.8) transitivePeerDependencies: - nx dev: true - /@nrwl/tao@17.1.3: - resolution: {integrity: sha512-9YpfEkUpVqOweqgQvMDcWApNx4jhCqBNH5IByZj302Enp3TLnQSvhuX5Dfr8hNQRQokIpEn6tW8SGTctTM5LXw==} + /@nrwl/tao@17.2.8: + resolution: {integrity: sha512-Qpk5YKeJ+LppPL/wtoDyNGbJs2MsTi6qyX/RdRrEc8lc4bk6Cw3Oul1qTXCI6jT0KzTz+dZtd0zYD/G7okkzvg==} hasBin: true dependencies: - nx: 17.1.3 + nx: 17.2.8 tslib: 2.6.2 transitivePeerDependencies: - '@swc-node/register' @@ -2436,23 +2591,23 @@ packages: - debug dev: true - /@nx/devkit@17.1.3(nx@17.1.3): - resolution: {integrity: sha512-1Is7ooovg3kdGJ5VdkePulRUDaMYLLULr+LwXgx7oHSW7AY2iCmhkoOE/vSR7DJ6rkey2gYx7eT1IoRoORiIaQ==} + /@nx/devkit@17.2.8(nx@17.2.8): + resolution: {integrity: sha512-6LtiQihtZwqz4hSrtT5cCG5XMCWppG6/B8c1kNksg97JuomELlWyUyVF+sxmeERkcLYFaKPTZytP0L3dmCFXaw==} peerDependencies: nx: '>= 16 <= 18' dependencies: - '@nrwl/devkit': 17.1.3(nx@17.1.3) + '@nrwl/devkit': 17.2.8(nx@17.2.8) ejs: 3.1.9 enquirer: 2.3.6 ignore: 5.3.0 - nx: 17.1.3 + nx: 17.2.8 semver: 7.5.3 tmp: 0.2.1 tslib: 2.6.2 dev: true - /@nx/nx-darwin-arm64@17.1.3: - resolution: {integrity: sha512-f4qLa0y3C4uuhYKgq+MU892WaQvtvmHqrEhHINUOxYXNiLy2sgyJPW0mOZvzXtC4dPaUmiVaFP5RMVzc8Lxhtg==, tarball: https://registry.npmmirror.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-17.1.3.tgz} + /@nx/nx-darwin-arm64@17.2.8: + resolution: {integrity: sha512-dMb0uxug4hM7tusISAU1TfkDK3ixYmzc1zhHSZwpR7yKJIyKLtUpBTbryt8nyso37AS1yH+dmfh2Fj2WxfBHTg==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -2460,8 +2615,8 @@ packages: dev: true optional: true - /@nx/nx-darwin-x64@17.1.3: - resolution: {integrity: sha512-kh76ZjqkLeQUIAfTa9G/DFFf+e1sZ5ipDzk7zFGhZ2k68PoQoFdsFOO3C513JmuEdavspts6Hkifsqh61TaE+A==, tarball: https://registry.npmmirror.com/@nx/nx-darwin-x64/-/nx-darwin-x64-17.1.3.tgz} + /@nx/nx-darwin-x64@17.2.8: + resolution: {integrity: sha512-0cXzp1tGr7/6lJel102QiLA4NkaLCkQJj6VzwbwuvmuCDxPbpmbz7HC1tUteijKBtOcdXit1/MEoEU007To8Bw==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -2469,8 +2624,8 @@ packages: dev: true optional: true - /@nx/nx-freebsd-x64@17.1.3: - resolution: {integrity: sha512-CRuVL5ZSLb+Gc8vwMUUe9Pl/1Z26YtXMKTahBMQh2dac63vzLgzqIV4c66aduUl1x2M0kGYBSIIRG9z0/BgWeg==, tarball: https://registry.npmmirror.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-17.1.3.tgz} + /@nx/nx-freebsd-x64@17.2.8: + resolution: {integrity: sha512-YFMgx5Qpp2btCgvaniDGdu7Ctj56bfFvbbaHQWmOeBPK1krNDp2mqp8HK6ZKOfEuDJGOYAp7HDtCLvdZKvJxzA==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] @@ -2478,8 +2633,8 @@ packages: dev: true optional: true - /@nx/nx-linux-arm-gnueabihf@17.1.3: - resolution: {integrity: sha512-KDBmd5tSrg93g/oij/eGW4yeVNVK3DBIM4VYAS2vtkIgVOGoqcQ+SEIeMK3nMUJP9jGyblt3QNj5ZsJBtScwQw==, tarball: https://registry.npmmirror.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-17.1.3.tgz} + /@nx/nx-linux-arm-gnueabihf@17.2.8: + resolution: {integrity: sha512-iN2my6MrhLRkVDtdivQHugK8YmR7URo1wU9UDuHQ55z3tEcny7LV3W9NSsY9UYPK/FrxdDfevj0r2hgSSdhnzA==} engines: {node: '>= 10'} cpu: [arm] os: [linux] @@ -2487,8 +2642,8 @@ packages: dev: true optional: true - /@nx/nx-linux-arm64-gnu@17.1.3: - resolution: {integrity: sha512-W2tNL/7sIwoQKLmuy68Usd6TZzIZvxZt4UE30kDwGc2RSap6RCHAvDbzSxtW+L4+deC9UxX0Tty0VuW+J8FjSg==, tarball: https://registry.npmmirror.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-17.1.3.tgz} + /@nx/nx-linux-arm64-gnu@17.2.8: + resolution: {integrity: sha512-Iy8BjoW6mOKrSMiTGujUcNdv+xSM1DALTH6y3iLvNDkGbjGK1Re6QNnJAzqcXyDpv32Q4Fc57PmuexyysZxIGg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -2497,8 +2652,8 @@ packages: dev: true optional: true - /@nx/nx-linux-arm64-musl@17.1.3: - resolution: {integrity: sha512-Oto3gkLd7yweuVUCsSHwm4JkAIbcxpPJP0ycRHI/PRHPMIOPiMX8r651QM1amMyKAbJtAe047nyb9Sh1X0FA4A==, tarball: https://registry.npmmirror.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-17.1.3.tgz} + /@nx/nx-linux-arm64-musl@17.2.8: + resolution: {integrity: sha512-9wkAxWzknjpzdofL1xjtU6qPFF1PHlvKCZI3hgEYJDo4mQiatGI+7Ttko+lx/ZMP6v4+Umjtgq7+qWrApeKamQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -2507,8 +2662,8 @@ packages: dev: true optional: true - /@nx/nx-linux-x64-gnu@17.1.3: - resolution: {integrity: sha512-pJS994sa5PBPFak93RydTB9KdEmiVb3rgiSB7PDBegphERbzHEB77B7G8M5TZ62dGlMdplIEKmdhY5XNqeAf9A==, tarball: https://registry.npmmirror.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-17.1.3.tgz} + /@nx/nx-linux-x64-gnu@17.2.8: + resolution: {integrity: sha512-sjG1bwGsjLxToasZ3lShildFsF0eyeGu+pOQZIp9+gjFbeIkd19cTlCnHrOV9hoF364GuKSXQyUlwtFYFR4VTQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -2517,8 +2672,8 @@ packages: dev: true optional: true - /@nx/nx-linux-x64-musl@17.1.3: - resolution: {integrity: sha512-4Hcx5Fg/88jV+bcTr6P0dM4unXNvKgrGJe3oK9/sgEhiW6pD2UAFjv16CCSRcWhDUAzUDqcwnD2fgg+vnAJG6g==, tarball: https://registry.npmmirror.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-17.1.3.tgz} + /@nx/nx-linux-x64-musl@17.2.8: + resolution: {integrity: sha512-QiakXZ1xBCIptmkGEouLHQbcM4klQkcr+kEaz2PlNwy/sW3gH1b/1c0Ed5J1AN9xgQxWspriAONpScYBRgxdhA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -2527,8 +2682,8 @@ packages: dev: true optional: true - /@nx/nx-win32-arm64-msvc@17.1.3: - resolution: {integrity: sha512-dUasEuskmDxUL36XA0GZqSb9233suE4wKhxrMobyFBzHUZ2tq/unzOpPjYfqDBie4QIvF8tEpAjQsLds8LWgbw==, tarball: https://registry.npmmirror.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-17.1.3.tgz} + /@nx/nx-win32-arm64-msvc@17.2.8: + resolution: {integrity: sha512-XBWUY/F/GU3vKN9CAxeI15gM4kr3GOBqnzFZzoZC4qJt2hKSSUEWsMgeZtsMgeqEClbi4ZyCCkY7YJgU32WUGA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -2536,8 +2691,8 @@ packages: dev: true optional: true - /@nx/nx-win32-x64-msvc@17.1.3: - resolution: {integrity: sha512-eTuTpBHFvA5NFJh/iosmqCL4JOAjDrwXLSMgfKrZKjiApHMG1T/5Hb+PrsNpt+WnGp94ur7c4Dtx4xD5vlpAEw==, tarball: https://registry.npmmirror.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-17.1.3.tgz} + /@nx/nx-win32-x64-msvc@17.2.8: + resolution: {integrity: sha512-HTqDv+JThlLzbcEm/3f+LbS5/wYQWzb5YDXbP1wi7nlCTihNZOLNqGOkEmwlrR5tAdNHPRpHSmkYg4305W0CtA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -2674,12 +2829,17 @@ packages: dev: true /@pkgjs/parseargs@0.11.0: - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==, tarball: https://registry.npmmirror.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz} + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} requiresBuild: true dev: true optional: true + /@pkgr/core@0.1.1: + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dev: true + /@pkgr/utils@2.4.2: resolution: {integrity: sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} @@ -2692,13 +2852,13 @@ packages: tslib: 2.6.2 dev: true - /@rc-component/color-picker@1.4.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-vh5EWqnsayZa/JwUznqDaPJz39jznx/YDbyBuVJntv735tKXKwEUZZb2jYEldOg+NKWZwtALjGMrNeGBmqFoEw==, tarball: https://registry.npmmirror.com/@rc-component/color-picker/-/color-picker-1.4.1.tgz} + /@rc-component/color-picker@1.5.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-onyAFhWKXuG4P162xE+7IgaJkPkwM94XlOYnQuu69XdXWMfxpeFi6tpJBsieIMV7EnyLV5J3lDzdLiFeK0iEBA==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@ctrl/tinycolor': 3.6.1 classnames: 2.5.1 rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) @@ -2707,32 +2867,32 @@ packages: dev: false /@rc-component/context@1.4.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==, tarball: https://registry.npmmirror.com/@rc-component/context/-/context-1.4.0.tgz} + resolution: {integrity: sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false /@rc-component/mini-decimal@1.1.0: - resolution: {integrity: sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==, tarball: https://registry.npmmirror.com/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz} + resolution: {integrity: sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==} engines: {node: '>=8.x'} dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 dev: false /@rc-component/mutate-observer@1.1.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==, tarball: https://registry.npmmirror.com/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz} + resolution: {integrity: sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==} engines: {node: '>=8.x'} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 @@ -2740,26 +2900,26 @@ packages: dev: false /@rc-component/portal@1.1.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==, tarball: https://registry.npmmirror.com/@rc-component/portal/-/portal-1.1.2.tgz} + resolution: {integrity: sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==} engines: {node: '>=8.x'} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - /@rc-component/tour@1.11.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-c9Lw3/oVinj5D64Rsp8aDLOXcgdViE+hq7bj0Qoo8fTuQEh9sSpUw5OZcum943JkjeIE4hLcc5FD4a5ANtMJ4w==, tarball: https://registry.npmmirror.com/@rc-component/tour/-/tour-1.11.1.tgz} + /@rc-component/tour@1.12.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-U4mf1FiUxGCwrX4ed8op77Y8VKur+8Y/61ylxtqGbcSoh1EBC7bWd/DkLu0ClTUrKZInqEi1FL7YgFtnT90vHA==} engines: {node: '>=8.x'} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@rc-component/portal': 1.1.2(react-dom@18.2.0)(react@18.2.0) '@rc-component/trigger': 1.18.2(react-dom@18.2.0)(react@18.2.0) classnames: 2.5.1 @@ -2769,13 +2929,13 @@ packages: dev: false /@rc-component/trigger@1.18.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-jRLYgFgjLEPq3MvS87fIhcfuywFSRDaDrYw1FLku7Cm4esszvzTbA0JBsyacAyLrK9rF3TiHFcvoEDMzoD3CTA==, tarball: https://registry.npmmirror.com/@rc-component/trigger/-/trigger-1.18.2.tgz} + resolution: {integrity: sha512-jRLYgFgjLEPq3MvS87fIhcfuywFSRDaDrYw1FLku7Cm4esszvzTbA0JBsyacAyLrK9rF3TiHFcvoEDMzoD3CTA==} engines: {node: '>=8.x'} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@rc-component/portal': 1.1.2(react-dom@18.2.0)(react@18.2.0) classnames: 2.5.1 rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) @@ -2784,8 +2944,8 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - /@remix-run/router@1.14.1: - resolution: {integrity: sha512-Qg4DMQsfPNAs88rb2xkdk03N3bjK4jgX5fR24eHCTR9q6PrhZQZ4UJBPzCHJkIpTRN1UKxx2DzjZmnC+7Lj0Ow==} + /@remix-run/router@1.14.2: + resolution: {integrity: sha512-ACXpdMM9hmKZww21yEqWwiLws/UPLhNKvimN8RrYSqPSvB3ov7sLvAcfvaxePeLvccTQKGdkDIhLYApZVDFuKg==} engines: {node: '>=14.0.0'} dev: false @@ -2837,6 +2997,18 @@ packages: '@sigstore/protobuf-specs': 0.2.1 dev: true + /@sigstore/bundle@2.1.1: + resolution: {integrity: sha512-v3/iS+1nufZdKQ5iAlQKcCsoh0jffQyABvYIxKsZQFWc4ubuGjwZklFHpDgV6O6T7vvV78SW5NHI91HFKEcxKg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@sigstore/protobuf-specs': 0.2.1 + dev: true + + /@sigstore/core@0.2.0: + resolution: {integrity: sha512-THobAPPZR9pDH2CAvDLpkrYedt7BlZnsyxDe+Isq4ZmGfPy5juOFZq487vCU2EgKD7aHSiTfE/i7sN7aEdzQnA==} + engines: {node: ^16.14.0 || >=18.0.0} + dev: true + /@sigstore/protobuf-specs@0.2.1: resolution: {integrity: sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -2853,6 +3025,18 @@ packages: - supports-color dev: true + /@sigstore/sign@2.2.1: + resolution: {integrity: sha512-U5sKQEj+faE1MsnLou1f4DQQHeFZay+V9s9768lw48J4pKykPj34rWyI1lsMOGJ3Mae47Ye6q3HAJvgXO21rkQ==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@sigstore/bundle': 2.1.1 + '@sigstore/core': 0.2.0 + '@sigstore/protobuf-specs': 0.2.1 + make-fetch-happen: 13.0.0 + transitivePeerDependencies: + - supports-color + dev: true + /@sigstore/tuf@1.0.3: resolution: {integrity: sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -2863,10 +3047,41 @@ packages: - supports-color dev: true + /@sigstore/tuf@2.3.0: + resolution: {integrity: sha512-S98jo9cpJwO1mtQ+2zY7bOdcYyfVYCUaofCG6wWRzk3pxKHVAkSfshkfecto2+LKsx7Ovtqbgb2LS8zTRhxJ9Q==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@sigstore/protobuf-specs': 0.2.1 + tuf-js: 2.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@sigstore/verify@0.1.0: + resolution: {integrity: sha512-2UzMNYAa/uaz11NhvgRnIQf4gpLTJ59bhb8ESXaoSS5sxedfS+eLak8bsdMc+qpNQfITUTFoSKFx5h8umlRRiA==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@sigstore/bundle': 2.1.1 + '@sigstore/core': 0.2.0 + '@sigstore/protobuf-specs': 0.2.1 + dev: true + /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true + /@sinonjs/commons@1.8.6: + resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} + dependencies: + type-detect: 4.0.8 + dev: true + + /@sinonjs/fake-timers@8.1.0: + resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} + dependencies: + '@sinonjs/commons': 1.8.6 + dev: true + /@sketch-hq/sketch-file-format-ts@6.5.0: resolution: {integrity: sha512-shaGl4ttFDpHjYBoMaZpciOtsi/lKvJ3VfcBYk6+PjjbFs6H5GxPAyhbiSqy3Vmx30aos284pd88QzD3rE6iag==} dev: true @@ -2875,115 +3090,115 @@ packages: resolution: {integrity: sha512-3m6C7f8pnR5KXys/Hqx2x6ylnpqOak6HtnZI6T5keEO0yT+E4Spkw37VEbdwuC+2oxmjdgq6YZEgiKX7hM1GmQ==} dev: true - /@stylelint/postcss-css-in-js@0.38.0(postcss-syntax@0.36.2)(postcss@8.4.31): + /@stylelint/postcss-css-in-js@0.38.0(postcss-syntax@0.36.2)(postcss@8.4.33): resolution: {integrity: sha512-XOz5CAe49kS95p5yRd+DAIWDojTjfmyAQ4bbDlXMdbZTQ5t0ThjSLvWI6JI2uiS7MFurVBkZ6zUqcimzcLTBoQ==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. peerDependencies: postcss: '>=7.0.0' postcss-syntax: '>=0.36.2' dependencies: - '@babel/core': 7.23.3 - postcss: 8.4.31 - postcss-syntax: 0.36.2(postcss@8.4.31) + '@babel/core': 7.23.6 + postcss: 8.4.33 + postcss-syntax: 0.36.2(postcss@8.4.33) transitivePeerDependencies: - supports-color dev: true - /@svgr/babel-plugin-add-jsx-attribute@6.5.1(@babel/core@7.23.3): + /@svgr/babel-plugin-add-jsx-attribute@6.5.1(@babel/core@7.23.7): resolution: {integrity: sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 dev: true - /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.23.3): + /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.23.7): resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 dev: true - /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.23.3): + /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.23.7): resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 dev: true - /@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1(@babel/core@7.23.3): + /@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1(@babel/core@7.23.7): resolution: {integrity: sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 dev: true - /@svgr/babel-plugin-svg-dynamic-title@6.5.1(@babel/core@7.23.3): + /@svgr/babel-plugin-svg-dynamic-title@6.5.1(@babel/core@7.23.7): resolution: {integrity: sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 dev: true - /@svgr/babel-plugin-svg-em-dimensions@6.5.1(@babel/core@7.23.3): + /@svgr/babel-plugin-svg-em-dimensions@6.5.1(@babel/core@7.23.7): resolution: {integrity: sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 dev: true - /@svgr/babel-plugin-transform-react-native-svg@6.5.1(@babel/core@7.23.3): + /@svgr/babel-plugin-transform-react-native-svg@6.5.1(@babel/core@7.23.7): resolution: {integrity: sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 dev: true - /@svgr/babel-plugin-transform-svg-component@6.5.1(@babel/core@7.23.3): + /@svgr/babel-plugin-transform-svg-component@6.5.1(@babel/core@7.23.7): resolution: {integrity: sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==} engines: {node: '>=12'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 dev: true - /@svgr/babel-preset@6.5.1(@babel/core@7.23.3): + /@svgr/babel-preset@6.5.1(@babel/core@7.23.7): resolution: {integrity: sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.3 - '@svgr/babel-plugin-add-jsx-attribute': 6.5.1(@babel/core@7.23.3) - '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.23.3) - '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.23.3) - '@svgr/babel-plugin-replace-jsx-attribute-value': 6.5.1(@babel/core@7.23.3) - '@svgr/babel-plugin-svg-dynamic-title': 6.5.1(@babel/core@7.23.3) - '@svgr/babel-plugin-svg-em-dimensions': 6.5.1(@babel/core@7.23.3) - '@svgr/babel-plugin-transform-react-native-svg': 6.5.1(@babel/core@7.23.3) - '@svgr/babel-plugin-transform-svg-component': 6.5.1(@babel/core@7.23.3) + '@babel/core': 7.23.7 + '@svgr/babel-plugin-add-jsx-attribute': 6.5.1(@babel/core@7.23.7) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.23.7) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.23.7) + '@svgr/babel-plugin-replace-jsx-attribute-value': 6.5.1(@babel/core@7.23.7) + '@svgr/babel-plugin-svg-dynamic-title': 6.5.1(@babel/core@7.23.7) + '@svgr/babel-plugin-svg-em-dimensions': 6.5.1(@babel/core@7.23.7) + '@svgr/babel-plugin-transform-react-native-svg': 6.5.1(@babel/core@7.23.7) + '@svgr/babel-plugin-transform-svg-component': 6.5.1(@babel/core@7.23.7) dev: true /@svgr/core@6.5.1: resolution: {integrity: sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.23.3 - '@svgr/babel-preset': 6.5.1(@babel/core@7.23.3) + '@babel/core': 7.23.7 + '@svgr/babel-preset': 6.5.1(@babel/core@7.23.7) '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) camelcase: 6.3.0 cosmiconfig: 7.1.0 @@ -2995,7 +3210,7 @@ packages: resolution: {integrity: sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==} engines: {node: '>=10'} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 entities: 4.5.0 dev: true @@ -3005,8 +3220,8 @@ packages: peerDependencies: '@svgr/core': ^6.0.0 dependencies: - '@babel/core': 7.23.3 - '@svgr/babel-preset': 6.5.1(@babel/core@7.23.3) + '@babel/core': 7.23.7 + '@svgr/babel-preset': 6.5.1(@babel/core@7.23.7) '@svgr/core': 6.5.1 '@svgr/hast-util-to-babel-ast': 6.5.1 svg-parser: 2.0.4 @@ -3027,7 +3242,7 @@ packages: dev: true /@swc/core-darwin-arm64@1.3.72: - resolution: {integrity: sha512-oNSI5hVfZ+1xpj+dH1g4kQqA0VsGtqd8S9S+cDqkHZiOOVOevw9KN6dzVtmLOcPtlULVypVc0TVvsB55KdVZhQ==, tarball: https://registry.npmmirror.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.72.tgz} + resolution: {integrity: sha512-oNSI5hVfZ+1xpj+dH1g4kQqA0VsGtqd8S9S+cDqkHZiOOVOevw9KN6dzVtmLOcPtlULVypVc0TVvsB55KdVZhQ==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] @@ -3036,7 +3251,7 @@ packages: optional: true /@swc/core-darwin-x64@1.3.72: - resolution: {integrity: sha512-y5O/WQ1g0/VfTgeNahWIOutbdD5U2Gi703jaefdcoJo3FUx8WU108QQdbVGwGMgaqapo3iQB6Qs9paixYQAYsA==, tarball: https://registry.npmmirror.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.72.tgz} + resolution: {integrity: sha512-y5O/WQ1g0/VfTgeNahWIOutbdD5U2Gi703jaefdcoJo3FUx8WU108QQdbVGwGMgaqapo3iQB6Qs9paixYQAYsA==} engines: {node: '>=10'} cpu: [x64] os: [darwin] @@ -3045,7 +3260,7 @@ packages: optional: true /@swc/core-linux-arm-gnueabihf@1.3.72: - resolution: {integrity: sha512-05JdWcso0OomHF+7bk5MBDgI8MZ9skcQ/4nhSv5gboSgSiuBmKM15Bg3lZ5iAUwGByNj7pGkSmmd3YwTrXEB+g==, tarball: https://registry.npmmirror.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.72.tgz} + resolution: {integrity: sha512-05JdWcso0OomHF+7bk5MBDgI8MZ9skcQ/4nhSv5gboSgSiuBmKM15Bg3lZ5iAUwGByNj7pGkSmmd3YwTrXEB+g==} engines: {node: '>=10'} cpu: [arm] os: [linux] @@ -3054,7 +3269,7 @@ packages: optional: true /@swc/core-linux-arm64-gnu@1.3.72: - resolution: {integrity: sha512-8qRELJaeYshhJgqvyOeXCKqBOpai+JYdWuouMbvvDUL85j3OcZhzR+bipexEbbJKcOCdRnoYB7Qg6mjqZ0t7VA==, tarball: https://registry.npmmirror.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.72.tgz} + resolution: {integrity: sha512-8qRELJaeYshhJgqvyOeXCKqBOpai+JYdWuouMbvvDUL85j3OcZhzR+bipexEbbJKcOCdRnoYB7Qg6mjqZ0t7VA==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -3064,7 +3279,7 @@ packages: optional: true /@swc/core-linux-arm64-musl@1.3.72: - resolution: {integrity: sha512-tOqAGZw+Pe7YrBHFrwFVyRiKqjgjzwYbJmY+UDxLrzWrZSVtC3eO2TPrp7kWmhirg40Og81BbdfRAl8ds48w0Q==, tarball: https://registry.npmmirror.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.72.tgz} + resolution: {integrity: sha512-tOqAGZw+Pe7YrBHFrwFVyRiKqjgjzwYbJmY+UDxLrzWrZSVtC3eO2TPrp7kWmhirg40Og81BbdfRAl8ds48w0Q==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -3074,7 +3289,7 @@ packages: optional: true /@swc/core-linux-x64-gnu@1.3.72: - resolution: {integrity: sha512-U2W2xWR3s9nplGVWz376GiBlcLTgxyYKlpZPBNZk0w3OvTcjKC62gW1Pe7PUkk4NgJUnaQDBa/mb4V4Zl+GZPA==, tarball: https://registry.npmmirror.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.72.tgz} + resolution: {integrity: sha512-U2W2xWR3s9nplGVWz376GiBlcLTgxyYKlpZPBNZk0w3OvTcjKC62gW1Pe7PUkk4NgJUnaQDBa/mb4V4Zl+GZPA==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -3084,7 +3299,7 @@ packages: optional: true /@swc/core-linux-x64-musl@1.3.72: - resolution: {integrity: sha512-3+2dUiZBsifKgvnFEHWdysXjInK8K+BfPBw2tTZJmq1+fZLt0rvuErYDVMLfIJnVWLCcJMnDtTXrvkFV1y/6iA==, tarball: https://registry.npmmirror.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.72.tgz} + resolution: {integrity: sha512-3+2dUiZBsifKgvnFEHWdysXjInK8K+BfPBw2tTZJmq1+fZLt0rvuErYDVMLfIJnVWLCcJMnDtTXrvkFV1y/6iA==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -3094,7 +3309,7 @@ packages: optional: true /@swc/core-win32-arm64-msvc@1.3.72: - resolution: {integrity: sha512-ndI8xZ2AId806D25xgqw2SFJ9gc/jhg21+5hA8XPq9ZL+oDiaYDztaP3ijVmZ1G5xXKD9DpgB7xmylv/f6o6GA==, tarball: https://registry.npmmirror.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.72.tgz} + resolution: {integrity: sha512-ndI8xZ2AId806D25xgqw2SFJ9gc/jhg21+5hA8XPq9ZL+oDiaYDztaP3ijVmZ1G5xXKD9DpgB7xmylv/f6o6GA==} engines: {node: '>=10'} cpu: [arm64] os: [win32] @@ -3103,7 +3318,7 @@ packages: optional: true /@swc/core-win32-ia32-msvc@1.3.72: - resolution: {integrity: sha512-F3TK8JHP3SRFjLRlzcRVZPnvvGm2CQ5/cwbIkaEq0Dla3kyctU8SiRqvtYwWCW4JuY10cUygIg93Ec/C9Lkk4g==, tarball: https://registry.npmmirror.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.72.tgz} + resolution: {integrity: sha512-F3TK8JHP3SRFjLRlzcRVZPnvvGm2CQ5/cwbIkaEq0Dla3kyctU8SiRqvtYwWCW4JuY10cUygIg93Ec/C9Lkk4g==} engines: {node: '>=10'} cpu: [ia32] os: [win32] @@ -3112,7 +3327,7 @@ packages: optional: true /@swc/core-win32-x64-msvc@1.3.72: - resolution: {integrity: sha512-FXMnIUtLl0yEmGkw+xbUg/uUPExvUxUlLSHbX7CnbSuOIHqMHzvEd9skIueLAst4bvmJ8kT1hDyAIWQcTIAJYQ==, tarball: https://registry.npmmirror.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.72.tgz} + resolution: {integrity: sha512-FXMnIUtLl0yEmGkw+xbUg/uUPExvUxUlLSHbX7CnbSuOIHqMHzvEd9skIueLAst4bvmJ8kT1hDyAIWQcTIAJYQ==} engines: {node: '>=10'} cpu: [x64] os: [win32] @@ -3173,6 +3388,11 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true + /@tufjs/canonical-json@2.0.0: + resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==} + engines: {node: ^16.14.0 || >=18.0.0} + dev: true + /@tufjs/models@1.0.4: resolution: {integrity: sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -3181,6 +3401,14 @@ packages: minimatch: 9.0.3 dev: true + /@tufjs/models@2.0.0: + resolution: {integrity: sha512-c8nj8BaOExmZKO2DXhDfegyhSGcG9E/mPN3U13L+/PsoWm1uaGiHHjxqSHQiasDBQwDA3aHuw9+9spYAP1qvvg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@tufjs/canonical-json': 2.0.0 + minimatch: 9.0.3 + dev: true + /@turf/along@6.5.0: resolution: {integrity: sha512-LLyWQ0AARqJCmMcIEAXF4GEu8usmd4Kbz3qk1Oy5HoRNpZX47+i5exQtmIWKdqJ1MMhW26fCTXgpsEs5zgJ5gw==} dependencies: @@ -4211,6 +4439,10 @@ packages: d3-voronoi: 1.1.2 dev: false + /@types/ali-oss@6.16.11: + resolution: {integrity: sha512-/AyemPZy93ZXGzEokMsoPFgjH37snpzH4X/fwans/n63HLaCleriCG3PyrkHCPkgHEc9vj9Uo6paqsBN3vJ3OA==} + dev: true + /@types/argparse@1.0.38: resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} dev: true @@ -4219,35 +4451,41 @@ packages: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: '@babel/parser': 7.23.6 - '@babel/types': 7.23.4 - '@types/babel__generator': 7.6.7 + '@babel/types': 7.23.6 + '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.4 + '@types/babel__traverse': 7.20.5 dev: true - /@types/babel__generator@7.6.7: - resolution: {integrity: sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==} + /@types/babel__generator@7.6.8: + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 dev: true /@types/babel__template@7.4.4: resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: '@babel/parser': 7.23.6 - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 dev: true - /@types/babel__traverse@7.20.4: - resolution: {integrity: sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==} + /@types/babel__traverse@7.20.5: + resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} dependencies: - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 dev: true /@types/base-64@1.0.2: resolution: {integrity: sha512-uPgKMmM9fmn7I+Zi6YBqctOye4SlJsHKcisjHIMWpb2YKZRc36GpKyNuQ03JcT+oNXg1m7Uv4wU94EVltn8/cw==} dev: true + /@types/connect@3.4.38: + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + dependencies: + '@types/node': 20.11.5 + dev: true + /@types/debug@4.1.12: resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} dependencies: @@ -4255,18 +4493,18 @@ packages: dev: true /@types/downloadjs@1.4.6: - resolution: {integrity: sha512-mp3w70vsaiLRT9ix92fmI9Ob2yJAPZm6tShJtofo2uHbN11G2i6a0ApIEjBl/kv3e9V7Pv7jMjk1bUwYWvMHvA==, tarball: https://registry.npmmirror.com/@types/downloadjs/-/downloadjs-1.4.6.tgz} + resolution: {integrity: sha512-mp3w70vsaiLRT9ix92fmI9Ob2yJAPZm6tShJtofo2uHbN11G2i6a0ApIEjBl/kv3e9V7Pv7jMjk1bUwYWvMHvA==} dev: false /@types/eslint-scope@3.7.7: - resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==, tarball: https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz} + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} dependencies: - '@types/eslint': 8.44.7 + '@types/eslint': 8.56.2 '@types/estree': 1.0.5 dev: true - /@types/eslint@8.44.7: - resolution: {integrity: sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ==, tarball: https://registry.npmmirror.com/@types/eslint/-/eslint-8.44.7.tgz} + /@types/eslint@8.56.2: + resolution: {integrity: sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==} dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 @@ -4290,7 +4528,14 @@ packages: resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==} dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 20.10.0 + '@types/node': 20.11.5 + dev: true + + /@types/fs-extra@11.0.4: + resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} + dependencies: + '@types/jsonfile': 6.1.4 + '@types/node': 20.11.5 dev: true /@types/geojson@7946.0.8: @@ -4300,15 +4545,19 @@ packages: /@types/graceful-fs@4.1.9: resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} dependencies: - '@types/node': 20.10.0 + '@types/node': 20.11.5 + dev: true + + /@types/gtag.js@0.0.18: + resolution: {integrity: sha512-GJxnIvuXuVhKaHfsOdzGipoOoXq72y3mdcncc9h6i6E7nlz89zBEj2wrLM7bqO5Xk9Lm2B94MwdQsSwRlaPSWw==} dev: true /@types/hapi__joi@17.1.9: resolution: {integrity: sha512-oOMFT8vmCTFncsF1engrs04jatz8/Anwx3De9uxnOK4chgSEgWBvFtpSoJo8u3784JNO+ql5tzRR6phHoRnscQ==} dev: true - /@types/hast@2.3.8: - resolution: {integrity: sha512-aMIqAlFd2wTIDZuvLbhUT+TGvMxrNC8ECUIVtH6xxy0sQLs3iu6NO8Kp/VT5je7i5ufnebXzdV1dNDMnvaH6IQ==} + /@types/hast@2.3.9: + resolution: {integrity: sha512-pTHyNlaMD/oKJmS+ZZUyFUcsZeBZpC0lmGquw98CqRVNgAdJZJeD7GoeLiT6Xbx5rU9VCjSt0RwEvDgzh4obFw==} dependencies: '@types/unist': 2.0.10 dev: true @@ -4316,7 +4565,7 @@ packages: /@types/hoist-non-react-statics@3.3.5: resolution: {integrity: sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==} dependencies: - '@types/react': 18.2.39 + '@types/react': 18.2.48 hoist-non-react-statics: 3.3.2 dev: true @@ -4324,6 +4573,23 @@ packages: resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} dev: true + /@types/http-server@0.12.4: + resolution: {integrity: sha512-vsn4pvP2oRFALLuM5Rca6qUmSPG7u0VNjOuqvL57l3bKldQRWdUZPeSiARhzagDxgfNCHn/o8WlWk4KinBauUg==} + dependencies: + '@types/connect': 3.4.38 + dev: true + + /@types/inquirer@9.0.7: + resolution: {integrity: sha512-Q0zyBupO6NxGRZut/JdmqYKOnN95Eg5V8Csg3PGKkP+FnvsUZx1jAyK7fztIszxxMuoBA6E3KXWvdZVXIpx60g==} + dependencies: + '@types/through': 0.0.33 + rxjs: 7.8.1 + dev: true + + /@types/isomorphic-fetch@0.0.39: + resolution: {integrity: sha512-I0gou/ZdA1vMG7t7gMzL7VYu2xAKU78rW9U1l10MI0nn77pEHq3tQqHQ8hMmXdMpBlkxZOorjI4sO594Z3kKJw==} + dev: true + /@types/istanbul-lib-coverage@2.0.6: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} dev: true @@ -4340,10 +4606,54 @@ packages: '@types/istanbul-lib-report': 3.0.3 dev: true + /@types/jest-axe@3.5.9: + resolution: {integrity: sha512-z98CzR0yVDalCEuhGXXO4/zN4HHuSebAukXDjTLJyjEAgoUf1H1i+sr7SUB/mz8CRS/03/XChsx0dcLjHkndoQ==} + dependencies: + '@types/jest': 29.5.12 + axe-core: 3.5.6 + dev: true + + /@types/jest-environment-puppeteer@5.0.6: + resolution: {integrity: sha512-MAi9ey7sIRl0ddWsN3jaQQwC41eBfYghE6TKnJNbEXKxw1X6nF6TBCZA+DbQ+KDOb9e2BjUtiWWMZbgjhlTneg==} + dependencies: + '@jest/types': 27.5.1 + '@types/puppeteer': 5.4.7 + jest-environment-node: 27.5.1 + dev: true + + /@types/jest-image-snapshot@6.4.0: + resolution: {integrity: sha512-8TQ/EgqFCX0UWSpH488zAc21fCkJNpZPnnp3xWFMqElxApoJV5QOoqajnVRV7AhfF0rbQWTVyc04KG7tXnzCPA==} + dependencies: + '@types/jest': 29.5.12 + '@types/pixelmatch': 5.2.6 + ssim.js: 3.5.0 + dev: true + + /@types/jest@29.5.12: + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + dev: true + + /@types/jquery@3.5.29: + resolution: {integrity: sha512-oXQQC9X9MOPRrMhPHHOsXqeQDnWeCDT3PelUIg/Oy8FAbzSZtFHRjc7IpbfFVmpLtJ+UOoywpRsuO5Jxjybyeg==} + dependencies: + '@types/sizzle': 2.3.8 + dev: true + /@types/js-cookie@2.2.7: resolution: {integrity: sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==} dev: false + /@types/jsdom@21.1.6: + resolution: {integrity: sha512-/7kkMsC+/kMs7gAYmmBR9P0vGTnOoLhQhyhQJSlXGI5bzTHp6xdo0TtKWQAsz6pmSAeVqKSbqeyP6hytqr9FDw==} + dependencies: + '@types/node': 20.11.5 + '@types/tough-cookie': 4.0.5 + parse5: 7.1.2 + dev: true + /@types/json-schema@7.0.15: resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: true @@ -4351,13 +4661,13 @@ packages: /@types/jsonfile@6.1.4: resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} dependencies: - '@types/node': 20.10.0 + '@types/node': 20.11.5 dev: true /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 20.10.0 + '@types/node': 20.11.5 dev: true /@types/lodash-es@4.17.12: @@ -4367,7 +4677,7 @@ packages: dev: true /@types/lodash@4.14.202: - resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==, tarball: https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.202.tgz} + resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} dev: true /@types/mdast@3.0.15: @@ -4396,8 +4706,8 @@ packages: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} dev: true - /@types/node@20.10.0: - resolution: {integrity: sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ==} + /@types/node@20.11.5: + resolution: {integrity: sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==} dependencies: undici-types: 5.26.5 dev: true @@ -4410,34 +4720,88 @@ packages: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: true + /@types/nprogress@0.2.3: + resolution: {integrity: sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==} + dev: true + /@types/parse-json@4.0.2: - resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==, tarball: https://registry.npmmirror.com/@types/parse-json/-/parse-json-4.0.2.tgz} + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} /@types/parse5@6.0.3: resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} dev: true + /@types/pixelmatch@5.2.6: + resolution: {integrity: sha512-wC83uexE5KGuUODn6zkm9gMzTwdY5L0chiK+VrKcDfEjzxh1uadlWTvOmAbCpnM9zx/Ww3f8uKlYQVnO/TrqVg==} + dependencies: + '@types/node': 20.11.5 + dev: true + + /@types/pngjs@6.0.4: + resolution: {integrity: sha512-atAK9xLKOnxiuArxcHovmnOUUGBZOQ3f0vCf43FnoKs6XnqiambT1kkJWmdo71IR+BoXSh+CueeFR0GfH3dTlQ==} + dependencies: + '@types/node': 20.11.5 + dev: true + + /@types/prismjs@1.26.3: + resolution: {integrity: sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw==} + dev: true + + /@types/progress@2.0.7: + resolution: {integrity: sha512-iadjw02vte8qWx7U0YM++EybBha2CQLPGu9iJ97whVgJUT5Zq9MjAPYUnbfRI2Kpehimf1QjFJYxD0t8nqzu5w==} + dependencies: + '@types/node': 20.11.5 + dev: true + /@types/prop-types@15.7.11: resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} + /@types/puppeteer@5.4.7: + resolution: {integrity: sha512-JdGWZZYL0vKapXF4oQTC5hLVNfOgdPrqeZ1BiQnGk5cB7HeE91EWUiTdVSdQPobRN8rIcdffjiOgCYJ/S8QrnQ==} + dependencies: + '@types/node': 20.11.5 + dev: true + /@types/q@1.5.8: resolution: {integrity: sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==} dev: true + /@types/qs@6.9.11: + resolution: {integrity: sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==} + dev: true + /@types/ramda@0.29.3: resolution: {integrity: sha512-Yh/RHkjN0ru6LVhSQtTkCRo6HXkfL9trot/2elzM/yXLJmbLm2v6kJc8yftTnwv1zvUob6TEtqI2cYjdqG3U0Q==} dependencies: - types-ramda: 0.29.6 + types-ramda: 0.29.7 dev: true - /@types/react-dom@18.2.17: - resolution: {integrity: sha512-rvrT/M7Df5eykWFxn6MYt5Pem/Dbyc1N8Y0S9Mrkw2WFCRiqUgw9P7ul2NpwsXCSM1DVdENzdG9J5SreqfAIWg==} + /@types/react-copy-to-clipboard@5.0.7: + resolution: {integrity: sha512-Gft19D+as4M+9Whq1oglhmK49vqPhcLzk8WfvfLvaYMIPYanyfLy0+CwFucMJfdKoSFyySPmkkWn8/E6voQXjQ==} dependencies: - '@types/react': 18.2.39 + '@types/react': 18.2.48 dev: true - /@types/react@18.2.39: - resolution: {integrity: sha512-Oiw+ppED6IremMInLV4HXGbfbG6GyziY3kqAwJYOR0PNbkYDmLWQA3a95EhdSmamsvbkJN96ZNN+YD+fGjzSBA==} + /@types/react-dom@18.2.18: + resolution: {integrity: sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==} + dependencies: + '@types/react': 18.2.48 + dev: true + + /@types/react-highlight-words@0.16.7: + resolution: {integrity: sha512-+upXTIaRd3rGvh1aDQSs9z5X+sV3UM6Jrmjk03GN2GXl4v/+iOJKQj2LZHo6Vp2IoTvMdtxgME26feqo12xXLg==} + dependencies: + '@types/react': 18.2.48 + dev: true + + /@types/react-resizable@3.0.7: + resolution: {integrity: sha512-V4N7/xDUME+cxKya/A73MmFrHofTupVdE45boRxeA8HL4Q5pJh3AuG0FWCEy2GB84unIMSRISyEAS/GHWum9EQ==} + dependencies: + '@types/react': 18.2.48 + dev: true + + /@types/react@18.2.48: + resolution: {integrity: sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==} dependencies: '@types/prop-types': 15.7.11 '@types/scheduler': 0.16.8 @@ -4446,13 +4810,13 @@ packages: /@types/responselike@1.0.3: resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} dependencies: - '@types/node': 20.10.0 + '@types/node': 20.11.5 dev: true /@types/sax@1.2.7: resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} dependencies: - '@types/node': 20.10.0 + '@types/node': 20.11.5 dev: true /@types/scheduler@0.16.8: @@ -4462,12 +4826,45 @@ packages: resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} dev: true + /@types/sizzle@2.3.8: + resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==} + dev: true + + /@types/stack-utils@2.0.3: + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + dev: true + + /@types/tar@6.1.11: + resolution: {integrity: sha512-ThA1WD8aDdVU4VLuyq5NEqriwXErF5gEIJeyT6gHBWU7JtSmW2a5qjNv3/vR82O20mW+1vhmeZJfBQPT3HCugg==} + dependencies: + '@types/node': 20.11.5 + minipass: 4.2.8 + dev: true + + /@types/throttle-debounce@5.0.2: + resolution: {integrity: sha512-pDzSNulqooSKvSNcksnV72nk8p7gRqN8As71Sp28nov1IgmPKWbOEIwAWvBME5pPTtaXJAvG3O4oc76HlQ4kqQ==} + dev: true + + /@types/through@0.0.33: + resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==} + dependencies: + '@types/node': 20.11.5 + dev: true + + /@types/tough-cookie@4.0.5: + resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} + dev: true + /@types/unist@2.0.10: resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} dev: true /@types/uuid@9.0.7: - resolution: {integrity: sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g==, tarball: https://registry.npmmirror.com/@types/uuid/-/uuid-9.0.7.tgz} + resolution: {integrity: sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g==} + dev: true + + /@types/warning@3.0.3: + resolution: {integrity: sha512-D1XC7WK8K+zZEveUPY+cf4+kgauk8N4eHr/XIHXGlGYkHLud6hK9lYfZk1ry1TNh798cZUCgb6MqGEG8DkJt6Q==} dev: true /@types/yargs-parser@21.0.3: @@ -4486,7 +4883,7 @@ packages: '@types/yargs-parser': 21.0.3 dev: true - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.3.2): + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -4498,23 +4895,52 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/parser': 5.62.0(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.54.0)(typescript@5.3.2) - '@typescript-eslint/utils': 5.62.0(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/type-utils': 5.62.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.3.3) debug: 4.3.4 - eslint: 8.54.0 + eslint: 8.56.0 graphemer: 1.4.0 ignore: 5.3.0 natural-compare-lite: 1.4.0 semver: 7.5.4 - tsutils: 3.21.0(typescript@5.3.2) - typescript: 5.3.2 + tsutils: 3.21.0(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@8.54.0)(typescript@5.3.2): + /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/type-utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.4 + eslint: 8.56.0 + graphemer: 1.4.0 + ignore: 5.3.0 + natural-compare: 1.4.0 + semver: 7.5.4 + ts-api-utils: 1.2.1(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@5.62.0(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -4526,10 +4952,31 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.2) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.3) debug: 4.3.4 - eslint: 8.54.0 - typescript: 5.3.2 + eslint: 8.56.0 + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.4 + eslint: 8.56.0 + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true @@ -4542,7 +4989,15 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/type-utils@5.62.0(eslint@8.54.0)(typescript@5.3.2): + /@typescript-eslint/scope-manager@6.21.0: + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + dev: true + + /@typescript-eslint/type-utils@5.62.0(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -4552,12 +5007,32 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.2) - '@typescript-eslint/utils': 5.62.0(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.3) + '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.3.3) debug: 4.3.4 - eslint: 8.54.0 - tsutils: 3.21.0(typescript@5.3.2) - typescript: 5.3.2 + eslint: 8.56.0 + tsutils: 3.21.0(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/type-utils@6.21.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) + debug: 4.3.4 + eslint: 8.56.0 + ts-api-utils: 1.2.1(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true @@ -4567,7 +5042,12 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree@5.62.0(typescript@5.3.2): + /@typescript-eslint/types@6.21.0: + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.3.3): resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -4582,25 +5062,47 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 - tsutils: 3.21.0(typescript@5.3.2) - typescript: 5.3.2 + tsutils: 3.21.0(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.54.0)(typescript@5.3.2): + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.3.3): + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.5.4 + ts-api-utils: 1.2.1(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@5.62.0(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.6 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.2) - eslint: 8.54.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.3) + eslint: 8.56.0 eslint-scope: 5.1.1 semver: 7.5.4 transitivePeerDependencies: @@ -4608,6 +5110,25 @@ packages: - typescript dev: true + /@typescript-eslint/utils@6.21.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.6 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + eslint: 8.56.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + /@typescript-eslint/visitor-keys@5.62.0: resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4616,44 +5137,52 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@umijs/ast@4.0.88: - resolution: {integrity: sha512-4V1fXo8U3pRbM9EsxGBW+1h2t1tobEdZCIDvTQUp90WS3CdVFvWWIEzQuP0Dlxs9A7iT/XVbxtjL9gOHX44eng==} + /@typescript-eslint/visitor-keys@6.21.0: + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@umijs/bundler-utils': 4.0.88 + '@typescript-eslint/types': 6.21.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@umijs/ast@4.1.1: + resolution: {integrity: sha512-YqrHx2K8X4oOJTVE1tHMeveXBESJdmrdv/VgTB7pCcE6/+mvmPmDx1RECeSRrbnCP4ABrol38XCzKS88Vx5oHg==} + dependencies: + '@umijs/bundler-utils': 4.1.1 transitivePeerDependencies: - supports-color dev: true - /@umijs/babel-preset-umi@4.0.88: - resolution: {integrity: sha512-HZXPA7gvYkaW3Ts67jUtduik8iWlFRyIom7Z/vbfq5YCwWvSVRXUAPBAirKkUfOHsizgGt0iKsL88pu921WWqw==} + /@umijs/babel-preset-umi@4.1.1: + resolution: {integrity: sha512-6pYZnF03euAJGZN3VLe8PKKRNMH6Zxj4GKNooLvJ0Wz0eMufmYDcA4CpbR6h8i1JpgcQ0Sngr8bqHLb7oMqrvw==} dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.23.6 '@bloomberg/record-tuple-polyfill': 0.0.4 - '@umijs/bundler-utils': 4.0.88 - '@umijs/utils': 4.0.88 - core-js: 3.28.0 + '@umijs/bundler-utils': 4.1.1 + '@umijs/utils': 4.1.1 + core-js: 3.34.0 transitivePeerDependencies: - supports-color dev: true - /@umijs/bundler-esbuild@4.0.88: - resolution: {integrity: sha512-gbUnsQ4JCx0zVjq7olCVM8mg4yX4IwzNQwic/iJM5s5KS/Cv+u5JHIfGyevYZT3FUjxVl79IsmxYOwKXoDaTpA==} + /@umijs/bundler-esbuild@4.1.1: + resolution: {integrity: sha512-+aUT2pGTCvcn6Vla0/5E9NN8fX2QBH7XxlZP0vh1vh8iAVhYkqTu6eMSWN2hGLxlBwf5xkFJDpn3cEQ5PMUPgw==} hasBin: true dependencies: - '@umijs/bundler-utils': 4.0.88 - '@umijs/utils': 4.0.88 + '@umijs/bundler-utils': 4.1.1 + '@umijs/utils': 4.1.1 enhanced-resolve: 5.9.3 - postcss: 8.4.31 - postcss-flexbugs-fixes: 5.0.2(postcss@8.4.31) - postcss-preset-env: 7.5.0(postcss@8.4.31) + postcss: 8.4.33 + postcss-flexbugs-fixes: 5.0.2(postcss@8.4.33) + postcss-preset-env: 7.5.0(postcss@8.4.33) transitivePeerDependencies: - supports-color dev: true - /@umijs/bundler-utils@4.0.88: - resolution: {integrity: sha512-jJmen5OLJhO8Hd3GWolC1VvxD5RZLHQl9Jx2Lz2soA1463gAqdAAh0Wa6m69YdVBzh0WzHZ9049RmP23K1ow8A==} + /@umijs/bundler-utils@4.1.1: + resolution: {integrity: sha512-k1I1tjDePgB1XqpQHZiLJ/5gS4EykY8hqqzEzD1CSbd5KFE614+q6W/gcpFZ0YLJDWY1GdjOYpRokvuI/MSRfg==} dependencies: - '@umijs/utils': 4.0.88 + '@umijs/utils': 4.1.1 esbuild: 0.17.19 regenerate: 1.4.2 regenerate-unicode-properties: 10.1.1 @@ -4662,20 +5191,20 @@ packages: - supports-color dev: true - /@umijs/bundler-vite@4.0.88(@types/node@20.5.1)(postcss@8.4.31)(sass@1.69.5): - resolution: {integrity: sha512-qiToAgLwmPWz1t8l82qEPyFXlZvnRKWJW0WG6vuxQNikDMKCWhk18gZaWwMNhqQvAx/oZ37vFCmR8CDoNOMI/A==} + /@umijs/bundler-vite@4.1.1(@types/node@20.5.1)(postcss@8.4.33)(sass@1.70.0): + resolution: {integrity: sha512-gTu/9TpsBYEHcaQY/ybW1ZDLAQA75lH2kI6FVx/Tg8HutwSB9mIaD4DHZOMDM/9C1W/+DwxXemKZXVkR3iRtVw==} hasBin: true dependencies: '@svgr/core': 6.5.1 - '@umijs/bundler-utils': 4.0.88 - '@umijs/utils': 4.0.88 + '@umijs/bundler-utils': 4.1.1 + '@umijs/utils': 4.1.1 '@vitejs/plugin-react': 4.0.0(vite@4.3.1) - core-js: 3.28.0 + core-js: 3.34.0 less: 4.1.3 - postcss-preset-env: 7.5.0(postcss@8.4.31) + postcss-preset-env: 7.5.0(postcss@8.4.33) rollup-plugin-visualizer: 5.9.0 - systemjs: 6.14.2 - vite: 4.3.1(@types/node@20.5.1)(less@4.1.3)(sass@1.69.5) + systemjs: 6.14.3 + vite: 4.3.1(@types/node@20.5.1)(less@4.1.3)(sass@1.70.0) transitivePeerDependencies: - '@types/node' - postcss @@ -4687,29 +5216,29 @@ packages: - terser dev: true - /@umijs/bundler-webpack@4.0.88(typescript@5.0.4)(webpack@5.89.0): - resolution: {integrity: sha512-9ivKa6pREdgLhni9Zl+HhdqehizLOw+U8Md31l8pcQFq8KHrmlYj0X4iGNMaT7OVWJtZznY0wH4lfLNKSd+RXA==} + /@umijs/bundler-webpack@4.1.1(typescript@5.0.4)(webpack@5.89.0): + resolution: {integrity: sha512-LL+ZmPmSIGOMo1+OHsBtMARqr+dTZEqDkTbQ/ZPrrrtxK27rXi/lHFEUnzKjPeHVL+xtJ4m9QR13zGWlhLT+UA==} hasBin: true dependencies: '@svgr/core': 6.5.1 '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) '@svgr/plugin-svgo': 6.5.1(@svgr/core@6.5.1) '@types/hapi__joi': 17.1.9 - '@umijs/babel-preset-umi': 4.0.88 - '@umijs/bundler-utils': 4.0.88 + '@umijs/babel-preset-umi': 4.1.1 + '@umijs/bundler-utils': 4.1.1 '@umijs/case-sensitive-paths-webpack-plugin': 1.0.1 - '@umijs/mfsu': 4.0.88 + '@umijs/mfsu': 4.1.1 '@umijs/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.14.0)(webpack@5.89.0) - '@umijs/utils': 4.0.88 + '@umijs/utils': 4.1.1 cors: 2.8.5 css-loader: 6.7.1(webpack@5.89.0) es5-imcompatible-versions: 0.1.88 fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.0.4)(webpack@5.89.0) jest-worker: 29.4.3 - lightningcss: 1.19.0 + lightningcss: 1.22.1 node-libs-browser: 2.2.1 - postcss: 8.4.31 - postcss-preset-env: 7.5.0(postcss@8.4.31) + postcss: 8.4.33 + postcss-preset-env: 7.5.0(postcss@8.4.33) react-error-overlay: 6.0.9 react-refresh: 0.14.0 transitivePeerDependencies: @@ -4724,29 +5253,29 @@ packages: - webpack-plugin-serve dev: true - /@umijs/bundler-webpack@4.0.88(typescript@5.3.2)(webpack@5.89.0): - resolution: {integrity: sha512-9ivKa6pREdgLhni9Zl+HhdqehizLOw+U8Md31l8pcQFq8KHrmlYj0X4iGNMaT7OVWJtZznY0wH4lfLNKSd+RXA==} + /@umijs/bundler-webpack@4.1.1(typescript@5.3.3)(webpack@5.89.0): + resolution: {integrity: sha512-LL+ZmPmSIGOMo1+OHsBtMARqr+dTZEqDkTbQ/ZPrrrtxK27rXi/lHFEUnzKjPeHVL+xtJ4m9QR13zGWlhLT+UA==} hasBin: true dependencies: '@svgr/core': 6.5.1 '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) '@svgr/plugin-svgo': 6.5.1(@svgr/core@6.5.1) '@types/hapi__joi': 17.1.9 - '@umijs/babel-preset-umi': 4.0.88 - '@umijs/bundler-utils': 4.0.88 + '@umijs/babel-preset-umi': 4.1.1 + '@umijs/bundler-utils': 4.1.1 '@umijs/case-sensitive-paths-webpack-plugin': 1.0.1 - '@umijs/mfsu': 4.0.88 + '@umijs/mfsu': 4.1.1 '@umijs/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.14.0)(webpack@5.89.0) - '@umijs/utils': 4.0.88 + '@umijs/utils': 4.1.1 cors: 2.8.5 css-loader: 6.7.1(webpack@5.89.0) es5-imcompatible-versions: 0.1.88 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.3.2)(webpack@5.89.0) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.3.3)(webpack@5.89.0) jest-worker: 29.4.3 - lightningcss: 1.19.0 + lightningcss: 1.22.1 node-libs-browser: 2.2.1 - postcss: 8.4.31 - postcss-preset-env: 7.5.0(postcss@8.4.31) + postcss: 8.4.33 + postcss-preset-env: 7.5.0(postcss@8.4.33) react-error-overlay: 6.0.9 react-refresh: 0.14.0 transitivePeerDependencies: @@ -4765,11 +5294,11 @@ packages: resolution: {integrity: sha512-kDKJ8yTarxwxGJDInG33hOpaQRZ//XpNuuznQ/1Mscypw6kappzFmrBr2dOYave++K7JHouoANF354UpbEQw0Q==} dev: true - /@umijs/core@4.0.88: - resolution: {integrity: sha512-fwOCDOEW0evLmOWc/uGdlJ8VOS2KhfOd446B2TBUTdyBE8etUBMtZo9NgN2z8VOC+Xu0jLlBIjEMbJ73eWV/qQ==} + /@umijs/core@4.1.1: + resolution: {integrity: sha512-frMq29AfyLThIfrsDmNGKueT49mhL6o7P9GhnSCP3ICwTYl2aTaI3GYzf32ZCmEhFYH8cU0Bcgx5GpOIdEJrLQ==} dependencies: - '@umijs/bundler-utils': 4.0.88 - '@umijs/utils': 4.0.88 + '@umijs/bundler-utils': 4.1.1 + '@umijs/utils': 4.1.1 transitivePeerDependencies: - supports-color dev: true @@ -4779,7 +5308,7 @@ packages: dev: true /@umijs/es-module-parser-darwin-arm64@0.0.7: - resolution: {integrity: sha512-1QeNupekuVYVvL4UHyCRq4ISP2PNk4rDd9UOPONW+KpqTyP9p7RfgGpwB0VLPaFSu2ADtm0XZyIaYEGPY6zuDw==, tarball: https://registry.npmmirror.com/@umijs/es-module-parser-darwin-arm64/-/es-module-parser-darwin-arm64-0.0.7.tgz} + resolution: {integrity: sha512-1QeNupekuVYVvL4UHyCRq4ISP2PNk4rDd9UOPONW+KpqTyP9p7RfgGpwB0VLPaFSu2ADtm0XZyIaYEGPY6zuDw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -4788,7 +5317,7 @@ packages: optional: true /@umijs/es-module-parser-darwin-x64@0.0.7: - resolution: {integrity: sha512-FBFmfigmToPc9qBCW7wHiTYpqnLdPbAvoMGOydzAu2NspdPEF7TfILcr8vCPNbNe3vCobS+T/YM1dP+SagERlA==, tarball: https://registry.npmmirror.com/@umijs/es-module-parser-darwin-x64/-/es-module-parser-darwin-x64-0.0.7.tgz} + resolution: {integrity: sha512-FBFmfigmToPc9qBCW7wHiTYpqnLdPbAvoMGOydzAu2NspdPEF7TfILcr8vCPNbNe3vCobS+T/YM1dP+SagERlA==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -4797,7 +5326,7 @@ packages: optional: true /@umijs/es-module-parser-linux-arm-gnueabihf@0.0.7: - resolution: {integrity: sha512-AXfmg3htkadLGsXUyiyrTig4omGCWIN4l+HS7Qapqv0wlfFYSpC0KPemjyBQgzXO70tDcT+1FNhGjIy+yr2pIQ==, tarball: https://registry.npmmirror.com/@umijs/es-module-parser-linux-arm-gnueabihf/-/es-module-parser-linux-arm-gnueabihf-0.0.7.tgz} + resolution: {integrity: sha512-AXfmg3htkadLGsXUyiyrTig4omGCWIN4l+HS7Qapqv0wlfFYSpC0KPemjyBQgzXO70tDcT+1FNhGjIy+yr2pIQ==} engines: {node: '>= 10'} cpu: [arm] os: [linux] @@ -4806,7 +5335,7 @@ packages: optional: true /@umijs/es-module-parser-linux-arm64-gnu@0.0.7: - resolution: {integrity: sha512-2wSdChFc39fPJwvS8tRq+jx8qNlIwrjRk1hb3N5o0rJR+rqt+ceAyNPbYwpNBmUHW7xtmDQvJUeinvr7hIBP+w==, tarball: https://registry.npmmirror.com/@umijs/es-module-parser-linux-arm64-gnu/-/es-module-parser-linux-arm64-gnu-0.0.7.tgz} + resolution: {integrity: sha512-2wSdChFc39fPJwvS8tRq+jx8qNlIwrjRk1hb3N5o0rJR+rqt+ceAyNPbYwpNBmUHW7xtmDQvJUeinvr7hIBP+w==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -4816,7 +5345,7 @@ packages: optional: true /@umijs/es-module-parser-linux-arm64-musl@0.0.7: - resolution: {integrity: sha512-cqQffARWkmQ3n1RYNKZR3aD6X8YaP6u1maASjDgPQOpZMAlv/OSDrM/7iGujWTs0PD0haockNG9/DcP6lgPHMw==, tarball: https://registry.npmmirror.com/@umijs/es-module-parser-linux-arm64-musl/-/es-module-parser-linux-arm64-musl-0.0.7.tgz} + resolution: {integrity: sha512-cqQffARWkmQ3n1RYNKZR3aD6X8YaP6u1maASjDgPQOpZMAlv/OSDrM/7iGujWTs0PD0haockNG9/DcP6lgPHMw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -4826,7 +5355,7 @@ packages: optional: true /@umijs/es-module-parser-linux-x64-gnu@0.0.7: - resolution: {integrity: sha512-PHrKHtT665Za0Ydjch4ACrNpRU+WIIden12YyF1CtMdhuLDSoU6UfdhF3NoDbgEUcXVDX/ftOqmj0SbH3R1uew==, tarball: https://registry.npmmirror.com/@umijs/es-module-parser-linux-x64-gnu/-/es-module-parser-linux-x64-gnu-0.0.7.tgz} + resolution: {integrity: sha512-PHrKHtT665Za0Ydjch4ACrNpRU+WIIden12YyF1CtMdhuLDSoU6UfdhF3NoDbgEUcXVDX/ftOqmj0SbH3R1uew==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -4836,7 +5365,7 @@ packages: optional: true /@umijs/es-module-parser-linux-x64-musl@0.0.7: - resolution: {integrity: sha512-cyZvUK5lcECLWzLp/eU1lFlCETcz+LEb+wrdARQSST1dgoIGZsT4cqM1WzYmdZNk3o883tiZizLt58SieEiHBQ==, tarball: https://registry.npmmirror.com/@umijs/es-module-parser-linux-x64-musl/-/es-module-parser-linux-x64-musl-0.0.7.tgz} + resolution: {integrity: sha512-cyZvUK5lcECLWzLp/eU1lFlCETcz+LEb+wrdARQSST1dgoIGZsT4cqM1WzYmdZNk3o883tiZizLt58SieEiHBQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -4846,7 +5375,7 @@ packages: optional: true /@umijs/es-module-parser-win32-arm64-msvc@0.0.7: - resolution: {integrity: sha512-V7WxnUI88RboSl0RWLNQeKBT7EDW35fW6Tn92zqtoHHxrhAIL9DtDyvC8REP4qTxeZ6Oej/Ax5I6IjsLx3yTOg==, tarball: https://registry.npmmirror.com/@umijs/es-module-parser-win32-arm64-msvc/-/es-module-parser-win32-arm64-msvc-0.0.7.tgz} + resolution: {integrity: sha512-V7WxnUI88RboSl0RWLNQeKBT7EDW35fW6Tn92zqtoHHxrhAIL9DtDyvC8REP4qTxeZ6Oej/Ax5I6IjsLx3yTOg==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -4855,7 +5384,7 @@ packages: optional: true /@umijs/es-module-parser-win32-x64-msvc@0.0.7: - resolution: {integrity: sha512-X3Pqy0l38hg6wMPquPeMHuoHU+Cx+wzyz32SVYCta+RPJQ7n9PjrEBiIuVAw5+GJZjSABN7LVr8u/n0RZT9EQA==, tarball: https://registry.npmmirror.com/@umijs/es-module-parser-win32-x64-msvc/-/es-module-parser-win32-x64-msvc-0.0.7.tgz} + resolution: {integrity: sha512-X3Pqy0l38hg6wMPquPeMHuoHU+Cx+wzyz32SVYCta+RPJQ7n9PjrEBiIuVAw5+GJZjSABN7LVr8u/n0RZT9EQA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -4881,24 +5410,24 @@ packages: /@umijs/history@5.3.1: resolution: {integrity: sha512-/e0cEGrR2bIWQD7pRl3dl9dcyRGeC9hoW0OCvUTT/hjY0EfUrkd6G8ZanVghPMpDuY5usxq9GVcvrT8KNXLWvA==} dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 query-string: 6.14.1 dev: true - /@umijs/lint@4.0.88(eslint@8.54.0)(stylelint@14.16.1)(typescript@5.3.2): - resolution: {integrity: sha512-vDLhfsA0zrAR2NFr/hna75kr1uTYSG032eCg89yBvC7fDn0jxIcXQXEHriZCsgge1puWw0bscnAWR8fx9rdmfA==} + /@umijs/lint@4.1.1(eslint@8.56.0)(stylelint@14.16.1)(typescript@5.3.3): + resolution: {integrity: sha512-fy2edKuYw42eM3LuH/2AiH0ZKdembFx3SR8dIGKxf7BmEQOSfUhskLiNGE8tSRubCiVzGUWvZQDw1YQcU0bsHg==} dependencies: - '@babel/core': 7.23.2 - '@babel/eslint-parser': 7.22.15(@babel/core@7.23.2)(eslint@8.54.0) - '@stylelint/postcss-css-in-js': 0.38.0(postcss-syntax@0.36.2)(postcss@8.4.31) - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.3.2) - '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@5.3.2) - '@umijs/babel-preset-umi': 4.0.88 - eslint-plugin-jest: 27.2.3(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.54.0)(typescript@5.3.2) - eslint-plugin-react: 7.33.2(eslint@8.54.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.54.0) - postcss: 8.4.31 - postcss-syntax: 0.36.2(postcss@8.4.31) + '@babel/core': 7.23.6 + '@babel/eslint-parser': 7.23.3(@babel/core@7.23.6)(eslint@8.56.0) + '@stylelint/postcss-css-in-js': 0.38.0(postcss-syntax@0.36.2)(postcss@8.4.33) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 5.62.0(eslint@8.56.0)(typescript@5.3.3) + '@umijs/babel-preset-umi': 4.1.1 + eslint-plugin-jest: 27.2.3(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.56.0)(typescript@5.3.3) + eslint-plugin-react: 7.33.2(eslint@8.56.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.56.0) + postcss: 8.4.33 + postcss-syntax: 0.36.2(postcss@8.4.33) stylelint-config-standard: 25.0.0(stylelint@14.16.1) transitivePeerDependencies: - eslint @@ -4913,57 +5442,57 @@ packages: - typescript dev: true - /@umijs/mfsu@4.0.88: - resolution: {integrity: sha512-McHqSuLShUZYD15PsYqpelbot7PyakbMSDr/ckDQNzll6g6B0WIAsDLcDzDf4NFHnxqG76eiWjPuB29f5VSymA==} + /@umijs/mfsu@4.1.1: + resolution: {integrity: sha512-5W4vl0vtZvD36wPUo0EMDO6p04GGPBb7MwJVQCYGdumKEwdCQ+cnzEYoJE9Q9D5PBAwnOzbf2UNrAQgtJG70tA==} dependencies: - '@umijs/bundler-esbuild': 4.0.88 - '@umijs/bundler-utils': 4.0.88 - '@umijs/utils': 4.0.88 + '@umijs/bundler-esbuild': 4.1.1 + '@umijs/bundler-utils': 4.1.1 + '@umijs/utils': 4.1.1 enhanced-resolve: 5.9.3 is-equal: 1.7.0 transitivePeerDependencies: - supports-color dev: true - /@umijs/plugin-run@4.0.88: - resolution: {integrity: sha512-WV/tR8c3hpum+Dr1o+cxYyzUigRZOMQxiB5KtZD9x1JzX+nZFCCsXraIQAW6RcJ3bpGOUv7aKMWfx1LWoE2K7A==} + /@umijs/plugin-run@4.1.1: + resolution: {integrity: sha512-n2E1eV065qsfuNL0kKn6N2zv75s7aRD9j0ZL3tqhAf7UqtUEx3hmODlnrIIMNzBI5YxSYwyjWxZCLvpzu5S8hQ==} dependencies: tsx: 3.14.0 dev: true - /@umijs/preset-umi@4.0.88(@types/node@20.5.1)(@types/react@18.2.39)(sass@1.69.5)(typescript@5.3.2)(webpack@5.89.0): - resolution: {integrity: sha512-q5emmxWjOrA8ZNTNaNcUEU/FxM/DDnpjGK8aYIce/ih/suzo+K2csWDAkQCBYgNPg4Ro1Juv2oUgyOt3TVcUXA==} + /@umijs/preset-umi@4.1.1(@types/node@20.5.1)(@types/react@18.2.48)(sass@1.70.0)(typescript@5.3.3)(webpack@5.89.0): + resolution: {integrity: sha512-mpm2aqyRttfAQRstCoA98oya5r0eZL6dWe3oddTsScjyO/T9rT9vOb2xyqlsE95DTNFEBeyCjr8dcvs2HifJ1w==} dependencies: '@iconify/utils': 2.1.1 '@svgr/core': 6.5.1 - '@umijs/ast': 4.0.88 - '@umijs/babel-preset-umi': 4.0.88 - '@umijs/bundler-esbuild': 4.0.88 - '@umijs/bundler-utils': 4.0.88 - '@umijs/bundler-vite': 4.0.88(@types/node@20.5.1)(postcss@8.4.31)(sass@1.69.5) - '@umijs/bundler-webpack': 4.0.88(typescript@5.3.2)(webpack@5.89.0) - '@umijs/core': 4.0.88 + '@umijs/ast': 4.1.1 + '@umijs/babel-preset-umi': 4.1.1 + '@umijs/bundler-esbuild': 4.1.1 + '@umijs/bundler-utils': 4.1.1 + '@umijs/bundler-vite': 4.1.1(@types/node@20.5.1)(postcss@8.4.33)(sass@1.70.0) + '@umijs/bundler-webpack': 4.1.1(typescript@5.3.3)(webpack@5.89.0) + '@umijs/core': 4.1.1 '@umijs/did-you-know': 1.0.3 '@umijs/es-module-parser': 0.0.7 '@umijs/history': 5.3.1 - '@umijs/mfsu': 4.0.88 - '@umijs/plugin-run': 4.0.88 - '@umijs/renderer-react': 4.0.88(react-dom@18.1.0)(react@18.1.0) - '@umijs/server': 4.0.88 + '@umijs/mfsu': 4.1.1 + '@umijs/plugin-run': 4.1.1 + '@umijs/renderer-react': 4.1.1(react-dom@18.1.0)(react@18.1.0) + '@umijs/server': 4.1.1 '@umijs/ui': 3.0.1 - '@umijs/utils': 4.0.88 - '@umijs/zod2ts': 4.0.88 + '@umijs/utils': 4.1.1 + '@umijs/zod2ts': 4.1.1 babel-plugin-dynamic-import-node: 2.3.3 - click-to-react-component: 1.1.0(@types/react@18.2.39)(react-dom@18.1.0)(react@18.1.0) - core-js: 3.28.0 + click-to-react-component: 1.1.0(@types/react@18.2.48)(react-dom@18.1.0)(react@18.1.0) + core-js: 3.34.0 current-script-polyfill: 1.0.0 enhanced-resolve: 5.9.3 fast-glob: 3.2.12 html-webpack-plugin: 5.5.0(webpack@5.89.0) - less-plugin-resolve: 1.0.0 + less-plugin-resolve: 1.0.2 path-to-regexp: 1.7.0 - postcss: 8.4.31 - postcss-prefix-selector: 1.16.0(postcss@8.4.31) + postcss: 8.4.33 + postcss-prefix-selector: 1.16.0(postcss@8.4.33) react: 18.1.0 react-dom: 18.1.0(react@18.1.0) react-router: 6.3.0(react@18.1.0) @@ -5016,7 +5545,7 @@ packages: dependencies: ansi-html-community: 0.0.8 common-path-prefix: 3.0.0 - core-js-pure: 3.33.3 + core-js-pure: 3.35.1 error-stack-parser: 2.1.4 find-up: 5.0.0 html-entities: 2.4.0 @@ -5027,13 +5556,13 @@ packages: webpack: 5.89.0 dev: true - /@umijs/renderer-react@4.0.88(react-dom@18.1.0)(react@18.1.0): - resolution: {integrity: sha512-5zU4+PLO9+D8nl/WikGE6QjYvztKWSLGp+N33TPL0BrrJOSTI/ffH/iwsPxiFG/ABX4oz3SShUyIhyChSnP/WQ==} + /@umijs/renderer-react@4.1.1(react-dom@18.1.0)(react@18.1.0): + resolution: {integrity: sha512-h6mXzTeadXGjUUDfBOjNjIFPkiyt1N0oIEK+eS2PH3SaZGCUa8HNm+yWJmUxxDqbo/+1rvnN8z1oEGDRHfHwXA==} peerDependencies: react: '>=16.8' react-dom: '>=16.8' dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.23.6 '@loadable/component': 5.15.2(react@18.1.0) history: 5.3.0 react: 18.1.0 @@ -5042,13 +5571,13 @@ packages: react-router-dom: 6.3.0(react-dom@18.1.0)(react@18.1.0) dev: true - /@umijs/renderer-react@4.0.88(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-5zU4+PLO9+D8nl/WikGE6QjYvztKWSLGp+N33TPL0BrrJOSTI/ffH/iwsPxiFG/ABX4oz3SShUyIhyChSnP/WQ==} + /@umijs/renderer-react@4.1.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-h6mXzTeadXGjUUDfBOjNjIFPkiyt1N0oIEK+eS2PH3SaZGCUa8HNm+yWJmUxxDqbo/+1rvnN8z1oEGDRHfHwXA==} peerDependencies: react: '>=16.8' react-dom: '>=16.8' dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.23.6 '@loadable/component': 5.15.2(react@18.2.0) history: 5.3.0 react: 18.2.0 @@ -5057,10 +5586,10 @@ packages: react-router-dom: 6.3.0(react-dom@18.2.0)(react@18.2.0) dev: true - /@umijs/server@4.0.88: - resolution: {integrity: sha512-Bvt6HCVn7NO7hrHbWXccJhpeQCwb5/lL9g5ShSOIfcf8WwND+U7E9H3ME5cMJywdgeTjEe+yItLGQHur9TpOTg==} + /@umijs/server@4.1.1: + resolution: {integrity: sha512-MNwj2jbmAcpHP+uNyhAQWZdLfNpsKy05ETpVWtOmBlAmkK8J9IBpHGSPkWSJgTiq6NiYM6vIRm9wKyVwGUxYGA==} dependencies: - '@umijs/bundler-utils': 4.0.88 + '@umijs/bundler-utils': 4.1.1 history: 5.3.0 react: 18.1.0 react-dom: 18.1.0(react@18.1.0) @@ -5069,14 +5598,14 @@ packages: - supports-color dev: true - /@umijs/test@4.0.88(@babel/core@7.23.3): - resolution: {integrity: sha512-3v021VhU/aQc3Jk421z3ys1Q5S/JJlIzhJYYds+O1gb3esgeaGIS6OyDA1xmCaqVGgJeYOq408AN43/hCR9rtw==} + /@umijs/test@4.1.1(@babel/core@7.23.7): + resolution: {integrity: sha512-4Q5qaYX86mZbw0Jbirr0kZpaU1Jfi1Lq440EmRYqoPtKQBT5hX5fo98LWxyMPv1PTL/g/PC6sYr0uSLp+qjtOA==} dependencies: - '@babel/plugin-transform-modules-commonjs': 7.23.0(@babel/core@7.23.3) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.7) '@jest/types': 27.5.1 - '@umijs/bundler-utils': 4.0.88 - '@umijs/utils': 4.0.88 - babel-jest: 29.7.0(@babel/core@7.23.3) + '@umijs/bundler-utils': 4.1.1 + '@umijs/utils': 4.1.1 + babel-jest: 29.7.0(@babel/core@7.23.7) esbuild: 0.17.19 identity-obj-proxy: 3.0.0 isomorphic-unfetch: 4.0.2 @@ -5089,15 +5618,15 @@ packages: resolution: {integrity: sha512-zcz37AJH0xt/6XVVbyO/hmsK9Hq4vH23HZ4KYVi5A8rbM9KeJkJigTS7ELOdArawZhVNGe+h3a5Oixs4a2QsWw==} dev: true - /@umijs/utils@4.0.88: - resolution: {integrity: sha512-b7rW75hQ18+1Q3rt6cqOIed6hftmsExUsfJaCjYCIqFL3DRn+D8Uwb0EEsNlxgLnWUgwGC2KrIYYMvc2Q2XfWA==} + /@umijs/utils@4.1.1: + resolution: {integrity: sha512-hbnbJR3RA7fu4E7q4JFZ47XMYArr6Zn5bftr8YZ+o6hzJlomr4gzoOXE+XxM7rVMK4AFZoc+QZgNTJyISd08Pg==} dependencies: chokidar: 3.5.3 pino: 7.11.0 dev: true - /@umijs/zod2ts@4.0.88: - resolution: {integrity: sha512-YdctA0RdGlJCnkc7wegre4BD2QfWGPOXes6pBiD1HUxBYiB4VQRrk54ESOD87o/OVB2VfhfqjE/v+xeevEeF3w==} + /@umijs/zod2ts@4.1.1: + resolution: {integrity: sha512-ni4at60OdOL4qMKi7USdq8T6lNWAbaylXmDNUg063nT/FIzbwD7bFzKO0OYnt4SoV20dtBLSV5zlundFK4hVSQ==} dev: true /@ungap/structured-clone@1.2.0: @@ -5115,36 +5644,36 @@ packages: peerDependencies: vite: ^4.2.0 dependencies: - '@babel/core': 7.23.3 - '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.3) - '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.3) + '@babel/core': 7.23.7 + '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.7) react-refresh: 0.14.0 - vite: 4.3.1(@types/node@20.5.1)(less@4.1.3)(sass@1.69.5) + vite: 4.3.1(@types/node@20.5.1)(less@4.1.3)(sass@1.70.0) transitivePeerDependencies: - supports-color dev: true /@webassemblyjs/ast@1.11.6: - resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==, tarball: https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.6.tgz} + resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==} dependencies: '@webassemblyjs/helper-numbers': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 dev: true /@webassemblyjs/floating-point-hex-parser@1.11.6: - resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==, tarball: https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz} + resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} dev: true /@webassemblyjs/helper-api-error@1.11.6: - resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==, tarball: https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz} + resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} dev: true /@webassemblyjs/helper-buffer@1.11.6: - resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==, tarball: https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz} + resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==} dev: true /@webassemblyjs/helper-numbers@1.11.6: - resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==, tarball: https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz} + resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} dependencies: '@webassemblyjs/floating-point-hex-parser': 1.11.6 '@webassemblyjs/helper-api-error': 1.11.6 @@ -5152,11 +5681,11 @@ packages: dev: true /@webassemblyjs/helper-wasm-bytecode@1.11.6: - resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==, tarball: https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz} + resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} dev: true /@webassemblyjs/helper-wasm-section@1.11.6: - resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==, tarball: https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz} + resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==} dependencies: '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/helper-buffer': 1.11.6 @@ -5165,23 +5694,23 @@ packages: dev: true /@webassemblyjs/ieee754@1.11.6: - resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==, tarball: https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz} + resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} dependencies: '@xtuc/ieee754': 1.2.0 dev: true /@webassemblyjs/leb128@1.11.6: - resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==, tarball: https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz} + resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} dependencies: '@xtuc/long': 4.2.2 dev: true /@webassemblyjs/utf8@1.11.6: - resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==, tarball: https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz} + resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} dev: true /@webassemblyjs/wasm-edit@1.11.6: - resolution: {integrity: sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==, tarball: https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz} + resolution: {integrity: sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==} dependencies: '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/helper-buffer': 1.11.6 @@ -5194,7 +5723,7 @@ packages: dev: true /@webassemblyjs/wasm-gen@1.11.6: - resolution: {integrity: sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==, tarball: https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz} + resolution: {integrity: sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==} dependencies: '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 @@ -5204,7 +5733,7 @@ packages: dev: true /@webassemblyjs/wasm-opt@1.11.6: - resolution: {integrity: sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==, tarball: https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz} + resolution: {integrity: sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==} dependencies: '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/helper-buffer': 1.11.6 @@ -5213,7 +5742,7 @@ packages: dev: true /@webassemblyjs/wasm-parser@1.11.6: - resolution: {integrity: sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==, tarball: https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz} + resolution: {integrity: sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==} dependencies: '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/helper-api-error': 1.11.6 @@ -5224,18 +5753,18 @@ packages: dev: true /@webassemblyjs/wast-printer@1.11.6: - resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==, tarball: https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz} + resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==} dependencies: '@webassemblyjs/ast': 1.11.6 '@xtuc/long': 4.2.2 dev: true /@xtuc/ieee754@1.2.0: - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==, tarball: https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz} + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} dev: true /@xtuc/long@4.2.2: - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==, tarball: https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz} + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} dev: true /@yarnpkg/lockfile@1.1.0: @@ -5265,33 +5794,34 @@ packages: through: 2.3.8 dev: true - /abbrev@1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + /abbrev@2.0.0: + resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true - /acorn-import-assertions@1.9.0(acorn@8.11.2): - resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==, tarball: https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz} + /acorn-import-assertions@1.9.0(acorn@8.11.3): + resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: acorn: ^8 dependencies: - acorn: 8.11.2 + acorn: 8.11.3 dev: true - /acorn-jsx@5.3.2(acorn@8.11.2): + /acorn-jsx@5.3.2(acorn@8.11.3): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.11.2 + acorn: 8.11.3 dev: true - /acorn-walk@8.3.0: - resolution: {integrity: sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==} + /acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} engines: {node: '>=0.4.0'} dev: true - /acorn@8.11.2: - resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} hasBin: true dev: true @@ -5316,6 +5846,15 @@ packages: - supports-color dev: true + /agent-base@7.1.0: + resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} + engines: {node: '>= 14'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + /agentkeepalive@3.5.2: resolution: {integrity: sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==} engines: {node: '>= 4.0.0'} @@ -5348,7 +5887,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@types/js-cookie': 2.2.7 ahooks-v3-count: 1.0.0 dayjs: 1.11.10 @@ -5448,7 +5987,7 @@ packages: dev: true /ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, tarball: https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz} + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} dependencies: color-convert: 1.9.3 @@ -5461,30 +6000,45 @@ packages: dev: true /ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, tarball: https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz} + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} dev: true /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==, tarball: https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz} + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} dev: true - /antd-style@3.6.1(@types/react@18.2.39)(antd@5.12.5)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-KpKXiAIV3CAe6TfSh/m6ET2vGuhAof7qfqeaouh5WZ0JDl5jDXXSFPeEfqvZuHAckTl+A0NzArvIHKgKt/NZ9g==, tarball: https://registry.npmmirror.com/antd-style/-/antd-style-3.6.1.tgz} + /antd-img-crop@4.21.0(antd@5.13.2)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-YA5GUMfwoDoSJNWinGOmtYFDFLf+t7Rhfg7ZusbHgFpKCq8n9W0005LeCWgSP4C0iK3vxNHAT3DaRa3rTgKFlQ==} + peerDependencies: + antd: '>=4.0.0' + react: '>=16.8.0' + react-dom: '>=16.8.0' + dependencies: + antd: 5.13.2(react-dom@18.2.0)(react@18.2.0) + compare-versions: 6.1.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-easy-crop: 5.0.5(react-dom@18.2.0)(react@18.2.0) + tslib: 2.6.2 + dev: false + + /antd-style@3.6.1(@types/react@18.2.48)(antd@5.13.2)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-KpKXiAIV3CAe6TfSh/m6ET2vGuhAof7qfqeaouh5WZ0JDl5jDXXSFPeEfqvZuHAckTl+A0NzArvIHKgKt/NZ9g==} peerDependencies: antd: '>=5.8.1' react: '>=18' dependencies: - '@ant-design/cssinjs': 1.18.2(react-dom@18.2.0)(react@18.2.0) - '@babel/runtime': 7.23.4 + '@ant-design/cssinjs': 1.18.4(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.23.8 '@emotion/cache': 11.11.0 '@emotion/css': 11.11.2 - '@emotion/react': 11.11.3(@types/react@18.2.39)(react@18.2.0) + '@emotion/react': 11.11.3(@types/react@18.2.48)(react@18.2.0) '@emotion/serialize': 1.1.3 '@emotion/server': 11.11.0(@emotion/css@11.11.2) '@emotion/utils': 1.2.1 - antd: 5.12.5(react-dom@18.2.0)(react@18.2.0) + antd: 5.13.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 use-merge-value: 1.2.0(react@18.2.0) transitivePeerDependencies: @@ -5492,37 +6046,36 @@ packages: - react-dom dev: false - /antd@5.12.5(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-m9r9VhTmANS4kdBwHcxI4QWIGoZh3LspXNb2SxoezRSUZ9RUFpf+gO0AjPx8EPeO/nLKsHAoCSLza9r041bAgw==, tarball: https://registry.npmmirror.com/antd/-/antd-5.12.5.tgz} + /antd@5.13.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-P+N8gc0NOPy2WqJj/57Ey3dZUmb7nEUwAM+CIJaR5SOEjZnhEtMGRJSt+3lnhJ3MNRR39aR6NYkRVp2mYfphiA==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: '@ant-design/colors': 7.0.2 - '@ant-design/cssinjs': 1.18.2(react-dom@18.2.0)(react@18.2.0) + '@ant-design/cssinjs': 1.18.4(react-dom@18.2.0)(react@18.2.0) '@ant-design/icons': 5.2.6(react-dom@18.2.0)(react@18.2.0) '@ant-design/react-slick': 1.0.2(react@18.2.0) - '@babel/runtime': 7.23.4 '@ctrl/tinycolor': 3.6.1 - '@rc-component/color-picker': 1.4.1(react-dom@18.2.0)(react@18.2.0) + '@rc-component/color-picker': 1.5.1(react-dom@18.2.0)(react@18.2.0) '@rc-component/mutate-observer': 1.1.0(react-dom@18.2.0)(react@18.2.0) - '@rc-component/tour': 1.11.1(react-dom@18.2.0)(react@18.2.0) + '@rc-component/tour': 1.12.3(react-dom@18.2.0)(react@18.2.0) '@rc-component/trigger': 1.18.2(react-dom@18.2.0)(react@18.2.0) classnames: 2.5.1 copy-to-clipboard: 3.3.3 dayjs: 1.11.10 qrcode.react: 3.1.0(react@18.2.0) - rc-cascader: 3.20.0(react-dom@18.2.0)(react@18.2.0) + rc-cascader: 3.21.2(react-dom@18.2.0)(react@18.2.0) rc-checkbox: 3.1.0(react-dom@18.2.0)(react@18.2.0) rc-collapse: 3.7.2(react-dom@18.2.0)(react@18.2.0) rc-dialog: 9.3.4(react-dom@18.2.0)(react@18.2.0) - rc-drawer: 6.5.2(react-dom@18.2.0)(react@18.2.0) + rc-drawer: 7.0.0(react-dom@18.2.0)(react@18.2.0) rc-dropdown: 4.1.0(react-dom@18.2.0)(react@18.2.0) rc-field-form: 1.41.0(react-dom@18.2.0)(react@18.2.0) rc-image: 7.5.1(react-dom@18.2.0)(react@18.2.0) - rc-input: 1.3.11(react-dom@18.2.0)(react@18.2.0) - rc-input-number: 8.4.0(react-dom@18.2.0)(react@18.2.0) - rc-mentions: 2.9.1(react-dom@18.2.0)(react@18.2.0) + rc-input: 1.4.3(react-dom@18.2.0)(react@18.2.0) + rc-input-number: 8.6.1(react-dom@18.2.0)(react@18.2.0) + rc-mentions: 2.10.1(react-dom@18.2.0)(react@18.2.0) rc-menu: 9.12.4(react-dom@18.2.0)(react@18.2.0) rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) rc-notification: 5.3.0(react-dom@18.2.0)(react@18.2.0) @@ -5532,17 +6085,17 @@ packages: rc-rate: 2.12.0(react-dom@18.2.0)(react@18.2.0) rc-resize-observer: 1.4.0(react-dom@18.2.0)(react@18.2.0) rc-segmented: 2.2.2(react-dom@18.2.0)(react@18.2.0) - rc-select: 14.10.0(react-dom@18.2.0)(react@18.2.0) + rc-select: 14.11.0(react-dom@18.2.0)(react@18.2.0) rc-slider: 10.5.0(react-dom@18.2.0)(react@18.2.0) rc-steps: 6.0.1(react-dom@18.2.0)(react@18.2.0) rc-switch: 4.1.0(react-dom@18.2.0)(react@18.2.0) - rc-table: 7.36.1(react-dom@18.2.0)(react@18.2.0) - rc-tabs: 12.14.1(react-dom@18.2.0)(react@18.2.0) - rc-textarea: 1.5.3(react-dom@18.2.0)(react@18.2.0) + rc-table: 7.37.0(react-dom@18.2.0)(react@18.2.0) + rc-tabs: 14.0.0(react-dom@18.2.0)(react@18.2.0) + rc-textarea: 1.6.3(react-dom@18.2.0)(react@18.2.0) rc-tooltip: 6.1.3(react-dom@18.2.0)(react@18.2.0) rc-tree: 5.8.2(react-dom@18.2.0)(react@18.2.0) - rc-tree-select: 5.15.0(react-dom@18.2.0)(react@18.2.0) - rc-upload: 4.3.6(react-dom@18.2.0)(react@18.2.0) + rc-tree-select: 5.17.0(react-dom@18.2.0)(react@18.2.0) + rc-upload: 4.5.2(react-dom@18.2.0)(react@18.2.0) rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -5566,6 +6119,10 @@ packages: resolution: {integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==} dev: true + /aproba@2.0.0: + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} + dev: true + /are-we-there-yet@3.0.1: resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -5625,7 +6182,7 @@ packages: is-string: 1.0.7 /array-tree-filter@2.1.0: - resolution: {integrity: sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==, tarball: https://registry.npmmirror.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz} + resolution: {integrity: sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==} dev: false /array-union@2.1.0: @@ -5708,7 +6265,7 @@ packages: /assert@1.5.1: resolution: {integrity: sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==} dependencies: - object.assign: 4.1.4 + object.assign: 4.1.5 util: 0.10.4 dev: true @@ -5723,7 +6280,7 @@ packages: dev: true /async-validator@4.2.5: - resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==, tarball: https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz} + resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} dev: false /async@3.2.5: @@ -5751,19 +6308,19 @@ packages: engines: {node: '>=8.0.0'} dev: true - /autoprefixer@10.4.16(postcss@8.4.31): - resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} + /autoprefixer@10.4.17(postcss@8.4.33): + resolution: {integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: browserslist: 4.22.2 - caniuse-lite: 1.0.30001565 + caniuse-lite: 1.0.30001579 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.31 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: true @@ -5771,6 +6328,11 @@ packages: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} + /axe-core@3.5.6: + resolution: {integrity: sha512-LEUDjgmdJoA3LqklSTwKYqkjcZ4HKc4ddIYGSAiSkr46NTjzg2L9RNB+lekO9P7Dlpa87+hBtzc2Fzn/+GUWMQ==} + engines: {node: '>=4'} + dev: true + /axios@0.18.1: resolution: {integrity: sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==} deprecated: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410 @@ -5781,27 +6343,27 @@ packages: - supports-color dev: true - /axios@1.6.2: - resolution: {integrity: sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==} + /axios@1.6.5: + resolution: {integrity: sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==} dependencies: - follow-redirects: 1.15.3 + follow-redirects: 1.15.5 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug dev: true - /babel-jest@29.7.0(@babel/core@7.23.3): + /babel-jest@29.7.0(@babel/core@7.23.7): resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 '@jest/transform': 29.7.0 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.23.3) + babel-preset-jest: 29.6.3(@babel/core@7.23.7) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -5812,7 +6374,7 @@ packages: /babel-plugin-dynamic-import-node@2.3.3: resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} dependencies: - object.assign: 4.1.4 + object.assign: 4.1.5 dev: true /babel-plugin-import@1.13.8: @@ -5839,16 +6401,16 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/template': 7.22.15 - '@babel/types': 7.23.4 + '@babel/types': 7.23.6 '@types/babel__core': 7.20.5 - '@types/babel__traverse': 7.20.4 + '@types/babel__traverse': 7.20.5 dev: true /babel-plugin-macros@3.1.0: - resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==, tarball: https://registry.npmmirror.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz} + resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 cosmiconfig: 7.1.0 resolve: 1.22.8 dev: false @@ -5872,35 +6434,35 @@ packages: traverse: 0.6.6 dev: true - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.23.3): + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.23.7): resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.3 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.3) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.23.3) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.3) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.3) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.3) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.3) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.3) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.3) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.3) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.3) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.3) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.3) + '@babel/core': 7.23.7 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.7) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.7) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.7) dev: true - /babel-preset-jest@29.6.3(@babel/core@7.23.3): + /babel-preset-jest@29.6.3(@babel/core@7.23.7): resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.3) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.7) dev: true /bail@2.0.2: @@ -5946,7 +6508,6 @@ packages: /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} - requiresBuild: true dev: true /binaryextensions@2.3.0: @@ -6096,8 +6657,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001565 - electron-to-chromium: 1.4.616 + caniuse-lite: 1.0.30001579 + electron-to-chromium: 1.4.642 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.22.2) dev: true @@ -6124,11 +6685,11 @@ packages: dev: true /buffer-from@0.1.2: - resolution: {integrity: sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg==, tarball: https://registry.npmmirror.com/buffer-from/-/buffer-from-0.1.2.tgz} + resolution: {integrity: sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg==} dev: false /buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, tarball: https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz} + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true /buffer-xor@1.0.3: @@ -6194,32 +6755,6 @@ packages: y18n: 4.0.3 dev: true - /cacache@16.1.3: - resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - '@npmcli/fs': 2.1.2 - '@npmcli/move-file': 2.0.1 - chownr: 2.0.0 - fs-minipass: 2.1.0 - glob: 8.1.0 - infer-owner: 1.0.4 - lru-cache: 7.18.3 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - mkdirp: 1.0.4 - p-map: 4.0.0 - promise-inflight: 1.0.1(bluebird@3.7.2) - rimraf: 3.0.2 - ssri: 9.0.1 - tar: 6.2.0 - unique-filename: 2.0.1 - transitivePeerDependencies: - - bluebird - dev: true - /cacache@17.1.4: resolution: {integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -6234,7 +6769,25 @@ packages: minipass-pipeline: 1.2.4 p-map: 4.0.0 ssri: 10.0.5 - tar: 6.2.0 + tar: 6.1.11 + unique-filename: 3.0.0 + dev: true + + /cacache@18.0.2: + resolution: {integrity: sha512-r3NU8h/P+4lVUHfeRw1dtgQYar3DZMm4/cm2bZgOvrFC/su7budSOeqh52VJIC4U4iG1WWwV6vRW0znqBvxNuw==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@npmcli/fs': 3.1.0 + fs-minipass: 3.0.3 + glob: 10.3.10 + lru-cache: 10.1.0 + minipass: 7.0.4 + minipass-collect: 2.0.1 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + p-map: 4.0.0 + ssri: 10.0.5 + tar: 6.1.11 unique-filename: 3.0.0 dev: true @@ -6257,14 +6810,14 @@ packages: dev: true /call-bind@1.0.5: - resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==, tarball: https://registry.npmmirror.com/call-bind/-/call-bind-1.0.5.tgz} + resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} dependencies: function-bind: 1.1.2 get-intrinsic: 1.2.2 - set-function-length: 1.1.1 + set-function-length: 1.2.0 /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, tarball: https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz} + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} /camel-case@4.1.2: @@ -6298,8 +6851,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite@1.0.30001565: - resolution: {integrity: sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==} + /caniuse-lite@1.0.30001579: + resolution: {integrity: sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==} dev: true /capture-stack-trace@1.0.2: @@ -6385,7 +6938,7 @@ packages: dev: true /chrome-trace-event@1.0.3: - resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==, tarball: https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz} + resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} engines: {node: '>=6.0'} dev: true @@ -6412,8 +6965,8 @@ packages: /classnames@2.5.1: resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} - /clean-css@5.3.2: - resolution: {integrity: sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==} + /clean-css@5.3.3: + resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} engines: {node: '>= 10.0'} dependencies: source-map: 0.6.1 @@ -6482,12 +7035,12 @@ packages: engines: {node: '>= 10'} dev: true - /click-to-react-component@1.1.0(@types/react@18.2.39)(react-dom@18.1.0)(react@18.1.0): + /click-to-react-component@1.1.0(@types/react@18.2.48)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-/DjZemufS1BkxyRgZL3r7HXVVOFRWVQi5Xd4EBnjxZMwrHEh0OlUVA2N9CjXkZ0x8zMf8dL1cKnnx+xUWUg4VA==} peerDependencies: react: '>=16.8.0' dependencies: - '@floating-ui/react-dom-interactions': 0.3.1(@types/react@18.2.39)(react-dom@18.1.0)(react@18.1.0) + '@floating-ui/react-dom-interactions': 0.3.1(@types/react@18.2.48)(react-dom@18.1.0)(react@18.1.0) htm: 3.1.1 react: 18.1.0 react-merge-refs: 1.1.0 @@ -6536,7 +7089,7 @@ packages: dev: true /clsx@1.2.1: - resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==, tarball: https://registry.npmmirror.com/clsx/-/clsx-1.2.1.tgz} + resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} engines: {node: '>=6'} dev: false @@ -6596,22 +7149,22 @@ packages: dev: true /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, tarball: https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz} + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, tarball: https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz} + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 dev: true /color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, tarball: https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz} + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, tarball: https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz} + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true /color-string@1.9.1: @@ -6684,7 +7237,7 @@ packages: dev: true /commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, tarball: https://registry.npmmirror.com/commander/-/commander-9.5.0.tgz} + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} requiresBuild: true dev: true @@ -6701,8 +7254,12 @@ packages: dot-prop: 5.3.0 dev: true + /compare-versions@6.1.0: + resolution: {integrity: sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==} + dev: false + /compute-scroll-into-view@3.1.0: - resolution: {integrity: sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==, tarball: https://registry.npmmirror.com/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz} + resolution: {integrity: sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==} dev: false /concat-map@0.0.1: @@ -6853,7 +7410,7 @@ packages: dev: true /convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==, tarball: https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz} + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} dev: false /convert-source-map@2.0.0: @@ -6878,22 +7435,22 @@ packages: dev: true /copy-to-clipboard@3.3.3: - resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==, tarball: https://registry.npmmirror.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz} + resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} dependencies: toggle-selection: 1.0.6 - /core-js-pure@3.33.3: - resolution: {integrity: sha512-taJ00IDOP+XYQEA2dAe4ESkmHt1fL8wzYDo3mRWQey8uO9UojlBFMneA65kMyxfYP7106c6LzWaq7/haDT6BCQ==} + /core-js-pure@3.35.1: + resolution: {integrity: sha512-zcIdi/CL3MWbBJYo5YCeVAAx+Sy9yJE9I3/u9LkFABwbeaPhTMRWraM8mYFp9jW5Z50hOy7FVzCc8dCrpZqtIQ==} requiresBuild: true dev: true - /core-js@3.28.0: - resolution: {integrity: sha512-GiZn9D4Z/rSYvTeg1ljAIsEqFm0LaN9gVtwDCrKL80zHtS31p9BAjmTxVqTQDMpwlMolJZOFntUG2uwyj7DAqw==} + /core-js@3.34.0: + resolution: {integrity: sha512-aDdvlDder8QmY91H88GzNi9EtQi2TjvQhpCX6B1v/dAZHU1AuLgHvRh54RiOerpEhEW46Tkf+vgAViB/CWC0ag==} requiresBuild: true dev: true /core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==, tarball: https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz} + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} /cors@2.8.5: resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} @@ -6903,7 +7460,7 @@ packages: vary: 1.1.2 dev: true - /cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.1)(typescript@5.3.2): + /cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.2)(typescript@5.3.3): resolution: {integrity: sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==} engines: {node: '>=v14.21.3'} peerDependencies: @@ -6913,9 +7470,9 @@ packages: typescript: '>=4' dependencies: '@types/node': 20.5.1 - cosmiconfig: 8.3.6(typescript@5.3.2) - ts-node: 10.9.1(@types/node@20.5.1)(typescript@5.3.2) - typescript: 5.3.2 + cosmiconfig: 8.3.6(typescript@5.3.3) + ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.3.3) + typescript: 5.3.3 dev: true /cosmiconfig@7.1.0: @@ -6928,7 +7485,7 @@ packages: path-type: 4.0.0 yaml: 1.10.2 - /cosmiconfig@8.3.6(typescript@5.3.2): + /cosmiconfig@8.3.6(typescript@5.3.3): resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} peerDependencies: @@ -6941,7 +7498,11 @@ packages: js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 - typescript: 5.3.2 + typescript: 5.3.3 + dev: true + + /countup.js@2.8.0: + resolution: {integrity: sha512-f7xEhX0awl4NOElHulrl4XRfKoNH3rB+qfNSZZyjSZhaAoUk6elvhH+MNxMmlmuUJ2/QNTWPSA7U4mNtIAKljQ==} dev: true /create-ecdh@4.0.4: @@ -7033,15 +7594,15 @@ packages: engines: {node: '>=4'} dev: true - /css-blank-pseudo@3.0.3(postcss@8.4.31): + /css-blank-pseudo@3.0.3(postcss@8.4.33): resolution: {integrity: sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==} engines: {node: ^12 || ^14 || >=16} hasBin: true peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.31 - postcss-selector-parser: 6.0.13 + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 dev: true /css-functions-list@3.2.1: @@ -7049,15 +7610,15 @@ packages: engines: {node: '>=12 || >=16'} dev: true - /css-has-pseudo@3.0.4(postcss@8.4.31): + /css-has-pseudo@3.0.4(postcss@8.4.33): resolution: {integrity: sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==} engines: {node: ^12 || ^14 || >=16} hasBin: true peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.31 - postcss-selector-parser: 6.0.13 + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 dev: true /css-loader@6.7.1(webpack@5.89.0): @@ -7066,25 +7627,25 @@ packages: peerDependencies: webpack: ^5.0.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.31) - postcss: 8.4.31 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.31) - postcss-modules-local-by-default: 4.0.3(postcss@8.4.31) - postcss-modules-scope: 3.0.0(postcss@8.4.31) - postcss-modules-values: 4.0.0(postcss@8.4.31) + icss-utils: 5.1.0(postcss@8.4.33) + postcss: 8.4.33 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.33) + postcss-modules-local-by-default: 4.0.4(postcss@8.4.33) + postcss-modules-scope: 3.1.1(postcss@8.4.33) + postcss-modules-values: 4.0.0(postcss@8.4.33) postcss-value-parser: 4.2.0 semver: 7.5.4 webpack: 5.89.0 dev: true - /css-prefers-color-scheme@6.0.3(postcss@8.4.31): + /css-prefers-color-scheme@6.0.3(postcss@8.4.33): resolution: {integrity: sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==} engines: {node: ^12 || ^14 || >=16} hasBin: true peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 dev: true /css-select-base-adapter@0.1.1: @@ -7362,7 +7923,7 @@ packages: dev: true /define-data-property@1.1.1: - resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==, tarball: https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.1.tgz} + resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.2 @@ -7491,7 +8052,7 @@ packages: dev: true /dom-align@1.12.4: - resolution: {integrity: sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==, tarball: https://registry.npmmirror.com/dom-align/-/dom-align-1.12.4.tgz} + resolution: {integrity: sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==} dev: false /dom-converter@0.2.0: @@ -7599,13 +8160,13 @@ packages: engines: {node: '>=12'} dev: true - /dotenv@16.3.1: - resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} + /dotenv@16.3.2: + resolution: {integrity: sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==} engines: {node: '>=12'} dev: true /downloadjs@1.4.7: - resolution: {integrity: sha512-LN1gO7+u9xjU5oEScGFKvXhYf7Y/empUIIEAGBs1LzUq/rg5duiDrkuH5A2lQGd5jfMOb9X9usDa2oVXwJ0U/Q==, tarball: https://registry.npmmirror.com/downloadjs/-/downloadjs-1.4.7.tgz} + resolution: {integrity: sha512-LN1gO7+u9xjU5oEScGFKvXhYf7Y/empUIIEAGBs1LzUq/rg5duiDrkuH5A2lQGd5jfMOb9X9usDa2oVXwJ0U/Q==} dev: false /dumi-afx-deps@1.0.0-alpha.20: @@ -7616,22 +8177,22 @@ packages: resolution: {integrity: sha512-a/Y5lf0G6gwsEQ9hop/n03CcjmHsGBk384Cz/AEX6mRYrfSpUx/lQvP9HLoXkCzScl9PL1sSmLPnMkgaXDCZLA==} dev: true - /dumi@2.2.14(@babel/core@7.23.3)(@types/node@20.5.1)(@types/react@18.2.39)(eslint@8.54.0)(prettier@2.8.8)(react-dom@18.2.0)(react@18.2.0)(stylelint@14.16.1)(typescript@5.3.2)(webpack@5.89.0): - resolution: {integrity: sha512-RM2T5kJvYhOsp0lOwlIUxXtY8YLWKpq2HAQeVUZJj20xqn2UXQuohpAxQhxKvTtzE+k0WE8mEzVShIM/3cW6YA==} + /dumi@2.2.17(@babel/core@7.23.7)(@types/node@20.5.1)(@types/react@18.2.48)(eslint@8.56.0)(prettier@2.8.8)(react-dom@18.2.0)(react@18.2.0)(stylelint@14.16.1)(typescript@5.3.3)(webpack@5.89.0): + resolution: {integrity: sha512-oI2OVlkkVORy0ud64YlhrBF+rsAda9rGFxMLrOLepTjC96mLOrgUz/geKkckWA5LemEuFVsaTYE/5HDpAPTkvQ==} hasBin: true peerDependencies: react: '>=16.8' react-dom: '>=16.8' dependencies: - '@ant-design/icons-svg': 4.3.1 + '@ant-design/icons-svg': 4.3.2 '@makotot/ghostui': 2.0.0(react@18.2.0) '@stackblitz/sdk': 1.9.0 '@swc/core': 1.3.72 - '@types/hast': 2.3.8 + '@types/hast': 2.3.9 '@types/mdast': 3.0.15 - '@umijs/bundler-utils': 4.0.88 - '@umijs/core': 4.0.88 - '@umijs/utils': 4.0.88 + '@umijs/bundler-utils': 4.1.1 + '@umijs/core': 4.1.1 + '@umijs/utils': 4.1.1 animated-scroll-to: 2.3.0 classnames: 2.3.2 codesandbox: 2.2.3 @@ -7668,8 +8229,8 @@ packages: react: 18.2.0 react-copy-to-clipboard: 5.1.0(react@18.2.0) react-dom: 18.2.0(react@18.2.0) - react-error-boundary: 4.0.11(react@18.2.0) - react-intl: 6.5.5(react@18.2.0)(typescript@5.3.2) + react-error-boundary: 4.0.12(react@18.2.0) + react-intl: 6.6.1(react@18.2.0)(typescript@5.3.3) rehype-autolink-headings: 6.1.1 rehype-remove-comments: 5.0.0 rehype-stringify: 9.0.4 @@ -7678,9 +8239,9 @@ packages: remark-gfm: 3.0.1 remark-parse: 10.0.2 remark-rehype: 10.1.0 - sass: 1.69.5 + sass: 1.70.0 sitemap: 7.1.1 - umi: 4.0.88(@babel/core@7.23.3)(@types/node@20.5.1)(@types/react@18.2.39)(eslint@8.54.0)(prettier@2.8.8)(react-dom@18.2.0)(react@18.2.0)(sass@1.69.5)(stylelint@14.16.1)(typescript@5.3.2)(webpack@5.89.0) + umi: 4.1.1(@babel/core@7.23.7)(@types/node@20.5.1)(@types/react@18.2.48)(eslint@8.56.0)(prettier@2.8.8)(react-dom@18.2.0)(react@18.2.0)(sass@1.70.0)(stylelint@14.16.1)(typescript@5.3.3)(webpack@5.89.0) unified: 10.1.2 unist-util-visit: 4.1.2 unist-util-visit-parents: 5.1.3 @@ -7719,7 +8280,7 @@ packages: dev: true /duplexer2@0.1.4: - resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==, tarball: https://registry.npmmirror.com/duplexer2/-/duplexer2-0.1.4.tgz} + resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} dependencies: readable-stream: 2.3.8 dev: false @@ -7738,7 +8299,7 @@ packages: end-of-stream: 1.4.4 inherits: 2.0.4 readable-stream: 2.3.8 - stream-shift: 1.0.1 + stream-shift: 1.0.3 dev: true /duplexify@4.1.2: @@ -7747,7 +8308,7 @@ packages: end-of-stream: 1.4.4 inherits: 2.0.4 readable-stream: 3.6.2 - stream-shift: 1.0.1 + stream-shift: 1.0.3 dev: true /earcut@2.2.4: @@ -7774,8 +8335,8 @@ packages: jake: 10.8.7 dev: true - /electron-to-chromium@1.4.616: - resolution: {integrity: sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==} + /electron-to-chromium@1.4.642: + resolution: {integrity: sha512-M4+u22ZJGpk4RY7tne6W+APkZhnnhmAH48FNl8iEFK2lEgob+U5rUQsIqQhvAwCXYpfd3H20pHK/ENsCvwTbsA==} dev: true /elliptic@6.5.4: @@ -7804,7 +8365,7 @@ packages: dev: true /encoding@0.1.13: - resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==, tarball: https://registry.npmmirror.com/encoding/-/encoding-0.1.13.tgz} + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} dependencies: iconv-lite: 0.6.3 @@ -7837,6 +8398,14 @@ packages: ansi-colors: 4.1.3 dev: true + /enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.3 + strip-ansi: 6.0.1 + dev: true + /entities@2.2.0: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: true @@ -7871,7 +8440,7 @@ packages: dev: true /errno@0.1.8: - resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==, tarball: https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz} + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} hasBin: true requiresBuild: true dependencies: @@ -7880,7 +8449,7 @@ packages: optional: true /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, tarball: https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz} + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 @@ -7920,10 +8489,10 @@ packages: is-weakref: 1.0.2 object-inspect: 1.13.1 object-keys: 1.1.1 - object.assign: 4.1.4 + object.assign: 4.1.5 regexp.prototype.flags: 1.5.1 - safe-array-concat: 1.0.1 - safe-regex-test: 1.0.0 + safe-array-concat: 1.1.0 + safe-regex-test: 1.0.2 string.prototype.trim: 1.2.8 string.prototype.trimend: 1.0.7 string.prototype.trimstart: 1.0.7 @@ -7968,11 +8537,11 @@ packages: has-symbols: 1.0.3 internal-slot: 1.0.6 iterator.prototype: 1.1.2 - safe-array-concat: 1.0.1 + safe-array-concat: 1.1.0 dev: true /es-module-lexer@1.4.1: - resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==, tarball: https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz} + resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} dev: true /es-set-tostringtag@2.0.2: @@ -8002,7 +8571,7 @@ packages: dev: true /es6-promise@4.2.8: - resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==, tarball: https://registry.npmmirror.com/es6-promise/-/es6-promise-4.2.8.tgz} + resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} /es6-promisify@5.0.0: resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} @@ -8076,9 +8645,14 @@ packages: dev: true /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, tarball: https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz} + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} + /escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + dev: true + /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -8088,7 +8662,7 @@ packages: engines: {node: '>=12'} dev: true - /eslint-plugin-jest@27.2.3(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.54.0)(typescript@5.3.2): + /eslint-plugin-jest@27.2.3(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-sRLlSCpICzWuje66Gl9zvdF6mwD5X86I4u55hJyFBsxYOsBCmT5+kSUjf+fkFWVMMgpzNEupjW8WzUqi83hJAQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -8101,24 +8675,24 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.3.2) - '@typescript-eslint/utils': 5.62.0(eslint@8.54.0)(typescript@5.3.2) - eslint: 8.54.0 + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.3.3) + eslint: 8.56.0 transitivePeerDependencies: - supports-color - typescript dev: true - /eslint-plugin-react-hooks@4.6.0(eslint@8.54.0): + /eslint-plugin-react-hooks@4.6.0(eslint@8.56.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.54.0 + eslint: 8.56.0 dev: true - /eslint-plugin-react@7.33.2(eslint@8.54.0): + /eslint-plugin-react@7.33.2(eslint@8.56.0): resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} engines: {node: '>=4'} peerDependencies: @@ -8129,7 +8703,7 @@ packages: array.prototype.tosorted: 1.1.2 doctrine: 2.1.0 es-iterator-helpers: 1.0.15 - eslint: 8.54.0 + eslint: 8.56.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 @@ -8169,16 +8743,16 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.54.0: - resolution: {integrity: sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==} + /eslint@8.56.0: + resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.3 - '@eslint/js': 8.54.0 - '@humanwhocodes/config-array': 0.11.13 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.56.0 + '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.0 @@ -8197,7 +8771,7 @@ packages: file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.23.0 + globals: 13.24.0 graphemer: 1.4.0 ignore: 5.3.0 imurmurhash: 0.1.4 @@ -8220,8 +8794,8 @@ packages: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.11.2 - acorn-jsx: 5.3.2(acorn@8.11.2) + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 3.4.3 dev: true @@ -8326,9 +8900,9 @@ packages: engines: {node: '>=10'} dependencies: cross-spawn: 7.0.3 - get-stream: 6.0.1 + get-stream: 6.0.0 human-signals: 2.1.0 - is-stream: 2.0.1 + is-stream: 2.0.0 merge-stream: 2.0.0 npm-run-path: 4.0.1 onetime: 5.1.2 @@ -8360,7 +8934,7 @@ packages: human-signals: 4.3.1 is-stream: 3.0.0 merge-stream: 2.0.0 - npm-run-path: 5.1.0 + npm-run-path: 5.2.0 onetime: 6.0.0 signal-exit: 3.0.7 strip-final-newline: 3.0.0 @@ -8373,6 +8947,17 @@ packages: os-homedir: 1.0.2 dev: true + /expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + dev: true + /exponential-backoff@3.1.1: resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} dev: true @@ -8445,23 +9030,23 @@ packages: engines: {node: '>= 4.9.1'} dev: true - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.16.0: + resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==} dependencies: reusify: 1.0.4 dev: true - /father@4.3.7(@types/node@20.5.1)(webpack@5.89.0): - resolution: {integrity: sha512-Jr+mUYqvjrTfss9ZFxDB280FdUoj6IUVH12U5ocQKEISzPWewzpGrrassf7gi4ugmJNDP8I/Rzje8uZ90C4OpA==} + /father@4.3.8(@types/node@20.5.1)(webpack@5.89.0): + resolution: {integrity: sha512-uaKzB/UVG3YLBoptvv118U0pCw4iXo4OHHVMCkBlx2vrchO9oVH+tU8DOt3IsnMCOmtQwKo5imKC112R9pRcmw==} hasBin: true dependencies: '@microsoft/api-extractor': 7.36.3(@types/node@20.5.1) - '@umijs/babel-preset-umi': 4.0.88 - '@umijs/bundler-utils': 4.0.88 - '@umijs/bundler-webpack': 4.0.88(typescript@5.0.4)(webpack@5.89.0) + '@umijs/babel-preset-umi': 4.1.1 + '@umijs/bundler-utils': 4.1.1 + '@umijs/bundler-webpack': 4.1.1(typescript@5.0.4)(webpack@5.89.0) '@umijs/case-sensitive-paths-webpack-plugin': 1.0.1 - '@umijs/core': 4.0.88 - '@umijs/utils': 4.0.88 + '@umijs/core': 4.1.1 + '@umijs/utils': 4.1.1 '@vercel/ncc': 0.33.3 babel-plugin-dynamic-import-node: 2.3.3 babel-plugin-module-resolver: 4.1.0 @@ -8504,7 +9089,7 @@ packages: engines: {node: ^12.20 || >= 14.13} dependencies: node-domexception: 1.0.0 - web-streams-polyfill: 3.2.1 + web-streams-polyfill: 3.3.2 dev: true /figures@2.0.0: @@ -8600,7 +9185,7 @@ packages: dev: true /find-root@1.1.0: - resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==, tarball: https://registry.npmmirror.com/find-root/-/find-root-1.1.0.tgz} + resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} dev: false /find-up@2.1.0: @@ -8666,14 +9251,14 @@ packages: dev: true /flv.js@1.6.2: - resolution: {integrity: sha512-xre4gUbX1MPtgQRKj2pxJENp/RnaHaxYvy3YToVVCrSmAWUu85b9mug6pTXF6zakUjNP2lFWZ1rkSX7gxhB/2A==, tarball: https://registry.npmmirror.com/flv.js/-/flv.js-1.6.2.tgz} + resolution: {integrity: sha512-xre4gUbX1MPtgQRKj2pxJENp/RnaHaxYvy3YToVVCrSmAWUu85b9mug6pTXF6zakUjNP2lFWZ1rkSX7gxhB/2A==} dependencies: es6-promise: 4.2.8 webworkify-webpack: 2.1.5 dev: false - /follow-redirects@1.15.3: - resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} + /follow-redirects@1.15.5: + resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -8711,7 +9296,7 @@ packages: typescript: '>3.6.0' webpack: ^5.11.0 dependencies: - '@babel/code-frame': 7.23.4 + '@babel/code-frame': 7.23.5 chalk: 4.1.2 chokidar: 3.5.3 cosmiconfig: 7.1.0 @@ -8727,14 +9312,14 @@ packages: webpack: 5.89.0 dev: true - /fork-ts-checker-webpack-plugin@8.0.0(typescript@5.3.2)(webpack@5.89.0): + /fork-ts-checker-webpack-plugin@8.0.0(typescript@5.3.3)(webpack@5.89.0): resolution: {integrity: sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==} engines: {node: '>=12.13.0', yarn: '>=1.0.0'} peerDependencies: typescript: '>3.6.0' webpack: ^5.11.0 dependencies: - '@babel/code-frame': 7.23.4 + '@babel/code-frame': 7.23.5 chalk: 4.1.2 chokidar: 3.5.3 cosmiconfig: 7.1.0 @@ -8746,7 +9331,7 @@ packages: schema-utils: 3.3.0 semver: 7.5.4 tapable: 2.2.1 - typescript: 5.3.2 + typescript: 5.3.3 webpack: 5.89.0 dev: true @@ -8876,7 +9461,7 @@ packages: dev: true /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, tarball: https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz} + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true @@ -8884,7 +9469,7 @@ packages: optional: true /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, tarball: https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz} + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} /function.prototype.name@1.1.6: resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} @@ -8902,7 +9487,7 @@ packages: resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: - aproba: 1.2.0 + aproba: 2.0.0 color-support: 1.1.3 console-control-strings: 1.1.0 has-unicode: 2.0.1 @@ -8943,7 +9528,7 @@ packages: dev: true /get-intrinsic@1.2.2: - resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==, tarball: https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz} + resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} dependencies: function-bind: 1.1.2 has-proto: 1.0.1 @@ -9121,7 +9706,7 @@ packages: dev: true /glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==, tarball: https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz} + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} dev: true /glob@10.3.10: @@ -9225,8 +9810,8 @@ packages: engines: {node: '>=4'} dev: true - /globals@13.23.0: - resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -9266,7 +9851,7 @@ packages: dev: true /gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==, tarball: https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz} + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: get-intrinsic: 1.2.2 @@ -9335,25 +9920,25 @@ packages: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} /has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, tarball: https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz} + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, tarball: https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz} + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} dev: true /has-property-descriptors@1.0.1: - resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==, tarball: https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz} + resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} dependencies: get-intrinsic: 1.2.2 /has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==, tarball: https://registry.npmmirror.com/has-proto/-/has-proto-1.0.1.tgz} + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} engines: {node: '>= 0.4'} /has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==, tarball: https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz} + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} /has-tostringtag@1.0.0: @@ -9397,7 +9982,7 @@ packages: dev: true /hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==, tarball: https://registry.npmmirror.com/hasown/-/hasown-2.0.0.tgz} + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 @@ -9405,7 +9990,7 @@ packages: /hast-util-from-parse5@7.1.2: resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==} dependencies: - '@types/hast': 2.3.8 + '@types/hast': 2.3.9 '@types/unist': 2.0.10 hastscript: 7.2.0 property-information: 6.4.0 @@ -9421,32 +10006,32 @@ packages: /hast-util-heading-rank@2.1.1: resolution: {integrity: sha512-iAuRp+ESgJoRFJbSyaqsfvJDY6zzmFoEnL1gtz1+U8gKtGGj1p0CVlysuUAUjq95qlZESHINLThwJzNGmgGZxA==} dependencies: - '@types/hast': 2.3.8 + '@types/hast': 2.3.9 dev: true /hast-util-is-conditional-comment@2.0.0: resolution: {integrity: sha512-U66gW8ZWQdxP4ZjTEZ3xZT72y6rIKJqV4At5QmC1ItBbQyZyVkuTp8QkQwhxsbkHdzpifiZdQWrDipc9ByqhRg==} dependencies: - '@types/hast': 2.3.8 + '@types/hast': 2.3.9 dev: true /hast-util-is-element@2.1.3: resolution: {integrity: sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA==} dependencies: - '@types/hast': 2.3.8 + '@types/hast': 2.3.9 '@types/unist': 2.0.10 dev: true /hast-util-parse-selector@3.1.1: resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==} dependencies: - '@types/hast': 2.3.8 + '@types/hast': 2.3.9 dev: true /hast-util-raw@7.2.3: resolution: {integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==} dependencies: - '@types/hast': 2.3.8 + '@types/hast': 2.3.9 '@types/parse5': 6.0.3 hast-util-from-parse5: 7.1.2 hast-util-to-parse5: 7.1.0 @@ -9462,7 +10047,7 @@ packages: /hast-util-raw@8.0.0: resolution: {integrity: sha512-bKbaUxMNLjZMMowgcrc4l3aQSPiMLiceZD+mp+AKF8Si0mtyR2DYVdxzS2XBxXYDeW/VvfZy40lNxHRiY6MMTg==} dependencies: - '@types/hast': 2.3.8 + '@types/hast': 2.3.9 extend: 3.0.2 hast-util-from-parse5: 7.1.2 hast-util-to-parse5: 7.1.0 @@ -9481,7 +10066,7 @@ packages: dependencies: '@types/estree': 1.0.5 '@types/estree-jsx': 1.0.3 - '@types/hast': 2.3.8 + '@types/hast': 2.3.9 '@types/unist': 2.0.10 comma-separated-tokens: 2.0.3 estree-util-attach-comments: 2.1.1 @@ -9501,7 +10086,7 @@ packages: /hast-util-to-html@8.0.4: resolution: {integrity: sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==} dependencies: - '@types/hast': 2.3.8 + '@types/hast': 2.3.9 '@types/unist': 2.0.10 ccount: 2.0.1 comma-separated-tokens: 2.0.3 @@ -9517,7 +10102,7 @@ packages: /hast-util-to-parse5@7.1.0: resolution: {integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==} dependencies: - '@types/hast': 2.3.8 + '@types/hast': 2.3.9 comma-separated-tokens: 2.0.3 property-information: 6.4.0 space-separated-tokens: 2.0.2 @@ -9528,7 +10113,7 @@ packages: /hast-util-to-string@2.0.0: resolution: {integrity: sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==} dependencies: - '@types/hast': 2.3.8 + '@types/hast': 2.3.9 dev: true /hast-util-whitespace@2.0.1: @@ -9538,7 +10123,7 @@ packages: /hastscript@7.2.0: resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==} dependencies: - '@types/hast': 2.3.8 + '@types/hast': 2.3.9 comma-separated-tokens: 2.0.3 hast-util-parse-selector: 3.1.1 property-information: 6.4.0 @@ -9563,7 +10148,7 @@ packages: /history@5.3.0: resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==} dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 dev: true /hmac-drbg@1.0.1: @@ -9575,7 +10160,7 @@ packages: dev: true /hoist-non-react-statics@3.3.2: - resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==, tarball: https://registry.npmmirror.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz} + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} dependencies: react-is: 16.13.1 @@ -9611,6 +10196,13 @@ packages: lru-cache: 7.18.3 dev: true + /hosted-git-info@7.0.1: + resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + lru-cache: 10.1.0 + dev: true + /hpack.js@2.1.6: resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} dependencies: @@ -9634,12 +10226,12 @@ packages: hasBin: true dependencies: camel-case: 4.1.2 - clean-css: 5.3.2 + clean-css: 5.3.3 commander: 8.3.0 he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.24.0 + terser: 5.27.0 dev: true /html-tags@3.3.1: @@ -9659,7 +10251,7 @@ packages: dev: true /html-tokenize@2.0.1: - resolution: {integrity: sha512-QY6S+hZ0f5m1WT8WffYN+Hg+xm/w5I8XeUcAq/ZYP5wVC8xbKi4Whhru3FtrAebD5EhBW8rmFzkDI6eCAuFe2w==, tarball: https://registry.npmmirror.com/html-tokenize/-/html-tokenize-2.0.1.tgz} + resolution: {integrity: sha512-QY6S+hZ0f5m1WT8WffYN+Hg+xm/w5I8XeUcAq/ZYP5wVC8xbKi4Whhru3FtrAebD5EhBW8rmFzkDI6eCAuFe2w==} hasBin: true dependencies: buffer-from: 0.1.2 @@ -9752,6 +10344,16 @@ packages: - supports-color dev: true + /http-proxy-agent@7.0.0: + resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + /https-browserify@1.0.0: resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} dev: true @@ -9776,6 +10378,16 @@ packages: - supports-color dev: true + /https-proxy-agent@7.0.2: + resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + /human-id@1.0.2: resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} dev: true @@ -9814,19 +10426,18 @@ packages: dev: true /iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==, tarball: https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz} + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} - requiresBuild: true dependencies: safer-buffer: 2.1.2 - /icss-utils@5.1.0(postcss@8.4.31): + /icss-utils@5.1.0(postcss@8.4.33): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 dev: true /identity-obj-proxy@3.0.0: @@ -9851,8 +10462,8 @@ packages: minimatch: 5.1.6 dev: true - /ignore-walk@6.0.3: - resolution: {integrity: sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==} + /ignore-walk@6.0.4: + resolution: {integrity: sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: minimatch: 9.0.3 @@ -9864,7 +10475,7 @@ packages: dev: true /image-size@0.5.5: - resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==, tarball: https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz} + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} engines: {node: '>=0.10.0'} hasBin: true requiresBuild: true @@ -9888,7 +10499,7 @@ packages: dev: true /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, tarball: https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz} + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} dependencies: parent-module: 1.0.1 @@ -9923,10 +10534,6 @@ packages: engines: {node: '>=8'} dev: true - /infer-owner@1.0.4: - resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} - dev: true - /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: @@ -9935,11 +10542,11 @@ packages: dev: true /inherits@2.0.3: - resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==, tarball: https://registry.npmmirror.com/inherits/-/inherits-2.0.3.tgz} + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} dev: true /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, tarball: https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz} + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} /ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} @@ -10014,12 +10621,12 @@ packages: resolution: {integrity: sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==} dev: false - /intl-messageformat@10.5.8: - resolution: {integrity: sha512-NRf0jpBWV0vd671G5b06wNofAN8tp7WWDogMZyaU8GUAsmbouyvgwmFJI7zLjfAMpm3zK+vSwRP3jzaoIcMbaA==} + /intl-messageformat@10.5.10: + resolution: {integrity: sha512-3yzwX6t/my9WRtNiqP05r+/UkpWxwstQiwaHAiuHmDRt7ykzWJ+nceOVjNLZYYWGiSltY+C+Likd8OIVkASepw==} dependencies: - '@formatjs/ecma402-abstract': 1.18.0 + '@formatjs/ecma402-abstract': 1.18.2 '@formatjs/fast-memoize': 2.2.0 - '@formatjs/icu-messageformat-parser': 2.7.3 + '@formatjs/icu-messageformat-parser': 2.7.5 tslib: 2.6.2 dev: true @@ -10063,10 +10670,10 @@ packages: is-typed-array: 1.1.12 /is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, tarball: https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz} + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} /is-arrayish@0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==, tarball: https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.3.2.tgz} + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} dev: true /is-arrow-function@2.0.3: @@ -10130,7 +10737,7 @@ packages: dev: true /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==, tarball: https://registry.npmmirror.com/is-core-module/-/is-core-module-2.13.1.tgz} + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: hasown: 2.0.0 @@ -10359,7 +10966,7 @@ packages: dev: true /is-stream@1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==, tarball: https://registry.npmmirror.com/is-stream/-/is-stream-1.1.0.tgz} + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} engines: {node: '>=0.10.0'} /is-stream@2.0.0: @@ -10457,18 +11064,23 @@ packages: dev: true /isarray@0.0.1: - resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==, tarball: https://registry.npmmirror.com/isarray/-/isarray-0.0.1.tgz} + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} /isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==, tarball: https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz} + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} /isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==, tarball: https://registry.npmmirror.com/isarray/-/isarray-2.0.5.tgz} + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true + /isexe@3.1.1: + resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} + engines: {node: '>=16'} + dev: true + /isobject@2.1.0: resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} engines: {node: '>=0.10.0'} @@ -10482,7 +11094,7 @@ packages: dev: true /isomorphic-fetch@2.2.1: - resolution: {integrity: sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==, tarball: https://registry.npmmirror.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz} + resolution: {integrity: sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==} dependencies: node-fetch: 1.7.3 whatwg-fetch: 3.6.20 @@ -10504,7 +11116,7 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.23.3 + '@babel/core': 7.23.7 '@babel/parser': 7.23.6 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 @@ -10562,6 +11174,18 @@ packages: pretty-format: 29.7.0 dev: true + /jest-environment-node@27.5.1: + resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 20.11.5 + jest-mock: 27.5.1 + jest-util: 27.5.1 + dev: true + /jest-get-type@29.6.3: resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -10573,7 +11197,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 20.10.0 + '@types/node': 20.11.5 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -10586,17 +11210,77 @@ packages: fsevents: 2.3.3 dev: true + /jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + dev: true + + /jest-message-util@27.5.1: + resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@babel/code-frame': 7.23.5 + '@jest/types': 27.5.1 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + pretty-format: 27.5.1 + slash: 3.0.0 + stack-utils: 2.0.6 + dev: true + + /jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/code-frame': 7.23.5 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + dev: true + + /jest-mock@27.5.1: + resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@types/node': 20.11.5 + dev: true + /jest-regex-util@29.6.3: resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true + /jest-util@27.5.1: + resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@types/node': 20.11.5 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + dev: true + /jest-util@29.7.0: resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.10.0 + '@types/node': 20.11.5 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -10604,10 +11288,10 @@ packages: dev: true /jest-worker@27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==, tarball: https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz} + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.10.0 + '@types/node': 20.11.5 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -10616,7 +11300,7 @@ packages: resolution: {integrity: sha512-GLHN/GTAAMEy5BFdvpUfzr9Dr80zQqBrh0fz1mtRMe05hqP45+HfQltu7oTBfduD0UeZs09d+maFtFYAXFWvAA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.10.0 + '@types/node': 20.11.5 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -10626,7 +11310,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.10.0 + '@types/node': 20.11.5 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -10673,10 +11357,10 @@ packages: dev: true /json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==, tarball: https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz} + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} /json-parse-even-better-errors@3.0.1: - resolution: {integrity: sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==, tarball: https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz} + resolution: {integrity: sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true @@ -10697,7 +11381,7 @@ packages: dev: true /json2mq@0.2.0: - resolution: {integrity: sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==, tarball: https://registry.npmmirror.com/json2mq/-/json2mq-0.2.0.tgz} + resolution: {integrity: sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==} dependencies: string-convert: 0.2.1 dev: false @@ -10747,7 +11431,7 @@ packages: engines: {node: '>=4.0'} dependencies: array-includes: 3.1.7 - object.assign: 4.1.4 + object.assign: 4.1.5 dev: false /jsx-ast-utils@3.3.5: @@ -10756,7 +11440,7 @@ packages: dependencies: array-includes: 3.1.7 array.prototype.flat: 1.3.2 - object.assign: 4.1.4 + object.assign: 4.1.5 object.values: 1.1.7 dev: true @@ -10816,14 +11500,14 @@ packages: resolution: {integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==} dev: true - /lerna@8.0.0: - resolution: {integrity: sha512-Ddshct9hJrujtR7t2cAIiiiKnQCKiTvR/Ki3KhzpBNVepYtWq+dg+HxArZrezF+sYxI+OCxL00BxDHY4/H4uGg==} + /lerna@8.0.2: + resolution: {integrity: sha512-nnOIGI5V5Af9gfraNcMVoV1Fry/y7/h3nCQYk0/CMzBYDD+xbNL3DH8+c82AJkNR5ABslmpXjW4DLJ11/1b3CQ==} engines: {node: '>=18.0.0'} hasBin: true dependencies: - '@lerna/create': 8.0.0(typescript@5.3.2) - '@npmcli/run-script': 6.0.2 - '@nx/devkit': 17.1.3(nx@17.1.3) + '@lerna/create': 8.0.2(typescript@5.3.3) + '@npmcli/run-script': 7.0.2 + '@nx/devkit': 17.2.8(nx@17.2.8) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 19.0.11 byte-size: 8.1.1 @@ -10834,7 +11518,7 @@ packages: conventional-changelog-angular: 7.0.0 conventional-changelog-core: 5.0.1 conventional-recommended-bump: 7.0.1 - cosmiconfig: 8.3.6(typescript@5.3.2) + cosmiconfig: 8.3.6(typescript@5.3.3) dedent: 0.7.0 envinfo: 7.8.1 execa: 5.0.0 @@ -10866,14 +11550,14 @@ packages: npm-packlist: 5.1.1 npm-registry-fetch: 14.0.5 npmlog: 6.0.2 - nx: 17.1.3 + nx: 17.2.8 p-map: 4.0.0 p-map-series: 2.1.0 p-pipe: 3.1.0 p-queue: 6.6.2 p-reduce: 2.1.0 p-waterfall: 2.1.1 - pacote: 15.2.0 + pacote: 17.0.6 pify: 5.0.0 read-cmd-shim: 4.0.0 read-package-json: 6.0.4 @@ -10886,7 +11570,7 @@ packages: strong-log-transformer: 2.1.0 tar: 6.1.11 temp-dir: 1.0.0 - typescript: 5.3.2 + typescript: 5.3.3 upath: 2.0.1 uuid: 9.0.1 validate-npm-package-license: 3.0.4 @@ -10904,8 +11588,8 @@ packages: - supports-color dev: true - /less-plugin-resolve@1.0.0: - resolution: {integrity: sha512-offjRh1TfGsTgK0cqpl+RXFB0TFL6rPWy0yhCLhqhSEdWGVQp28K7wZ/ceUrRmWfZ5CSckYMe/KI+ViwaPLljQ==} + /less-plugin-resolve@1.0.2: + resolution: {integrity: sha512-e1AHq0XNTU8S3d9JCc8CFYajoUBr0EK3pcuLT5PogyBBeE0knzZJL105kKKSZWfq2lQLq3/uEDrMK3JPq+fHaA==} dependencies: enhanced-resolve: 5.15.0 dev: true @@ -10924,10 +11608,8 @@ packages: image-size: 0.5.5 make-dir: 2.1.0 mime: 1.6.0 - needle: 3.2.0 + needle: 3.3.1 source-map: 0.6.1 - transitivePeerDependencies: - - supports-color dev: true /levn@0.4.1: @@ -10970,8 +11652,8 @@ packages: immediate: 3.0.6 dev: false - /lightningcss-darwin-arm64@1.19.0: - resolution: {integrity: sha512-wIJmFtYX0rXHsXHSr4+sC5clwblEMji7HHQ4Ub1/CznVRxtCFha6JIt5JZaNf8vQrfdZnBxLLC6R8pC818jXqg==, tarball: https://registry.npmmirror.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.19.0.tgz} + /lightningcss-darwin-arm64@1.22.1: + resolution: {integrity: sha512-ldvElu+R0QimNTjsKpaZkUv3zf+uefzLy/R1R19jtgOfSRM+zjUCUgDhfEDRmVqJtMwYsdhMI2aJtJChPC6Osg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] @@ -10979,8 +11661,8 @@ packages: dev: true optional: true - /lightningcss-darwin-x64@1.19.0: - resolution: {integrity: sha512-Lif1wD6P4poaw9c/4Uh2z+gmrWhw/HtXFoeZ3bEsv6Ia4tt8rOJBdkfVaUJ6VXmpKHALve+iTyP2+50xY1wKPw==, tarball: https://registry.npmmirror.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.19.0.tgz} + /lightningcss-darwin-x64@1.22.1: + resolution: {integrity: sha512-5p2rnlVTv6Gpw4PlTLq925nTVh+HFh4MpegX8dPDYJae+NFVjQ67gY7O6iHIzQjLipDiYejFF0yHrhjU3XgLBQ==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] @@ -10988,8 +11670,17 @@ packages: dev: true optional: true - /lightningcss-linux-arm-gnueabihf@1.19.0: - resolution: {integrity: sha512-P15VXY5682mTXaiDtbnLYQflc8BYb774j2R84FgDLJTN6Qp0ZjWEFyN1SPqyfTj2B2TFjRHRUvQSSZ7qN4Weig==, tarball: https://registry.npmmirror.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.19.0.tgz} + /lightningcss-freebsd-x64@1.22.1: + resolution: {integrity: sha512-1FaBtcFrZqB2hkFbAxY//Pnp8koThvyB6AhjbdVqKD4/pu13Rl91fKt2N9qyeQPUt3xy7ORUvSO+dPk3J6EjXg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-arm-gnueabihf@1.22.1: + resolution: {integrity: sha512-6rub98tYGfE5I5j0BP8t/2d4BZyu1S7Iz9vUkm0H26snAFHYxLfj3RbQn0xHHIePSetjLnhcg3QlfwUAkD/FYg==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] @@ -10997,8 +11688,8 @@ packages: dev: true optional: true - /lightningcss-linux-arm64-gnu@1.19.0: - resolution: {integrity: sha512-zwXRjWqpev8wqO0sv0M1aM1PpjHz6RVIsBcxKszIG83Befuh4yNysjgHVplF9RTU7eozGe3Ts7r6we1+Qkqsww==, tarball: https://registry.npmmirror.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.19.0.tgz} + /lightningcss-linux-arm64-gnu@1.22.1: + resolution: {integrity: sha512-nYO5qGtb/1kkTZu3FeTiM+2B2TAb7m2DkLCTgQIs2bk2o9aEs7I96fwySKcoHWQAiQDGR9sMux9vkV4KQXqPaQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] @@ -11007,8 +11698,8 @@ packages: dev: true optional: true - /lightningcss-linux-arm64-musl@1.19.0: - resolution: {integrity: sha512-vSCKO7SDnZaFN9zEloKSZM5/kC5gbzUjoJQ43BvUpyTFUX7ACs/mDfl2Eq6fdz2+uWhUh7vf92c4EaaP4udEtA==, tarball: https://registry.npmmirror.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.19.0.tgz} + /lightningcss-linux-arm64-musl@1.22.1: + resolution: {integrity: sha512-MCV6RuRpzXbunvzwY644iz8cw4oQxvW7oer9xPkdadYqlEyiJJ6wl7FyJOH7Q6ZYH4yjGAUCvxDBxPbnDu9ZVg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] @@ -11017,8 +11708,8 @@ packages: dev: true optional: true - /lightningcss-linux-x64-gnu@1.19.0: - resolution: {integrity: sha512-0AFQKvVzXf9byrXUq9z0anMGLdZJS+XSDqidyijI5njIwj6MdbvX2UZK/c4FfNmeRa2N/8ngTffoIuOUit5eIQ==, tarball: https://registry.npmmirror.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.19.0.tgz} + /lightningcss-linux-x64-gnu@1.22.1: + resolution: {integrity: sha512-RjNgpdM20VUXgV7us/VmlO3Vn2ZRiDnc3/bUxCVvySZWPiVPprpqW/QDWuzkGa+NCUf6saAM5CLsZLSxncXJwg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] @@ -11027,8 +11718,8 @@ packages: dev: true optional: true - /lightningcss-linux-x64-musl@1.19.0: - resolution: {integrity: sha512-SJoM8CLPt6ECCgSuWe+g0qo8dqQYVcPiW2s19dxkmSI5+Uu1GIRzyKA0b7QqmEXolA+oSJhQqCmJpzjY4CuZAg==, tarball: https://registry.npmmirror.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.19.0.tgz} + /lightningcss-linux-x64-musl@1.22.1: + resolution: {integrity: sha512-ZgO4C7Rd6Hv/5MnyY2KxOYmIlzk4rplVolDt3NbkNR8DndnyX0Q5IR4acJWNTBICQ21j3zySzKbcJaiJpk/4YA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] @@ -11037,8 +11728,8 @@ packages: dev: true optional: true - /lightningcss-win32-x64-msvc@1.19.0: - resolution: {integrity: sha512-C+VuUTeSUOAaBZZOPT7Etn/agx/MatzJzGRkeV+zEABmPuntv1zihncsi+AyGmjkkzq3wVedEy7h0/4S84mUtg==, tarball: https://registry.npmmirror.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.19.0.tgz} + /lightningcss-win32-x64-msvc@1.22.1: + resolution: {integrity: sha512-4pozV4eyD0MDET41ZLHAeBo+H04Nm2UEYIk5w/ts40231dRFV7E0cjwbnZvSoc1DXFgecAhiC0L16ruv/ZDCpg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] @@ -11046,20 +11737,21 @@ packages: dev: true optional: true - /lightningcss@1.19.0: - resolution: {integrity: sha512-yV5UR7og+Og7lQC+70DA7a8ta1uiOPnWPJfxa0wnxylev5qfo4P+4iMpzWAdYWOca4jdNQZii+bDL/l+4hUXIA==} + /lightningcss@1.22.1: + resolution: {integrity: sha512-Fy45PhibiNXkm0cK5FJCbfO8Y6jUpD/YcHf/BtuI+jvYYqSXKF4muk61jjE8YxCR9y+hDYIWSzHTc+bwhDE6rQ==} engines: {node: '>= 12.0.0'} dependencies: detect-libc: 1.0.3 optionalDependencies: - lightningcss-darwin-arm64: 1.19.0 - lightningcss-darwin-x64: 1.19.0 - lightningcss-linux-arm-gnueabihf: 1.19.0 - lightningcss-linux-arm64-gnu: 1.19.0 - lightningcss-linux-arm64-musl: 1.19.0 - lightningcss-linux-x64-gnu: 1.19.0 - lightningcss-linux-x64-musl: 1.19.0 - lightningcss-win32-x64-msvc: 1.19.0 + lightningcss-darwin-arm64: 1.22.1 + lightningcss-darwin-x64: 1.22.1 + lightningcss-freebsd-x64: 1.22.1 + lightningcss-linux-arm-gnueabihf: 1.22.1 + lightningcss-linux-arm64-gnu: 1.22.1 + lightningcss-linux-arm64-musl: 1.22.1 + lightningcss-linux-x64-gnu: 1.22.1 + lightningcss-linux-x64-musl: 1.22.1 + lightningcss-win32-x64-msvc: 1.22.1 dev: true /lilconfig@2.1.0: @@ -11068,7 +11760,7 @@ packages: dev: true /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, tarball: https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz} + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} /lines-and-columns@2.0.4: resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==} @@ -11108,7 +11800,7 @@ packages: colorette: 2.0.20 eventemitter3: 5.0.1 log-update: 5.0.1 - rfdc: 1.3.0 + rfdc: 1.3.1 wrap-ansi: 8.1.0 dev: true @@ -11148,7 +11840,7 @@ packages: dev: true /loader-runner@4.3.0: - resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==, tarball: https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz} + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} dev: true @@ -11355,7 +12047,6 @@ packages: /make-dir@2.1.0: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} engines: {node: '>=6'} - requiresBuild: true dependencies: pify: 4.0.1 semver: 5.7.2 @@ -11372,31 +12063,6 @@ packages: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: true - /make-fetch-happen@10.2.1: - resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - agentkeepalive: 4.5.0 - cacache: 16.1.3 - http-cache-semantics: 4.1.1 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - is-lambda: 1.0.1 - lru-cache: 7.18.3 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-fetch: 2.1.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 0.6.3 - promise-retry: 2.0.1 - socks-proxy-agent: 7.0.0 - ssri: 9.0.1 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true - /make-fetch-happen@11.1.1: resolution: {integrity: sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -11420,6 +12086,25 @@ packages: - supports-color dev: true + /make-fetch-happen@13.0.0: + resolution: {integrity: sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@npmcli/agent': 2.2.0 + cacache: 18.0.2 + http-cache-semantics: 4.1.1 + is-lambda: 1.0.1 + minipass: 7.0.4 + minipass-fetch: 3.0.4 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + negotiator: 0.6.3 + promise-retry: 2.0.1 + ssri: 10.0.5 + transitivePeerDependencies: + - supports-color + dev: true + /make-fetch-happen@2.6.0: resolution: {integrity: sha512-FFq0lNI0ax+n9IWzWpH8A4JdgYiAp2DDYIZ3rsaav8JDe8I+72CzK6PQW/oom15YDZpV5bYW/9INd6nIJ2ZfZw==} dependencies: @@ -11588,7 +12273,7 @@ packages: resolution: {integrity: sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==} dependencies: '@types/estree-jsx': 1.0.3 - '@types/hast': 2.3.8 + '@types/hast': 2.3.9 '@types/mdast': 3.0.15 mdast-util-from-markdown: 1.3.1 mdast-util-to-markdown: 1.5.0 @@ -11600,7 +12285,7 @@ packages: resolution: {integrity: sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==} dependencies: '@types/estree-jsx': 1.0.3 - '@types/hast': 2.3.8 + '@types/hast': 2.3.9 '@types/mdast': 3.0.15 mdast-util-from-markdown: 1.3.1 mdast-util-to-markdown: 1.5.0 @@ -11618,7 +12303,7 @@ packages: /mdast-util-to-hast@12.3.0: resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} dependencies: - '@types/hast': 2.3.8 + '@types/hast': 2.3.9 '@types/mdast': 3.0.15 mdast-util-definitions: 5.1.2 micromark-util-sanitize-uri: 1.2.0 @@ -12020,7 +12705,7 @@ packages: dev: true /mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==, tarball: https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz} + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} hasBin: true requiresBuild: true @@ -12104,7 +12789,7 @@ packages: dev: true /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, tarball: https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz} + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} /minipass-collect@1.0.2: resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} @@ -12113,15 +12798,11 @@ packages: minipass: 3.3.6 dev: true - /minipass-fetch@2.1.2: - resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + /minipass-collect@2.0.1: + resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: - minipass: 3.3.6 - minipass-sized: 1.0.3 - minizlib: 2.1.2 - optionalDependencies: - encoding: 0.1.13 + minipass: 7.0.4 dev: true /minipass-fetch@3.0.4: @@ -12287,7 +12968,7 @@ packages: dev: true /multipipe@1.0.2: - resolution: {integrity: sha512-6uiC9OvY71vzSGX8lZvSqscE7ft9nPupJ8fMjrCNRAUy2LREUW42UL+V/NTrogr6rFgRydUrCX4ZitfpSNkSCQ==, tarball: https://registry.npmmirror.com/multipipe/-/multipipe-1.0.2.tgz} + resolution: {integrity: sha512-6uiC9OvY71vzSGX8lZvSqscE7ft9nPupJ8fMjrCNRAUy2LREUW42UL+V/NTrogr6rFgRydUrCX4ZitfpSNkSCQ==} dependencies: duplexer2: 0.1.4 object-assign: 4.1.1 @@ -12324,17 +13005,14 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true - /needle@3.2.0: - resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==, tarball: https://registry.npmmirror.com/needle/-/needle-3.2.0.tgz} + /needle@3.3.1: + resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==} engines: {node: '>= 4.4.x'} hasBin: true requiresBuild: true dependencies: - debug: 3.2.7 iconv-lite: 0.6.3 sax: 1.3.0 - transitivePeerDependencies: - - supports-color dev: true optional: true @@ -12374,7 +13052,7 @@ packages: dev: true /node-fetch@1.7.3: - resolution: {integrity: sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==, tarball: https://registry.npmmirror.com/node-fetch/-/node-fetch-1.7.3.tgz} + resolution: {integrity: sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==} dependencies: encoding: 0.1.13 is-stream: 1.1.0 @@ -12393,7 +13071,7 @@ packages: dev: true /node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==, tarball: https://registry.npmmirror.com/node-fetch/-/node-fetch-3.3.2.tgz} + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: data-uri-to-buffer: 4.0.1 @@ -12401,24 +13079,22 @@ packages: formdata-polyfill: 4.0.10 dev: true - /node-gyp@9.4.1: - resolution: {integrity: sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ==} - engines: {node: ^12.13 || ^14.13 || >=16} + /node-gyp@10.0.1: + resolution: {integrity: sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==} + engines: {node: ^16.14.0 || >=18.0.0} hasBin: true dependencies: env-paths: 2.2.1 exponential-backoff: 3.1.1 - glob: 7.2.3 + glob: 10.3.10 graceful-fs: 4.2.11 - make-fetch-happen: 10.2.1 - nopt: 6.0.0 - npmlog: 6.0.2 - rimraf: 3.0.2 + make-fetch-happen: 13.0.0 + nopt: 7.2.0 + proc-log: 3.0.0 semver: 7.5.4 - tar: 6.2.0 - which: 2.0.2 + tar: 6.1.11 + which: 4.0.0 transitivePeerDependencies: - - bluebird - supports-color dev: true @@ -12462,12 +13138,12 @@ packages: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} dev: true - /nopt@6.0.0: - resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + /nopt@7.2.0: + resolution: {integrity: sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dependencies: - abbrev: 1.1.1 + abbrev: 2.0.0 dev: true /normalize-package-data@2.5.0: @@ -12499,6 +13175,16 @@ packages: validate-npm-package-license: 3.0.4 dev: true + /normalize-package-data@6.0.0: + resolution: {integrity: sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + hosted-git-info: 7.0.1 + is-core-module: 2.13.1 + semver: 7.5.4 + validate-npm-package-license: 3.0.4 + dev: true + /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -12509,6 +13195,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /normalize-wheel@1.0.1: + resolution: {integrity: sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA==} + dev: false + /npm-bundled@1.1.2: resolution: {integrity: sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==} dependencies: @@ -12548,6 +13238,16 @@ packages: validate-npm-package-name: 5.0.0 dev: true + /npm-package-arg@11.0.1: + resolution: {integrity: sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + hosted-git-info: 7.0.1 + proc-log: 3.0.0 + semver: 7.5.4 + validate-npm-package-name: 5.0.0 + dev: true + /npm-package-arg@5.1.2: resolution: {integrity: sha512-wJBsrf0qpypPT7A0LART18hCdyhpCMxeTtcb0X4IZO2jsP6Om7EHN1d9KSKiqD+KVH030RVNpWS9thk+pb7wzA==} dependencies: @@ -12577,11 +13277,11 @@ packages: npm-normalize-package-bin: 1.0.1 dev: true - /npm-packlist@7.0.4: - resolution: {integrity: sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==} + /npm-packlist@8.0.2: + resolution: {integrity: sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - ignore-walk: 6.0.3 + ignore-walk: 6.0.4 dev: true /npm-pick-manifest@1.0.4: @@ -12591,13 +13291,13 @@ packages: semver: 5.7.2 dev: true - /npm-pick-manifest@8.0.2: - resolution: {integrity: sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + /npm-pick-manifest@9.0.0: + resolution: {integrity: sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==} + engines: {node: ^16.14.0 || >=18.0.0} dependencies: npm-install-checks: 6.3.0 npm-normalize-package-bin: 3.0.1 - npm-package-arg: 10.1.0 + npm-package-arg: 11.0.1 semver: 7.5.4 dev: true @@ -12616,6 +13316,21 @@ packages: - supports-color dev: true + /npm-registry-fetch@16.1.0: + resolution: {integrity: sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + make-fetch-happen: 13.0.0 + minipass: 7.0.4 + minipass-fetch: 3.0.4 + minipass-json-stream: 1.0.1 + minizlib: 2.1.2 + npm-package-arg: 11.0.1 + proc-log: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + /npm-run-path@2.0.2: resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} engines: {node: '>=4'} @@ -12630,8 +13345,8 @@ packages: path-key: 3.1.1 dev: true - /npm-run-path@5.1.0: - resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + /npm-run-path@5.2.0: + resolution: {integrity: sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 @@ -12663,8 +13378,8 @@ packages: boolbase: 1.0.0 dev: true - /nx@17.1.3: - resolution: {integrity: sha512-6LYoTt01nS1d/dvvYtRs+pEAMQmUVsd2fr/a8+X1cDjWrb8wsf1O3DwlBTqKOXOazpS3eOr0Ukc9N1svbu7uXA==} + /nx@17.2.8: + resolution: {integrity: sha512-rM5zXbuXLEuqQqcjVjClyvHwRJwt+NVImR2A6KFNG40Z60HP6X12wAxxeLHF5kXXTDRU0PFhf/yACibrpbPrAw==} hasBin: true requiresBuild: true peerDependencies: @@ -12676,16 +13391,16 @@ packages: '@swc/core': optional: true dependencies: - '@nrwl/tao': 17.1.3 + '@nrwl/tao': 17.2.8 '@yarnpkg/lockfile': 1.1.0 '@yarnpkg/parsers': 3.0.0-rc.46 '@zkochan/js-yaml': 0.0.6 - axios: 1.6.2 + axios: 1.6.5 chalk: 4.1.2 cli-cursor: 3.1.0 cli-spinners: 2.6.1 cliui: 8.0.1 - dotenv: 16.3.1 + dotenv: 16.3.2 dotenv-expand: 10.0.0 enquirer: 2.3.6 figures: 3.2.0 @@ -12708,30 +13423,29 @@ packages: tmp: 0.2.1 tsconfig-paths: 4.2.0 tslib: 2.6.2 - v8-compile-cache: 2.3.0 yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 17.1.3 - '@nx/nx-darwin-x64': 17.1.3 - '@nx/nx-freebsd-x64': 17.1.3 - '@nx/nx-linux-arm-gnueabihf': 17.1.3 - '@nx/nx-linux-arm64-gnu': 17.1.3 - '@nx/nx-linux-arm64-musl': 17.1.3 - '@nx/nx-linux-x64-gnu': 17.1.3 - '@nx/nx-linux-x64-musl': 17.1.3 - '@nx/nx-win32-arm64-msvc': 17.1.3 - '@nx/nx-win32-x64-msvc': 17.1.3 + '@nx/nx-darwin-arm64': 17.2.8 + '@nx/nx-darwin-x64': 17.2.8 + '@nx/nx-freebsd-x64': 17.2.8 + '@nx/nx-linux-arm-gnueabihf': 17.2.8 + '@nx/nx-linux-arm64-gnu': 17.2.8 + '@nx/nx-linux-arm64-musl': 17.2.8 + '@nx/nx-linux-x64-gnu': 17.2.8 + '@nx/nx-linux-x64-musl': 17.2.8 + '@nx/nx-win32-arm64-msvc': 17.2.8 + '@nx/nx-win32-x64-msvc': 17.2.8 transitivePeerDependencies: - debug dev: true /object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, tarball: https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz} + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} /object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==, tarball: https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.1.tgz} + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} /object-is@1.1.5: resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} @@ -12742,15 +13456,15 @@ packages: dev: false /object-keys@0.4.0: - resolution: {integrity: sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==, tarball: https://registry.npmmirror.com/object-keys/-/object-keys-0.4.0.tgz} + resolution: {integrity: sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==} dev: false /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==, tarball: https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz} + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} - /object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + /object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.5 @@ -12784,7 +13498,7 @@ packages: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 - safe-array-concat: 1.0.1 + safe-array-concat: 1.1.0 dev: true /object.getprototypeof@1.0.5: @@ -13074,29 +13788,29 @@ packages: semver: 5.7.2 dev: true - /pacote@15.2.0: - resolution: {integrity: sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + /pacote@17.0.6: + resolution: {integrity: sha512-cJKrW21VRE8vVTRskJo78c/RCvwJCn1f4qgfxL4w77SOWrTCRcmfkYHlHtS0gqpgjv3zhXflRtgsrUCX5xwNnQ==} + engines: {node: ^16.14.0 || >=18.0.0} hasBin: true dependencies: - '@npmcli/git': 4.1.0 + '@npmcli/git': 5.0.4 '@npmcli/installed-package-contents': 2.0.2 - '@npmcli/promise-spawn': 6.0.2 - '@npmcli/run-script': 6.0.2 - cacache: 17.1.4 + '@npmcli/promise-spawn': 7.0.1 + '@npmcli/run-script': 7.0.2 + cacache: 18.0.2 fs-minipass: 3.0.3 - minipass: 5.0.0 - npm-package-arg: 10.1.0 - npm-packlist: 7.0.4 - npm-pick-manifest: 8.0.2 - npm-registry-fetch: 14.0.5 + minipass: 7.0.4 + npm-package-arg: 11.0.1 + npm-packlist: 8.0.2 + npm-pick-manifest: 9.0.0 + npm-registry-fetch: 16.1.0 proc-log: 3.0.0 promise-retry: 2.0.1 - read-package-json: 6.0.4 + read-package-json: 7.0.0 read-package-json-fast: 3.0.2 - sigstore: 1.9.0 + sigstore: 2.2.0 ssri: 10.0.5 - tar: 6.2.0 + tar: 6.1.11 transitivePeerDependencies: - bluebird - supports-color @@ -13149,7 +13863,7 @@ packages: dev: true /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, tarball: https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz} + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} dependencies: callsites: 3.1.0 @@ -13195,7 +13909,7 @@ packages: dev: true /parse-json@4.0.0: - resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==, tarball: https://registry.npmmirror.com/parse-json/-/parse-json-4.0.0.tgz} + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} engines: {node: '>=4'} dependencies: error-ex: 1.3.2 @@ -13203,10 +13917,10 @@ packages: dev: true /parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==, tarball: https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz} + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.23.4 + '@babel/code-frame': 7.23.5 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -13296,7 +14010,7 @@ packages: dev: true /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, tarball: https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz} + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} /path-scurry@1.10.1: resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} @@ -13313,14 +14027,14 @@ packages: dev: true /path-type@3.0.0: - resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==, tarball: https://registry.npmmirror.com/path-type/-/path-type-3.0.0.tgz} + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} engines: {node: '>=4'} dependencies: pify: 3.0.0 dev: true /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==, tarball: https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz} + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} /pbkdf2@3.1.2: @@ -13366,7 +14080,6 @@ packages: /pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} - requiresBuild: true dev: true /pify@5.0.0: @@ -13436,413 +14149,413 @@ packages: splaytree: 3.1.2 dev: false - /postcss-attribute-case-insensitive@5.0.2(postcss@8.4.31): + /postcss-attribute-case-insensitive@5.0.2(postcss@8.4.33): resolution: {integrity: sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.31 - postcss-selector-parser: 6.0.13 + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 dev: true - /postcss-clamp@4.1.0(postcss@8.4.31): + /postcss-clamp@4.1.0(postcss@8.4.33): resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==} engines: {node: '>=7.6.0'} peerDependencies: postcss: ^8.4.6 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: true - /postcss-color-functional-notation@4.2.4(postcss@8.4.31): + /postcss-color-functional-notation@4.2.4(postcss@8.4.33): resolution: {integrity: sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: true - /postcss-color-hex-alpha@8.0.4(postcss@8.4.31): + /postcss-color-hex-alpha@8.0.4(postcss@8.4.33): resolution: {integrity: sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: true - /postcss-color-rebeccapurple@7.1.1(postcss@8.4.31): + /postcss-color-rebeccapurple@7.1.1(postcss@8.4.33): resolution: {integrity: sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: true - /postcss-custom-media@8.0.2(postcss@8.4.31): + /postcss-custom-media@8.0.2(postcss@8.4.33): resolution: {integrity: sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.3 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: true - /postcss-custom-properties@12.1.11(postcss@8.4.31): + /postcss-custom-properties@12.1.11(postcss@8.4.33): resolution: {integrity: sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: true - /postcss-custom-selectors@6.0.3(postcss@8.4.31): + /postcss-custom-selectors@6.0.3(postcss@8.4.33): resolution: {integrity: sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.3 dependencies: - postcss: 8.4.31 - postcss-selector-parser: 6.0.13 + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 dev: true - /postcss-dir-pseudo-class@6.0.5(postcss@8.4.31): + /postcss-dir-pseudo-class@6.0.5(postcss@8.4.33): resolution: {integrity: sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.31 - postcss-selector-parser: 6.0.13 + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 dev: true - /postcss-double-position-gradients@3.1.2(postcss@8.4.31): + /postcss-double-position-gradients@3.1.2(postcss@8.4.33): resolution: {integrity: sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.31) - postcss: 8.4.31 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.33) + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: true - /postcss-env-function@4.0.6(postcss@8.4.31): + /postcss-env-function@4.0.6(postcss@8.4.33): resolution: {integrity: sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: true - /postcss-flexbugs-fixes@5.0.2(postcss@8.4.31): + /postcss-flexbugs-fixes@5.0.2(postcss@8.4.33): resolution: {integrity: sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==} peerDependencies: postcss: ^8.1.4 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 dev: true - /postcss-focus-visible@6.0.4(postcss@8.4.31): + /postcss-focus-visible@6.0.4(postcss@8.4.33): resolution: {integrity: sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.31 - postcss-selector-parser: 6.0.13 + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 dev: true - /postcss-focus-within@5.0.4(postcss@8.4.31): + /postcss-focus-within@5.0.4(postcss@8.4.33): resolution: {integrity: sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.31 - postcss-selector-parser: 6.0.13 + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 dev: true - /postcss-font-variant@5.0.0(postcss@8.4.31): + /postcss-font-variant@5.0.0(postcss@8.4.33): resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 dev: true - /postcss-gap-properties@3.0.5(postcss@8.4.31): + /postcss-gap-properties@3.0.5(postcss@8.4.33): resolution: {integrity: sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 dev: true - /postcss-image-set-function@4.0.7(postcss@8.4.31): + /postcss-image-set-function@4.0.7(postcss@8.4.33): resolution: {integrity: sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: true - /postcss-initial@4.0.1(postcss@8.4.31): + /postcss-initial@4.0.1(postcss@8.4.33): resolution: {integrity: sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 dev: true - /postcss-lab-function@4.2.1(postcss@8.4.31): + /postcss-lab-function@4.2.1(postcss@8.4.33): resolution: {integrity: sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.31) - postcss: 8.4.31 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.33) + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: true - /postcss-logical@5.0.4(postcss@8.4.31): + /postcss-logical@5.0.4(postcss@8.4.33): resolution: {integrity: sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 dev: true - /postcss-media-minmax@5.0.0(postcss@8.4.31): + /postcss-media-minmax@5.0.0(postcss@8.4.33): resolution: {integrity: sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==} engines: {node: '>=10.0.0'} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 dev: true /postcss-media-query-parser@0.2.3: resolution: {integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==} dev: true - /postcss-modules-extract-imports@3.0.0(postcss@8.4.31): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.33): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 dev: true - /postcss-modules-local-by-default@4.0.3(postcss@8.4.31): - resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} + /postcss-modules-local-by-default@4.0.4(postcss@8.4.33): + resolution: {integrity: sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.31) - postcss: 8.4.31 - postcss-selector-parser: 6.0.13 + icss-utils: 5.1.0(postcss@8.4.33) + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-scope@3.0.0(postcss@8.4.31): - resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} + /postcss-modules-scope@3.1.1(postcss@8.4.33): + resolution: {integrity: sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.31 - postcss-selector-parser: 6.0.13 + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 dev: true - /postcss-modules-values@4.0.0(postcss@8.4.31): + /postcss-modules-values@4.0.0(postcss@8.4.33): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.31) - postcss: 8.4.31 + icss-utils: 5.1.0(postcss@8.4.33) + postcss: 8.4.33 dev: true - /postcss-nesting@10.2.0(postcss@8.4.31): + /postcss-nesting@10.2.0(postcss@8.4.33): resolution: {integrity: sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.13) - postcss: 8.4.31 - postcss-selector-parser: 6.0.13 + '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.15) + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 dev: true - /postcss-opacity-percentage@1.1.3(postcss@8.4.31): + /postcss-opacity-percentage@1.1.3(postcss@8.4.33): resolution: {integrity: sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 dev: true - /postcss-overflow-shorthand@3.0.4(postcss@8.4.31): + /postcss-overflow-shorthand@3.0.4(postcss@8.4.33): resolution: {integrity: sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: true - /postcss-page-break@3.0.4(postcss@8.4.31): + /postcss-page-break@3.0.4(postcss@8.4.33): resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} peerDependencies: postcss: ^8 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 dev: true - /postcss-place@7.0.5(postcss@8.4.31): + /postcss-place@7.0.5(postcss@8.4.33): resolution: {integrity: sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 postcss-value-parser: 4.2.0 dev: true - /postcss-prefix-selector@1.16.0(postcss@8.4.31): + /postcss-prefix-selector@1.16.0(postcss@8.4.33): resolution: {integrity: sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q==} peerDependencies: postcss: '>4 <9' dependencies: - postcss: 8.4.31 + postcss: 8.4.33 dev: true - /postcss-preset-env@7.5.0(postcss@8.4.31): + /postcss-preset-env@7.5.0(postcss@8.4.33): resolution: {integrity: sha512-0BJzWEfCdTtK2R3EiKKSdkE51/DI/BwnhlnicSW482Ym6/DGHud8K0wGLcdjip1epVX0HKo4c8zzTeV/SkiejQ==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/postcss-color-function': 1.1.1(postcss@8.4.31) - '@csstools/postcss-font-format-keywords': 1.0.1(postcss@8.4.31) - '@csstools/postcss-hwb-function': 1.0.2(postcss@8.4.31) - '@csstools/postcss-ic-unit': 1.0.1(postcss@8.4.31) - '@csstools/postcss-is-pseudo-class': 2.0.7(postcss@8.4.31) - '@csstools/postcss-normalize-display-values': 1.0.1(postcss@8.4.31) - '@csstools/postcss-oklab-function': 1.1.1(postcss@8.4.31) - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.31) - '@csstools/postcss-stepped-value-functions': 1.0.1(postcss@8.4.31) - '@csstools/postcss-unset-value': 1.0.2(postcss@8.4.31) - autoprefixer: 10.4.16(postcss@8.4.31) + '@csstools/postcss-color-function': 1.1.1(postcss@8.4.33) + '@csstools/postcss-font-format-keywords': 1.0.1(postcss@8.4.33) + '@csstools/postcss-hwb-function': 1.0.2(postcss@8.4.33) + '@csstools/postcss-ic-unit': 1.0.1(postcss@8.4.33) + '@csstools/postcss-is-pseudo-class': 2.0.7(postcss@8.4.33) + '@csstools/postcss-normalize-display-values': 1.0.1(postcss@8.4.33) + '@csstools/postcss-oklab-function': 1.1.1(postcss@8.4.33) + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.33) + '@csstools/postcss-stepped-value-functions': 1.0.1(postcss@8.4.33) + '@csstools/postcss-unset-value': 1.0.2(postcss@8.4.33) + autoprefixer: 10.4.17(postcss@8.4.33) browserslist: 4.22.2 - css-blank-pseudo: 3.0.3(postcss@8.4.31) - css-has-pseudo: 3.0.4(postcss@8.4.31) - css-prefers-color-scheme: 6.0.3(postcss@8.4.31) + css-blank-pseudo: 3.0.3(postcss@8.4.33) + css-has-pseudo: 3.0.4(postcss@8.4.33) + css-prefers-color-scheme: 6.0.3(postcss@8.4.33) cssdb: 6.6.3 - postcss: 8.4.31 - postcss-attribute-case-insensitive: 5.0.2(postcss@8.4.31) - postcss-clamp: 4.1.0(postcss@8.4.31) - postcss-color-functional-notation: 4.2.4(postcss@8.4.31) - postcss-color-hex-alpha: 8.0.4(postcss@8.4.31) - postcss-color-rebeccapurple: 7.1.1(postcss@8.4.31) - postcss-custom-media: 8.0.2(postcss@8.4.31) - postcss-custom-properties: 12.1.11(postcss@8.4.31) - postcss-custom-selectors: 6.0.3(postcss@8.4.31) - postcss-dir-pseudo-class: 6.0.5(postcss@8.4.31) - postcss-double-position-gradients: 3.1.2(postcss@8.4.31) - postcss-env-function: 4.0.6(postcss@8.4.31) - postcss-focus-visible: 6.0.4(postcss@8.4.31) - postcss-focus-within: 5.0.4(postcss@8.4.31) - postcss-font-variant: 5.0.0(postcss@8.4.31) - postcss-gap-properties: 3.0.5(postcss@8.4.31) - postcss-image-set-function: 4.0.7(postcss@8.4.31) - postcss-initial: 4.0.1(postcss@8.4.31) - postcss-lab-function: 4.2.1(postcss@8.4.31) - postcss-logical: 5.0.4(postcss@8.4.31) - postcss-media-minmax: 5.0.0(postcss@8.4.31) - postcss-nesting: 10.2.0(postcss@8.4.31) - postcss-opacity-percentage: 1.1.3(postcss@8.4.31) - postcss-overflow-shorthand: 3.0.4(postcss@8.4.31) - postcss-page-break: 3.0.4(postcss@8.4.31) - postcss-place: 7.0.5(postcss@8.4.31) - postcss-pseudo-class-any-link: 7.1.6(postcss@8.4.31) - postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.31) - postcss-selector-not: 5.0.0(postcss@8.4.31) + postcss: 8.4.33 + postcss-attribute-case-insensitive: 5.0.2(postcss@8.4.33) + postcss-clamp: 4.1.0(postcss@8.4.33) + postcss-color-functional-notation: 4.2.4(postcss@8.4.33) + postcss-color-hex-alpha: 8.0.4(postcss@8.4.33) + postcss-color-rebeccapurple: 7.1.1(postcss@8.4.33) + postcss-custom-media: 8.0.2(postcss@8.4.33) + postcss-custom-properties: 12.1.11(postcss@8.4.33) + postcss-custom-selectors: 6.0.3(postcss@8.4.33) + postcss-dir-pseudo-class: 6.0.5(postcss@8.4.33) + postcss-double-position-gradients: 3.1.2(postcss@8.4.33) + postcss-env-function: 4.0.6(postcss@8.4.33) + postcss-focus-visible: 6.0.4(postcss@8.4.33) + postcss-focus-within: 5.0.4(postcss@8.4.33) + postcss-font-variant: 5.0.0(postcss@8.4.33) + postcss-gap-properties: 3.0.5(postcss@8.4.33) + postcss-image-set-function: 4.0.7(postcss@8.4.33) + postcss-initial: 4.0.1(postcss@8.4.33) + postcss-lab-function: 4.2.1(postcss@8.4.33) + postcss-logical: 5.0.4(postcss@8.4.33) + postcss-media-minmax: 5.0.0(postcss@8.4.33) + postcss-nesting: 10.2.0(postcss@8.4.33) + postcss-opacity-percentage: 1.1.3(postcss@8.4.33) + postcss-overflow-shorthand: 3.0.4(postcss@8.4.33) + postcss-page-break: 3.0.4(postcss@8.4.33) + postcss-place: 7.0.5(postcss@8.4.33) + postcss-pseudo-class-any-link: 7.1.6(postcss@8.4.33) + postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.33) + postcss-selector-not: 5.0.0(postcss@8.4.33) postcss-value-parser: 4.2.0 dev: true - /postcss-pseudo-class-any-link@7.1.6(postcss@8.4.31): + /postcss-pseudo-class-any-link@7.1.6(postcss@8.4.33): resolution: {integrity: sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.31 - postcss-selector-parser: 6.0.13 + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 dev: true - /postcss-replace-overflow-wrap@4.0.0(postcss@8.4.31): + /postcss-replace-overflow-wrap@4.0.0(postcss@8.4.33): resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} peerDependencies: postcss: ^8.0.3 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 dev: true /postcss-resolve-nested-selector@0.1.1: resolution: {integrity: sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==} dev: true - /postcss-safe-parser@6.0.0(postcss@8.4.31): + /postcss-safe-parser@6.0.0(postcss@8.4.33): resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.3.3 dependencies: - postcss: 8.4.31 + postcss: 8.4.33 dev: true - /postcss-selector-not@5.0.0(postcss@8.4.31): + /postcss-selector-not@5.0.0(postcss@8.4.33): resolution: {integrity: sha512-/2K3A4TCP9orP4TNS7u3tGdRFVKqz/E6pX3aGnriPG0jU78of8wsUcqE4QAhWEU0d+WnMSF93Ah3F//vUtK+iQ==} peerDependencies: postcss: ^8.1.0 dependencies: balanced-match: 1.0.2 - postcss: 8.4.31 + postcss: 8.4.33 dev: true - /postcss-selector-parser@6.0.13: - resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} + /postcss-selector-parser@6.0.15: + resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 dev: true - /postcss-syntax@0.36.2(postcss@8.4.31): + /postcss-syntax@0.36.2(postcss@8.4.33): resolution: {integrity: sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==} peerDependencies: postcss: '>=5.0.0' @@ -13863,15 +14576,15 @@ packages: postcss-scss: optional: true dependencies: - postcss: 8.4.31 + postcss: 8.4.33 dev: true /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss@8.4.31: - resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + /postcss@8.4.33: + resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 @@ -13899,7 +14612,7 @@ packages: engines: {node: '>=0.10.0'} dev: true - /prettier-plugin-organize-imports@3.2.4(prettier@2.8.8)(typescript@5.3.2): + /prettier-plugin-organize-imports@3.2.4(prettier@2.8.8)(typescript@5.3.3): resolution: {integrity: sha512-6m8WBhIp0dfwu0SkgfOxJqh+HpdyfqSSLfKKRZSFbDuEQXDDndb8fTpRWkUrX/uBenkex3MgnVk0J3b3Y5byog==} peerDependencies: '@volar/vue-language-plugin-pug': ^1.0.4 @@ -13913,7 +14626,7 @@ packages: optional: true dependencies: prettier: 2.8.8 - typescript: 5.3.2 + typescript: 5.3.3 dev: true /prettier-plugin-packagejson@2.4.3(prettier@2.8.8): @@ -13929,8 +14642,8 @@ packages: synckit: 0.8.5 dev: true - /prettier-plugin-packagejson@2.4.6(prettier@2.8.8): - resolution: {integrity: sha512-5JGfzkJRL0DLNyhwmiAV9mV0hZLHDwddFCs2lc9CNxOChpoWUQVe8K4qTMktmevmDlMpok2uT10nvHUyU59sNw==} + /prettier-plugin-packagejson@2.4.9(prettier@2.8.8): + resolution: {integrity: sha512-b3Q7agXVqxK3UpYEJr0xLD51SxriYXESWUCjmxOBUGqnPFZOg9jZGZ+Ptzq252I6OqzXN2rj1tJIFq6KOGLLJw==} peerDependencies: prettier: '>= 1.16.0' peerDependenciesMeta: @@ -13939,7 +14652,7 @@ packages: dependencies: prettier: 2.8.8 sort-package-json: 2.6.0 - synckit: 0.8.5 + synckit: 0.9.0 dev: true /prettier@2.8.8: @@ -13955,6 +14668,15 @@ packages: renderkid: 3.0.0 dev: true + /pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + dev: true + /pretty-format@29.7.0: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -13987,7 +14709,7 @@ packages: dev: true /process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==, tarball: https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz} + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} /process-warning@1.0.0: resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} @@ -14033,7 +14755,7 @@ packages: dev: true /prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==, tarball: https://registry.npmmirror.com/prop-types/-/prop-types-15.8.1.tgz} + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 @@ -14115,7 +14837,7 @@ packages: dev: true /qrcode.react@3.1.0(react@18.2.0): - resolution: {integrity: sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==, tarball: https://registry.npmmirror.com/qrcode.react/-/qrcode.react-3.1.0.tgz} + resolution: {integrity: sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: @@ -14123,7 +14845,7 @@ packages: dev: false /qs@6.11.2: - resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==, tarball: https://registry.npmmirror.com/qs/-/qs-6.11.2.tgz} + resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} engines: {node: '>=0.6'} dependencies: side-channel: 1.0.4 @@ -14215,12 +14937,12 @@ packages: dev: false /rc-align@4.0.15(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==, tarball: https://registry.npmmirror.com/rc-align/-/rc-align-4.0.15.tgz} + resolution: {integrity: sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 dom-align: 1.12.4 rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) @@ -14230,12 +14952,12 @@ packages: dev: false /rc-cascader@3.20.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-lkT9EEwOcYdjZ/jvhLoXGzprK1sijT3/Tp4BLxQQcHDZkkOzzwYQC9HgmKoJz0K7CukMfgvO9KqHeBdgE+pELw==, tarball: https://registry.npmmirror.com/rc-cascader/-/rc-cascader-3.20.0.tgz} + resolution: {integrity: sha512-lkT9EEwOcYdjZ/jvhLoXGzprK1sijT3/Tp4BLxQQcHDZkkOzzwYQC9HgmKoJz0K7CukMfgvO9KqHeBdgE+pELw==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 array-tree-filter: 2.1.0 classnames: 2.5.1 rc-select: 14.10.0(react-dom@18.2.0)(react@18.2.0) @@ -14245,13 +14967,29 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /rc-checkbox@3.1.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-PAwpJFnBa3Ei+5pyqMMXdcKYKNBMS+TvSDiLdDnARnMJHC8ESxwPfm4Ao1gJiKtWLdmGfigascnCpwrHFgoOBQ==, tarball: https://registry.npmmirror.com/rc-checkbox/-/rc-checkbox-3.1.0.tgz} + /rc-cascader@3.21.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-J7GozpgsLaOtzfIHFJFuh4oFY0ePb1w10twqK6is3pAkqHkca/PsokbDr822KIRZ8/CK8CqevxohuPDVZ1RO/A==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 + array-tree-filter: 2.1.0 + classnames: 2.5.1 + rc-select: 14.11.0(react-dom@18.2.0)(react@18.2.0) + rc-tree: 5.8.2(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /rc-checkbox@3.1.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-PAwpJFnBa3Ei+5pyqMMXdcKYKNBMS+TvSDiLdDnARnMJHC8ESxwPfm4Ao1gJiKtWLdmGfigascnCpwrHFgoOBQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 @@ -14259,12 +14997,12 @@ packages: dev: false /rc-collapse@3.7.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-ZRw6ipDyOnfLFySxAiCMdbHtb5ePAsB9mT17PA6y1mRD/W6KHRaZeb5qK/X9xDV1CqgyxMpzw0VdS74PCcUk4A==, tarball: https://registry.npmmirror.com/rc-collapse/-/rc-collapse-3.7.2.tgz} + resolution: {integrity: sha512-ZRw6ipDyOnfLFySxAiCMdbHtb5ePAsB9mT17PA6y1mRD/W6KHRaZeb5qK/X9xDV1CqgyxMpzw0VdS74PCcUk4A==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) @@ -14273,12 +15011,12 @@ packages: dev: false /rc-dialog@9.3.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-975X3018GhR+EjZFbxA2Z57SX5rnu0G0/OxFgMMvZK4/hQWEm3MHaNvP4wXpxYDoJsp+xUvVW+GB9CMMCm81jA==, tarball: https://registry.npmmirror.com/rc-dialog/-/rc-dialog-9.3.4.tgz} + resolution: {integrity: sha512-975X3018GhR+EjZFbxA2Z57SX5rnu0G0/OxFgMMvZK4/hQWEm3MHaNvP4wXpxYDoJsp+xUvVW+GB9CMMCm81jA==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@rc-component/portal': 1.1.2(react-dom@18.2.0)(react@18.2.0) classnames: 2.5.1 rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) @@ -14288,12 +15026,27 @@ packages: dev: false /rc-drawer@6.5.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-QckxAnQNdhh4vtmKN0ZwDf3iakO83W9eZcSKWYYTDv4qcD2fHhRAZJJ/OE6v2ZlQ2kSqCJX5gYssF4HJFvsEPQ==, tarball: https://registry.npmmirror.com/rc-drawer/-/rc-drawer-6.5.2.tgz} + resolution: {integrity: sha512-QckxAnQNdhh4vtmKN0ZwDf3iakO83W9eZcSKWYYTDv4qcD2fHhRAZJJ/OE6v2ZlQ2kSqCJX5gYssF4HJFvsEPQ==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 + '@rc-component/portal': 1.1.2(react-dom@18.2.0)(react@18.2.0) + classnames: 2.5.1 + rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /rc-drawer@7.0.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-ePcS4KtQnn57bCbVXazHN2iC8nTPCXlWEIA/Pft87Pd9U7ZeDkdRzG47jWG2/TAFXFlFltRAMcslqmUM8NPCGA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.8 '@rc-component/portal': 1.1.2(react-dom@18.2.0)(react@18.2.0) classnames: 2.5.1 rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) @@ -14303,12 +15056,12 @@ packages: dev: false /rc-dropdown@4.1.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-VZjMunpBdlVzYpEdJSaV7WM7O0jf8uyDjirxXLZRNZ+tAC+NzD3PXPEtliFwGzVwBBdCmGuSqiS9DWcOLxQ9tw==, tarball: https://registry.npmmirror.com/rc-dropdown/-/rc-dropdown-4.1.0.tgz} + resolution: {integrity: sha512-VZjMunpBdlVzYpEdJSaV7WM7O0jf8uyDjirxXLZRNZ+tAC+NzD3PXPEtliFwGzVwBBdCmGuSqiS9DWcOLxQ9tw==} peerDependencies: react: '>=16.11.0' react-dom: '>=16.11.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@rc-component/trigger': 1.18.2(react-dom@18.2.0)(react@18.2.0) classnames: 2.5.1 rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) @@ -14316,13 +15069,13 @@ packages: react-dom: 18.2.0(react@18.2.0) /rc-field-form@1.41.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-k9AS0wmxfJfusWDP/YXWTpteDNaQ4isJx9UKxx4/e8Dub4spFeZ54/EuN2sYrMRID/+hUznPgVZeg+Gf7XSYCw==, tarball: https://registry.npmmirror.com/rc-field-form/-/rc-field-form-1.41.0.tgz} + resolution: {integrity: sha512-k9AS0wmxfJfusWDP/YXWTpteDNaQ4isJx9UKxx4/e8Dub4spFeZ54/EuN2sYrMRID/+hUznPgVZeg+Gf7XSYCw==} engines: {node: '>=8.x'} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 async-validator: 4.2.5 rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 @@ -14330,12 +15083,12 @@ packages: dev: false /rc-image@7.5.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Z9loECh92SQp0nSipc0MBuf5+yVC05H/pzC+Nf8xw1BKDFUJzUeehYBjaWlxly8VGBZJcTHYri61Fz9ng1G3Ag==, tarball: https://registry.npmmirror.com/rc-image/-/rc-image-7.5.1.tgz} + resolution: {integrity: sha512-Z9loECh92SQp0nSipc0MBuf5+yVC05H/pzC+Nf8xw1BKDFUJzUeehYBjaWlxly8VGBZJcTHYri61Fz9ng1G3Ag==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@rc-component/portal': 1.1.2(react-dom@18.2.0)(react@18.2.0) classnames: 2.5.1 rc-dialog: 9.3.4(react-dom@18.2.0)(react@18.2.0) @@ -14346,12 +15099,12 @@ packages: dev: false /rc-input-number@8.4.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-B6rziPOLRmeP7kcS5qbdC5hXvvDHYKV4vUxmahevYx2E6crS2bRi0xLDjhJ0E1HtOWo8rTmaE2EBJAkTCZOLdA==, tarball: https://registry.npmmirror.com/rc-input-number/-/rc-input-number-8.4.0.tgz} + resolution: {integrity: sha512-B6rziPOLRmeP7kcS5qbdC5hXvvDHYKV4vUxmahevYx2E6crS2bRi0xLDjhJ0E1HtOWo8rTmaE2EBJAkTCZOLdA==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@rc-component/mini-decimal': 1.1.0 classnames: 2.5.1 rc-input: 1.3.11(react-dom@18.2.0)(react@18.2.0) @@ -14361,12 +15114,12 @@ packages: dev: false /rc-input-number@8.6.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-gaAMUKtUKLktJ3Yx93tjgYY1M0HunnoqzPEqkb9//Ydup4DcG0TFL9yHBA3pgVdNIt5f0UWyHCgFBj//JxeD6A==, tarball: https://registry.npmmirror.com/rc-input-number/-/rc-input-number-8.6.1.tgz} + resolution: {integrity: sha512-gaAMUKtUKLktJ3Yx93tjgYY1M0HunnoqzPEqkb9//Ydup4DcG0TFL9yHBA3pgVdNIt5f0UWyHCgFBj//JxeD6A==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@rc-component/mini-decimal': 1.1.0 classnames: 2.5.1 rc-input: 1.4.3(react-dom@18.2.0)(react@18.2.0) @@ -14376,12 +15129,12 @@ packages: dev: false /rc-input@1.3.11(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-jhH7QP5rILanSHCGSUkdoFE5DEtpv8FIseYhuYkOZzUBeiVAiwM3q26YqZ6xBB0QFEZ/yUAgms4xW4iuub3xFQ==, tarball: https://registry.npmmirror.com/rc-input/-/rc-input-1.3.11.tgz} + resolution: {integrity: sha512-jhH7QP5rILanSHCGSUkdoFE5DEtpv8FIseYhuYkOZzUBeiVAiwM3q26YqZ6xBB0QFEZ/yUAgms4xW4iuub3xFQ==} peerDependencies: react: '>=16.0.0' react-dom: '>=16.0.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 @@ -14389,25 +15142,42 @@ packages: dev: false /rc-input@1.4.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-aHyQUAIRmTlOnvk5EcNqEpJ+XMtfMpYRAJayIlJfsvvH9cAKUWboh4egm23vgMA7E+c/qm4BZcnrDcA960GC1w==, tarball: https://registry.npmmirror.com/rc-input/-/rc-input-1.4.3.tgz} + resolution: {integrity: sha512-aHyQUAIRmTlOnvk5EcNqEpJ+XMtfMpYRAJayIlJfsvvH9cAKUWboh4egm23vgMA7E+c/qm4BZcnrDcA960GC1w==} peerDependencies: react: '>=16.0.0' react-dom: '>=16.0.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /rc-mentions@2.9.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-cZuElWr/5Ws0PXx1uxobxfYh4mqUw2FitfabR62YnWgm+WAfDyXZXqZg5DxXW+M1cgVvntrQgDDd9LrihrXzew==, tarball: https://registry.npmmirror.com/rc-mentions/-/rc-mentions-2.9.1.tgz} + /rc-mentions@2.10.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-72qsEcr/7su+a07ndJ1j8rI9n0Ka/ngWOLYnWMMv0p2mi/5zPwPrEDTt6Uqpe8FWjWhueDJx/vzunL6IdKDYMg==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 + '@rc-component/trigger': 1.18.2(react-dom@18.2.0)(react@18.2.0) + classnames: 2.5.1 + rc-input: 1.4.3(react-dom@18.2.0)(react@18.2.0) + rc-menu: 9.12.4(react-dom@18.2.0)(react@18.2.0) + rc-textarea: 1.6.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /rc-mentions@2.9.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-cZuElWr/5Ws0PXx1uxobxfYh4mqUw2FitfabR62YnWgm+WAfDyXZXqZg5DxXW+M1cgVvntrQgDDd9LrihrXzew==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.8 '@rc-component/trigger': 1.18.2(react-dom@18.2.0)(react@18.2.0) classnames: 2.5.1 rc-input: 1.3.11(react-dom@18.2.0)(react@18.2.0) @@ -14419,12 +15189,12 @@ packages: dev: false /rc-menu@9.12.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-t2NcvPLV1mFJzw4F21ojOoRVofK2rWhpKPx69q2raUsiHPDP6DDevsBILEYdsIegqBeSXoWs2bf6CueBKg3BFg==, tarball: https://registry.npmmirror.com/rc-menu/-/rc-menu-9.12.4.tgz} + resolution: {integrity: sha512-t2NcvPLV1mFJzw4F21ojOoRVofK2rWhpKPx69q2raUsiHPDP6DDevsBILEYdsIegqBeSXoWs2bf6CueBKg3BFg==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@rc-component/trigger': 1.18.2(react-dom@18.2.0)(react@18.2.0) classnames: 2.5.1 rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) @@ -14434,25 +15204,25 @@ packages: react-dom: 18.2.0(react@18.2.0) /rc-motion@2.9.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ==, tarball: https://registry.npmmirror.com/rc-motion/-/rc-motion-2.9.0.tgz} + resolution: {integrity: sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) /rc-notification@5.3.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-WCf0uCOkZ3HGfF0p1H4Sgt7aWfipxORWTPp7o6prA3vxwtWhtug3GfpYls1pnBp4WA+j8vGIi5c2/hQRpGzPcQ==, tarball: https://registry.npmmirror.com/rc-notification/-/rc-notification-5.3.0.tgz} + resolution: {integrity: sha512-WCf0uCOkZ3HGfF0p1H4Sgt7aWfipxORWTPp7o6prA3vxwtWhtug3GfpYls1pnBp4WA+j8vGIi5c2/hQRpGzPcQ==} engines: {node: '>=8.x'} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) @@ -14461,12 +15231,12 @@ packages: dev: false /rc-overflow@1.3.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==, tarball: https://registry.npmmirror.com/rc-overflow/-/rc-overflow-1.3.2.tgz} + resolution: {integrity: sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-resize-observer: 1.4.0(react-dom@18.2.0)(react@18.2.0) rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) @@ -14474,12 +15244,12 @@ packages: react-dom: 18.2.0(react@18.2.0) /rc-pagination@4.0.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-GGrLT4NgG6wgJpT/hHIpL9nELv27A1XbSZzECIuQBQTVSf4xGKxWr6I/jhpRPauYEWEbWVw22ObG6tJQqwJqWQ==, tarball: https://registry.npmmirror.com/rc-pagination/-/rc-pagination-4.0.4.tgz} + resolution: {integrity: sha512-GGrLT4NgG6wgJpT/hHIpL9nELv27A1XbSZzECIuQBQTVSf4xGKxWr6I/jhpRPauYEWEbWVw22ObG6tJQqwJqWQ==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 @@ -14487,7 +15257,7 @@ packages: dev: false /rc-picker@3.14.6(dayjs@1.11.10)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-AdKKW0AqMwZsKvIpwUWDUnpuGKZVrbxVTZTNjcO+pViGkjC1EBcjMgxVe8tomOEaIHJL5Gd13vS8Rr3zzxWmag==, tarball: https://registry.npmmirror.com/rc-picker/-/rc-picker-3.14.6.tgz} + resolution: {integrity: sha512-AdKKW0AqMwZsKvIpwUWDUnpuGKZVrbxVTZTNjcO+pViGkjC1EBcjMgxVe8tomOEaIHJL5Gd13vS8Rr3zzxWmag==} engines: {node: '>=8.x'} peerDependencies: date-fns: '>= 2.x' @@ -14506,7 +15276,7 @@ packages: moment: optional: true dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@rc-component/trigger': 1.18.2(react-dom@18.2.0)(react@18.2.0) classnames: 2.5.1 dayjs: 1.11.10 @@ -14515,44 +15285,13 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /rc-picker@4.0.0-alpha.36(dayjs@1.11.10)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-tl+GBKaJrj7tD/hLlALQyohQRwNceTS9PxZVzMtW4iiu1Gfo3QciXlv0UD9bI1B9pXKHtRHUNvbaW/B3Y+Jd5A==, tarball: https://registry.npmmirror.com/rc-picker/-/rc-picker-4.0.0-alpha.36.tgz} - engines: {node: '>=8.x'} - peerDependencies: - date-fns: '>= 2.x' - dayjs: '>= 1.x' - luxon: '>= 3.x' - moment: '>= 2.x' - react: '>=16.9.0' - react-dom: '>=16.9.0' - peerDependenciesMeta: - date-fns: - optional: true - dayjs: - optional: true - luxon: - optional: true - moment: - optional: true - dependencies: - '@babel/runtime': 7.23.4 - '@rc-component/trigger': 1.18.2(react-dom@18.2.0)(react@18.2.0) - classnames: 2.5.1 - dayjs: 1.11.10 - rc-overflow: 1.3.2(react-dom@18.2.0)(react@18.2.0) - rc-resize-observer: 1.4.0(react-dom@18.2.0)(react@18.2.0) - rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /rc-progress@3.5.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-V6Amx6SbLRwPin/oD+k1vbPrO8+9Qf8zW1T8A7o83HdNafEVvAxPV5YsgtKFP+Ud5HghLj33zKOcEHrcrUGkfw==, tarball: https://registry.npmmirror.com/rc-progress/-/rc-progress-3.5.1.tgz} + resolution: {integrity: sha512-V6Amx6SbLRwPin/oD+k1vbPrO8+9Qf8zW1T8A7o83HdNafEVvAxPV5YsgtKFP+Ud5HghLj33zKOcEHrcrUGkfw==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 @@ -14560,13 +15299,13 @@ packages: dev: false /rc-rate@2.12.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-g092v5iZCdVzbjdn28FzvWebK2IutoVoiTeqoLTj9WM7SjA/gOJIw5/JFZMRyJYYVe1jLAU2UhAfstIpCNRozg==, tarball: https://registry.npmmirror.com/rc-rate/-/rc-rate-2.12.0.tgz} + resolution: {integrity: sha512-g092v5iZCdVzbjdn28FzvWebK2IutoVoiTeqoLTj9WM7SjA/gOJIw5/JFZMRyJYYVe1jLAU2UhAfstIpCNRozg==} engines: {node: '>=8.x'} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 @@ -14574,12 +15313,12 @@ packages: dev: false /rc-resize-observer@1.4.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==, tarball: https://registry.npmmirror.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz} + resolution: {integrity: sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 @@ -14587,12 +15326,12 @@ packages: resize-observer-polyfill: 1.5.1 /rc-segmented@2.2.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Mq52M96QdHMsNdE/042ibT5vkcGcD5jxKp7HgPC2SRofpia99P5fkfHy1pEaajLMF/kj0+2Lkq1UZRvqzo9mSA==, tarball: https://registry.npmmirror.com/rc-segmented/-/rc-segmented-2.2.2.tgz} + resolution: {integrity: sha512-Mq52M96QdHMsNdE/042ibT5vkcGcD5jxKp7HgPC2SRofpia99P5fkfHy1pEaajLMF/kj0+2Lkq1UZRvqzo9mSA==} peerDependencies: react: '>=16.0.0' react-dom: '>=16.0.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) @@ -14601,13 +15340,13 @@ packages: dev: false /rc-select@14.10.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-TsIJTYafTTapCA32LLNpx/AD6ntepR1TG8jEVx35NiAAWCPymhUfuca8kRcUNd3WIGVMDcMKn9kkphoxEz+6Ag==, tarball: https://registry.npmmirror.com/rc-select/-/rc-select-14.10.0.tgz} + resolution: {integrity: sha512-TsIJTYafTTapCA32LLNpx/AD6ntepR1TG8jEVx35NiAAWCPymhUfuca8kRcUNd3WIGVMDcMKn9kkphoxEz+6Ag==} engines: {node: '>=8.x'} peerDependencies: react: '*' react-dom: '*' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@rc-component/trigger': 1.18.2(react-dom@18.2.0)(react@18.2.0) classnames: 2.5.1 rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) @@ -14619,13 +15358,13 @@ packages: dev: false /rc-select@14.11.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-8J8G/7duaGjFiTXCBLWfh5P+KDWyA3KTlZDfV3xj/asMPqB2cmxfM+lH50wRiPIRsCQ6EbkCFBccPuaje3DHIg==, tarball: https://registry.npmmirror.com/rc-select/-/rc-select-14.11.0.tgz} + resolution: {integrity: sha512-8J8G/7duaGjFiTXCBLWfh5P+KDWyA3KTlZDfV3xj/asMPqB2cmxfM+lH50wRiPIRsCQ6EbkCFBccPuaje3DHIg==} engines: {node: '>=8.x'} peerDependencies: react: '*' react-dom: '*' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@rc-component/trigger': 1.18.2(react-dom@18.2.0)(react@18.2.0) classnames: 2.5.1 rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) @@ -14637,13 +15376,13 @@ packages: dev: false /rc-slider@10.5.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-xiYght50cvoODZYI43v3Ylsqiw14+D7ELsgzR40boDZaya1HFa1Etnv9MDkQE8X/UrXAffwv2AcNAhslgYuDTw==, tarball: https://registry.npmmirror.com/rc-slider/-/rc-slider-10.5.0.tgz} + resolution: {integrity: sha512-xiYght50cvoODZYI43v3Ylsqiw14+D7ELsgzR40boDZaya1HFa1Etnv9MDkQE8X/UrXAffwv2AcNAhslgYuDTw==} engines: {node: '>=8.x'} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 @@ -14651,13 +15390,13 @@ packages: dev: false /rc-steps@6.0.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==, tarball: https://registry.npmmirror.com/rc-steps/-/rc-steps-6.0.1.tgz} + resolution: {integrity: sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==} engines: {node: '>=8.x'} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 @@ -14665,12 +15404,12 @@ packages: dev: false /rc-switch@4.1.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==, tarball: https://registry.npmmirror.com/rc-switch/-/rc-switch-4.1.0.tgz} + resolution: {integrity: sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 @@ -14684,7 +15423,24 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 + '@rc-component/context': 1.4.0(react-dom@18.2.0)(react@18.2.0) + classnames: 2.5.1 + rc-resize-observer: 1.4.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + rc-virtual-list: 3.11.3(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /rc-table@7.37.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-hEB17ktLRVfVmdo+U8MjGr+PuIgdQ8Cxj/N5lwMvP/Az7TOrQxwTMLVEDoj207tyPYLTWifHIF9EJREWwyk67g==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.8 '@rc-component/context': 1.4.0(react-dom@18.2.0)(react@18.2.0) classnames: 2.5.1 rc-resize-observer: 1.4.0(react-dom@18.2.0)(react@18.2.0) @@ -14695,13 +15451,13 @@ packages: dev: false /rc-tabs@12.14.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-1xlE7JQNYxD5RwBsM7jf2xSdUrkmTSDFLFEm2gqAgnsRlOGydEzXXNAVTOT6QcgM1G/gCm+AgG+FYPUGb4Hs4g==, tarball: https://registry.npmmirror.com/rc-tabs/-/rc-tabs-12.14.1.tgz} + resolution: {integrity: sha512-1xlE7JQNYxD5RwBsM7jf2xSdUrkmTSDFLFEm2gqAgnsRlOGydEzXXNAVTOT6QcgM1G/gCm+AgG+FYPUGb4Hs4g==} engines: {node: '>=8.x'} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-dropdown: 4.1.0(react-dom@18.2.0)(react@18.2.0) rc-menu: 9.12.4(react-dom@18.2.0)(react@18.2.0) @@ -14712,13 +15468,13 @@ packages: react-dom: 18.2.0(react@18.2.0) /rc-tabs@14.0.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-lp1YWkaPnjlyhOZCPrAWxK6/P6nMGX/BAZcAC3nuVwKz0Byfp+vNnQKK8BRCP2g/fzu+SeB5dm9aUigRu3tRkQ==, tarball: https://registry.npmmirror.com/rc-tabs/-/rc-tabs-14.0.0.tgz} + resolution: {integrity: sha512-lp1YWkaPnjlyhOZCPrAWxK6/P6nMGX/BAZcAC3nuVwKz0Byfp+vNnQKK8BRCP2g/fzu+SeB5dm9aUigRu3tRkQ==} engines: {node: '>=8.x'} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-dropdown: 4.1.0(react-dom@18.2.0)(react@18.2.0) rc-menu: 9.12.4(react-dom@18.2.0)(react@18.2.0) @@ -14730,12 +15486,12 @@ packages: dev: false /rc-textarea@1.5.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-oH682ghHx++stFNYrosPRBfwsypywrTXpaD0/5Z8MPkUOnyOQUaY9ueL9tMu6BP1LfsuYQ1VLpg5OtshViLNgA==, tarball: https://registry.npmmirror.com/rc-textarea/-/rc-textarea-1.5.3.tgz} + resolution: {integrity: sha512-oH682ghHx++stFNYrosPRBfwsypywrTXpaD0/5Z8MPkUOnyOQUaY9ueL9tMu6BP1LfsuYQ1VLpg5OtshViLNgA==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-input: 1.3.11(react-dom@18.2.0)(react@18.2.0) rc-resize-observer: 1.4.0(react-dom@18.2.0)(react@18.2.0) @@ -14745,12 +15501,12 @@ packages: dev: false /rc-textarea@1.6.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-8k7+8Y2GJ/cQLiClFMg8kUXOOdvcFQrnGeSchOvI2ZMIVvX5a3zQpLxoODL0HTrvU63fPkRmMuqaEcOF9dQemA==, tarball: https://registry.npmmirror.com/rc-textarea/-/rc-textarea-1.6.3.tgz} + resolution: {integrity: sha512-8k7+8Y2GJ/cQLiClFMg8kUXOOdvcFQrnGeSchOvI2ZMIVvX5a3zQpLxoODL0HTrvU63fPkRmMuqaEcOF9dQemA==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-input: 1.4.3(react-dom@18.2.0)(react@18.2.0) rc-resize-observer: 1.4.0(react-dom@18.2.0)(react@18.2.0) @@ -14760,12 +15516,12 @@ packages: dev: false /rc-tooltip@6.1.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-HMSbSs5oieZ7XddtINUddBLSVgsnlaSb3bZrzzGWjXa7/B7nNedmsuz72s7EWFEro9mNa7RyF3gOXKYqvJiTcQ==, tarball: https://registry.npmmirror.com/rc-tooltip/-/rc-tooltip-6.1.3.tgz} + resolution: {integrity: sha512-HMSbSs5oieZ7XddtINUddBLSVgsnlaSb3bZrzzGWjXa7/B7nNedmsuz72s7EWFEro9mNa7RyF3gOXKYqvJiTcQ==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 '@rc-component/trigger': 1.18.2(react-dom@18.2.0)(react@18.2.0) classnames: 2.5.1 react: 18.2.0 @@ -14773,12 +15529,12 @@ packages: dev: false /rc-tree-select@5.15.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-YJHfdO6azFnR0/JuNBZLDptGE4/RGfVeHAafUIYcm2T3RBkL1O8aVqiHvwIyLzdK59ry0NLrByd+3TkfpRM+9Q==, tarball: https://registry.npmmirror.com/rc-tree-select/-/rc-tree-select-5.15.0.tgz} + resolution: {integrity: sha512-YJHfdO6azFnR0/JuNBZLDptGE4/RGfVeHAafUIYcm2T3RBkL1O8aVqiHvwIyLzdK59ry0NLrByd+3TkfpRM+9Q==} peerDependencies: react: '*' react-dom: '*' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-select: 14.10.0(react-dom@18.2.0)(react@18.2.0) rc-tree: 5.8.2(react-dom@18.2.0)(react@18.2.0) @@ -14787,6 +15543,21 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false + /rc-tree-select@5.17.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-7sRGafswBhf7n6IuHyCEFCildwQIgyKiV8zfYyUoWfZEFdhuk7lCH+DN0aHt+oJrdiY9+6Io/LDXloGe01O8XQ==} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@babel/runtime': 7.23.8 + classnames: 2.5.1 + rc-select: 14.11.0(react-dom@18.2.0)(react@18.2.0) + rc-tree: 5.8.2(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /rc-tree@5.8.2(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-xH/fcgLHWTLmrSuNphU8XAqV7CdaOQgm4KywlLGNoTMhDAcNR3GVNP6cZzb0GrKmIZ9yae+QLot/cAgUdPRMzg==} engines: {node: '>=10.x'} @@ -14794,7 +15565,7 @@ packages: react: '*' react-dom: '*' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0) rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) @@ -14802,13 +15573,13 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - /rc-upload@4.3.6(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Bt7ESeG5tT3IY82fZcP+s0tQU2xmo1W6P3S8NboUUliquJLQYLkUcsaExi3IlBVr43GQMCjo30RA2o0i70+NjA==, tarball: https://registry.npmmirror.com/rc-upload/-/rc-upload-4.3.6.tgz} + /rc-upload@4.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-QO3ne77DwnAPKFn0bA5qJM81QBjQi0e0NHdkvpFyY73Bea2NfITiotqJqVjHgeYPOJu5lLVR32TNGP084aSoXA==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 @@ -14821,19 +15592,19 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-is: 18.2.0 /rc-virtual-list@3.11.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-tu5UtrMk/AXonHwHxUogdXAWynaXsrx1i6dsgg+lOo/KJSF8oBAcprh1z5J3xgnPJD5hXxTL58F8s8onokdt0Q==, tarball: https://registry.npmmirror.com/rc-virtual-list/-/rc-virtual-list-3.11.3.tgz} + resolution: {integrity: sha512-tu5UtrMk/AXonHwHxUogdXAWynaXsrx1i6dsgg+lOo/KJSF8oBAcprh1z5J3xgnPJD5hXxTL58F8s8onokdt0Q==} engines: {node: '>=8.x'} peerDependencies: react: '*' react-dom: '*' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 classnames: 2.5.1 rc-resize-observer: 1.4.0(react-dom@18.2.0)(react@18.2.0) rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) @@ -14874,6 +15645,15 @@ packages: react: 18.2.0 dev: true + /react-countup@6.5.0(react@18.2.0): + resolution: {integrity: sha512-26JFHbUHsHxu8SetkJwWVIUEkaNnrj4P9msxNGC8tS4hGr1bngRzbwtJYOgXD2G/ItjaKJ3JfYKd85sw7qRVeA==} + peerDependencies: + react: '>= 16.3.0' + dependencies: + countup.js: 2.8.0 + react: 18.2.0 + dev: true + /react-dom@18.1.0(react@18.1.0): resolution: {integrity: sha512-fU1Txz7Budmvamp7bshe4Zi32d0ll7ect+ccxNu9FlObT605GOEB8BfO4tmRJ39R5Zj831VCpvQ05QPBW5yb+w==} peerDependencies: @@ -14894,7 +15674,7 @@ packages: scheduler: 0.23.0 /react-draggable@4.4.6(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-LtY5Xw1zTPqHkVmtM3X8MUOxNDOUhv/khTgBgrUvwaS064bwVvxT+q5El0uUFNx5IEPKXuRejr7UqLwBIg5pdw==, tarball: https://registry.npmmirror.com/react-draggable/-/react-draggable-4.4.6.tgz} + resolution: {integrity: sha512-LtY5Xw1zTPqHkVmtM3X8MUOxNDOUhv/khTgBgrUvwaS064bwVvxT+q5El0uUFNx5IEPKXuRejr7UqLwBIg5pdw==} peerDependencies: react: '>= 16.3.0' react-dom: '>= 16.3.0' @@ -14905,12 +15685,24 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /react-error-boundary@4.0.11(react@18.2.0): - resolution: {integrity: sha512-U13ul67aP5DOSPNSCWQ/eO0AQEYzEFkVljULQIjMV0KlffTAhxuDoBKdO0pb/JZ8mDhMKFZ9NZi0BmLGUiNphw==} + /react-easy-crop@5.0.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-GH7Jw3898ytSaN4i4Oxi7j3BKzapZ2pVgnKIl+gFIUjA+NsDgdBSIpiBQUrPFIvHzSnPmz0kGCpX95X6NgsDzA==} + peerDependencies: + react: '>=16.4.0' + react-dom: '>=16.4.0' + dependencies: + normalize-wheel: 1.0.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + tslib: 2.0.1 + dev: false + + /react-error-boundary@4.0.12(react@18.2.0): + resolution: {integrity: sha512-kJdxdEYlb7CPC1A0SeUY38cHpjuu6UkvzKiAmqmOFL21VRfMhOcWxTCBgLVCO0VEMh9JhFNcVaXlV4/BTpiwOA==} peerDependencies: react: '>=16.13.1' dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 react: 18.2.0 dev: true @@ -14928,7 +15720,7 @@ packages: react: ^16.6.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 invariant: 2.2.4 prop-types: 15.8.1 react: 18.1.0 @@ -14943,7 +15735,7 @@ packages: react: ^16.6.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 invariant: 2.2.4 prop-types: 15.8.1 react: 18.2.0 @@ -14952,31 +15744,35 @@ packages: shallowequal: 1.1.0 dev: true - /react-intl@6.5.5(react@18.2.0)(typescript@5.3.2): - resolution: {integrity: sha512-cI5UKvBh4tc1zxLIziHBYGMX3dhYWDEFlvUDVN6NfT2i96zTXz/zH2AmM8+2waqgOhwkFUzd+7kK1G9q7fiC2g==} + /react-intl@6.6.1(react@18.2.0)(typescript@5.3.3): + resolution: {integrity: sha512-oaMRr5A5KVpaOgnF0vdLTmBPI8rLQPReujmXTeIt2jCmZOJ+bcgqY/idFLVr52Iu/Aia8pDMBFUnzRjcg8T5aw==} peerDependencies: react: ^16.6.0 || 17 || 18 - typescript: '5' + typescript: ^4.7 || 5 peerDependenciesMeta: typescript: optional: true dependencies: - '@formatjs/ecma402-abstract': 1.18.0 - '@formatjs/icu-messageformat-parser': 2.7.3 - '@formatjs/intl': 2.9.9(typescript@5.3.2) - '@formatjs/intl-displaynames': 6.6.4 - '@formatjs/intl-listformat': 7.5.3 + '@formatjs/ecma402-abstract': 1.18.2 + '@formatjs/icu-messageformat-parser': 2.7.5 + '@formatjs/intl': 2.9.11(typescript@5.3.3) + '@formatjs/intl-displaynames': 6.6.6 + '@formatjs/intl-listformat': 7.5.5 '@types/hoist-non-react-statics': 3.3.5 - '@types/react': 18.2.39 + '@types/react': 18.2.48 hoist-non-react-statics: 3.3.2 - intl-messageformat: 10.5.8 + intl-messageformat: 10.5.10 react: 18.2.0 tslib: 2.6.2 - typescript: 5.3.2 + typescript: 5.3.3 dev: true /react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==, tarball: https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz} + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + /react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + dev: true /react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} @@ -15000,17 +15796,17 @@ packages: engines: {node: '>=0.10.0'} dev: true - /react-router-dom@6.21.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-QCNrtjtDPwHDO+AO21MJd7yIcr41UetYt5jzaB9Y1UYaPTCnVuJq6S748g1dE11OQlCFIQg+RtAA1SEZIyiBeA==} + /react-router-dom@6.21.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-kNzubk7n4YHSrErzjLK72j0B5i969GsuCGazRl3G6j1zqZBLjuSlYBdVdkDOgzGdPIffUOc9nmgiadTEVoq91g==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' react-dom: '>=16.8' dependencies: - '@remix-run/router': 1.14.1 + '@remix-run/router': 1.14.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-router: 6.21.1(react@18.2.0) + react-router: 6.21.3(react@18.2.0) dev: false /react-router-dom@6.3.0(react-dom@18.1.0)(react@18.1.0): @@ -15037,13 +15833,13 @@ packages: react-router: 6.3.0(react@18.2.0) dev: true - /react-router@6.21.1(react@18.2.0): - resolution: {integrity: sha512-W0l13YlMTm1YrpVIOpjCADJqEUpz1vm+CMo47RuFX4Ftegwm6KOYsL5G3eiE52jnJpKvzm6uB/vTKTPKM8dmkA==} + /react-router@6.21.3(react@18.2.0): + resolution: {integrity: sha512-a0H638ZXULv1OdkmiK6s6itNhoy33ywxmUFT/xtSoVyf9VnC7n7+VT4LjVzdIHSaF5TIh9ylUgxMXksHTgGrKg==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' dependencies: - '@remix-run/router': 1.14.1 + '@remix-run/router': 1.14.2 react: 18.2.0 dev: false @@ -15101,6 +15897,16 @@ packages: npm-normalize-package-bin: 3.0.1 dev: true + /read-package-json@7.0.0: + resolution: {integrity: sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + glob: 10.3.10 + json-parse-even-better-errors: 3.0.1 + normalize-package-data: 6.0.0 + npm-normalize-package-bin: 3.0.1 + dev: true + /read-pkg-up@3.0.0: resolution: {integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==} engines: {node: '>=4'} @@ -15155,7 +15961,7 @@ packages: dev: true /readable-stream@1.0.34: - resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==, tarball: https://registry.npmmirror.com/readable-stream/-/readable-stream-1.0.34.tgz} + resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -15175,7 +15981,7 @@ packages: util-deprecate: 1.0.2 /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==, tarball: https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz} + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} dependencies: inherits: 2.0.4 @@ -15227,11 +16033,11 @@ packages: dev: true /regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==, tarball: https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz} + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} dev: true - /regenerator-runtime@0.14.0: - resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==, tarball: https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz} + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} /regexp.prototype.flags@1.5.1: resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} @@ -15258,7 +16064,7 @@ packages: /rehype-autolink-headings@6.1.1: resolution: {integrity: sha512-NMYzZIsHM3sA14nC5rAFuUPIOfg+DFmf9EY1YMhaNlB7+3kK/ZlE6kqPfuxr1tsJ1XWkTrMtMoyHosU70d35mA==} dependencies: - '@types/hast': 2.3.8 + '@types/hast': 2.3.9 extend: 3.0.2 hast-util-has-property: 2.0.1 hast-util-heading-rank: 2.1.1 @@ -15270,7 +16076,7 @@ packages: /rehype-remove-comments@5.0.0: resolution: {integrity: sha512-sfiVT+u1in19sxo9vv/SDQVbHE2mADScNrpeVsUxBFl14zOMZnfPb6l4hR+lXqe10G13UFVqv5pt8zDbCR4JYQ==} dependencies: - '@types/hast': 2.3.8 + '@types/hast': 2.3.9 hast-util-is-conditional-comment: 2.0.0 unified: 10.1.2 unist-util-filter: 4.0.1 @@ -15279,7 +16085,7 @@ packages: /rehype-stringify@9.0.4: resolution: {integrity: sha512-Uk5xu1YKdqobe5XpSskwPvo1XeHUUucWEQSl8hTrXt5selvca1e8K1EZ37E6YoZ4BT8BCqCdVfQW7OfHfthtVQ==} dependencies: - '@types/hast': 2.3.8 + '@types/hast': 2.3.9 hast-util-to-html: 8.0.4 unified: 10.1.2 dev: true @@ -15333,7 +16139,7 @@ packages: /remark-rehype@10.1.0: resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} dependencies: - '@types/hast': 2.3.8 + '@types/hast': 2.3.9 '@types/mdast': 3.0.15 mdast-util-to-hast: 12.3.0 unified: 10.1.2 @@ -15387,7 +16193,7 @@ packages: dev: true /resize-observer-polyfill@1.5.1: - resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==, tarball: https://registry.npmmirror.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz} + resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} /resolve-cwd@3.0.0: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} @@ -15405,7 +16211,7 @@ packages: dev: true /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, tarball: https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz} + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} /resolve-from@5.0.0: @@ -15425,14 +16231,14 @@ packages: dev: true /resolve@1.19.0: - resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==, tarball: https://registry.npmmirror.com/resolve/-/resolve-1.19.0.tgz} + resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 dev: true /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==, tarball: https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz} + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true dependencies: is-core-module: 2.13.1 @@ -15486,8 +16292,8 @@ packages: engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: true - /rfdc@1.3.0: - resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} dev: true /rimraf@2.7.1: @@ -15595,8 +16401,8 @@ packages: mri: 1.2.0 dev: true - /safe-array-concat@1.0.1: - resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + /safe-array-concat@1.1.0: + resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} engines: {node: '>=0.4'} dependencies: call-bind: 1.0.5 @@ -15605,14 +16411,15 @@ packages: isarray: 2.0.5 /safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==, tarball: https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz} + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, tarball: https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz} + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: true - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + /safe-regex-test@1.0.2: + resolution: {integrity: sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 @@ -15624,10 +16431,10 @@ packages: dev: true /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==, tarball: https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz} + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - /sass@1.69.5: - resolution: {integrity: sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==} + /sass@1.70.0: + resolution: {integrity: sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -15670,7 +16477,7 @@ packages: dev: false /scroll-into-view-if-needed@3.1.0: - resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==, tarball: https://registry.npmmirror.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz} + resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} dependencies: compute-scroll-into-view: 3.1.0 dev: false @@ -15718,8 +16525,8 @@ packages: lru-cache: 6.0.0 dev: true - /serialize-javascript@6.0.1: - resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==, tarball: https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz} + /serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} dependencies: randombytes: 2.1.0 dev: true @@ -15728,11 +16535,12 @@ packages: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: true - /set-function-length@1.1.1: - resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==, tarball: https://registry.npmmirror.com/set-function-length/-/set-function-length-1.1.1.tgz} + /set-function-length@1.2.0: + resolution: {integrity: sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==} engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.1 + function-bind: 1.1.2 get-intrinsic: 1.2.2 gopd: 1.0.1 has-property-descriptors: 1.0.1 @@ -15799,7 +16607,7 @@ packages: dev: true /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==, tarball: https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz} + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 @@ -15828,6 +16636,20 @@ packages: - supports-color dev: true + /sigstore@2.2.0: + resolution: {integrity: sha512-fcU9clHwEss2/M/11FFM8Jwc4PjBgbhXoNskoK5guoK0qGQBSeUbQZRJ+B2fDFIvhyf0gqCaPrel9mszbhAxug==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@sigstore/bundle': 2.1.1 + '@sigstore/core': 0.2.0 + '@sigstore/protobuf-specs': 0.2.1 + '@sigstore/sign': 2.2.1 + '@sigstore/tuf': 2.3.0 + '@sigstore/verify': 0.1.0 + transitivePeerDependencies: + - supports-color + dev: true + /simple-swizzle@0.2.2: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} dependencies: @@ -15917,6 +16739,17 @@ packages: - supports-color dev: true + /socks-proxy-agent@8.0.2: + resolution: {integrity: sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + socks: 2.7.1 + transitivePeerDependencies: + - supports-color + dev: true + /socks@1.1.10: resolution: {integrity: sha512-ArX4vGPULWjKDKgUnW8YzfI2uXW7kzgkJuB0GnFBA/PfT3exrrOk+7Wk2oeb894Qf20u1PWv9LEgrO0Z82qAzA==} engines: {node: '>= 0.10.0', npm: '>= 1.3.5'} @@ -15997,7 +16830,7 @@ packages: dev: true /source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==, tarball: https://registry.npmmirror.com/source-map/-/source-map-0.5.7.tgz} + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} engines: {node: '>=0.10.0'} dev: false @@ -16007,7 +16840,7 @@ packages: dev: true /source-map@0.7.4: - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==, tarball: https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz} + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} dev: true @@ -16100,6 +16933,10 @@ packages: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: true + /ssim.js@3.5.0: + resolution: {integrity: sha512-Aj6Jl2z6oDmgYFFbQqK7fght19bXdOxY7Tj03nF+03M9gCBAjeIiO8/PlEGMfKDwYpw4q6iBqVq2YuREorGg/g==} + dev: true + /ssri@10.0.5: resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -16131,6 +16968,13 @@ packages: deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' dev: true + /stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + dependencies: + escape-string-regexp: 2.0.0 + dev: true + /stackframe@1.3.4: resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} dev: true @@ -16153,7 +16997,7 @@ packages: resolution: {integrity: sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==} dependencies: end-of-stream: 1.4.4 - stream-shift: 1.0.1 + stream-shift: 1.0.3 dev: true /stream-http@2.8.3: @@ -16166,8 +17010,8 @@ packages: xtend: 4.0.2 dev: true - /stream-shift@1.0.1: - resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==} + /stream-shift@1.0.3: + resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} dev: true /stream-transform@2.1.3: @@ -16187,7 +17031,7 @@ packages: dev: true /string-convert@0.2.1: - resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==, tarball: https://registry.npmmirror.com/string-convert/-/string-convert-0.2.1.tgz} + resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==} dev: false /string-width@2.1.1: @@ -16253,16 +17097,16 @@ packages: es-abstract: 1.22.3 /string_decoder@0.10.31: - resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==, tarball: https://registry.npmmirror.com/string_decoder/-/string_decoder-0.10.31.tgz} + resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} dev: false /string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==, tarball: https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz} + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, tarball: https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz} + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 dev: true @@ -16386,7 +17230,7 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true dependencies: - '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.13) + '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.15) balanced-match: 2.0.0 colord: 2.9.3 cosmiconfig: 7.1.0 @@ -16409,11 +17253,11 @@ packages: micromatch: 4.0.5 normalize-path: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.31 + postcss: 8.4.33 postcss-media-query-parser: 0.2.3 postcss-resolve-nested-selector: 0.1.1 - postcss-safe-parser: 6.0.0(postcss@8.4.31) - postcss-selector-parser: 6.0.13 + postcss-safe-parser: 6.0.0(postcss@8.4.33) + postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 resolve-from: 5.0.0 string-width: 4.2.3 @@ -16429,15 +17273,15 @@ packages: dev: true /stylis@4.2.0: - resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==, tarball: https://registry.npmmirror.com/stylis/-/stylis-4.2.0.tgz} + resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} dev: false - /stylis@4.3.0: - resolution: {integrity: sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==, tarball: https://registry.npmmirror.com/stylis/-/stylis-4.3.0.tgz} + /stylis@4.3.1: + resolution: {integrity: sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==} dev: false /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, tarball: https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz} + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} dependencies: has-flag: 3.0.0 @@ -16450,7 +17294,7 @@ packages: dev: true /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, tarball: https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz} + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} dependencies: has-flag: 4.0.0 @@ -16465,7 +17309,7 @@ packages: dev: true /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, tarball: https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz} + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} /svg-parser@2.0.4: @@ -16530,14 +17374,22 @@ packages: tslib: 2.6.2 dev: true - /systemjs@6.14.2: - resolution: {integrity: sha512-1TlOwvKWdXxAY9vba+huLu99zrQURDWA8pUTYsRIYDZYQbGyK+pyEP4h4dlySsqo7ozyJBmYD20F+iUHhAltEg==} + /synckit@0.9.0: + resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.6.2 + dev: true + + /systemjs@6.14.3: + resolution: {integrity: sha512-hQv45irdhXudAOr8r6SVSpJSGtogdGZUbJBRKCE5nsIS7tsxxvnIHqT4IOPWj+P+HcSzeWzHlGCGpmhPDIKe+w==} dev: true /szfe-tools@0.0.0-beta.7: resolution: {integrity: sha512-/M7+Tel2G8zapfDYZlz17hf9ViqAi/loZMfM81b5iZMyaWL/t5dajBszEBI2kyIDFzlLT4btBcq+BimFgmAHug==} dependencies: - '@babel/runtime': 7.23.4 + '@babel/runtime': 7.23.8 dev: false /table@6.8.1: @@ -16601,18 +17453,6 @@ packages: yallist: 4.0.0 dev: true - /tar@6.2.0: - resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} - engines: {node: '>=10'} - dependencies: - chownr: 2.0.0 - fs-minipass: 2.1.0 - minipass: 5.0.0 - minizlib: 2.1.2 - mkdirp: 1.0.4 - yallist: 4.0.0 - dev: true - /temp-dir@1.0.0: resolution: {integrity: sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==} engines: {node: '>=4'} @@ -16630,8 +17470,8 @@ packages: engines: {node: '>=8'} dev: true - /terser-webpack-plugin@5.3.9(webpack@5.89.0): - resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==, tarball: https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz} + /terser-webpack-plugin@5.3.10(webpack@5.89.0): + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' @@ -16646,21 +17486,21 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.22 jest-worker: 27.5.1 schema-utils: 3.3.0 - serialize-javascript: 6.0.1 - terser: 5.24.0 + serialize-javascript: 6.0.2 + terser: 5.27.0 webpack: 5.89.0 dev: true - /terser@5.24.0: - resolution: {integrity: sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==} + /terser@5.27.0: + resolution: {integrity: sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==} engines: {node: '>=10'} hasBin: true dependencies: '@jridgewell/source-map': 0.3.5 - acorn: 8.11.2 + acorn: 8.11.3 commander: 2.20.3 source-map-support: 0.5.21 dev: true @@ -16695,32 +17535,32 @@ packages: dev: true /throttle-debounce@5.0.0: - resolution: {integrity: sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==, tarball: https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-5.0.0.tgz} + resolution: {integrity: sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==} engines: {node: '>=12.22'} dev: false /through2@0.4.2: - resolution: {integrity: sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==, tarball: https://registry.npmmirror.com/through2/-/through2-0.4.2.tgz} + resolution: {integrity: sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==} dependencies: readable-stream: 1.0.34 xtend: 2.1.2 dev: false /through2@2.0.5: - resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==, tarball: https://registry.npmmirror.com/through2/-/through2-2.0.5.tgz} + resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} dependencies: readable-stream: 2.3.8 xtend: 4.0.2 dev: true /through2@4.0.2: - resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==, tarball: https://registry.npmmirror.com/through2/-/through2-4.0.2.tgz} + resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} dependencies: readable-stream: 3.6.2 dev: true /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, tarball: https://registry.npmmirror.com/through/-/through-2.3.8.tgz} + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} /timed-out@4.0.1: resolution: {integrity: sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==} @@ -16770,7 +17610,7 @@ packages: dev: true /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, tarball: https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz} + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} /to-regex-range@5.0.1: @@ -16781,7 +17621,7 @@ packages: dev: true /toggle-selection@1.0.6: - resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==, tarball: https://registry.npmmirror.com/toggle-selection/-/toggle-selection-1.0.6.tgz} + resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} /topojson-client@3.1.0: resolution: {integrity: sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==} @@ -16822,8 +17662,17 @@ packages: resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} dev: true - /ts-node@10.9.1(@types/node@20.5.1)(typescript@5.3.2): - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + /ts-api-utils@1.2.1(typescript@5.3.3): + resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.3.3 + dev: true + + /ts-node@10.9.2(@types/node@20.5.1)(typescript@5.3.3): + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: '@swc/core': '>=1.2.50' @@ -16842,13 +17691,13 @@ packages: '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 '@types/node': 20.5.1 - acorn: 8.11.2 - acorn-walk: 8.3.0 + acorn: 8.11.3 + acorn-walk: 8.3.2 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.3.2 + typescript: 5.3.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true @@ -16878,17 +17727,21 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true + /tslib@2.0.1: + resolution: {integrity: sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==} + dev: false + /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - /tsutils@3.21.0(typescript@5.3.2): + /tsutils@3.21.0(typescript@5.3.3): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 5.3.2 + typescript: 5.3.3 dev: true /tsx@3.14.0: @@ -16931,6 +17784,17 @@ packages: - supports-color dev: true + /tuf-js@2.2.0: + resolution: {integrity: sha512-ZSDngmP1z6zw+FIkIBjvOp/II/mIub/O7Pp12j1WNsiCpg5R5wAc//i555bBQsE44O94btLt0xM/Zr2LQjwdCg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@tufjs/models': 2.0.0 + debug: 4.3.4 + make-fetch-happen: 13.0.0 + transitivePeerDependencies: + - supports-color + dev: true + /turf-jsts@1.2.3: resolution: {integrity: sha512-Ja03QIJlPuHt4IQ2FfGex4F4JAr8m3jpaHbFbQrgwr7s7L6U8ocrHiF3J1+wf9jzhGKxvDeaCAnGDot8OjGFyA==} dev: false @@ -16942,6 +17806,11 @@ packages: prelude-ls: 1.2.1 dev: true + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + /type-fest@0.13.1: resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} engines: {node: '>=10'} @@ -17020,8 +17889,8 @@ packages: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: true - /types-ramda@0.29.6: - resolution: {integrity: sha512-VJoOk1uYNh9ZguGd3eZvqkdhD4hTGtnjRBUx5Zc0U9ftmnCgiWcSj/lsahzKunbiwRje1MxxNkEy1UdcXRCpYw==} + /types-ramda@0.29.7: + resolution: {integrity: sha512-8KBxZGJwUF3MpRkkJauSpvfHXk8Ssq15QXGuCBTDGeKd9PfheokkC3wAKRV3djej9O31Qa5M7Owsg8hF0GjtAw==} dependencies: ts-toolbelt: 9.6.0 dev: true @@ -17041,14 +17910,14 @@ packages: hasBin: true dev: true - /typescript@5.3.2: - resolution: {integrity: sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==} + /typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} engines: {node: '>=14.17'} hasBin: true dev: true /uglify-js@3.17.4: - resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==, tarball: https://registry.npmmirror.com/uglify-js/-/uglify-js-3.17.4.tgz} + resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} engines: {node: '>=0.8.0'} hasBin: true requiresBuild: true @@ -17062,22 +17931,22 @@ packages: qs: 6.11.2 dev: false - /umi@4.0.88(@babel/core@7.23.3)(@types/node@20.5.1)(@types/react@18.2.39)(eslint@8.54.0)(prettier@2.8.8)(react-dom@18.2.0)(react@18.2.0)(sass@1.69.5)(stylelint@14.16.1)(typescript@5.3.2)(webpack@5.89.0): - resolution: {integrity: sha512-gNgBMbLuZwj5c2uroFmtgT4tJO2JFKfIxJaad3oFa0cOzJMSx6CnaG3Z2/+pU2eAy9EMBvbtY/iAmkr3ZNEAWg==} + /umi@4.1.1(@babel/core@7.23.7)(@types/node@20.5.1)(@types/react@18.2.48)(eslint@8.56.0)(prettier@2.8.8)(react-dom@18.2.0)(react@18.2.0)(sass@1.70.0)(stylelint@14.16.1)(typescript@5.3.3)(webpack@5.89.0): + resolution: {integrity: sha512-FGSyS4V2kyXnrOudT3JBavhNjSIzgC1FJjOCmhjElmGIZV/FY9gpqOKk9WExdO96xSOvff0+16SK2WtQj/xQgQ==} engines: {node: '>=14'} hasBin: true dependencies: - '@babel/runtime': 7.23.2 - '@umijs/bundler-utils': 4.0.88 - '@umijs/bundler-webpack': 4.0.88(typescript@5.3.2)(webpack@5.89.0) - '@umijs/core': 4.0.88 - '@umijs/lint': 4.0.88(eslint@8.54.0)(stylelint@14.16.1)(typescript@5.3.2) - '@umijs/preset-umi': 4.0.88(@types/node@20.5.1)(@types/react@18.2.39)(sass@1.69.5)(typescript@5.3.2)(webpack@5.89.0) - '@umijs/renderer-react': 4.0.88(react-dom@18.2.0)(react@18.2.0) - '@umijs/server': 4.0.88 - '@umijs/test': 4.0.88(@babel/core@7.23.3) - '@umijs/utils': 4.0.88 - prettier-plugin-organize-imports: 3.2.4(prettier@2.8.8)(typescript@5.3.2) + '@babel/runtime': 7.23.6 + '@umijs/bundler-utils': 4.1.1 + '@umijs/bundler-webpack': 4.1.1(typescript@5.3.3)(webpack@5.89.0) + '@umijs/core': 4.1.1 + '@umijs/lint': 4.1.1(eslint@8.56.0)(stylelint@14.16.1)(typescript@5.3.3) + '@umijs/preset-umi': 4.1.1(@types/node@20.5.1)(@types/react@18.2.48)(sass@1.70.0)(typescript@5.3.3)(webpack@5.89.0) + '@umijs/renderer-react': 4.1.1(react-dom@18.2.0)(react@18.2.0) + '@umijs/server': 4.1.1 + '@umijs/test': 4.1.1(@babel/core@7.23.7) + '@umijs/utils': 4.1.1 + prettier-plugin-organize-imports: 3.2.4(prettier@2.8.8)(typescript@5.3.3) prettier-plugin-packagejson: 2.4.3(prettier@2.8.8) transitivePeerDependencies: - '@babel/core' @@ -17146,13 +18015,6 @@ packages: unique-slug: 2.0.2 dev: true - /unique-filename@2.0.1: - resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - unique-slug: 3.0.0 - dev: true - /unique-filename@3.0.0: resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -17166,13 +18028,6 @@ packages: imurmurhash: 0.1.4 dev: true - /unique-slug@3.0.0: - resolution: {integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - imurmurhash: 0.1.4 - dev: true - /unique-slug@4.0.0: resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -17320,7 +18175,7 @@ packages: qs: 6.11.2 dev: true - /use-isomorphic-layout-effect@1.1.2(@types/react@18.2.39)(react@18.1.0): + /use-isomorphic-layout-effect@1.1.2(@types/react@18.2.48)(react@18.1.0): resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} peerDependencies: '@types/react': '*' @@ -17329,12 +18184,12 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.39 + '@types/react': 18.2.48 react: 18.1.0 dev: true /use-merge-value@1.2.0(react@18.2.0): - resolution: {integrity: sha512-DXgG0kkgJN45TcyoXL49vJnn55LehnrmoHc7MbKi+QDBvr8dsesqws8UlyIWGHMR+JXgxc1nvY+jDGMlycsUcw==, tarball: https://registry.npmmirror.com/use-merge-value/-/use-merge-value-1.2.0.tgz} + resolution: {integrity: sha512-DXgG0kkgJN45TcyoXL49vJnn55LehnrmoHc7MbKi+QDBvr8dsesqws8UlyIWGHMR+JXgxc1nvY+jDGMlycsUcw==} peerDependencies: react: '>= 16.x' dependencies: @@ -17342,7 +18197,7 @@ packages: dev: false /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, tarball: https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz} + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} /util.promisify@1.0.1: resolution: {integrity: sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==} @@ -17370,12 +18225,12 @@ packages: dev: true /uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==, tarball: https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz} + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true dev: true /uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==, tarball: https://registry.npmmirror.com/uuid/-/uuid-9.0.1.tgz} + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true /uvu@0.5.6: @@ -17454,7 +18309,7 @@ packages: vfile-message: 3.1.4 dev: true - /vite@4.3.1(@types/node@20.5.1)(less@4.1.3)(sass@1.69.5): + /vite@4.3.1(@types/node@20.5.1)(less@4.1.3)(sass@1.70.0): resolution: {integrity: sha512-EPmfPLAI79Z/RofuMvkIS0Yr091T2ReUoXQqc5ppBX/sjFRhHKiPPF/R46cTdoci/XgeQpB23diiJxq5w30vdg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -17482,9 +18337,9 @@ packages: '@types/node': 20.5.1 esbuild: 0.17.19 less: 4.1.3 - postcss: 8.4.31 + postcss: 8.4.33 rollup: 3.29.4 - sass: 1.69.5 + sass: 1.70.0 optionalDependencies: fsevents: 2.3.3 dev: true @@ -17506,7 +18361,7 @@ packages: dev: false /watchpack@2.4.0: - resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==, tarball: https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz} + resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} engines: {node: '>=10.13.0'} dependencies: glob-to-regexp: 0.4.1 @@ -17529,8 +18384,8 @@ packages: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} dev: true - /web-streams-polyfill@3.2.1: - resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} + /web-streams-polyfill@3.3.2: + resolution: {integrity: sha512-3pRGuxRF5gpuZc0W+EpwQRmCD7gRqcDOMt688KmdlDAgAyaB1XlN0zq2njfDNm44XVdIouE7pZ6GzbdyH47uIQ==} engines: {node: '>= 8'} dev: true @@ -17539,12 +18394,12 @@ packages: dev: true /webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==, tarball: https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz} + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} dev: true /webpack@5.89.0: - resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==, tarball: https://registry.npmmirror.com/webpack/-/webpack-5.89.0.tgz} + resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -17558,8 +18413,8 @@ packages: '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/wasm-edit': 1.11.6 '@webassemblyjs/wasm-parser': 1.11.6 - acorn: 8.11.2 - acorn-import-assertions: 1.9.0(acorn@8.11.2) + acorn: 8.11.3 + acorn-import-assertions: 1.9.0(acorn@8.11.3) browserslist: 4.22.2 chrome-trace-event: 1.0.3 enhanced-resolve: 5.15.0 @@ -17574,7 +18429,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.9(webpack@5.89.0) + terser-webpack-plugin: 5.3.10(webpack@5.89.0) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -17584,11 +18439,11 @@ packages: dev: true /webworkify-webpack@2.1.5: - resolution: {integrity: sha512-2akF8FIyUvbiBBdD+RoHpoTbHMQF2HwjcxfDvgztAX5YwbZNyrtfUMgvfgFVsgDhDPVTlkbb5vyasqDHfIDPQw==, tarball: https://registry.npmmirror.com/webworkify-webpack/-/webworkify-webpack-2.1.5.tgz} + resolution: {integrity: sha512-2akF8FIyUvbiBBdD+RoHpoTbHMQF2HwjcxfDvgztAX5YwbZNyrtfUMgvfgFVsgDhDPVTlkbb5vyasqDHfIDPQw==} dev: false /whatwg-fetch@3.6.20: - resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==, tarball: https://registry.npmmirror.com/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz} + resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} dev: false /whatwg-url@5.0.0: @@ -17671,12 +18526,12 @@ packages: isexe: 2.0.0 dev: true - /which@3.0.1: - resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + /which@4.0.0: + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} + engines: {node: ^16.13.0 || >=18.0.0} hasBin: true dependencies: - isexe: 2.0.0 + isexe: 3.1.1 dev: true /wide-align@1.1.5: @@ -17791,14 +18646,14 @@ packages: dev: true /xtend@2.1.2: - resolution: {integrity: sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==, tarball: https://registry.npmmirror.com/xtend/-/xtend-2.1.2.tgz} + resolution: {integrity: sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==} engines: {node: '>=0.4'} dependencies: object-keys: 0.4.0 dev: false /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, tarball: https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz} + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} dev: true @@ -17828,7 +18683,7 @@ packages: dev: true /yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==, tarball: https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz} + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} /yaml@2.3.1: