flipper-ui 0.26.14 → 0.26.16

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/core/Checkbox.js CHANGED
@@ -54,7 +54,7 @@ var Checkbox = function Checkbox(props) {
54
54
  }));
55
55
  };
56
56
  var renderControl = function renderControl(props) {
57
- return type === 'checkbox' ? renderCheckbox(props) : renderSwitch();
57
+ return type === 'checkbox' ? renderCheckbox(props) : renderSwitch(props);
58
58
  };
59
59
  var renderLabel = function renderLabel() {
60
60
  return typeof props.label === 'string' && props.dense ? /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
@@ -0,0 +1,168 @@
1
+ import { LinearProgress } from '@material-ui/core';
2
+ import MuiExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';
3
+ import React from 'react';
4
+ import Typography from '../Typography';
5
+ import './colors.css';
6
+ import { PropWithDataCy } from '../types';
7
+ /**
8
+ * Props for the StepCard component
9
+ *
10
+ * @interface IStepCardProps
11
+ */
12
+ export interface IStepCardProps {
13
+ /**
14
+ * Whether to show the percentage on the expansion panel summary
15
+ * Defaults to true
16
+ * @type {boolean}
17
+ * @memberof IStepCardProps
18
+ * @default true
19
+ */
20
+ showBottomPercentage: boolean;
21
+ /**
22
+ * A text to be displayed on the expansion panel summary
23
+ *
24
+ * @type {string}
25
+ * @memberof IStepCardProps
26
+ */
27
+ summary: string;
28
+ /**
29
+ * The title of the step card
30
+ *
31
+ * @type {string}
32
+ * @memberof IStepCardProps
33
+ */
34
+ title: string;
35
+ /**
36
+ * The subtitle of the step card title
37
+ *
38
+ * @type {string}
39
+ * @memberof IStepCardProps
40
+ */
41
+ subTitle?: string;
42
+ /**
43
+ * The image to be displayed on the expansion panel details
44
+ *
45
+ * @type {string}
46
+ * @memberof IStepCardProps
47
+ */
48
+ image?: string;
49
+ /**
50
+ * The total number of steps
51
+ *
52
+ * @type {number}
53
+ * @memberof IStepCardProps
54
+ */
55
+ totalSteps: number;
56
+ /**
57
+ * The number of completed steps
58
+ *
59
+ * @type {number}
60
+ * @memberof IStepCardProps
61
+ */
62
+ doneSteps: number;
63
+ /**
64
+ * An array of steps, each with a title, a done flag and an optional url
65
+ *
66
+ * @type [{
67
+ * title: string;
68
+ * done: boolean;
69
+ * url?: string;
70
+ * }]
71
+ * @memberof IStepCardProps
72
+ */
73
+ steps: {
74
+ title: string;
75
+ done: boolean;
76
+ url?: string;
77
+ }[];
78
+ /**
79
+ * Props to be passed to the root element
80
+ *
81
+ * @type {(React.HTMLAttributes<HTMLDivElement> | undefined)}
82
+ * @memberof IStepCardProps
83
+ */
84
+ rootProps?: React.HTMLAttributes<HTMLDivElement>;
85
+ /**
86
+ * Props to be passed to the title typography
87
+ *
88
+ * @type {(typeof Typography | undefined)}
89
+ * @memberof IStepCardProps
90
+ */
91
+ titleProps?: PropWithDataCy<typeof Typography>;
92
+ /**
93
+ * Props to be passed to the summary typography
94
+ *
95
+ * @type {(typeof Typography | undefined)}
96
+ * @memberof IStepCardProps
97
+ */
98
+ summaryProps?: PropWithDataCy<typeof Typography>;
99
+ /**
100
+ * Props to be passed to the expansion panel
101
+ * @type {(typeof MuiExpansionPanel | undefined)}
102
+ * @memberof IStepCardProps
103
+ */
104
+ expansionPanelDetailsProps?: PropWithDataCy<typeof MuiExpansionPanelDetails>;
105
+ /**
106
+ * Props to be passed to the linear progress bar
107
+ * @type {(typeof LinearProgress | undefined)}
108
+ * @memberof IStepCardProps
109
+ */
110
+ linearProgressBarProps?: PropWithDataCy<typeof LinearProgress>;
111
+ /**
112
+ * Props to be passed to the expansion panel summary linear progress bar
113
+ * @type {(typeof LinearProgress | undefined)}
114
+ * @memberof IStepCardProps
115
+ */
116
+ summaryLinearProgressBarProps?: PropWithDataCy<typeof LinearProgress>;
117
+ /**
118
+ * Whether the expansion panel is expandable
119
+ * @type {boolean}
120
+ * @memberof IStepCardProps
121
+ * @default true
122
+ */
123
+ expandable: boolean;
124
+ /**
125
+ * Whether to show the icon on the expansion panel summary
126
+ * @type {boolean}
127
+ * @memberof IStepCardProps
128
+ * @default true
129
+ */
130
+ showIcon: boolean;
131
+ /**
132
+ * Callback to be called when the user clicks on a step url
133
+ * @memberof IStepCardProps
134
+ * @default undefined
135
+ * @type {(url: string) => void}
136
+ */
137
+ onStepUrlClick?: (url: string) => void;
138
+ }
139
+ /**
140
+ * StepCard is a reusable component that displays a card with a title, a summary,
141
+ * an expandable panel, and a progress bar.
142
+ * The expandable panel displays a list of steps, each with a title, a done flag,
143
+ * and an optional url.
144
+ *
145
+ * @example
146
+ * <StepCard
147
+ * showBottomPercentage={true}
148
+ * summary="50% Complete"
149
+ * title="Step 1"
150
+ * subTitle="Subtitle for step 1"
151
+ * image="https://via.placeholder.com/150"
152
+ * totalSteps={4}
153
+ * doneSteps={2}
154
+ * steps={[
155
+ * { title: "Step 1-1", done: true },
156
+ * { title: "Step 1-2", done: true, url: "/step-1-2" },
157
+ * { title: "Step 1-3", done: false },
158
+ * { title: "Step 1-4", done: false }
159
+ * ]}
160
+ * rootProps={{ className: "my-custom-class" }}
161
+ * titleProps={{ variant: "h3", color: "primary" }}
162
+ * summaryProps={{ variant: "body2", color: "secondary" }}
163
+ * expandable={true}
164
+ * defaultExpanded={false}
165
+ * />
166
+ */
167
+ declare const StepCard: (props: IStepCardProps) => JSX.Element;
168
+ export default StepCard;
@@ -0,0 +1,224 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _Box = _interopRequireDefault(require("@material-ui/core/Box"));
11
+ var _LinearProgress = _interopRequireDefault(require("@material-ui/core/LinearProgress"));
12
+ var _List = _interopRequireDefault(require("@material-ui/core/List"));
13
+ var _ListItemText = _interopRequireDefault(require("@material-ui/core/ListItemText"));
14
+ var _ExpansionPanel = _interopRequireDefault(require("@material-ui/core/ExpansionPanel"));
15
+ var _ExpansionPanelDetails = _interopRequireDefault(require("@material-ui/core/ExpansionPanelDetails"));
16
+ var _ExpansionPanelSummary = _interopRequireDefault(require("@material-ui/core/ExpansionPanelSummary"));
17
+ var _nginformaticaStyleguide = require("nginformatica-styleguide");
18
+ var _react = _interopRequireWildcard(require("react"));
19
+ var _icons = require("../../icons");
20
+ var _Typography = _interopRequireDefault(require("../Typography"));
21
+ require("./colors.css");
22
+ var _styles = require("./styles");
23
+ var _IconButton = _interopRequireDefault(require("../IconButton"));
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
26
+ /* eslint-disable max-lines */
27
+
28
+ var _theme$colors = _nginformaticaStyleguide.theme.colors,
29
+ feedback = _theme$colors.feedback,
30
+ grays = _theme$colors.grays;
31
+ var DONE_COLOR = feedback.success;
32
+ var UNDONE_COLOR = grays.g3;
33
+ var UNDONE_FONT_COLOR = grays.g2;
34
+ var UNDONE_TITLE_COLOR = grays.g1;
35
+ var UNDONE_PROGRESS_COLOR = grays.g5;
36
+
37
+ /**
38
+ * Props for the StepCard component
39
+ *
40
+ * @interface IStepCardProps
41
+ */
42
+
43
+ /**
44
+ * StepCard is a reusable component that displays a card with a title, a summary,
45
+ * an expandable panel, and a progress bar.
46
+ * The expandable panel displays a list of steps, each with a title, a done flag,
47
+ * and an optional url.
48
+ *
49
+ * @example
50
+ * <StepCard
51
+ * showBottomPercentage={true}
52
+ * summary="50% Complete"
53
+ * title="Step 1"
54
+ * subTitle="Subtitle for step 1"
55
+ * image="https://via.placeholder.com/150"
56
+ * totalSteps={4}
57
+ * doneSteps={2}
58
+ * steps={[
59
+ * { title: "Step 1-1", done: true },
60
+ * { title: "Step 1-2", done: true, url: "/step-1-2" },
61
+ * { title: "Step 1-3", done: false },
62
+ * { title: "Step 1-4", done: false }
63
+ * ]}
64
+ * rootProps={{ className: "my-custom-class" }}
65
+ * titleProps={{ variant: "h3", color: "primary" }}
66
+ * summaryProps={{ variant: "body2", color: "secondary" }}
67
+ * expandable={true}
68
+ * defaultExpanded={false}
69
+ * />
70
+ */
71
+
72
+ var StepCard = function StepCard(props) {
73
+ var steps = props.steps,
74
+ title = props.title,
75
+ titleProps = props.titleProps,
76
+ subTitle = props.subTitle,
77
+ image = props.image,
78
+ _props$showBottomPerc = props.showBottomPercentage,
79
+ showBottomPercentage = _props$showBottomPerc === void 0 ? true : _props$showBottomPerc,
80
+ _props$expandable = props.expandable,
81
+ expandable = _props$expandable === void 0 ? true : _props$expandable,
82
+ _props$showIcon = props.showIcon,
83
+ showIcon = _props$showIcon === void 0 ? true : _props$showIcon,
84
+ doneSteps = props.doneSteps,
85
+ totalSteps = props.totalSteps,
86
+ summary = props.summary,
87
+ summaryProps = props.summaryProps,
88
+ expansionPanelDetailsProps = props.expansionPanelDetailsProps,
89
+ linearProgressBarProps = props.linearProgressBarProps,
90
+ rootProps = props.rootProps,
91
+ onStepUrlClick = props.onStepUrlClick;
92
+ var percentage = Math.round(doneSteps / totalSteps * 100);
93
+ var renderTitleColumn = (0, _react.useMemo)(function () {
94
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, showIcon && /*#__PURE__*/_react["default"].createElement(_icons.CheckCircle, {
95
+ style: {
96
+ fontSize: 40,
97
+ color: percentage === 100 ? DONE_COLOR : UNDONE_COLOR
98
+ }
99
+ }), /*#__PURE__*/_react["default"].createElement(_styles.TitleContainer, null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], (0, _extends2["default"])({
100
+ variant: "h6",
101
+ style: {
102
+ color: UNDONE_TITLE_COLOR,
103
+ fontSize: 24,
104
+ textAlign: 'center'
105
+ }
106
+ }, titleProps), title), subTitle && /*#__PURE__*/_react["default"].createElement(_Typography["default"], (0, _extends2["default"])({
107
+ variant: "h6",
108
+ style: {
109
+ color: UNDONE_COLOR,
110
+ textAlign: 'center'
111
+ }
112
+ }, titleProps), subTitle)));
113
+ }, [showIcon, percentage, titleProps, title, subTitle]);
114
+ var renderSummaryColumn = (0, _react.useMemo)(function () {
115
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_ExpansionPanelSummary["default"], {
116
+ style: {
117
+ textAlign: 'center'
118
+ },
119
+ expandIcon: /*#__PURE__*/_react["default"].createElement(_icons.ExpandMore, {
120
+ fontSize: "large"
121
+ })
122
+ }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], (0, _extends2["default"])({
123
+ variant: "h6"
124
+ }, summaryProps), summary)));
125
+ }, [summary, summaryProps]);
126
+ var renderStepsList = (0, _react.useMemo)(function () {
127
+ return /*#__PURE__*/_react["default"].createElement(_List["default"], null, steps.map(function (step, index) {
128
+ var handleOnClickStepUrl = function handleOnClickStepUrl() {
129
+ if (onStepUrlClick && step.url) {
130
+ onStepUrlClick(step.url);
131
+ }
132
+ };
133
+ return /*#__PURE__*/_react["default"].createElement(_ListItemText["default"], {
134
+ key: index,
135
+ primary: /*#__PURE__*/_react["default"].createElement(_styles.ListItemContainer, null, /*#__PURE__*/_react["default"].createElement(_icons.CheckCircle, {
136
+ style: {
137
+ color: step.done ? DONE_COLOR : UNDONE_COLOR
138
+ }
139
+ }), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
140
+ variant: "body1",
141
+ style: {
142
+ color: UNDONE_FONT_COLOR,
143
+ fontWeight: 600
144
+ }
145
+ }, step.title), step.url && onStepUrlClick && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
146
+ style: {
147
+ backgroundColor: 'unset'
148
+ },
149
+ onClick: handleOnClickStepUrl
150
+ }, /*#__PURE__*/_react["default"].createElement(_icons.Help, {
151
+ fontSize: "small",
152
+ style: {
153
+ margin: '0px'
154
+ }
155
+ }))))
156
+ });
157
+ }));
158
+ }, [onStepUrlClick, steps]);
159
+ var renderNormalProgress = (0, _react.useMemo)(function () {
160
+ return /*#__PURE__*/_react["default"].createElement(_styles.NormalProgressContainer, null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], (0, _extends2["default"])({
161
+ variant: "h6"
162
+ }, summaryProps), summary), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
163
+ variant: "subtitle2",
164
+ style: {
165
+ position: 'absolute',
166
+ right: 8
167
+ }
168
+ }, "".concat(percentage, "%")), /*#__PURE__*/_react["default"].createElement(_Box["default"], {
169
+ style: {
170
+ width: '100%'
171
+ }
172
+ }, /*#__PURE__*/_react["default"].createElement(_LinearProgress["default"], {
173
+ variant: "determinate",
174
+ value: percentage,
175
+ color: "primary",
176
+ classes: {
177
+ barColorPrimary: 'barColorPrimary'
178
+ },
179
+ style: {
180
+ borderRadius: 10,
181
+ height: '16px',
182
+ backgroundColor: UNDONE_PROGRESS_COLOR
183
+ }
184
+ })));
185
+ }, [percentage, summary, summaryProps]);
186
+ return /*#__PURE__*/_react["default"].createElement(_styles.Container, rootProps, /*#__PURE__*/_react["default"].createElement(_ExpansionPanel["default"], null, /*#__PURE__*/_react["default"].createElement(_styles.StepContainer, null, /*#__PURE__*/_react["default"].createElement(_styles.StepCardRow, {
187
+ height: expandable ? '100px' : '100%'
188
+ }, /*#__PURE__*/_react["default"].createElement(_styles.StepCardColumn, {
189
+ justifyContent: "start"
190
+ }, renderTitleColumn), /*#__PURE__*/_react["default"].createElement(_styles.StepCardColumn, {
191
+ justifyContent: "end"
192
+ }, expandable ? renderSummaryColumn : renderNormalProgress)), showBottomPercentage && /*#__PURE__*/_react["default"].createElement(_styles.StepCardRow, {
193
+ height: "15px"
194
+ }, /*#__PURE__*/_react["default"].createElement(_Box["default"], {
195
+ style: {
196
+ width: '100%'
197
+ }
198
+ }, /*#__PURE__*/_react["default"].createElement(_LinearProgress["default"], (0, _extends2["default"])({
199
+ variant: "determinate",
200
+ value: percentage,
201
+ color: "primary",
202
+ classes: {
203
+ barColorPrimary: 'barColorPrimary'
204
+ },
205
+ style: {
206
+ height: '16px',
207
+ backgroundColor: UNDONE_PROGRESS_COLOR
208
+ }
209
+ }, linearProgressBarProps))))), expandable && /*#__PURE__*/_react["default"].createElement(_ExpansionPanelDetails["default"], (0, _extends2["default"])({
210
+ style: {
211
+ display: 'flex',
212
+ justifyContent: 'space-between'
213
+ }
214
+ }, expansionPanelDetailsProps), /*#__PURE__*/_react["default"].createElement(_styles.StepCardColumn, {
215
+ justifyContent: "start"
216
+ }, renderStepsList), image && /*#__PURE__*/_react["default"].createElement(_styles.StepCardColumn, {
217
+ justifyContent: "end"
218
+ }, /*#__PURE__*/_react["default"].createElement("img", {
219
+ src: image,
220
+ alt: "Step Icon"
221
+ })))));
222
+ };
223
+ var _default = StepCard;
224
+ exports["default"] = _default;
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ interface IRowProps {
3
+ height: React.CSSProperties['maxHeight'];
4
+ }
5
+ interface IColumnProps {
6
+ justifyContent: React.CSSProperties['justifyContent'];
7
+ }
8
+ export declare const Container: import("styled-components").StyledComponent<"div", any, {}, never>;
9
+ export declare const StepCardRow: import("styled-components").StyledComponent<"div", any, IRowProps, never>;
10
+ export declare const StepContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
11
+ export declare const StepCardColumn: import("styled-components").StyledComponent<"div", any, IColumnProps, never>;
12
+ export declare const ListItemContainer: import("styled-components").StyledComponent<"p", any, {}, never>;
13
+ export declare const TitleContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
14
+ export declare const NormalProgressContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
15
+ export {};
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.TitleContainer = exports.StepContainer = exports.StepCardRow = exports.StepCardColumn = exports.NormalProgressContainer = exports.ListItemContainer = exports.Container = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
10
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
11
+ var Container = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n max-width: 1100px;\n"])));
12
+ exports.Container = Container;
13
+ var StepCardRow = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n width: 100%;\n max-width: 1100px;\n height: ", ";\n"])), function (props) {
14
+ return props.height;
15
+ });
16
+ exports.StepCardRow = StepCardRow;
17
+ var StepContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n "])));
18
+ exports.StepContainer = StepContainer;
19
+ var StepCardColumn = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding-inline: 30px;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: ", ";\n width: 100%;\n\n ", "\n"])), function (props) {
20
+ return props.justifyContent;
21
+ }, function (props) {
22
+ if (props.justifyContent === 'start') {
23
+ return "\n svg:first-child {\n margin-right: 40px;\n }\n ";
24
+ } else {
25
+ return '';
26
+ }
27
+ });
28
+ exports.StepCardColumn = StepCardColumn;
29
+ var ListItemContainer = _styledComponents["default"].p(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 30px;\n\n svg:first-child {\n margin-right: 16px;\n }\n"])));
30
+ exports.ListItemContainer = ListItemContainer;
31
+ var TitleContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n h6:first-child {\n padding-inline: 20px;\n }\n"])));
32
+ exports.TitleContainer = TitleContainer;
33
+ var NormalProgressContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: relative;\n\n h6:first-child {\n margin-bottom: 8px;\n }\n"])));
34
+ exports.NormalProgressContainer = NormalProgressContainer;
package/core/types.d.ts CHANGED
@@ -11,3 +11,6 @@ export interface DefaultProps {
11
11
  export interface HTMLElementWithDataCy<T> extends React.HTMLAttributes<T> {
12
12
  'data-cy': string;
13
13
  }
14
+ export declare type PropWithDataCy<T> = Partial<T> & {
15
+ 'data-cy': string;
16
+ };
package/custom.d.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";
package/index.d.ts CHANGED
@@ -60,3 +60,4 @@ export { default as Zoom } from './core/Zoom';
60
60
  export { default as PinInput } from './core/PinInput';
61
61
  export { default as Chapter } from './core/Chapter';
62
62
  export { default as DataTable } from './core/DataTable';
63
+ export { default as StepCard } from './core/StepCard';
package/index.js CHANGED
@@ -286,6 +286,12 @@ Object.defineProperty(exports, "Snackbar", {
286
286
  return _Snackbar["default"];
287
287
  }
288
288
  });
289
+ Object.defineProperty(exports, "StepCard", {
290
+ enumerable: true,
291
+ get: function get() {
292
+ return _StepCard["default"];
293
+ }
294
+ });
289
295
  Object.defineProperty(exports, "Stepper", {
290
296
  enumerable: true,
291
297
  get: function get() {
@@ -437,4 +443,5 @@ var _Typography = _interopRequireDefault(require("./core/Typography"));
437
443
  var _Zoom = _interopRequireDefault(require("./core/Zoom"));
438
444
  var _PinInput = _interopRequireDefault(require("./core/PinInput"));
439
445
  var _Chapter = _interopRequireDefault(require("./core/Chapter"));
440
- var _DataTable = _interopRequireDefault(require("./core/DataTable"));
446
+ var _DataTable = _interopRequireDefault(require("./core/DataTable"));
447
+ var _StepCard = _interopRequireDefault(require("./core/StepCard"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flipper-ui",
3
- "version": "0.26.14",
3
+ "version": "0.26.16",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "homepage": "https://flipper-ui.ngi.com.br/",
@@ -40,8 +40,10 @@
40
40
  "faker": "5.5.3",
41
41
  "material-table": "1.69.3",
42
42
  "material-ui-chip-input": "2.0.0-beta.2",
43
+ "nginformatica-styleguide": "^1.0.2",
43
44
  "ramda": "0.25.0",
44
45
  "react-number-format": "4.4.1",
46
+ "sprintf-js": "^1.1.2",
45
47
  "uuid": "9.0.0"
46
48
  },
47
49
  "devDependencies": {
@@ -70,6 +72,7 @@
70
72
  "@types/react": "18.0.26",
71
73
  "@types/react-router": "5.1.2",
72
74
  "@types/react-router-dom": "5.1.2",
75
+ "@types/sprintf-js": "^1.1.2",
73
76
  "@types/styled-components": "4.4.2",
74
77
  "@types/uuid": "8.3.4",
75
78
  "@typescript-eslint/eslint-plugin": "5.44.0",
@@ -77,6 +80,7 @@
77
80
  "babel-loader": "8.2.5",
78
81
  "babel-plugin-transform-class-properties": "6.24.1",
79
82
  "babel-plugin-transform-imports": "2.0.0",
83
+ "css-loader": "^6.7.3",
80
84
  "cypress": "12.0.2",
81
85
  "cypress-cucumber-preprocessor": "4.3.1",
82
86
  "cypress-plugin-tab": "^1.0.5",
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.WithoutExpandable = exports.Default = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _StepCard = _interopRequireDefault(require("../core/StepCard"));
11
+ var _sprintfJs = require("sprintf-js");
12
+ var STEM_TIME_MULTIPLIER = 0.5;
13
+ var _default = {
14
+ title: 'StepCard',
15
+ component: _StepCard["default"]
16
+ };
17
+ exports["default"] = _default;
18
+ var Template = function Template(args) {
19
+ var total = args.steps.length;
20
+ var done = args.steps.filter(function (step) {
21
+ return step.done;
22
+ }).length;
23
+ var remaining = total - done;
24
+ var summary = args.summary || (0, _sprintfJs.sprintf)('%i passos restantes - Leva %i minuto(s)', remaining, remaining * STEM_TIME_MULTIPLIER);
25
+ return /*#__PURE__*/_react["default"].createElement(_StepCard["default"], (0, _extends2["default"])({}, args, {
26
+ summary: summary,
27
+ totalSteps: total,
28
+ doneSteps: done
29
+ }));
30
+ };
31
+ var Default = Template.bind({});
32
+ exports.Default = Default;
33
+ Default.args = {
34
+ title: 'Configurar a organização e filial',
35
+ image: 'https://dummyimage.com/130x124/000/fff',
36
+ onStepUrlClick: function onStepUrlClick(url) {
37
+ return alert(url);
38
+ },
39
+ steps: [{
40
+ title: 'Informar Razão social',
41
+ done: true,
42
+ url: 'https://www.google.com'
43
+ }, {
44
+ title: 'Informar dados do eSocial',
45
+ done: true,
46
+ url: 'https://www.google.com'
47
+ }, {
48
+ title: 'Informar dados da filial(CNAE, CNPJ)',
49
+ done: false,
50
+ url: 'https://www.google.com'
51
+ }]
52
+ };
53
+ var WithoutExpandable = Template.bind({});
54
+ exports.WithoutExpandable = WithoutExpandable;
55
+ WithoutExpandable.args = {
56
+ showBottomPercentage: false,
57
+ expandable: false,
58
+ showIcon: false,
59
+ title: 'Conheça mais sobre o Quírons',
60
+ subTitle: 'Siga os passos recomendados para uma melhor experiência ' + 'dentro da plataforma.',
61
+ summary: 'Seu progresso',
62
+ steps: [{
63
+ title: 'Informar Razão social',
64
+ done: true,
65
+ url: 'https://www.google.com'
66
+ }, {
67
+ title: 'Informar dados do eSocial',
68
+ done: true,
69
+ url: 'https://www.google.com'
70
+ }, {
71
+ title: 'Informar dados da filial(CNAE, CNPJ)',
72
+ done: false,
73
+ url: 'https://www.google.com'
74
+ }]
75
+ };