Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
9ea651d
update(icons): update names for icons
BlackPoretsky Sep 4, 2025
4c8aa38
feat(headless/components): build library
BlackPoretsky Sep 6, 2025
e8d09c5
update(headless/components): update package name
BlackPoretsky Sep 6, 2025
01da362
update(headless/components): update formating
BlackPoretsky Sep 9, 2025
58fa4a1
feat(headless/components): update Field.Control, add Textarea
BlackPoretsky Sep 12, 2025
b6f6808
feat(flippo/component): add Button, StoryCombine
BlackPoretsky Sep 12, 2025
2e206da
update(icons): update icons
BlackPoretsky Sep 12, 2025
d2eba1f
feat(headless/components): add PinInput component and related functio…
BlackPoretsky Sep 14, 2025
527695e
feat(flippo/components): introduce Input component with various subco…
BlackPoretsky Sep 17, 2025
199e801
feat(headless/components): implement PinInput subcomponents and focus…
BlackPoretsky Sep 22, 2025
5823c3c
feat(flippo/components): update component titles and add Toggle and T…
BlackPoretsky Sep 22, 2025
b37aa01
feat(flippo/components): add Tabs component with subcomponents and st…
BlackPoretsky Sep 23, 2025
3204f0e
feat(flippo/components): add Tooltip component with subcomponents and…
BlackPoretsky Sep 24, 2025
1832602
feat(flippo/components): add Checkbox component with subcomponents, s…
BlackPoretsky Sep 25, 2025
5baab69
feat(flippo/components): add CheckboxGroup component with styles and …
BlackPoretsky Sep 25, 2025
ae97584
feat(flippo/components): introduce Avatar component with subcomponent…
BlackPoretsky Sep 25, 2025
f0834dd
feat(flippo/components): add Slot component with props and integratio…
BlackPoretsky Sep 25, 2025
262fe2f
feat(flippo/components): add Radio and RadioGroup components with sty…
BlackPoretsky Sep 25, 2025
1ea1a5e
feat(flippo/components): add Switch component with subcomponents, sty…
BlackPoretsky Sep 26, 2025
5e271a8
feat(flippo/components): add Textarea component with subcomponents, s…
BlackPoretsky Sep 27, 2025
34a766d
feat(flippo/components): add Form component with styles and stories
BlackPoretsky Sep 27, 2025
bee7be6
feat(flippo/components): add Fieldset component with subcomponents, s…
BlackPoretsky Sep 27, 2025
670de46
feat(flippo/components): add Field component with subcomponents, styl…
BlackPoretsky Sep 27, 2025
48eb196
feat(flippo/components): add Slider component with subcomponents, sty…
BlackPoretsky Sep 27, 2025
1a85b7e
feat(flippo/components): add Progress component with subcomponents, s…
BlackPoretsky Sep 27, 2025
58f4848
feat(flippo/components): add Meter component with subcomponents, styl…
BlackPoretsky Sep 27, 2025
7997120
feat(flippo/components): add Accordion component with subcomponents, …
BlackPoretsky Sep 28, 2025
b77b548
feat(flippo/components): add Collapsible component with subcomponents…
BlackPoretsky Sep 28, 2025
48f1c7a
feat(flippo/components): add Toolbar component with subcomponents, st…
BlackPoretsky Sep 28, 2025
6511848
feat(flippo/components): add ContextMenu component with subcomponents…
BlackPoretsky Sep 28, 2025
69903bd
feat(flippo/components): add Dialog component with subcomponents, sty…
BlackPoretsky Sep 28, 2025
e87b17d
feat(flippo/components): add Menubar component with styles and stories
BlackPoretsky Sep 28, 2025
daaaf20
feat(flippo/components): add Popover component with subcomponents, st…
BlackPoretsky Sep 28, 2025
f9a3714
feat(flippo/components): add NumberField component with subcomponents…
BlackPoretsky Sep 28, 2025
5cd0867
feat(flippo/components): add Toast component with subcomponents, styl…
BlackPoretsky Sep 30, 2025
fd8e27f
feat(flippo/components): add Select component with subcomponents, sty…
BlackPoretsky Oct 4, 2025
7ff10c7
feat(flippo/components): add Menu component with subcomponents, style…
BlackPoretsky Oct 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
20.14.0
22.14.0
48 changes: 24 additions & 24 deletions backend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,44 +17,44 @@
"author": "Egor Gorochkin",
"license": "ISC",
"devDependencies": {
"@eslint/eslintrc": "^3.1.0",
"@eslint/js": "^9.12.0",
"@eslint/migrate-config": "^1.3.1",
"@types/body-parser": "^1.19.5",
"@types/cookie-parser": "^1.4.7",
"@types/cors": "^2.8.17",
"@eslint/eslintrc": "^3.3.1",
"@eslint/js": "^9.34.0",
"@eslint/migrate-config": "^1.5.3",
"@types/body-parser": "^1.19.6",
"@types/cookie-parser": "^1.4.9",
"@types/cors": "^2.8.19",
"@types/eslint__eslintrc": "^2.1.2",
"@types/eslint__js": "^8.42.3",
"@types/express": "^4.17.21",
"@types/express": "^4.17.23",
"@types/express-useragent": "^1.0.5",
"@types/lodash-es": "^4.17.12",
"@types/node": "^22.5.5",
"@types/nodemailer": "^6.4.16",
"@types/node": "^22.18.0",
"@types/nodemailer": "^6.4.19",
"@types/pino-http": "^5.8.4",
"@types/qs": "^6.9.16",
"@typescript-eslint/eslint-plugin": "^8.6.0",
"@typescript-eslint/parser": "^8.6.0",
"pino-pretty": "^11.2.2",
"@types/qs": "^6.14.0",
"@typescript-eslint/eslint-plugin": "^8.41.0",
"@typescript-eslint/parser": "^8.41.0",
"pino-pretty": "^11.3.0",
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.2.0",
"typescript": "^5.6.2"
"typescript": "^5.9.2"
},
"dependencies": {
"axios": "^1.7.7",
"cookie-parser": "^1.4.6",
"axios": "^1.11.0",
"cookie-parser": "^1.4.7",
"cors": "^2.8.5",
"dotenv": "^16.4.5",
"express": "^4.21.0",
"dotenv": "^16.6.1",
"express": "^4.21.2",
"express-useragent": "^1.0.15",
"jose": "^5.9.2",
"jose": "^5.10.0",
"lodash-es": "^4.17.21",
"nodemailer": "^6.9.15",
"nodemon": "^3.1.5",
"pino": "^9.4.0",
"nodemailer": "^6.10.1",
"nodemon": "^3.1.10",
"pino": "^9.9.0",
"pkce-challenge": "^4.1.0",
"qs": "^6.13.0",
"qs": "^6.14.0",
"surrealdb": "1.0.0-beta.21",
"uuid": "^10.0.0",
"zod": "^3.23.8"
"zod": "^3.25.76"
}
}
12 changes: 7 additions & 5 deletions frontend/.storybook/customTheme.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
import { create } from '@storybook/theming';

