@wordpress/media-fields 0.1.1-next.738bb1424.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/build/alt_text/{index.cjs → index.js} +3 -2
  2. package/build/alt_text/{index.cjs.map → index.js.map} +2 -2
  3. package/build/caption/{index.cjs → index.js} +4 -3
  4. package/build/caption/{index.cjs.map → index.js.map} +2 -2
  5. package/build/description/{index.cjs → index.js} +4 -3
  6. package/build/description/{index.cjs.map → index.js.map} +2 -2
  7. package/build/filename/{index.cjs → index.js} +2 -2
  8. package/build/filename/{view.cjs → view.js} +1 -1
  9. package/build/filesize/{index.cjs → index.js} +1 -1
  10. package/build/{index.cjs → index.js} +9 -9
  11. package/build/media_dimensions/{index.cjs → index.js} +1 -1
  12. package/build/media_thumbnail/{index.cjs → index.js} +2 -2
  13. package/build/media_thumbnail/{view.cjs → view.js} +37 -43
  14. package/build/media_thumbnail/view.js.map +7 -0
  15. package/build/mime_type/{index.cjs → index.js} +1 -1
  16. package/build/{types.cjs → types.js} +1 -1
  17. package/build/utils/{get-media-type-from-mime-type.cjs → get-media-type-from-mime-type.js} +1 -1
  18. package/build/utils/{get-raw-content.cjs → get-raw-content.js} +1 -1
  19. package/build/utils/{get-rendered-content.cjs → get-rendered-content.js} +1 -1
  20. package/build-module/alt_text/index.js +2 -1
  21. package/build-module/alt_text/index.js.map +2 -2
  22. package/build-module/caption/index.js +3 -2
  23. package/build-module/caption/index.js.map +2 -2
  24. package/build-module/description/index.js +3 -2
  25. package/build-module/description/index.js.map +2 -2
  26. package/build-module/filename/index.js +1 -1
  27. package/build-module/index.js +8 -8
  28. package/build-module/media_thumbnail/index.js +1 -1
  29. package/build-module/media_thumbnail/view.js +36 -42
  30. package/build-module/media_thumbnail/view.js.map +2 -2
  31. package/build-types/alt_text/index.d.ts.map +1 -1
  32. package/build-types/caption/index.d.ts.map +1 -1
  33. package/build-types/description/index.d.ts.map +1 -1
  34. package/build-types/media_thumbnail/view.d.ts.map +1 -1
  35. package/build-types/stories/index.story.d.ts.map +1 -1
  36. package/package.json +13 -22
  37. package/src/alt_text/index.tsx +1 -0
  38. package/src/caption/index.tsx +1 -0
  39. package/src/description/index.tsx +1 -0
  40. package/src/media_thumbnail/view.tsx +46 -63
  41. package/src/stories/index.story.tsx +1 -53
  42. package/tsconfig.json +31 -0
  43. package/tsconfig.tsbuildinfo +1 -0
  44. package/build/media_thumbnail/view.cjs.map +0 -7
  45. package/build-types/filename/test/index.test.d.ts +0 -2
  46. package/build-types/filename/test/index.test.d.ts.map +0 -1
  47. package/build-types/filename/test/view.test.d.ts +0 -2
  48. package/build-types/filename/test/view.test.d.ts.map +0 -1
  49. package/build-types/filesize/test/index.test.d.ts +0 -2
  50. package/build-types/filesize/test/index.test.d.ts.map +0 -1
  51. package/build-types/media_dimensions/test/index.test.d.ts +0 -2
  52. package/build-types/media_dimensions/test/index.test.d.ts.map +0 -1
  53. package/src/filename/test/index.test.ts +0 -59
  54. package/src/filename/test/view.test.tsx +0 -87
  55. package/src/filesize/test/index.test.tsx +0 -107
  56. package/src/media_dimensions/test/index.test.ts +0 -132
  57. /package/build/filename/{index.cjs.map → index.js.map} +0 -0
  58. /package/build/filename/{view.cjs.map → view.js.map} +0 -0
  59. /package/build/filesize/{index.cjs.map → index.js.map} +0 -0
  60. /package/build/{index.cjs.map → index.js.map} +0 -0
  61. /package/build/media_dimensions/{index.cjs.map → index.js.map} +0 -0
  62. /package/build/media_thumbnail/{index.cjs.map → index.js.map} +0 -0
  63. /package/build/mime_type/{index.cjs.map → index.js.map} +0 -0
  64. /package/build/{types.cjs.map → types.js.map} +0 -0
  65. /package/build/utils/{get-media-type-from-mime-type.cjs.map → get-media-type-from-mime-type.js.map} +0 -0
  66. /package/build/utils/{get-raw-content.cjs.map → get-raw-content.js.map} +0 -0
  67. /package/build/utils/{get-rendered-content.cjs.map → get-rendered-content.js.map} +0 -0
@@ -39,7 +39,8 @@ var altTextField = {
39
39
  label: field.label,
40
40
  value: data.alt_text || "",
41
41
  onChange: (value) => onChange({ alt_text: value }),
42
- rows: 2
42
+ rows: 2,
43
+ __nextHasNoMarginBottom: true
43
44
  }
44
45
  );
45
46
  },
@@ -47,4 +48,4 @@ var altTextField = {
47
48
  filterBy: false
48
49
  };
49
50
  var alt_text_default = altTextField;
