@sima-land/ui-nucleons 45.0.0-alpha.7 → 45.0.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autocomplete/autocomplete.js +8 -8
- package/autocomplete/autocomplete.js.map +1 -1
- package/avatar/avatar.js +1 -1
- package/avatar/avatar.js.map +1 -1
- package/avatar/avatar.module.scss +6 -8
- package/avatar/types.d.ts +1 -0
- package/chips/chips-item.d.ts +15 -0
- package/chips/{item.js → chips-item.js} +7 -5
- package/chips/chips-item.js.map +1 -0
- package/chips/chips-item.module.scss +67 -0
- package/chips/chips.d.ts +17 -0
- package/chips/chips.js +25 -0
- package/chips/chips.js.map +1 -0
- package/chips/chips.module.scss +1 -69
- package/chips/index.d.ts +2 -16
- package/chips/index.js +5 -18
- package/chips/index.js.map +1 -1
- package/dropdown/utils.d.ts +1 -1
- package/expandable/index.js +6 -3
- package/expandable/index.js.map +1 -1
- package/file-icon/file-icon.module.scss +42 -0
- package/file-icon/index.d.ts +10 -3
- package/file-icon/index.js +10 -16
- package/file-icon/index.js.map +1 -1
- package/link/index.d.ts +2 -2
- package/link/index.js.map +1 -1
- package/modal/index.d.ts +1 -1
- package/package.json +14 -17
- package/pagination/pagination-item.js +1 -1
- package/pagination/pagination-item.js.map +1 -1
- package/pagination/pagination.js +1 -1
- package/pagination/pagination.js.map +1 -1
- package/popup/utils.d.ts +1 -1
- package/side-page/index.js +1 -1
- package/side-page/index.js.map +1 -1
- package/tabs/index.d.ts +24 -10
- package/tabs/index.js +8 -4
- package/tabs/index.js.map +1 -1
- package/textarea/index.js +1 -1
- package/toggle/toggle.module.scss +4 -4
- package/top-bar/top-bar.module.scss +1 -1
- package/upload-area/index.d.ts +2 -1
- package/upload-area/index.js +3 -1
- package/upload-area/index.js.map +1 -1
- package/upload-area/types.d.ts +10 -8
- package/upload-area/upload-area-util.scss +2 -0
- package/upload-area/upload-area.d.ts +1 -1
- package/upload-area/upload-area.js +6 -19
- package/upload-area/upload-area.js.map +1 -1
- package/upload-area/upload-area.module.scss +4 -1
- package/upload-area/utils.d.ts +7 -0
- package/upload-area/utils.js +20 -1
- package/upload-area/utils.js.map +1 -1
- package/chips/item.d.ts +0 -15
- package/chips/item.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sima-land/ui-nucleons",
|
|
3
|
-
"version": "45.0.0-alpha.
|
|
3
|
+
"version": "45.0.0-alpha.8",
|
|
4
4
|
"repository": "ssh://git@github.com:sima-land/ui-nucleons.git",
|
|
5
5
|
"author": "www.sima-land.ru team",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"lint": "npm run lint:scripts && npm run lint:styles",
|
|
21
21
|
"lint:scripts": "eslint --cache src/ --ext .js,.jsx,.ts,.tsx",
|
|
22
22
|
"lint:styles": "stylelint 'src/**/*.{css,scss}'",
|
|
23
|
-
"storybook": "BROWSERSLIST_ENV=\"storybook\" npx
|
|
24
|
-
"storybook:build": "BROWSERSLIST_ENV=\"storybook\" npx
|
|
23
|
+
"storybook": "BROWSERSLIST_ENV=\"storybook\" npx storybook dev -p 9009 -c .storybook",
|
|
24
|
+
"storybook:build": "BROWSERSLIST_ENV=\"storybook\" npx storybook build --quiet --loglevel error -o build-storybook",
|
|
25
25
|
"prettier": "prettier --write \"./src/**/*.{js,jsx,ts,tsx,css,scss}\"",
|
|
26
26
|
"prettier:check": "prettier --check \"./src/**/*.{js,jsx,ts,tsx,css,scss}\""
|
|
27
27
|
},
|
|
@@ -43,36 +43,32 @@
|
|
|
43
43
|
"@babel/preset-env": "^7.16.11",
|
|
44
44
|
"@babel/preset-react": "^7.16.7",
|
|
45
45
|
"@babel/preset-typescript": "^7.16.7",
|
|
46
|
-
"@playwright/test": "^1.
|
|
46
|
+
"@playwright/test": "^1.37.1",
|
|
47
47
|
"@rushstack/eslint-patch": "^1.1.1",
|
|
48
48
|
"@sima-land/linters": "^3.0.0",
|
|
49
|
-
"@storybook/addon-backgrounds": "^
|
|
50
|
-
"@storybook/addon-docs": "^
|
|
51
|
-
"@storybook/addon-
|
|
52
|
-
"@storybook/
|
|
53
|
-
"@storybook/
|
|
54
|
-
"@storybook/
|
|
55
|
-
"@storybook/react": "^
|
|
56
|
-
"@storybook/theming": "^
|
|
49
|
+
"@storybook/addon-backgrounds": "^7.4.0",
|
|
50
|
+
"@storybook/addon-docs": "^7.4.0",
|
|
51
|
+
"@storybook/addon-mdx-gfm": "^7.4.0",
|
|
52
|
+
"@storybook/addon-storysource": "^7.4.0",
|
|
53
|
+
"@storybook/addons": "^7.4.0",
|
|
54
|
+
"@storybook/react": "^7.4.0",
|
|
55
|
+
"@storybook/react-webpack5": "^7.4.0",
|
|
56
|
+
"@storybook/theming": "^7.4.0",
|
|
57
57
|
"@testing-library/react": "^12.1.4",
|
|
58
58
|
"@testing-library/user-event": "^14.4.3",
|
|
59
59
|
"@types/body-scroll-lock": "^3.1.0",
|
|
60
|
-
"@types/enzyme": "^3.10.11",
|
|
61
60
|
"@types/jest": "^27.4.1",
|
|
62
61
|
"@types/lodash": "^4.14.180",
|
|
63
62
|
"@types/overlayscrollbars": "^1.12.1",
|
|
64
63
|
"@types/react": "^17.0.40",
|
|
65
64
|
"@types/react-dom": "^17.0.13",
|
|
66
65
|
"@types/react-transition-group": "^4.4.4",
|
|
67
|
-
"@wojtekmaj/enzyme-adapter-react-17": "^0.6.6",
|
|
68
66
|
"babel-jest": "^27.5.1",
|
|
69
67
|
"clipboard": "^2.0.11",
|
|
70
68
|
"copyfiles": "^2.4.1",
|
|
71
69
|
"css-loader": "^6.7.1",
|
|
72
|
-
"enzyme": "^3.9.0",
|
|
73
|
-
"enzyme-to-json": "^3.6.2",
|
|
74
70
|
"eslint": "^8.11.0",
|
|
75
|
-
"eslint-plugin-storybook": "^0.6.
|
|
71
|
+
"eslint-plugin-storybook": "^0.6.13",
|
|
76
72
|
"file-loader": "^6.2.0",
|
|
77
73
|
"handlebars": "^4.7.7",
|
|
78
74
|
"husky": "^7.0.4",
|
|
@@ -88,6 +84,7 @@
|
|
|
88
84
|
"react-dom": "^17.0.2",
|
|
89
85
|
"sass": "^1.63.6",
|
|
90
86
|
"sass-loader": "^12.6.0",
|
|
87
|
+
"storybook": "^7.4.0",
|
|
91
88
|
"style-loader": "^3.3.1",
|
|
92
89
|
"stylelint": "^15.9.0",
|
|
93
90
|
"ts-node": "^10.9.1",
|
|
@@ -14,7 +14,7 @@ const cx = bind_1.default.bind(pagination_item_module_scss_1.default);
|
|
|
14
14
|
* @return Элемент.
|
|
15
15
|
*/
|
|
16
16
|
function PaginationItem({ rootRef, checked, disabled, children, rounds, onClick, className, href, role = !href ? 'button' : undefined, ...rest }) {
|
|
17
|
-
return ((0, jsx_runtime_1.jsx)("a", { ...rest, ref: rootRef, href: disabled ? undefined : href, role: role, className: cx('root', `rounds-${rounds}`, { checked, disabled }, className), onClick: disabled ? undefined : onClick, children: children }));
|
|
17
|
+
return ((0, jsx_runtime_1.jsx)("a", { "aria-disabled": disabled || undefined, "aria-current": checked || undefined, ...rest, ref: rootRef, href: disabled ? undefined : href, role: role, className: cx('root', `rounds-${rounds}`, { checked, disabled }, className), onClick: disabled ? undefined : onClick, children: children }));
|
|
18
18
|
}
|
|
19
19
|
exports.PaginationItem = PaginationItem;
|
|
20
20
|
//# sourceMappingURL=pagination-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination-item.js","sourceRoot":"","sources":["../../src/pagination/pagination-item.tsx"],"names":[],"mappings":";;;;;;;AACA,2DAAyC;AACzC,gGAAmD;AAEnD,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,qCAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACH,SAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,OAAO,EACP,SAAS,EACT,IAAI,EACJ,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACnC,GAAG,IAAI,EACa;IACpB,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"pagination-item.js","sourceRoot":"","sources":["../../src/pagination/pagination-item.tsx"],"names":[],"mappings":";;;;;;;AACA,2DAAyC;AACzC,gGAAmD;AAEnD,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,qCAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACH,SAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,OAAO,EACP,SAAS,EACT,IAAI,EACJ,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACnC,GAAG,IAAI,EACa;IACpB,OAAO,CACL,+CACiB,QAAQ,IAAI,SAAS,kBACtB,OAAO,IAAI,SAAS,KAC9B,IAAI,EACR,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EACjC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,SAAS,CAAC,EAC3E,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,YAEtC,QAAQ,GACP,CACL,CAAC;AACJ,CAAC;AA1BD,wCA0BC"}
|
package/pagination/pagination.js
CHANGED
|
@@ -18,7 +18,7 @@ const cx = bind_1.default.bind(pagination_module_scss_1.default);
|
|
|
18
18
|
* @param props Свойства.
|
|
19
19
|
* @return Элемент.
|
|
20
20
|
*/
|
|
21
|
-
function Pagination({ rootRef, current: currentProp
|
|
21
|
+
function Pagination({ rootRef, current: currentProp, total: totalProp, onPageChange, getItems = utils_1.getPaginationItems, renderItem = renderPaginationItem, className, ...restProps }) {
|
|
22
22
|
const { current, total } = (0, react_1.useMemo)(() => (0, utils_1.validatePaginationState)({ current: currentProp, total: totalProp }), [currentProp, totalProp]);
|
|
23
23
|
const items = (0, react_1.useMemo)(() => getItems({ current, total }), [current, total]);
|
|
24
24
|
const onChangeRef = (0, react_1.useRef)(onPageChange);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/pagination/pagination.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAAkF;AAOlF,mCAAsE;AACtE,uDAAmD;AACnD,gGAA2E;AAC3E,kGAA6E;AAC7E,2DAAyC;AACzC,sFAA8C;AAE9C,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,gCAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACH,SAAgB,UAAU,CAAC,EACzB,OAAO,EACP,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/pagination/pagination.tsx"],"names":[],"mappings":"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"}
|
package/popup/utils.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export declare function popupFloatingConfig(): Partial<UseFloatingProps>;
|
|
|
11
11
|
* @return Стили для элемента с учетом "слоя".
|
|
12
12
|
*/
|
|
13
13
|
export declare function usePopupFloatingStyle({ strategy, x, y, }: Pick<UseFloatingReturn, 'strategy' | 'x' | 'y'>): {
|
|
14
|
-
position: import("@floating-ui/
|
|
14
|
+
position: import("@floating-ui/utils").Strategy;
|
|
15
15
|
top: number;
|
|
16
16
|
left: number;
|
|
17
17
|
zIndex: number;
|
package/side-page/index.js
CHANGED
|
@@ -50,7 +50,7 @@ function SidePageInner({ size = 'm', children, onClose, withScrollDisable = fals
|
|
|
50
50
|
// условие нужно чтобы не было моментального закрытия на double click
|
|
51
51
|
...(transitionStatus !== 'entering' && overlayClickBind),
|
|
52
52
|
};
|
|
53
|
-
return ((0, jsx_runtime_1.jsx)(modal_overlay_1.ModalOverlay, { ...overlayProps, children: (0, jsx_runtime_1.jsxs)("div", { className: cx('side-page', `size-${size}`), children: [header, (0, jsx_runtime_1.jsx)("div", { ref: ref, className: cx('body'), children: body }), footer] }) }));
|
|
53
|
+
return ((0, jsx_runtime_1.jsx)(modal_overlay_1.ModalOverlay, { ...overlayProps, children: (0, jsx_runtime_1.jsxs)("div", { className: cx('side-page', `size-${size}`), "data-testid": 'side-page', children: [header, (0, jsx_runtime_1.jsx)("div", { ref: ref, className: cx('body'), children: body }), footer] }) }));
|
|
54
54
|
}
|
|
55
55
|
SidePage.Header = slots_1.SidePageHeader;
|
|
56
56
|
SidePage.Body = slots_1.SidePageBody;
|
package/side-page/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/side-page/index.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAAyD;AACzD,0DAAsD;AACtD,oEAAsF;AACtF,mCAAuE;AACvE,yFAAyF;AACzF,oDAAmE;AACnE,kDAAuD;AACvD,2DAAyC;AACzC,oFAA6C;AAqC7C,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,+BAAM,CAAC,CAAC;AAEnC,MAAM,iBAAiB,GAAG;IACxB,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC;IAClB,WAAW,EAAE,EAAE,CAAC,cAAc,CAAC;IAC/B,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC;IAChB,UAAU,EAAE,EAAE,CAAC,aAAa,CAAC;CACrB,CAAC;AAEX;;;;GAIG;AACH,SAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,eAAe,EACf,OAAO,EACP,UAAU,EACV,SAAS,EACT,MAAM,EACN,SAAS,EACT,QAAQ,EACR,GAAG,SAAS,EACE;IACd,MAAM,kBAAkB,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,OAAO,CACL,uBAAC,uBAAa,IACZ,EAAE,EAAE,KAAK,EACT,OAAO,EAAE,kBAAkB,EAC3B,UAAU,EAAE,iBAAiB,EAC7B,aAAa,QACb,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,YAEjB,gBAAgB,CAAC,EAAE,CAAC,CACnB,uBAAC,aAAa,OAAK,SAAS,KAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,GAAI,CAC/E,GACa,CACjB,CAAC;AACJ,CAAC;AA/BD,4BA+BC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,EACrB,IAAI,GAAG,GAAG,EACV,QAAQ,EACR,OAAO,EACP,iBAAiB,GAAG,KAAK,EACzB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GAInB;IACC,MAAM,gBAAgB,GAAG,IAAA,qBAAa,EAAC,OAAO,CAAC,CAAC;IAEhD,MAAM,GAAG,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IAEzC,IAAA,oCAAiB,EAAC,GAAG,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,oBAAoB,EAAE,CAAC,CAAC;IAEpF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAA,0BAAW,EAAC,QAAQ,EAAE;QACrD,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAC;IAEH,MAAM,YAAY,GAAsB;QACtC,KAAK,EAAE,EAAE,uBAAuB,EAAE,GAAG,kBAAkB,IAAI,EAAmB;QAE9E,qEAAqE;QACrE,GAAG,CAAC,gBAAgB,KAAK,UAAU,IAAI,gBAAgB,CAAC;KACzD,CAAC;IAEF,OAAO,CACL,uBAAC,4BAAY,OAAK,YAAY,YAC5B,iCAAK,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,QAAQ,IAAI,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/side-page/index.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAAyD;AACzD,0DAAsD;AACtD,oEAAsF;AACtF,mCAAuE;AACvE,yFAAyF;AACzF,oDAAmE;AACnE,kDAAuD;AACvD,2DAAyC;AACzC,oFAA6C;AAqC7C,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,+BAAM,CAAC,CAAC;AAEnC,MAAM,iBAAiB,GAAG;IACxB,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC;IAClB,WAAW,EAAE,EAAE,CAAC,cAAc,CAAC;IAC/B,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC;IAChB,UAAU,EAAE,EAAE,CAAC,aAAa,CAAC;CACrB,CAAC;AAEX;;;;GAIG;AACH,SAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,eAAe,EACf,OAAO,EACP,UAAU,EACV,SAAS,EACT,MAAM,EACN,SAAS,EACT,QAAQ,EACR,GAAG,SAAS,EACE;IACd,MAAM,kBAAkB,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,OAAO,CACL,uBAAC,uBAAa,IACZ,EAAE,EAAE,KAAK,EACT,OAAO,EAAE,kBAAkB,EAC3B,UAAU,EAAE,iBAAiB,EAC7B,aAAa,QACb,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,YAEjB,gBAAgB,CAAC,EAAE,CAAC,CACnB,uBAAC,aAAa,OAAK,SAAS,KAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,GAAI,CAC/E,GACa,CACjB,CAAC;AACJ,CAAC;AA/BD,4BA+BC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,EACrB,IAAI,GAAG,GAAG,EACV,QAAQ,EACR,OAAO,EACP,iBAAiB,GAAG,KAAK,EACzB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GAInB;IACC,MAAM,gBAAgB,GAAG,IAAA,qBAAa,EAAC,OAAO,CAAC,CAAC;IAEhD,MAAM,GAAG,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IAEzC,IAAA,oCAAiB,EAAC,GAAG,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,oBAAoB,EAAE,CAAC,CAAC;IAEpF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAA,0BAAW,EAAC,QAAQ,EAAE;QACrD,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAC;IAEH,MAAM,YAAY,GAAsB;QACtC,KAAK,EAAE,EAAE,uBAAuB,EAAE,GAAG,kBAAkB,IAAI,EAAmB;QAE9E,qEAAqE;QACrE,GAAG,CAAC,gBAAgB,KAAK,UAAU,IAAI,gBAAgB,CAAC;KACzD,CAAC;IAEF,OAAO,CACL,uBAAC,4BAAY,OAAK,YAAY,YAC5B,iCAAK,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,QAAQ,IAAI,EAAE,CAAC,iBAAc,WAAW,aACrE,MAAM,EACP,gCAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,YACjC,IAAI,GACD,EACL,MAAM,IACH,GACO,CAChB,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,MAAM,GAAG,sBAAc,CAAC;AACjC,QAAQ,CAAC,IAAI,GAAG,oBAAY,CAAC;AAC7B,QAAQ,CAAC,MAAM,GAAG,sBAAc,CAAC"}
|
package/tabs/index.d.ts
CHANGED
|
@@ -1,36 +1,50 @@
|
|
|
1
|
-
|
|
1
|
+
import { CSSProperties, MouseEventHandler, ReactNode } from 'react';
|
|
2
|
+
export interface TabsStyle extends CSSProperties {
|
|
3
|
+
'--tabs-gap'?: string;
|
|
4
|
+
}
|
|
2
5
|
export interface TabsProps {
|
|
3
6
|
/** Визуальный вариант вкладок. */
|
|
4
7
|
view?: 'clean' | 'clean-underline' | 'round';
|
|
5
8
|
/** Необходимо ли растягивать вкладки под размер контейнера. */
|
|
6
9
|
stretch?: boolean;
|
|
7
10
|
/** Размер отступа между вкладками. */
|
|
8
|
-
gapSize?: 's' | 'm';
|
|
11
|
+
gapSize?: 's' | 'm' | 'unset';
|
|
9
12
|
/** Внешние классы. */
|
|
10
13
|
className?: string;
|
|
14
|
+
/** Стили. */
|
|
15
|
+
style?: TabsStyle;
|
|
11
16
|
/** Вкладки. */
|
|
12
|
-
children?:
|
|
17
|
+
children?: ReactNode;
|
|
13
18
|
/** Идентификатор для систем автоматизированного тестирования. */
|
|
14
19
|
'data-testid'?: string;
|
|
15
20
|
}
|
|
16
21
|
export interface TabsItemProps {
|
|
17
22
|
/** Название вкладки. */
|
|
18
|
-
name
|
|
23
|
+
name?: string;
|
|
19
24
|
/** Выбрана ли вкладка. */
|
|
20
25
|
selected?: boolean;
|
|
21
26
|
/** Отключена ли вкладка. */
|
|
22
27
|
disabled?: boolean;
|
|
28
|
+
/** Обработчик клика. */
|
|
29
|
+
onClick?: MouseEventHandler<HTMLLIElement>;
|
|
30
|
+
/** Содержимое. */
|
|
31
|
+
children?: ReactNode;
|
|
23
32
|
/** Идентификатор для систем автоматизированного тестирования. */
|
|
24
33
|
'data-testid'?: string;
|
|
25
|
-
/** Обработчик клика. */
|
|
26
|
-
onClick?: React.MouseEventHandler<HTMLLIElement>;
|
|
27
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Вкладка.
|
|
37
|
+
* @param props Свойства.
|
|
38
|
+
* @return Элемент.
|
|
39
|
+
*/
|
|
40
|
+
declare function Tab({ name, selected, disabled, 'data-testid': testId, onClick, children, }: TabsItemProps): JSX.Element;
|
|
28
41
|
/**
|
|
29
42
|
* Компонент строки вкладок.
|
|
30
43
|
* @param props Свойства.
|
|
31
44
|
* @return Элемент.
|
|
32
45
|
*/
|
|
33
|
-
export declare
|
|
34
|
-
|
|
35
|
-
Item:
|
|
36
|
-
}
|
|
46
|
+
export declare function Tabs({ children, view, stretch, gapSize, className, style, 'data-testid': testId, }: TabsProps): JSX.Element;
|
|
47
|
+
export declare namespace Tabs {
|
|
48
|
+
var Item: typeof Tab;
|
|
49
|
+
}
|
|
50
|
+
export {};
|
package/tabs/index.js
CHANGED
|
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Tabs = void 0;
|
|
7
7
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
-
const react_1 = require("react");
|
|
9
8
|
const bind_1 = __importDefault(require("classnames/bind"));
|
|
10
9
|
const tabs_module_scss_1 = __importDefault(require("./tabs.module.scss"));
|
|
11
10
|
const cx = bind_1.default.bind(tabs_module_scss_1.default);
|
|
@@ -14,13 +13,18 @@ const cx = bind_1.default.bind(tabs_module_scss_1.default);
|
|
|
14
13
|
* @param props Свойства.
|
|
15
14
|
* @return Элемент.
|
|
16
15
|
*/
|
|
17
|
-
|
|
16
|
+
function Tab({ name, selected, disabled, 'data-testid': testId = 'tab', onClick, children, }) {
|
|
17
|
+
return ((0, jsx_runtime_1.jsx)("li", { className: cx('item', { selected, disabled }), "data-testid": testId, onClick: disabled ? undefined : onClick, children: typeof name !== 'undefined' ? String(name) : children }));
|
|
18
|
+
}
|
|
18
19
|
/**
|
|
19
20
|
* Компонент строки вкладок.
|
|
20
21
|
* @param props Свойства.
|
|
21
22
|
* @return Элемент.
|
|
22
23
|
*/
|
|
23
|
-
|
|
24
|
+
function Tabs({ children, view = 'clean', stretch = false, gapSize = 'm', className, style, 'data-testid': testId = 'tabs', }) {
|
|
25
|
+
const rootClassName = cx('root', `view-${view}`, gapSize && gapSize !== 'unset' && `gap-${gapSize}`, { stretch }, className);
|
|
26
|
+
return ((0, jsx_runtime_1.jsx)("ul", { "data-testid": testId, className: rootClassName, style: style, children: children }));
|
|
27
|
+
}
|
|
24
28
|
exports.Tabs = Tabs;
|
|
25
|
-
|
|
29
|
+
Tabs.Item = Tab;
|
|
26
30
|
//# sourceMappingURL=index.js.map
|
package/tabs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tabs/index.tsx"],"names":[],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tabs/index.tsx"],"names":[],"mappings":";;;;;;;AACA,2DAAyC;AACzC,0EAAwC;AAiDxC,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,0BAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACH,SAAS,GAAG,CAAC,EACX,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,aAAa,EAAE,MAAM,GAAG,KAAK,EAC7B,OAAO,EACP,QAAQ,GACM;IACd,OAAO,CACL,+BACE,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,iBAChC,MAAM,EACnB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,YAEtC,OAAO,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,GACnD,CACN,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,IAAI,GAAG,OAAO,EACd,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,GAAG,EACb,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,GAAG,MAAM,GACpB;IACV,MAAM,aAAa,GAAG,EAAE,CACtB,MAAM,EACN,QAAQ,IAAI,EAAE,EACd,OAAO,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,OAAO,EAAE,EAClD,EAAE,OAAO,EAAE,EACX,SAAS,CACV,CAAC;IAEF,OAAO,CACL,8CAAiB,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,YAC5D,QAAQ,GACN,CACN,CAAC;AACJ,CAAC;AAtBD,oBAsBC;AAED,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC"}
|
package/textarea/index.js
CHANGED
|
@@ -23,7 +23,7 @@ textareaRef, baseInputProps,
|
|
|
23
23
|
// root props
|
|
24
24
|
style, className,
|
|
25
25
|
// textarea element props (popular)
|
|
26
|
-
autoComplete, autoFocus, defaultValue, disabled, id, name, onBlur, onChange, onFocus, onInput, placeholder, readOnly, required, rows =
|
|
26
|
+
autoComplete, autoFocus, defaultValue, disabled, id, name, onBlur, onChange, onFocus, onInput, placeholder, readOnly, required, rows = 2, value,
|
|
27
27
|
// FieldBlock props
|
|
28
28
|
label, failed, caption, blockProps, 'data-testid': testId = 'textarea', ...restProps }) {
|
|
29
29
|
const ref = (0, react_1.useRef)(null);
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
.root {
|
|
4
4
|
position: relative;
|
|
5
5
|
display: inline-block;
|
|
6
|
-
cursor: pointer;
|
|
7
6
|
user-select: none;
|
|
8
7
|
vertical-align: -2px;
|
|
9
8
|
}
|
|
@@ -14,9 +13,9 @@
|
|
|
14
13
|
opacity: 0;
|
|
15
14
|
padding: 0;
|
|
16
15
|
margin: 0;
|
|
17
|
-
width:
|
|
18
|
-
height:
|
|
19
|
-
|
|
16
|
+
width: 100%;
|
|
17
|
+
height: 100%;
|
|
18
|
+
cursor: pointer;
|
|
20
19
|
&:not(:checked) + .switch {
|
|
21
20
|
--toggle-slider-position: 2px;
|
|
22
21
|
}
|
|
@@ -45,6 +44,7 @@
|
|
|
45
44
|
border-radius: 12px;
|
|
46
45
|
background: var(--toggle-primary-color);
|
|
47
46
|
transition: background 0.16s ease-in-out;
|
|
47
|
+
pointer-events: none;
|
|
48
48
|
&::after {
|
|
49
49
|
content: '';
|
|
50
50
|
position: absolute;
|
package/upload-area/index.d.ts
CHANGED
package/upload-area/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UploadArea = void 0;
|
|
3
|
+
exports.getFilesDescription = exports.UploadArea = void 0;
|
|
4
4
|
var upload_area_1 = require("./upload-area");
|
|
5
5
|
Object.defineProperty(exports, "UploadArea", { enumerable: true, get: function () { return upload_area_1.UploadArea; } });
|
|
6
|
+
var utils_1 = require("./utils");
|
|
7
|
+
Object.defineProperty(exports, "getFilesDescription", { enumerable: true, get: function () { return utils_1.getFilesDescription; } });
|
|
6
8
|
//# sourceMappingURL=index.js.map
|
package/upload-area/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/upload-area/index.ts"],"names":[],"mappings":";;;AACA,6CAA2C;AAAlC,yGAAA,UAAU,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/upload-area/index.ts"],"names":[],"mappings":";;;AACA,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,iCAA8C;AAArC,4GAAA,mBAAmB,OAAA"}
|
package/upload-area/types.d.ts
CHANGED
|
@@ -7,22 +7,16 @@ export interface UploadAreaProps {
|
|
|
7
7
|
className?: string;
|
|
8
8
|
/** Стили корневого элемента. */
|
|
9
9
|
style?: CSSProperties;
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
title?: string;
|
|
11
|
+
description?: string;
|
|
12
12
|
/** Состояние с ошибками валидации. */
|
|
13
13
|
failed?: boolean;
|
|
14
14
|
/** Отключенное состояния. */
|
|
15
15
|
disabled?: boolean;
|
|
16
|
-
/** Роль файлов. */
|
|
17
|
-
fileRole?: string;
|
|
18
|
-
/** Форматы файлов, выводятся пользователю. */
|
|
19
|
-
formats?: string;
|
|
20
16
|
/** Ограничение на количество файлов. */
|
|
21
17
|
multiple?: boolean;
|
|
22
18
|
/** Сработает при выборе или перетаскивании файлов, получив список файлов и событие. */
|
|
23
19
|
onSelect?: (list: File[], event: DragEvent<HTMLElement> | ChangeEvent<HTMLInputElement>) => void;
|
|
24
|
-
/** Ограничение на размер. */
|
|
25
|
-
sizeLimit?: string;
|
|
26
20
|
/** Свойства корневого элемента. */
|
|
27
21
|
rootProps?: HTMLAttributes<HTMLElement>;
|
|
28
22
|
/** Свойства элемента input. */
|
|
@@ -30,3 +24,11 @@ export interface UploadAreaProps {
|
|
|
30
24
|
/** Идентификатор для систем автоматизированного тестирования. */
|
|
31
25
|
'data-testid'?: string;
|
|
32
26
|
}
|
|
27
|
+
export interface DescriptionPayload {
|
|
28
|
+
/** Ограничение на количество файлов. */
|
|
29
|
+
countLimit?: number;
|
|
30
|
+
/** Ограничение на размер. */
|
|
31
|
+
sizeLimit?: string;
|
|
32
|
+
/** Форматы файлов, выводятся пользователю. */
|
|
33
|
+
formats?: string;
|
|
34
|
+
}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
--justify-content: flex-start;
|
|
5
5
|
--icon-size: 0;
|
|
6
6
|
--icon-display: none;
|
|
7
|
+
--icon-gap: 0;
|
|
7
8
|
--min-height: calc(48px + (2 * var(--padding-y)));
|
|
8
9
|
}
|
|
9
10
|
|
|
@@ -13,5 +14,6 @@
|
|
|
13
14
|
--justify-content: center;
|
|
14
15
|
--icon-size: 64px;
|
|
15
16
|
--icon-display: block;
|
|
17
|
+
--icon-gap: 24px;
|
|
16
18
|
--min-height: calc(var(--icon-size) + (2 * var(--padding-y)));
|
|
17
19
|
}
|
|
@@ -5,4 +5,4 @@ import { UploadAreaProps } from './types';
|
|
|
5
5
|
* @param props Свойства.
|
|
6
6
|
* @return Элемент.
|
|
7
7
|
*/
|
|
8
|
-
export declare function UploadArea({ className, style, size, multiple, disabled, failed,
|
|
8
|
+
export declare function UploadArea({ title, description, className, style, size, multiple, disabled, failed, onSelect, rootProps, inputProps, 'data-testid': testId, }: UploadAreaProps): JSX.Element;
|
|
@@ -8,8 +8,6 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
8
8
|
const react_1 = require("react");
|
|
9
9
|
const link_1 = require("../link");
|
|
10
10
|
const utils_1 = require("./utils");
|
|
11
|
-
const lodash_1 = require("lodash");
|
|
12
|
-
const get_declination_1 = require("../helpers/get-declination");
|
|
13
11
|
const Upload_1 = __importDefault(require("@sima-land/ui-quarks/icons/64x64/Stroked/Upload"));
|
|
14
12
|
const bind_1 = __importDefault(require("classnames/bind"));
|
|
15
13
|
const upload_area_module_scss_1 = __importDefault(require("./upload-area.module.scss"));
|
|
@@ -19,24 +17,13 @@ const cx = bind_1.default.bind(upload_area_module_scss_1.default);
|
|
|
19
17
|
* @param props Свойства.
|
|
20
18
|
* @return Элемент.
|
|
21
19
|
*/
|
|
22
|
-
function UploadArea({ className, style, size = 'm', multiple, disabled, failed,
|
|
20
|
+
function UploadArea({ title, description, className, style, size = 'm', multiple, disabled, failed, onSelect, rootProps, inputProps, 'data-testid': testId = 'upload-area', }) {
|
|
23
21
|
const inputRef = (0, react_1.useRef)(null);
|
|
24
|
-
const secondaryInfo = (0, lodash_1.upperFirst)([
|
|
25
|
-
typeof countLimit === 'number' && countLimit > 0
|
|
26
|
-
? `${countLimit} ${(0, get_declination_1.getDeclination)(countLimit, ['файл', 'файла', 'файлов'])}`
|
|
27
|
-
: null,
|
|
28
|
-
formats ? `формат ${formats}` : null,
|
|
29
|
-
sizeLimit ? `до ${sizeLimit}` : null,
|
|
30
|
-
]
|
|
31
|
-
.filter(Boolean)
|
|
32
|
-
.join(', '));
|
|
33
22
|
const filterFiles = (0, react_1.useCallback)((files) => {
|
|
34
23
|
const result = [...files];
|
|
35
|
-
multiple
|
|
36
|
-
? countLimit && Number.isFinite(countLimit) && result.splice(countLimit)
|
|
37
|
-
: result.splice(1);
|
|
24
|
+
multiple ? result : result.splice(1);
|
|
38
25
|
return result;
|
|
39
|
-
}, [multiple
|
|
26
|
+
}, [multiple]);
|
|
40
27
|
const onInputChange = (0, react_1.useCallback)(event => {
|
|
41
28
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(filterFiles(event.target.files || []), event);
|
|
42
29
|
// очищаем поле чтобы можно было выбрать тот же файл повторно
|
|
@@ -67,10 +54,10 @@ function UploadArea({ className, style, size = 'm', multiple, disabled, failed,
|
|
|
67
54
|
}, onBlur: event => {
|
|
68
55
|
var _a;
|
|
69
56
|
(_a = rootProps === null || rootProps === void 0 ? void 0 : rootProps.onBlur) === null || _a === void 0 ? void 0 : _a.call(rootProps, event);
|
|
70
|
-
}, children: [(0, jsx_runtime_1.jsx)(Upload_1.default, { className: cx('icon') }), (0, jsx_runtime_1.jsxs)("div", { className: cx('info'), children: [(0, jsx_runtime_1.jsxs)("div", { className: cx('text', 'primary'), children: [(0, jsx_runtime_1.jsx)("input", { ...inputProps, ref: inputRef, type: 'file', multiple: multiple, className: cx('input'), onChange: onInputChange, onClick: e => {
|
|
71
|
-
// для того чтобы при клике на корневом элементе не вызывался второй клик
|
|
57
|
+
}, children: [(0, jsx_runtime_1.jsx)(Upload_1.default, { className: cx('icon') }), (0, jsx_runtime_1.jsxs)("div", { className: cx('info', { empty: !title && !description }), children: [(0, jsx_runtime_1.jsxs)("div", { className: cx('text', 'primary'), children: [(0, jsx_runtime_1.jsx)("input", { ...inputProps, ref: inputRef, type: 'file', multiple: multiple, className: cx('input', inputProps === null || inputProps === void 0 ? void 0 : inputProps.className), onChange: onInputChange, onClick: e => {
|
|
58
|
+
// ВАЖНО: для того чтобы при клике на корневом элементе не вызывался второй клик
|
|
72
59
|
e.stopPropagation();
|
|
73
|
-
}, "data-testid": 'upload-area:input', disabled: disabled }), (0, jsx_runtime_1.
|
|
60
|
+
}, "data-testid": 'upload-area:input', disabled: disabled }), (0, jsx_runtime_1.jsx)(link_1.Link, { pseudo: true, "data-testid": 'upload-area:anchor', disabled: disabled, children: title })] }), description && (0, jsx_runtime_1.jsx)("div", { className: cx('text', 'secondary'), children: description })] })] }));
|
|
74
61
|
}
|
|
75
62
|
exports.UploadArea = UploadArea;
|
|
76
63
|
//# sourceMappingURL=upload-area.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-area.js","sourceRoot":"","sources":["../../src/upload-area/upload-area.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAAgE;AAChE,kCAA+B;AAC/B,mCAAuC;
|
|
1
|
+
{"version":3,"file":"upload-area.js","sourceRoot":"","sources":["../../src/upload-area/upload-area.tsx"],"names":[],"mappings":"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"}
|
|
@@ -43,10 +43,13 @@
|
|
|
43
43
|
height: var(--icon-size);
|
|
44
44
|
display: var(--icon-display);
|
|
45
45
|
flex-shrink: 0;
|
|
46
|
-
margin-right: 24px;
|
|
47
46
|
fill: colors.$basic-gray24;
|
|
48
47
|
}
|
|
49
48
|
|
|
49
|
+
.icon + .info:not(.empty) {
|
|
50
|
+
margin-left: var(--icon-gap);
|
|
51
|
+
}
|
|
52
|
+
|
|
50
53
|
.info {
|
|
51
54
|
display: flex;
|
|
52
55
|
flex-direction: column;
|
package/upload-area/utils.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DragEventHandler } from 'react';
|
|
2
|
+
import { DescriptionPayload } from './types';
|
|
2
3
|
type UseFilesDropResult<T> = {
|
|
3
4
|
active: boolean;
|
|
4
5
|
bind: {
|
|
@@ -14,4 +15,10 @@ type UseFilesDropResult<T> = {
|
|
|
14
15
|
* @return Данные.
|
|
15
16
|
*/
|
|
16
17
|
export declare function useFilesDrop<T extends HTMLElement = HTMLElement>(callback: DragEventHandler<T>): UseFilesDropResult<T>;
|
|
18
|
+
/**
|
|
19
|
+
* Возвращает строку с описанием файлов для отправки по дизайн-гайдам.
|
|
20
|
+
* @param payload Информация о файлах.
|
|
21
|
+
* @return Строка.
|
|
22
|
+
*/
|
|
23
|
+
export declare function getFilesDescription({ countLimit, sizeLimit, formats, }: DescriptionPayload): string;
|
|
17
24
|
export {};
|
package/upload-area/utils.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useFilesDrop = void 0;
|
|
3
|
+
exports.getFilesDescription = exports.useFilesDrop = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
const identity_1 = require("../hooks/identity");
|
|
6
|
+
const get_declination_1 = require("../helpers/get-declination");
|
|
6
7
|
/**
|
|
7
8
|
* Хук обработки перетаскивания файлов на элемент.
|
|
8
9
|
* @param callback Опции.
|
|
@@ -46,4 +47,22 @@ function useFilesDrop(callback) {
|
|
|
46
47
|
};
|
|
47
48
|
}
|
|
48
49
|
exports.useFilesDrop = useFilesDrop;
|
|
50
|
+
/**
|
|
51
|
+
* Возвращает строку с описанием файлов для отправки по дизайн-гайдам.
|
|
52
|
+
* @param payload Информация о файлах.
|
|
53
|
+
* @return Строка.
|
|
54
|
+
*/
|
|
55
|
+
function getFilesDescription({ countLimit, sizeLimit, formats, }) {
|
|
56
|
+
const description = [
|
|
57
|
+
typeof countLimit === 'number' && countLimit > 0
|
|
58
|
+
? `${countLimit} ${(0, get_declination_1.getDeclination)(countLimit, ['файл', 'файла', 'файлов'])}`
|
|
59
|
+
: null,
|
|
60
|
+
formats ? `формат ${formats}` : null,
|
|
61
|
+
sizeLimit ? `до ${sizeLimit}` : null,
|
|
62
|
+
]
|
|
63
|
+
.filter(Boolean)
|
|
64
|
+
.join(', ');
|
|
65
|
+
return description;
|
|
66
|
+
}
|
|
67
|
+
exports.getFilesDescription = getFilesDescription;
|
|
49
68
|
//# sourceMappingURL=utils.js.map
|
package/upload-area/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/upload-area/utils.ts"],"names":[],"mappings":";;;AAAA,iCAAgE;AAChE,gDAAmD;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/upload-area/utils.ts"],"names":[],"mappings":";;;AAAA,iCAAgE;AAChE,gDAAmD;AACnD,gEAA4D;AAa5D;;;;GAIG;AACH,SAAgB,YAAY,CAC1B,QAA6B;IAE7B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAA,yBAAc,EAAC,QAAQ,CAAC,CAAC;IAE7C,MAAM,WAAW,GAAG,IAAA,mBAAW,EAAsB,KAAK,CAAC,EAAE;QAC3D,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,SAAS,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,IAAA,mBAAW,EAAsB,KAAK,CAAC,EAAE;QAC1D,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,SAAS,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,IAAA,mBAAW,EAAsB,KAAK,CAAC,EAAE;QAC3D,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;QAE/C,2CAA2C;QAC3C,IACE,CAAC,aAAa;YACd,CAAC,aAAa,YAAY,IAAI;gBAC5B,aAAa,YAAY,IAAI;gBAC7B,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EACzC;YACA,SAAS,CAAC,KAAK,CAAC,CAAC;SAClB;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,MAAM,GAAG,IAAA,mBAAW,EAAsB,KAAK,CAAC,EAAE;QACtD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,MAAM;QAEN,IAAI,EAAE;YACJ,WAAW;YACX,UAAU;YACV,WAAW;YACX,MAAM;SACP;KACF,CAAC;AACJ,CAAC;AA/CD,oCA+CC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,EAClC,UAAU,EACV,SAAS,EACT,OAAO,GACY;IACnB,MAAM,WAAW,GAAW;QAC1B,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,GAAG,CAAC;YAC9C,CAAC,CAAC,GAAG,UAAU,IAAI,IAAA,gCAAc,EAAC,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC5E,CAAC,CAAC,IAAI;QAER,OAAO,CAAC,CAAC,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI;QAEpC,SAAS,CAAC,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI;KACrC;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO,WAAW,CAAC;AACrB,CAAC;AAlBD,kDAkBC"}
|
package/chips/item.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
export interface ChipsItemProps {
|
|
3
|
-
href?: string;
|
|
4
|
-
children?: React.ReactNode;
|
|
5
|
-
withCross?: boolean;
|
|
6
|
-
target?: string;
|
|
7
|
-
onClick?: React.MouseEventHandler<HTMLAnchorElement>;
|
|
8
|
-
checked?: boolean;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Элемент списка "чипсов".
|
|
12
|
-
* @param props Свойства.
|
|
13
|
-
* @return Элемент.
|
|
14
|
-
*/
|
|
15
|
-
export declare const ChipsItem: ({ href, children, withCross, target, onClick, checked, }: ChipsItemProps) => JSX.Element;
|
package/chips/item.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"item.js","sourceRoot":"","sources":["../../src/chips/item.tsx"],"names":[],"mappings":";;;;;;;AAAA,2DAAyC;AACzC,2FAAsE;AACtE,4EAAyC;AAWzC,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,2BAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACI,MAAM,SAAS,GAAG,CAAC,EACxB,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,MAAM,EACN,OAAO,EACP,OAAO,GACQ,EAAE,EAAE,CAAC,CACpB,+BACE,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EACjC,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,iBACJ,YAAY,aAExB,iCAAM,SAAS,EAAE,2BAAM,CAAC,IAAI,YAAG,QAAQ,GAAQ,EAC9C,SAAS,IAAI,uBAAC,eAAQ,IAAC,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC,GAAI,IACpD,CACL,CAAC;AAnBW,QAAA,SAAS,aAmBpB"}
|