@wordpress/block-library 9.25.0 → 9.26.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 (120) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/avatar/edit.js +84 -39
  3. package/build/avatar/edit.js.map +1 -1
  4. package/build/avatar/user-control.js +32 -17
  5. package/build/avatar/user-control.js.map +1 -1
  6. package/build/embed/variations.js +0 -10
  7. package/build/embed/variations.js.map +1 -1
  8. package/build/form/edit.js +0 -1
  9. package/build/form/edit.js.map +1 -1
  10. package/build/form/index.js +3 -3
  11. package/build/form/index.js.map +1 -1
  12. package/build/form-input/index.js +2 -1
  13. package/build/form-input/index.js.map +1 -1
  14. package/build/form-submission-notification/index.js +2 -1
  15. package/build/form-submission-notification/index.js.map +1 -1
  16. package/build/form-submit-button/index.js +2 -1
  17. package/build/form-submit-button/index.js.map +1 -1
  18. package/build/image/image.js +1 -0
  19. package/build/image/image.js.map +1 -1
  20. package/build/image/view.js +0 -3
  21. package/build/image/view.js.map +1 -1
  22. package/build/navigation-link/edit.js +11 -0
  23. package/build/navigation-link/edit.js.map +1 -1
  24. package/build/post-author/edit.js +75 -18
  25. package/build/post-author/edit.js.map +1 -1
  26. package/build/post-navigation-link/edit.js +72 -33
  27. package/build/post-navigation-link/edit.js.map +1 -1
  28. package/build/site-logo/edit.js +53 -19
  29. package/build/site-logo/edit.js.map +1 -1
  30. package/build/social-link/edit.js +21 -5
  31. package/build/social-link/edit.js.map +1 -1
  32. package/build/social-link/edit.native.js +13 -5
  33. package/build/social-link/edit.native.js.map +1 -1
  34. package/build/social-link/social-list.js +17 -25
  35. package/build/social-link/social-list.js.map +1 -1
  36. package/build/social-links/edit.js +8 -5
  37. package/build/social-links/edit.js.map +1 -1
  38. package/build/video/tracks-editor.js +23 -9
  39. package/build/video/tracks-editor.js.map +1 -1
  40. package/build-module/avatar/edit.js +83 -38
  41. package/build-module/avatar/edit.js.map +1 -1
  42. package/build-module/avatar/user-control.js +33 -18
  43. package/build-module/avatar/user-control.js.map +1 -1
  44. package/build-module/embed/variations.js +0 -10
  45. package/build-module/embed/variations.js.map +1 -1
  46. package/build-module/form/edit.js +0 -1
  47. package/build-module/form/edit.js.map +1 -1
  48. package/build-module/form/index.js +3 -3
  49. package/build-module/form/index.js.map +1 -1
  50. package/build-module/form-input/index.js +2 -1
  51. package/build-module/form-input/index.js.map +1 -1
  52. package/build-module/form-submission-notification/index.js +2 -1
  53. package/build-module/form-submission-notification/index.js.map +1 -1
  54. package/build-module/form-submit-button/index.js +2 -1
  55. package/build-module/form-submit-button/index.js.map +1 -1
  56. package/build-module/image/image.js +1 -0
  57. package/build-module/image/image.js.map +1 -1
  58. package/build-module/image/view.js +0 -3
  59. package/build-module/image/view.js.map +1 -1
  60. package/build-module/navigation-link/edit.js +11 -0
  61. package/build-module/navigation-link/edit.js.map +1 -1
  62. package/build-module/post-author/edit.js +76 -19
  63. package/build-module/post-author/edit.js.map +1 -1
  64. package/build-module/post-navigation-link/edit.js +73 -34
  65. package/build-module/post-navigation-link/edit.js.map +1 -1
  66. package/build-module/site-logo/edit.js +54 -20
  67. package/build-module/site-logo/edit.js.map +1 -1
  68. package/build-module/social-link/edit.js +24 -8
  69. package/build-module/social-link/edit.js.map +1 -1
  70. package/build-module/social-link/edit.native.js +15 -6
  71. package/build-module/social-link/edit.native.js.map +1 -1
  72. package/build-module/social-link/social-list.js +16 -21
  73. package/build-module/social-link/social-list.js.map +1 -1
  74. package/build-module/social-links/edit.js +8 -5
  75. package/build-module/social-links/edit.js.map +1 -1
  76. package/build-module/video/tracks-editor.js +24 -10
  77. package/build-module/video/tracks-editor.js.map +1 -1
  78. package/build-style/calendar/style-rtl.css +7 -7
  79. package/build-style/calendar/style.css +7 -7
  80. package/build-style/comments-pagination/editor-rtl.css +0 -12
  81. package/build-style/comments-pagination/editor.css +0 -14
  82. package/build-style/comments-pagination/style-rtl.css +0 -7
  83. package/build-style/comments-pagination/style.css +0 -9
  84. package/build-style/editor-rtl.css +0 -17
  85. package/build-style/editor.css +0 -19
  86. package/build-style/navigation/style-rtl.css +4 -0
  87. package/build-style/navigation/style.css +4 -0
  88. package/build-style/style-rtl.css +11 -14
  89. package/build-style/style.css +11 -16
  90. package/package.json +35 -35
  91. package/src/avatar/edit.js +99 -51
  92. package/src/avatar/user-control.js +34 -29
  93. package/src/calendar/style.scss +10 -10
  94. package/src/comments-pagination/editor.scss +0 -15
  95. package/src/comments-pagination/style.scss +0 -8
  96. package/src/editor.scss +0 -1
  97. package/src/embed/variations.js +0 -8
  98. package/src/form/block.json +1 -2
  99. package/src/form/edit.js +0 -1
  100. package/src/form/index.js +1 -0
  101. package/src/form-input/index.js +1 -0
  102. package/src/form-submission-notification/index.js +1 -0
  103. package/src/form-submit-button/index.js +1 -0
  104. package/src/image/image.js +1 -0
  105. package/src/image/index.php +4 -1
  106. package/src/image/view.js +0 -3
  107. package/src/navigation/style.scss +8 -0
  108. package/src/navigation-link/edit.js +14 -1
  109. package/src/post-author/edit.js +91 -27
  110. package/src/post-navigation-link/edit.js +96 -51
  111. package/src/site-logo/edit.js +69 -26
  112. package/src/social-link/edit.js +18 -7
  113. package/src/social-link/edit.native.js +10 -4
  114. package/src/social-link/index.php +13 -0
  115. package/src/social-link/social-list.js +15 -20
  116. package/src/social-links/edit.js +6 -7
  117. package/src/video/tracks-editor.js +18 -6
  118. package/build-style/post-author/editor-rtl.css +0 -140
  119. package/build-style/post-author/editor.css +0 -140
  120. package/src/post-author/editor.scss +0 -7
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_keycodes","_data","_blockEditor","_element","_components","_compose","_i18n","_icons","_socialList","_hooks","_jsxRuntime","SocialLinkURLPopover","url","setAttributes","setPopover","popoverAnchor","clientId","removeBlock","useDispatch","blockEditorStore","jsx","URLPopover","anchor","__","onClose","focus","children","className","onSubmit","event","preventDefault","URLInput","value","onChange","nextURL","placeholder","label","hideLabelFromVision","disableSuggestions","onKeyDown","defaultPrevented","BACKSPACE","DELETE","includes","keyCode","suffix","__experimentalInputControlSuffixWrapper","variant","Button","icon","keyboardReturn","type","size","SocialLinkEdit","attributes","context","isSelected","service","rel","dropdownMenuProps","useToolsPanelDropdownMenuProps","showLabels","iconColor","iconColorValue","iconBackgroundColor","iconBackgroundColorValue","showURLPopover","useState","wrapperClasses","clsx","setPopoverAnchor","isContentOnlyMode","useBlockEditingMode","IconComponent","getIconBySite","socialLinkName","getNameBySite","socialLinkText","trim","ref","useRef","blockProps","useBlockProps","useMergeRefs","onClick","ENTER","jsxs","Fragment","BlockControls","group","Dropdown","popoverProps","position","renderToggle","isOpen","onToggle","ToolbarButton","renderContent","TextControl","__next40pxDefaultSize","__nextHasNoMarginBottom","help","InspectorControls","__experimentalToolsPanel","resetAll","undefined","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","role","style","color","backgroundColor","_default","exports","default"],"sources":["@wordpress/block-library/src/social-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { DELETE, BACKSPACE, ENTER } from '@wordpress/keycodes';\nimport { useDispatch } from '@wordpress/data';\n\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tURLPopover,\n\tURLInput,\n\tuseBlockEditingMode,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tButton,\n\tDropdown,\n\tTextControl,\n\tToolbarButton,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n} from '@wordpress/components';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { keyboardReturn } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { getIconBySite, getNameBySite } from './social-list';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst SocialLinkURLPopover = ( {\n\turl,\n\tsetAttributes,\n\tsetPopover,\n\tpopoverAnchor,\n\tclientId,\n} ) => {\n\tconst { removeBlock } = useDispatch( blockEditorStore );\n\treturn (\n\t\t<URLPopover\n\t\t\tanchor={ popoverAnchor }\n\t\t\taria-label={ __( 'Edit social link' ) }\n\t\t\tonClose={ () => {\n\t\t\t\tsetPopover( false );\n\t\t\t\tpopoverAnchor?.focus();\n\t\t\t} }\n\t\t>\n\t\t\t<form\n\t\t\t\tclassName=\"block-editor-url-popover__link-editor\"\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tsetPopover( false );\n\t\t\t\t\tpopoverAnchor?.focus();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<div className=\"block-editor-url-input\">\n\t\t\t\t\t<URLInput\n\t\t\t\t\t\tvalue={ url }\n\t\t\t\t\t\tonChange={ ( nextURL ) =>\n\t\t\t\t\t\t\tsetAttributes( { url: nextURL } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tplaceholder={ __( 'Enter social link' ) }\n\t\t\t\t\t\tlabel={ __( 'Enter social link' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tdisableSuggestions\n\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t!! url ||\n\t\t\t\t\t\t\t\tevent.defaultPrevented ||\n\t\t\t\t\t\t\t\t! [ BACKSPACE, DELETE ].includes(\n\t\t\t\t\t\t\t\t\tevent.keyCode\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tremoveBlock( clientId );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</form>\n\t\t</URLPopover>\n\t);\n};\n\nconst SocialLinkEdit = ( {\n\tattributes,\n\tcontext,\n\tisSelected,\n\tsetAttributes,\n\tclientId,\n} ) => {\n\tconst { url, service, label = '', rel } = attributes;\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst {\n\t\tshowLabels,\n\t\ticonColor,\n\t\ticonColorValue,\n\t\ticonBackgroundColor,\n\t\ticonBackgroundColorValue,\n\t} = context;\n\tconst [ showURLPopover, setPopover ] = useState( false );\n\tconst wrapperClasses = clsx(\n\t\t'wp-social-link',\n\t\t// Manually adding this class for backwards compatibility of CSS when moving the\n\t\t// blockProps from the li to the button: https://github.com/WordPress/gutenberg/pull/64883\n\t\t'wp-block-social-link',\n\t\t'wp-social-link-' + service,\n\t\t{\n\t\t\t'wp-social-link__is-incomplete': ! url,\n\t\t\t[ `has-${ iconColor }-color` ]: iconColor,\n\t\t\t[ `has-${ iconBackgroundColor }-background-color` ]:\n\t\t\t\ticonBackgroundColor,\n\t\t}\n\t);\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst isContentOnlyMode = useBlockEditingMode() === 'contentOnly';\n\n\tconst IconComponent = getIconBySite( service );\n\tconst socialLinkName = getNameBySite( service );\n\t// The initial label (ie. the link text) is an empty string.\n\t// We want to prevent empty links so that the link text always fallbacks to\n\t// the social name, even when users enter and save an empty string or only\n\t// spaces. The PHP render callback fallbacks to the social name as well.\n\tconst socialLinkText = label.trim() === '' ? socialLinkName : label;\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tclassName: 'wp-block-social-link-anchor',\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonClick: () => setPopover( true ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tif ( event.keyCode === ENTER ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tsetPopover( true );\n\t\t\t}\n\t\t},\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t{ isContentOnlyMode && showLabels && (\n\t\t\t\t// Add an extra control to modify the label attribute when content only mode is active.\n\t\t\t\t// With content only mode active, the inspector is hidden, so users need another way\n\t\t\t\t// to edit this attribute.\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ { position: 'bottom right' } }\n\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Text' ) }\n\t\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tclassName=\"wp-block-social-link__toolbar_content_text\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Provide a text label or use the default.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { label: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tplaceholder={ socialLinkName }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( { label: undefined } );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\thasValue={ () => !! label }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tsetAttributes( { label: undefined } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'The text is visible when enabled from the parent Social Icons block.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { label: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tplaceholder={ socialLinkName }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ ( value ) => setAttributes( { rel: value } ) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t{ /*\n\t\t\t * Because the `<ul>` element has a role=document, the `<li>` is\n\t\t\t * not semantically correct, so adding role=presentation is cleaner.\n\t\t\t * https://github.com/WordPress/gutenberg/pull/64883#issuecomment-2472874551\n\t\t\t */ }\n\t\t\t<li\n\t\t\t\trole=\"presentation\"\n\t\t\t\tclassName={ wrapperClasses }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcolor: iconColorValue,\n\t\t\t\t\tbackgroundColor: iconBackgroundColorValue,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ /*\n\t\t\t\t * Disable reason: The `button` ARIA role is redundant but\n\t\t\t\t * blockProps has a role of `document` automatically applied\n\t\t\t\t * which breaks the semantics of this button since it removes\n\t\t\t\t * the information about the popover.\n\t\t\t\t */\n\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t<button aria-haspopup=\"dialog\" { ...blockProps } role=\"button\">\n\t\t\t\t\t<IconComponent />\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ clsx( 'wp-block-social-link-label', {\n\t\t\t\t\t\t\t'screen-reader-text': ! showLabels,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ socialLinkText }\n\t\t\t\t\t</span>\n\t\t\t\t</button>\n\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t{ isSelected && showURLPopover && (\n\t\t\t\t\t<SocialLinkURLPopover\n\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tsetPopover={ setPopover }\n\t\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</li>\n\t\t</>\n\t);\n};\n\nexport default SocialLinkEdit;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_keycodes","_data","_blockEditor","_element","_components","_compose","_i18n","_icons","_blocks","_socialList","_hooks","_jsxRuntime","SocialLinkURLPopover","url","setAttributes","setPopover","popoverAnchor","clientId","removeBlock","useDispatch","blockEditorStore","jsx","URLPopover","anchor","__","onClose","focus","children","className","onSubmit","event","preventDefault","URLInput","value","onChange","nextURL","placeholder","label","hideLabelFromVision","disableSuggestions","onKeyDown","defaultPrevented","BACKSPACE","DELETE","includes","keyCode","suffix","__experimentalInputControlSuffixWrapper","variant","Button","icon","keyboardReturn","type","size","SocialLinkEdit","attributes","context","isSelected","name","service","rel","dropdownMenuProps","useToolsPanelDropdownMenuProps","showLabels","iconColor","iconColorValue","iconBackgroundColor","iconBackgroundColorValue","showURLPopover","useState","wrapperClasses","clsx","setPopoverAnchor","isContentOnlyMode","useBlockEditingMode","activeVariation","useSelect","select","getActiveBlockVariation","blocksStore","socialLinkName","getSocialService","socialLinkText","trim","ref","useRef","blockProps","useBlockProps","useMergeRefs","onClick","ENTER","jsxs","Fragment","BlockControls","group","Dropdown","popoverProps","placement","renderToggle","isOpen","onToggle","ToolbarButton","renderContent","TextControl","__next40pxDefaultSize","__nextHasNoMarginBottom","help","InspectorControls","__experimentalToolsPanel","resetAll","undefined","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","role","style","color","backgroundColor","Icon","_default","exports","default"],"sources":["@wordpress/block-library/src/social-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { DELETE, BACKSPACE, ENTER } from '@wordpress/keycodes';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tURLPopover,\n\tURLInput,\n\tuseBlockEditingMode,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tIcon,\n\tButton,\n\tDropdown,\n\tTextControl,\n\tToolbarButton,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n} from '@wordpress/components';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { keyboardReturn } from '@wordpress/icons';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { getSocialService } from './social-list';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst SocialLinkURLPopover = ( {\n\turl,\n\tsetAttributes,\n\tsetPopover,\n\tpopoverAnchor,\n\tclientId,\n} ) => {\n\tconst { removeBlock } = useDispatch( blockEditorStore );\n\treturn (\n\t\t<URLPopover\n\t\t\tanchor={ popoverAnchor }\n\t\t\taria-label={ __( 'Edit social link' ) }\n\t\t\tonClose={ () => {\n\t\t\t\tsetPopover( false );\n\t\t\t\tpopoverAnchor?.focus();\n\t\t\t} }\n\t\t>\n\t\t\t<form\n\t\t\t\tclassName=\"block-editor-url-popover__link-editor\"\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tsetPopover( false );\n\t\t\t\t\tpopoverAnchor?.focus();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<div className=\"block-editor-url-input\">\n\t\t\t\t\t<URLInput\n\t\t\t\t\t\tvalue={ url }\n\t\t\t\t\t\tonChange={ ( nextURL ) =>\n\t\t\t\t\t\t\tsetAttributes( { url: nextURL } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tplaceholder={ __( 'Enter social link' ) }\n\t\t\t\t\t\tlabel={ __( 'Enter social link' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tdisableSuggestions\n\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t!! url ||\n\t\t\t\t\t\t\t\tevent.defaultPrevented ||\n\t\t\t\t\t\t\t\t! [ BACKSPACE, DELETE ].includes(\n\t\t\t\t\t\t\t\t\tevent.keyCode\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tremoveBlock( clientId );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</form>\n\t\t</URLPopover>\n\t);\n};\n\nconst SocialLinkEdit = ( {\n\tattributes,\n\tcontext,\n\tisSelected,\n\tsetAttributes,\n\tclientId,\n\tname,\n} ) => {\n\tconst { url, service, label = '', rel } = attributes;\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst {\n\t\tshowLabels,\n\t\ticonColor,\n\t\ticonColorValue,\n\t\ticonBackgroundColor,\n\t\ticonBackgroundColorValue,\n\t} = context;\n\tconst [ showURLPopover, setPopover ] = useState( false );\n\tconst wrapperClasses = clsx(\n\t\t'wp-social-link',\n\t\t// Manually adding this class for backwards compatibility of CSS when moving the\n\t\t// blockProps from the li to the button: https://github.com/WordPress/gutenberg/pull/64883\n\t\t'wp-block-social-link',\n\t\t'wp-social-link-' + service,\n\t\t{\n\t\t\t'wp-social-link__is-incomplete': ! url,\n\t\t\t[ `has-${ iconColor }-color` ]: iconColor,\n\t\t\t[ `has-${ iconBackgroundColor }-background-color` ]:\n\t\t\t\ticonBackgroundColor,\n\t\t}\n\t);\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst isContentOnlyMode = useBlockEditingMode() === 'contentOnly';\n\n\tconst { activeVariation } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getActiveBlockVariation } = select( blocksStore );\n\t\t\treturn {\n\t\t\t\tactiveVariation: getActiveBlockVariation( name, attributes ),\n\t\t\t};\n\t\t},\n\t\t[ name, attributes ]\n\t);\n\n\tconst { icon, label: socialLinkName } = getSocialService( activeVariation );\n\t// The initial label (ie. the link text) is an empty string.\n\t// We want to prevent empty links so that the link text always fallbacks to\n\t// the social name, even when users enter and save an empty string or only\n\t// spaces. The PHP render callback fallbacks to the social name as well.\n\tconst socialLinkText = label.trim() === '' ? socialLinkName : label;\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tclassName: 'wp-block-social-link-anchor',\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonClick: () => setPopover( true ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tif ( event.keyCode === ENTER ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tsetPopover( true );\n\t\t\t}\n\t\t},\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t{ isContentOnlyMode && showLabels && (\n\t\t\t\t// Add an extra control to modify the label attribute when content only mode is active.\n\t\t\t\t// With content only mode active, the inspector is hidden, so users need another way\n\t\t\t\t// to edit this attribute.\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ { placement: 'bottom-start' } }\n\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Text' ) }\n\t\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tclassName=\"wp-block-social-link__toolbar_content_text\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Provide a text label or use the default.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { label: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tplaceholder={ socialLinkName }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( { label: undefined } );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\thasValue={ () => !! label }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tsetAttributes( { label: undefined } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'The text is visible when enabled from the parent Social Icons block.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { label: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tplaceholder={ socialLinkName }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ ( value ) => setAttributes( { rel: value } ) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t{ /*\n\t\t\t * Because the `<ul>` element has a role=document, the `<li>` is\n\t\t\t * not semantically correct, so adding role=presentation is cleaner.\n\t\t\t * https://github.com/WordPress/gutenberg/pull/64883#issuecomment-2472874551\n\t\t\t */ }\n\t\t\t<li\n\t\t\t\trole=\"presentation\"\n\t\t\t\tclassName={ wrapperClasses }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcolor: iconColorValue,\n\t\t\t\t\tbackgroundColor: iconBackgroundColorValue,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ /*\n\t\t\t\t * Disable reason: The `button` ARIA role is redundant but\n\t\t\t\t * blockProps has a role of `document` automatically applied\n\t\t\t\t * which breaks the semantics of this button since it removes\n\t\t\t\t * the information about the popover.\n\t\t\t\t */\n\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t<button aria-haspopup=\"dialog\" { ...blockProps } role=\"button\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ clsx( 'wp-block-social-link-label', {\n\t\t\t\t\t\t\t'screen-reader-text': ! showLabels,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ socialLinkText }\n\t\t\t\t\t</span>\n\t\t\t\t</button>\n\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t{ isSelected && showURLPopover && (\n\t\t\t\t\t<SocialLinkURLPopover\n\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tsetPopover={ setPopover }\n\t\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</li>\n\t\t</>\n\t);\n};\n\nexport default SocialLinkEdit;\n"],"mappings":"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","ignoreList":[]}
@@ -13,6 +13,7 @@ var _compose = require("@wordpress/compose");
13
13
  var _i18n = require("@wordpress/i18n");