50
- //# sourceMappingURL=index.cjs.map
51
+ //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/alt_text/index.tsx"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { TextareaControl } from '@wordpress/components';\nimport type { Field } from '@wordpress/dataviews';\nimport type { Attachment, Updatable } from '@wordpress/core-data';\n\nconst altTextField: Partial< Field< Updatable< Attachment > > > = {\n\tid: 'alt_text',\n\ttype: 'text',\n\tlabel: __( 'Alt text' ),\n\tisVisible: ( item ) => item?.media_type === 'image',\n\trender: ( { item } ) => item?.alt_text || '-',\n\tEdit: ( { field, onChange, data } ) => {\n\t\treturn (\n\t\t\t<TextareaControl\n\t\t\t\tlabel={ field.label }\n\t\t\t\tvalue={ data.alt_text || '' }\n\t\t\t\tonChange={ ( value ) => onChange( { alt_text: value } ) }\n\t\t\t\trows={ 2 }\n\t\t\t/>\n\t\t);\n\t},\n\tenableSorting: false,\n\tfilterBy: false,\n};\n\nexport default altTextField;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,wBAAgC;AAY7B;AARH,IAAM,eAA4D;AAAA,EACjE,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,WAAO,gBAAI,UAAW;AAAA,EACtB,WAAW,CAAE,SAAU,MAAM,eAAe;AAAA,EAC5C,QAAQ,CAAE,EAAE,KAAK,MAAO,MAAM,YAAY;AAAA,EAC1C,MAAM,CAAE,EAAE,OAAO,UAAU,KAAK,MAAO;AACtC,WACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAQ,MAAM;AAAA,QACd,OAAQ,KAAK,YAAY;AAAA,QACzB,UAAW,CAAE,UAAW,SAAU,EAAE,UAAU,MAAM,CAAE;AAAA,QACtD,MAAO;AAAA;AAAA,IACR;AAAA,EAEF;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AACX;AAEA,IAAO,mBAAQ;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { TextareaControl } from '@wordpress/components';\nimport type { Field } from '@wordpress/dataviews';\nimport type { Attachment, Updatable } from '@wordpress/core-data';\n\nconst altTextField: Partial< Field< Updatable< Attachment > > > = {\n\tid: 'alt_text',\n\ttype: 'text',\n\tlabel: __( 'Alt text' ),\n\tisVisible: ( item ) => item?.media_type === 'image',\n\trender: ( { item } ) => item?.alt_text || '-',\n\tEdit: ( { field, onChange, data } ) => {\n\t\treturn (\n\t\t\t<TextareaControl\n\t\t\t\tlabel={ field.label }\n\t\t\t\tvalue={ data.alt_text || '' }\n\t\t\t\tonChange={ ( value ) => onChange( { alt_text: value } ) }\n\t\t\t\trows={ 2 }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t/>\n\t\t);\n\t},\n\tenableSorting: false,\n\tfilterBy: false,\n};\n\nexport default altTextField;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,wBAAgC;AAY7B;AARH,IAAM,eAA4D;AAAA,EACjE,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,WAAO,gBAAI,UAAW;AAAA,EACtB,WAAW,CAAE,SAAU,MAAM,eAAe;AAAA,EAC5C,QAAQ,CAAE,EAAE,KAAK,MAAO,MAAM,YAAY;AAAA,EAC1C,MAAM,CAAE,EAAE,OAAO,UAAU,KAAK,MAAO;AACtC,WACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAQ,MAAM;AAAA,QACd,OAAQ,KAAK,YAAY;AAAA,QACzB,UAAW,CAAE,UAAW,SAAU,EAAE,UAAU,MAAM,CAAE;AAAA,QACtD,MAAO;AAAA,QACP,yBAAuB;AAAA;AAAA,IACxB;AAAA,EAEF;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AACX;AAEA,IAAO,mBAAQ;",
6
6
  "names": []
7
7
  }
@@ -25,7 +25,7 @@ __export(caption_exports, {
25
25
  module.exports = __toCommonJS(caption_exports);
26
26
  var import_i18n = require("@wordpress/i18n");
27
27
  var import_components = require("@wordpress/components");
28
- var import_get_raw_content = require("../utils/get-raw-content.cjs");
28
+ var import_get_raw_content = require("../utils/get-raw-content");
29
29
  var import_jsx_runtime = require("react/jsx-runtime");
30
30
  var captionField = {
31
31
  id: "caption",
@@ -40,7 +40,8 @@ var captionField = {
40
40
  label: field.label,
41
41
  value: (0, import_get_raw_content.getRawContent)(data.caption) || "",
42
42
  onChange: (value) => onChange({ caption: value }),
43
- rows: 2
43
+ rows: 2,
44
+ __nextHasNoMarginBottom: true
44
45
  }
45
46
  );
46
47
  },
@@ -48,4 +49,4 @@ var captionField = {
48
49
  filterBy: false
49
50
  };
50
51
  var caption_default = captionField;
51
- //# sourceMappingURL=index.cjs.map
52
+ //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/caption/index.tsx"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { TextareaControl } from '@wordpress/components';\nimport type { Attachment, Updatable } from '@wordpress/core-data';\nimport type { Field } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport { getRawContent } from '../utils/get-raw-content';\n\nconst captionField: Partial< Field< Updatable< Attachment > > > = {\n\tid: 'caption',\n\ttype: 'text',\n\tlabel: __( 'Caption' ),\n\tgetValue: ( { item } ) => getRawContent( item?.caption ),\n\trender: ( { item } ) => getRawContent( item?.caption ) || '-',\n\tEdit: ( { field, onChange, data } ) => {\n\t\treturn (\n\t\t\t<TextareaControl\n\t\t\t\tlabel={ field.label }\n\t\t\t\tvalue={ getRawContent( data.caption ) || '' }\n\t\t\t\tonChange={ ( value ) => onChange( { caption: value } ) }\n\t\t\t\trows={ 2 }\n\t\t\t/>\n\t\t);\n\t},\n\tenableSorting: false,\n\tfilterBy: false,\n};\n\nexport default captionField;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,wBAAgC;AAOhC,6BAA8B;AAU3B;AARH,IAAM,eAA4D;AAAA,EACjE,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,WAAO,gBAAI,SAAU;AAAA,EACrB,UAAU,CAAE,EAAE,KAAK,UAAO,sCAAe,MAAM,OAAQ;AAAA,EACvD,QAAQ,CAAE,EAAE,KAAK,UAAO,sCAAe,MAAM,OAAQ,KAAK;AAAA,EAC1D,MAAM,CAAE,EAAE,OAAO,UAAU,KAAK,MAAO;AACtC,WACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAQ,MAAM;AAAA,QACd,WAAQ,sCAAe,KAAK,OAAQ,KAAK;AAAA,QACzC,UAAW,CAAE,UAAW,SAAU,EAAE,SAAS,MAAM,CAAE;AAAA,QACrD,MAAO;AAAA;AAAA,IACR;AAAA,EAEF;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AACX;AAEA,IAAO,kBAAQ;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { TextareaControl } from '@wordpress/components';\nimport type { Attachment, Updatable } from '@wordpress/core-data';\nimport type { Field } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport { getRawContent } from '../utils/get-raw-content';\n\nconst captionField: Partial< Field< Updatable< Attachment > > > = {\n\tid: 'caption',\n\ttype: 'text',\n\tlabel: __( 'Caption' ),\n\tgetValue: ( { item } ) => getRawContent( item?.caption ),\n\trender: ( { item } ) => getRawContent( item?.caption ) || '-',\n\tEdit: ( { field, onChange, data } ) => {\n\t\treturn (\n\t\t\t<TextareaControl\n\t\t\t\tlabel={ field.label }\n\t\t\t\tvalue={ getRawContent( data.caption ) || '' }\n\t\t\t\tonChange={ ( value ) => onChange( { caption: value } ) }\n\t\t\t\trows={ 2 }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t/>\n\t\t);\n\t},\n\tenableSorting: false,\n\tfilterBy: false,\n};\n\nexport default captionField;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,wBAAgC;AAOhC,6BAA8B;AAU3B;AARH,IAAM,eAA4D;AAAA,EACjE,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,WAAO,gBAAI,SAAU;AAAA,EACrB,UAAU,CAAE,EAAE,KAAK,UAAO,sCAAe,MAAM,OAAQ;AAAA,EACvD,QAAQ,CAAE,EAAE,KAAK,UAAO,sCAAe,MAAM,OAAQ,KAAK;AAAA,EAC1D,MAAM,CAAE,EAAE,OAAO,UAAU,KAAK,MAAO;AACtC,WACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAQ,MAAM;AAAA,QACd,WAAQ,sCAAe,KAAK,OAAQ,KAAK;AAAA,QACzC,UAAW,CAAE,UAAW,SAAU,EAAE,SAAS,MAAM,CAAE;AAAA,QACrD,MAAO;AAAA,QACP,yBAAuB;AAAA;AAAA,IACxB;AAAA,EAEF;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AACX;AAEA,IAAO,kBAAQ;",
6
6
  "names": []
7
7
  }
