Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
a71f144
react upgrade
rootp1 Feb 20, 2026
c593b3e
app.test.js upgrade
rootp1 Feb 20, 2026
9d61d48
remove react-scripts
rootp1 Feb 20, 2026
8fad5f4
upgrading zustand, react-select
rootp1 Feb 20, 2026
8cb332e
fixed vitest config
rootp1 Feb 20, 2026
2d7db15
added vite entry point
rootp1 Feb 20, 2026
d844005
more config changes
rootp1 Feb 20, 2026
7b3b259
renamed entry points with .jsx
rootp1 Feb 20, 2026
65e11df
dropping prop-types
rootp1 Apr 20, 2026
70bc26f
better error handling
rootp1 Apr 21, 2026
b4a91c5
Merge branch 'main' into fix/react-upgrade
rootp1 Apr 21, 2026
1e27503
json renderer + table package
rootp1 Apr 22, 2026
3149e27
table
rootp1 Apr 22, 2026
1d47d1f
Aligned Baseline
rootp1 Apr 22, 2026
427e653
Fixed Lifecycles
rootp1 Apr 22, 2026
0397cb6
Hardened Effects
rootp1 Apr 22, 2026
95e24d9
Reworked Loading
rootp1 Apr 22, 2026
6b146e2
Stabilized Targets
rootp1 Apr 22, 2026
10f58fe
Hardened Selectors
rootp1 Apr 22, 2026
47fc023
Removed Hooks
rootp1 Apr 22, 2026
159f60a
Resolved Imports
rootp1 Apr 22, 2026
278615c
Updated Snapshots
rootp1 Apr 22, 2026
c685a06
updated ss
rootp1 Apr 22, 2026
40601ae
Hardened Behavior
rootp1 Apr 22, 2026
1fe4bd9
Aligned Testing
rootp1 Apr 22, 2026
5090ee5
Rooted ESLint
rootp1 Apr 22, 2026
e226b53
Disabled Propchecks
rootp1 Apr 22, 2026
d713daa
Applied Autofixes
rootp1 Apr 22, 2026
c476d9a
Removed Unused
rootp1 Apr 22, 2026
1057b16
Fix linting issues
regulartim Apr 23, 2026
f6f28f3
Bump dependencies and remove gh-pages
regulartim Apr 23, 2026
df796f7
Replace microbundle-crl with vite build
regulartim Apr 23, 2026
e39fe9b
Fix CI
regulartim Apr 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 34 additions & 4 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"root": true,
"parserOptions": {
"ecmaVersion": 2021,
"ecmaFeatures": {
Expand All @@ -18,10 +19,9 @@
"airbnb",
"prettier"
],
"settings": { "react": { "version": "17" } },
"settings": { "react": { "version": "detect" } },
"rules": {
"react/prop-types": ["warn"],
"react/forbid-prop-types": "off",
"react/prop-types": "off",
"react/jsx-props-no-spreading": "off",
"react/jsx-fragments": ["off"],
"semi": ["error", "always"],
Expand All @@ -40,5 +40,35 @@
"no-undef": "error",
"no-use-before-define": "off",
"import/no-unresolved": "off"
}
},
"overrides": [
{
"files": ["example/**"],
"rules": {
"import/no-extraneous-dependencies": "off",
"react/no-unstable-nested-components": "off",
"jsx-a11y/click-events-have-key-events": "off",
"jsx-a11y/no-static-element-interactions": "off",
"jsx-a11y/no-noninteractive-element-interactions": "off"
}
},
{
"files": ["**/*.test.{js,jsx}", "vitest.setup.{js,mjs}", "example/vitest.setup.{js,mjs}"],
"env": { "node": true },
"globals": {
"describe": "readonly",
"it": "readonly",
"test": "readonly",
"expect": "readonly",
"beforeEach": "readonly",
"afterEach": "readonly",
"beforeAll": "readonly",
"afterAll": "readonly",
"vi": "readonly"
},
"rules": {
"import/no-extraneous-dependencies": "off"
}
}
]
}
2 changes: 1 addition & 1 deletion .github/workflows/pull_request_automation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
npm
- name: Install dependencies
run: |
npm i --no-optional --no-audit --no-fund
npm ci --no-audit --no-fund
working-directory: .
- name: Lint with eslint
run: |
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ dist
.env.development.local
.env.test.local
.env.production.local
playwright-report
test-results