14
14
  var _icons = require("@wordpress/icons");
15
15
  var _data = require("@wordpress/data");
16
+ var _blocks = require("@wordpress/blocks");
16
17
  var _socialList = require("./social-list");
17
18
  var _editor = _interopRequireDefault(require("./editor.scss"));
18
19
  var _jsxRuntime = require("react/jsx-runtime");
@@ -53,7 +54,8 @@ const SocialLinkEdit = ({
53
54
  setAttributes,
54
55
  isSelected,
55
56
  onFocus,
56
- name
57
+ name,
58
+ activeVariation
57
59
  }) => {
58
60
  const {
59
61
  url,
@@ -63,8 +65,10 @@ const SocialLinkEdit = ({
63
65
  const [hasUrl, setHasUrl] = (0, _element.useState)(!!url);
64
66
  const activeIcon = _editor.default[`wp-social-link-${service}`] || _editor.default[`wp-social-link`] || DEFAULT_ACTIVE_ICON_STYLES;
65
67
  const animatedValue = (0, _element.useRef)(new _reactNative.Animated.Value(0)).current;
66
- const IconComponent = (0, _socialList.getIconBySite)(service)();
67
- const socialLinkName = (0, _socialList.getNameBySite)(service);
68
+ const {
69
+ icon,
70
+ label: socialLinkName
71
+ } = (0, _socialList.getSocialService)(activeVariation);
68
72
 
69
73
  // When new social icon is added link sheet is opened automatically.
70
74
  (0, _element.useEffect)(() => {
@@ -158,7 +162,7 @@ const SocialLinkEdit = ({
158
162
  }],
159
163
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.Icon, {
160
164
  animated: true,
161
- icon: IconComponent,
165
+ icon: icon(),
162
166
  style: {
163
167
  color: activeIcon.color
164
168
  }
@@ -173,10 +177,14 @@ var _default = exports.default = (0, _compose.compose)([(0, _data.withSelect)((s
173
177
  const {
174
178
  getBlock
175
179
  } = select(_blockEditor.store);
180
+ const {
181
+ getActiveBlockVariation
182
+ } = select(_blocks.store);
176
183
  const block = getBlock(clientId);
177
184
  const name = block?.name.substring(17);
178
185
  return {
179
- name
186
+ name,
187
+ activeVariation: block ? getActiveBlockVariation(block.name, block.attributes) : undefined
180
188
  };
181
189
  })])(SocialLinkEdit);
182
190
  //# sourceMappingURL=edit.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_blockEditor","_element","_components","_compose","_i18n","_icons","_data","_socialList","_editor","_interopRequireDefault","_jsxRuntime","DEFAULT_ACTIVE_ICON_STYLES","backgroundColor","color","ANIMATION_DELAY","ANIMATION_DURATION","linkSettingsOptions","url","label","__","placeholder","autoFocus","linkLabel","footer","SocialLinkEdit","attributes","setAttributes","isSelected","onFocus","name","service","isLinkSheetVisible","setIsLinkSheetVisible","useState","hasUrl","setHasUrl","activeIcon","styles","animatedValue","useRef","Animated","Value","current","IconComponent","getIconBySite","socialLinkName","getNameBySite","useEffect","setValue","animateColors","interpolationColors","opacity","interpolate","inputRange","outputRange","sequence","delay","timing","toValue","duration","easing","Easing","circle","useNativeDriver","start","onCloseSettingsSheet","useCallback","onOpenSettingsSheet","onEmptyURL","onIconPress","accessibilityHint","sprintf","jsxs","View","style","container","children","Fragment","jsx","BlockControls","ToolbarGroup","ToolbarButton","title","icon","link","onClick","isActive","LinkSettingsNavigation","isVisible","rel","onClose","options","withBottomSheet","TouchableWithoutFeedback","onPress","accessibilityRole","accessibilityLabel","iconContainer","Icon","animated","_default","exports","default","compose","withSelect","select","clientId","getBlock","blockEditorStore","block","substring"],"sources":["@wordpress/block-library/src/social-link/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Animated, Easing, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect, useState, useRef, useCallback } from '@wordpress/element';\nimport {\n\tToolbarGroup,\n\tToolbarButton,\n\tLinkSettingsNavigation,\n} from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { link, Icon } from '@wordpress/icons';\nimport { withSelect } from '@wordpress/data';\n/**\n * Internal dependencies\n */\nimport { getIconBySite, getNameBySite } from './social-list';\nimport styles from './editor.scss';\n\nconst DEFAULT_ACTIVE_ICON_STYLES = {\n\tbackgroundColor: '#f0f0f0',\n\tcolor: '#444',\n};\nconst ANIMATION_DELAY = 300;\nconst ANIMATION_DURATION = 400;\n\nconst linkSettingsOptions = {\n\turl: {\n\t\tlabel: __( 'URL' ),\n\t\tplaceholder: __( 'Add URL' ),\n\t\tautoFocus: true,\n\t},\n\tlinkLabel: {\n\t\tlabel: __( 'Link label' ),\n\t\tplaceholder: __( 'None' ),\n\t},\n\tfooter: {\n\t\tlabel: __( 'Briefly describe the link to help screen reader user' ),\n\t},\n};\n\nconst SocialLinkEdit = ( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tonFocus,\n\tname,\n} ) => {\n\tconst { url, service = name } = attributes;\n\tconst [ isLinkSheetVisible, setIsLinkSheetVisible ] = useState( false );\n\tconst [ hasUrl, setHasUrl ] = useState( !! url );\n\tconst activeIcon =\n\t\tstyles[ `wp-social-link-${ service }` ] ||\n\t\tstyles[ `wp-social-link` ] ||\n\t\tDEFAULT_ACTIVE_ICON_STYLES;\n\tconst animatedValue = useRef( new Animated.Value( 0 ) ).current;\n\n\tconst IconComponent = getIconBySite( service )();\n\tconst socialLinkName = getNameBySite( service );\n\n\t// When new social icon is added link sheet is opened automatically.\n\tuseEffect( () => {\n\t\tif ( isSelected && ! url ) {\n\t\t\tsetIsLinkSheetVisible( true );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! url ) {\n\t\t\tsetHasUrl( false );\n\t\t\tanimatedValue.setValue( 0 );\n\t\t} else if ( url ) {\n\t\t\tanimateColors();\n\t\t}\n\t}, [ url ] );\n\n\tconst interpolationColors = {\n\t\topacity: animatedValue.interpolate( {\n\t\t\tinputRange: [ 0, 1 ],\n\t\t\toutputRange: [ 0.3, 1 ],\n\t\t} ),\n\t};\n\n\tconst { opacity } = hasUrl ? activeIcon : interpolationColors;\n\n\tfunction animateColors() {\n\t\tAnimated.sequence( [\n\t\t\tAnimated.delay( ANIMATION_DELAY ),\n\t\t\tAnimated.timing( animatedValue, {\n\t\t\t\ttoValue: 1,\n\t\t\t\tduration: ANIMATION_DURATION,\n\t\t\t\teasing: Easing.circle,\n\t\t\t\tuseNativeDriver: false,\n\t\t\t} ),\n\t\t] ).start( () => setHasUrl( true ) );\n\t}\n\n\tconst onCloseSettingsSheet = useCallback( () => {\n\t\tsetIsLinkSheetVisible( false );\n\t}, [] );\n\n\tconst onOpenSettingsSheet = useCallback( () => {\n\t\tsetIsLinkSheetVisible( true );\n\t}, [] );\n\n\tconst onEmptyURL = useCallback( () => {\n\t\tanimatedValue.setValue( 0 );\n\t\tsetHasUrl( false );\n\t}, [ animatedValue ] );\n\n\tfunction onIconPress() {\n\t\tif ( isSelected ) {\n\t\t\tsetIsLinkSheetVisible( true );\n\t\t} else {\n\t\t\tonFocus();\n\t\t}\n\t}\n\n\tconst accessibilityHint = url\n\t\t? sprintf(\n\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t__( '%s has URL set' ),\n\t\t\t\tsocialLinkName\n\t\t )\n\t\t: sprintf(\n\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t__( '%s has no URL set' ),\n\t\t\t\tsocialLinkName\n\t\t );\n\n\treturn (\n\t\t<View style={ styles.container }>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t\t\t\t\t\t__( 'Add link to %s' ),\n\t\t\t\t\t\t\t\t\tsocialLinkName\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\t\tonClick={ onOpenSettingsSheet }\n\t\t\t\t\t\t\t\tisActive={ url }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<LinkSettingsNavigation\n\t\t\t\t\t\tisVisible={ isLinkSheetVisible }\n\t\t\t\t\t\turl={ attributes.url }\n\t\t\t\t\t\tlabel={ attributes.label }\n\t\t\t\t\t\trel={ attributes.rel }\n\t\t\t\t\t\tonEmptyURL={ onEmptyURL }\n\t\t\t\t\t\tonClose={ onCloseSettingsSheet }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\toptions={ linkSettingsOptions }\n\t\t\t\t\t\twithBottomSheet\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tonPress={ onIconPress }\n\t\t\t\taccessibilityRole=\"button\"\n\t\t\t\taccessibilityLabel={ sprintf(\n\t\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t\t__( '%s social icon' ),\n\t\t\t\t\tsocialLinkName\n\t\t\t\t) }\n\t\t\t\taccessibilityHint={ accessibilityHint }\n\t\t\t>\n\t\t\t\t<Animated.View\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\tstyles.iconContainer,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tbackgroundColor: activeIcon.backgroundColor,\n\t\t\t\t\t\t\topacity,\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tanimated\n\t\t\t\t\t\ticon={ IconComponent }\n\t\t\t\t\t\tstyle={ { color: activeIcon.color } }\n\t\t\t\t\t/>\n\t\t\t\t</Animated.View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</View>\n\t);\n};\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getBlock } = select( blockEditorStore );\n\n\t\tconst block = getBlock( clientId );\n\t\tconst name = block?.name.substring( 17 );\n\n\t\treturn {\n\t\t\tname,\n\t\t};\n\t} ),\n] )( SocialLinkEdit );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_blockEditor","_element","_components","_compose","_i18n","_icons","_data","_blocks","_socialList","_editor","_interopRequireDefault","_jsxRuntime","DEFAULT_ACTIVE_ICON_STYLES","backgroundColor","color","ANIMATION_DELAY","ANIMATION_DURATION","linkSettingsOptions","url","label","__","placeholder","autoFocus","linkLabel","footer","SocialLinkEdit","attributes","setAttributes","isSelected","onFocus","name","activeVariation","service","isLinkSheetVisible","setIsLinkSheetVisible","useState","hasUrl","setHasUrl","activeIcon","styles","animatedValue","useRef","Animated","Value","current","icon","socialLinkName","getSocialService","useEffect","setValue","animateColors","interpolationColors","opacity","interpolate","inputRange","outputRange","sequence","delay","timing","toValue","duration","easing","Easing","circle","useNativeDriver","start","onCloseSettingsSheet","useCallback","onOpenSettingsSheet","onEmptyURL","onIconPress","accessibilityHint","sprintf","jsxs","View","style","container","children","Fragment","jsx","BlockControls","ToolbarGroup","ToolbarButton","title","link","onClick","isActive","LinkSettingsNavigation","isVisible","rel","onClose","options","withBottomSheet","TouchableWithoutFeedback","onPress","accessibilityRole","accessibilityLabel","iconContainer","Icon","animated","_default","exports","default","compose","withSelect","select","clientId","getBlock","blockEditorStore","getActiveBlockVariation","blocksStore","block","substring","undefined"],"sources":["@wordpress/block-library/src/social-link/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Animated, Easing, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect, useState, useRef, useCallback } from '@wordpress/element';\nimport {\n\tToolbarGroup,\n\tToolbarButton,\n\tLinkSettingsNavigation,\n} from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { link, Icon } from '@wordpress/icons';\nimport { withSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { getSocialService } from './social-list';\nimport styles from './editor.scss';\n\nconst DEFAULT_ACTIVE_ICON_STYLES = {\n\tbackgroundColor: '#f0f0f0',\n\tcolor: '#444',\n};\nconst ANIMATION_DELAY = 300;\nconst ANIMATION_DURATION = 400;\n\nconst linkSettingsOptions = {\n\turl: {\n\t\tlabel: __( 'URL' ),\n\t\tplaceholder: __( 'Add URL' ),\n\t\tautoFocus: true,\n\t},\n\tlinkLabel: {\n\t\tlabel: __( 'Link label' ),\n\t\tplaceholder: __( 'None' ),\n\t},\n\tfooter: {\n\t\tlabel: __( 'Briefly describe the link to help screen reader user' ),\n\t},\n};\n\nconst SocialLinkEdit = ( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tonFocus,\n\tname,\n\tactiveVariation,\n} ) => {\n\tconst { url, service = name } = attributes;\n\tconst [ isLinkSheetVisible, setIsLinkSheetVisible ] = useState( false );\n\tconst [ hasUrl, setHasUrl ] = useState( !! url );\n\tconst activeIcon =\n\t\tstyles[ `wp-social-link-${ service }` ] ||\n\t\tstyles[ `wp-social-link` ] ||\n\t\tDEFAULT_ACTIVE_ICON_STYLES;\n\tconst animatedValue = useRef( new Animated.Value( 0 ) ).current;\n\n\tconst { icon, label: socialLinkName } = getSocialService( activeVariation );\n\n\t// When new social icon is added link sheet is opened automatically.\n\tuseEffect( () => {\n\t\tif ( isSelected && ! url ) {\n\t\t\tsetIsLinkSheetVisible( true );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! url ) {\n\t\t\tsetHasUrl( false );\n\t\t\tanimatedValue.setValue( 0 );\n\t\t} else if ( url ) {\n\t\t\tanimateColors();\n\t\t}\n\t}, [ url ] );\n\n\tconst interpolationColors = {\n\t\topacity: animatedValue.interpolate( {\n\t\t\tinputRange: [ 0, 1 ],\n\t\t\toutputRange: [ 0.3, 1 ],\n\t\t} ),\n\t};\n\n\tconst { opacity } = hasUrl ? activeIcon : interpolationColors;\n\n\tfunction animateColors() {\n\t\tAnimated.sequence( [\n\t\t\tAnimated.delay( ANIMATION_DELAY ),\n\t\t\tAnimated.timing( animatedValue, {\n\t\t\t\ttoValue: 1,\n\t\t\t\tduration: ANIMATION_DURATION,\n\t\t\t\teasing: Easing.circle,\n\t\t\t\tuseNativeDriver: false,\n\t\t\t} ),\n\t\t] ).start( () => setHasUrl( true ) );\n\t}\n\n\tconst onCloseSettingsSheet = useCallback( () => {\n\t\tsetIsLinkSheetVisible( false );\n\t}, [] );\n\n\tconst onOpenSettingsSheet = useCallback( () => {\n\t\tsetIsLinkSheetVisible( true );\n\t}, [] );\n\n\tconst onEmptyURL = useCallback( () => {\n\t\tanimatedValue.setValue( 0 );\n\t\tsetHasUrl( false );\n\t}, [ animatedValue ] );\n\n\tfunction onIconPress() {\n\t\tif ( isSelected ) {\n\t\t\tsetIsLinkSheetVisible( true );\n\t\t} else {\n\t\t\tonFocus();\n\t\t}\n\t}\n\n\tconst accessibilityHint = url\n\t\t? sprintf(\n\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t__( '%s has URL set' ),\n\t\t\t\tsocialLinkName\n\t\t )\n\t\t: sprintf(\n\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t__( '%s has no URL set' ),\n\t\t\t\tsocialLinkName\n\t\t );\n\n\treturn (\n\t\t<View style={ styles.container }>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t\t\t\t\t\t__( 'Add link to %s' ),\n\t\t\t\t\t\t\t\t\tsocialLinkName\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\t\tonClick={ onOpenSettingsSheet }\n\t\t\t\t\t\t\t\tisActive={ url }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<LinkSettingsNavigation\n\t\t\t\t\t\tisVisible={ isLinkSheetVisible }\n\t\t\t\t\t\turl={ attributes.url }\n\t\t\t\t\t\tlabel={ attributes.label }\n\t\t\t\t\t\trel={ attributes.rel }\n\t\t\t\t\t\tonEmptyURL={ onEmptyURL }\n\t\t\t\t\t\tonClose={ onCloseSettingsSheet }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\toptions={ linkSettingsOptions }\n\t\t\t\t\t\twithBottomSheet\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tonPress={ onIconPress }\n\t\t\t\taccessibilityRole=\"button\"\n\t\t\t\taccessibilityLabel={ sprintf(\n\t\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t\t__( '%s social icon' ),\n\t\t\t\t\tsocialLinkName\n\t\t\t\t) }\n\t\t\t\taccessibilityHint={ accessibilityHint }\n\t\t\t>\n\t\t\t\t<Animated.View\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\tstyles.iconContainer,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tbackgroundColor: activeIcon.backgroundColor,\n\t\t\t\t\t\t\topacity,\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tanimated\n\t\t\t\t\t\ticon={ icon() }\n\t\t\t\t\t\tstyle={ { color: activeIcon.color } }\n\t\t\t\t\t/>\n\t\t\t\t</Animated.View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</View>\n\t);\n};\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getBlock } = select( blockEditorStore );\n\t\tconst { getActiveBlockVariation } = select( blocksStore );\n\n\t\tconst block = getBlock( clientId );\n\t\tconst name = block?.name.substring( 17 );\n\n\t\treturn {\n\t\t\tname,\n\t\t\tactiveVariation: block\n\t\t\t\t? getActiveBlockVariation( block.name, block.attributes )\n\t\t\t\t: undefined,\n\t\t};\n\t} ),\n] )( SocialLinkEdit );\n"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAD,OAAA;AAIA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAKA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AAKA,IAAAS,WAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAC,sBAAA,CAAAX,OAAA;AAAmC,IAAAY,WAAA,GAAAZ,OAAA;AA5BnC;AACA;AACA;;AAGA;AACA;AACA;;AAiBA;AACA;AACA;;AAIA,MAAMa,0BAA0B,GAAG;EAClCC,eAAe,EAAE,SAAS;EAC1BC,KAAK,EAAE;AACR,CAAC;AACD,MAAMC,eAAe,GAAG,GAAG;AAC3B,MAAMC,kBAAkB,GAAG,GAAG;AAE9B,MAAMC,mBAAmB,GAAG;EAC3BC,GAAG,EAAE;IACJC,KAAK,EAAE,IAAAC,QAAE,EAAE,KAAM,CAAC;IAClBC,WAAW,EAAE,IAAAD,QAAE,EAAE,SAAU,CAAC;IAC5BE,SAAS,EAAE;EACZ,CAAC;EACDC,SAAS,EAAE;IACVJ,KAAK,EAAE,IAAAC,QAAE,EAAE,YAAa,CAAC;IACzBC,WAAW,EAAE,IAAAD,QAAE,EAAE,MAAO;EACzB,CAAC;EACDI,MAAM,EAAE;IACPL,KAAK,EAAE,IAAAC,QAAE,EAAE,sDAAuD;EACnE;AACD,CAAC;AAED,MAAMK,cAAc,GAAGA,CAAE;EACxBC,UAAU;EACVC,aAAa;EACbC,UAAU;EACVC,OAAO;EACPC,IAAI;EACJC;AACD,CAAC,KAAM;EACN,MAAM;IAAEb,GAAG;IAAEc,OAAO,GAAGF;EAAK,CAAC,GAAGJ,UAAU;EAC1C,MAAM,CAAEO,kBAAkB,EAAEC,qBAAqB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EACvE,MAAM,CAAEC,MAAM,EAAEC,SAAS,CAAE,GAAG,IAAAF,iBAAQ,EAAE,CAAC,CAAEjB,GAAI,CAAC;EAChD,MAAMoB,UAAU,GACfC,eAAM,CAAE,kBAAmBP,OAAO,EAAG,CAAE,IACvCO,eAAM,CAAE,gBAAgB,CAAE,IAC1B3B,0BAA0B;EAC3B,MAAM4B,aAAa,GAAG,IAAAC,eAAM,EAAE,IAAIC,qBAAQ,CAACC,KAAK,CAAE,CAAE,CAAE,CAAC,CAACC,OAAO;EAE/D,MAAM;IAAEC,IAAI;IAAE1B,KAAK,EAAE2B;EAAe,CAAC,GAAG,IAAAC,4BAAgB,EAAEhB,eAAgB,CAAC;;EAE3E;EACA,IAAAiB,kBAAS,EAAE,MAAM;IAChB,IAAKpB,UAAU,IAAI,CAAEV,GAAG,EAAG;MAC1BgB,qBAAqB,CAAE,IAAK,CAAC;IAC9B;EACD,CAAC,EAAE,EAAG,CAAC;EAEP,IAAAc,kBAAS,EAAE,MAAM;IAChB,IAAK,CAAE9B,GAAG,EAAG;MACZmB,SAAS,CAAE,KAAM,CAAC;MAClBG,aAAa,CAACS,QAAQ,CAAE,CAAE,CAAC;IAC5B,CAAC,MAAM,IAAK/B,GAAG,EAAG;MACjBgC,aAAa,CAAC,CAAC;IAChB;EACD,CAAC,EAAE,CAAEhC,GAAG,CAAG,CAAC;EAEZ,MAAMiC,mBAAmB,GAAG;IAC3BC,OAAO,EAAEZ,aAAa,CAACa,WAAW,CAAE;MACnCC,UAAU,EAAE,CAAE,CAAC,EAAE,CAAC,CAAE;MACpBC,WAAW,EAAE,CAAE,GAAG,EAAE,CAAC;IACtB,CAAE;EACH,CAAC;EAED,MAAM;IAAEH;EAAQ,CAAC,GAAGhB,MAAM,GAAGE,UAAU,GAAGa,mBAAmB;EAE7D,SAASD,aAAaA,CAAA,EAAG;IACxBR,qBAAQ,CAACc,QAAQ,CAAE,CAClBd,qBAAQ,CAACe,KAAK,CAAE1C,eAAgB,CAAC,EACjC2B,qBAAQ,CAACgB,MAAM,CAAElB,aAAa,EAAE;MAC/BmB,OAAO,EAAE,CAAC;MACVC,QAAQ,EAAE5C,kBAAkB;MAC5B6C,MAAM,EAAEC,mBAAM,CAACC,MAAM;MACrBC,eAAe,EAAE;IAClB,CAAE,CAAC,CACF,CAAC,CAACC,KAAK,CAAE,MAAM5B,SAAS,CAAE,IAAK,CAAE,CAAC;EACrC;EAEA,MAAM6B,oBAAoB,GAAG,IAAAC,oBAAW,EAAE,MAAM;IAC/CjC,qBAAqB,CAAE,KAAM,CAAC;EAC/B,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMkC,mBAAmB,GAAG,IAAAD,oBAAW,EAAE,MAAM;IAC9CjC,qBAAqB,CAAE,IAAK,CAAC;EAC9B,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMmC,UAAU,GAAG,IAAAF,oBAAW,EAAE,MAAM;IACrC3B,aAAa,CAACS,QAAQ,CAAE,CAAE,CAAC;IAC3BZ,SAAS,CAAE,KAAM,CAAC;EACnB,CAAC,EAAE,CAAEG,aAAa,CAAG,CAAC;EAEtB,SAAS8B,WAAWA,CAAA,EAAG;IACtB,IAAK1C,UAAU,EAAG;MACjBM,qBAAqB,CAAE,IAAK,CAAC;IAC9B,CAAC,MAAM;MACNL,OAAO,CAAC,CAAC;IACV;EACD;EAEA,MAAM0C,iBAAiB,GAAGrD,GAAG,GAC1B,IAAAsD,aAAO;EACP;EACA,IAAApD,QAAE,EAAE,gBAAiB,CAAC,EACtB0B,cACA,CAAC,GACD,IAAA0B,aAAO;EACP;EACA,IAAApD,QAAE,EAAE,mBAAoB,CAAC,EACzB0B,cACA,CAAC;EAEJ,oBACC,IAAAnC,WAAA,CAAA8D,IAAA,EAAC3E,YAAA,CAAA4E,IAAI;IAACC,KAAK,EAAGpC,eAAM,CAACqC,SAAW;IAAAC,QAAA,GAC7BjD,UAAU,iBACX,IAAAjB,WAAA,CAAA8D,IAAA,EAAA9D,WAAA,CAAAmE,QAAA;MAAAD,QAAA,gBACC,IAAAlE,WAAA,CAAAoE,GAAA,EAAC/E,YAAA,CAAAgF,aAAa;QAAAH,QAAA,eACb,IAAAlE,WAAA,CAAAoE,GAAA,EAAC7E,WAAA,CAAA+E,YAAY;UAAAJ,QAAA,eACZ,IAAAlE,WAAA,CAAAoE,GAAA,EAAC7E,WAAA,CAAAgF,aAAa;YACbC,KAAK,EAAG,IAAAX,aAAO;YACd;YACA,IAAApD,QAAE,EAAE,gBAAiB,CAAC,EACtB0B,cACD,CAAG;YACHD,IAAI,EAAGuC,WAAM;YACbC,OAAO,EAAGjB,mBAAqB;YAC/BkB,QAAQ,EAAGpE;UAAK,CAChB;QAAC,CACW;MAAC,CACD,CAAC,eAChB,IAAAP,WAAA,CAAAoE,GAAA,EAAC7E,WAAA,CAAAqF,sBAAsB;QACtBC,SAAS,EAAGvD,kBAAoB;QAChCf,GAAG,EAAGQ,UAAU,CAACR,GAAK;QACtBC,KAAK,EAAGO,UAAU,CAACP,KAAO;QAC1BsE,GAAG,EAAG/D,UAAU,CAAC+D,GAAK;QACtBpB,UAAU,EAAGA,UAAY;QACzBqB,OAAO,EAAGxB,oBAAsB;QAChCvC,aAAa,EAAGA,aAAe;QAC/BgE,OAAO,EAAG1E,mBAAqB;QAC/B2E,eAAe;MAAA,CACf,CAAC;IAAA,CACD,CACF,eAED,IAAAjF,WAAA,CAAAoE,GAAA,EAACjF,YAAA,CAAA+F,wBAAwB;MACxBC,OAAO,EAAGxB,WAAa;MACvByB,iBAAiB,EAAC,QAAQ;MAC1BC,kBAAkB,EAAG,IAAAxB,aAAO;MAC3B;MACA,IAAApD,QAAE,EAAE,gBAAiB,CAAC,EACtB0B,cACD,CAAG;MACHyB,iBAAiB,EAAGA,iBAAmB;MAAAM,QAAA,eAEvC,IAAAlE,WAAA,CAAAoE,GAAA,EAACjF,YAAA,CAAA4C,QAAQ,CAACgC,IAAI;QACbC,KAAK,EAAG,CACPpC,eAAM,CAAC0D,aAAa,EACpB;UACCpF,eAAe,EAAEyB,UAAU,CAACzB,eAAe;UAC3CuC;QACD,CAAC,CACC;QAAAyB,QAAA,eAEH,IAAAlE,WAAA,CAAAoE,GAAA,EAAC1E,MAAA,CAAA6F,IAAI;UACJC,QAAQ;UACRtD,IAAI,EAAGA,IAAI,CAAC,CAAG;UACf8B,KAAK,EAAG;YAAE7D,KAAK,EAAEwB,UAAU,CAACxB;UAAM;QAAG,CACrC;MAAC,CACY;IAAC,CACS,CAAC;EAAA,CACtB,CAAC;AAET,CAAC;AAAC,IAAAsF,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa,IAAAC,gBAAO,EAAE,CACvB,IAAAC,gBAAU,EAAE,CAAEC,MAAM,EAAE;EAAEC;AAAS,CAAC,KAAM;EACvC,MAAM;IAAEC;EAAS,CAAC,GAAGF,MAAM,CAAEG,kBAAiB,CAAC;EAC/C,MAAM;IAAEC;EAAwB,CAAC,GAAGJ,MAAM,CAAEK,aAAY,CAAC;EAEzD,MAAMC,KAAK,GAAGJ,QAAQ,CAAED,QAAS,CAAC;EAClC,MAAM5E,IAAI,GAAGiF,KAAK,EAAEjF,IAAI,CAACkF,SAAS,CAAE,EAAG,CAAC;EAExC,OAAO;IACNlF,IAAI;IACJC,eAAe,EAAEgF,KAAK,GACnBF,uBAAuB,CAAEE,KAAK,CAACjF,IAAI,EAAEiF,KAAK,CAACrF,UAAW,CAAC,GACvDuF;EACJ,CAAC;AACF,CAAE,CAAC,CACF,CAAC,CAAExF,cAAe,CAAC","ignoreList":[]}
@@ -1,12 +1,10 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports.getNameBySite = exports.getIconBySite = void 0;
6
+ exports.getSocialService = getSocialService;
8
7
  var _i18n = require("@wordpress/i18n");
9
- var _variations = _interopRequireDefault(require("./variations"));
10
8
  var _icons = require("./icons");
11
9
  /**
12
10
  * WordPress dependencies
@@ -17,28 +15,22 @@ var _icons = require("./icons");
17
15
  */
18
16
 
19
17
  /**
20
- * Retrieves the social service's icon component.
18
+ * Retrieves the social service's icon component and label.
21
19
  *
22
- * @param {string} name key for a social service (lowercase slug)
23
- *
24
- * @return {Component} Icon component for social service.
25
- */
26
- const getIconBySite = name => {
27
- const variation = _variations.default.find(v => v.name === name);
28
- return variation ? variation.icon : _icons.ChainIcon;
29
- };
30
-
31
- /**
32
- * Retrieves the display name for the social service.
33
- *
34
- * @param {string} name key for a social service (lowercase slug)
35
- *
36
- * @return {string} Display name for social service
20
+ * @param {Object} variation The object of the social service variation.
21
+ * @return {Object} An object containing the Icon component for social service and label.
37
22
  */
38
- exports.getIconBySite = getIconBySite;
39
- const getNameBySite = name => {
40
- const variation = _variations.default.find(v => v.name === name);
41
- return variation ? variation.title : (0, _i18n.__)('Social Icon');
42
- };
43
- exports.getNameBySite = getNameBySite;
23
+ function getSocialService(variation) {
24
+ var _variation$icon, _variation$title;
25
+ if (!variation?.name) {
26
+ return {
27
+ icon: _icons.ChainIcon,
28
+ label: (0, _i18n.__)('Social Icon')
29
+ };
30
+ }
31
+ return {
32
+ icon: (_variation$icon = variation?.icon) !== null && _variation$icon !== void 0 ? _variation$icon : _icons.ChainIcon,
33
+ label: (_variation$title = variation?.title) !== null && _variation$title !== void 0 ? _variation$title : (0, _i18n.__)('Social Icon')
34
+ };
35
+ }
44
36
  //# sourceMappingURL=social-list.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_variations","_interopRequireDefault","_icons","getIconBySite","name","variation","variations","find","v","icon","ChainIcon","exports","getNameBySite","title","__"],"sources":["@wordpress/block-library/src/social-link/social-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport variations from './variations';\nimport { ChainIcon } from './icons';\n\n/**\n * Retrieves the social service's icon component.\n *\n * @param {string} name key for a social service (lowercase slug)\n *\n * @return {Component} Icon component for social service.\n */\nexport const getIconBySite = ( name ) => {\n\tconst variation = variations.find( ( v ) => v.name === name );\n\treturn variation ? variation.icon : ChainIcon;\n};\n\n/**\n * Retrieves the display name for the social service.\n *\n * @param {string} name key for a social service (lowercase slug)\n *\n * @return {string} Display name for social service\n */\nexport const getNameBySite = ( name ) => {\n\tconst variation = variations.find( ( v ) => v.name === name );\n\treturn variation ? variation.title : __( 'Social Icon' );\n};\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AATA;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMI,aAAa,GAAKC,IAAI,IAAM;EACxC,MAAMC,SAAS,GAAGC,mBAAU,CAACC,IAAI,CAAIC,CAAC,IAAMA,CAAC,CAACJ,IAAI,KAAKA,IAAK,CAAC;EAC7D,OAAOC,SAAS,GAAGA,SAAS,CAACI,IAAI,GAAGC,gBAAS;AAC9C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AANAC,OAAA,CAAAR,aAAA,GAAAA,aAAA;AAOO,MAAMS,aAAa,GAAKR,IAAI,IAAM;EACxC,MAAMC,SAAS,GAAGC,mBAAU,CAACC,IAAI,CAAIC,CAAC,IAAMA,CAAC,CAACJ,IAAI,KAAKA,IAAK,CAAC;EAC7D,OAAOC,SAAS,GAAGA,SAAS,CAACQ,KAAK,GAAG,IAAAC,QAAE,EAAE,aAAc,CAAC;AACzD,CAAC;AAACH,OAAA,CAAAC,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_icons","getSocialService","variation","_variation$icon","_variation$title","name","icon","ChainIcon","label","__","title"],"sources":["@wordpress/block-library/src/social-link/social-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { ChainIcon } from './icons';\n\n/**\n * Retrieves the social service's icon component and label.\n *\n * @param {Object} variation The object of the social service variation.\n * @return {Object} An object containing the Icon component for social service and label.\n */\nexport function getSocialService( variation ) {\n\tif ( ! variation?.name ) {\n\t\treturn {\n\t\t\ticon: ChainIcon,\n\t\t\tlabel: __( 'Social Icon' ),\n\t\t};\n\t}\n\n\treturn {\n\t\ticon: variation?.icon ?? ChainIcon,\n\t\tlabel: variation?.title ?? __( 'Social Icon' ),\n\t};\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,gBAAgBA,CAAEC,SAAS,EAAG;EAAA,IAAAC,eAAA,EAAAC,gBAAA;EAC7C,IAAK,CAAEF,SAAS,EAAEG,IAAI,EAAG;IACxB,OAAO;MACNC,IAAI,EAAEC,gBAAS;MACfC,KAAK,EAAE,IAAAC,QAAE,EAAE,aAAc;IAC1B,CAAC;EACF;EAEA,OAAO;IACNH,IAAI,GAAAH,eAAA,GAAED,SAAS,EAAEI,IAAI,cAAAH,eAAA,cAAAA,eAAA,GAAII,gBAAS;IAClCC,KAAK,GAAAJ,gBAAA,GAAEF,SAAS,EAAEQ,KAAK,cAAAN,gBAAA,cAAAA,gBAAA,GAAI,IAAAK,QAAE,EAAE,aAAc;EAC9C,CAAC;AACF","ignoreList":[]}
@@ -27,6 +27,9 @@ var _jsxRuntime = require("react/jsx-runtime");
27
27
  */
28
28
 
29
29
  const sizeOptions = [{
30
+ label: (0, _i18n.__)('Default'),
31
+ value: ''
32
+ }, {
30
33
  label: (0, _i18n.__)('Small'),
31
34
  value: 'has-small-icon-size'
32
35
  }, {
@@ -161,16 +164,16 @@ function SocialLinksEdit(props) {
161
164
  setAttributes({
162
165
  openInNewTab: false,
163
166
  showLabels: false,
164
- size: 'has-normal-icon-size'
167
+ size: undefined
165
168
  });
166
169
  },
167
170
  dropdownMenuProps: dropdownMenuProps,
168
171
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
169
172
  isShownByDefault: true,
170
- hasValue: () => !!size && size !== 'has-normal-icon-size',
173
+ hasValue: () => !!size,
171
174
  label: (0, _i18n.__)('Icon size'),
172
175
  onDeselect: () => setAttributes({
173
- size: 'has-normal-icon-size'
176
+ size: undefined
174
177
  }),
175
178
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
176
179
  __next40pxDefaultSize: true,
@@ -178,10 +181,10 @@ function SocialLinksEdit(props) {
178
181
  label: (0, _i18n.__)('Icon Size'),
179
182
  onChange: newSize => {
180
183
  setAttributes({
181
- size: newSize
184
+ size: newSize === '' ? undefined : newSize
182
185
  });
183
186
  },
184
- value: size !== null && size !== void 0 ? size : 'has-normal-icon-size',
187
+ value: size !== null && size !== void 0 ? size : '',
185
188
  options: sizeOptions
186
189
  })
187
190
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_blockEditor","_components","_i18n","_data","_hooks","_jsxRuntime","sizeOptions","label","__","value","SocialLinksEdit","props","_attributes$layout$or","clientId","attributes","iconBackgroundColor","iconColor","isSelected","setAttributes","setIconBackgroundColor","setIconColor","iconBackgroundColorValue","iconColorValue","openInNewTab","showLabels","size","hasSocialIcons","hasSelectedChild","useSelect","select","getBlockCount","hasSelectedInnerBlock","blockEditorStore","hasAnySelected","logosOnly","className","includes","dropdownMenuProps","useToolsPanelDropdownMenuProps","useEffect","restore","prev","customIconBackgroundColor","undefined","clsx","color","blockProps","useBlockProps","innerBlocksProps","useInnerBlocksProps","templateLock","orientation","layout","__experimentalAppenderTagName","renderAppender","InnerBlocks","ButtonBlockAppender","colorSettings","onChange","colorValue","resetAllFilter","push","colorGradientSettings","useMultipleOriginColorsAndGradients","jsxs","Fragment","children","jsx","InspectorControls","__experimentalToolsPanel","resetAll","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","SelectControl","__next40pxDefaultSize","__nextHasNoMarginBottom","newSize","options","ToggleControl","checked","hasColorsOrGradients","group","map","__experimentalColorGradientSettingsDropdown","__experimentalIsRenderedInSidebar","settings","onColorChange","enableAlpha","clearable","panelId","ContrastChecker","textColor","backgroundColor","isLargeText","iconColorAttributes","_default","exports","default","withColors"],"sources":["@wordpress/block-library/src/social-links/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport {\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n\tInspectorControls,\n\tContrastChecker,\n\twithColors,\n\tInnerBlocks,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\tSelectControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst sizeOptions = [\n\t{ label: __( 'Small' ), value: 'has-small-icon-size' },\n\t{ label: __( 'Normal' ), value: 'has-normal-icon-size' },\n\t{ label: __( 'Large' ), value: 'has-large-icon-size' },\n\t{ label: __( 'Huge' ), value: 'has-huge-icon-size' },\n];\n\nexport function SocialLinksEdit( props ) {\n\tconst {\n\t\tclientId,\n\t\tattributes,\n\t\ticonBackgroundColor,\n\t\ticonColor,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tsetIconBackgroundColor,\n\t\tsetIconColor,\n\t} = props;\n\n\tconst {\n\t\ticonBackgroundColorValue,\n\t\ticonColorValue,\n\t\topenInNewTab,\n\t\tshowLabels,\n\t\tsize,\n\t} = attributes;\n\n\tconst { hasSocialIcons, hasSelectedChild } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockCount, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\thasSocialIcons: getBlockCount( clientId ) > 0,\n\t\t\t\thasSelectedChild: hasSelectedInnerBlock( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst hasAnySelected = isSelected || hasSelectedChild;\n\n\tconst logosOnly = attributes.className?.includes( 'is-style-logos-only' );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t// Remove icon background color when logos only style is selected or\n\t// restore it when any other style is selected.\n\tuseEffect( () => {\n\t\tif ( logosOnly ) {\n\t\t\tlet restore;\n\t\t\tsetAttributes( ( prev ) => {\n\t\t\t\trestore = {\n\t\t\t\t\ticonBackgroundColor: prev.iconBackgroundColor,\n\t\t\t\t\ticonBackgroundColorValue: prev.iconBackgroundColorValue,\n\t\t\t\t\tcustomIconBackgroundColor: prev.customIconBackgroundColor,\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\ticonBackgroundColor: undefined,\n\t\t\t\t\ticonBackgroundColorValue: undefined,\n\t\t\t\t\tcustomIconBackgroundColor: undefined,\n\t\t\t\t};\n\t\t\t} );\n\n\t\t\treturn () => setAttributes( { ...restore } );\n\t\t}\n\t}, [ logosOnly, setAttributes ] );\n\n\t// Fallback color values are used maintain selections in case switching\n\t// themes and named colors in palette do not match.\n\tconst className = clsx( size, {\n\t\t'has-visible-labels': showLabels,\n\t\t'has-icon-color': iconColor.color || iconColorValue,\n\t\t'has-icon-background-color':\n\t\t\ticonBackgroundColor.color || iconBackgroundColorValue,\n\t} );\n\n\tconst blockProps = useBlockProps( { className } );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplateLock: false,\n\t\torientation: attributes.layout?.orientation ?? 'horizontal',\n\t\t__experimentalAppenderTagName: 'li',\n\t\trenderAppender:\n\t\t\t! hasSocialIcons || hasAnySelected\n\t\t\t\t? InnerBlocks.ButtonBlockAppender\n\t\t\t\t: undefined,\n\t} );\n\n\tconst colorSettings = [\n\t\t{\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconColor.color || iconColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconColor( colorValue );\n\t\t\t\tsetAttributes( { iconColorValue: colorValue } );\n\t\t\t},\n\t\t\tlabel: __( 'Icon color' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconColor( undefined );\n\t\t\t\tsetAttributes( { iconColorValue: undefined } );\n\t\t\t},\n\t\t},\n\t];\n\n\tif ( ! logosOnly ) {\n\t\tcolorSettings.push( {\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconBackgroundColor.color || iconBackgroundColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconBackgroundColor( colorValue );\n\t\t\t\tsetAttributes( {\n\t\t\t\t\ticonBackgroundColorValue: colorValue,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tlabel: __( 'Icon background' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconBackgroundColor( undefined );\n\t\t\t\tsetAttributes( { iconBackgroundColorValue: undefined } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\topenInNewTab: false,\n\t\t\t\t\t\t\tshowLabels: false,\n\t\t\t\t\t\t\tsize: 'has-normal-icon-size',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t!! size && size !== 'has-normal-icon-size'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Icon size' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { size: 'has-normal-icon-size' } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Icon Size' ) }\n\t\t\t\t\t\t\tonChange={ ( newSize ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tsize: newSize,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ size ?? 'has-normal-icon-size' }\n\t\t\t\t\t\t\toptions={ sizeOptions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Show text' ) }\n\t\t\t\t\t\thasValue={ () => !! showLabels }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showLabels: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show text' ) }\n\t\t\t\t\t\t\tchecked={ showLabels }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showLabels: ! showLabels } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\thasValue={ () => !! openInNewTab }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { openInNewTab: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\t\tchecked={ openInNewTab }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\topenInNewTab: ! openInNewTab,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t{ colorSettings.map(\n\t\t\t\t\t\t( { onChange, label, value, resetAllFilter } ) => (\n\t\t\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t\t\tkey={ `social-links-color-${ label }` }\n\t\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcolorValue: value,\n\t\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\t\tonColorChange: onChange,\n\t\t\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\t\t\tresetAllFilter,\n\t\t\t\t\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! logosOnly && (\n\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\ttextColor: iconColorValue,\n\t\t\t\t\t\t\t\tbackgroundColor: iconBackgroundColorValue,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisLargeText={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<ul { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nconst iconColorAttributes = {\n\ticonColor: 'icon-color',\n\ticonBackgroundColor: 'icon-background-color',\n};\n\nexport default withColors( iconColorAttributes )( SocialLinksEdit );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_blockEditor","_components","_i18n","_data","_hooks","_jsxRuntime","sizeOptions","label","__","value","SocialLinksEdit","props","_attributes$layout$or","clientId","attributes","iconBackgroundColor","iconColor","isSelected","setAttributes","setIconBackgroundColor","setIconColor","iconBackgroundColorValue","iconColorValue","openInNewTab","showLabels","size","hasSocialIcons","hasSelectedChild","useSelect","select","getBlockCount","hasSelectedInnerBlock","blockEditorStore","hasAnySelected","logosOnly","className","includes","dropdownMenuProps","useToolsPanelDropdownMenuProps","useEffect","restore","prev","customIconBackgroundColor","undefined","clsx","color","blockProps","useBlockProps","innerBlocksProps","useInnerBlocksProps","templateLock","orientation","layout","__experimentalAppenderTagName","renderAppender","InnerBlocks","ButtonBlockAppender","colorSettings","onChange","colorValue","resetAllFilter","push","colorGradientSettings","useMultipleOriginColorsAndGradients","jsxs","Fragment","children","jsx","InspectorControls","__experimentalToolsPanel","resetAll","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","SelectControl","__next40pxDefaultSize","__nextHasNoMarginBottom","newSize","options","ToggleControl","checked","hasColorsOrGradients","group","map","__experimentalColorGradientSettingsDropdown","__experimentalIsRenderedInSidebar","settings","onColorChange","enableAlpha","clearable","panelId","ContrastChecker","textColor","backgroundColor","isLargeText","iconColorAttributes","_default","exports","default","withColors"],"sources":["@wordpress/block-library/src/social-links/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport {\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n\tInspectorControls,\n\tContrastChecker,\n\twithColors,\n\tInnerBlocks,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\tSelectControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst sizeOptions = [\n\t{ label: __( 'Default' ), value: '' },\n\t{ label: __( 'Small' ), value: 'has-small-icon-size' },\n\t{ label: __( 'Normal' ), value: 'has-normal-icon-size' },\n\t{ label: __( 'Large' ), value: 'has-large-icon-size' },\n\t{ label: __( 'Huge' ), value: 'has-huge-icon-size' },\n];\n\nexport function SocialLinksEdit( props ) {\n\tconst {\n\t\tclientId,\n\t\tattributes,\n\t\ticonBackgroundColor,\n\t\ticonColor,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tsetIconBackgroundColor,\n\t\tsetIconColor,\n\t} = props;\n\n\tconst {\n\t\ticonBackgroundColorValue,\n\t\ticonColorValue,\n\t\topenInNewTab,\n\t\tshowLabels,\n\t\tsize,\n\t} = attributes;\n\n\tconst { hasSocialIcons, hasSelectedChild } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockCount, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\thasSocialIcons: getBlockCount( clientId ) > 0,\n\t\t\t\thasSelectedChild: hasSelectedInnerBlock( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst hasAnySelected = isSelected || hasSelectedChild;\n\n\tconst logosOnly = attributes.className?.includes( 'is-style-logos-only' );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t// Remove icon background color when logos only style is selected or\n\t// restore it when any other style is selected.\n\tuseEffect( () => {\n\t\tif ( logosOnly ) {\n\t\t\tlet restore;\n\t\t\tsetAttributes( ( prev ) => {\n\t\t\t\trestore = {\n\t\t\t\t\ticonBackgroundColor: prev.iconBackgroundColor,\n\t\t\t\t\ticonBackgroundColorValue: prev.iconBackgroundColorValue,\n\t\t\t\t\tcustomIconBackgroundColor: prev.customIconBackgroundColor,\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\ticonBackgroundColor: undefined,\n\t\t\t\t\ticonBackgroundColorValue: undefined,\n\t\t\t\t\tcustomIconBackgroundColor: undefined,\n\t\t\t\t};\n\t\t\t} );\n\n\t\t\treturn () => setAttributes( { ...restore } );\n\t\t}\n\t}, [ logosOnly, setAttributes ] );\n\n\t// Fallback color values are used maintain selections in case switching\n\t// themes and named colors in palette do not match.\n\tconst className = clsx( size, {\n\t\t'has-visible-labels': showLabels,\n\t\t'has-icon-color': iconColor.color || iconColorValue,\n\t\t'has-icon-background-color':\n\t\t\ticonBackgroundColor.color || iconBackgroundColorValue,\n\t} );\n\n\tconst blockProps = useBlockProps( { className } );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplateLock: false,\n\t\torientation: attributes.layout?.orientation ?? 'horizontal',\n\t\t__experimentalAppenderTagName: 'li',\n\t\trenderAppender:\n\t\t\t! hasSocialIcons || hasAnySelected\n\t\t\t\t? InnerBlocks.ButtonBlockAppender\n\t\t\t\t: undefined,\n\t} );\n\n\tconst colorSettings = [\n\t\t{\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconColor.color || iconColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconColor( colorValue );\n\t\t\t\tsetAttributes( { iconColorValue: colorValue } );\n\t\t\t},\n\t\t\tlabel: __( 'Icon color' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconColor( undefined );\n\t\t\t\tsetAttributes( { iconColorValue: undefined } );\n\t\t\t},\n\t\t},\n\t];\n\n\tif ( ! logosOnly ) {\n\t\tcolorSettings.push( {\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconBackgroundColor.color || iconBackgroundColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconBackgroundColor( colorValue );\n\t\t\t\tsetAttributes( {\n\t\t\t\t\ticonBackgroundColorValue: colorValue,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tlabel: __( 'Icon background' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconBackgroundColor( undefined );\n\t\t\t\tsetAttributes( { iconBackgroundColorValue: undefined } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\topenInNewTab: false,\n\t\t\t\t\t\t\tshowLabels: false,\n\t\t\t\t\t\t\tsize: undefined,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! size }\n\t\t\t\t\t\tlabel={ __( 'Icon size' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { size: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Icon Size' ) }\n\t\t\t\t\t\t\tonChange={ ( newSize ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tsize: newSize === '' ? undefined : newSize,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ size ?? '' }\n\t\t\t\t\t\t\toptions={ sizeOptions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Show text' ) }\n\t\t\t\t\t\thasValue={ () => !! showLabels }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showLabels: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show text' ) }\n\t\t\t\t\t\t\tchecked={ showLabels }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showLabels: ! showLabels } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\thasValue={ () => !! openInNewTab }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { openInNewTab: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\t\tchecked={ openInNewTab }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\topenInNewTab: ! openInNewTab,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t{ colorSettings.map(\n\t\t\t\t\t\t( { onChange, label, value, resetAllFilter } ) => (\n\t\t\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t\t\tkey={ `social-links-color-${ label }` }\n\t\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcolorValue: value,\n\t\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\t\tonColorChange: onChange,\n\t\t\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\t\t\tresetAllFilter,\n\t\t\t\t\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! logosOnly && (\n\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\ttextColor: iconColorValue,\n\t\t\t\t\t\t\t\tbackgroundColor: iconBackgroundColorValue,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisLargeText={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<ul { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nconst iconColorAttributes = {\n\ticonColor: 'icon-color',\n\ticonBackgroundColor: 'icon-background-color',\n};\n\nexport default withColors( iconColorAttributes )( SocialLinksEdit );\n"],"mappings":"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","ignoreList":[]}
@@ -7,6 +7,7 @@ exports.default = TracksEditor;
7
7
  var _i18n = require("@wordpress/i18n");
8
8
  var _components = require("@wordpress/components");
9
9
  var _blockEditor = require("@wordpress/block-editor");
10
+ var _notices = require("@wordpress/notices");
10
11
  var _icons = require("@wordpress/icons");
11
12
  var _data = require("@wordpress/data");
12
13
  var _element = require("@wordpress/element");
@@ -192,11 +193,32 @@ function TracksEditor({
192
193
  tracks = [],
193
194
  onChange
194
195
  }) {
196
+ const {
197
+ createNotice
198
+ } = (0, _data.useDispatch)(_notices.store);
195
199
  const mediaUpload = (0, _data.useSelect)(select => {
196
200
  return select(_blockEditor.store).getSettings().mediaUpload;
197
201
  }, []);
198
202
  const [trackBeingEdited, setTrackBeingEdited] = (0, _element.useState)(null);
199
203
  const dropdownPopoverRef = (0, _element.useRef)();
204
+ const handleTrackSelect = ({
205
+ title,
206
+ url
207
+ }) => {
208
+ if (tracks.some(track => track.src === url)) {
209
+ createNotice('error', (0, _i18n.__)('This track already exists.'), {
210
+ isDismissible: true,
211
+ type: 'snackbar'
212
+ });
213
+ return;
214
+ }
215
+ const trackIndex = tracks.length;
216
+ onChange([...tracks, {
217
+ label: title || '',
218
+ src: url
219
+ }]);
220
+ setTrackBeingEdited(trackIndex);
221
+ };
200
222
  (0, _element.useEffect)(() => {
201
223
  dropdownPopoverRef.current?.focus();
202
224
  }, [trackBeingEdited]);
@@ -265,15 +287,7 @@ function TracksEditor({
265
287
  className: "block-library-video-tracks-editor__add-tracks-container",
266
288
  label: (0, _i18n.__)('Add tracks'),
267
289
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.MediaUpload, {
268
- onSelect: ({
269
- url
270
- }) => {
271
- const trackIndex = tracks.length;
272
- onChange([...tracks, {
273
- src: url
274
- }]);
275
- setTrackBeingEdited(trackIndex);
276
- },
290
+ onSelect: handleTrackSelect,
277
291
  allowedTypes: ALLOWED_TYPES,
278
292
  render: ({
279
293
  open
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_blockEditor","_icons","_data","_element","_url","_lockUnlock","_jsxRuntime","Badge","unlock","componentsPrivateApis","ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","__","value","TrackList","tracks","onEditPress","content","map","track","index","jsxs","__experimentalHStack","className","children","jsx","justify","default","Button","__next40pxDefaultSize","variant","onClick","sprintf","_x","src","MenuGroup","SingleTrackEditor","onChange","onClose","onRemove","allowSettingDefault","srcLang","kind","isDefaultTrack","fileName","startsWith","getFilename","__experimentalVStack","spacing","__experimentalGrid","columns","gap","TextControl","__nextHasNoMarginBottom","newLabel","help","newSrcLang","SelectControl","options","newKind","ToggleControl","checked","disabled","defaultTrack","isDestructive","changes","hasChanges","undefined","TracksEditor","mediaUpload","useSelect","select","blockEditorStore","getSettings","trackBeingEdited","setTrackBeingEdited","useState","dropdownPopoverRef","useRef","useEffect","current","focus","Dropdown","contentClassName","focusOnMount","popoverProps","ref","renderToggle","isOpen","onToggle","handleOnToggle","ToolbarGroup","ToolbarButton","renderContent","newTrack","newTracks","filter","_track","some","Fragment","length","NavigableMenu","MediaUpload","onSelect","url","trackIndex","allowedTypes","render","open","MenuItem","icon","media","MediaUploadCheck","FormFileUpload","event","files","target","filesList","onFileChange","accept","openFileDialog","upload"],"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tNavigableMenu,\n\tMenuItem,\n\tFormFileUpload,\n\tMenuGroup,\n\tToolbarGroup,\n\tToolbarButton,\n\tDropdown,\n\tButton,\n\tTextControl,\n\tSelectControl,\n\tToggleControl,\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { upload, media } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef, useEffect } from '@wordpress/element';\nimport { getFilename } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { Badge } = unlock( componentsPrivateApis );\n\nconst ALLOWED_TYPES = [ 'text/vtt' ];\n\nconst DEFAULT_KIND = 'subtitles';\n\nconst KIND_OPTIONS = [\n\t{ label: __( 'Subtitles' ), value: 'subtitles' },\n\t{ label: __( 'Captions' ), value: 'captions' },\n\t{ label: __( 'Descriptions' ), value: 'descriptions' },\n\t{ label: __( 'Chapters' ), value: 'chapters' },\n\t{ label: __( 'Metadata' ), value: 'metadata' },\n];\n\nfunction TrackList( { tracks, onEditPress } ) {\n\tconst content = tracks.map( ( track, index ) => {\n\t\treturn (\n\t\t\t<HStack\n\t\t\t\tkey={ track.src }\n\t\t\t\tclassName=\"block-library-video-tracks-editor__track-list-track\"\n\t\t\t>\n\t\t\t\t<span>{ track.label }</span>\n\t\t\t\t<HStack justify=\"flex-end\">\n\t\t\t\t\t{ track.default && <Badge>{ __( 'Default' ) }</Badge> }\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onEditPress( index ) }\n\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the video text track e.g: \"French subtitles\". */\n\t\t\t\t\t\t\t_x( 'Edit %s', 'text tracks' ),\n\t\t\t\t\t\t\ttrack.label\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t);\n\t} );\n\n\treturn (\n\t\t<MenuGroup\n\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\tclassName=\"block-library-video-tracks-editor__track-list\"\n\t\t>\n\t\t\t{ content }\n\t\t</MenuGroup>\n\t);\n}\n\nfunction SingleTrackEditor( {\n\ttrack,\n\tonChange,\n\tonClose,\n\tonRemove,\n\tallowSettingDefault,\n} ) {\n\tconst {\n\t\tsrc = '',\n\t\tlabel = '',\n\t\tsrcLang = '',\n\t\tkind = DEFAULT_KIND,\n\t\tdefault: isDefaultTrack = false,\n\t} = track;\n\tconst fileName = src.startsWith( 'blob:' ) ? '' : getFilename( src ) || '';\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor\"\n\t\t\tspacing=\"4\"\n\t\t>\n\t\t\t<span className=\"block-library-video-tracks-editor__single-track-editor-edit-track-label\">\n\t\t\t\t{ __( 'Edit track' ) }\n\t\t\t</span>\n\t\t\t<span>\n\t\t\t\t{ __( 'File' ) }: <b>{ fileName }</b>\n\t\t\t</span>\n\t\t\t<Grid columns={ 2 } gap={ 4 }>\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tlabel: newLabel,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\thelp={ __( 'Title of track' ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ ( newSrcLang ) =>\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tsrcLang: newSrcLang,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Source language' ) }\n\t\t\t\t\tvalue={ srcLang }\n\t\t\t\t\thelp={ __( 'Language tag (en, fr, etc.)' ) }\n\t\t\t\t/>\n\t\t\t</Grid>\n\t\t\t<VStack spacing=\"4\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor-kind-select\"\n\t\t\t\t\toptions={ KIND_OPTIONS }\n\t\t\t\t\tvalue={ kind }\n\t\t\t\t\tlabel={ __( 'Kind' ) }\n\t\t\t\t\tonChange={ ( newKind ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tkind: newKind,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Set as default track' ) }\n\t\t\t\t\tchecked={ isDefaultTrack }\n\t\t\t\t\tdisabled={ ! allowSettingDefault }\n\t\t\t\t\tonChange={ ( defaultTrack ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tdefault: defaultTrack,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<HStack className=\"block-library-video-tracks-editor__single-track-editor-buttons-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Remove track' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tconst changes = {};\n\t\t\t\t\t\t\tlet hasChanges = false;\n\t\t\t\t\t\t\tif ( label === '' ) {\n\t\t\t\t\t\t\t\tchanges.label = __( 'English' );\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( srcLang === '' ) {\n\t\t\t\t\t\t\t\tchanges.srcLang = 'en';\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( track.kind === undefined ) {\n\t\t\t\t\t\t\t\tchanges.kind = DEFAULT_KIND;\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( hasChanges ) {\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\t\t...changes,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</VStack>\n\t);\n}\n\nexport default function TracksEditor( { tracks = [], onChange } ) {\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst [ trackBeingEdited, setTrackBeingEdited ] = useState( null );\n\tconst dropdownPopoverRef = useRef();\n\n\tuseEffect( () => {\n\t\tdropdownPopoverRef.current?.focus();\n\t}, [ trackBeingEdited ] );\n\n\tif ( ! mediaUpload ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"block-library-video-tracks-editor\"\n\t\t\tfocusOnMount\n\t\t\tpopoverProps={ {\n\t\t\t\tref: dropdownPopoverRef,\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tconst handleOnToggle = () => {\n\t\t\t\t\tif ( ! isOpen ) {\n\t\t\t\t\t\t// When the Popover opens make sure the initial view is\n\t\t\t\t\t\t// always the track list rather than the edit track UI.\n\t\t\t\t\t\tsetTrackBeingEdited( null );\n\t\t\t\t\t}\n\t\t\t\t\tonToggle();\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\tonClick={ handleOnToggle }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => {\n\t\t\t\tif ( trackBeingEdited !== null ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SingleTrackEditor\n\t\t\t\t\t\t\ttrack={ tracks[ trackBeingEdited ] }\n\t\t\t\t\t\t\tonChange={ ( newTrack ) => {\n\t\t\t\t\t\t\t\tconst newTracks = [ ...tracks ];\n\t\t\t\t\t\t\t\tnewTracks[ trackBeingEdited ] = newTrack;\n\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonClose={ () => setTrackBeingEdited( null ) }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\ttracks.filter(\n\t\t\t\t\t\t\t\t\t\t( _track, index ) =>\n\t\t\t\t\t\t\t\t\t\t\tindex !== trackBeingEdited\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsetTrackBeingEdited( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tallowSettingDefault={\n\t\t\t\t\t\t\t\t! tracks.some( ( track ) => track.default ) ||\n\t\t\t\t\t\t\t\ttracks[ trackBeingEdited ].default\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ tracks.length === 0 && (\n\t\t\t\t\t\t\t<div className=\"block-library-video-tracks-editor__tracks-informative-message\">\n\t\t\t\t\t\t\t\t<h2 className=\"block-library-video-tracks-editor__tracks-informative-message-title\">\n\t\t\t\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t<p className=\"block-library-video-tracks-editor__tracks-informative-message-description\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<NavigableMenu>\n\t\t\t\t\t\t\t<TrackList\n\t\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\t\tonEditPress={ setTrackBeingEdited }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<MenuGroup\n\t\t\t\t\t\t\t\tclassName=\"block-library-video-tracks-editor__add-tracks-container\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Add tracks' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\t\tonSelect={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\tonChange( [ ...tracks, { src: url } ] );\n\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited( trackIndex );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_TYPES }\n\t\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ media }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst files = event.target.files;\n\t\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\t\t\tallowedTypes: ALLOWED_TYPES,\n\t\t\t\t\t\t\t\t\t\t\t\tfilesList: files,\n\t\t\t\t\t\t\t\t\t\t\t\tonFileChange: ( [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ url },\n\t\t\t\t\t\t\t\t\t\t\t\t] ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst newTracks = [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks,\n\t\t\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! newTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t] = {};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[ trackIndex ] = {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks[ trackIndex ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc: url,\n\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\taccept=\".vtt,text/vtt\"\n\t\t\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_components","_blockEditor","_notices","_icons","_data","_element","_url","_lockUnlock","_jsxRuntime","Badge","unlock","componentsPrivateApis","ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","__","value","TrackList","tracks","onEditPress","content","map","track","index","jsxs","__experimentalHStack","className","children","jsx","justify","default","Button","__next40pxDefaultSize","variant","onClick","sprintf","_x","src","MenuGroup","SingleTrackEditor","onChange","onClose","onRemove","allowSettingDefault","srcLang","kind","isDefaultTrack","fileName","startsWith","getFilename","__experimentalVStack","spacing","__experimentalGrid","columns","gap","TextControl","__nextHasNoMarginBottom","newLabel","help","newSrcLang","SelectControl","options","newKind","ToggleControl","checked","disabled","defaultTrack","isDestructive","changes","hasChanges","undefined","TracksEditor","createNotice","useDispatch","noticesStore","mediaUpload","useSelect","select","blockEditorStore","getSettings","trackBeingEdited","setTrackBeingEdited","useState","dropdownPopoverRef","useRef","handleTrackSelect","title","url","some","isDismissible","type","trackIndex","length","useEffect","current","focus","Dropdown","contentClassName","focusOnMount","popoverProps","ref","renderToggle","isOpen","onToggle","handleOnToggle","ToolbarGroup","ToolbarButton","renderContent","newTrack","newTracks","filter","_track","Fragment","NavigableMenu","MediaUpload","onSelect","allowedTypes","render","open","MenuItem","icon","media","MediaUploadCheck","FormFileUpload","event","files","target","filesList","onFileChange","accept","openFileDialog","upload"],"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tNavigableMenu,\n\tMenuItem,\n\tFormFileUpload,\n\tMenuGroup,\n\tToolbarGroup,\n\tToolbarButton,\n\tDropdown,\n\tButton,\n\tTextControl,\n\tSelectControl,\n\tToggleControl,\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { upload, media } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState, useRef, useEffect } from '@wordpress/element';\nimport { getFilename } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { Badge } = unlock( componentsPrivateApis );\n\nconst ALLOWED_TYPES = [ 'text/vtt' ];\n\nconst DEFAULT_KIND = 'subtitles';\n\nconst KIND_OPTIONS = [\n\t{ label: __( 'Subtitles' ), value: 'subtitles' },\n\t{ label: __( 'Captions' ), value: 'captions' },\n\t{ label: __( 'Descriptions' ), value: 'descriptions' },\n\t{ label: __( 'Chapters' ), value: 'chapters' },\n\t{ label: __( 'Metadata' ), value: 'metadata' },\n];\n\nfunction TrackList( { tracks, onEditPress } ) {\n\tconst content = tracks.map( ( track, index ) => {\n\t\treturn (\n\t\t\t<HStack\n\t\t\t\tkey={ track.src }\n\t\t\t\tclassName=\"block-library-video-tracks-editor__track-list-track\"\n\t\t\t>\n\t\t\t\t<span>{ track.label }</span>\n\t\t\t\t<HStack justify=\"flex-end\">\n\t\t\t\t\t{ track.default && <Badge>{ __( 'Default' ) }</Badge> }\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onEditPress( index ) }\n\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the video text track e.g: \"French subtitles\". */\n\t\t\t\t\t\t\t_x( 'Edit %s', 'text tracks' ),\n\t\t\t\t\t\t\ttrack.label\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t);\n\t} );\n\n\treturn (\n\t\t<MenuGroup\n\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\tclassName=\"block-library-video-tracks-editor__track-list\"\n\t\t>\n\t\t\t{ content }\n\t\t</MenuGroup>\n\t);\n}\n\nfunction SingleTrackEditor( {\n\ttrack,\n\tonChange,\n\tonClose,\n\tonRemove,\n\tallowSettingDefault,\n} ) {\n\tconst {\n\t\tsrc = '',\n\t\tlabel = '',\n\t\tsrcLang = '',\n\t\tkind = DEFAULT_KIND,\n\t\tdefault: isDefaultTrack = false,\n\t} = track;\n\tconst fileName = src.startsWith( 'blob:' ) ? '' : getFilename( src ) || '';\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor\"\n\t\t\tspacing=\"4\"\n\t\t>\n\t\t\t<span className=\"block-library-video-tracks-editor__single-track-editor-edit-track-label\">\n\t\t\t\t{ __( 'Edit track' ) }\n\t\t\t</span>\n\t\t\t<span>\n\t\t\t\t{ __( 'File' ) }: <b>{ fileName }</b>\n\t\t\t</span>\n\t\t\t<Grid columns={ 2 } gap={ 4 }>\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tlabel: newLabel,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\thelp={ __( 'Title of track' ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ ( newSrcLang ) =>\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tsrcLang: newSrcLang,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Source language' ) }\n\t\t\t\t\tvalue={ srcLang }\n\t\t\t\t\thelp={ __( 'Language tag (en, fr, etc.)' ) }\n\t\t\t\t/>\n\t\t\t</Grid>\n\t\t\t<VStack spacing=\"4\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor-kind-select\"\n\t\t\t\t\toptions={ KIND_OPTIONS }\n\t\t\t\t\tvalue={ kind }\n\t\t\t\t\tlabel={ __( 'Kind' ) }\n\t\t\t\t\tonChange={ ( newKind ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tkind: newKind,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Set as default track' ) }\n\t\t\t\t\tchecked={ isDefaultTrack }\n\t\t\t\t\tdisabled={ ! allowSettingDefault }\n\t\t\t\t\tonChange={ ( defaultTrack ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tdefault: defaultTrack,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<HStack className=\"block-library-video-tracks-editor__single-track-editor-buttons-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Remove track' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tconst changes = {};\n\t\t\t\t\t\t\tlet hasChanges = false;\n\t\t\t\t\t\t\tif ( label === '' ) {\n\t\t\t\t\t\t\t\tchanges.label = __( 'English' );\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( srcLang === '' ) {\n\t\t\t\t\t\t\t\tchanges.srcLang = 'en';\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( track.kind === undefined ) {\n\t\t\t\t\t\t\t\tchanges.kind = DEFAULT_KIND;\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( hasChanges ) {\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\t\t...changes,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</VStack>\n\t);\n}\n\nexport default function TracksEditor( { tracks = [], onChange } ) {\n\tconst { createNotice } = useDispatch( noticesStore );\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst [ trackBeingEdited, setTrackBeingEdited ] = useState( null );\n\tconst dropdownPopoverRef = useRef();\n\n\tconst handleTrackSelect = ( { title, url } ) => {\n\t\tif ( tracks.some( ( track ) => track.src === url ) ) {\n\t\t\tcreateNotice( 'error', __( 'This track already exists.' ), {\n\t\t\t\tisDismissible: true,\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tconst trackIndex = tracks.length;\n\t\tonChange( [ ...tracks, { label: title || '', src: url } ] );\n\t\tsetTrackBeingEdited( trackIndex );\n\t};\n\n\tuseEffect( () => {\n\t\tdropdownPopoverRef.current?.focus();\n\t}, [ trackBeingEdited ] );\n\n\tif ( ! mediaUpload ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"block-library-video-tracks-editor\"\n\t\t\tfocusOnMount\n\t\t\tpopoverProps={ {\n\t\t\t\tref: dropdownPopoverRef,\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tconst handleOnToggle = () => {\n\t\t\t\t\tif ( ! isOpen ) {\n\t\t\t\t\t\t// When the Popover opens make sure the initial view is\n\t\t\t\t\t\t// always the track list rather than the edit track UI.\n\t\t\t\t\t\tsetTrackBeingEdited( null );\n\t\t\t\t\t}\n\t\t\t\t\tonToggle();\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\tonClick={ handleOnToggle }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => {\n\t\t\t\tif ( trackBeingEdited !== null ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SingleTrackEditor\n\t\t\t\t\t\t\ttrack={ tracks[ trackBeingEdited ] }\n\t\t\t\t\t\t\tonChange={ ( newTrack ) => {\n\t\t\t\t\t\t\t\tconst newTracks = [ ...tracks ];\n\t\t\t\t\t\t\t\tnewTracks[ trackBeingEdited ] = newTrack;\n\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonClose={ () => setTrackBeingEdited( null ) }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\ttracks.filter(\n\t\t\t\t\t\t\t\t\t\t( _track, index ) =>\n\t\t\t\t\t\t\t\t\t\t\tindex !== trackBeingEdited\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsetTrackBeingEdited( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tallowSettingDefault={\n\t\t\t\t\t\t\t\t! tracks.some( ( track ) => track.default ) ||\n\t\t\t\t\t\t\t\ttracks[ trackBeingEdited ].default\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ tracks.length === 0 && (\n\t\t\t\t\t\t\t<div className=\"block-library-video-tracks-editor__tracks-informative-message\">\n\t\t\t\t\t\t\t\t<h2 className=\"block-library-video-tracks-editor__tracks-informative-message-title\">\n\t\t\t\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t<p className=\"block-library-video-tracks-editor__tracks-informative-message-description\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<NavigableMenu>\n\t\t\t\t\t\t\t<TrackList\n\t\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\t\tonEditPress={ setTrackBeingEdited }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<MenuGroup\n\t\t\t\t\t\t\t\tclassName=\"block-library-video-tracks-editor__add-tracks-container\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Add tracks' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\t\tonSelect={ handleTrackSelect }\n\t\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_TYPES }\n\t\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ media }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst files = event.target.files;\n\t\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\t\t\tallowedTypes: ALLOWED_TYPES,\n\t\t\t\t\t\t\t\t\t\t\t\tfilesList: files,\n\t\t\t\t\t\t\t\t\t\t\t\tonFileChange: ( [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ url },\n\t\t\t\t\t\t\t\t\t\t\t\t] ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst newTracks = [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks,\n\t\t\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! newTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t] = {};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[ trackIndex ] = {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks[ trackIndex ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc: url,\n\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\taccept=\".vtt,text/vtt\"\n\t\t\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}