export default create({
appBg: '#14151a',
appBorderRadius: 24,
barBg: '#14151a',
base: 'dark',
brandTitle: 'Flippo'
appBg: '#14151a',
appBorderRadius: 24,
barBg: '#14151a',
appContentBg: '#14151a',
appPreviewBg: '#14151a',
base: 'dark',
brandTitle: 'Flippo'
});
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
"publish": "npm i && turbo run build && changeset publish"
},
"devDependencies": {
"@changesets/cli": "^2.28.1",
"turbo": "^2.5.0"
"@changesets/cli": "^2.29.6",
"turbo": "^2.5.6"
},
"packageManager": "pnpm@10.14.0",
"engines": {
Expand Down
30 changes: 15 additions & 15 deletions packages/test/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"default": "./dist/index.mjs"
},
"require": {
"types": "./dist/index.d.ts",
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
}
}
Expand Down Expand Up @@ -41,23 +41,23 @@
"private": true,
"packageManager": "pnpm@10.14.0",
"dependencies": {
"@testing-library/jest-dom": "^6.1.0",
"@testing-library/react": "^14.0.0",
"@testing-library/user-event": "^14.5.0",
"@vitest/ui": "^1.0.0",
"vitest": "^1.0.0",
"jsdom": "^22.0.0"
"@testing-library/jest-dom": "catalog:",
"@testing-library/react": "catalog:",
"@testing-library/user-event": "catalog:",
"@vitest/ui": "catalog:",
"jsdom": "catalog:",
"vitest": "catalog:"
},
"devDependencies": {
"@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0",
"@types/node": "^20.0.0",
"typescript": "^5.0.0",
"tsup": "^8.0.0"
"@types/node": "catalog:",
"@types/react": "catalog:",
"@types/react-dom": "catalog:",
"tsup": "catalog:",
"typescript": "catalog:"
},
"peerDependencies": {
"react": ">=18.0.0",
"react-dom": ">=18.0.0",
"vitest": ">=1.0.0"
"react": "catalog:",
"react-dom": "catalog:",
"vitest": "catalog:"
}
}
5 changes: 0 additions & 5 deletions packages/ui/icons/lib/AddRowAbove.tsx

