immich/web/src/lib/utils
Ben b71aa4473b
feat(web): keyboard accessible context menus (#10017)
* feat(web,a11y): context menu keyboard navigation

* wip: all context menus visible

* wip: more migrations to the ButtonContextMenu, usability improvements

* wip: migrate Administration, PeopleCard

* wip: refocus the button on click, docs

* fix: more intuitive RightClickContextMenu

- configurable title
- focus management: tab keys, clicks, closing the menu
- automatically closing when an option is selected

* fix: refining the little details

- adjust the aria attributes
- intuitive escape key propagation
- extract context into its own file

* fix: dropdown options not clickable in a <Portal>

* wip: small fixes

- export selectedColor to prevent unexpected styling
- better context function naming

* chore: revert changes to list navigation, to reduce scope of the PR

* fix: remove topBorder prop

* feat: automatically select the first option on enter or space keypress

* fix: use Svelte store instead to handle selecting menu options

- better prop naming for ButtonContextMenu

* feat: hovering the mouse can change the active element

* fix: remove Portal, more predictable open/close behavior

* feat: make selected item visible using a scroll

- also: minor cleanup of the context-menu-navigation Svelte action

* feat: maintain context menu position on resize

* fix: use the whole padding class as better tailwind convention

* fix: options not announcing with screen reader for ButtonContextMenu

* fix: screen reader announcing right click context menu options

* fix: handle focus out scenario

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-06-17 20:52:38 -07:00
..
actions.ts feat(web): un-stack from the photos page ; fix stack count (#8419) 2024-04-17 07:55:07 -04:00
album-utils.ts feat(web): enhance ux/ui of the album list page (#8499) 2024-04-05 19:19:26 +00:00
asset-utils.spec.ts chore: enum support for new API (#7110) 2024-02-14 06:38:57 -08:00
asset-utils.ts refactor(web): byte unit utils (#10332) 2024-06-14 17:27:46 +00:00
auth.ts feat(server): user preferences (#9736) 2024-05-28 09:16:53 +07:00
byte-units.spec.ts refactor(web): byte unit utils (#10332) 2024-06-14 17:27:46 +00:00
byte-units.ts refactor(web): byte unit utils (#10332) 2024-06-14 17:27:46 +00:00
context-menu.ts feat(web): keyboard accessible context menus (#10017) 2024-06-17 20:52:38 -07:00
context.ts chore(web): prettier (#2821) 2023-06-30 23:50:47 -05:00
date-time.spec.ts fix(web): timezone handling in search filter (#7384) 2024-02-24 14:23:30 -06:00
date-time.ts feat(web): enhance ux/ui of the album list page (#8499) 2024-04-05 19:19:26 +00:00
dipatch.ts feat(web,server): search people (#5703) 2024-01-27 19:54:31 -05:00
eventemitter.ts refactor(web): websocket events (#7152) 2024-02-16 15:43:40 -05:00
executor-queue.spec.ts chore(web): cleanup promise handling (#7382) 2024-02-27 10:37:37 -06:00
executor-queue.ts chore(web): cleanup promise handling (#7382) 2024-02-27 10:37:37 -06:00
file-uploader.ts fix(web): multi file upload in albums (#10190) 2024-06-12 11:57:11 +01:00
generate-id.ts chore(web): simpler unique ID generation (#9945) 2024-06-02 12:41:44 -04:00
handle-error.ts refactor(web): drop axios (#7490) 2024-02-29 11:22:39 -05:00
metadata-search.ts fix(web): broken links to places search (#7208) 2024-02-19 14:55:54 -06:00
navigation.ts feat(web): allow ctrl-click / cmd-click on photos (#9954) 2024-06-08 15:33:23 -05:00
people-utils.ts feat(web): Option to assign people to unassigned faces (#9773) 2024-06-05 07:26:00 +00:00
person.ts chore: enum support for new API (#7110) 2024-02-14 06:38:57 -08:00
slideshow-history.ts fix(web): prevent fetching asset info twice (#8486) 2024-04-03 21:20:54 -04:00
string-utils.ts feat(web): better UX when creating a new album (#8270) 2024-03-27 14:47:42 -05:00
thumbnail-util.ts feat(web): improve alt text (#7596) 2024-03-03 16:42:17 -05:00
timeline-util.ts Revert "perf(web): optimize date groups" (#7638) 2024-03-05 09:43:24 -06:00
timesince.ts feat(web,server): activity (#4682) 2023-10-31 22:13:34 -05:00