@@ -25,7 +25,7 @@ __export(description_exports, {
25
25
  module.exports = __toCommonJS(description_exports);
26
26
  var import_i18n = require("@wordpress/i18n");
27
27
  var import_components = require("@wordpress/components");
28
- var import_get_raw_content = require("../utils/get-raw-content.cjs");
28
+ var import_get_raw_content = require("../utils/get-raw-content");
29
29
  var import_jsx_runtime = require("react/jsx-runtime");
30
30
  var descriptionField = {
31
31
  id: "description",
@@ -40,7 +40,8 @@ var descriptionField = {
40
40
  label: field.label,
41
41
  value: (0, import_get_raw_content.getRawContent)(data.description) || "",
42
42
  onChange: (value) => onChange({ description: value }),
43
- rows: 5
43
+ rows: 5,
44
+ __nextHasNoMarginBottom: true
44
45
  }
45
46
  );
46
47
  },
@@ -48,4 +49,4 @@ var descriptionField = {
48
49
  filterBy: false
49
50
  };
50
51
  var description_default = descriptionField;
51
- //# sourceMappingURL=index.cjs.map
52
+ //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/description/index.tsx"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { TextareaControl } from '@wordpress/components';\nimport type { Attachment, Updatable } from '@wordpress/core-data';\nimport type { Field } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport { getRawContent } from '../utils/get-raw-content';\n\nconst descriptionField: Partial< Field< Updatable< Attachment > > > = {\n\tid: 'description',\n\ttype: 'text',\n\tlabel: __( 'Description' ),\n\tgetValue: ( { item } ) => getRawContent( item?.description ),\n\trender: ( { item } ) => (\n\t\t<div>{ getRawContent( item?.description ) || '-' }</div>\n\t),\n\tEdit: ( { field, onChange, data } ) => {\n\t\treturn (\n\t\t\t<TextareaControl\n\t\t\t\tlabel={ field.label }\n\t\t\t\tvalue={ getRawContent( data.description ) || '' }\n\t\t\t\tonChange={ ( value ) => onChange( { description: value } ) }\n\t\t\t\trows={ 5 }\n\t\t\t/>\n\t\t);\n\t},\n\tenableSorting: false,\n\tfilterBy: false,\n};\n\nexport default descriptionField;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,wBAAgC;AAOhC,6BAA8B;AAQ5B;AANF,IAAM,mBAAgE;AAAA,EACrE,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,WAAO,gBAAI,aAAc;AAAA,EACzB,UAAU,CAAE,EAAE,KAAK,UAAO,sCAAe,MAAM,WAAY;AAAA,EAC3D,QAAQ,CAAE,EAAE,KAAK,MAChB,4CAAC,SAAM,oDAAe,MAAM,WAAY,KAAK,KAAK;AAAA,EAEnD,MAAM,CAAE,EAAE,OAAO,UAAU,KAAK,MAAO;AACtC,WACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAQ,MAAM;AAAA,QACd,WAAQ,sCAAe,KAAK,WAAY,KAAK;AAAA,QAC7C,UAAW,CAAE,UAAW,SAAU,EAAE,aAAa,MAAM,CAAE;AAAA,QACzD,MAAO;AAAA;AAAA,IACR;AAAA,EAEF;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AACX;AAEA,IAAO,sBAAQ;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { TextareaControl } from '@wordpress/components';\nimport type { Attachment, Updatable } from '@wordpress/core-data';\nimport type { Field } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport { getRawContent } from '../utils/get-raw-content';\n\nconst descriptionField: Partial< Field< Updatable< Attachment > > > = {\n\tid: 'description',\n\ttype: 'text',\n\tlabel: __( 'Description' ),\n\tgetValue: ( { item } ) => getRawContent( item?.description ),\n\trender: ( { item } ) => (\n\t\t<div>{ getRawContent( item?.description ) || '-' }</div>\n\t),\n\tEdit: ( { field, onChange, data } ) => {\n\t\treturn (\n\t\t\t<TextareaControl\n\t\t\t\tlabel={ field.label }\n\t\t\t\tvalue={ getRawContent( data.description ) || '' }\n\t\t\t\tonChange={ ( value ) => onChange( { description: value } ) }\n\t\t\t\trows={ 5 }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t/>\n\t\t);\n\t},\n\tenableSorting: false,\n\tfilterBy: false,\n};\n\nexport default descriptionField;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,wBAAgC;AAOhC,6BAA8B;AAQ5B;AANF,IAAM,mBAAgE;AAAA,EACrE,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,WAAO,gBAAI,aAAc;AAAA,EACzB,UAAU,CAAE,EAAE,KAAK,UAAO,sCAAe,MAAM,WAAY;AAAA,EAC3D,QAAQ,CAAE,EAAE,KAAK,MAChB,4CAAC,SAAM,oDAAe,MAAM,WAAY,KAAK,KAAK;AAAA,EAEnD,MAAM,CAAE,EAAE,OAAO,UAAU,KAAK,MAAO;AACtC,WACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAQ,MAAM;AAAA,QACd,WAAQ,sCAAe,KAAK,WAAY,KAAK;AAAA,QAC7C,UAAW,CAAE,UAAW,SAAU,EAAE,aAAa,MAAM,CAAE;AAAA,QACzD,MAAO;AAAA,QACP,yBAAuB;AAAA;AAAA,IACxB;AAAA,EAEF;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AACX;AAEA,IAAO,sBAAQ;",
6
6
  "names": []
7
7
  }
@@ -35,7 +35,7 @@ __export(filename_exports, {
35
35
  module.exports = __toCommonJS(filename_exports);
36
36
  var import_i18n = require("@wordpress/i18n");
37
37
  var import_url = require("@wordpress/url");
38
- var import_view = __toESM(require("./view.cjs"), 1);
38
+ var import_view = __toESM(require("./view"));
39
39
  var filenameField = {
40
40
  id: "filename",
41
41
  type: "text",
@@ -47,4 +47,4 @@ var filenameField = {
47
47
  readOnly: true
48
48
  };
49
49
  var filename_default = filenameField;
50
- //# sourceMappingURL=index.cjs.map
50
+ //# sourceMappingURL=index.js.map
@@ -40,4 +40,4 @@ function FileNameView({
40
40
  }
41
41
  return fileName.length > TRUNCATE_LENGTH ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Tooltip, { text: fileName, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.__experimentalTruncate, { children: fileName }) }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: fileName });
42
42
  }
43
- //# sourceMappingURL=view.cjs.map
43
+ //# sourceMappingURL=view.js.map
@@ -87,4 +87,4 @@ var filesizeField = {
87
87
  readOnly: true
88
88
  };
89
89
  var filesize_default = filesizeField;
90
- //# sourceMappingURL=index.cjs.map
90
+ //# sourceMappingURL=index.js.map
@@ -40,14 +40,14 @@ __export(index_exports, {
40
40
  mimeTypeField: () => import_mime_type.default
41
41
  });
42
42
  module.exports = __toCommonJS(index_exports);