This file was deleted.

5 changes: 5 additions & 0 deletions packages/ui/icons/lib/AddRowAboveIcon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import type { SVGProps } from 'react';
import * as React from 'react';

const AddRowAbove = (props: SVGProps<SVGSVGElement>) => <svg xmlns={'http://www.w3.org/2000/svg'} fill={'none'} viewBox={'0 0 24 24'} {...props}><path fill={'currentColor'} d={'M5 14v6h14v-6zm0 8q-.824 0-1.412-.587A1.93 1.93 0 0 1 3 20V6q0-.824.588-1.412A1.93 1.93 0 0 1 5 4h1q.425 0 .713.288.288.289.287.712 0 .424-.288.713A.96.96 0 0 1 6 6H5v6h14V6h-1a.97.97 0 0 1-.712-.288A.97.97 0 0 1 17 5q0-.424.288-.712A.97.97 0 0 1 18 4h1q.825 0 1.413.588T21 6v14q0 .825-.587 1.413A1.92 1.92 0 0 1 19 22zm6-16h-1a.97.97 0 0 1-.712-.288A.97.97 0 0 1 9 5q0-.424.288-.712A.97.97 0 0 1 10 4h1V3q0-.424.288-.712A.97.97 0 0 1 12 2q.424 0 .713.288A.96.96 0 0 1 13 3v1h1q.425 0 .713.288.288.289.287.712 0 .424-.288.713A.96.96 0 0 1 14 6h-1v1a.97.97 0 0 1-.288.713A.96.96 0 0 1 12 8a.97.97 0 0 1-.712-.288A.97.97 0 0 1 11 7z'} /></svg>;
export default AddRowAbove;
5 changes: 0 additions & 5 deletions packages/ui/icons/lib/AddRowBelow.tsx

This file was deleted.

5 changes: 5 additions & 0 deletions packages/ui/icons/lib/AddRowBelowIcon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import type { SVGProps } from 'react';
import * as React from 'react';