npm-debug.log*
yarn-debug.log*
Expand Down
19 changes: 19 additions & 0 deletions example/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="shortcut icon" href="/favicon.ico" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no"
/>
<meta name="theme-color" content="#000000" />
<link rel="manifest" href="/manifest.json" />
<title>@certego/certego-ui examples</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<script type="module" src="/src/index.jsx"></script>
</body>
</html>
13 changes: 5 additions & 8 deletions example/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,20 @@
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ../node_modules/react-scripts/bin/react-scripts.js start",
"build": "node ../node_modules/react-scripts/bin/react-scripts.js build",
"test": "node ../node_modules/react-scripts/bin/react-scripts.js test",
"eject": "node ../node_modules/react-scripts/bin/react-scripts.js eject"
"start": "node ../node_modules/vite/bin/vite.js",
"start:ci": "PLAYWRIGHT=true node ../node_modules/vite/bin/vite.js --host 127.0.0.1 --strictPort --port 3000",
"build": "node ../node_modules/vite/bin/vite.js build",
"test": "node ../node_modules/vitest/vitest.mjs run --config vitest.config.mjs"
},
"dependencies": {
"@greedybear/gb-ui": "file:..",
"react": "file:../node_modules/react",
"react-dom": "file:../node_modules/react-dom",
"react-scripts": "file:../node_modules/react-scripts"
"vite": "file:../node_modules/vite"
},
"devDependencies": {
"@babel/plugin-syntax-object-rest-spread": "^7.8.3"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": [
">0.2%",
"not dead",
Expand Down
9 changes: 0 additions & 9 deletions example/src/App.test.js

This file was deleted.

7 changes: 7 additions & 0 deletions example/src/App.test.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import React from "react";
import { render } from "@testing-library/react";
import App from "./App";

it("renders without crashing", () => {
render(<App />);
});
7 changes: 0 additions & 7 deletions example/src/index.js

This file was deleted.

12 changes: 12 additions & 0 deletions example/src/index.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import "./index.scss";

import React from "react";
import { createRoot } from "react-dom/client";
import App from "./App";

const root = createRoot(document.getElementById("root"));
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);
2 changes: 1 addition & 1 deletion example/src/index.scss
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@import "@greedybear/gb-ui/src/styles/root.scss";
@import "../../src/styles/root.scss";