43
- var import_alt_text = __toESM(require("./alt_text/index.cjs"), 1);
44
- var import_caption = __toESM(require("./caption/index.cjs"), 1);
45
- var import_description = __toESM(require("./description/index.cjs"), 1);
46
- var import_filename = __toESM(require("./filename/index.cjs"), 1);
47
- var import_filesize = __toESM(require("./filesize/index.cjs"), 1);
48
- var import_media_dimensions = __toESM(require("./media_dimensions/index.cjs"), 1);
49
- var import_media_thumbnail = __toESM(require("./media_thumbnail/index.cjs"), 1);
50
- var import_mime_type = __toESM(require("./mime_type/index.cjs"), 1);
43
+ var import_alt_text = __toESM(require("./alt_text"));
44
+ var import_caption = __toESM(require("./caption"));
45
+ var import_description = __toESM(require("./description"));
46
+ var import_filename = __toESM(require("./filename"));
47
+ var import_filesize = __toESM(require("./filesize"));
48
+ var import_media_dimensions = __toESM(require("./media_dimensions"));
49
+ var import_media_thumbnail = __toESM(require("./media_thumbnail"));
50
+ var import_mime_type = __toESM(require("./mime_type"));
51
51
  // Annotate the CommonJS export names for ESM import in node:
52
52
  0 && (module.exports = {
53
53
  altTextField,
@@ -59,4 +59,4 @@ var import_mime_type = __toESM(require("./mime_type/index.cjs"), 1);
59
59
  mediaThumbnailField,
60
60
  mimeTypeField
61
61
  });
62
- //# sourceMappingURL=index.cjs.map
62
+ //# sourceMappingURL=index.js.map
@@ -42,4 +42,4 @@ var mediaDimensionsField = {
42
42
  readOnly: true
43
43
  };
44
44
  var media_dimensions_default = mediaDimensionsField;
45
- //# sourceMappingURL=index.cjs.map
45
+ //# sourceMappingURL=index.js.map
@@ -34,7 +34,7 @@ __export(media_thumbnail_exports, {
34
34
  });
35
35
  module.exports = __toCommonJS(media_thumbnail_exports);
36
36
  var import_i18n = require("@wordpress/i18n");
37
- var import_view = __toESM(require("./view.cjs"), 1);
37
+ var import_view = __toESM(require("./view"));
38
38
  var mediaThumbnailField = {
39
39
  id: "media_thumbnail",
40
40
  type: "media",
@@ -44,4 +44,4 @@ var mediaThumbnailField = {
44
44
  filterBy: false
45
45
  };
46
46
  var media_thumbnail_default = mediaThumbnailField;
47
- //# sourceMappingURL=index.cjs.map
47
+ //# sourceMappingURL=index.js.map
@@ -26,40 +26,13 @@ module.exports = __toCommonJS(view_exports);
26
26
  var import_data = require("@wordpress/data");
27
27
  var import_core_data = require("@wordpress/core-data");
28
28
  var import_components = require("@wordpress/components");
29
- var import_element = require("@wordpress/element");
30
29
  var import_url = require("@wordpress/url");
31
- var import_get_media_type_from_mime_type = require("../utils/get-media-type-from-mime-type.cjs");
30
+ var import_get_media_type_from_mime_type = require("../utils/get-media-type-from-mime-type");
32
31
  var import_jsx_runtime = require("react/jsx-runtime");
33
- function FallbackView({
34
- item,
35
- filename
36
- }) {
37
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "dataviews-media-field__media-thumbnail", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
38
- import_components.__experimentalVStack,
39
- {
40
- justify: "center",
41
- alignment: "center",
42
- className: "dataviews-media-field__media-thumbnail__stack",
43
- spacing: 0,
44
- children: [
45
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
46
- import_components.Icon,
47
- {
48
- className: "dataviews-media-field__media-thumbnail--icon",
49
- icon: (0, import_get_media_type_from_mime_type.getMediaTypeFromMimeType)(item.mime_type).icon,
50
- size: 24
51
- }
52
- ),
53
- !!filename && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "dataviews-media-field__media-thumbnail__filename", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.__experimentalTruncate, { className: "dataviews-media-field__media-thumbnail__filename__truncate", children: filename }) })
54
- ]
55
- }
56
- ) });
57
- }
58
32
  function MediaThumbnailView({
59
33
  item,
60
34
  config
61
35
  }) {
62
- const [imageError, setImageError] = (0, import_element.useState)(false);
63
36
  const _featuredMedia = (0, import_data.useSelect)(
64
37
  (select) => {
65
38
  if (!item.featured_media) {
@@ -78,23 +51,44 @@ function MediaThumbnailView({
78
51
  return null;
79
52
  }
80
53
  const filename = (0, import_url.getFilename)(featuredMedia.source_url || "");
81
- if (imageError || (0, import_get_media_type_from_mime_type.getMediaTypeFromMimeType)(featuredMedia.mime_type).type !== "image") {
82
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(FallbackView, { item: featuredMedia, filename: filename || "" });
54
+ if (
55
+ // Ensure the featured media is an image.
56
+ (0, import_get_media_type_from_mime_type.getMediaTypeFromMimeType)(featuredMedia.mime_type).type === "image"
57
+ ) {
58
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "dataviews-media-field__media-thumbnail", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
59
+ "img",
60
+ {
61
+ className: "dataviews-media-field__media-thumbnail--image",
62
+ src: featuredMedia.source_url,
63
+ srcSet: featuredMedia?.media_details?.sizes ? Object.values(
64
+ featuredMedia.media_details.sizes
65
+ ).map(
66
+ (size) => `${size.source_url} ${size.width}w`
67
+ ).join(", ") : void 0,
68
+ sizes: config?.sizes || "100vw",
69
+ alt: featuredMedia.alt_text || featuredMedia.title.raw
70
+ }
71
+ ) });
83
72
  }
84
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "dataviews-media-field__media-thumbnail", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
85
- "img",
73
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "dataviews-media-field__media-thumbnail", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
74
+ import_components.__experimentalVStack,
86
75
  {
87
- className: "dataviews-media-field__media-thumbnail--image",
88
- src: featuredMedia.source_url,
89
- srcSet: featuredMedia?.media_details?.sizes ? Object.values(
90
- featuredMedia.media_details.sizes
91
- ).map(
92
- (size) => `${size.source_url} ${size.width}w`
93
- ).join(", ") : void 0,
94
- sizes: config?.sizes || "100vw",
95
- alt: featuredMedia.alt_text || featuredMedia.title.raw,
96
- onError: () => setImageError(true)
76
+ justify: "center",
77
+ alignment: "center",
78
+ className: "dataviews-media-field__media-thumbnail__stack",
79
+ spacing: 0,
80
+ children: [
81
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
82
+ import_components.Icon,
83
+ {
84
+ className: "dataviews-media-field__media-thumbnail--icon",
85
+ icon: (0, import_get_media_type_from_mime_type.getMediaTypeFromMimeType)(item.mime_type).icon,
86
+ size: 24
87
+ }
88
+ ),
89
+ !!filename && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "dataviews-media-field__media-thumbnail__filename", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.__experimentalTruncate, { className: "dataviews-media-field__media-thumbnail__filename__truncate", children: filename }) })
90
+ ]
97
91
  }
98
92
  ) });
99
93
  }