const AddRowBelow = (props: SVGProps<SVGSVGElement>) => <svg xmlns={'http://www.w3.org/2000/svg'} fill={'none'} viewBox={'0 0 24 24'} {...props}><path fill={'currentColor'} d={'M19 10V4H5v6zM5 20q-.824 0-1.412-.587A1.93 1.93 0 0 1 3 18V4q0-.824.588-1.412A1.93 1.93 0 0 1 5 2h14q.825 0 1.413.588T21 4v14q0 .825-.587 1.413A1.92 1.92 0 0 1 19 20h-1a.97.97 0 0 1-.712-.288A.97.97 0 0 1 17 19q0-.424.288-.712A.97.97 0 0 1 18 18h1v-6H5v6h1q.425 0 .713.288T7 19q0 .424-.288.713A.96.96 0 0 1 6 20zm7 2a.97.97 0 0 1-.712-.288A.97.97 0 0 1 11 21v-1h-1a.97.97 0 0 1-.712-.288A.97.97 0 0 1 9 19q0-.424.288-.712A.97.97 0 0 1 10 18h1v-1q0-.424.288-.712A.97.97 0 0 1 12 16q.424 0 .713.288A.96.96 0 0 1 13 17v1h1q.425 0 .713.288T15 19t-.288.713A.96.96 0 0 1 14 20h-1v1a.97.97 0 0 1-.288.713A.96.96 0 0 1 12 22'} /></svg>;
export default AddRowBelow;
5 changes: 0 additions & 5 deletions packages/ui/icons/lib/AddSquare.tsx

This file was deleted.

5 changes: 5 additions & 0 deletions packages/ui/icons/lib/AddSquareIcon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import type { SVGProps } from 'react';
import * as React from 'react';

const AddSquare = (props: SVGProps<SVGSVGElement>) => <svg xmlns={'http://www.w3.org/2000/svg'} fill={'none'} viewBox={'0 0 24 24'} {...props}><path fill={'currentColor'} d={'M11 13v3q0 .425.288.713T12 17q.424 0 .713-.288A.96.96 0 0 0 13 16v-3h3a.97.97 0 0 0 .713-.288A.96.96 0 0 0 17 12a.97.97 0 0 0-.288-.712A.97.97 0 0 0 16 11h-3V8a.97.97 0 0 0-.288-.712A.97.97 0 0 0 12 7a.96.96 0 0 0-.712.288A.97.97 0 0 0 11 8v3H8a.97.97 0 0 0-.712.288A.97.97 0 0 0 7 12q0 .424.288.713A.96.96 0 0 0 8 13zm-6 8q-.824 0-1.412-.587A1.93 1.93 0 0 1 3 19V5q0-.824.588-1.412A1.93 1.93 0 0 1 5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413A1.92 1.92 0 0 1 19 21zm0-2h14V5H5z'} /></svg>;
export default AddSquare;
5 changes: 0 additions & 5 deletions packages/ui/icons/lib/Arrow360.tsx

This file was deleted.

5 changes: 5 additions & 0 deletions packages/ui/icons/lib/Arrow360Icon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import type { SVGProps } from 'react';
import * as React from 'react';

const Arrow360 = (props: SVGProps<SVGSVGElement>) => <svg xmlns={'http://www.w3.org/2000/svg'} fill={'none'} viewBox={'0 0 24 24'} {...props}><path fill={'currentColor'} d={'M9.35 16.8q-3.2-.425-5.275-1.75T2 12q0-2.075 2.888-3.537T12 7t7.113 1.463T22 12q0 1.4-1.362 2.538t-3.613 1.787a.75.75 0 0 1-.712-.112.76.76 0 0 1-.313-.639q0-.45.263-.8.262-.35.687-.5 1.5-.5 2.275-1.137Q20 12.499 20 12q0-.8-2.138-1.9T12 9t-5.863 1.1T4 12q0 .6 1.275 1.438Q6.55 14.277 8.9 14.7l-.6-.6a.95.95 0 0 1-.275-.7q0-.425.275-.7a.95.95 0 0 1 .7-.275q.425 0 .7.275l2.6 2.6q.3.3.3.7t-.3.7l-2.6 2.6a.98.98 0 0 1-.687.288.93.93 0 0 1-.713-.288.98.98 0 0 1-.288-.687.97.97 0 0 1 .263-.713z'} /></svg>;
export default Arrow360;
5 changes: 0 additions & 5 deletions packages/ui/icons/lib/ArrowBack.tsx

