@wordpress/edit-site 5.20.0 → 5.21.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 (231) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/actions/trash-post.js +48 -0
  3. package/build/components/actions/trash-post.js.map +1 -0
  4. package/build/components/add-new-template/add-custom-template-modal-content.js +17 -13
  5. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  6. package/build/components/block-editor/resize-handle.js +2 -1
  7. package/build/components/block-editor/resize-handle.js.map +1 -1
  8. package/build/components/create-template-part-modal/index.js +10 -6
  9. package/build/components/create-template-part-modal/index.js.map +1 -1
  10. package/build/components/dataviews/dataviews.js +41 -32
  11. package/build/components/dataviews/dataviews.js.map +1 -1
  12. package/build/components/dataviews/field-actions.js +30 -0
  13. package/build/components/dataviews/field-actions.js.map +1 -0
  14. package/build/components/dataviews/filters.js +61 -0
  15. package/build/components/dataviews/filters.js.map +1 -0
  16. package/build/components/dataviews/in-filter.js +51 -0
  17. package/build/components/dataviews/in-filter.js.map +1 -0
  18. package/build/components/dataviews/index.js +0 -7
  19. package/build/components/dataviews/index.js.map +1 -1
  20. package/build/components/dataviews/pagination.js +75 -27
  21. package/build/components/dataviews/pagination.js.map +1 -1
  22. package/build/components/dataviews/text-filter.js +18 -12
  23. package/build/components/dataviews/text-filter.js.map +1 -1
  24. package/build/components/dataviews/view-actions.js +94 -56
  25. package/build/components/dataviews/view-actions.js.map +1 -1
  26. package/build/components/dataviews/view-grid.js +59 -0
  27. package/build/components/dataviews/view-grid.js.map +1 -0
  28. package/build/components/dataviews/view-list.js +283 -0
  29. package/build/components/dataviews/view-list.js.map +1 -0
  30. package/build/components/editor/index.js +2 -1
  31. package/build/components/editor/index.js.map +1 -1
  32. package/build/components/global-styles/font-library-modal/context.js +16 -10
  33. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  34. package/build/components/global-styles/font-library-modal/font-collection.js +20 -6
  35. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  36. package/build/components/global-styles/screen-block.js +1 -2
  37. package/build/components/global-styles/screen-block.js.map +1 -1
  38. package/build/components/global-styles/screen-root.js +1 -2
  39. package/build/components/global-styles/screen-root.js.map +1 -1
  40. package/build/components/global-styles/ui.js +3 -4
  41. package/build/components/global-styles/ui.js.map +1 -1
  42. package/build/components/layout/index.js +10 -2
  43. package/build/components/layout/index.js.map +1 -1
  44. package/build/components/media/index.js +34 -0
  45. package/build/components/media/index.js.map +1 -0
  46. package/build/components/page-actions/index.js +0 -2
  47. package/build/components/page-actions/index.js.map +1 -1
  48. package/build/components/page-pages/index.js +153 -107
  49. package/build/components/page-pages/index.js.map +1 -1
  50. package/build/components/page-patterns/delete-category-menu-item.js +89 -0
  51. package/build/components/page-patterns/delete-category-menu-item.js.map +1 -0
  52. package/build/components/page-patterns/duplicate-menu-item.js +52 -131
  53. package/build/components/page-patterns/duplicate-menu-item.js.map +1 -1
  54. package/build/components/page-patterns/grid-item.js +1 -0
  55. package/build/components/page-patterns/grid-item.js.map +1 -1
  56. package/build/components/page-patterns/header.js +25 -3
  57. package/build/components/page-patterns/header.js.map +1 -1
  58. package/build/components/page-patterns/rename-category-menu-item.js +49 -0
  59. package/build/components/page-patterns/rename-category-menu-item.js.map +1 -0
  60. package/build/components/page-patterns/rename-menu-item.js +1 -1
  61. package/build/components/page-patterns/rename-menu-item.js.map +1 -1
  62. package/build/components/page-patterns/use-patterns.js +1 -0
  63. package/build/components/page-patterns/use-patterns.js.map +1 -1
  64. package/build/components/pattern-modal/duplicate.js +65 -0
  65. package/build/components/pattern-modal/duplicate.js.map +1 -0
  66. package/build/components/pattern-modal/index.js +24 -0
  67. package/build/components/pattern-modal/index.js.map +1 -0
  68. package/build/components/pattern-modal/rename.js +42 -0
  69. package/build/components/pattern-modal/rename.js.map +1 -0
  70. package/build/components/sidebar-edit-mode/template-panel/last-revision.js +3 -0
  71. package/build/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
  72. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +2 -2
  73. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
  74. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -3
  75. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  76. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +29 -0
  77. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js.map +1 -0
  78. package/build/components/sidebar-navigation-screen-template/home-template-details.js +12 -1
  79. package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  80. package/build/hooks/commands/use-common-commands.js +1 -2
  81. package/build/hooks/commands/use-common-commands.js.map +1 -1
  82. package/build/hooks/commands/use-edit-mode-commands.js +49 -0
  83. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  84. package/build/lock-unlock.js +1 -1
  85. package/build/lock-unlock.js.map +1 -1
  86. package/build/store/selectors.js +4 -5
  87. package/build/store/selectors.js.map +1 -1
  88. package/build-module/components/actions/trash-post.js +41 -0
  89. package/build-module/components/actions/trash-post.js.map +1 -0
  90. package/build-module/components/add-new-template/add-custom-template-modal-content.js +16 -12
  91. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  92. package/build-module/components/block-editor/resize-handle.js +2 -1
  93. package/build-module/components/block-editor/resize-handle.js.map +1 -1
  94. package/build-module/components/create-template-part-modal/index.js +10 -6
  95. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  96. package/build-module/components/dataviews/dataviews.js +40 -31
  97. package/build-module/components/dataviews/dataviews.js.map +1 -1
  98. package/build-module/components/dataviews/field-actions.js +22 -0
  99. package/build-module/components/dataviews/field-actions.js.map +1 -0
  100. package/build-module/components/dataviews/filters.js +53 -0
  101. package/build-module/components/dataviews/filters.js.map +1 -0
  102. package/build-module/components/dataviews/in-filter.js +43 -0
  103. package/build-module/components/dataviews/in-filter.js.map +1 -0
  104. package/build-module/components/dataviews/index.js +0 -1
  105. package/build-module/components/dataviews/index.js.map +1 -1
  106. package/build-module/components/dataviews/pagination.js +74 -28
  107. package/build-module/components/dataviews/pagination.js.map +1 -1
  108. package/build-module/components/dataviews/text-filter.js +19 -13
  109. package/build-module/components/dataviews/text-filter.js.map +1 -1
  110. package/build-module/components/dataviews/view-actions.js +95 -54
  111. package/build-module/components/dataviews/view-actions.js.map +1 -1
  112. package/build-module/components/dataviews/view-grid.js +51 -0
  113. package/build-module/components/dataviews/view-grid.js.map +1 -0
  114. package/build-module/components/dataviews/view-list.js +274 -0
  115. package/build-module/components/dataviews/view-list.js.map +1 -0
  116. package/build-module/components/editor/index.js +2 -1
  117. package/build-module/components/editor/index.js.map +1 -1
  118. package/build-module/components/global-styles/font-library-modal/context.js +16 -10
  119. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  120. package/build-module/components/global-styles/font-library-modal/font-collection.js +20 -6
  121. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  122. package/build-module/components/global-styles/screen-block.js +1 -2
  123. package/build-module/components/global-styles/screen-block.js.map +1 -1
  124. package/build-module/components/global-styles/screen-root.js +1 -2
  125. package/build-module/components/global-styles/screen-root.js.map +1 -1
  126. package/build-module/components/global-styles/ui.js +3 -4
  127. package/build-module/components/global-styles/ui.js.map +1 -1
  128. package/build-module/components/layout/index.js +11 -3
  129. package/build-module/components/layout/index.js.map +1 -1
  130. package/build-module/components/media/index.js +26 -0
  131. package/build-module/components/media/index.js.map +1 -0
  132. package/build-module/components/page-actions/index.js +0 -2
  133. package/build-module/components/page-actions/index.js.map +1 -1
  134. package/build-module/components/page-pages/index.js +156 -110
  135. package/build-module/components/page-pages/index.js.map +1 -1
  136. package/build-module/components/page-patterns/delete-category-menu-item.js +82 -0
  137. package/build-module/components/page-patterns/delete-category-menu-item.js.map +1 -0
  138. package/build-module/components/page-patterns/duplicate-menu-item.js +54 -133
  139. package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -1
  140. package/build-module/components/page-patterns/grid-item.js +1 -0
  141. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  142. package/build-module/components/page-patterns/header.js +26 -4
  143. package/build-module/components/page-patterns/header.js.map +1 -1
  144. package/build-module/components/page-patterns/rename-category-menu-item.js +42 -0
  145. package/build-module/components/page-patterns/rename-category-menu-item.js.map +1 -0
  146. package/build-module/components/page-patterns/rename-menu-item.js +1 -1
  147. package/build-module/components/page-patterns/rename-menu-item.js.map +1 -1
  148. package/build-module/components/page-patterns/use-patterns.js +1 -0
  149. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  150. package/build-module/components/pattern-modal/duplicate.js +57 -0
  151. package/build-module/components/pattern-modal/duplicate.js.map +1 -0
  152. package/build-module/components/pattern-modal/index.js +14 -0
  153. package/build-module/components/pattern-modal/index.js.map +1 -0
  154. package/build-module/components/pattern-modal/rename.js +34 -0
  155. package/build-module/components/pattern-modal/rename.js.map +1 -0
  156. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js +3 -0
  157. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
  158. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +2 -2
  159. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
  160. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -3
  161. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  162. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +22 -0
  163. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js.map +1 -0
  164. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +12 -1
  165. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  166. package/build-module/hooks/commands/use-common-commands.js +1 -2
  167. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  168. package/build-module/hooks/commands/use-edit-mode-commands.js +50 -1
  169. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  170. package/build-module/lock-unlock.js +1 -1
  171. package/build-module/lock-unlock.js.map +1 -1
  172. package/build-module/store/selectors.js +4 -5
  173. package/build-module/store/selectors.js.map +1 -1
  174. package/build-style/style-rtl.css +42 -9
  175. package/build-style/style.css +42 -9
  176. package/package.json +40 -40
  177. package/src/components/actions/trash-post.js +55 -0
  178. package/src/components/add-new-template/add-custom-template-modal-content.js +22 -17
  179. package/src/components/block-editor/resize-handle.js +1 -0
  180. package/src/components/create-template-part-modal/index.js +9 -5
  181. package/src/components/dataviews/README.md +107 -0
  182. package/src/components/dataviews/dataviews.js +44 -33
  183. package/src/components/dataviews/field-actions.js +28 -0
  184. package/src/components/dataviews/filters.js +57 -0
  185. package/src/components/dataviews/in-filter.js +47 -0
  186. package/src/components/dataviews/index.js +0 -1
  187. package/src/components/dataviews/pagination.js +71 -29
  188. package/src/components/dataviews/style.scss +11 -1
  189. package/src/components/dataviews/text-filter.js +19 -15
  190. package/src/components/dataviews/view-actions.js +108 -63
  191. package/src/components/dataviews/view-grid.js +60 -0
  192. package/src/components/dataviews/view-list.js +348 -0
  193. package/src/components/editor/index.js +2 -0
  194. package/src/components/global-styles/font-library-modal/context.js +17 -11
  195. package/src/components/global-styles/font-library-modal/font-collection.js +18 -10
  196. package/src/components/global-styles/screen-block.js +1 -2
  197. package/src/components/global-styles/screen-root.js +1 -2
  198. package/src/components/global-styles/style.scss +16 -4
  199. package/src/components/global-styles/ui.js +1 -2
  200. package/src/components/layout/index.js +12 -4
  201. package/src/components/media/index.js +25 -0
  202. package/src/components/page-actions/index.js +1 -7
  203. package/src/components/page-pages/index.js +156 -108
  204. package/src/components/page-pages/style.scss +3 -0
  205. package/src/components/page-patterns/delete-category-menu-item.js +104 -0
  206. package/src/components/page-patterns/duplicate-menu-item.js +68 -181
  207. package/src/components/page-patterns/grid-item.js +1 -0
  208. package/src/components/page-patterns/header.js +42 -6
  209. package/src/components/page-patterns/rename-category-menu-item.js +45 -0
  210. package/src/components/page-patterns/rename-menu-item.js +2 -2
  211. package/src/components/page-patterns/style.scss +8 -0
  212. package/src/components/page-patterns/use-patterns.js +5 -0
  213. package/src/components/pattern-modal/duplicate.js +53 -0
  214. package/src/components/pattern-modal/index.js +19 -0
  215. package/src/components/pattern-modal/rename.js +29 -0
  216. package/src/components/sidebar-edit-mode/template-panel/last-revision.js +4 -0
  217. package/src/components/sidebar-navigation-screen/style.scss +17 -5
  218. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +2 -7
  219. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -8
  220. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +32 -0
  221. package/src/components/sidebar-navigation-screen-template/home-template-details.js +21 -7
  222. package/src/hooks/commands/use-common-commands.js +1 -2
  223. package/src/hooks/commands/use-edit-mode-commands.js +41 -0
  224. package/src/lock-unlock.js +1 -1
  225. package/src/store/selectors.js +9 -10
  226. package/src/style.scss +1 -0
  227. package/build/components/dataviews/list-view.js +0 -89
  228. package/build/components/dataviews/list-view.js.map +0 -1
  229. package/build-module/components/dataviews/list-view.js +0 -80
  230. package/build-module/components/dataviews/list-view.js.map +0 -1
  231. package/src/components/dataviews/list-view.js +0 -106
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useMemo","useEffect","__","Button","Flex","FlexItem","SearchControl","TextHighlight","__experimentalText","Text","__experimentalVStack","VStack","__unstableComposite","Composite","__unstableUseCompositeState","useCompositeState","__unstableCompositeItem","CompositeItem","useEntityRecords","decodeEntities","useDebouncedInput","mapToIHasNameAndId","EMPTY_ARRAY","SuggestionListItem","suggestion","search","onSelect","entityForSuggestions","composite","baseCssClass","createElement","role","as","className","onClick","config","getSpecificTemplate","size","lineHeight","weight","text","name","highlight","link","useSearchSuggestions","query","order","context","per_page","queryArgs","records","searchResults","hasResolved","searchHasResolved","type","slug","suggestions","setSuggestions","newSuggestions","length","recordNamePath","SuggestionList","orientation","setSearch","debouncedSearch","labels","showSearchControl","setShowSearchControl","Fragment","__nextHasNoMarginBottom","onChange","value","label","search_items","placeholder","map","key","not_found","AddCustomTemplateModalContent","showSearchEntities","setShowSearchEntities","hasGeneralTemplate","spacing","alignment","gap","align","isBlock","title","description","templatePrefix","template","all_items","singular_name"],"sources":["@wordpress/edit-site/src/components/add-new-template/add-custom-template-modal-content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useMemo, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tFlex,\n\tFlexItem,\n\tSearchControl,\n\tTextHighlight,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\n} from '@wordpress/components';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport useDebouncedInput from '../../utils/use-debounced-input';\nimport { mapToIHasNameAndId } from './utils';\n\nconst EMPTY_ARRAY = [];\n\nfunction SuggestionListItem( {\n\tsuggestion,\n\tsearch,\n\tonSelect,\n\tentityForSuggestions,\n\tcomposite,\n} ) {\n\tconst baseCssClass =\n\t\t'edit-site-custom-template-modal__suggestions_list__list-item';\n\treturn (\n\t\t<CompositeItem\n\t\t\trole=\"option\"\n\t\t\tas={ Button }\n\t\t\t{ ...composite }\n\t\t\tclassName={ baseCssClass }\n\t\t\tonClick={ () =>\n\t\t\t\tonSelect(\n\t\t\t\t\tentityForSuggestions.config.getSpecificTemplate(\n\t\t\t\t\t\tsuggestion\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t}\n\t\t>\n\t\t\t<Text\n\t\t\t\tsize=\"body\"\n\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\tweight={ 500 }\n\t\t\t\tclassName={ `${ baseCssClass }__title` }\n\t\t\t>\n\t\t\t\t<TextHighlight\n\t\t\t\t\ttext={ decodeEntities( suggestion.name ) }\n\t\t\t\t\thighlight={ search }\n\t\t\t\t/>\n\t\t\t</Text>\n\t\t\t{ suggestion.link && (\n\t\t\t\t<Text\n\t\t\t\t\tsize=\"body\"\n\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\tclassName={ `${ baseCssClass }__info` }\n\t\t\t\t>\n\t\t\t\t\t{ suggestion.link }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</CompositeItem>\n\t);\n}\n\nfunction useSearchSuggestions( entityForSuggestions, search ) {\n\tconst { config } = entityForSuggestions;\n\tconst query = useMemo(\n\t\t() => ( {\n\t\t\torder: 'asc',\n\t\t\tcontext: 'view',\n\t\t\tsearch,\n\t\t\tper_page: search ? 20 : 10,\n\t\t\t...config.queryArgs( search ),\n\t\t} ),\n\t\t[ search, config ]\n\t);\n\tconst { records: searchResults, hasResolved: searchHasResolved } =\n\t\tuseEntityRecords(\n\t\t\tentityForSuggestions.type,\n\t\t\tentityForSuggestions.slug,\n\t\t\tquery\n\t\t);\n\tconst [ suggestions, setSuggestions ] = useState( EMPTY_ARRAY );\n\tuseEffect( () => {\n\t\tif ( ! searchHasResolved ) return;\n\t\tlet newSuggestions = EMPTY_ARRAY;\n\t\tif ( searchResults?.length ) {\n\t\t\tnewSuggestions = searchResults;\n\t\t\tif ( config.recordNamePath ) {\n\t\t\t\tnewSuggestions = mapToIHasNameAndId(\n\t\t\t\t\tnewSuggestions,\n\t\t\t\t\tconfig.recordNamePath\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\t// Update suggestions only when the query has resolved, so as to keep\n\t\t// the previous results in the UI.\n\t\tsetSuggestions( newSuggestions );\n\t}, [ searchResults, searchHasResolved ] );\n\treturn suggestions;\n}\n\nfunction SuggestionList( { entityForSuggestions, onSelect } ) {\n\tconst composite = useCompositeState( { orientation: 'vertical' } );\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput();\n\tconst suggestions = useSearchSuggestions(\n\t\tentityForSuggestions,\n\t\tdebouncedSearch\n\t);\n\tconst { labels } = entityForSuggestions;\n\tconst [ showSearchControl, setShowSearchControl ] = useState( false );\n\tif ( ! showSearchControl && suggestions?.length > 9 ) {\n\t\tsetShowSearchControl( true );\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ showSearchControl && (\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ setSearch }\n\t\t\t\t\tvalue={ search }\n\t\t\t\t\tlabel={ labels.search_items }\n\t\t\t\t\tplaceholder={ labels.search_items }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! suggestions?.length && (\n\t\t\t\t<Composite\n\t\t\t\t\t{ ...composite }\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tclassName=\"edit-site-custom-template-modal__suggestions_list\"\n\t\t\t\t\taria-label={ __( 'Suggestions list' ) }\n\t\t\t\t>\n\t\t\t\t\t{ suggestions.map( ( suggestion ) => (\n\t\t\t\t\t\t<SuggestionListItem\n\t\t\t\t\t\t\tkey={ suggestion.slug }\n\t\t\t\t\t\t\tsuggestion={ suggestion }\n\t\t\t\t\t\t\tsearch={ debouncedSearch }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\t\tcomposite={ composite }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</Composite>\n\t\t\t) }\n\t\t\t{ debouncedSearch && ! suggestions?.length && (\n\t\t\t\t<Text\n\t\t\t\t\tas=\"p\"\n\t\t\t\t\tclassName=\"edit-site-custom-template-modal__no-results\"\n\t\t\t\t>\n\t\t\t\t\t{ labels.not_found }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction AddCustomTemplateModalContent( { onSelect, entityForSuggestions } ) {\n\tconst [ showSearchEntities, setShowSearchEntities ] = useState(\n\t\tentityForSuggestions.hasGeneralTemplate\n\t);\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 4 }\n\t\t\tclassName=\"edit-site-custom-template-modal__contents-wrapper\"\n\t\t\talignment=\"left\"\n\t\t>\n\t\t\t{ ! showSearchEntities && (\n\t\t\t\t<>\n\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select whether to create a single template for all items or a specific one.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Flex\n\t\t\t\t\t\tclassName=\"edit-site-custom-template-modal__contents\"\n\t\t\t\t\t\tgap=\"4\"\n\t\t\t\t\t\talign=\"initial\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\ttemplatePrefix,\n\t\t\t\t\t\t\t\t} = entityForSuggestions.template;\n\t\t\t\t\t\t\t\tonSelect( {\n\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\ttemplatePrefix,\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\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ entityForSuggestions.labels.all_items }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\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\t// translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.\n\t\t\t\t\t\t\t\t\t__( 'For all items' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetShowSearchEntities( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ entityForSuggestions.labels.singular_name }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\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\t// translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.\n\t\t\t\t\t\t\t\t\t__( 'For a specific item' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t</Flex>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ showSearchEntities && (\n\t\t\t\t<>\n\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'This template will be used only for the specific item chosen.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<SuggestionList\n\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport default AddCustomTemplateModalContent;\n"],"mappings":"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"}
1
+ {"version":3,"names":["useState","useMemo","useEffect","__","Button","Flex","FlexItem","SearchControl","TextHighlight","privateApis","componentsPrivateApis","__experimentalText","Text","__experimentalVStack","VStack","useEntityRecords","decodeEntities","unlock","useDebouncedInput","mapToIHasNameAndId","CompositeV2","Composite","CompositeItemV2","CompositeItem","useCompositeStoreV2","useCompositeStore","EMPTY_ARRAY","SuggestionListItem","suggestion","search","onSelect","entityForSuggestions","baseCssClass","createElement","render","role","className","onClick","config","getSpecificTemplate","size","lineHeight","weight","text","name","highlight","link","useSearchSuggestions","query","order","context","per_page","queryArgs","records","searchResults","hasResolved","searchHasResolved","type","slug","suggestions","setSuggestions","newSuggestions","length","recordNamePath","SuggestionList","composite","orientation","setSearch","debouncedSearch","labels","showSearchControl","setShowSearchControl","Fragment","__nextHasNoMarginBottom","onChange","value","label","search_items","placeholder","store","map","key","as","not_found","AddCustomTemplateModalContent","showSearchEntities","setShowSearchEntities","hasGeneralTemplate","spacing","alignment","gap","align","isBlock","title","description","templatePrefix","template","all_items","singular_name"],"sources":["@wordpress/edit-site/src/components/add-new-template/add-custom-template-modal-content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useMemo, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tFlex,\n\tFlexItem,\n\tSearchControl,\n\tTextHighlight,\n\tprivateApis as componentsPrivateApis,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport useDebouncedInput from '../../utils/use-debounced-input';\nimport { mapToIHasNameAndId } from './utils';\n\nconst {\n\tCompositeV2: Composite,\n\tCompositeItemV2: CompositeItem,\n\tuseCompositeStoreV2: useCompositeStore,\n} = unlock( componentsPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nfunction SuggestionListItem( {\n\tsuggestion,\n\tsearch,\n\tonSelect,\n\tentityForSuggestions,\n} ) {\n\tconst baseCssClass =\n\t\t'edit-site-custom-template-modal__suggestions_list__list-item';\n\treturn (\n\t\t<CompositeItem\n\t\t\trender={\n\t\t\t\t<Button\n\t\t\t\t\trole=\"option\"\n\t\t\t\t\tclassName={ baseCssClass }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tonSelect(\n\t\t\t\t\t\t\tentityForSuggestions.config.getSpecificTemplate(\n\t\t\t\t\t\t\t\tsuggestion\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\t\t\t}\n\t\t>\n\t\t\t<Text\n\t\t\t\tsize=\"body\"\n\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\tweight={ 500 }\n\t\t\t\tclassName={ `${ baseCssClass }__title` }\n\t\t\t>\n\t\t\t\t<TextHighlight\n\t\t\t\t\ttext={ decodeEntities( suggestion.name ) }\n\t\t\t\t\thighlight={ search }\n\t\t\t\t/>\n\t\t\t</Text>\n\t\t\t{ suggestion.link && (\n\t\t\t\t<Text\n\t\t\t\t\tsize=\"body\"\n\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\tclassName={ `${ baseCssClass }__info` }\n\t\t\t\t>\n\t\t\t\t\t{ suggestion.link }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</CompositeItem>\n\t);\n}\n\nfunction useSearchSuggestions( entityForSuggestions, search ) {\n\tconst { config } = entityForSuggestions;\n\tconst query = useMemo(\n\t\t() => ( {\n\t\t\torder: 'asc',\n\t\t\tcontext: 'view',\n\t\t\tsearch,\n\t\t\tper_page: search ? 20 : 10,\n\t\t\t...config.queryArgs( search ),\n\t\t} ),\n\t\t[ search, config ]\n\t);\n\tconst { records: searchResults, hasResolved: searchHasResolved } =\n\t\tuseEntityRecords(\n\t\t\tentityForSuggestions.type,\n\t\t\tentityForSuggestions.slug,\n\t\t\tquery\n\t\t);\n\tconst [ suggestions, setSuggestions ] = useState( EMPTY_ARRAY );\n\tuseEffect( () => {\n\t\tif ( ! searchHasResolved ) return;\n\t\tlet newSuggestions = EMPTY_ARRAY;\n\t\tif ( searchResults?.length ) {\n\t\t\tnewSuggestions = searchResults;\n\t\t\tif ( config.recordNamePath ) {\n\t\t\t\tnewSuggestions = mapToIHasNameAndId(\n\t\t\t\t\tnewSuggestions,\n\t\t\t\t\tconfig.recordNamePath\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\t// Update suggestions only when the query has resolved, so as to keep\n\t\t// the previous results in the UI.\n\t\tsetSuggestions( newSuggestions );\n\t}, [ searchResults, searchHasResolved ] );\n\treturn suggestions;\n}\n\nfunction SuggestionList( { entityForSuggestions, onSelect } ) {\n\tconst composite = useCompositeStore( { orientation: 'vertical' } );\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput();\n\tconst suggestions = useSearchSuggestions(\n\t\tentityForSuggestions,\n\t\tdebouncedSearch\n\t);\n\tconst { labels } = entityForSuggestions;\n\tconst [ showSearchControl, setShowSearchControl ] = useState( false );\n\tif ( ! showSearchControl && suggestions?.length > 9 ) {\n\t\tsetShowSearchControl( true );\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ showSearchControl && (\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ setSearch }\n\t\t\t\t\tvalue={ search }\n\t\t\t\t\tlabel={ labels.search_items }\n\t\t\t\t\tplaceholder={ labels.search_items }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! suggestions?.length && (\n\t\t\t\t<Composite\n\t\t\t\t\tstore={ composite }\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tclassName=\"edit-site-custom-template-modal__suggestions_list\"\n\t\t\t\t\taria-label={ __( 'Suggestions list' ) }\n\t\t\t\t>\n\t\t\t\t\t{ suggestions.map( ( suggestion ) => (\n\t\t\t\t\t\t<SuggestionListItem\n\t\t\t\t\t\t\tkey={ suggestion.slug }\n\t\t\t\t\t\t\tsuggestion={ suggestion }\n\t\t\t\t\t\t\tsearch={ debouncedSearch }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</Composite>\n\t\t\t) }\n\t\t\t{ debouncedSearch && ! suggestions?.length && (\n\t\t\t\t<Text\n\t\t\t\t\tas=\"p\"\n\t\t\t\t\tclassName=\"edit-site-custom-template-modal__no-results\"\n\t\t\t\t>\n\t\t\t\t\t{ labels.not_found }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction AddCustomTemplateModalContent( { onSelect, entityForSuggestions } ) {\n\tconst [ showSearchEntities, setShowSearchEntities ] = useState(\n\t\tentityForSuggestions.hasGeneralTemplate\n\t);\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 4 }\n\t\t\tclassName=\"edit-site-custom-template-modal__contents-wrapper\"\n\t\t\talignment=\"left\"\n\t\t>\n\t\t\t{ ! showSearchEntities && (\n\t\t\t\t<>\n\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select whether to create a single template for all items or a specific one.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Flex\n\t\t\t\t\t\tclassName=\"edit-site-custom-template-modal__contents\"\n\t\t\t\t\t\tgap=\"4\"\n\t\t\t\t\t\talign=\"initial\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\ttemplatePrefix,\n\t\t\t\t\t\t\t\t} = entityForSuggestions.template;\n\t\t\t\t\t\t\t\tonSelect( {\n\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\ttemplatePrefix,\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\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ entityForSuggestions.labels.all_items }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\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\t// translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.\n\t\t\t\t\t\t\t\t\t__( 'For all items' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetShowSearchEntities( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ entityForSuggestions.labels.singular_name }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\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\t// translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.\n\t\t\t\t\t\t\t\t\t__( 'For a specific item' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t</Flex>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ showSearchEntities && (\n\t\t\t\t<>\n\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'This template will be used only for the specific item chosen.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<SuggestionList\n\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport default AddCustomTemplateModalContent;\n"],"mappings":"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"}
@@ -26,7 +26,8 @@ export default function ResizeHandle({
26
26
  className: `resizable-editor__drag-handle is-${direction} is-variation-${variation}`,
27
27
  "aria-label": __('Drag to resize'),
28
28
  "aria-describedby": `resizable-editor__resize-help-${direction}`,
29
- onKeyDown: handleKeyDown
29
+ onKeyDown: handleKeyDown,
30
+ type: "button"
30
31
  }), createElement(VisuallyHidden, {
31
32
  id: `resizable-editor__resize-help-${direction}`
32
33
  }, __('Use left and right arrow keys to resize the canvas.')));