100
- //# sourceMappingURL=view.cjs.map
94
+ //# sourceMappingURL=view.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/media_thumbnail/view.tsx"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\t__experimentalTruncate as Truncate,\n\t__experimentalVStack as VStack,\n\tIcon,\n} from '@wordpress/components';\nimport type { Attachment } from '@wordpress/core-data';\nimport { getFilename } from '@wordpress/url';\nimport type { DataViewRenderFieldProps } from '@wordpress/dataviews';\n/**\n * Internal dependencies\n */\nimport { getMediaTypeFromMimeType } from '../utils/get-media-type-from-mime-type';\nimport type { MediaItem } from '../types';\n\nexport default function MediaThumbnailView( {\n\titem,\n\tconfig,\n}: DataViewRenderFieldProps< MediaItem > ) {\n\tconst _featuredMedia = useSelect(\n\t\t( select ) => {\n\t\t\t// Avoid the network request if it's not needed. `featured_media` is\n\t\t\t// 0 for images and media without featured media.\n\t\t\tif ( ! item.featured_media ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treturn select( coreStore ).getEntityRecord< Attachment >(\n\t\t\t\t'postType',\n\t\t\t\t'attachment',\n\t\t\t\titem.featured_media\n\t\t\t);\n\t\t},\n\t\t[ item.featured_media ]\n\t);\n\tconst featuredMedia = item.featured_media ? _featuredMedia : item;\n\n\t// Fetching.\n\tif ( ! featuredMedia ) {\n\t\treturn null;\n\t}\n\n\tconst filename = getFilename( featuredMedia.source_url || '' );\n\n\tif (\n\t\t// Ensure the featured media is an image.\n\t\tgetMediaTypeFromMimeType( featuredMedia.mime_type ).type === 'image'\n\t) {\n\t\treturn (\n\t\t\t<div className=\"dataviews-media-field__media-thumbnail\">\n\t\t\t\t<img\n\t\t\t\t\tclassName=\"dataviews-media-field__media-thumbnail--image\"\n\t\t\t\t\tsrc={ featuredMedia.source_url }\n\t\t\t\t\tsrcSet={\n\t\t\t\t\t\tfeaturedMedia?.media_details?.sizes\n\t\t\t\t\t\t\t? (\n\t\t\t\t\t\t\t\t\tObject.values(\n\t\t\t\t\t\t\t\t\t\tfeaturedMedia.media_details.sizes\n\t\t\t\t\t\t\t\t\t) as Array< {\n\t\t\t\t\t\t\t\t\t\tsource_url: string;\n\t\t\t\t\t\t\t\t\t\twidth: number;\n\t\t\t\t\t\t\t\t\t} >\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t\t( size ) =>\n\t\t\t\t\t\t\t\t\t\t\t`${ size.source_url } ${ size.width }w`\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t.join( ', ' )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tsizes={ config?.sizes || '100vw' }\n\t\t\t\t\talt={ featuredMedia.alt_text || featuredMedia.title.raw }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className=\"dataviews-media-field__media-thumbnail\">\n\t\t\t<VStack\n\t\t\t\tjustify=\"center\"\n\t\t\t\talignment=\"center\"\n\t\t\t\tclassName=\"dataviews-media-field__media-thumbnail__stack\"\n\t\t\t\tspacing={ 0 }\n\t\t\t>\n\t\t\t\t<Icon\n\t\t\t\t\tclassName=\"dataviews-media-field__media-thumbnail--icon\"\n\t\t\t\t\ticon={ getMediaTypeFromMimeType( item.mime_type ).icon }\n\t\t\t\t\tsize={ 24 }\n\t\t\t\t/>\n\t\t\t\t{ !! filename && (\n\t\t\t\t\t<div className=\"dataviews-media-field__media-thumbnail__filename\">\n\t\t\t\t\t\t<Truncate className=\"dataviews-media-field__media-thumbnail__filename__truncate\">\n\t\t\t\t\t\t\t{ filename }\n\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAA0B;AAC1B,uBAAmC;AACnC,wBAIO;AAEP,iBAA4B;AAK5B,2CAAyC;AAqCrC;AAlCW,SAAR,mBAAqC;AAAA,EAC3C;AAAA,EACA;AACD,GAA2C;AAC1C,QAAM,qBAAiB;AAAA,IACtB,CAAE,WAAY;AAGb,UAAK,CAAE,KAAK,gBAAiB;AAC5B;AAAA,MACD;AACA,aAAO,OAAQ,iBAAAA,KAAU,EAAE;AAAA,QAC1B;AAAA,QACA;AAAA,QACA,KAAK;AAAA,MACN;AAAA,IACD;AAAA,IACA,CAAE,KAAK,cAAe;AAAA,EACvB;AACA,QAAM,gBAAgB,KAAK,iBAAiB,iBAAiB;AAG7D,MAAK,CAAE,eAAgB;AACtB,WAAO;AAAA,EACR;AAEA,QAAM,eAAW,wBAAa,cAAc,cAAc,EAAG;AAE7D;AAAA;AAAA,QAEC,+DAA0B,cAAc,SAAU,EAAE,SAAS;AAAA,IAC5D;AACD,WACC,4CAAC,SAAI,WAAU,0CACd;AAAA,MAAC;AAAA;AAAA,QACA,WAAU;AAAA,QACV,KAAM,cAAc;AAAA,QACpB,QACC,eAAe,eAAe,QAE3B,OAAO;AAAA,UACN,cAAc,cAAc;AAAA,QAC7B,EAKC;AAAA,UACA,CAAE,SACD,GAAI,KAAK,UAAW,IAAK,KAAK,KAAM;AAAA,QACtC,EACC,KAAM,IAAK,IACZ;AAAA,QAEJ,OAAQ,QAAQ,SAAS;AAAA,QACzB,KAAM,cAAc,YAAY,cAAc,MAAM;AAAA;AAAA,IACrD,GACD;AAAA,EAEF;AAEA,SACC,4CAAC,SAAI,WAAU,0CACd;AAAA,IAAC,kBAAAC;AAAA,IAAA;AAAA,MACA,SAAQ;AAAA,MACR,WAAU;AAAA,MACV,WAAU;AAAA,MACV,SAAU;AAAA,MAEV;AAAA;AAAA,UAAC;AAAA;AAAA,YACA,WAAU;AAAA,YACV,UAAO,+DAA0B,KAAK,SAAU,EAAE;AAAA,YAClD,MAAO;AAAA;AAAA,QACR;AAAA,QACE,CAAC,CAAE,YACJ,4CAAC,SAAI,WAAU,oDACd,sDAAC,kBAAAC,wBAAA,EAAS,WAAU,8DACjB,oBACH,GACD;AAAA;AAAA;AAAA,EAEF,GACD;AAEF;",
6
+ "names": ["coreStore", "VStack", "Truncate"]
7
+ }
@@ -35,4 +35,4 @@ var mimeTypeField = {
35
35
  readOnly: true
36
36
  };
37
37
  var mime_type_default = mimeTypeField;
38
- //# sourceMappingURL=index.cjs.map
38
+ //# sourceMappingURL=index.js.map
@@ -16,4 +16,4 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
16
16
  // packages/media-fields/src/types.ts
17
17
  var types_exports = {};
18
18
  module.exports = __toCommonJS(types_exports);
