diff --git a/packages/drawing-toolbar/package-lock.json b/packages/drawing-toolbar/package-lock.json index b6a6399f..a07acf5f 100644 --- a/packages/drawing-toolbar/package-lock.json +++ b/packages/drawing-toolbar/package-lock.json @@ -2442,9 +2442,9 @@ "peer": true }, "node_modules/@ulms/ui-drawing": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/@ulms/ui-drawing/-/ui-drawing-3.3.8.tgz", - "integrity": "sha512-9/r483MmDL/vsJIwy+bc4GpX6fhuvrUiXXO7S7spCX6bCr9PnBdEAayJ1pFxjREjJffyIx3qnwcIGV/L/AluiQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@ulms/ui-drawing/-/ui-drawing-3.4.0.tgz", + "integrity": "sha512-+91lg9RWWkleWe0vExXt5BrVSHJUOWeXXndob+spR3lBfL0nBofFalyTaoJpUEb89wtFFC/2/EPUpBbV3DjXGw==", "peer": true, "dependencies": { "classnames-es": "^2.2.6", @@ -2453,7 +2453,7 @@ }, "peerDependencies": { "fabric": "^5.3.0", - "react": "^15.6 || ^16.x || ^17.x" + "react": "^16.14" } }, "node_modules/abab": { @@ -6680,9 +6680,9 @@ "peer": true }, "@ulms/ui-drawing": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/@ulms/ui-drawing/-/ui-drawing-3.3.8.tgz", - "integrity": "sha512-9/r483MmDL/vsJIwy+bc4GpX6fhuvrUiXXO7S7spCX6bCr9PnBdEAayJ1pFxjREjJffyIx3qnwcIGV/L/AluiQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@ulms/ui-drawing/-/ui-drawing-3.4.0.tgz", + "integrity": "sha512-+91lg9RWWkleWe0vExXt5BrVSHJUOWeXXndob+spR3lBfL0nBofFalyTaoJpUEb89wtFFC/2/EPUpBbV3DjXGw==", "peer": true, "requires": { "classnames-es": "^2.2.6", diff --git a/packages/drawing-toolbar/src/components/line-settings.jsx b/packages/drawing-toolbar/src/components/line-settings.jsx index 1269f012..38550204 100644 --- a/packages/drawing-toolbar/src/components/line-settings.jsx +++ b/packages/drawing-toolbar/src/components/line-settings.jsx @@ -18,7 +18,6 @@ const lineSizes = { EIGHT: 8, } - export const LineSettings = ({ currentSize, handleClick, dashed = false, }) => { diff --git a/packages/tooltip/package-lock.json b/packages/tooltip/package-lock.json index 6720c1ae..e2d0bb4e 100644 --- a/packages/tooltip/package-lock.json +++ b/packages/tooltip/package-lock.json @@ -1,12 +1,12 @@ { "name": "@ulms/tooltip", - "version": "1.0.0", + "version": "1.0.1-dev-0-ULMS-2928", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ulms/tooltip", - "version": "1.0.0", + "version": "1.0.1-dev-0-ULMS-2928", "license": "MIT", "devDependencies": { "react": "^16.14 || 17 || 18" diff --git a/packages/tooltip/package.json b/packages/tooltip/package.json index 6a09e239..d8cf6a7a 100644 --- a/packages/tooltip/package.json +++ b/packages/tooltip/package.json @@ -1,6 +1,6 @@ { "name": "@ulms/tooltip", - "version": "1.0.0", + "version": "1.0.1-dev-0-ULMS-2928", "description": "", "keywords": [ "lerna" diff --git a/packages/tooltip/src/tooltip.jsx b/packages/tooltip/src/tooltip.jsx index 0e7e9658..4023fbc0 100644 --- a/packages/tooltip/src/tooltip.jsx +++ b/packages/tooltip/src/tooltip.jsx @@ -3,6 +3,8 @@ import React, { memo, useMemo } from 'react' import styled from 'styled-components' import { Tooltip as TooltipComponent } from '@foxford/ui' +import { deepMerge } from './utils' + const styles = { wrapper: { height: '100%', @@ -25,6 +27,8 @@ const styles = { fontSize: '14px', lineHeight: '130%', color: '#333', + textAlign: 'center', + whiteSpace: 'pre-line', }, arrow: { spread: 16, @@ -69,7 +73,17 @@ function _Tooltip ({ dark, ...tooltipProps }) { - const computedStyles = useMemo(() => dark ? darkStyles : styles, [dark, customStyles]) + const computedStyles = useMemo( + () => deepMerge(customStyles, dark ? darkStyles : styles), + [dark, customStyles] + ) + + // if (Object.keys(customStyles).length) { + // console.log('!!!', { + // computedStyles, + // customStyles, + // }) + // } return disabled || hideTooltip ? ( diff --git a/packages/tooltip/src/utils.js b/packages/tooltip/src/utils.js new file mode 100644 index 00000000..17f9fc25 --- /dev/null +++ b/packages/tooltip/src/utils.js @@ -0,0 +1,49 @@ +function deepCopy (obj) { + const result = {} + + if (typeof obj !== 'object' + || typeof obj === 'undefined' + || obj === null + || Array.isArray(obj) + || typeof obj === 'function') { + return obj + } + + const keys = Object.keys(obj) + + // eslint-disable-next-line guard-for-in,no-restricted-syntax + for (const key in keys) { + result[keys[key]] = deepCopy(obj[keys[key]]) + } + + return result +} + +export function deepMerge (value1, value2) { + const obj1 = deepCopy(value1) + const obj2 = deepCopy(value2) + const mergedObj = {} + + // eslint-disable-next-line no-restricted-syntax + for (const key in obj1) { + if (typeof obj1[key] === 'object' && obj1[key] !== null) { + if (obj2[key] && typeof obj2[key] === 'object' && obj2[key] !== null) { + mergedObj[key] = deepMerge(obj1[key], obj2[key]) + } else { + mergedObj[key] = obj1[key] + } + } else { + mergedObj[key] = obj1[key] + } + } + + // eslint-disable-next-line no-restricted-syntax + for (const key in obj2) { + // eslint-disable-next-line no-prototype-builtins + if (obj2.hasOwnProperty(key) && !obj1.hasOwnProperty(key)) { + mergedObj[key] = obj2[key] + } + } + + return mergedObj +}