mirror of
https://github.com/XFox111/TabsAsideExtension.git
synced 2026-04-22 07:58:01 +03:00
58d8e864e0
* feat: add ability to hide collections #211 (#213) * feat: add ability to hide collections #211 * fix: hide/unhide collection label is swapped * fix: missing useCallback dependency * fix: add selected tabs to existing collection adds all tabs in current window #215 (#216) * fix: add selected tabs to existing collection adds all tabs in current window #215 * fix: force selected tabs only for adding tabs to groups * feat: compact collection view (#214) * feat: compact collection view #201 * loc: compact view localization * fix(loc): missing "color" translation in edit dialog * feat: add ability to edit saved tabs (#218) * feat: adds option to edit saved tabs #217 * loc: translations for #217 * build(deps): Bump the react group with 2 updates (#221) Bumps the react group with 2 updates: [react](https://github.com/facebook/react/tree/HEAD/packages/react) and [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom). Updates `react` from 19.2.1 to 19.2.3 - [Release notes](https://github.com/facebook/react/releases) - [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/react/commits/v19.2.3/packages/react) Updates `react-dom` from 19.2.1 to 19.2.3 - [Release notes](https://github.com/facebook/react/releases) - [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/react/commits/v19.2.3/packages/react-dom) --- updated-dependencies: - dependency-name: react dependency-version: 19.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: react - dependency-name: react-dom dependency-version: 19.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: react ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): Bump the deps group with 4 updates (#220) Bumps the deps group with 4 updates: [@fluentui/react-components](https://github.com/microsoft/fluentui), [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js), [eslint](https://github.com/eslint/eslint) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint). Updates `@fluentui/react-components` from 9.72.8 to 9.72.9 - [Release notes](https://github.com/microsoft/fluentui/releases) - [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.72.8...@fluentui/react-components_v9.72.9) Updates `@eslint/js` from 9.39.1 to 9.39.2 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/commits/v9.39.2/packages/js) Updates `eslint` from 9.39.1 to 9.39.2 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/compare/v9.39.1...v9.39.2) Updates `typescript-eslint` from 8.49.0 to 8.51.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.51.0/packages/typescript-eslint) --- updated-dependencies: - dependency-name: "@fluentui/react-components" dependency-version: 9.72.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: deps - dependency-name: "@eslint/js" dependency-version: 9.39.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: deps - dependency-name: eslint dependency-version: 9.39.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: deps - dependency-name: typescript-eslint dependency-version: 8.51.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: deps ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: Bump version from 3.2.3 to 3.3.0 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
53 lines
1.8 KiB
TypeScript
53 lines
1.8 KiB
TypeScript
import { Button, Input, makeStyles, tokens, Tooltip } from "@fluentui/react-components";
|
|
import { ArrowUndo20Filled, ArrowUndo20Regular, bundleIcon, Search20Regular } from "@fluentui/react-icons";
|
|
import { CollectionFilterType } from "../../utils/filterCollections";
|
|
import { CollectionSortMode } from "../../utils/sortCollections";
|
|
import FilterCollectionsButton from "./FilterCollectionsButton";
|
|
import SortCollectionsButton from "./SortCollectionsButton";
|
|
|
|
export default function SearchBar(props: SearchBarProps): React.ReactElement
|
|
{
|
|
const cls = useStyles();
|
|
|
|
const ResetIcon = bundleIcon(ArrowUndo20Filled, ArrowUndo20Regular);
|
|
|
|
return (
|
|
<Input
|
|
className={ cls.root }
|
|
appearance="filled-lighter"
|
|
contentBefore={ <Search20Regular /> }
|
|
placeholder={ i18n.t("main.list.searchbar.title") }
|
|
value={ props.query } onChange={ (_, e) => props.onQueryChange?.(e.value) }
|
|
contentAfter={
|
|
<>
|
|
{ (props.query || (props.filter && props.filter.length > 0)) &&
|
|
<Tooltip relationship="label" content={ i18n.t("common.actions.reset_filters") }>
|
|
<Button appearance="subtle" icon={ <ResetIcon /> } onClick={ props.onReset } />
|
|
</Tooltip>
|
|
}
|
|
<FilterCollectionsButton value={ props.filter } onChange={ props.onFilterChange } showHidden={ props.showHidden } />
|
|
<SortCollectionsButton value={ props.sort } onChange={ props.onSortChange } />
|
|
</>
|
|
} />
|
|
);
|
|
}
|
|
|
|
export type SearchBarProps =
|
|
{
|
|
query?: string;
|
|
onQueryChange?: (query: string) => void;
|
|
filter?: CollectionFilterType["colors"];
|
|
onFilterChange?: (filter: CollectionFilterType["colors"], showHidden: boolean) => void;
|
|
sort?: CollectionSortMode;
|
|
showHidden?: boolean;
|
|
onSortChange?: (sort: CollectionSortMode) => void;
|
|
onReset?: () => void;
|
|
};
|
|
|
|
const useStyles = makeStyles({
|
|
root:
|
|
{
|
|
boxShadow: tokens.shadow2
|
|
}
|
|
});
|