diff --git a/mod/data/classes/output/action_bar.php b/mod/data/classes/output/action_bar.php
index 58d02a016e2..0ce2fb067aa 100644
--- a/mod/data/classes/output/action_bar.php
+++ b/mod/data/classes/output/action_bar.php
@@ -116,7 +116,7 @@ class action_bar {
$fieldselectparams['newtype'] = $fieldtype;
$fieldselect->add(new \action_menu_link(
new moodle_url('/mod/data/field.php', $fieldselectparams),
- new \pix_icon('field/' . $fieldtype, $fieldname, 'data'),
+ new \image_icon('icon', $fieldtype, 'datafield_' . $fieldtype),
$fieldname,
false
));
diff --git a/mod/data/field/checkbox/pix/icon.svg b/mod/data/field/checkbox/pix/icon.svg
new file mode 100644
index 00000000000..db01cc14a7e
--- /dev/null
+++ b/mod/data/field/checkbox/pix/icon.svg
@@ -0,0 +1 @@
+
diff --git a/mod/data/field/date/pix/icon.svg b/mod/data/field/date/pix/icon.svg
new file mode 100644
index 00000000000..2eb51507a3c
--- /dev/null
+++ b/mod/data/field/date/pix/icon.svg
@@ -0,0 +1 @@
+
diff --git a/mod/data/field/file/pix/icon.svg b/mod/data/field/file/pix/icon.svg
new file mode 100644
index 00000000000..f9bda221999
--- /dev/null
+++ b/mod/data/field/file/pix/icon.svg
@@ -0,0 +1 @@
+
diff --git a/mod/data/field/latlong/pix/icon.svg b/mod/data/field/latlong/pix/icon.svg
new file mode 100644
index 00000000000..cdef84739a0
--- /dev/null
+++ b/mod/data/field/latlong/pix/icon.svg
@@ -0,0 +1 @@
+
diff --git a/mod/data/field/menu/pix/icon.svg b/mod/data/field/menu/pix/icon.svg
new file mode 100644
index 00000000000..64436673cc8
--- /dev/null
+++ b/mod/data/field/menu/pix/icon.svg
@@ -0,0 +1 @@
+
diff --git a/mod/data/field/multimenu/pix/icon.svg b/mod/data/field/multimenu/pix/icon.svg
new file mode 100644
index 00000000000..64436673cc8
--- /dev/null
+++ b/mod/data/field/multimenu/pix/icon.svg
@@ -0,0 +1 @@
+
diff --git a/mod/data/field/number/pix/icon.svg b/mod/data/field/number/pix/icon.svg
new file mode 100644
index 00000000000..54bbbdbb5c8
--- /dev/null
+++ b/mod/data/field/number/pix/icon.svg
@@ -0,0 +1 @@
+
diff --git a/mod/data/field/picture/pix/icon.svg b/mod/data/field/picture/pix/icon.svg
new file mode 100644
index 00000000000..0610a56373c
--- /dev/null
+++ b/mod/data/field/picture/pix/icon.svg
@@ -0,0 +1 @@
+
diff --git a/mod/data/field/radiobutton/pix/icon.svg b/mod/data/field/radiobutton/pix/icon.svg
new file mode 100644
index 00000000000..8935a741255
--- /dev/null
+++ b/mod/data/field/radiobutton/pix/icon.svg
@@ -0,0 +1 @@
+
diff --git a/mod/data/field/text/pix/icon.svg b/mod/data/field/text/pix/icon.svg
new file mode 100644
index 00000000000..fb09fb4b1fb
--- /dev/null
+++ b/mod/data/field/text/pix/icon.svg
@@ -0,0 +1 @@
+
diff --git a/mod/data/field/textarea/pix/icon.svg b/mod/data/field/textarea/pix/icon.svg
new file mode 100644
index 00000000000..0d63a57001f
--- /dev/null
+++ b/mod/data/field/textarea/pix/icon.svg
@@ -0,0 +1,2 @@
+
+
diff --git a/mod/data/field/url/pix/icon.svg b/mod/data/field/url/pix/icon.svg
new file mode 100644
index 00000000000..cd6a6fb889d
--- /dev/null
+++ b/mod/data/field/url/pix/icon.svg
@@ -0,0 +1 @@
+
diff --git a/mod/data/lib.php b/mod/data/lib.php
index bea2c79aff1..9da6280a854 100644
--- a/mod/data/lib.php
+++ b/mod/data/lib.php
@@ -641,7 +641,7 @@ class data_field_base { // Base class for Database Field Types (see field/*/
function image() {
global $OUTPUT;
- return $OUTPUT->pix_icon('field/' . $this->type, $this->type, 'data');
+ return $OUTPUT->image_icon('icon', $this->type, 'datafield_' . $this->type);
}
/**
@@ -4121,10 +4121,15 @@ function data_view($data, $course, $cm, $context) {
}
/**
- * Get icon mapping for font-awesome.
+ * Get the list of deprecated icons.
+ *
+ * @return array with the deprecated key icons.
+ * @todo Final deprecation on Moodle 6.0 MDL-83465.
*/
-function mod_data_get_fontawesome_icon_map() {
+function mod_data_get_deprecated_icons() {
return [
+ // Deprecated since Moodle 4.6.
+ // See MDL-82313 for refactoring.
'mod_data:field/checkbox' => 'fa-regular fa-square-check',
'mod_data:field/date' => 'fa-regular fa-calendar',
'mod_data:field/file' => 'fa-regular fa-file',