@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.
Files changed (55) hide show
  1. package/autocomplete/autocomplete.js +8 -8
  2. package/autocomplete/autocomplete.js.map +1 -1
  3. package/avatar/avatar.js +1 -1
  4. package/avatar/avatar.js.map +1 -1
  5. package/avatar/avatar.module.scss +6 -8
  6. package/avatar/types.d.ts +1 -0
  7. package/chips/chips-item.d.ts +15 -0
  8. package/chips/{item.js → chips-item.js} +7 -5
  9. package/chips/chips-item.js.map +1 -0
  10. package/chips/chips-item.module.scss +67 -0
  11. package/chips/chips.d.ts +17 -0
  12. package/chips/chips.js +25 -0
  13. package/chips/chips.js.map +1 -0
  14. package/chips/chips.module.scss +1 -69
  15. package/chips/index.d.ts +2 -16
  16. package/chips/index.js +5 -18
  17. package/chips/index.js.map +1 -1
  18. package/dropdown/utils.d.ts +1 -1
  19. package/expandable/index.js +6 -3
  20. package/expandable/index.js.map +1 -1
  21. package/file-icon/file-icon.module.scss +42 -0
  22. package/file-icon/index.d.ts +10 -3
  23. package/file-icon/index.js +10 -16
  24. package/file-icon/index.js.map +1 -1
  25. package/link/index.d.ts +2 -2
  26. package/link/index.js.map +1 -1
  27. package/modal/index.d.ts +1 -1
  28. package/package.json +14 -17
  29. package/pagination/pagination-item.js +1 -1
  30. package/pagination/pagination-item.js.map +1 -1
  31. package/pagination/pagination.js +1 -1
  32. package/pagination/pagination.js.map +1 -1
  33. package/popup/utils.d.ts +1 -1
  34. package/side-page/index.js +1 -1
  35. package/side-page/index.js.map +1 -1
  36. package/tabs/index.d.ts +24 -10
  37. package/tabs/index.js +8 -4
  38. package/tabs/index.js.map +1 -1
  39. package/textarea/index.js +1 -1
  40. package/toggle/toggle.module.scss +4 -4
  41. package/top-bar/top-bar.module.scss +1 -1
  42. package/upload-area/index.d.ts +2 -1
  43. package/upload-area/index.js +3 -1
  44. package/upload-area/index.js.map +1 -1
  45. package/upload-area/types.d.ts +10 -8
  46. package/upload-area/upload-area-util.scss +2 -0
  47. package/upload-area/upload-area.d.ts +1 -1
  48. package/upload-area/upload-area.js +6 -19
  49. package/upload-area/upload-area.js.map +1 -1
  50. package/upload-area/upload-area.module.scss +4 -1
  51. package/upload-area/utils.d.ts +7 -0
  52. package/upload-area/utils.js +20 -1
  53. package/upload-area/utils.js.map +1 -1
  54. package/chips/item.d.ts +0 -15
  55. 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.7",
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 start-storybook -p 9009 -c .storybook",
24
- "storybook:build": "BROWSERSLIST_ENV=\"storybook\" npx build-storybook --quiet --loglevel error -o build-storybook",
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.27.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": "^6.5.14",
50
- "@storybook/addon-docs": "^6.5.14",
51
- "@storybook/addon-storysource": "^6.5.14",
52
- "@storybook/addons": "^6.5.14",
53
- "@storybook/builder-webpack5": "^6.5.14",
54
- "@storybook/manager-webpack5": "^6.5.14",
55
- "@storybook/react": "^6.5.14",
56
- "@storybook/theming": "^6.5.14",
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.4",
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,iCACM,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;AAxBD,wCAwBC"}
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"}
@@ -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 = 1, total: totalProp = 1, onPageChange, getItems = utils_1.getPaginationItems, renderItem = renderPaginationItem, className, ...restProps }) {
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":"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"}
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/react").Strategy;
14
+ position: import("@floating-ui/utils").Strategy;
15
15
  top: number;
16
16
  left: number;
17
17
  zIndex: number;
@@ -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;
@@ -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,aAC5C,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"}
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
- /// <reference types="react" />
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?: React.ReactNode;
17
+ children?: ReactNode;
13
18
  /** Идентификатор для систем автоматизированного тестирования. */
14
19
  'data-testid'?: string;
15
20
  }
