@toptal/picasso-section 5.1.7 → 5.1.8-alpha-1757603192867.0

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/package.json CHANGED
@@ -1,15 +1,16 @@
1
1
  {
2
2
  "name": "@toptal/picasso-section",
3
- "version": "5.1.7",
3
+ "version": "5.1.8-alpha-1757603192867.0",
4
4
  "description": "Toptal UI components library - Section",
5
5
  "publishConfig": {
6
- "access": "public"
6
+ "access": "public",
7
+ "provenance": true
7
8
  },
8
9
  "main": "./dist-package/src/index.js",
9
10
  "module": "./dist-package/src/index.js",
10
11
  "scripts": {
11
12
  "build:package": "tsc -b tsconfig.json",
12
- "prepublishOnly": "yarn build:package"
13
+ "prepublishOnly": "echo 0"
13
14
  },
14
15
  "repository": {
15
16
  "type": "git",
@@ -22,28 +23,28 @@
22
23
  },
23
24
  "homepage": "https://github.com/toptal/picasso/tree/master/packages/picasso#readme",
24
25
  "dependencies": {
25
- "@toptal/picasso-button": "4.0.23",
26
- "@toptal/picasso-container": "3.1.2",
27
- "@toptal/picasso-icons": "1.12.1",
28
- "@toptal/picasso-typography": "4.0.4",
29
- "@toptal/picasso-utils": "3.1.0",
30
- "@toptal/picasso-collapse": "3.0.3"
26
+ "@toptal/picasso-button": "4.0.24-alpha-1757603192867.0",
27
+ "@toptal/picasso-container": "3.1.3-alpha-1757603192867.0",
28
+ "@toptal/picasso-icons": "1.12.2-alpha-1757603192867.0",
29
+ "@toptal/picasso-typography": "4.0.5-alpha-1757603192867.0",
30
+ "@toptal/picasso-utils": "3.1.1-alpha-1757603192867.0",
31
+ "@toptal/picasso-collapse": "3.0.4-alpha-1757603192867.0"
31
32
  },
32
33
  "sideEffects": [
33
34
  "**/styles.ts",
34
35
  "**/styles.js"
35
36
  ],
36
37
  "peerDependencies": {
37
- "@toptal/picasso-tailwind-merge": "^2.0.0",
38
- "@toptal/picasso-tailwind": ">=2.7",
38
+ "@toptal/picasso-tailwind-merge": "2.0.4-alpha-1757603192867.0",
39
+ "@toptal/picasso-tailwind": "3.0.1-alpha-1757603192867.0",
39
40
  "react": ">=16.12.0 < 19.0.0"
40
41
  },
41
42
  "exports": {
42
43
  ".": "./dist-package/src/index.js"
43
44
  },
44
45
  "devDependencies": {
45
- "@toptal/picasso-tailwind-merge": "2.0.3",
46
- "@toptal/picasso-test-utils": "1.1.1"
46
+ "@toptal/picasso-tailwind-merge": "2.0.4-alpha-1757603192867.0",
47
+ "@toptal/picasso-test-utils": "1.1.2-alpha-1757603192867.0"
47
48
  },
48
49
  "files": [
49
50
  "dist-package/**",
@@ -1,35 +0,0 @@
1
- import type { ReactNode } from 'react';
2
- import React from 'react';
3
- import type { SizeType, BaseProps } from '@toptal/picasso-shared';
4
- declare type VariantType = 'bordered' | 'default' | 'withHeaderBar';
5
- export interface Props extends BaseProps {
6
- /** Title of the Section */
7
- title?: ReactNode;
8
- /** Subtitle of the Section */
9
- subtitle?: ReactNode;
10
- /** Additional actions of the Section */
11
- actions?: ReactNode;
12
- /** Main content of the Section */
13
- children?: ReactNode;
14
- /** Whether section can be collapsed */
15
- collapsible?: boolean;
16
- /** Default collapsed value **(applied if `collapsible: true`)** */
17
- defaultCollapsed?: boolean;
18
- /** Controlled collapsed state */
19
- collapsed?: boolean;
20
- /** Callback when the collapsed state changes */
21
- onToggle?: (collapsed: boolean) => void;
22
- testIds?: {
23
- header?: string;
24
- title?: string;
25
- subtitle?: string;
26
- actions?: string;
27
- collapse?: string;
28
- };
29
- variant?: VariantType;
30
- /** Title size of the inner text */
31
- titleSize?: SizeType<'small' | 'medium'>;
32
- }
33
- export declare const Section: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
34
- export default Section;
35
- //# sourceMappingURL=Section.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Section.d.ts","sourceRoot":"","sources":["../../../src/Section/Section.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAA+B,MAAM,OAAO,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AASjE,aAAK,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,eAAe,CAAA;AAE3D,MAAM,WAAW,KAAM,SAAQ,SAAS;IACtC,2BAA2B;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,wCAAwC;IACxC,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,uCAAuC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,iCAAiC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;IACvC,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;IACD,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,mCAAmC;IACnC,SAAS,CAAC,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAA;CACzC;AAkDD,eAAO,MAAM,OAAO,8EA4HlB,CAAA;AASF,eAAe,OAAO,CAAA"}
@@ -1,86 +0,0 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
12
- import React, { forwardRef, useState } from 'react';
13
- import { ButtonCircular } from '@toptal/picasso-button';
14
- import { Container } from '@toptal/picasso-container';
15
- import { Typography } from '@toptal/picasso-typography';
16
- import { isString, Rotate180 } from '@toptal/picasso-utils';
17
- import { ArrowDownMinor16 } from '@toptal/picasso-icons';
18
- import { twMerge, twJoin } from '@toptal/picasso-tailwind-merge';
19
- import { Collapse } from '@toptal/picasso-collapse';
20
- const headerBarClasses = [
21
- 'pt-3 pb-3 pl-4 pr-4',
22
- 'rounded-tl-md rounded-tr-md rounded-br-0 rounded-bl-0',
23
- 'border-solid border-l-0 border-r-0 border-t-0 border-b border-gray-400',
24
- 'bg-gray-100',
25
- ];
26
- const classesByCollapsedHeader = {
27
- default: 'pb-0',
28
- bordered: 'pb-0',
29
- withHeaderBar: ['border-b-0 rounded-md', 'transition delay-300'],
30
- };
31
- const getVariantClasses = (variant, collapsible, className) => {
32
- const defaultChildMargin = collapsible
33
- ? ''
34
- : '[&>:last-child:not(:first-child)]:mt-6';
35
- const classesByVariant = {
36
- default: defaultChildMargin,
37
- bordered: [
38
- defaultChildMargin,
39
- 'border rounded-md border-solid border-gray-300',
40
- 'p-8 [&>:last-child]:pb-0',
41
- ],
42
- withHeaderBar: 'p-0 rounded-md border border-solid border-gray-400',
43
- };
44
- return twMerge('pt-8', classesByVariant[variant], collapsible && variant === 'bordered' && 'p-6', className);
45
- };
46
- const getHeaderClasses = (variant, isCollapsed) => {
47
- return twJoin('flex items-center', variant === 'withHeaderBar' && headerBarClasses, isCollapsed && classesByCollapsedHeader[variant]);
48
- };
49
- export const Section = forwardRef(function Section(props, ref) {
50
- const { className, style, title, subtitle, actions, children, testIds, collapsible = false, defaultCollapsed = true, collapsed, onToggle, variant = 'default', titleSize = 'medium' } = props, rest = __rest(props, ["className", "style", "title", "subtitle", "actions", "children", "testIds", "collapsible", "defaultCollapsed", "collapsed", "onToggle", "variant", "titleSize"]);
51
- const [internalCollapsed, setInternalCollapsed] = useState(collapsible ? defaultCollapsed : false);
52
- const isCollapsed = collapsed !== undefined ? collapsed : internalCollapsed;
53
- const toggleCollapse = () => {
54
- const newCollapsed = !isCollapsed;
55
- if (onToggle) {
56
- onToggle(newCollapsed);
57
- }
58
- else {
59
- setInternalCollapsed(newCollapsed);
60
- }
61
- };
62
- const renderTitle = () => title ? (React.createElement(Typography, { as: isString(title) ? undefined : 'div', className: 'mr-4 min-w-0', "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.title, variant: 'heading', size: titleSize }, title)) : null;
63
- const renderSubtitle = () => subtitle ? (React.createElement(Typography, { as: isString(subtitle) ? undefined : 'div', className: 'self-center !mr-4 min-w-0', "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.subtitle, size: 'medium', color: 'dark-grey' }, subtitle)) : null;
64
- const renderCollapse = () => collapsible ? (React.createElement(ButtonCircular, { onClick: toggleCollapse, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.collapse, variant: 'flat', icon: React.createElement(Rotate180, { on: !isCollapsed },
65
- React.createElement(ArrowDownMinor16, null)) })) : null;
66
- const hasActions = actions || collapsible;
67
- const renderActions = () => hasActions ? (React.createElement(Container, { "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.actions, flex: true, alignItems: 'center', className: 'ml-auto' },
68
- actions,
69
- renderCollapse())) : null;
70
- const hasHeader = title || subtitle || hasActions;
71
- return (React.createElement(Container, Object.assign({ ref: ref, variant: ['bordered', 'withHeaderBar'].includes(variant) ? 'white' : undefined, style: style }, rest, { className: getVariantClasses(variant, collapsible, className) }),
72
- hasHeader && (React.createElement(Container, { "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.header, className: getHeaderClasses(variant, isCollapsed) },
73
- renderTitle(),
74
- renderSubtitle(),
75
- renderActions())),
76
- React.createElement(Collapse, { in: !isCollapsed, unmountOnExit: true },
77
- React.createElement(Container, { className: variant === 'withHeaderBar' ? 'p-6' : collapsible ? 'mt-6' : '' }, children))));
78
- });
79
- Section.displayName = 'Section';
80
- Section.defaultProps = {
81
- collapsible: false,
82
- defaultCollapsed: true,
83
- titleSize: 'medium',
84
- };
85
- export default Section;
86
- //# sourceMappingURL=Section.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Section.js","sourceRoot":"","sources":["../../../src/Section/Section.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import type { OmitInternalProps } from '@toptal/picasso-shared';
2
- import type { Props } from './Section';
3
- export { default as Section } from './Section';
4
- export declare type SectionProps = OmitInternalProps<Props>;
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Section/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAEtC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAC9C,oBAAY,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export { default as Section } from './Section';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Section/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './Section';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './Section';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}