19
- //# sourceMappingURL=types.cjs.map
19
+ //# sourceMappingURL=types.js.map
@@ -57,4 +57,4 @@ function getMediaTypeFromMimeType(mimeType) {
57
57
  0 && (module.exports = {
58
58
  getMediaTypeFromMimeType
59
59
  });
60
- //# sourceMappingURL=get-media-type-from-mime-type.cjs.map
60
+ //# sourceMappingURL=get-media-type-from-mime-type.js.map
@@ -39,4 +39,4 @@ function getRawContent(content) {
39
39
  0 && (module.exports = {
40
40
  getRawContent
41
41
  });
42
- //# sourceMappingURL=get-raw-content.cjs.map
42
+ //# sourceMappingURL=get-raw-content.js.map
@@ -39,4 +39,4 @@ function getRenderedContent(content) {
39
39
  0 && (module.exports = {
40
40
  getRenderedContent
41
41
  });
42
- //# sourceMappingURL=get-rendered-content.cjs.map
42
+ //# sourceMappingURL=get-rendered-content.js.map
@@ -15,7 +15,8 @@ var altTextField = {
15
15
  label: field.label,
16
16
  value: data.alt_text || "",
17
17
  onChange: (value) => onChange({ alt_text: value }),
18
- rows: 2
18
+ rows: 2,
19
+ __nextHasNoMarginBottom: true
19
20
  }
20
21
  );
21
22
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/alt_text/index.tsx"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { TextareaControl } from '@wordpress/components';\nimport type { Field } from '@wordpress/dataviews';\nimport type { Attachment, Updatable } from '@wordpress/core-data';\n\nconst altTextField: Partial< Field< Updatable< Attachment > > > = {\n\tid: 'alt_text',\n\ttype: 'text',\n\tlabel: __( 'Alt text' ),\n\tisVisible: ( item ) => item?.media_type === 'image',\n\trender: ( { item } ) => item?.alt_text || '-',\n\tEdit: ( { field, onChange, data } ) => {\n\t\treturn (\n\t\t\t<TextareaControl\n\t\t\t\tlabel={ field.label }\n\t\t\t\tvalue={ data.alt_text || '' }\n\t\t\t\tonChange={ ( value ) => onChange( { alt_text: value } ) }\n\t\t\t\trows={ 2 }\n\t\t\t/>\n\t\t);\n\t},\n\tenableSorting: false,\n\tfilterBy: false,\n};\n\nexport default altTextField;\n"],
5
- "mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,uBAAuB;AAY7B;AARH,IAAM,eAA4D;AAAA,EACjE,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,OAAO,GAAI,UAAW;AAAA,EACtB,WAAW,CAAE,SAAU,MAAM,eAAe;AAAA,EAC5C,QAAQ,CAAE,EAAE,KAAK,MAAO,MAAM,YAAY;AAAA,EAC1C,MAAM,CAAE,EAAE,OAAO,UAAU,KAAK,MAAO;AACtC,WACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAQ,MAAM;AAAA,QACd,OAAQ,KAAK,YAAY;AAAA,QACzB,UAAW,CAAE,UAAW,SAAU,EAAE,UAAU,MAAM,CAAE;AAAA,QACtD,MAAO;AAAA;AAAA,IACR;AAAA,EAEF;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AACX;AAEA,IAAO,mBAAQ;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { TextareaControl } from '@wordpress/components';\nimport type { Field } from '@wordpress/dataviews';\nimport type { Attachment, Updatable } from '@wordpress/core-data';\n\nconst altTextField: Partial< Field< Updatable< Attachment > > > = {\n\tid: 'alt_text',\n\ttype: 'text',\n\tlabel: __( 'Alt text' ),\n\tisVisible: ( item ) => item?.media_type === 'image',\n\trender: ( { item } ) => item?.alt_text || '-',\n\tEdit: ( { field, onChange, data } ) => {\n\t\treturn (\n\t\t\t<TextareaControl\n\t\t\t\tlabel={ field.label }\n\t\t\t\tvalue={ data.alt_text || '' }\n\t\t\t\tonChange={ ( value ) => onChange( { alt_text: value } ) }\n\t\t\t\trows={ 2 }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t/>\n\t\t);\n\t},\n\tenableSorting: false,\n\tfilterBy: false,\n};\n\nexport default altTextField;\n"],
5
+ "mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,uBAAuB;AAY7B;AARH,IAAM,eAA4D;AAAA,EACjE,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,OAAO,GAAI,UAAW;AAAA,EACtB,WAAW,CAAE,SAAU,MAAM,eAAe;AAAA,EAC5C,QAAQ,CAAE,EAAE,KAAK,MAAO,MAAM,YAAY;AAAA,EAC1C,MAAM,CAAE,EAAE,OAAO,UAAU,KAAK,MAAO;AACtC,WACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAQ,MAAM;AAAA,QACd,OAAQ,KAAK,YAAY;AAAA,QACzB,UAAW,CAAE,UAAW,SAAU,EAAE,UAAU,MAAM,CAAE;AAAA,QACtD,MAAO;AAAA,QACP,yBAAuB;AAAA;AAAA,IACxB;AAAA,EAEF;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AACX;AAEA,IAAO,mBAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  // packages/media-fields/src/caption/index.tsx
2
2
  import { __ } from "@wordpress/i18n";
3
3
  import { TextareaControl } from "@wordpress/components";
4
- import { getRawContent } from "../utils/get-raw-content.js";
4
+ import { getRawContent } from "../utils/get-raw-content";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  var captionField = {
7
7
  id: "caption",
@@ -16,7 +16,8 @@ var captionField = {
16
16
  label: field.label,
17
17
  value: getRawContent(data.caption) || "",
18
18
  onChange: (value) => onChange({ caption: value }),
19
- rows: 2
19
+ rows: 2,
20
+ __nextHasNoMarginBottom: true
20
21
  }
21
22
  );
