linear-react-components-ui 1.1.2-beta.8 → 1.1.3-beta.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/.eslintcache +1 -0
- package/.gitlab-ci.yml +1 -0
- package/.vscode/settings.json +10 -1
- package/lib/@types/SizePixels.d.ts +1 -1
- package/lib/assets/styles/button.scss +11 -9
- package/lib/assets/styles/checkbox.scss +37 -38
- package/lib/assets/styles/colors.scss +2 -0
- package/lib/assets/styles/commons.scss +1 -0
- package/lib/assets/styles/error.scss +9 -0
- package/lib/assets/styles/fieldset.scss +3 -0
- package/lib/assets/styles/gridlayout.scss +0 -2
- package/lib/assets/styles/hint.scss +21 -0
- package/lib/assets/styles/input.scss +7 -7
- package/lib/assets/styles/table.scss +2 -1
- package/lib/buttons/DefaultButton.js +29 -12
- package/lib/buttons/types.d.ts +1 -0
- package/lib/checkbox/Label.js +13 -4
- package/lib/checkbox/index.js +15 -11
- package/lib/dialog/Custom.js +4 -2
- package/lib/dialog/base/index.js +3 -2
- package/lib/dialog/form/index.js +3 -3
- package/lib/drawer/Drawer.js +1 -1
- package/lib/fieldset/index.js +4 -2
- package/lib/fieldset/types.d.ts +2 -0
- package/lib/form/Field.d.ts +2 -0
- package/lib/form/FieldArray.d.ts +2 -0
- package/lib/form/FieldArray.js +12 -26
- package/lib/form/FieldNumber.d.ts +2 -0
- package/lib/form/FieldPeriod.d.ts +2 -0
- package/lib/form/helpers.d.ts +2 -0
- package/lib/form/index.d.ts +2 -0
- package/lib/form/index.js +6 -7
- package/lib/form/types.d.ts +5 -2
- package/lib/form/withFieldHOC.d.ts +2 -0
- package/lib/form/withFormSecurity.d.ts +2 -0
- package/lib/gridlayout/GridRow.js +10 -2
- package/lib/gridlayout/types.d.ts +1 -1
- package/lib/hint/helpers.d.ts +3 -0
- package/lib/hint/helpers.js +21 -0
- package/lib/hint/index.d.ts +2 -1
- package/lib/hint/index.js +9 -15
- package/lib/hint/types.d.ts +3 -0
- package/lib/icons/helper.d.ts +4 -0
- package/lib/icons/helper.js +4 -0
- package/lib/inputs/base/InputTextBase.d.ts +2 -0
- package/lib/inputs/base/InputTextBase.js +51 -7
- package/lib/inputs/base/Label.d.ts +14 -0
- package/lib/inputs/base/Label.js +35 -0
- package/lib/inputs/base/helpers.d.ts +3 -2
- package/lib/inputs/base/helpers.js +1 -8
- package/lib/inputs/base/types.d.ts +14 -2
- package/lib/inputs/date/Dialog.d.ts +2 -0
- package/lib/inputs/date/Dropdown.d.ts +2 -0
- package/lib/inputs/date/helpers.d.ts +2 -0
- package/lib/inputs/date/index.d.ts +2 -0
- package/lib/inputs/date/index.js +2 -0
- package/lib/inputs/date/types.d.ts +3 -0
- package/lib/inputs/errorMessage/index.d.ts +17 -0
- package/lib/inputs/errorMessage/index.js +26 -0
- package/lib/inputs/file/DefaultFile.d.ts +2 -0
- package/lib/inputs/file/DefaultFile.js +4 -2
- package/lib/inputs/file/DragDropFile.d.ts +2 -0
- package/lib/inputs/file/DragDropFile.js +4 -2
- package/lib/inputs/file/File.d.ts +2 -0
- package/lib/inputs/file/FileButtonSettings.d.ts +2 -0
- package/lib/inputs/file/helpers.d.ts +2 -0
- package/lib/inputs/file/index.d.ts +2 -0
- package/lib/inputs/file/types.d.ts +2 -0
- package/lib/inputs/inputHOC.d.ts +3 -1
- package/lib/inputs/mask/BaseMask.d.ts +3 -0
- package/lib/inputs/mask/Cnpj.d.ts +3 -0
- package/lib/inputs/mask/Cpf.d.ts +3 -0
- package/lib/inputs/mask/Cpf.js +0 -1
- package/lib/inputs/mask/Phone.d.ts +3 -0
- package/lib/inputs/mask/ZipCode.d.ts +3 -0
- package/lib/inputs/mask/helpers.d.ts +2 -1
- package/lib/inputs/mask/imaskHOC.d.ts +3 -1
- package/lib/inputs/mask/index.d.ts +3 -0
- package/lib/inputs/mask/types.d.ts +5 -1
- package/lib/inputs/multiSelect/ActionButtons.d.ts +2 -0
- package/lib/inputs/multiSelect/Dropdown.d.ts +2 -0
- package/lib/inputs/multiSelect/helper.d.ts +2 -0
- package/lib/inputs/multiSelect/index.d.ts +2 -0
- package/lib/inputs/multiSelect/index.js +2 -2
- package/lib/inputs/multiSelect/types.d.ts +2 -0
- package/lib/inputs/number/BaseNumber.d.ts +3 -1
- package/lib/inputs/number/Currency.d.ts +3 -1
- package/lib/inputs/number/Decimal.d.ts +3 -1
- package/lib/inputs/number/index.d.ts +3 -1
- package/lib/inputs/number/types.d.ts +3 -1
- package/lib/inputs/period/Dialog.d.ts +2 -0
- package/lib/inputs/period/Dropdown.d.ts +2 -0
- package/lib/inputs/period/PeriodList.d.ts +2 -0
- package/lib/inputs/period/helper.d.ts +2 -0
- package/lib/inputs/period/index.d.ts +2 -0
- package/lib/inputs/period/index.js +4 -1
- package/lib/inputs/period/types.d.ts +2 -0
- package/lib/inputs/search/index.d.ts +3 -1
- package/lib/inputs/select/ActionButtons.d.ts +3 -1
- package/lib/inputs/select/Dropdown.d.ts +3 -1
- package/lib/inputs/select/helper.d.ts +3 -1
- package/lib/inputs/select/index.d.ts +2 -0
- package/lib/inputs/select/multiple/Selecteds.d.ts +2 -0
- package/lib/inputs/select/multiple/index.d.ts +2 -0
- package/lib/inputs/select/multiple/index.js +9 -3
- package/lib/inputs/select/simple/index.d.ts +2 -0
- package/lib/inputs/select/simple/index.js +9 -3
- package/lib/inputs/select/types.d.ts +4 -2
- package/lib/inputs/textarea/index.d.ts +2 -0
- package/lib/inputs/textarea/types.d.ts +2 -0
- package/lib/inputs/types.d.ts +10 -3
- package/lib/internals/types.d.ts +5 -2
- package/lib/internals/withTooltip.d.ts +3 -2
- package/lib/internals/withTooltip.js +25 -10
- package/lib/list/Item.js +19 -6
- package/lib/menus/sidenav/index.js +3 -3
- package/lib/menus/sidenav/popup_menu_search/index.js +1 -1
- package/lib/table/RowColumn.js +6 -8
- package/lib/toolbar/types.d.ts +1 -0
- package/lib/tooltip/index.js +2 -2
- package/lib/treeview/Node.js +2 -2
- package/lib/uitour/index.d.ts +2 -1
- package/lib/uitour/index.js +57 -4
- package/lib/uitour/types.d.ts +9 -1
- package/package.json +5 -5
- package/.tool-versions +0 -1
package/lib/uitour/index.js
CHANGED
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactDom = require("react-dom");
|
|
8
9
|
var _buttons = _interopRequireWildcard(require("../buttons"));
|
|
9
10
|
require("../assets/styles/uitour.scss");
|
|
10
11
|
var _helpers = require("./helpers");
|
|
@@ -24,7 +25,8 @@ const UiTour = props => {
|
|
|
24
25
|
showCloseButton = true,
|
|
25
26
|
showBackButton = true,
|
|
26
27
|
visible = true,
|
|
27
|
-
onFinish
|
|
28
|
+
onFinish,
|
|
29
|
+
onStepChange
|
|
28
30
|
} = props;
|
|
29
31
|
const [currentStep, setCurrentStep] = (0, _react.useState)(undefined);
|
|
30
32
|
const [hasNextStep, setHasNextStep] = (0, _react.useState)(false);
|
|
@@ -35,6 +37,7 @@ const UiTour = props => {
|
|
|
35
37
|
const [stepPosition, setStepPosition] = (0, _react.useState)(_helpers.STEP_POSITIONS.left);
|
|
36
38
|
const stepRef = (0, _react.useRef)(null);
|
|
37
39
|
const descriptionRef = (0, _react.useRef)(null);
|
|
40
|
+
const activatedEffects = (0, _react.useRef)([]);
|
|
38
41
|
const handleNextStep = () => {
|
|
39
42
|
if (hasNextStep) {
|
|
40
43
|
const currentStepIndex = data.findIndex(item => item.id === (currentStep === null || currentStep === void 0 ? void 0 : currentStep.id));
|
|
@@ -88,6 +91,46 @@ const UiTour = props => {
|
|
|
88
91
|
setShowTour(visible);
|
|
89
92
|
setCurrentStep(step);
|
|
90
93
|
};
|
|
94
|
+
const removePreviousElementsEffects = () => {
|
|
95
|
+
if (activatedEffects.current.length > 0) {
|
|
96
|
+
const effects = activatedEffects.current;
|
|
97
|
+
effects.forEach(ef => {
|
|
98
|
+
const element = document.getElementById(ef.elementId);
|
|
99
|
+
if (element) {
|
|
100
|
+
delete element.dataset.uitour;
|
|
101
|
+
activatedEffects.current = activatedEffects.current.filter(r => r.elementId !== ef.elementId);
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
const addElementEffect = (0, _react.useCallback)(elementEffect => {
|
|
107
|
+
const element = document.getElementById(elementEffect.elementId);
|
|
108
|
+
if (element) {
|
|
109
|
+
element.dataset.uitour = elementEffect.effect;
|
|
110
|
+
if (activatedEffects.current) activatedEffects.current.push(elementEffect);
|
|
111
|
+
}
|
|
112
|
+
}, []);
|
|
113
|
+
const showElementsEffects = currentData => {
|
|
114
|
+
if (currentData.effect) {
|
|
115
|
+
const {
|
|
116
|
+
effect,
|
|
117
|
+
targetId
|
|
118
|
+
} = currentData;
|
|
119
|
+
addElementEffect({
|
|
120
|
+
effect,
|
|
121
|
+
elementId: targetId
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
if (currentData.elementsEffects) {
|
|
125
|
+
let {
|
|
126
|
+
elementsEffects
|
|
127
|
+
} = currentData;
|
|
128
|
+
if (!Array.isArray(elementsEffects)) elementsEffects = [elementsEffects];
|
|
129
|
+
elementsEffects.forEach(ef => {
|
|
130
|
+
addElementEffect(ef);
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
};
|
|
91
134
|
(0, _react.useEffect)(() => {
|
|
92
135
|
if (currentStep) {
|
|
93
136
|
const target = document.getElementById(currentStep.targetId);
|
|
@@ -113,6 +156,9 @@ const UiTour = props => {
|
|
|
113
156
|
setIsLastStep(false);
|
|
114
157
|
}
|
|
115
158
|
getStepPosition(targetRect);
|
|
159
|
+
removePreviousElementsEffects();
|
|
160
|
+
showElementsEffects(data[currentStepIndex]);
|
|
161
|
+
if (onStepChange) onStepChange(target);
|
|
116
162
|
}
|
|
117
163
|
if (descriptionRef.current) {
|
|
118
164
|
descriptionRef.current.innerHTML = currentStep.description;
|
|
@@ -151,8 +197,13 @@ const UiTour = props => {
|
|
|
151
197
|
mutationObserver = null;
|
|
152
198
|
};
|
|
153
199
|
}, [visible, data]);
|
|
154
|
-
|
|
155
|
-
|
|
200
|
+
(0, _react.useEffect)(() => {
|
|
201
|
+
if (!showTour && activatedEffects.current.length > 0) {
|
|
202
|
+
removePreviousElementsEffects();
|
|
203
|
+
}
|
|
204
|
+
if (showTour) document.body.style.overflow = 'hidden';else document.body.style.overflow = 'auto';
|
|
205
|
+
}, [showTour, activatedEffects.current.length]);
|
|
206
|
+
const component = (0, _react.useMemo)(() => /*#__PURE__*/_react.default.createElement("div", {
|
|
156
207
|
className: "uitour-component"
|
|
157
208
|
}, currentStep && /*#__PURE__*/_react.default.createElement("div", {
|
|
158
209
|
ref: stepRef,
|
|
@@ -199,6 +250,8 @@ const UiTour = props => {
|
|
|
199
250
|
visible: isLastStep,
|
|
200
251
|
onClick: onCloseTour,
|
|
201
252
|
customClass: "finish-button"
|
|
202
|
-
}))));
|
|
253
|
+
})))), [currentStep, stepPosition, stepDimensions, showCloseButton, onCloseTour, backButtonLabel, handleBackStep, hasBackStep, showBackButton, nextButtonLabel, handleNextStep, hasNextStep, isLastStep, finishButtonLabel, isLastStep, onCloseTour]);
|
|
254
|
+
if (!showTour) return null;
|
|
255
|
+
return /*#__PURE__*/(0, _reactDom.createPortal)(component, document.body);
|
|
203
256
|
};
|
|
204
257
|
var _default = exports.default = UiTour;
|
package/lib/uitour/types.d.ts
CHANGED
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
import { STEP_POSITIONS } from './helpers.js';
|
|
2
2
|
|
|
3
|
+
type Effect = 'hover' | 'focus' | 'blur' | 'active' | 'selected';
|
|
4
|
+
type ElementEffect = {
|
|
5
|
+
elementId: string;
|
|
6
|
+
effect: Effect;
|
|
7
|
+
};
|
|
3
8
|
type UITourData = {
|
|
4
9
|
id: string | number;
|
|
5
10
|
targetId: string;
|
|
11
|
+
effect?: Effect;
|
|
6
12
|
title: string;
|
|
7
13
|
description: string;
|
|
8
14
|
position?: keyof typeof STEP_POSITIONS;
|
|
15
|
+
elementsEffects?: ElementEffect | ElementEffect[];
|
|
9
16
|
};
|
|
10
17
|
interface CurrentStep extends UITourData {
|
|
11
18
|
number: number;
|
|
@@ -25,6 +32,7 @@ interface IUITourProps {
|
|
|
25
32
|
showBackButton?: boolean;
|
|
26
33
|
visible?: boolean;
|
|
27
34
|
onFinish: (value: boolean) => void;
|
|
35
|
+
onStepChange?: (target: HTMLElement) => void;
|
|
28
36
|
}
|
|
29
37
|
|
|
30
|
-
export type { CurrentStep, IUITourProps, StepDimensions, UITourData };
|
|
38
|
+
export type { CurrentStep, Effect, ElementEffect, IUITourProps, StepDimensions, UITourData };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "linear-react-components-ui",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3-beta.0",
|
|
4
4
|
"description": "Linear Sistemas ReactJs Components",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib/index.cjs",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"lib:types": "NODE_OPTIONS='--max-old-space-size=16384' tsup --dts-only --dts --external react",
|
|
10
10
|
"demo": "node scripts/start.js",
|
|
11
11
|
"demo:prod": "webpack --config ./config/webpack.config.js --mode production",
|
|
12
|
-
"check:js": "eslint ./src/** --ext=.jsx,.js,.tsx,.ts",
|
|
12
|
+
"check:js": "eslint ./src/** --ext=.jsx,.js,.tsx,.ts --cache",
|
|
13
13
|
"deploy:heroku": "npm run demo:prod && cd demo && git commit -am 'Deploy' && git push heroku master",
|
|
14
14
|
"deploy:vercel": "npm run demo:prod && vercel --prod demo",
|
|
15
15
|
"publish:npm": "npm run lib && npm publish",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@types/react-dom": "18.0.5",
|
|
45
45
|
"attach-dom-events": "1.0.0",
|
|
46
|
-
"browserslist": "4.
|
|
46
|
+
"browserslist": "4.23.0",
|
|
47
47
|
"history": "5.0.0",
|
|
48
48
|
"imask": "6.4.3",
|
|
49
49
|
"init": "0.1.2",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"react-router-dom": "6.21.3",
|
|
55
55
|
"react-syntax-highlighter": "15.5.0",
|
|
56
56
|
"semver": "7.5.4",
|
|
57
|
-
"uuid": "
|
|
57
|
+
"uuid": "9.0.1"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@babel/cli": "7.23.9",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"@babel/preset-react": "7.18.6",
|
|
66
66
|
"@babel/preset-typescript": "7.23.3",
|
|
67
67
|
"@svgr/webpack": "8.1.0",
|
|
68
|
-
"@swc/core": "1.
|
|
68
|
+
"@swc/core": "1.4.13",
|
|
69
69
|
"@testing-library/jest-dom": "5.16.5",
|
|
70
70
|
"@testing-library/react": "14.1.2",
|
|
71
71
|
"@testing-library/user-event": "14.4.3",
|
package/.tool-versions
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
nodejs 10.16.0
|