@@ -1 +1 @@
1
- {"version":3,"names":["__","LEFT","RIGHT","VisuallyHidden","DELTA_DISTANCE","ResizeHandle","variation","direction","resizeWidthBy","handleKeyDown","event","keyCode","createElement","Fragment","className","onKeyDown","id"],"sources":["@wordpress/edit-site/src/components/block-editor/resize-handle.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { LEFT, RIGHT } from '@wordpress/keycodes';\nimport { VisuallyHidden } from '@wordpress/components';\n\nconst DELTA_DISTANCE = 20; // The distance to resize per keydown in pixels.\n\nexport default function ResizeHandle( {\n\tvariation = 'default',\n\tdirection,\n\tresizeWidthBy,\n} ) {\n\tfunction handleKeyDown( event ) {\n\t\tconst { keyCode } = event;\n\n\t\tif (\n\t\t\t( direction === 'left' && keyCode === LEFT ) ||\n\t\t\t( direction === 'right' && keyCode === RIGHT )\n\t\t) {\n\t\t\tresizeWidthBy( DELTA_DISTANCE );\n\t\t} else if (\n\t\t\t( direction === 'left' && keyCode === RIGHT ) ||\n\t\t\t( direction === 'right' && keyCode === LEFT )\n\t\t) {\n\t\t\tresizeWidthBy( -DELTA_DISTANCE );\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<button\n\t\t\t\tclassName={ `resizable-editor__drag-handle is-${ direction } is-variation-${ variation }` }\n\t\t\t\taria-label={ __( 'Drag to resize' ) }\n\t\t\t\taria-describedby={ `resizable-editor__resize-help-${ direction }` }\n\t\t\t\tonKeyDown={ handleKeyDown }\n\t\t\t/>\n\t\t\t<VisuallyHidden\n\t\t\t\tid={ `resizable-editor__resize-help-${ direction }` }\n\t\t\t>\n\t\t\t\t{ __( 'Use left and right arrow keys to resize the canvas.' ) }\n\t\t\t</VisuallyHidden>\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,IAAI,EAAEC,KAAK,QAAQ,qBAAqB;AACjD,SAASC,cAAc,QAAQ,uBAAuB;AAEtD,MAAMC,cAAc,GAAG,EAAE,CAAC,CAAC;;AAE3B,eAAe,SAASC,YAAYA,CAAE;EACrCC,SAAS,GAAG,SAAS;EACrBC,SAAS;EACTC;AACD,CAAC,EAAG;EACH,SAASC,aAAaA,CAAEC,KAAK,EAAG;IAC/B,MAAM;MAAEC;IAAQ,CAAC,GAAGD,KAAK;IAEzB,IACGH,SAAS,KAAK,MAAM,IAAII,OAAO,KAAKV,IAAI,IACxCM,SAAS,KAAK,OAAO,IAAII,OAAO,KAAKT,KAAO,EAC7C;MACDM,aAAa,CAAEJ,cAAe,CAAC;IAChC,CAAC,MAAM,IACJG,SAAS,KAAK,MAAM,IAAII,OAAO,KAAKT,KAAK,IACzCK,SAAS,KAAK,OAAO,IAAII,OAAO,KAAKV,IAAM,EAC5C;MACDO,aAAa,CAAE,CAACJ,cAAe,CAAC;IACjC;EACD;EAEA,OACCQ,aAAA,CAAAC,QAAA,QACCD,aAAA;IACCE,SAAS,EAAI,oCAAoCP,SAAW,iBAAiBD,SAAW,EAAG;IAC3F,cAAaN,EAAE,CAAE,gBAAiB,CAAG;IACrC,oBAAoB,iCAAiCO,SAAW,EAAG;IACnEQ,SAAS,EAAGN;EAAe,CAC3B,CAAC,EACFG,aAAA,CAACT,cAAc;IACda,EAAE,EAAI,iCAAiCT,SAAW;EAAG,GAEnDP,EAAE,CAAE,qDAAsD,CAC7C,CACf,CAAC;AAEL"}
1
+ {"version":3,"names":["__","LEFT","RIGHT","VisuallyHidden","DELTA_DISTANCE","ResizeHandle","variation","direction","resizeWidthBy","handleKeyDown","event","keyCode","createElement","Fragment","className","onKeyDown","type","id"],"sources":["@wordpress/edit-site/src/components/block-editor/resize-handle.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { LEFT, RIGHT } from '@wordpress/keycodes';\nimport { VisuallyHidden } from '@wordpress/components';\n\nconst DELTA_DISTANCE = 20; // The distance to resize per keydown in pixels.\n\nexport default function ResizeHandle( {\n\tvariation = 'default',\n\tdirection,\n\tresizeWidthBy,\n} ) {\n\tfunction handleKeyDown( event ) {\n\t\tconst { keyCode } = event;\n\n\t\tif (\n\t\t\t( direction === 'left' && keyCode === LEFT ) ||\n\t\t\t( direction === 'right' && keyCode === RIGHT )\n\t\t) {\n\t\t\tresizeWidthBy( DELTA_DISTANCE );\n\t\t} else if (\n\t\t\t( direction === 'left' && keyCode === RIGHT ) ||\n\t\t\t( direction === 'right' && keyCode === LEFT )\n\t\t) {\n\t\t\tresizeWidthBy( -DELTA_DISTANCE );\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<button\n\t\t\t\tclassName={ `resizable-editor__drag-handle is-${ direction } is-variation-${ variation }` }\n\t\t\t\taria-label={ __( 'Drag to resize' ) }\n\t\t\t\taria-describedby={ `resizable-editor__resize-help-${ direction }` }\n\t\t\t\tonKeyDown={ handleKeyDown }\n\t\t\t\ttype=\"button\"\n\t\t\t/>\n\t\t\t<VisuallyHidden\n\t\t\t\tid={ `resizable-editor__resize-help-${ direction }` }\n\t\t\t>\n\t\t\t\t{ __( 'Use left and right arrow keys to resize the canvas.' ) }\n\t\t\t</VisuallyHidden>\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,IAAI,EAAEC,KAAK,QAAQ,qBAAqB;AACjD,SAASC,cAAc,QAAQ,uBAAuB;AAEtD,MAAMC,cAAc,GAAG,EAAE,CAAC,CAAC;;AAE3B,eAAe,SAASC,YAAYA,CAAE;EACrCC,SAAS,GAAG,SAAS;EACrBC,SAAS;EACTC;AACD,CAAC,EAAG;EACH,SAASC,aAAaA,CAAEC,KAAK,EAAG;IAC/B,MAAM;MAAEC;IAAQ,CAAC,GAAGD,KAAK;IAEzB,IACGH,SAAS,KAAK,MAAM,IAAII,OAAO,KAAKV,IAAI,IACxCM,SAAS,KAAK,OAAO,IAAII,OAAO,KAAKT,KAAO,EAC7C;MACDM,aAAa,CAAEJ,cAAe,CAAC;IAChC,CAAC,MAAM,IACJG,SAAS,KAAK,MAAM,IAAII,OAAO,KAAKT,KAAK,IACzCK,SAAS,KAAK,OAAO,IAAII,OAAO,KAAKV,IAAM,EAC5C;MACDO,aAAa,CAAE,CAACJ,cAAe,CAAC;IACjC;EACD;EAEA,OACCQ,aAAA,CAAAC,QAAA,QACCD,aAAA;IACCE,SAAS,EAAI,oCAAoCP,SAAW,iBAAiBD,SAAW,EAAG;IAC3F,cAAaN,EAAE,CAAE,gBAAiB,CAAG;IACrC,oBAAoB,iCAAiCO,SAAW,EAAG;IACnEQ,SAAS,EAAGN,aAAe;IAC3BO,IAAI,EAAC;EAAQ,CACb,CAAC,EACFJ,aAAA,CAACT,cAAc;IACdc,EAAE,EAAI,iCAAiCV,SAAW;EAAG,GAEnDP,EAAE,CAAE,qDAAsD,CAC7C,CACf,CAAC;AAEL"}
@@ -19,10 +19,14 @@ import { serialize } from '@wordpress/blocks';
19
19
  import { TEMPLATE_PART_POST_TYPE, TEMPLATE_PART_AREA_DEFAULT_CATEGORY } from '../../utils/constants';
20
20
  import { useExistingTemplateParts, getUniqueTemplatePartTitle, getCleanTemplatePartSlug } from '../../utils/template-part-create';
21
21
  export default function CreateTemplatePartModal({
22
- closeModal,
22
+ defaultArea = TEMPLATE_PART_AREA_DEFAULT_CATEGORY,
23
23
  blocks = [],
24
+ confirmLabel = __('Create'),
25
+ closeModal,
26
+ modalTitle = __('Create template part'),
24
27
  onCreate,
25
- onError
28
+ onError,
29
+ defaultTitle = ''
26
30
  }) {
27
31
  const {
28
32
  createErrorNotice
@@ -31,8 +35,8 @@ export default function CreateTemplatePartModal({
31
35
  saveEntityRecord
32
36
  } = useDispatch(coreStore);
33
37
  const existingTemplateParts = useExistingTemplateParts();
34
- const [title, setTitle] = useState('');
35
- const [area, setArea] = useState(TEMPLATE_PART_AREA_DEFAULT_CATEGORY);
38
+ const [title, setTitle] = useState(defaultTitle);
39
+ const [area, setArea] = useState(defaultArea);
36
40
  const [isSubmitting, setIsSubmitting] = useState(false);
37
41
  const instanceId = useInstanceId(CreateTemplatePartModal);
38
42
  const templatePartAreas = useSelect(select => select(editorStore).__experimentalGetDefaultTemplatePartAreas(), []);
@@ -66,7 +70,7 @@ export default function CreateTemplatePartModal({
66
70
  }
67
71
  }
68
72
  return createElement(Modal, {
69
- title: __('Create template part'),
73
+ title: modalTitle,
70
74
  onRequestClose: closeModal,
71
75
  overlayClassName: "edit-site-create-template-part-modal"
72
76
  }, createElement("form", {
@@ -124,6 +128,6 @@ export default function CreateTemplatePartModal({
124
128
  type: "submit",
125
129
  "aria-disabled": !title || isSubmitting,
126
130
  isBusy: isSubmitting
127
- }, __('Create'))))));
131
+ }, confirmLabel)))));
128
132
  }