22
23
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/caption/index.tsx"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { TextareaControl } from '@wordpress/components';\nimport type { Attachment, Updatable } from '@wordpress/core-data';\nimport type { Field } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport { getRawContent } from '../utils/get-raw-content';\n\nconst captionField: Partial< Field< Updatable< Attachment > > > = {\n\tid: 'caption',\n\ttype: 'text',\n\tlabel: __( 'Caption' ),\n\tgetValue: ( { item } ) => getRawContent( item?.caption ),\n\trender: ( { item } ) => getRawContent( item?.caption ) || '-',\n\tEdit: ( { field, onChange, data } ) => {\n\t\treturn (\n\t\t\t<TextareaControl\n\t\t\t\tlabel={ field.label }\n\t\t\t\tvalue={ getRawContent( data.caption ) || '' }\n\t\t\t\tonChange={ ( value ) => onChange( { caption: value } ) }\n\t\t\t\trows={ 2 }\n\t\t\t/>\n\t\t);\n\t},\n\tenableSorting: false,\n\tfilterBy: false,\n};\n\nexport default captionField;\n"],
5
- "mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,uBAAuB;AAOhC,SAAS,qBAAqB;AAU3B;AARH,IAAM,eAA4D;AAAA,EACjE,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,OAAO,GAAI,SAAU;AAAA,EACrB,UAAU,CAAE,EAAE,KAAK,MAAO,cAAe,MAAM,OAAQ;AAAA,EACvD,QAAQ,CAAE,EAAE,KAAK,MAAO,cAAe,MAAM,OAAQ,KAAK;AAAA,EAC1D,MAAM,CAAE,EAAE,OAAO,UAAU,KAAK,MAAO;AACtC,WACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAQ,MAAM;AAAA,QACd,OAAQ,cAAe,KAAK,OAAQ,KAAK;AAAA,QACzC,UAAW,CAAE,UAAW,SAAU,EAAE,SAAS,MAAM,CAAE;AAAA,QACrD,MAAO;AAAA;AAAA,IACR;AAAA,EAEF;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AACX;AAEA,IAAO,kBAAQ;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { TextareaControl } from '@wordpress/components';\nimport type { Attachment, Updatable } from '@wordpress/core-data';\nimport type { Field } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport { getRawContent } from '../utils/get-raw-content';\n\nconst captionField: Partial< Field< Updatable< Attachment > > > = {\n\tid: 'caption',\n\ttype: 'text',\n\tlabel: __( 'Caption' ),\n\tgetValue: ( { item } ) => getRawContent( item?.caption ),\n\trender: ( { item } ) => getRawContent( item?.caption ) || '-',\n\tEdit: ( { field, onChange, data } ) => {\n\t\treturn (\n\t\t\t<TextareaControl\n\t\t\t\tlabel={ field.label }\n\t\t\t\tvalue={ getRawContent( data.caption ) || '' }\n\t\t\t\tonChange={ ( value ) => onChange( { caption: value } ) }\n\t\t\t\trows={ 2 }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t/>\n\t\t);\n\t},\n\tenableSorting: false,\n\tfilterBy: false,\n};\n\nexport default captionField;\n"],
5
+ "mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,uBAAuB;AAOhC,SAAS,qBAAqB;AAU3B;AARH,IAAM,eAA4D;AAAA,EACjE,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,OAAO,GAAI,SAAU;AAAA,EACrB,UAAU,CAAE,EAAE,KAAK,MAAO,cAAe,MAAM,OAAQ;AAAA,EACvD,QAAQ,CAAE,EAAE,KAAK,MAAO,cAAe,MAAM,OAAQ,KAAK;AAAA,EAC1D,MAAM,CAAE,EAAE,OAAO,UAAU,KAAK,MAAO;AACtC,WACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAQ,MAAM;AAAA,QACd,OAAQ,cAAe,KAAK,OAAQ,KAAK;AAAA,QACzC,UAAW,CAAE,UAAW,SAAU,EAAE,SAAS,MAAM,CAAE;AAAA,QACrD,MAAO;AAAA,QACP,yBAAuB;AAAA;AAAA,IACxB;AAAA,EAEF;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AACX;AAEA,IAAO,kBAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  // packages/media-fields/src/description/index.tsx
2
2
  import { __ } from "@wordpress/i18n";
3
3
  import { TextareaControl } from "@wordpress/components";
4
- import { getRawContent } from "../utils/get-raw-content.js";
4
+ import { getRawContent } from "../utils/get-raw-content";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  var descriptionField = {
7
7
  id: "description",
@@ -16,7 +16,8 @@ var descriptionField = {
16
16
  label: field.label,
17
17
  value: getRawContent(data.description) || "",
18
18
  onChange: (value) => onChange({ description: value }),
19
- rows: 5
19
+ rows: 5,
20
+ __nextHasNoMarginBottom: true
20
21
  }
21
22
  );
22
23
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/description/index.tsx"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { TextareaControl } from '@wordpress/components';\nimport type { Attachment, Updatable } from '@wordpress/core-data';\nimport type { Field } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport { getRawContent } from '../utils/get-raw-content';\n\nconst descriptionField: Partial< Field< Updatable< Attachment > > > = {\n\tid: 'description',\n\ttype: 'text',\n\tlabel: __( 'Description' ),\n\tgetValue: ( { item } ) => getRawContent( item?.description ),\n\trender: ( { item } ) => (\n\t\t<div>{ getRawContent( item?.description ) || '-' }</div>\n\t),\n\tEdit: ( { field, onChange, data } ) => {\n\t\treturn (\n\t\t\t<TextareaControl\n\t\t\t\tlabel={ field.label }\n\t\t\t\tvalue={ getRawContent( data.description ) || '' }\n\t\t\t\tonChange={ ( value ) => onChange( { description: value } ) }\n\t\t\t\trows={ 5 }\n\t\t\t/>\n\t\t);\n\t},\n\tenableSorting: false,\n\tfilterBy: false,\n};\n\nexport default descriptionField;\n"],
5
- "mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,uBAAuB;AAOhC,SAAS,qBAAqB;AAQ5B;AANF,IAAM,mBAAgE;AAAA,EACrE,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,OAAO,GAAI,aAAc;AAAA,EACzB,UAAU,CAAE,EAAE,KAAK,MAAO,cAAe,MAAM,WAAY;AAAA,EAC3D,QAAQ,CAAE,EAAE,KAAK,MAChB,oBAAC,SAAM,wBAAe,MAAM,WAAY,KAAK,KAAK;AAAA,EAEnD,MAAM,CAAE,EAAE,OAAO,UAAU,KAAK,MAAO;AACtC,WACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAQ,MAAM;AAAA,QACd,OAAQ,cAAe,KAAK,WAAY,KAAK;AAAA,QAC7C,UAAW,CAAE,UAAW,SAAU,EAAE,aAAa,MAAM,CAAE;AAAA,QACzD,MAAO;AAAA;AAAA,IACR;AAAA,EAEF;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AACX;AAEA,IAAO,sBAAQ;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { TextareaControl } from '@wordpress/components';\nimport type { Attachment, Updatable } from '@wordpress/core-data';\nimport type { Field } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport { getRawContent } from '../utils/get-raw-content';\n\nconst descriptionField: Partial< Field< Updatable< Attachment > > > = {\n\tid: 'description',\n\ttype: 'text',\n\tlabel: __( 'Description' ),\n\tgetValue: ( { item } ) => getRawContent( item?.description ),\n\trender: ( { item } ) => (\n\t\t<div>{ getRawContent( item?.description ) || '-' }</div>\n\t),\n\tEdit: ( { field, onChange, data } ) => {\n\t\treturn (\n\t\t\t<TextareaControl\n\t\t\t\tlabel={ field.label }\n\t\t\t\tvalue={ getRawContent( data.description ) || '' }\n\t\t\t\tonChange={ ( value ) => onChange( { description: value } ) }\n\t\t\t\trows={ 5 }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t/>\n\t\t);\n\t},\n\tenableSorting: false,\n\tfilterBy: false,\n};\n\nexport default descriptionField;\n"],
5
+ "mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,uBAAuB;AAOhC,SAAS,qBAAqB;AAQ5B;AANF,IAAM,mBAAgE;AAAA,EACrE,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,OAAO,GAAI,aAAc;AAAA,EACzB,UAAU,CAAE,EAAE,KAAK,MAAO,cAAe,MAAM,WAAY;AAAA,EAC3D,QAAQ,CAAE,EAAE,KAAK,MAChB,oBAAC,SAAM,wBAAe,MAAM,WAAY,KAAK,KAAK;AAAA,EAEnD,MAAM,CAAE,EAAE,OAAO,UAAU,KAAK,MAAO;AACtC,WACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAQ,MAAM;AAAA,QACd,OAAQ,cAAe,KAAK,WAAY,KAAK;AAAA,QAC7C,UAAW,CAAE,UAAW,SAAU,EAAE,aAAa,MAAM,CAAE;AAAA,QACzD,MAAO;AAAA,QACP,yBAAuB;AAAA;AAAA,IACxB;AAAA,EAEF;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AACX;AAEA,IAAO,sBAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  // packages/media-fields/src/filename/index.ts
2
2
  import { __ } from "@wordpress/i18n";