This file was deleted.

5 changes: 5 additions & 0 deletions packages/ui/icons/lib/ArrowBackIcon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import type { SVGProps } from 'react';
import * as React from 'react';

const ArrowBack = (props: SVGProps<SVGSVGElement>) => <svg xmlns={'http://www.w3.org/2000/svg'} fill={'none'} viewBox={'0 0 24 24'} {...props}><path fill={'currentColor'} d={'m7.825 13 4.9 4.9q.3.3.288.7t-.313.7q-.3.275-.7.288a.91.91 0 0 1-.7-.288l-6.6-6.6a.9.9 0 0 1-.213-.325 1.17 1.17 0 0 1 .002-.75.86.86 0 0 1 .212-.325l6.6-6.6a.93.93 0 0 1 .688-.275q.413 0 .712.275.3.3.3.713a.97.97 0 0 1-.3.712L7.825 11H19q.425 0 .713.288T20 12q0 .424-.288.713A.96.96 0 0 1 19 13z'} /></svg>;
export default ArrowBack;
5 changes: 0 additions & 5 deletions packages/ui/icons/lib/ArrowDownToSquare.tsx

This file was deleted.

5 changes: 5 additions & 0 deletions packages/ui/icons/lib/ArrowDownToSquareIcon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import type { SVGProps } from 'react';
import * as React from 'react';

const ArrowDownToSquare = (props: SVGProps<SVGSVGElement>) => <svg xmlns={'http://www.w3.org/2000/svg'} fill={'none'} viewBox={'0 0 24 24'} {...props}><path fill={'currentColor'} d={'M5 21q-.824 0-1.412-.587A1.93 1.93 0 0 1 3 19V9q0-.825.588-1.412A1.93 1.93 0 0 1 5 7h3q.425 0 .713.288.288.289.287.712 0 .424-.288.713A.96.96 0 0 1 8 9H5v10h14V9h-3a.97.97 0 0 1-.712-.288A.97.97 0 0 1 15 8q0-.424.288-.712A.97.97 0 0 1 16 7h3q.825 0 1.413.588T21 9v10q0 .825-.587 1.413A1.92 1.92 0 0 1 19 21zm8-8.825.9-.9a.93.93 0 0 1 .688-.275q.413 0 .712.3a.95.95 0 0 1 .275.7.95.95 0 0 1-.275.7l-2.6 2.6q-.3.3-.7.3a.96.96 0 0 1-.7-.3l-2.6-2.6a.98.98 0 0 1-.287-.687.94.94 0 0 1 .287-.713.95.95 0 0 1 .7-.275q.425 0 .7.275l.9.875V1q0-.424.288-.712A.97.97 0 0 1 12 0q.424 0 .713.288A.96.96 0 0 1 13 1z'} /></svg>;
export default ArrowDownToSquare;
5 changes: 0 additions & 5 deletions packages/ui/icons/lib/ArrowLeftArrowRight.tsx

This file was deleted.

5 changes: 5 additions & 0 deletions packages/ui/icons/lib/ArrowLeftArrowRightIcon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import type { SVGProps } from 'react';
import * as React from 'react';

