@eduzz/apps-toolbar
Advanced tools
Comparing version 4.0.14 to 5.0.0
@@ -1,2 +0,48 @@ | ||
import EduzzToolbar from './App'; | ||
export default EduzzToolbar; | ||
/* eslint-disable @typescript-eslint/naming-convention */ | ||
declare global { | ||
interface Window { | ||
EduzzAppsToolbar: (params: IEduzzToolbarSetupParams) => { | ||
show(): void; | ||
hide(): void; | ||
setUser(user: IEduzzToolbarSetupParams['user']): void; | ||
clearUser(): void; | ||
enableChat(): void; | ||
disableChat(): void; | ||
}; | ||
} | ||
let EduzzAppsToolbar: Window['EduzzAppsToolbar']; | ||
} | ||
export type typeEduzzToolbarApplications = | ||
| 'nutror' | ||
| 'blinket' | ||
| 'orbita' | ||
| 'sun' | ||
| 'jobzz' | ||
| 'telescope' | ||
| 'safevideo' | ||
| 'alumy' | ||
| 'orbit-pages'; | ||
export interface IEduzzToolbarSetupParams { | ||
show: boolean; | ||
application?: typeEduzzToolbarApplications; | ||
applicationUrls?: { [key in typeEduzzToolbarApplications]: string }; | ||
env?: 'production' | 'homolog' | 'development'; | ||
disableChat?: boolean; | ||
user?: { | ||
id: number; | ||
name: string; | ||
email: string; | ||
belt?: string; | ||
isSupport?: boolean; | ||
supportId?: number; | ||
isClubeBlack?: boolean; | ||
}; | ||
} | ||
declare function EduzzToolbarSetup(params: IEduzzToolbarSetupParams): Promise<ReturnType<Window['EduzzAppsToolbar']>>; | ||
export default EduzzToolbarSetup; |
29
index.js
@@ -1,5 +0,24 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var tslib_1 = require("tslib"); | ||
var App_1 = (0, tslib_1.__importDefault)(require("./App")); | ||
exports.default = App_1.default; | ||
export default function EduzzToolbarSetup(params) { | ||
return new Promise((resolve, reject) => { | ||
const script = document.createElement('script'); | ||
script.async = true; | ||
script.src = 'https://unpkg.com/@eduzz/apps-toolbar@^5.0.0/dist/widget.js'; | ||
script.onload = () => { | ||
const toolbar = window.EduzzAppsToolbar(params); | ||
resolve(toolbar); | ||
}; | ||
script.onerror = err => { | ||
import('@eduzz/apps-toolbar/dist/widget.js') | ||
.then(() => { | ||
console.log('@eduzz/apps-toolbar: LOADING FROM FALLBACK'); | ||
const toolbar = window.EduzzAppsToolbar(params); | ||
resolve(toolbar); | ||
}) | ||
.catch(() => reject(err)); | ||
}; | ||
document.body.append(script); | ||
}); | ||
} |
{ | ||
"name": "@eduzz/apps-toolbar", | ||
"version": "4.0.14", | ||
"version": "5.0.0", | ||
"private": false, | ||
"author": "Eduzz Team", | ||
"main": "./index.js", | ||
"license": "MIT", | ||
"types": "./index.d.ts", | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/eduzz/eduzz-toolbar" | ||
}, | ||
"scripts": { | ||
"start": "react-scripts start", | ||
"clean": "sh ./scripts/clean.sh", | ||
"build": "yarn clean && tsc -p .", | ||
"start": "react-app-rewired start", | ||
"build": "react-app-rewired build", | ||
"lint": "yarn eslint \"./src/**/*.ts\" \"./src/**/*.tsx\"", | ||
"preprepare": "concurrently -r \"yarn lint\"", | ||
"prepare": "yarn husky install && npm run build", | ||
"postpublish": "yarn clean" | ||
"preprepare": "concurrently -r \"yarn lint\" \"yarn tsc --noEmit\"", | ||
"prepare": "yarn husky install && npm run build" | ||
}, | ||
"dependencies": { | ||
"@eduzz/houston-icons": "^0.42.3", | ||
"devDependencies": { | ||
"@eduzz/eslint-config-houston": "0.42.3", | ||
"@emotion/react": "11.8.1", | ||
"@emotion/styled": "11.8.1", | ||
"react": "17.0.2" | ||
}, | ||
"devDependencies": { | ||
"@eduzz/eslint-config-houston": "0.42.3", | ||
"@types/node": "17.0.19", | ||
"@types/node": "17.0.21", | ||
"@types/react": "17.0.39", | ||
"@types/react-dom": "17.0.11", | ||
"@typescript-eslint/eslint-plugin": "5.12.0", | ||
"@typescript-eslint/parser": "5.12.0", | ||
"@types/validatorjs": "3.15.0", | ||
"@types/yup": "0.29.13", | ||
"@typescript-eslint/eslint-plugin": "5.12.1", | ||
"@typescript-eslint/parser": "5.12.1", | ||
"axios": "0.26.0", | ||
"concurrently": "7.0.0", | ||
"cross-env": "7.0.3", | ||
"eslint": "8.9.0", | ||
@@ -41,3 +34,3 @@ "eslint-config-prettier": "8.4.0", | ||
"eslint-plugin-prettier": "4.0.0", | ||
"eslint-plugin-react": "7.28.0", | ||
"eslint-plugin-react": "7.29.0", | ||
"eslint-plugin-react-hooks": "4.3.0", | ||
@@ -47,4 +40,8 @@ "eslint-plugin-react-native": "4.0.0", | ||
"eslint-plugin-unused-imports": "2.0.0", | ||
"husky": "^7.0.4", | ||
"husky": "7.0.4", | ||
"mdi-react": "8.2.0", | ||
"mock-require": "3.0.3", | ||
"prettier": "2.5.1", | ||
"react": "17.0.2", | ||
"react-app-rewired": "2.2.1", | ||
"react-dom": "17.0.2", | ||
@@ -54,9 +51,2 @@ "react-scripts": "5.0.0", | ||
}, | ||
"peerDependencies": { | ||
"@emotion/react": "^11.5.0", | ||
"@emotion/styled": "^11.3.0", | ||
"@types/react": "^16.8.6 || ^17.0.0", | ||
"react": "^17.0.0", | ||
"react-dom": "^17.0.0" | ||
}, | ||
"browserslist": { | ||
@@ -63,0 +53,0 @@ "production": [ |
164
README.md
@@ -1,112 +0,86 @@ | ||
# Eduzz Toolbar | ||
# Eduzz Apps Toolbar | ||
#### Instalação | ||
Toolbar cross-application | ||
`v4.x.x ou >` uso exclusivo para React. | ||
### Como User | ||
``` | ||
$ yarn add @eduzz/apps-toolbar | ||
``` | ||
Via package (sugerido): | ||
Adicione a fonte padrão no seu HTML. | ||
> Mesmo sendo instalado via package, ele possui um processo de auto-atualização, ou seja, no | ||
> browser ele tentará baixar a última versão ([^ patch, semver](https://docs.npmjs.com/about-semantic-versioning#using-semantic-versioning-to-specify-update-types-your-package-can-accept)), | ||
> caso sem sucesso, ele usará a versão do bundle. | ||
```html | ||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600&display=swap" rel="stylesheet"> | ||
```ts | ||
import EduzzAppsToolbar from '@eduzz/apps-toolbar'; | ||
EduzzAppsToolbar({ | ||
application: 'nutror', | ||
show: false //default false | ||
}).then(toolbar => { | ||
toolbar.show(); | ||
toolbar.setUser({/* user */}); | ||
//... | ||
}); | ||
``` | ||
#### Implementação | ||
Via CDN: | ||
> Atenção na versão selecionada, importante manter o ^! | ||
```js | ||
<EduzzToolbar {...params}> | ||
// ações customizadas | ||
<EduzzToolbar.Action icon={<AvatarOutline />} /> | ||
<EduzzToolbar.Action icon={<NotificationOutline />} /> | ||
(function (d, l, c) { | ||
var s = d.createElement('script'); | ||
s.async = true; | ||
s.src = l; | ||
s.onload = c; | ||
d.body.append(s); | ||
})(document, 'https://unpkg.com/@eduzz/apps-toolbar@^2.0.0/dist/widget.js', function () { | ||
var toolbar = window.EduzzAppsToolbar({ | ||
application: 'nutror', | ||
show: true //default false, | ||
env: 'development' | ||
}); | ||
// ações padrões | ||
<EduzzToolbar.Apps /> | ||
<EduzzToolbar.User menu={...} /> | ||
</EduzzToolbar> | ||
// Or later | ||
toolbar.show(); | ||
toolbar.hide(); | ||
}); | ||
``` | ||
#### Props | ||
## API | ||
`Toolbar` props. | ||
```js | ||
```ts | ||
// Parâmetros | ||
interface IEduzzToolbarSetupParams { | ||
application?: typeEduzzToolbarApplications; | ||
user?: IEduzzToolbarUser; | ||
disableChat?: boolean; | ||
} | ||
``` | ||
show: boolean; // default false | ||
application?: 'nutror' | ||
| 'blinket' | ||
| 'orbita' | ||
| 'sun' | ||
| 'jobzz' | ||
| 'telescope' | ||
| 'safevideo' | ||
| 'alumy' | ||
| 'orbit-pages'; // default null | ||
applicationUrls?: { [key in typeEduzzToolbarApplications]: string }; // override application urls | ||
env?: 'production' | 'homolog' | 'development'; // default production | ||
disableChat?: boolean; // default false, pode ser alterado depois, apenas para black+ | ||
`Toolbar.Action` props. | ||
```js | ||
interface IEduzzToolbarAction { | ||
active?: boolean; | ||
icon?: React.ReactNode; | ||
label?: React.ReactNode; | ||
onClick?: (element?: React.MouseEvent<HTMLDivElement>) => void; | ||
} | ||
``` | ||
`Toolbar.User` props. | ||
```js | ||
// menu | ||
interface IEduzzToolbarUserMenu { | ||
content: React.ReactNode; | ||
icon?: React.ReactNode; | ||
onClick?: (user: IEduzzToolbarUser, e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void; | ||
disabled?: boolean; | ||
hidden?: boolean; | ||
divider?: boolean; | ||
} | ||
``` | ||
#### Desenvolvimento local | ||
No arquivo `src/index.tsx` implemente o código abaixo. | ||
```js | ||
function DevApp() { | ||
const params: IEduzzToolbarSetupParams = { | ||
application: 'blinket', | ||
disableChat: true, | ||
user: { | ||
id: 1, | ||
name: 'John Doe', | ||
email: 'eduzz@eduzz.com' | ||
} | ||
user?: { // default null, pode ser alterado depois | ||
id: number; | ||
email: string; | ||
belt?: string; | ||
isSupport?: boolean; | ||
supportId?: number; | ||
isClubeBlack?: boolean; | ||
}; | ||
const menu: IEduzzToolbarUserMenu[] = [ | ||
{ | ||
content: 'Minhas compras', | ||
onClick: () => console.log('shopping') | ||
}, | ||
{ | ||
content: 'Dados cadastrais', | ||
disabled: true | ||
}, | ||
{ | ||
content: 'Sumiu!', | ||
hidden: true | ||
}, | ||
{ | ||
content: 'Sair', | ||
divider: true | ||
} | ||
]; | ||
return ( | ||
<EduzzToolbar {...params}> | ||
<EduzzToolbar.Apps /> | ||
<EduzzToolbar.User menu={menu} /> | ||
</EduzzToolbar> | ||
); | ||
} | ||
ReactDOM.render(<DevApp />, document.getElementById('root')); | ||
``` | ||
// Métodos | ||
const EduzzAppsToolbar: (params: IEduzzToolbarSetupParams) => { | ||
show(): void; | ||
hide(): void; | ||
setUser(user: IEduzzToolbarSetupParams['user']): void; | ||
clearUser(): void; | ||
enableChat(): void; | ||
disableChat(): void; | ||
}; | ||
``` |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
No contributors or author data
MaintenancePackage does not specify a list of contributors or an author in package.json.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
864606
0
1
32
6
919
2
86
1
- Removed@eduzz/houston-icons@^0.42.3
- Removed@emotion/react@11.8.1
- Removed@emotion/styled@11.8.1
- Removedreact@17.0.2
- Removed@babel/code-frame@7.24.7(transitive)
- Removed@babel/generator@7.25.6(transitive)
- Removed@babel/helper-module-imports@7.24.7(transitive)
- Removed@babel/helper-string-parser@7.24.8(transitive)
- Removed@babel/helper-validator-identifier@7.24.7(transitive)
- Removed@babel/highlight@7.24.7(transitive)
- Removed@babel/parser@7.25.6(transitive)
- Removed@babel/runtime@7.25.6(transitive)
- Removed@babel/template@7.25.0(transitive)
- Removed@babel/traverse@7.25.6(transitive)
- Removed@babel/types@7.25.6(transitive)
- Removed@eduzz/houston-icons@0.42.7(transitive)
- Removed@emotion/babel-plugin@11.12.0(transitive)
- Removed@emotion/cache@11.13.1(transitive)
- Removed@emotion/hash@0.9.2(transitive)
- Removed@emotion/is-prop-valid@1.3.1(transitive)
- Removed@emotion/memoize@0.9.0(transitive)
- Removed@emotion/react@11.8.1(transitive)
- Removed@emotion/serialize@1.3.2(transitive)
- Removed@emotion/sheet@1.4.0(transitive)
- Removed@emotion/styled@11.8.1(transitive)
- Removed@emotion/unitless@0.10.0(transitive)
- Removed@emotion/utils@1.4.1(transitive)
- Removed@emotion/weak-memoize@0.2.50.4.0(transitive)
- Removed@jridgewell/gen-mapping@0.3.5(transitive)
- Removed@jridgewell/resolve-uri@3.1.2(transitive)
- Removed@jridgewell/set-array@1.2.1(transitive)
- Removed@jridgewell/sourcemap-codec@1.5.0(transitive)
- Removed@jridgewell/trace-mapping@0.3.25(transitive)
- Removed@types/parse-json@4.0.2(transitive)
- Removed@types/prop-types@15.7.13(transitive)
- Removed@types/react@17.0.82(transitive)
- Removed@types/scheduler@0.16.8(transitive)
- Removedansi-styles@3.2.1(transitive)
- Removedbabel-plugin-macros@3.1.0(transitive)
- Removedcallsites@3.1.0(transitive)
- Removedchalk@2.4.2(transitive)
- Removedcolor-convert@1.9.3(transitive)
- Removedcolor-name@1.1.3(transitive)
- Removedconvert-source-map@1.9.0(transitive)
- Removedcosmiconfig@7.1.0(transitive)
- Removedcsstype@3.1.3(transitive)
- Removeddebug@4.3.7(transitive)
- Removederror-ex@1.3.2(transitive)
- Removedescape-string-regexp@1.0.54.0.0(transitive)
- Removedfind-root@1.1.0(transitive)
- Removedfunction-bind@1.1.2(transitive)
- Removedglobals@11.12.0(transitive)
- Removedhas-flag@3.0.0(transitive)
- Removedhasown@2.0.2(transitive)
- Removedhoist-non-react-statics@3.3.2(transitive)
- Removedimport-fresh@3.3.0(transitive)
- Removedis-arrayish@0.2.1(transitive)
- Removedis-core-module@2.15.1(transitive)
- Removedjs-tokens@4.0.0(transitive)
- Removedjsesc@2.5.2(transitive)
- Removedjson-parse-even-better-errors@2.3.1(transitive)
- Removedlines-and-columns@1.2.4(transitive)
- Removedloose-envify@1.4.0(transitive)
- Removedms@2.1.3(transitive)
- Removedobject-assign@4.1.1(transitive)
- Removedparent-module@1.0.1(transitive)
- Removedparse-json@5.2.0(transitive)
- Removedpath-parse@1.0.7(transitive)
- Removedpath-type@4.0.0(transitive)
- Removedpicocolors@1.1.0(transitive)
- Removedreact@17.0.2(transitive)
- Removedreact-dom@17.0.2(transitive)
- Removedreact-is@16.13.1(transitive)
- Removedregenerator-runtime@0.14.1(transitive)
- Removedresolve@1.22.8(transitive)
- Removedresolve-from@4.0.0(transitive)
- Removedscheduler@0.20.2(transitive)
- Removedsource-map@0.5.7(transitive)
- Removedstylis@4.2.0(transitive)
- Removedsupports-color@5.5.0(transitive)
- Removedsupports-preserve-symlinks-flag@1.0.0(transitive)
- Removedto-fast-properties@2.0.0(transitive)
- Removedyaml@1.10.2(transitive)