3
3
  import { getFilename } from "@wordpress/url";
4
- import FileNameView from "./view.js";
4
+ import FileNameView from "./view";
5
5
  var filenameField = {
6
6
  id: "filename",
7
7
  type: "text",
@@ -1,12 +1,12 @@
1
1
  // packages/media-fields/src/index.ts
2
- import { default as default2 } from "./alt_text/index.js";
3
- import { default as default3 } from "./caption/index.js";
4
- import { default as default4 } from "./description/index.js";
5
- import { default as default5 } from "./filename/index.js";
6
- import { default as default6 } from "./filesize/index.js";
7
- import { default as default7 } from "./media_dimensions/index.js";
8
- import { default as default8 } from "./media_thumbnail/index.js";
9
- import { default as default9 } from "./mime_type/index.js";
2
+ import { default as default2 } from "./alt_text";
3
+ import { default as default3 } from "./caption";
4
+ import { default as default4 } from "./description";
5
+ import { default as default5 } from "./filename";
6
+ import { default as default6 } from "./filesize";
7
+ import { default as default7 } from "./media_dimensions";
8
+ import { default as default8 } from "./media_thumbnail";
9
+ import { default as default9 } from "./mime_type";
10
10
  export {
11
11
  default2 as altTextField,
12
12
  default3 as captionField,
@@ -1,6 +1,6 @@
1
1
  // packages/media-fields/src/media_thumbnail/index.tsx
2
2
  import { __ } from "@wordpress/i18n";
3
- import MediaThumbnailView from "./view.js";
3
+ import MediaThumbnailView from "./view";
4
4
  var mediaThumbnailField = {
5
5
  id: "media_thumbnail",
6
6
  type: "media",
@@ -6,40 +6,13 @@ import {
6
6
  __experimentalVStack as VStack,
7
7
  Icon
8
8
  } from "@wordpress/components";
9
- import { useState } from "@wordpress/element";
10
9
  import { getFilename } from "@wordpress/url";
11
- import { getMediaTypeFromMimeType } from "../utils/get-media-type-from-mime-type.js";
10
+ import { getMediaTypeFromMimeType } from "../utils/get-media-type-from-mime-type";
12
11
  import { jsx, jsxs } from "react/jsx-runtime";
13
- function FallbackView({
14
- item,
15
- filename
16
- }) {
17
- return /* @__PURE__ */ jsx("div", { className: "dataviews-media-field__media-thumbnail", children: /* @__PURE__ */ jsxs(
18
- VStack,
19
- {
20
- justify: "center",
21
- alignment: "center",
22
- className: "dataviews-media-field__media-thumbnail__stack",
23
- spacing: 0,
24
- children: [
25
- /* @__PURE__ */ jsx(
26
- Icon,
27
- {
28
- className: "dataviews-media-field__media-thumbnail--icon",
29
- icon: getMediaTypeFromMimeType(item.mime_type).icon,
30
- size: 24
31
- }
32
- ),
33
- !!filename && /* @__PURE__ */ jsx("div", { className: "dataviews-media-field__media-thumbnail__filename", children: /* @__PURE__ */ jsx(Truncate, { className: "dataviews-media-field__media-thumbnail__filename__truncate", children: filename }) })
34
- ]
35
- }
36
- ) });
37
- }
38
12
  function MediaThumbnailView({
39
13
  item,
40
14
  config
41
15
  }) {
42
- const [imageError, setImageError] = useState(false);
43
16
  const _featuredMedia = useSelect(
44
17
  (select) => {
45
18
  if (!item.featured_media) {
@@ -58,22 +31,43 @@ function MediaThumbnailView({
58
31
  return null;
59
32
  }
60
33
  const filename = getFilename(featuredMedia.source_url || "");
61
- if (imageError || getMediaTypeFromMimeType(featuredMedia.mime_type).type !== "image") {
62
- return /* @__PURE__ */ jsx(FallbackView, { item: featuredMedia, filename: filename || "" });
34
+ if (
35
+ // Ensure the featured media is an image.
36
+ getMediaTypeFromMimeType(featuredMedia.mime_type).type === "image"
37
+ ) {
38
+ return /* @__PURE__ */ jsx("div", { className: "dataviews-media-field__media-thumbnail", children: /* @__PURE__ */ jsx(
39
+ "img",
40
+ {
41
+ className: "dataviews-media-field__media-thumbnail--image",
42
+ src: featuredMedia.source_url,
43
+ srcSet: featuredMedia?.media_details?.sizes ? Object.values(
44
+ featuredMedia.media_details.sizes
45
+ ).map(
46
+ (size) => `${size.source_url} ${size.width}w`
47
+ ).join(", ") : void 0,
48
+ sizes: config?.sizes || "100vw",
49
+ alt: featuredMedia.alt_text || featuredMedia.title.raw
50
+ }
51
+ ) });
63
52
  }
64
- return /* @__PURE__ */ jsx("div", { className: "dataviews-media-field__media-thumbnail", children: /* @__PURE__ */ jsx(
65
- "img",
53
+ return /* @__PURE__ */ jsx("div", { className: "dataviews-media-field__media-thumbnail", children: /* @__PURE__ */ jsxs(
54
+ VStack,
66
55
  {
67
- className: "dataviews-media-field__media-thumbnail--image",
68
- src: featuredMedia.source_url,
69
- srcSet: featuredMedia?.media_details?.sizes ? Object.values(
70
- featuredMedia.media_details.sizes
71
- ).map(
72
- (size) => `${size.source_url} ${size.width}w`
73
- ).join(", ") : void 0,
74
- sizes: config?.sizes || "100vw",
75
- alt: featuredMedia.alt_text || featuredMedia.title.raw,
76
- onError: () => setImageError(true)
56
+ justify: "center",
57
+ alignment: "center",
58
+ className: "dataviews-media-field__media-thumbnail__stack",
59
+ spacing: 0,
60
+ children: [
61
+ /* @__PURE__ */ jsx(
62
+ Icon,
63
+ {
64
+ className: "dataviews-media-field__media-thumbnail--icon",
65
+ icon: getMediaTypeFromMimeType(item.mime_type).icon,
66
+ size: 24
67
+ }
68
+ ),
69
+ !!filename && /* @__PURE__ */ jsx("div", { className: "dataviews-media-field__media-thumbnail__filename", children: /* @__PURE__ */ jsx(Truncate, { className: "dataviews-media-field__media-thumbnail__filename__truncate", children: filename }) })
70
+ ]
77
71
  }
78
72
  ) });
79
73
  }