// App.jsx
* {
Expand Down
2 changes: 1 addition & 1 deletion example/src/layouts/AppFooter.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
const selector = (state) => state.toasts;

function AppFooter() {
console.debug("AppFooter rendered!");

Check warning on line 11 in example/src/layouts/AppFooter.jsx

View workflow job for this annotation

GitHub Actions / frontend-tests

Unexpected console statement

// consume store
const toasts = useToastr(selector);
Expand Down Expand Up @@ -38,7 +38,7 @@
<Col className="text-muted small standout">
<a
className="text-muted link"
href={`https://github.com/GreedyBear-Project/gb-ui`}
href="https://github.com/GreedyBear-Project/gb-ui"
target="_blank"
rel="noreferrer noopener"
>
Expand Down
2 changes: 1 addition & 1 deletion example/src/layouts/AppMain.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ export default function AppMain() {
);

// call hook
const { activeKey, renderNavItems, renderRoutes } = useRouterTabs({
const { activeKey, renderNavItems, renderRoutes, } = useRouterTabs({
routes,
redirect: true,
});
Expand Down
42 changes: 20 additions & 22 deletions example/src/sections/Buttons.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
MdDelete,
MdInfo,
MdModeEdit,
MdVisibility,
MdVisibility
} from "react-icons/md";
import { Form, Formik } from "formik";

Expand All @@ -25,7 +25,7 @@
PopupFormButton,
ScrollToTopButton,
SocialShareBtn,
SyncButton,
SyncButton
} from "@greedybear/gb-ui";

import ComponentAsExample from "./ComponentAsExample";
Expand Down Expand Up @@ -78,11 +78,11 @@
name="SyncButton"
bodyNode={
<div className="d-flex justify-content-around">
<SyncButton onClick={async () => alert("Example Alert #1")} />

Check warning on line 81 in example/src/sections/Buttons.jsx

View workflow job for this annotation

GitHub Actions / frontend-tests

Unexpected alert
<SyncButton
title="Custom title"
className="btn btn-info"
onClick={async () => alert("Example Alert #2")}

Check warning on line 85 in example/src/sections/Buttons.jsx

View workflow job for this annotation

GitHub Actions / frontend-tests

Unexpected alert
/>
</div>
}
Expand Down Expand Up @@ -116,32 +116,30 @@
titlePlacement="top"
popOverPlacement="top"
Icon={MdModeEdit}
Form={({ onFormSubmit }) => (
Form={({ onFormSubmit, }) => (
<Formik
initialValues={{ name: "" }}
initialValues={{ name: "", }}
onSubmit={onFormSubmit}
>
{(formik) => (
<Form className="p-2 ">
<FormGroup>
<Label className="required" for="email">
Name
</Label>
<Input
autoFocus
type="text"
name="name"
size="sm"
/>
</FormGroup>
<Button type="submit" color="darker" className="btn-sm">
Submit
</Button>
</Form>
)}
<Form className="p-2 ">
<FormGroup>
<Label className="required" for="email">
Name
</Label>
<Input
autoFocus
type="text"
name="name"
size="sm"
/>
</FormGroup>
<Button type="submit" color="darker" className="btn-sm">
Submit
</Button>
</Form>
</Formik>
)}
onFormSuccess={() => alert("onFormSuccess callback")}

Check warning on line 142 in example/src/sections/Buttons.jsx

View workflow job for this annotation

GitHub Actions / frontend-tests

Unexpected alert
/>
</div>
}
Expand Down
4 changes: 2 additions & 2 deletions example/src/sections/Containers.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
ContentSection,
SmallInfoCard,
Loader,
LoadingBoundary,
LoadingBoundary
} from "@greedybear/gb-ui";

import ComponentAsExample from "./ComponentAsExample";
Expand Down Expand Up @@ -80,7 +80,7 @@ export default function Containers(props) {
name="SmallInfoCard"
bodyNode={
<SmallInfoCard
header={"Example Header"}
header="Example Header"
body={
<p className="pt-2 pb-0 px-2">
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Cumque
Expand Down
16 changes: 8 additions & 8 deletions example/src/sections/Form.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,20 +22,20 @@
MultiSelectTextInput,
InputCheckBox,
CustomJsonInput,
NewJsonRenderer,
NewJsonRenderer
} from "@greedybear/gb-ui";

// constants
const asyncSelectProps = {
url: "https://raw.githubusercontent.com/samayo/country-json/master/src/country-by-name.json",
mapFn: (x) => ({ label: x["country"], value: x["country"] }),
mapFn: (x) => ({ label: x.country, value: x.country, }),
};
const occupationChoices = [
{ label: "Software Engineer", value: "swe" },
{ label: "Super Shadowy Coder", value: "ssc" },
{ label: "Data Engineer", value: "dee" },
{ label: "ML engineer", value: "mle" },
{ label: "Security engineer", value: "se" },
{ label: "Software Engineer", value: "swe", },
{ label: "Super Shadowy Coder", value: "ssc", },
{ label: "Data Engineer", value: "dee", },
{ label: "ML engineer", value: "mle", },
{ label: "Security engineer", value: "se", },
];
const hearAboutUsChoices = [
{
Expand Down Expand Up @@ -66,7 +66,7 @@
gender: genderChoices[0],
likeUI: true,
likeUIRange: [1, 10],
occupation: occupationChoices[0]["value"],
occupation: occupationChoices[0].value,
pastOccupations: [],
techTags: [],
discover_from: "",
Expand All @@ -78,7 +78,7 @@
export default function FormExample(props) {
const onFormSubmit = React.useCallback(async (values, formik) => {
try {
await alert(JSON.stringify(values));

Check warning on line 81 in example/src/sections/Form.jsx

View workflow job for this annotation

GitHub Actions / frontend-tests

Unexpected alert
} catch (e) {
// redundant catch
} finally {
Expand Down
2 changes: 1 addition & 1 deletion example/src/sections/Icons.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {
ContentSection,
ArrowToggleIcon,
BooleanIcon,
LinkOpenViewIcon,
LinkOpenViewIcon
} from "@greedybear/gb-ui";

import ComponentAsExample from "./ComponentAsExample";
Expand Down
4 changes: 2 additions & 2 deletions example/src/sections/Lists.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {
ContentSection,
useAxiosComponentLoader,
InfiniteScrollList,
KvList,
KvList
} from "@greedybear/gb-ui";

import ComponentAsExample from "./ComponentAsExample";
Expand Down Expand Up @@ -38,7 +38,7 @@ export default function Lists(props) {
renderListItem={(todo) => (
<KvList
key={`kvlist-${todo.id}`}
object={{ [todo.id]: todo }}
object={{ [todo.id]: todo, }}
/>
)}
/>
Expand Down
12 changes: 6 additions & 6 deletions example/src/sections/Misc.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
Details,
Toaster,
UserBubble,
FallBackLoading,
FallBackLoading
} from "@greedybear/gb-ui";

import ComponentAsExample from "./ComponentAsExample";
Expand All @@ -21,11 +21,11 @@ const statusColorMap = {
incomplete: "warning",
};
const exampleToasts = [
{ header: "Info", body: "Example text", color: "info" },
{ header: "Light", body: "Example text", color: "light" },
{ header: "Primary", body: "Example text", color: "primary" },
{ header: "Success", body: "Example text", color: "success" },
{ header: "Danger", body: "Example text", color: "danger", showToggle: true },
{ header: "Info", body: "Example text", color: "info", },
{ header: "Light", body: "Example text", color: "light", },
{ header: "Primary", body: "Example text", color: "primary", },
{ header: "Success", body: "Example text", color: "success", },
{ header: "Danger", body: "Example text", color: "danger", showToggle: true, },
{
header: "Warning",
body: "Example text",
Expand Down
2 changes: 1 addition & 1 deletion example/src/sections/Nav.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
ContentSection,
HoverDropdown,
DropdownNavLink,
NavLink,
NavLink
} from "@greedybear/gb-ui";

import ComponentAsExample from "./ComponentAsExample";
Expand Down
2 changes: 1 addition & 1 deletion example/src/sections/Stores.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ const stateSelector = (state) => ({
});

export default function Stores(props) {
const { addToast } = useToastr(stateSelector);
const { addToast, } = useToastr(stateSelector);

return (
<ContentSection {...props}>
Expand Down
Loading
Loading