const ArrowLeftArrowRight = (props: SVGProps<SVGSVGElement>) => <svg xmlns={'http://www.w3.org/2000/svg'} fill={'none'} viewBox={'0 0 24 24'} {...props}><path fill={'currentColor'} d={'M5.825 16 7.7 17.875a.93.93 0 0 1 .275.688q0 .413-.275.712-.3.3-.712.3a.98.98 0 0 1-.713-.3L2.7 15.7a.9.9 0 0 1-.213-.325 1.17 1.17 0 0 1 .002-.75.86.86 0 0 1 .212-.325l3.6-3.6q.3-.3.7-.287t.7.312q.275.3.288.7a.91.91 0 0 1-.288.7L5.825 14H12q.425 0 .713.288T13 15t-.288.713A.96.96 0 0 1 12 16zm12.35-6H12a.97.97 0 0 1-.712-.288A.97.97 0 0 1 11 9q0-.424.288-.712A.97.97 0 0 1 12 8h6.175L16.3 6.125a.93.93 0 0 1-.275-.687q0-.412.275-.713.3-.3.713-.3t.712.3L21.3 8.3q.15.15.212.325a1.13 1.13 0 0 1 0 .75.9.9 0 0 1-.212.325l-3.6 3.6q-.3.3-.7.288a1 1 0 0 1-.7-.313q-.275-.3-.288-.7a.91.91 0 0 1 .288-.7z'} /></svg>;
export default ArrowLeftArrowRight;
5 changes: 0 additions & 5 deletions packages/ui/icons/lib/ArrowOutward.tsx

This file was deleted.

5 changes: 5 additions & 0 deletions packages/ui/icons/lib/ArrowOutwardIcon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import type { SVGProps } from 'react';
import * as React from 'react';

const ArrowOutward = (props: SVGProps<SVGSVGElement>) => <svg xmlns={'http://www.w3.org/2000/svg'} fill={'none'} viewBox={'0 0 24 24'} {...props}><path fill={'currentColor'} d={'m16 8.4-8.9 8.9a.95.95 0 0 1-.7.275.95.95 0 0 1-.7-.275.95.95 0 0 1-.275-.7q0-.425.275-.7L14.6 7H7a.97.97 0 0 1-.712-.288A.97.97 0 0 1 6 6q0-.424.288-.712A.97.97 0 0 1 7 5h10q.425 0 .713.288.288.289.287.712v10a.97.97 0 0 1-.288.713A.96.96 0 0 1 17 17a.97.97 0 0 1-.712-.288A.97.97 0 0 1 16 16z'} /></svg>;
export default ArrowOutward;
5 changes: 0 additions & 5 deletions packages/ui/icons/lib/ArrowRightFromSquare.tsx

This file was deleted.

5 changes: 5 additions & 0 deletions packages/ui/icons/lib/ArrowRightFromSquareIcon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import type { SVGProps } from 'react';
import * as React from 'react';

const ArrowRightFromSquare = (props: SVGProps<SVGSVGElement>) => <svg xmlns={'http://www.w3.org/2000/svg'} fill={'none'} viewBox={'0 0 24 24'} {...props}><path fill={'currentColor'} d={'M5 21q-.824 0-1.412-.587A1.93 1.93 0 0 1 3 19V5q0-.824.588-1.412A1.93 1.93 0 0 1 5 3h6q.425 0 .713.288.288.289.287.712 0 .424-.288.713A.96.96 0 0 1 11 5H5v14h6q.425 0 .713.288T12 20t-.288.713A.96.96 0 0 1 11 21zm12.175-8H10a.97.97 0 0 1-.712-.288A.97.97 0 0 1 9 12q0-.424.288-.712A.97.97 0 0 1 10 11h7.175L15.3 9.125a.92.92 0 0 1-.275-.675q0-.4.275-.7a.95.95 0 0 1 .7-.313.94.94 0 0 1 .725.288L20.3 11.3q.3.3.3.7t-.3.7l-3.575 3.575q-.3.3-.712.288a1.02 1.02 0 0 1-.713-.313.97.97 0 0 1-.262-.712.98.98 0 0 1 .287-.688z'} /></svg>;
export default ArrowRightFromSquare;
5 changes: 0 additions & 5 deletions packages/ui/icons/lib/ArrowRightToSquare.tsx

This file was deleted.

Loading
Loading