Compare commits
55 Commits
stable
...
non-chrome
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e6ccc756c3 | ||
|
|
cc44fad62e | ||
|
|
42294d4a53 | ||
|
|
d8fcd43324 | ||
|
|
ccb07e12db | ||
|
|
f2267587c8 | ||
|
|
4bc34776fb | ||
|
|
63657a8496 | ||
|
|
b3e82c55f6 | ||
|
|
9a45d6707d | ||
|
|
46138997d1 | ||
|
|
c19d5a5722 | ||
|
|
c2cb61eb70 | ||
|
|
ca5cd55585 | ||
|
|
6fd5164987 | ||
|
|
60a864a790 | ||
|
|
c510f722ef | ||
|
|
1fed3ebbd7 | ||
|
|
84e4cda6ad | ||
|
|
4fb5bbca34 | ||
|
|
e0805c125f | ||
|
|
a2fc6bdd31 | ||
|
|
866f4891ce | ||
|
|
0f7a1e6b97 | ||
|
|
0b15ba18a0 | ||
|
|
cfc8186da1 | ||
|
|
47ad1492dc | ||
|
|
90af0466f4 | ||
|
|
98e4ece50a | ||
|
|
9e82032595 | ||
|
|
abb6e86f35 | ||
|
|
c8d14cae09 | ||
|
|
d815a22f6b | ||
|
|
d5e2030d23 | ||
|
|
f9b8dde199 | ||
|
|
c17cd28525 | ||
|
|
5ebbff4f87 | ||
|
|
ca2a930bd5 | ||
|
|
7346198360 | ||
|
|
17c4d168fa | ||
|
|
b74175e660 | ||
|
|
3628deee95 | ||
|
|
7650eed644 | ||
|
|
eeeb1d3bcd | ||
|
|
3863ce369d | ||
|
|
e10b105756 | ||
|
|
89006275a0 | ||
|
|
b4f423eac0 | ||
|
|
d5f55cee80 | ||
|
|
fcf110749d | ||
|
|
6db52ca7a8 | ||
|
|
e91f8e7e06 | ||
|
|
1425671d16 | ||
|
|
61364fb846 | ||
|
|
1a5f83d78c |
3
.gitignore
vendored
@@ -53,3 +53,6 @@ bundle.mobile.js.map
|
||||
|
||||
# build output
|
||||
package.tgz
|
||||
|
||||
# Fly.io configuration
|
||||
fly.toml
|
||||
|
||||
@@ -9,6 +9,7 @@ if ! [ -d packages/desktop-client/locale ]; then
|
||||
git clone https://github.com/actualbudget/translations packages/desktop-client/locale
|
||||
fi
|
||||
pushd packages/desktop-client/locale > /dev/null
|
||||
git checkout .
|
||||
git pull
|
||||
popd > /dev/null
|
||||
packages/desktop-client/bin/remove-untranslated-languages
|
||||
|
||||
@@ -42,6 +42,7 @@ if ! [ -d packages/desktop-client/locale ]; then
|
||||
git clone https://github.com/actualbudget/translations packages/desktop-client/locale
|
||||
fi
|
||||
pushd packages/desktop-client/locale > /dev/null
|
||||
git checkout .
|
||||
git pull
|
||||
popd > /dev/null
|
||||
packages/desktop-client/bin/remove-untranslated-languages
|
||||
|
||||
@@ -94,6 +94,7 @@ export default [
|
||||
'packages/api/@types',
|
||||
'packages/api/migrations',
|
||||
'packages/crdt/dist',
|
||||
'packages/component-library/src/icons/**/*',
|
||||
'packages/desktop-client/bundle.browser.js',
|
||||
'packages/desktop-client/build/',
|
||||
'packages/desktop-client/build-electron/',
|
||||
@@ -102,7 +103,6 @@ export default [
|
||||
'packages/desktop-client/public/data/',
|
||||
'packages/desktop-client/**/node_modules/*',
|
||||
'packages/desktop-client/node_modules/',
|
||||
'packages/desktop-client/src/icons/**/*',
|
||||
'packages/desktop-client/test-results/',
|
||||
'packages/desktop-client/playwright-report/',
|
||||
'packages/desktop-electron/client-build/',
|
||||
@@ -789,7 +789,6 @@ export default [
|
||||
'packages/desktop-client/src/components/select/DateSelect.tsx',
|
||||
'packages/desktop-client/src/components/sidebar/Tools.tsx',
|
||||
'packages/desktop-client/src/components/sort.tsx',
|
||||
'packages/desktop-client/src/components/spreadsheet/useSheetValue.ts',
|
||||
],
|
||||
|
||||
rules: {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@actual-app/api",
|
||||
"version": "25.3.0",
|
||||
"version": "25.3.1",
|
||||
"license": "MIT",
|
||||
"description": "An API for Actual",
|
||||
"engines": {
|
||||
|
||||
@@ -7,14 +7,20 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@emotion/css": "^11.13.4",
|
||||
"react-aria-components": "^1.4.1"
|
||||
"react-aria-components": "^1.7.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@svgr/cli": "^8.1.0",
|
||||
"@types/react": "^18.2.0",
|
||||
"react": "18.2.0"
|
||||
},
|
||||
"exports": {
|
||||
"./icons/*": "./src/icons/*.tsx",
|
||||
"./icons/logo": "./src/icons/logo/index.ts",
|
||||
"./icons/v0": "./src/icons/v0/index.ts",
|
||||
"./icons/v1": "./src/icons/v1/index.ts",
|
||||
"./icons/v2": "./src/icons/v2/index.ts",
|
||||
"./icons/AnimatedLoading": "./src/icons/AnimatedLoading.tsx",
|
||||
"./icons/Loading": "./src/icons/Loading.tsx",
|
||||
"./aligned-text": "./src/AlignedText.tsx",
|
||||
"./block": "./src/Block.tsx",
|
||||
"./button": "./src/Button.tsx",
|
||||
@@ -22,10 +28,12 @@
|
||||
"./form-error": "./src/FormError.tsx",
|
||||
"./initial-focus": "./src/InitialFocus.ts",
|
||||
"./inline-field": "./src/InlineField.tsx",
|
||||
"./input": "./src/Input.tsx",
|
||||
"./label": "./src/Label.tsx",
|
||||
"./menu": "./src/Menu.tsx",
|
||||
"./paragraph": "./src/Paragraph.tsx",
|
||||
"./popover": "./src/Popover.tsx",
|
||||
"./select": "./src/Select.tsx",
|
||||
"./space-between": "./src/SpaceBetween.tsx",
|
||||
"./stack": "./src/Stack.tsx",
|
||||
"./styles": "./src/styles.ts",
|
||||
@@ -36,5 +44,8 @@
|
||||
"./toggle": "./src/Toggle.tsx",
|
||||
"./tooltip": "./src/Tooltip.tsx",
|
||||
"./view": "./src/View.tsx"
|
||||
},
|
||||
"scripts": {
|
||||
"generate:icons": "rm src/icons/*/*.tsx; cd src/icons && svgr --template template.ts --index-template index-template.ts --typescript --expand-props start -d . ."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,15 +2,12 @@ import React, {
|
||||
type InputHTMLAttributes,
|
||||
type KeyboardEvent,
|
||||
type Ref,
|
||||
useRef,
|
||||
} from 'react';
|
||||
|
||||
import { styles } from '@actual-app/components/styles';
|
||||
import { css, cx } from '@emotion/css';
|
||||
|
||||
import { useMergedRefs } from '../../hooks/useMergedRefs';
|
||||
import { useProperFocus } from '../../hooks/useProperFocus';
|
||||
import { theme, type CSSProperties } from '../../style';
|
||||
import { styles, type CSSProperties } from './styles';
|
||||
import { theme } from './theme';
|
||||
|
||||
export const defaultInputStyle = {
|
||||
outline: 0,
|
||||
@@ -29,7 +26,6 @@ type InputProps = InputHTMLAttributes<HTMLInputElement> & {
|
||||
onEscape?: (event: KeyboardEvent<HTMLInputElement>) => void;
|
||||
onChangeValue?: (newValue: string) => void;
|
||||
onUpdate?: (newValue: string) => void;
|
||||
focused?: boolean;
|
||||
};
|
||||
|
||||
export function Input({
|
||||
@@ -39,18 +35,12 @@ export function Input({
|
||||
onEscape,
|
||||
onChangeValue,
|
||||
onUpdate,
|
||||
focused,
|
||||
className,
|
||||
...nativeProps
|
||||
}: InputProps) {
|
||||
const ref = useRef<HTMLInputElement>(null);
|
||||
useProperFocus(ref, focused);
|
||||
|
||||
const mergedRef = useMergedRefs<HTMLInputElement>(ref, inputRef);
|
||||
|
||||
return (
|
||||
<input
|
||||
ref={mergedRef}
|
||||
ref={inputRef}
|
||||
className={cx(
|
||||
css(
|
||||
defaultInputStyle,
|
||||
@@ -1,11 +1,10 @@
|
||||
import { useRef, useState, type CSSProperties } from 'react';
|
||||
|
||||
import { Button } from '@actual-app/components/button';
|
||||
import { Menu } from '@actual-app/components/menu';
|
||||
import { Popover } from '@actual-app/components/popover';
|
||||
import { View } from '@actual-app/components/view';
|
||||
|
||||
import { SvgExpandArrow } from '../../icons/v0';
|
||||
import { Button } from './Button';
|
||||
import { SvgExpandArrow } from './icons/v0';
|
||||
import { Menu } from './Menu';
|
||||
import { Popover } from './Popover';
|
||||
import { View } from './View';
|
||||
|
||||
function isValueOption<Value>(
|
||||
option: readonly [Value, string] | typeof Menu.line,
|
||||
@@ -6,8 +6,8 @@ function indexTemplate(filePaths) {
|
||||
const basename = path.basename(filePath, path.extname(filePath));
|
||||
const exportName = `Svg${basename}`;
|
||||
return `export { ${exportName} } from './${basename}'`;
|
||||
})
|
||||
});
|
||||
return exportEntries.join('\n');
|
||||
}
|
||||
|
||||
module.exports = indexTemplate
|
||||
module.exports = indexTemplate;
|
||||
1
packages/component-library/src/icons/logo/index.ts
Normal file
@@ -0,0 +1 @@
|
||||
export { SvgLogo } from './Logo';
|
||||
|
Before Width: | Height: | Size: 1006 B After Width: | Height: | Size: 1006 B |
@@ -1,5 +1,5 @@
|
||||
// @ts-strict-ignore
|
||||
const template = ({ imports, interfaces, componentName, props, jsx }, { tpl }) => {
|
||||
const tmpl = ({ imports, interfaces, componentName, props, jsx }, { tpl }) => {
|
||||
return tpl`
|
||||
${imports};
|
||||
|
||||
@@ -8,7 +8,7 @@ ${interfaces};
|
||||
export const ${componentName} = (${props}) => (
|
||||
${jsx}
|
||||
);
|
||||
`
|
||||
}
|
||||
`;
|
||||
};
|
||||
|
||||
module.exports = template
|
||||
module.exports = tmpl;
|
||||
|
Before Width: | Height: | Size: 601 B After Width: | Height: | Size: 601 B |
|
Before Width: | Height: | Size: 462 B After Width: | Height: | Size: 462 B |
|
Before Width: | Height: | Size: 817 B After Width: | Height: | Size: 817 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 379 B After Width: | Height: | Size: 379 B |
9
packages/component-library/src/icons/v0/index.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
export { SvgAdd } from './Add';
|
||||
export { SvgDelete } from './Delete';
|
||||
export { SvgExpandArrow } from './ExpandArrow';
|
||||
export { SvgLeftArrow2 } from './LeftArrow2';
|
||||
export { SvgMath } from './Math';
|
||||
export { SvgRightArrow2 } from './RightArrow2';
|
||||
export { SvgSubtract } from './Subtract';
|
||||
export { SvgMerge } from './Merge';
|
||||
export { SvgSplit } from './Split';
|
||||
|
Before Width: | Height: | Size: 1005 B After Width: | Height: | Size: 1005 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |