Commit Graph

4512 Commits

Author SHA1 Message Date
Leon Sorokin
eb90d0c4b5
TimeSeries: Support for log scale and negative numbers (#54812) 2022-09-08 11:52:57 -05:00
renovate[bot]
6a7e1caced
Update dependency core-js to v3.25.1 (#54915)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-08 17:46:16 +01:00
Laura Fernández
c684babecc
A11y: Make tooltip dismissible in Toolbar and Icon buttons (#54586) 2022-09-08 14:32:50 +02:00
Tima Gixe
8fb0d3421b
Storybook: Add controls to UnitPicker (#54694) 2022-09-08 13:16:27 +01:00
Ashley Harrison
8e8d0a08f9
reobserve elements when children change (#54827) 2022-09-07 15:07:35 +01:00
Gustavo Santos
968e2218ac
Chore: Add controls to InlineField (#54674) 2022-09-07 14:24:38 +01:00
Gustavo Santos
c56907b879
Add controls for Date Picker story (#54806)
Signed-off-by: gefgu <gefgu@hotmail.com>

Signed-off-by: gefgu <gefgu@hotmail.com>
2022-09-07 15:30:46 +03:00
renovate[bot]
84212d8746
Update babel monorepo to v7.19.0 (#54756)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-07 09:57:22 +01:00
Leon Sorokin
bf052cb35e
TimeSeries: omit non-integer y ticks when decimals: 0 (#54679) 2022-09-06 16:12:09 -04:00
renovate[bot]
9cc828a00e
Update dependency @react-stately/menu to v3.4.1 (#54784)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-06 17:23:16 +01:00
kay delaney
a70aba1384
Chore: Update slate and related packages (#54566)
* Chore: Update slate and related packages
2022-09-06 15:23:48 +01:00
Tima Gixe
ce1221cd59
Storybook: Add controls to InlineLabel story (#54604) 2022-09-06 15:18:38 +01:00
Tima Gixe
05c16d1da3
Storybook: Add controls to QueryField story (#54606) 2022-09-06 15:18:08 +01:00
renovate[bot]
7a01186324
Update dependency @react-aria/overlays to v3.10.1 (#54763)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-06 14:37:32 +01:00
renovate[bot]
a36ef9cdfd
Update dependency @react-aria/focus to v3.8.0 (#54718)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-06 11:50:44 +01:00
renovate[bot]
0e16456602
Update dependency @react-aria/dialog to v3.3.1 (#54717)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-06 11:07:26 +01:00
Josh Hunt
139705611a
Chore: Remove remaining IconName type assertions (#54658)
* Chore: Remove remaining IconName type assertions

* fix lints
2022-09-06 09:15:36 +01:00
Ryan McKinley
ac93cf1db2
Playlists: Migrate to UIDs and load dashboards in the frontend (#54125) 2022-09-05 20:40:01 -07:00
Orlando Ortega Jr
042fbcc609
Chore: Added controls to ContextMenu story (#54373) 2022-09-05 16:43:02 +01:00
Kevin Yu
34fe7a1119
Plugins: Add feature toggles for long running queries (#54349)
* Add feature toggles for long running queries

* update feature flag name

* make feature toggle frontend only
2022-09-05 08:39:45 -07:00
renovate[bot]
9b9e298896
Update dependency @react-aria/button to v3.6.1 (#54670)
* Update dependency @react-aria/button to v3.6.1

* bump @react-aria/menu at the same time

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-09-05 14:52:56 +01:00
Torkel Ödegaard
11de1dfe40
TopNav: Plugin page layouts / information architecture (#53174)
* Change nav structure when topnav is enable to do initial tests with new information architecture

* Support for nested sections

* Updated

* sentance case

* Progress on plugin challange

* Rewrite to functional component

* Progress

* Updates

* Progress

* Progress on things

* missing file

* Fixing issue with runtime, need to use setter way to set component exposed via runtime

* Move PageLayoutType to grafana/data

* Fixing breadcrumb issue, adding more tests

* reverted backend change

* fix recursive issue with cleanup
2022-09-05 14:56:08 +02:00
Victor Marin
aee13563ce
Fix StateTimeline duration bug + add hidden tooltip option (#54697) 2022-09-05 14:11:06 +03:00
Leon Sorokin
8273839539
Histogram: ensure y axis is unit-less (#54667) 2022-09-02 13:50:01 -05:00
Ashley Harrison
0ab548a8b5
Chore: fixing some anys/type assertions (#54661)
* fixing some anys/type assertions

* make types consistent
2022-09-02 16:39:09 +00:00
Esteban Beltran
4bba3223a0
Grafana/toolkit: Update README.md to include an alternative way to run local grafana/toolkit (#54203)
* Update README.md

* Run prettier
2022-09-02 17:49:39 +02:00
Josh Hunt
6b197f3fa9
Chore: Use react-highlight-words types (#54627) 2022-09-02 16:36:44 +01:00
Leon Sorokin
28426219ce
TimeSeries: fix padding, force 0-100% y range when % stacked (#54197) 2022-09-02 09:26:04 -05:00
ismail simsek
a230439679
Add monaco-editor section in grafana-toolkit faq (#54585)
* Add monaco-editor question in faq section

* Fix typo
2022-09-02 08:30:59 -04:00
Josh Hunt
3cf8e9c72e
Chore: Remove grafana-ui IconName type assertions (#54623) 2022-09-02 11:31:16 +01:00
Jack Westbrook
4179f94959
Fix: Make sure grafana/e2e cypress config file is in correct location (#54588)
* fix(grafana-e2e): make sure cypress can find config file

* chore(yarn): refresh lock file
2022-09-02 10:37:50 +02:00
Timur Olzhabayev
b5b41988cf
Docs: Deprecating packages_api and removing it from our pipelines (#54473) 2022-09-01 18:15:44 +02:00
Victor Marin
d2bdb01092
Fixed tooltip does not change data when hovering over other datapoints (#54517) 2022-09-01 18:57:51 +03:00
Josh Hunt
caa0c91b1c
Chore: Remove Nav + story IconName type assertions (#54572)
* Chore: Remove some IconName type assertions

* fix actually importing the function

* fix lint

* fix lint
2022-09-01 13:23:41 +01:00
Gustavo Santos
822d24c123
Chore: Add controls to Label stories (#54549)
* Add controls for Label's Simple story

* Add controls for Label's Categorised story
2022-09-01 13:03:50 +03:00
Josh Hunt
f15ce633c9
Navigation: Don't round app plugin icon images (#54543)
* Navigation: Don't round app plugin icon images

* round icon
2022-09-01 10:28:50 +01:00
renovate[bot]
7efefbaece
Update dependency moment-timezone to v0.5.35 [SECURITY] (#54523)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-01 10:27:39 +01:00
Ryan McKinley
dd38ff7cc8
Collapse: remove explicit panel-container className from definition (#54359) 2022-08-31 11:50:24 -07:00
Kristina
38c1f3d054
Explore: Add Mixed Datasource (#53429)
* Toggle on the mixed mode option

* Ensure switching to mixed gives existing query prev datasource

* WIP - Populate datasource when switching between mixed and not

* WIP - handle change from mixed

* Remove preimport filter, refine filter to work for queries

* WIP debugging datasource transition

* Ensure creating a new query gets target data source if switching with no matches between

* Add mixed datasource to rich history display

* Cleanup console logs, add relevant comments

* Add feature toggle for mixed datasource

* Fix Wrapper tests

* Fix tests!

* Fix test types and add feature tracking

* Remove unnecessary default, remove explore/mixed workarounds for D2E

* Move display text logic to mixed datasource file

* Add in the default query parameters to a generated empty query

* Condense some code

* Apply suggestions from code review

Co-authored-by: Giordano Ricci <me@giordanoricci.com>

* Add more logic around mixed datasource being off for explore

* Build out logic to handle different datasource scenarios

* Add tests

* Finalize last test

* Fix mixed URL with mixed ds off, and relevant test

* Fix datasource to explore workflow

* Add datasource change function, call import queries if needed

* add logic for changing single query ds

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2022-08-31 09:24:20 -05:00
Torkel Ödegaard
e5fba788d6
AppRootPage: Fixes issue navigating between two app plugin pages (#54519)
* AppRootPage: Fixes issue where it was not possible to navigate to another plugin

* Externalize react-router

* fixing test
2022-08-31 15:36:08 +02:00
Piotr Pomierski
e95bab1f2b
Storybook: Add controls to button story (#54389) 2022-08-31 11:42:47 +01:00
Gustavo Santos
3ba3d47b85
Chore: Added controls to Checkbox stories (#54372) 2022-08-31 11:19:37 +01:00
Alex Khomenko
d574a5d98f
TimeRangeForm: Do not use HTML form (#54318)
* TimeRangeForm: Do not use HTML form

* TimeRangeForm: rename to TimeRangeContent
2022-08-29 16:19:12 +03:00
Orlando Ortega Jr
72a143aaff
Chore: Added controls to DatePickerWithInput story (#54360) 2022-08-28 16:44:51 +03:00
Giordano Ricci
26524e3ff1
GrafanaUI: Fix styles for invalid selects & DataSourcePicker (#53476)
* GrafanaUI: fix styles for invalid select & DataSourcePicker

* Apply suggestions from code review

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>

* fix focus issues & tests

* remove unused import

* TypeScript work in progress

* Move react select props to types.ts

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: eledobleefe <laura.fernandez@grafana.com>
Co-authored-by: joshhunt <josh@trtr.co>
2022-08-26 13:48:51 +01:00
renovate[bot]
6f72c4d10d
Update dependency @testing-library/user-event to v14.4.3 (#54292)
* Update dependency @testing-library/user-event to v14.4.3

* use ReturnType instead of using a nested import

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2022-08-26 13:30:34 +01:00
Giordano Ricci
c68d7f1e35
Correlations: Add CorrelationSettings Page (#53821)
* GrafanaUI: add option to close DeleteButton on confirm click

* add datasource readOnly info to frontend settings

* move isTruthy utility type guard

* add generic non-visualization table component

* Add correlations settings page

* add missing readOnly in mock

* Fix typo

* avoid reloading correlations after add/remove

* use DeepPartial from rhf

* validate source data source

* fix validation logic

* fix navmodel test

* add missing readonly property

* remove unused styles

* handle multiple clicks on elements

* better UX for loading states

* fix remove handler

* add glue icon
2022-08-26 11:27:28 +01:00
Hamas Shafiq
cd26cade68
Chore: Remove unused theme (#54175) 2022-08-26 10:15:21 +01:00
Adela Almasan
cea2b4b7b8
Geomap: Spatial operations location options transform e2e test (#54162) 2022-08-25 17:34:24 -04:00
Ashley Harrison
15e19cef95
Navigation: improve page toolbar responsiveness (#54223)
* improve page toolbar responsiveness

* rename emotion style to be more descriptive

* remove unnecessary max-width
2022-08-25 16:21:29 +01:00
Gábor Farkas
89d264fecc
logs: better names and comments (#53770)
* logs: better names and comments

* comment: updated capitalization
2022-08-25 12:49:35 +02:00
Ryan McKinley
b483ac322f
Chore: replace React.FC<Props> with simple function component (#54123) 2022-08-24 16:54:34 -04:00
Andre Pereira
c8f2148f75
Tempo: Basic PoC of the upcoming TraceQL editor in Explore (#54028)
* First working version of the TraceQL editor with syntax highlighting and autocomplete

* Add feature flag around the new editor option

* Fix tests and cleanup

* Fix misspelling
2022-08-24 17:57:59 +01:00
Torkel Ödegaard
264645eecd
TopNav: Dashboard settings (#52682)
* Scenes: Support new top nav

* Page: Make Page component support new and old dashboard page layouts

* Pass scrollbar props

* Fixing flex layout for dashboard

* Progress on dashboard settings working with topnav

* Updated

* Annotations working

* Starting to work fully

* Fix merge issue

* Fixed tests

* Added buttons to annotations editor

* Updating tests

* Move Page component to each page

* fixed general settings page

* Fixed versions

* Fixed annotation item page

* Variables section working

* Fixed tests

* Minor fixes to versions

* Update

* Fixing unit tests

* Adding add variable button

* Restore annotations edit form so it's the same as before

* Fixed semicolon in dashboard permissions

* Fixing unit tests

* Fixing tests

* Minor test update

* Fixing unit test

* Fixing e2e tests

* fix for e2e test

* fix a11y issues

* Changing places Settings -> General

* Trying to fix a11y

* I hope this fixes the e2e test

* Fixing merge issue

* tweak
2022-08-24 18:05:12 +02:00
Ashley Harrison
211c9991c5
Navigation: Add responsive behaviour to ToolbarButtonRow (#53739)
* hacky first attempt

* slightly cleaner...

* behaviour mostly working...

* remove unnecessary wrapper

* css tweaks

* much cleaner implementation with intersectionobserver

* set style props directly on children

* separate story, integrate when toggle is off

* improve story, integrate when toggle is on

* remove styles from DashNavTimeControls

* mock IntersectionObserver for all unit tests

* prettier

* don't use dropdown anymore

* add some basic documentation

* add right alignment to scenes toolbarbuttonrow

* just use the react children api to prevent duplicating children
2022-08-24 11:19:36 +01:00
Ryan McKinley
1d4e01f8ba
Transformers: Support inner vs outer join (#53913) 2022-08-23 10:14:03 -07:00
Ryan McKinley
dfda3e2b03
Dependencies: Update monaco-editor (#54068)
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2022-08-23 06:58:58 -07:00
Esteban Beltran
6fe7a1f034
Icons: Move unicons icons to the repository and generate the iconsBundle.js with nodejs (#53766) 2022-08-23 15:47:14 +02:00
Leon Sorokin
530dd63ac6
TimeSeries: Fix crash when min >= max in config (#54069)
* TimeSeries: fix crash when min === max in config

* stat sparkline, too

* better types
2022-08-23 01:00:42 -07:00
sam boyer
4d433084a5
plugins: New static scanner and validator, with Thema slot support (#53754)
* coremodels: Convert plugin-metadata schema to a coremodel

* Newer cuetsy; try quoting field name

* Add slot definitions

* Start sketching out pfs package

* Rerun codegen with fixes, new cuetsy

* Catch up dashboard with new cuetsy

* Update to go1.18

* Use new vmuxers in thema

* Add slot system in Go

* Draft finished implementation of pfs

* Collapse slot pkg into coremodel dir; add PluginInfo

* Add the mux type on top of kernel

* Refactor plugin generator for extensibility

* Change models.cue package, numerous debugs

* Bring new output to parity with old

* Remove old plugin generation logic

* Misc tweaking

* Reintroduce generation of shared schemas

* Drop back to go1.17

* Add globbing to tsconfig exclude

* Introduce pfs test on existing testdata

* Make most existing testdata tests pass with pfs

* coremodels: Convert plugin-metadata schema to a coremodel

* Newer cuetsy; try quoting field name

* Add APIType control concept, regen pluginmeta

* Use proper numeric types for schema fields

* Make pluginmeta schema follow Go type breakdown

* More decomposition into distinct types

* Add test case for no plugin.json file

* Fix missing ref to #Dependencies

* Remove generated TS for pluginmeta

* Update dependencies, rearrange go.mod

* Regenerate without Model prefix

* Use updated thema loader; this is now runnable

* Skip app plugin with weird include

* Make plugin tree extractor reusable

* Split out slot lineage load/validate logic

* Add myriad tests for new plugin validation failures

* Add test for zip fixtures

* One last run of codegen

* Proper delinting

* Ensure validation order is deterministic

* Let there actually be sorting

* Undo reliance on builtIn field (#54009)

* undo builtIn reliance

* fix tests

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-08-22 12:11:45 -04:00
Ashley Harrison
3cf95d7eee
Chore: fix some anys pt.2 (#53928)
* correctly type some more any's

* undo this change for now...
2022-08-22 16:51:33 +01:00
Vadim Beskrovnov
7caba545ec
A11y: Fix a11y for toolbar buttons in PanelEditor (#53864)
Co-authored-by: Vadim Beskrovnov <vbeskrovnov@fb.com>
2022-08-22 17:08:22 +02:00
Alex Khomenko
2caaa7fba2
ColorInputPicker: Fix popover in disabled state (#54000) 2022-08-22 18:01:33 +03:00
Josh Hunt
9db9ebce02
Typed variables pt6: Clean up and test variable type guards (take 2) (#54025)
* Add fixture-factories for all variable types

* clean up variable guards

* add tests for isMulti, hasCurrent, and hasOptions variable type guards

* create VariableSupport type to try and work around ts wonkiness
2022-08-22 14:45:40 +01:00
Victor Marin
cbe4fb4dab
TablePanel: Fix vertical scrollbar (#53457)
* TablePanel: Fix vertical scroll

* Fix vertical scrollbar with virtualized rendering

* betterer

* Refactor prop
2022-08-22 13:41:05 +03:00
Joao Silva
ee58d4ce4b
TimePicker: Fixes relative timerange of less than a day not displaying 2022-08-22 10:37:27 +01:00
Leon Sorokin
d5cc1bfff2
TimeSeries: fix regression with hardMin + hardMax ranging (#53922) 2022-08-19 12:20:21 -05:00
Ashley Harrison
0b322a0f5d
fix some anys (#53789) 2022-08-19 16:46:58 +01:00
Ryan McKinley
7cbf6015db
StructureRev: use deep equals for structure revision change detection (#53920) 2022-08-19 08:29:23 -07:00
Esteban Beltran
88419aa8fe
Grafana/schema: Fix plugins API regression. Add back "hidden" in LegendDisplayMode (#53925) 2022-08-19 17:06:33 +02:00
Esteban Beltran
edb54fc8d3
Fix: Rename timezones prop to timezone for plugins compatibility (#53926) 2022-08-19 16:59:56 +02:00
Joao Silva
4f2d30b153
Decimals: Fixes auto decimals to behave the same for positive and negative values (#53960) 2022-08-19 15:42:34 +01:00
Joao Silva
25538c528d
Grafana-UI: Changes ClipboardButton to always allow copy of multi line content (#53903) 2022-08-19 09:57:56 +01:00
Alex Karacaoglu
a3c1cd836e
Transformations: Add support for an inner join transformation (#53865) 2022-08-18 10:22:45 -07:00
Laura Benz
f5f93ccd96
A11y: Make tabs in query history + inspector accessible in Explore (#53773)
* refactor: make tabs accesible

* refactor: make content after slider accessible

* refactor: add a comment with todo
2022-08-18 17:16:37 +02:00
Zoltán Bedi
86de94cbfa
TimeSeries: Don't show y axis when visualisation is hidden (#53671)
* TimeSeries: Don't show y axis when visualisation is hidden

* Update snapshot

* make scale ranger return nulls for minMax when no visible data exists on scale

* drop unneeded change

* remove explicit axis.show

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2022-08-18 09:26:40 -04:00
Leon Sorokin
329aab7395
TimeSeries: Fix memory leak on viz re-init caused by KeyboardPlugin 2022-08-18 07:09:37 -05:00
Karl Persson
4ff4aaab23
RBAC: Remove builtin role code (#53767)
* remove rbacBuiltInRoleAssignmentEnabled from frontendsettings

* RBAC: Remove RBACBuiltInRoleAssignmentEnabled

* RBAC: Remove code for builtin role

* RolePicker: Remove unused prop

* RolePicker: Rename builtinRole to basicRole

* RolePicker: Rename onBuiltinRoleChange to onBasicRoleChange

* RolePicker: Rename properties
2022-08-18 12:25:37 +02:00
Victor Marin
b5cb7738da
TimeRangePicker: Absolute timeranges with timezone (#53763) 2022-08-17 13:52:21 +03:00
Esteban Beltran
81957732ab
Chore: Replace react-inlinesvg usage for the Icon component (#53736) 2022-08-17 09:09:58 +02:00
sam boyer
c23a9d78ab
Actually enforce dashboard schema on devenv (#53797)
* Relocate dashboards test so it runs

* Cover newer schema versions in stripnulls

* Strip nulls and remove iteration fields

* Fix fiscalYearStartMonth bounds

* Fix up and format dashboard schema

* Update thema, tidy Go dependencies
2022-08-16 22:07:57 -04:00
Ivan Ortega Alba
38c690ecb0
Revert "Analytics: Use Fullstory to get behavioral data (#53732)" (#53762)
This reverts commit 961479b111.
2022-08-16 12:45:14 +02:00
Ivan Ortega Alba
961479b111
Analytics: Use Fullstory to get behavioral data (#53732) 2022-08-16 10:32:00 +02:00
malcolmholmes
a19d82124b
Build: upgrade Alpine images (#53743) 2022-08-15 18:17:55 +02:00
Alex Khomenko
7944f3a692
ColorPickerInput: Enable input clearing (#53587)
* ColorPickerInput: Enable removing selected color

* ColorPickerInput: Add tests

* ColorInput: Add isClearable prop
2022-08-12 13:07:24 +03:00
Ashley Harrison
6cdeeeda3c
remove UseState from last 2 stories (#53596) 2022-08-11 16:28:22 +01:00
Andres Martinez Gotor
a31d96d20a
Prometheus: Promote Azure auth flag to configuration (#53447) 2022-08-11 16:12:57 +02:00
Yaelle Chaudy
dfe33a63fb
Datasources: Emit event on dashboard load with queries info (#52052)
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
Co-authored-by: Andres Martinez <andres.martinez@grafana.com>
2022-08-11 09:30:14 +02:00
owensmallwood
dc23643bee
Public Dashboards: Usage Insights (#52768) 2022-08-10 14:14:48 -03:00
Ashley Harrison
f32c0058a1
remove UseState from legacy Select story (#53519) 2022-08-10 15:30:02 +01:00
Josiah (Jay) Goodson
7d7890e23c
Transform: Add a limit transform (#49291)
* Add a limit transform

* Add a limit transform

* Simplify filter code

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2022-08-10 07:21:11 -07:00
Ashley Harrison
e51c80f8dd
Storybook: remove UseState from ButtonSelect story (#53509)
* remove UseState from ButtonSelect story

* leave this type assertion for now
2022-08-10 07:00:19 -04:00
Ashley Harrison
aaccb592cc
remove UseState from Drawer story (#53503) 2022-08-10 11:40:33 +01:00
Kirchen99
46004037e2
Dashboard: Support Variables in "Filter by Name" Transformation (#51804) 2022-08-10 10:54:40 +01:00
Leo
c4984854b6
added dashboard uid when tracing header in browsermode (#53232) 2022-08-10 10:36:19 +02:00
Matej Kubinec
bca8a5d153
Grafana UI: Add implicit submit to TimeRangeForm for A11y (#52647) 2022-08-10 10:00:02 +02:00
Ashley Harrison
d38e86f3a6
Storybook: add controls support + remove UseState from RelativeTimeRangePicker story (#53459)
* add controls support + remove UseState from RelativeTimeRangePicker story

* don't need this displayName

* exclude onChange
2022-08-10 08:55:22 +01:00
Ashley Harrison
e73e3cac11
add controls support + remove UseState from WeekStartPicker.story.tsx (#53455) 2022-08-09 16:00:39 +01:00
kay delaney
96403236cb
Chore: Further reduce usage of v1 theme (#53423) 2022-08-09 14:58:32 +01:00
Ivana Huckova
ab739bf0e6
Collapse: Fix miss-aligned arrow icon (#53452) 2022-08-09 15:05:10 +02:00