16
21
  export interface TabsItemProps {
17
22
  /** Название вкладки. */
18
- name: string;
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 const Tabs: {
34
- ({ children, view, stretch, gapSize, className, "data-testid": testId, }: TabsProps): JSX.Element;
35
- Item: ({ name, selected, disabled, "data-testid": testId, onClick, }: TabsItemProps) => JSX.Element;
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
- const Tab = ({ name, selected, disabled, 'data-testid': testId = 'tab', onClick, }) => ((0, jsx_runtime_1.jsx)("li", { className: cx('item', { selected, disabled }), "data-testid": testId, onClick: disabled ? undefined : onClick, children: String(name) }));
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
- const Tabs = ({ children, view = 'clean', stretch = false, gapSize = 'm', className, 'data-testid': testId = 'tabs', }) => ((0, jsx_runtime_1.jsx)("ul", { "data-testid": testId, className: cx('root', `view-${view}`, `gap-${gapSize}`, { stretch }, className), children: react_1.Children.toArray(children).filter(child => (0, react_1.isValidElement)(child) && child.type === Tab) }));
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
- exports.Tabs.Item = Tab;
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":";;;;;;;AAAA,iCAAiD;AACjD,2DAAyC;AACzC,0EAAwC;AAuCxC,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,0BAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACH,MAAM,GAAG,GAAG,CAAC,EACX,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,aAAa,EAAE,MAAM,GAAG,KAAK,EAC7B,OAAO,GACO,EAAE,EAAE,CAAC,CACnB,+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,MAAM,CAAC,IAAI,CAAC,GACV,CACN,CAAC;AAEF;;;;GAIG;AACI,MAAM,IAAI,GAAG,CAAC,EACnB,QAAQ,EACR,IAAI,GAAG,OAAO,EACd,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,GAAG,EACb,SAAS,EACT,aAAa,EAAE,MAAM,GAAG,MAAM,GACpB,EAAE,EAAE,CAAC,CACf,8CACe,MAAM,EACnB,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,EAAE,OAAO,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,YAE9E,gBAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAA,sBAAc,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,GACrF,CACN,CAAC;AAdW,QAAA,IAAI,QAcf;AAEF,YAAI,CAAC,IAAI,GAAG,GAAG,CAAC"}
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 = 4, value,
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: 0;
18
- height: 0;
19
- pointer-events: none;
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;
@@ -50,7 +50,7 @@
50
50
  font-size: 12px;
51
51
  line-height: 16px;
52
52
  font-weight: 400;
53
- margin-top: -4px;
53
+ margin-top: -2px;
54
54
  }
55
55
 
56
56
  .title,
@@ -1,2 +1,3 @@
1
- export type { UploadAreaProps, UploadAreaSize } from './types';
1
+ export type { UploadAreaProps, UploadAreaSize, DescriptionPayload } from './types';
2
2
  export { UploadArea } from './upload-area';
3
+ export { getFilesDescription } from './utils';
@@ -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
@@ -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"}
@@ -7,22 +7,16 @@ export interface UploadAreaProps {
7
7
  className?: string;
8
8
  /** Стили корневого элемента. */
9
9
  style?: CSSProperties;
10
- /** Ограничение на количество файлов. */
11
- countLimit?: number;
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, formats, fileRole, countLimit, onSelect, sizeLimit, rootProps, inputProps, 'data-testid': testId, }: UploadAreaProps): JSX.Element;
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, formats, fileRole = 'файл', countLimit = multiple ? undefined : 1, onSelect, sizeLimit, rootProps, inputProps, 'data-testid': testId = 'upload-area', }) {
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, countLimit]);
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.jsxs)(link_1.Link, { pseudo: true, "data-testid": 'upload-area:anchor', disabled: disabled, children: ["\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 ", fileRole] })] }), secondaryInfo && (0, jsx_runtime_1.jsx)("div", { className: cx('text', 'secondary'), children: secondaryInfo })] })] }));
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":"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"}
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;
@@ -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 {};
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/upload-area/utils.ts"],"names":[],"mappings":";;;AAAA,iCAAgE;AAChE,gDAAmD;AAYnD;;;;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"}
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"}