129
133
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useDispatch","Icon","BaseControl","TextControl","Flex","FlexItem","FlexBlock","Button","Modal","__experimentalRadioGroup","RadioGroup","__experimentalRadio","Radio","__experimentalHStack","HStack","__experimentalVStack","VStack","__","useState","useInstanceId","store","editorStore","noticesStore","coreStore","check","serialize","TEMPLATE_PART_POST_TYPE","TEMPLATE_PART_AREA_DEFAULT_CATEGORY","useExistingTemplateParts","getUniqueTemplatePartTitle","getCleanTemplatePartSlug","CreateTemplatePartModal","closeModal","blocks","onCreate","onError","createErrorNotice","saveEntityRecord","existingTemplateParts","title","setTitle","area","setArea","isSubmitting","setIsSubmitting","instanceId","templatePartAreas","select","__experimentalGetDefaultTemplatePartAreas","createTemplatePart","uniqueTitle","cleanSlug","templatePart","slug","content","throwOnError","error","errorMessage","message","code","type","createElement","onRequestClose","overlayClassName","onSubmit","event","preventDefault","spacing","__nextHasNoMarginBottom","label","value","onChange","required","id","className","checked","map","icon","description","key","align","justify","variant","onClick","isBusy"],"sources":["@wordpress/edit-site/src/components/create-template-part-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tIcon,\n\tBaseControl,\n\tTextControl,\n\tFlex,\n\tFlexItem,\n\tFlexBlock,\n\tButton,\n\tModal,\n\t__experimentalRadioGroup as RadioGroup,\n\t__experimentalRadio as Radio,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { check } from '@wordpress/icons';\nimport { serialize } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_PART_AREA_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport {\n\tuseExistingTemplateParts,\n\tgetUniqueTemplatePartTitle,\n\tgetCleanTemplatePartSlug,\n} from '../../utils/template-part-create';\n\nexport default function CreateTemplatePartModal( {\n\tcloseModal,\n\tblocks = [],\n\tonCreate,\n\tonError,\n} ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst existingTemplateParts = useExistingTemplateParts();\n\n\tconst [ title, setTitle ] = useState( '' );\n\tconst [ area, setArea ] = useState( TEMPLATE_PART_AREA_DEFAULT_CATEGORY );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\tconst instanceId = useInstanceId( CreateTemplatePartModal );\n\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t\t[]\n\t);\n\n\tasync function createTemplatePart() {\n\t\tif ( ! title || isSubmitting ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tsetIsSubmitting( true );\n\t\t\tconst uniqueTitle = getUniqueTemplatePartTitle(\n\t\t\t\ttitle,\n\t\t\t\texistingTemplateParts\n\t\t\t);\n\t\t\tconst cleanSlug = getCleanTemplatePartSlug( uniqueTitle );\n\n\t\t\tconst templatePart = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tslug: cleanSlug,\n\t\t\t\t\ttitle: uniqueTitle,\n\t\t\t\t\tcontent: serialize( blocks ),\n\t\t\t\t\tarea,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\t\t\tawait onCreate( templatePart );\n\n\t\t\t// TODO: Add a success notice?\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __(\n\t\t\t\t\t\t\t'An error occurred while creating the template part.'\n\t\t\t\t\t );\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\n\t\t\tonError?.();\n\t\t} finally {\n\t\t\tsetIsSubmitting( false );\n\t\t}\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Create template part' ) }\n\t\t\tonRequestClose={ closeModal }\n\t\t\toverlayClassName=\"edit-site-create-template-part-modal\"\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ async ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tawait createTemplatePart();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"4\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\t\tid={ `edit-site-create-template-part-modal__area-selection-${ instanceId }` }\n\t\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-base-control\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<RadioGroup\n\t\t\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-radio-group\"\n\t\t\t\t\t\t\tid={ `edit-site-create-template-part-modal__area-selection-${ instanceId }` }\n\t\t\t\t\t\t\tonChange={ setArea }\n\t\t\t\t\t\t\tchecked={ area }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ templatePartAreas.map(\n\t\t\t\t\t\t\t\t( {\n\t\t\t\t\t\t\t\t\ticon,\n\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\tarea: value,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t} ) => (\n\t\t\t\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\t\t\t\tkey={ label }\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-radio\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Flex align=\"start\" justify=\"start\">\n\t\t\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t<FlexBlock className=\"edit-site-create-template-part-modal__option-label\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t\t\t\t<div>{ description }</div>\n\t\t\t\t\t\t\t\t\t\t\t</FlexBlock>\n\n\t\t\t\t\t\t\t\t\t\t\t<FlexItem className=\"edit-site-create-template-part-modal__checkbox\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ area === value && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ check } />\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</FlexItem>\n\t\t\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t\t\t</Radio>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</RadioGroup>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\taria-disabled={ ! title || isSubmitting }\n\t\t\t\t\t\t\tisBusy={ isSubmitting }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useSelect","useDispatch","Icon","BaseControl","TextControl","Flex","FlexItem","FlexBlock","Button","Modal","__experimentalRadioGroup","RadioGroup","__experimentalRadio","Radio","__experimentalHStack","HStack","__experimentalVStack","VStack","__","useState","useInstanceId","store","editorStore","noticesStore","coreStore","check","serialize","TEMPLATE_PART_POST_TYPE","TEMPLATE_PART_AREA_DEFAULT_CATEGORY","useExistingTemplateParts","getUniqueTemplatePartTitle","getCleanTemplatePartSlug","CreateTemplatePartModal","defaultArea","blocks","confirmLabel","closeModal","modalTitle","onCreate","onError","defaultTitle","createErrorNotice","saveEntityRecord","existingTemplateParts","title","setTitle","area","setArea","isSubmitting","setIsSubmitting","instanceId","templatePartAreas","select","__experimentalGetDefaultTemplatePartAreas","createTemplatePart","uniqueTitle","cleanSlug","templatePart","slug","content","throwOnError","error","errorMessage","message","code","type","createElement","onRequestClose","overlayClassName","onSubmit","event","preventDefault","spacing","__nextHasNoMarginBottom","label","value","onChange","required","id","className","checked","map","icon","description","key","align","justify","variant","onClick","isBusy"],"sources":["@wordpress/edit-site/src/components/create-template-part-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tIcon,\n\tBaseControl,\n\tTextControl,\n\tFlex,\n\tFlexItem,\n\tFlexBlock,\n\tButton,\n\tModal,\n\t__experimentalRadioGroup as RadioGroup,\n\t__experimentalRadio as Radio,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { check } from '@wordpress/icons';\nimport { serialize } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_PART_AREA_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport {\n\tuseExistingTemplateParts,\n\tgetUniqueTemplatePartTitle,\n\tgetCleanTemplatePartSlug,\n} from '../../utils/template-part-create';\n\nexport default function CreateTemplatePartModal( {\n\tdefaultArea = TEMPLATE_PART_AREA_DEFAULT_CATEGORY,\n\tblocks = [],\n\tconfirmLabel = __( 'Create' ),\n\tcloseModal,\n\tmodalTitle = __( 'Create template part' ),\n\tonCreate,\n\tonError,\n\tdefaultTitle = '',\n} ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst existingTemplateParts = useExistingTemplateParts();\n\n\tconst [ title, setTitle ] = useState( defaultTitle );\n\tconst [ area, setArea ] = useState( defaultArea );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\tconst instanceId = useInstanceId( CreateTemplatePartModal );\n\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t\t[]\n\t);\n\n\tasync function createTemplatePart() {\n\t\tif ( ! title || isSubmitting ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tsetIsSubmitting( true );\n\t\t\tconst uniqueTitle = getUniqueTemplatePartTitle(\n\t\t\t\ttitle,\n\t\t\t\texistingTemplateParts\n\t\t\t);\n\t\t\tconst cleanSlug = getCleanTemplatePartSlug( uniqueTitle );\n\n\t\t\tconst templatePart = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tslug: cleanSlug,\n\t\t\t\t\ttitle: uniqueTitle,\n\t\t\t\t\tcontent: serialize( blocks ),\n\t\t\t\t\tarea,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\t\t\tawait onCreate( templatePart );\n\n\t\t\t// TODO: Add a success notice?\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __(\n\t\t\t\t\t\t\t'An error occurred while creating the template part.'\n\t\t\t\t\t );\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\n\t\t\tonError?.();\n\t\t} finally {\n\t\t\tsetIsSubmitting( false );\n\t\t}\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalTitle }\n\t\t\tonRequestClose={ closeModal }\n\t\t\toverlayClassName=\"edit-site-create-template-part-modal\"\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ async ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tawait createTemplatePart();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"4\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\t\tid={ `edit-site-create-template-part-modal__area-selection-${ instanceId }` }\n\t\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-base-control\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<RadioGroup\n\t\t\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-radio-group\"\n\t\t\t\t\t\t\tid={ `edit-site-create-template-part-modal__area-selection-${ instanceId }` }\n\t\t\t\t\t\t\tonChange={ setArea }\n\t\t\t\t\t\t\tchecked={ area }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ templatePartAreas.map(\n\t\t\t\t\t\t\t\t( {\n\t\t\t\t\t\t\t\t\ticon,\n\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\tarea: value,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t} ) => (\n\t\t\t\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\t\t\t\tkey={ label }\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-radio\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Flex align=\"start\" justify=\"start\">\n\t\t\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t<FlexBlock className=\"edit-site-create-template-part-modal__option-label\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t\t\t\t<div>{ description }</div>\n\t\t\t\t\t\t\t\t\t\t\t</FlexBlock>\n\n\t\t\t\t\t\t\t\t\t\t\t<FlexItem className=\"edit-site-create-template-part-modal__checkbox\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ area === value && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ check } />\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</FlexItem>\n\t\t\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t\t\t</Radio>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</RadioGroup>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\taria-disabled={ ! title || isSubmitting }\n\t\t\t\t\t\t\tisBusy={ isSubmitting }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ confirmLabel }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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"}
@@ -1,53 +1,62 @@
1
1
  import { createElement } from "react";
2
- /**
3
- * External dependencies
4
- */
5
- import { getCoreRowModel, getFilteredRowModel, getSortedRowModel, getPaginationRowModel, useReactTable } from '@tanstack/react-table';
6
-
7
2
  /**
8
3
  * WordPress dependencies
9
4
  */
10
5
  import { __experimentalVStack as VStack, __experimentalHStack as HStack } from '@wordpress/components';
6
+ import { useMemo } from '@wordpress/element';
11
7
 
12
8
  /**
13
9
  * Internal dependencies
14
10
  */
15
- import ListView from './list-view';
16
- import { Pagination } from './pagination';
11
+ import ViewList from './view-list';
12
+ import Pagination from './pagination';
17
13
  import ViewActions from './view-actions';
18
- import TextFilter from './text-filter';
14
+ import Filters from './filters';
15
+ import { ViewGrid } from './view-grid';
19
16
  export default function DataViews({
20
- data,
17
+ view,
18
+ onChangeView,
21
19
  fields,
22
- isLoading,
23
- paginationInfo,
24
- options
20
+ actions,
21
+ data,
22
+ isLoading = false,
23
+ paginationInfo
25
24
  }) {
26
- const dataView = useReactTable({
27
- data,
28
- columns: fields,
29
- ...options,
30
- getCoreRowModel: getCoreRowModel(),
31
- getFilteredRowModel: getFilteredRowModel(),
32
- getSortedRowModel: getSortedRowModel(),
33
- getPaginationRowModel: getPaginationRowModel()
34
- });
25
+ const ViewComponent = view.type === 'list' ? ViewList : ViewGrid;
26
+ const _fields = useMemo(() => {
27
+ return fields.map(field => ({
28
+ ...field,
29
+ render: field.render || field.getValue
30
+ }));
31
+ }, [fields]);
35
32
  return createElement("div", {
36
33
  className: "dataviews-wrapper"
37
34
  }, createElement(VStack, {
38
35
  spacing: 4
39
- }, createElement(HStack, {
40
- justify: "space-between"
41
- }, createElement(TextFilter, {
42
- onChange: dataView.setGlobalFilter
43
- }), createElement(ViewActions, {
44
- dataView: dataView
45
- })), createElement(ListView, {
46
- dataView: dataView,
36
+ }, createElement(HStack, null, createElement(HStack, {
37
+ justify: "start"
38
+ }, createElement(Filters, {
39
+ fields: fields,
40
+ view: view,
41
+ onChangeView: onChangeView
42
+ })), createElement(HStack, {
43
+ justify: "end"
44
+ }, createElement(ViewActions, {
45
+ fields: fields,
46
+ view: view,
47
+ onChangeView: onChangeView
48
+ }))), createElement(ViewComponent, {
49
+ fields: _fields,
50
+ view: view,
51
+ onChangeView: onChangeView,
52
+ paginationInfo: paginationInfo,
53
+ actions: actions,
54
+ data: data,
47
55
  isLoading: isLoading
48
56
  }), createElement(Pagination, {
49
- dataView: dataView,
50
- totalItems: paginationInfo?.totalItems
57
+ view: view,
58
+ onChangeView: onChangeView,
59
+ paginationInfo: paginationInfo
51
60
  })));
52
61
  }
53
62
  //# sourceMappingURL=dataviews.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getCoreRowModel","getFilteredRowModel","getSortedRowModel","getPaginationRowModel","useReactTable","__experimentalVStack","VStack","__experimentalHStack","HStack","ListView","Pagination","ViewActions","TextFilter","DataViews","data","fields","isLoading","paginationInfo","options","dataView","columns","createElement","className","spacing","justify","onChange","setGlobalFilter","totalItems"],"sources":["@wordpress/edit-site/src/components/dataviews/dataviews.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tgetCoreRowModel,\n\tgetFilteredRowModel,\n\tgetSortedRowModel,\n\tgetPaginationRowModel,\n\tuseReactTable,\n} from '@tanstack/react-table';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport ListView from './list-view';\nimport { Pagination } from './pagination';\nimport ViewActions from './view-actions';\nimport TextFilter from './text-filter';\n\nexport default function DataViews( {\n\tdata,\n\tfields,\n\tisLoading,\n\tpaginationInfo,\n\toptions,\n} ) {\n\tconst dataView = useReactTable( {\n\t\tdata,\n\t\tcolumns: fields,\n\t\t...options,\n\t\tgetCoreRowModel: getCoreRowModel(),\n\t\tgetFilteredRowModel: getFilteredRowModel(),\n\t\tgetSortedRowModel: getSortedRowModel(),\n\t\tgetPaginationRowModel: getPaginationRowModel(),\n\t} );\n\treturn (\n\t\t<div className=\"dataviews-wrapper\">\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t<TextFilter onChange={ dataView.setGlobalFilter } />\n\t\t\t\t\t<ViewActions dataView={ dataView } />\n\t\t\t\t</HStack>\n\t\t\t\t{ /* This component will be selected based on viewConfigs. Now we only have the list view. */ }\n\t\t\t\t<ListView dataView={ dataView } isLoading={ isLoading } />\n\t\t\t\t<Pagination\n\t\t\t\t\tdataView={ dataView }\n\t\t\t\t\ttotalItems={ paginationInfo?.totalItems }\n\t\t\t\t/>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,eAAe,EACfC,mBAAmB,EACnBC,iBAAiB,EACjBC,qBAAqB,EACrBC,aAAa,QACP,uBAAuB;;AAE9B;AACA;AACA;AACA,SACCC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;;AAE9B;AACA;AACA;AACA,OAAOC,QAAQ,MAAM,aAAa;AAClC,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,UAAU,MAAM,eAAe;AAEtC,eAAe,SAASC,SAASA,CAAE;EAClCC,IAAI;EACJC,MAAM;EACNC,SAAS;EACTC,cAAc;EACdC;AACD,CAAC,EAAG;EACH,MAAMC,QAAQ,GAAGf,aAAa,CAAE;IAC/BU,IAAI;IACJM,OAAO,EAAEL,MAAM;IACf,GAAGG,OAAO;IACVlB,eAAe,EAAEA,eAAe,CAAC,CAAC;IAClCC,mBAAmB,EAAEA,mBAAmB,CAAC,CAAC;IAC1CC,iBAAiB,EAAEA,iBAAiB,CAAC,CAAC;IACtCC,qBAAqB,EAAEA,qBAAqB,CAAC;EAC9C,CAAE,CAAC;EACH,OACCkB,aAAA;IAAKC,SAAS,EAAC;EAAmB,GACjCD,aAAA,CAACf,MAAM;IAACiB,OAAO,EAAG;EAAG,GACpBF,aAAA,CAACb,MAAM;IAACgB,OAAO,EAAC;EAAe,GAC9BH,aAAA,CAACT,UAAU;IAACa,QAAQ,EAAGN,QAAQ,CAACO;EAAiB,CAAE,CAAC,EACpDL,aAAA,CAACV,WAAW;IAACQ,QAAQ,EAAGA;EAAU,CAAE,CAC7B,CAAC,EAETE,aAAA,CAACZ,QAAQ;IAACU,QAAQ,EAAGA,QAAU;IAACH,SAAS,EAAGA;EAAW,CAAE,CAAC,EAC1DK,aAAA,CAACX,UAAU;IACVS,QAAQ,EAAGA,QAAU;IACrBQ,UAAU,EAAGV,cAAc,EAAEU;EAAY,CACzC,CACM,CACJ,CAAC;AAER"}
1
+ {"version":3,"names":["__experimentalVStack","VStack","__experimentalHStack","HStack","useMemo","ViewList","Pagination","ViewActions","Filters","ViewGrid","DataViews","view","onChangeView","fields","actions","data","isLoading","paginationInfo","ViewComponent","type","_fields","map","field","render","getValue","createElement","className","spacing","justify"],"sources":["@wordpress/edit-site/src/components/dataviews/dataviews.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport ViewList from './view-list';\nimport Pagination from './pagination';\nimport ViewActions from './view-actions';\nimport Filters from './filters';\nimport { ViewGrid } from './view-grid';\n\nexport default function DataViews( {\n\tview,\n\tonChangeView,\n\tfields,\n\tactions,\n\tdata,\n\tisLoading = false,\n\tpaginationInfo,\n} ) {\n\tconst ViewComponent = view.type === 'list' ? ViewList : ViewGrid;\n\tconst _fields = useMemo( () => {\n\t\treturn fields.map( ( field ) => ( {\n\t\t\t...field,\n\t\t\trender: field.render || field.getValue,\n\t\t} ) );\n\t}, [ fields ] );\n\treturn (\n\t\t<div className=\"dataviews-wrapper\">\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<HStack>\n\t\t\t\t\t<HStack justify=\"start\">\n\t\t\t\t\t\t<Filters\n\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<HStack justify=\"end\">\n\t\t\t\t\t\t<ViewActions\n\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t</HStack>\n\t\t\t\t<ViewComponent\n\t\t\t\t\tfields={ _fields }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ data }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t/>\n\t\t\t\t<Pagination\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t/>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,OAAO,QAAQ,oBAAoB;;AAE5C;AACA;AACA;AACA,OAAOC,QAAQ,MAAM,aAAa;AAClC,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,OAAO,MAAM,WAAW;AAC/B,SAASC,QAAQ,QAAQ,aAAa;AAEtC,eAAe,SAASC,SAASA,CAAE;EAClCC,IAAI;EACJC,YAAY;EACZC,MAAM;EACNC,OAAO;EACPC,IAAI;EACJC,SAAS,GAAG,KAAK;EACjBC;AACD,CAAC,EAAG;EACH,MAAMC,aAAa,GAAGP,IAAI,CAACQ,IAAI,KAAK,MAAM,GAAGd,QAAQ,GAAGI,QAAQ;EAChE,MAAMW,OAAO,GAAGhB,OAAO,CAAE,MAAM;IAC9B,OAAOS,MAAM,CAACQ,GAAG,CAAIC,KAAK,KAAQ;MACjC,GAAGA,KAAK;MACRC,MAAM,EAAED,KAAK,CAACC,MAAM,IAAID,KAAK,CAACE;IAC/B,CAAC,CAAG,CAAC;EACN,CAAC,EAAE,CAAEX,MAAM,CAAG,CAAC;EACf,OACCY,aAAA;IAAKC,SAAS,EAAC;EAAmB,GACjCD,aAAA,CAACxB,MAAM;IAAC0B,OAAO,EAAG;EAAG,GACpBF,aAAA,CAACtB,MAAM,QACNsB,aAAA,CAACtB,MAAM;IAACyB,OAAO,EAAC;EAAO,GACtBH,aAAA,CAACjB,OAAO;IACPK,MAAM,EAAGA,MAAQ;IACjBF,IAAI,EAAGA,IAAM;IACbC,YAAY,EAAGA;EAAc,CAC7B,CACM,CAAC,EACTa,aAAA,CAACtB,MAAM;IAACyB,OAAO,EAAC;EAAK,GACpBH,aAAA,CAAClB,WAAW;IACXM,MAAM,EAAGA,MAAQ;IACjBF,IAAI,EAAGA,IAAM;IACbC,YAAY,EAAGA;EAAc,CAC7B,CACM,CACD,CAAC,EACTa,aAAA,CAACP,aAAa;IACbL,MAAM,EAAGO,OAAS;IAClBT,IAAI,EAAGA,IAAM;IACbC,YAAY,EAAGA,YAAc;IAC7BK,cAAc,EAAGA,cAAgB;IACjCH,OAAO,EAAGA,OAAS;IACnBC,IAAI,EAAGA,IAAM;IACbC,SAAS,EAAGA;EAAW,CACvB,CAAC,EACFS,aAAA,CAACnB,UAAU;IACVK,IAAI,EAAGA,IAAM;IACbC,YAAY,EAAGA,YAAc;IAC7BK,cAAc,EAAGA;EAAgB,CACjC,CACM,CACJ,CAAC;AAER"}
@@ -0,0 +1,22 @@
1
+ import { createElement } from "react";
2
+ /**
3
+ * WordPress dependencies
4
+ */
5
+ import { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';
6
+ import { __ } from '@wordpress/i18n';
7
+ import { moreVertical } from '@wordpress/icons';
8
+ function FieldActions({
9
+ item,
10
+ actions
11
+ }) {
12
+ return createElement(DropdownMenu, {
13
+ icon: moreVertical,
14
+ label: __('Actions')
15
+ }, () => createElement(MenuGroup, null, actions.map(action => createElement(MenuItem, {
16
+ key: action.id,
17
+ onClick: () => action.perform(item),
18
+ isDestructive: action.isDesctructive
19
+ }, action.label))));
20
+ }
21
+ export default FieldActions;
22
+ //# sourceMappingURL=field-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DropdownMenu","MenuGroup","MenuItem","__","moreVertical","FieldActions","item","actions","createElement","icon","label","map","action","key","id","onClick","perform","isDestructive","isDesctructive"],"sources":["@wordpress/edit-site/src/components/dataviews/field-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\n\nfunction FieldActions( { item, actions } ) {\n\treturn (\n\t\t<DropdownMenu icon={ moreVertical } label={ __( 'Actions' ) }>\n\t\t\t{ () => (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t{ actions.map( ( action ) => (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\tonClick={ () => action.perform( item ) }\n\t\t\t\t\t\t\tisDestructive={ action.isDesctructive }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ action.label }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t) ) }\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n\nexport default FieldActions;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,YAAY,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,uBAAuB;AACzE,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,YAAY,QAAQ,kBAAkB;AAE/C,SAASC,YAAYA,CAAE;EAAEC,IAAI;EAAEC;AAAQ,CAAC,EAAG;EAC1C,OACCC,aAAA,CAACR,YAAY;IAACS,IAAI,EAAGL,YAAc;IAACM,KAAK,EAAGP,EAAE,CAAE,SAAU;EAAG,GAC1D,MACDK,aAAA,CAACP,SAAS,QACPM,OAAO,CAACI,GAAG,CAAIC,MAAM,IACtBJ,aAAA,CAACN,QAAQ;IACRW,GAAG,EAAGD,MAAM,CAACE,EAAI;IACjBC,OAAO,EAAGA,CAAA,KAAMH,MAAM,CAACI,OAAO,CAAEV,IAAK,CAAG;IACxCW,aAAa,EAAGL,MAAM,CAACM;EAAgB,GAErCN,MAAM,CAACF,KACA,CACT,CACQ,CAEC,CAAC;AAEjB;AAEA,eAAeL,YAAY"}
@@ -0,0 +1,53 @@
1
+ import { createElement } from "react";
2
+ /**
3
+ * WordPress dependencies
4
+ */
5
+ import { __ } from '@wordpress/i18n';
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import TextFilter from './text-filter';
11
+ import InFilter from './in-filter';
12
+ export default function Filters({
13
+ fields,
14
+ view,
15
+ onChangeView
16
+ }) {
17
+ const filters = {};
18
+ fields.forEach(field => {
19
+ if (!field.filters) {
20
+ return;
21
+ }
22
+ field.filters.forEach(f => {
23
+ filters[f.id] = {
24
+ type: f.type
25
+ };
26
+ });
27
+ });
28
+ return view.visibleFilters?.map(filterName => {
29
+ const filter = filters[filterName];
30
+ if (!filter) {
31
+ return null;
32
+ }
33
+ if (filter.type === 'search') {
34
+ return createElement(TextFilter, {
35
+ key: filterName,
36
+ id: filterName,
37
+ view: view,
38
+ onChangeView: onChangeView
39
+ });
40
+ }
41
+ if (filter.type === 'enumeration') {
42
+ return createElement(InFilter, {
43
+ key: filterName,
44
+ id: filterName,
45
+ fields: fields,
46
+ view: view,
47
+ onChangeView: onChangeView
48
+ });
49
+ }
50
+ return null;
51
+ }) || __('No filters available');
52
+ }
53
+ //# sourceMappingURL=filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__","TextFilter","InFilter","Filters","fields","view","onChangeView","filters","forEach","field","f","id","type","visibleFilters","map","filterName","filter","createElement","key"],"sources":["@wordpress/edit-site/src/components/dataviews/filters.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport TextFilter from './text-filter';\nimport InFilter from './in-filter';\n\nexport default function Filters( { fields, view, onChangeView } ) {\n\tconst filters = {};\n\tfields.forEach( ( field ) => {\n\t\tif ( ! field.filters ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfield.filters.forEach( ( f ) => {\n\t\t\tfilters[ f.id ] = { type: f.type };\n\t\t} );\n\t} );\n\n\treturn (\n\t\tview.visibleFilters?.map( ( filterName ) => {\n\t\t\tconst filter = filters[ filterName ];\n\n\t\t\tif ( ! filter ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tif ( filter.type === 'search' ) {\n\t\t\t\treturn (\n\t\t\t\t\t<TextFilter\n\t\t\t\t\t\tkey={ filterName }\n\t\t\t\t\t\tid={ filterName }\n\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t\tif ( filter.type === 'enumeration' ) {\n\t\t\t\treturn (\n\t\t\t\t\t<InFilter\n\t\t\t\t\t\tkey={ filterName }\n\t\t\t\t\t\tid={ filterName }\n\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn null;\n\t\t} ) || __( 'No filters available' )\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,UAAU,MAAM,eAAe;AACtC,OAAOC,QAAQ,MAAM,aAAa;AAElC,eAAe,SAASC,OAAOA,CAAE;EAAEC,MAAM;EAAEC,IAAI;EAAEC;AAAa,CAAC,EAAG;EACjE,MAAMC,OAAO,GAAG,CAAC,CAAC;EAClBH,MAAM,CAACI,OAAO,CAAIC,KAAK,IAAM;IAC5B,IAAK,CAAEA,KAAK,CAACF,OAAO,EAAG;MACtB;IACD;IAEAE,KAAK,CAACF,OAAO,CAACC,OAAO,CAAIE,CAAC,IAAM;MAC/BH,OAAO,CAAEG,CAAC,CAACC,EAAE,CAAE,GAAG;QAAEC,IAAI,EAAEF,CAAC,CAACE;MAAK,CAAC;IACnC,CAAE,CAAC;EACJ,CAAE,CAAC;EAEH,OACCP,IAAI,CAACQ,cAAc,EAAEC,GAAG,CAAIC,UAAU,IAAM;IAC3C,MAAMC,MAAM,GAAGT,OAAO,CAAEQ,UAAU,CAAE;IAEpC,IAAK,CAAEC,MAAM,EAAG;MACf,OAAO,IAAI;IACZ;IAEA,IAAKA,MAAM,CAACJ,IAAI,KAAK,QAAQ,EAAG;MAC/B,OACCK,aAAA,CAAChB,UAAU;QACViB,GAAG,EAAGH,UAAY;QAClBJ,EAAE,EAAGI,UAAY;QACjBV,IAAI,EAAGA,IAAM;QACbC,YAAY,EAAGA;MAAc,CAC7B,CAAC;IAEJ;IACA,IAAKU,MAAM,CAACJ,IAAI,KAAK,aAAa,EAAG;MACpC,OACCK,aAAA,CAACf,QAAQ;QACRgB,GAAG,EAAGH,UAAY;QAClBJ,EAAE,EAAGI,UAAY;QACjBX,MAAM,EAAGA,MAAQ;QACjBC,IAAI,EAAGA,IAAM;QACbC,YAAY,EAAGA;MAAc,CAC7B,CAAC;IAEJ;IAEA,OAAO,IAAI;EACZ,CAAE,CAAC,IAAIN,EAAE,CAAE,sBAAuB,CAAC;AAErC"}
@@ -0,0 +1,43 @@
1
+ import { createElement } from "react";
2
+ /**
3
+ * WordPress dependencies
4
+ */
5
+ import { __experimentalInputControlPrefixWrapper as InputControlPrefixWrapper, SelectControl } from '@wordpress/components';
6
+ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
7
+
8
+ /**
9
+ * Internal dependencies
10
+ */
11
+ import { unlock } from '../../lock-unlock';
12
+ const {
13
+ cleanEmptyObject
14
+ } = unlock(blockEditorPrivateApis);
15
+ export default (({
16
+ id,
17
+ fields,
18
+ view,
19
+ onChangeView
20
+ }) => {
21
+ const field = fields.find(f => f.id === id);
22
+ return createElement(SelectControl, {
23
+ value: view.filters[id],
24
+ prefix: createElement(InputControlPrefixWrapper, {
25
+ as: "span",
26
+ className: "dataviews__select-control-prefix"
27
+ }, field.header + ':'),
28
+ options: field?.elements || [],
29
+ onChange: value => {
30
+ if (value === '') {
31
+ value = undefined;
32
+ }
33
+ onChangeView(currentView => ({
34
+ ...currentView,
35
+ filters: cleanEmptyObject({
36
+ ...currentView.filters,
37
+ [id]: value
38
+ })
39
+ }));
40
+ }
41
+ });
42
+ });
43
+ //# sourceMappingURL=in-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__experimentalInputControlPrefixWrapper","InputControlPrefixWrapper","SelectControl","privateApis","blockEditorPrivateApis","unlock","cleanEmptyObject","id","fields","view","onChangeView","field","find","f","createElement","value","filters","prefix","as","className","header","options","elements","onChange","undefined","currentView"],"sources":["@wordpress/edit-site/src/components/dataviews/in-filter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n\tSelectControl,\n} from '@wordpress/components';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nexport default ( { id, fields, view, onChangeView } ) => {\n\tconst field = fields.find( ( f ) => f.id === id );\n\n\treturn (\n\t\t<SelectControl\n\t\t\tvalue={ view.filters[ id ] }\n\t\t\tprefix={\n\t\t\t\t<InputControlPrefixWrapper\n\t\t\t\t\tas=\"span\"\n\t\t\t\t\tclassName=\"dataviews__select-control-prefix\"\n\t\t\t\t>\n\t\t\t\t\t{ field.header + ':' }\n\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t}\n\t\t\toptions={ field?.elements || [] }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tif ( value === '' ) {\n\t\t\t\t\tvalue = undefined;\n\t\t\t\t}\n\n\t\t\t\tonChangeView( ( currentView ) => ( {\n\t\t\t\t\t...currentView,\n\t\t\t\t\tfilters: cleanEmptyObject( {\n\t\t\t\t\t\t...currentView.filters,\n\t\t\t\t\t\t[ id ]: value,\n\t\t\t\t\t} ),\n\t\t\t\t} ) );\n\t\t\t} }\n\t\t/>\n\t);\n};\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,uCAAuC,IAAIC,yBAAyB,EACpEC,aAAa,QACP,uBAAuB;AAC9B,SAASC,WAAW,IAAIC,sBAAsB,QAAQ,yBAAyB;;AAE/E;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EAAEC;AAAiB,CAAC,GAAGD,MAAM,CAAED,sBAAuB,CAAC;AAE7D,gBAAe,CAAE;EAAEG,EAAE;EAAEC,MAAM;EAAEC,IAAI;EAAEC;AAAa,CAAC,KAAM;EACxD,MAAMC,KAAK,GAAGH,MAAM,CAACI,IAAI,CAAIC,CAAC,IAAMA,CAAC,CAACN,EAAE,KAAKA,EAAG,CAAC;EAEjD,OACCO,aAAA,CAACZ,aAAa;IACba,KAAK,EAAGN,IAAI,CAACO,OAAO,CAAET,EAAE,CAAI;IAC5BU,MAAM,EACLH,aAAA,CAACb,yBAAyB;MACzBiB,EAAE,EAAC,MAAM;MACTC,SAAS,EAAC;IAAkC,GAE1CR,KAAK,CAACS,MAAM,GAAG,GACS,CAC3B;IACDC,OAAO,EAAGV,KAAK,EAAEW,QAAQ,IAAI,EAAI;IACjCC,QAAQ,EAAKR,KAAK,IAAM;MACvB,IAAKA,KAAK,KAAK,EAAE,EAAG;QACnBA,KAAK,GAAGS,SAAS;MAClB;MAEAd,YAAY,CAAIe,WAAW,KAAQ;QAClC,GAAGA,WAAW;QACdT,OAAO,EAAEV,gBAAgB,CAAE;UAC1B,GAAGmB,WAAW,CAACT,OAAO;UACtB,CAAET,EAAE,GAAIQ;QACT,CAAE;MACH,CAAC,CAAG,CAAC;IACN;EAAG,CACH,CAAC;AAEJ,CAAC"}
@@ -1,3 +1,2 @@
1
1
  export { default as DataViews } from './dataviews';
2
- export { PAGE_SIZE_VALUES } from './view-actions';
3
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default","DataViews","PAGE_SIZE_VALUES"],"sources":["@wordpress/edit-site/src/components/dataviews/index.js"],"sourcesContent":["export { default as DataViews } from './dataviews';\nexport { PAGE_SIZE_VALUES } from './view-actions';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,SAAS,QAAQ,aAAa;AAClD,SAASC,gBAAgB,QAAQ,gBAAgB"}
1
+ {"version":3,"names":["default","DataViews"],"sources":["@wordpress/edit-site/src/components/dataviews/index.js"],"sourcesContent":["export { default as DataViews } from './dataviews';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,SAAS,QAAQ,aAAa"}