-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Link interface iteration #17557
Comments
Chiming in quickly with some first reactions. Excuse if I lack all the context:
Hope this helps! |
Thanks for the great feedback @pablohoneyhoney. I'll be iterating based on it but wanted to also reply to a few bits whilst work on that. I thought it could be good to add the original interface here too so we can bounce from that in discussion:
Absolutely, it's a tight space and I recognise I need to iterate the rhythm. In one aspect, I was trying to offset the toggle to distil its weight but might have caused the opposite reaction in that case. I'll have some experimentation there and see where I can find a good middle point.
I agree and if we look at what we have now, I am not sure we have that balance yet. I explored a few different platforms. Most seemed to fall into the linked examples. The most minimal was, for example, Medium: OneNote as an interface I find interesting for some features (it's reading modes), but it was very similar to Google: Notion is closer to what we have today (without icons and unlink in toolbar): Do you have any interfaces you think would be great to consider in this iteration?
It's not and the toggle is hidden in our current interface. I wouldn't be against adopting that approach in this one at all. My experiment in surfacing everything does expose some hierarchy flaws as a toggle is a strong element.
Here is where I think we need to work out what is relevant, which is great as an opportunity. Initially, in exploring this I kept to our current version showing nothing apart from the link. I'll explore some versions around that to see where the essentials are now we have a point with everything there. Type is relevant as we move to navigation, but whether that's shown in tabs over meta. Dividers helped visually, but let me explore the pace of the design as perhaps there's gain there to extract dividers. Thanks for the feedback as it's good fuel for next iterations. |
Adding this one for reference : #17556 The interface should have room for more options aside from "Open to new Tab" Thanks! |
Over in #17544 I shared a design for the link inserter that was specifically focused on adding Pages. It looks like this: However, I've been toying with designs for expanding this to include pages, posts, categories, and even the ability to add a new page. One of the first ones (shared above as well) uses a tabbed interface to allow users to switch between types of content to link to: -- Another option uses the existing UI accordion pattern from the block inserter to show groups of content types: -- Similarly, we could also adopt the inserter preview pane to show a visual preview of the post/page/etc along with more detailed information: |
@phpbits, as discussed in the weekly design meeting and updated on a different ticket about adding an option, for now adding new options to the interface isn't something going to be done in core but a way to extend will be there. Whatever interface the ability to extend is going to absolutely have to be a consideration. |
Let's look at how we can progress here, thanks for all the great input @shaunandrews. As far as the multiple paged approaches:
My own feelings are that the accordion makes sense but I wouldn't be against the tabs if everyone feels they are right. I do wonder if using the preview makes this too the same as block library? I also followed that pattern several iterations ago and the feedback was they were distinctly different. Maybe let's park preview whilst we consider which direction to go regarding tabs or accordion. There are 2 other decisions I feel around this before we can have 'one link' interface.
Once the discussion has happened around this I think we are close to at least moving into code to feel what this interface is, thanks everyone for all your hard work to get here. |
I like the last iteration (#17557 (comment)) quite a bit. A few things:
So what remains to do? It seems to me like discussions around tabs, accordions and pagination all relate to the need for this to work for the Navigation Menu also. Specifically tabs or accordions could help group all Pages into one, all Posts into another, all Categories into a third, and so on. Pagination could help when an install has 2000 pages. But it does beg the question, can we file that as a future improvement and go with what you have right now? How would that work? Well, for one Pages, Categories, Posts, would all be mingled together in one big pool, and we would show only |
@jasmussen here's an iteration based on the toggle, it has the 'add' button which is also up for conversation. Having a physical 'add' feels better to me than an icon but we might decide to have none. |
Nice. I like "Add". Remaining nitpicks can probably happen in implementation, but I imagine that Add, Portfolio, and Open in new tab should all have the same font size and color, and be the same font size. I'm assuming that's the case but it's a little hard to see. |
+1 to @jasmussen's comments. I also think the text should align with the left side of the search bar, not the search bar's label. |
Having an "Add" button there all the time seems unhelpful — its confusing in the context of searching. Perhaps a confirm/add button should only show when a URL is pasted into the input. Otherwise, I think the search input should look/work exactly like the search in the Block Inserter. |
I don't think this needs to be exposed when adding a link. It should just be a setting within the block sidebar after you add the link. |
Here are some iterations with a few points: Whilst open in new tab to me is also a secondary action, we have it right now as primary. It would have to be an action based on the block the link is added if it's to go in the sidebar, does that make sense from a usability view? Would I look in the block and what if I had more than one link? The point is we are creating a link interface to replace the adding of links everywhere that adapts to navigation. |
Ah, this helps. I've only been considering the very specific use-case for the Navigation block. This reframes the problem. -- Here's an updated mockup:
|
I think we're at for me! I might suggest we have less indent like in @melchoyce's recommendation, but that is super minor. Thank you so much @shaunandrews for the work here, it's incredible to see this evolving. @mapk let's get your feedback and then for me, this feels ready to move to dev which is so exciting. |
I think the indentation makes a little more sense now that I'm seeing @shaunandrews's prototype. How will inserting work — click on an item to add? If so, will folks need to toggle on "open link in new tab" before selecting an item? |
Wow, this has definitely made a circle, albeit improved, back to some of the original mockups regarding the Nav block. Really nice work throughout this thread! The last prototype from @shaunandrews feels like an intuitive solution for the user. It presents some common results, clearly indicates what type of content they are, and allows searching or simple pasting to happen. The UI is scannable and easy to digest. My only concern is the lighter gray meta data. I'm sure everyone's thought about it, but let's make sure it passes color contrast. When considering this in relation to the Nav block (which I know this issue is kind of aimed at), @melchoyce brings up a good point about adding an item? What if my "About" page doesn't exist? Should I be able to create it within this popover? |
Yea, that was my intention.
In this design, yes. But this same (or a state of this) interface will appear when editing a link, so you can toggle the setting.
Sure, I mostly eyeballed the colors, so once this is in code we'll use standard colors and have to double-check to ensure they pass any contrast requirements.
I've ignored the ability to create a new page/post/category — there's too many open questions there, and is probably best saved for a future iteration. |
That feels right for me too, it feels like an extra iteration for now. Worth exploring but that can be done after we have a v1 for me. |
@shaunandrews I like that as follows pattern. I do think it's an extra for now though still. Very good to have an idea visually though. |
Addresses designer feedback #17557 (comment)
Addresses designer feedback #17557 (comment)
Just FYI: #18062 |
Addresses designer feedback #17557 (comment)
* Initial component file structure * Implement basic icon and toggle mechanic * Adds basic search input * Update input to utilise LinkEditor component autocomplete * Add ability to customise placeholder * Update to utilise URLInput directly for greater flexibility * Add example search results and test coverage * Update class naming convention to match guidelines See https://github.com/WordPress/gutenberg/blob/master/docs/contributors/coding-guidelines.md#css Addresses #17846 (comment) * Adds render prop to enable custom suggestions rendering Previously it wasn’t possible to customise the render of the search suggestions. By providing an optional render prop we now have full control over this if required. * Update to utilise URLInput render prop to customise search suggestions render Previously we relied on our own render of suggestions but this wasn’t hooked up to all the accessibility enhancements afforded by URLInput. By utilising the render prop exposed by URLInput to customise the rendering of suggestions, we can have the best of both worlds. * Update to add post type to the fetchLinkSuggestions responsive mapping This is required to display the type of entitity in the search results for LinkControl * Fix to ensure search suggestion interaction states are perceivable * Update suggestion render prop to provide component props as arguments Previously when using the `renderSuggestions` render prop the user had to know how to put together the correct props on the correct elements in their custom render. By passing the default props for the listing element and the item element we can relieve the user of this burden by allowing them to spread the props onto the appropriate elements in their render without having to know how they are created. * Update to match with design visual and provide more accessible markup * Adds settings area. Fixes missing reset icon. * Fix search items to be buttons with correct style and layout * Adds overflow scrolling to search results * Fix to stop scroll shadow overlaying scrollbars * Add bespoke settings area and tweak styles * Update to allow URLs to be conditionally handled as a suggestion Previously when a URL was entered it was deemed that no suggestions should or could be found and so the process of fetching suggestions was short circuited. Add additional prop to optionally allow developers to have URL-like values handled as suggestions. * Updates to conditionally use an entity or url based search results fetcher If the current value of the input is a URL then we conditionally pass a different handler for search results to the URLInput component. For URL based values we immediately return a “suggestion” object with values matching those entered by the user. Non URL based values are handled as previously. * Fix bug whereby fetchSearchSuggestions wasn’t called Remove ambiguity by calling the search handler directly rather than proxying through another function and having to apply it immediately. * Remove default toggle UI and implement Popover close The LinkControl will be mostly where another element triggers the UI to appear. As a result we don’t want to force a toggle element on the developer. Rather we will expose an API to allow the consuming component to toggle the visibility of the LinkControl * Adds search text “highlighting” in results list * Move TextHighlight component to its own file * Fix bug where update to value prop didn’t cause suggestions to reset. * Update to remove internal handling of open/closed state This state is now expected to be handled by the consuming component chosing whether or not to render the component. It has no concept of open or closed. * Fix React violation by returning only the text for non matches * Update existing tests to match new implementation * Add link reset test * Adds test which uncovers major bug in the implementation Basically this test has revealed that due to the way we’re detecting and handling URL-like values the wrong data fetcher function gets passed to the URLInput component for the first input `change` event. For example if you paste `https://make.wordpress.com` directly into the input then it is determined to be a URL but because the current fetcher function for the current render is still the handler that deals with entity searches the correct results are not displayed. Adding another character to trigger a re-render will cause the UI to update to the expected state, but this is a major bug. * Tweak critical test to be more explicit about what is expected * Fix bug to make determining search handler use the latest input value Previously we relied on parent component state to choose which search handler to use for the current input term. However, the state was always 1 tick behind so the previous search handler got used. Updating this to use the real time value of the input passed onChange ensures we select the correct search fetcher when the component re-renders. * Add loading spinner and associated test coverage Spinner was technically always rendered but it wasn’t visible due to CSS styling. Fix and also cover with tests. * Fix bug where value could be empty * Adds basic editing / view state switching * Add keydown callback to URLInput * Select link on ENTER keydown event * Utilise LinkViewer to render edit state and decode urls for display * Only display link settings when a link is selected * Adds current link view styles * Makes settings toggle controlled by parent component * Update visuals to match updated design Addresses #17557 (comment) * Add standardised min width to popover * Temporary hack to include Link UI in Playground for testing * Update to utilise isURL util from @wordpress/url package * Update to utilise isURL util from @wordpress/url package * Removes URLPopover dependency Attempts to remove unwanted deps on other components. We now utilise Popover directly and suffer no consequences as we are not making use of any bespoke features provided by URLPopover. * Extract settings drawer to sub component * Refactor search items into a component * Refactor Input and Search to component * Fix missing selected state on search suggestions * Tweak line height on search suggestion url path * Augment test for URL-like by testing for “www.” * Fix to stop url overflows and wrapping on to multiple lines * Uppcase URL in type indicator within search results list * Avoid reading out slug/URL for entity results * Ensures i18n of change button * Always offer URL result in search suggestions as default * Fix loading spinner position and dim results during loading Addresses #17846 (comment) * Fix scroll shadows to use valid alpha transparent values in gradient Fixes broken shadows in Safari which didn’t recognise transparent as a value to transition to in a gradient. * Adds instructional text in place of URL for suggestions that are URLs Addresses designer feedback #17557 (comment) * Update prop names for consistency Addresses #17846 (comment) * Update line length to improve readability Addresses #17846 (comment) * Update to avoid need to utilise partialRight util from lodash Addresses #17846 (comment) * Updates key to avoid usage of index We cannot assume the suggestion `id` will be unique. This is because at the moment the search results are `Post`s. However in the future we may also need to include `Category` terms and the term IDs could easily clash with the Post IDs as they are in different DB tables. Using the `type` to differentiate the key. Addresses #17846 (comment) * Update to remote isFunction check in favour of direct check Addresses #17846 (comment) * Update to handle mailto and tel protocols and internal links * url-input: handle onKeyPress type event * link-control: add className prop * link-control: add README file * Remove unnecessary use of useCallback Addresses #17846 (comment) * Fix current automated tests * Improves URL handling test to run for multiple URL value variations * Updates to display the URL type in the search results Previously only true `http` URLs were formatted with the correct type and the instructional text. Fixes so that all types of manual URL entry are correctly shown as such in the search results. Adds test to cover mailto variant of this. * Refactor tests to assert against all valid protocol formats and link variants This now includes tel, mailto and internal links. * Adds test to cover display of fallback URL search result for search values that are potentially URLS * Adds tests to check URL suggestions don’t display for non-URLs. * url-input: remove unneeded `suggestion` const * url-input: always trigger onKeyDown event * link-control: delegate handling keydown event Instead of this, let's propagate the onKeyDown and onKeyPress events to the parent component * link-control: add onKeyDown and onKeyPress handlers * link-control: playground -> close once onClose * link-control: propagate onClose() event * link-control: playground -> hanldling close by ESCAPE key * Fix to only render settings draw if settings are defined * Remove redundant commented out test * Update to render with a “current link” if one is provided. Previously if you passed in a current link the component would still render with a search box as thought nothing was selected. Updates so that if `currentLink` is provided the UI reflects that by showing the “selected” item and no search input. * Render playground with currentLink active * Adds test to cover currentLink prop * Remove selected state from Playground * Adds tests to cover selecting and changing links * Remove async function in place of direct Promise usage and add test coverage * Add test to cover keyboard handling Note: this uncovered a bug whereby keyboard handling of “selecting” the link you want to use is broken. This needs to be fixed. * Remove unecessary dep from effect * Fix URLInput to pass the actual suggestion object not the index If the full object is not provided then consuming components have no way of accessing the details of the selected suggestion thereby rendering it useless. * Fix keyboard handling so hitting `ENTER` will select an item as the current link Builds on previous commit. * Updates keyboard interaction test to include URL entry * Minor: reword test description * Fix missing key prop regression Previously `buildSuggestionItemProps` was including a key. However the implementation of `LinkControl` changed so that this was not required. However we forgot to reinstate on `URLInput`. This update ensures a key prop is set on the default output. Note that disabling of the autofocus linting was already in place: https://github.com/WordPress/gutenberg/blob/04e142e9cbd06a45c4ea297ec573d389955c13be/packages/block-editor/src/components/url-input/index.js#L239 Addresses #17846 (comment) * DRY up conditionals Addresses #17846 (comment) * link-control: set a default experimental link suggestions searcher if it't needed * link-control: handling key events * url-input: remove onKeyDown prop * url-input: remove calling onKeyDown prop * url-input: rollback some changes * Mark Link Creation Interface as Experimental (#18110) * mark main component as experimental * mark new URLInput props as experimental * add experimental onKeyPress * remove key handlers * Updates to use alias on experimental props Addresses #18110 (comment) * Remove unused prop from docs * Update props ordering and readme docs Also fixes eslint errors that kept me from committing the original changes * Revert playground changes * Rename InputSearch to SearchInput Props @talldan I really hope those changes I had to make in `search-input.js` don't break anything. * Remove disabling of jsx-key lint rule * Change fake id value to something that will not clash with post ids
* Adds correct escaping for urls (#17932) * Add an apiFetch middleware to automatically handle media upload failures (#17858) * Add an apiFetch middleware to automatically handle media upload failures * Remove the attachement on failures * Handle errors properly * limit the media upload middleware to the 500 responses * Fix the error handling and unit tests * Api Fetch: Check for 502s and parse uncaught errors in Media Upload middleware. * Fix: Gradient presets to verify some MU kses rules (#17940) * Bump plugin version to 6.7.0-rc.1 * Code Style: Change name of accumulated variables when using reduce function (#17893) * Fix issue-7378 - change name of accumulated variables when using reduce function * fix issue-7378 - update variables names * fix issue-7378 - update variables names * Fix:Image Block: Hide 'noreferrer' and 'noopener' in Link Rel (#17398) * Update the regex used when removing NEW_TAB_REL and add trimming (+2 squashed commits) Squashed commits: [cf71759c3] Accessibility:Image Block:Link Editor: Move Link Rel field below Open new tab toggle [310a23c33] Fix:Image Block:Link Editor: Hide 'noreferrer' and 'noopener' in Link Rel field * post rebases fixes Co-authored-by: Jorge Costa <jorge.costa@developer.pt> * Change Cover block min height input step size to 1 (#17927) * chore(release): publish - @wordpress/a11y@2.5.1 - @wordpress/annotations@1.7.2 - @wordpress/api-fetch@3.6.2 - @wordpress/autop@2.5.1 - @wordpress/babel-preset-default@4.6.2 - @wordpress/blob@2.5.1 - @wordpress/block-directory@1.0.2 - @wordpress/block-editor@3.2.2 - @wordpress/block-library@2.9.2 - @wordpress/block-serialization-default-parser@3.4.1 - @wordpress/block-serialization-spec-parser@3.3.1 - @wordpress/blocks@6.7.2 - @wordpress/components@8.3.2 - @wordpress/compose@3.7.2 - @wordpress/core-data@2.7.2 - @wordpress/data-controls@1.3.2 - @wordpress/data@4.9.2 - @wordpress/deprecated@2.6.1 - @wordpress/dom-ready@2.5.1 - @wordpress/dom@2.5.2 - @wordpress/e2e-test-utils@2.4.2 - @wordpress/e2e-tests@1.7.2 - @wordpress/edit-post@3.8.2 - @wordpress/edit-widgets@0.7.2 - @wordpress/editor@9.7.2 - @wordpress/element@2.8.2 - @wordpress/escape-html@1.5.1 - @wordpress/format-library@1.9.2 - @wordpress/is-shallow-equal@1.6.1 - @wordpress/keycodes@2.6.2 - @wordpress/list-reusable-blocks@1.8.2 - @wordpress/media-utils@1.2.2 - @wordpress/notices@1.8.2 - @wordpress/nux@3.7.2 - @wordpress/plugins@2.7.2 - @wordpress/priority-queue@1.3.1 - @wordpress/redux-routine@3.6.2 - @wordpress/rich-text@3.7.2 - @wordpress/scripts@5.1.0 - @wordpress/server-side-render@1.3.2 - @wordpress/url@2.8.1 - @wordpress/viewport@2.8.2 - @wordpress/wordcount@2.6.2 * Update changelogs after the npm release * Prevent prependHttp from failing if url is not defined (#17928) * Check that url is defined before passing into prependHttp * Shift check from component to url lib * List block: move default style (#17958) * Storybook: Add stories for Checkbox control component (#17891) * Add checkbox control stories for Storybook * Update README example to match story, useState * Apply suggestions from code review 👍 Co-Authored-By: Enrique Piqueras <epiqueras@users.noreply.github.com> * Update story to match README * Add variants for heading, label, help * Update packages/components/src/checkbox-control/README.md Co-Authored-By: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> * Add Knobs addon to Storybook * Move storybook addon to dev-dependencies * Solve lint dependency by excluding stories, dont need in package.json * Apply suggestions from code review Co-Authored-By: Enrique Piqueras <epiqueras@users.noreply.github.com> * Update with story level decorators * Switch back to global withKnobs, per story not working * Change the name of the example in ChecboxControl story * Try with the uppercase name of the component exported from stories * RNMobile Add size options to mobile image block (#17245) * [RNMobile] Native mobile release v1.11.0 (#17181) * [RNMobile] Fix crash when adding separator * Build: remove global install of latest npm since we want to use the paired node/npm version (#17134) * Build: remove global install of latest npm since we want to use the paired node/npm version * Also update travis to remove --latest-npm flag * [RNMobile] Try dark mode (iOS) (#17067) * Adding dark mode component implemented on list and list block * Adding DarkMode handling to RichText, ToolBar and SafeArea * Mobile: Using DarkMode as HOC * iOS DarkMode: Modified colors on block list and block container * iOS DarkMode: Improved Header Toolbar colors * iOS DarkMode: Removing background from buttons * iOS DarkMode warning and unsupported * iOS DarkMode: MediaPlaceholder * iOS DarkMode: BottomSheets * iOS DarkMode: Inserter * iOS DarkMode: DefaultBlockAppender * iOS DarkMode: PostTite * Update hardcoded colors with variables * iOS DarkMode: Fix bottom-sheet cell value color * iOS DarkMode: More - PageBreak - Add Block Here * iOS DarkMode: Better text color * iOS Darkmode: Code block * iOS DarkMode: HTML View * iOS DarkMode: Improve colors on SafeArea * Fix toolbar not avoiding keyboard regression * Fix native unit tests * Fix gutenberg-mobile unit tests * Adding RNDarkMode mocks * RNMobile: Fix crash when viewing HTML on iOS * [RNMobile] Remove toolbar from html view * [RNMobile] Fix MaxListenersExceededWarning caused by dark-mode event emitter (#17186) * Fix MaxListenersExceededWarning caused by dark-mode event emitter * Checking for setMaxListeners trying to avoid CI error * Adding remove listener to DarkMode HOC * DarkMode: Binding this.onModeChanged to `this` * DarkMode: Adding conditional needed to pass UI Tests on CI * Fix focus title on new posts regression (#17180) * BottomSheet: Setting DashIcon color directly when theme is default (light) (#17193) * Activate Travis CI on rnmobile/master branch (#17229) * Added ability to update image size options (sizeSlug) through a new InspectorControl Cell that leads to a Picker. * Added a style for Size Inspector Controls cell to align it will other cells that have icons. * Add native support for the MediaText block (#16305) * First working version of the MediaText component for native mobile * Fix adding a block to an innerblock list * Disable mediaText on production * MediaText native: improve editor visuals * Move BlockToolbar from BlockList to Layout * Remove BlockEditorProvider from BlockList and add native version of EditorProvider to Editor. Plus support InsertionPoint and BlockListAppender * Update BlockMover for native to hide if locked or if it's the only block * Make the vertical align button work, add more styling options for toolbar buttons * Make sure registerCoreBlocks does not break in production * Copy docblock comment from the web version for registerCoreBlocks * Fix focusing on the media placeholder * Only support adding image for now * Update usage of MediaPlaceholder in MediaContainer * Enable autoScroll for just the out most block list * Fix JS Unit tests * Roll back to IconButton refactor and fix tests * Fix BlockVerticalAlignmentToolbar buttons style on mobile * Fix thing for web and ensure ariaPressed is always passed down * Use AriaPressed directly to style SVG on mobile * Update snapshots * Swtiched to react-native Modal onDismiss property for signaling Picker is ready to show * Added a prop for catching modal dismissal on Android. (onDismiss is iOS only and onModalHide works on Android but breaks on iOS) * Added icon for Inspector Controls size option. Removed style we no longer need. * Added title to size option iOS ActionSheet and left alignstyle to size options BottomSheet * MediaUpload and MediaPlaceholder unify props (#17145) * Unify media placeholder and upload props within media-text (#17268) * [RNMobile] Fix dismiss keyboard button for the post title (#17260) * Set unused functions to undefined instead of false in BottomSheet Modal props * Recover border colors (#17269) * [RNMobile] Insure tapping at end of post inserts at end Previously, tapping at the end of the post would insert a block immediately after the currently selected block. In addition, this commit is cleaning out a few unusued props in the block-list file. * Support group block on mobile (#17251) * First working version of the MediaText component for native mobile * Fix adding a block to an innerblock list * Disable mediaText on production * MediaText native: improve editor visuals * Move BlockToolbar from BlockList to Layout * Remove BlockEditorProvider from BlockList and add native version of EditorProvider to Editor. Plus support InsertionPoint and BlockListAppender * Update BlockMover for native to hide if locked or if it's the only block * Make the vertical align button work, add more styling options for toolbar buttons * Make sure registerCoreBlocks does not break in production * Copy docblock comment from the web version for registerCoreBlocks * Fix focusing on the media placeholder * Only support adding image for now * Update usage of MediaPlaceholder in MediaContainer * Enable autoScroll for just the out most block list * Fix JS Unit tests * Roll back to IconButton refactor and fix tests * Fix BlockVerticalAlignmentToolbar buttons style on mobile * Fix thing for web and ensure ariaPressed is always passed down * Use AriaPressed directly to style SVG on mobile * Update snapshots * Support group block on mobile * Extend shouldShowInsertionPoint condition to be false when group is selected * Code refactor * Update package-lock * Removing old style reference. * Moved Picker for image size options into new ImageSizePicker component. Cleaned up sizeOptionLabels. * Updated total left margin on Android Image size options to be 24 px instead of 28 px * Image Size options hidden behind __DEV__ flag * Remove redundant bg color within button appender (#17325) * [RNMobile] DarkMode improvements (#17309) * Remove the need to import `useStyle` and pass the theme prop on every instance that `withStyle` is used * Implement dark-mode refactor on all components * Fix broken native tests * Fix default block appender background color on DarkMode * DarkMode: Make `useStyle` a class function * Cleaned up default true properties and replaced code with lodash map. * Updated to use BottomSheetPickerCell. Eliminated code, but size options now open over top inspector controls menu. * Added leftalign to PickerCell. * [RNMobile] Add autosave to mobile apps (#17329) * [RNMobile] Fix crash when adding separator * Build: remove global install of latest npm since we want to use the paired node/npm version (#17134) * Build: remove global install of latest npm since we want to use the paired node/npm version * Also update travis to remove --latest-npm flag * [RNMobile] Try dark mode (iOS) (#17067) * Adding dark mode component implemented on list and list block * Adding DarkMode handling to RichText, ToolBar and SafeArea * Mobile: Using DarkMode as HOC * iOS DarkMode: Modified colors on block list and block container * iOS DarkMode: Improved Header Toolbar colors * iOS DarkMode: Removing background from buttons * iOS DarkMode warning and unsupported * iOS DarkMode: MediaPlaceholder * iOS DarkMode: BottomSheets * iOS DarkMode: Inserter * iOS DarkMode: DefaultBlockAppender * iOS DarkMode: PostTite * Update hardcoded colors with variables * iOS DarkMode: Fix bottom-sheet cell value color * iOS DarkMode: More - PageBreak - Add Block Here * iOS DarkMode: Better text color * iOS Darkmode: Code block * iOS DarkMode: HTML View * iOS DarkMode: Improve colors on SafeArea * Fix toolbar not avoiding keyboard regression * Fix native unit tests * Fix gutenberg-mobile unit tests * Adding RNDarkMode mocks * RNMobile: Fix crash when viewing HTML on iOS * [RNMobile] Remove toolbar from html view * [RNMobile] Fix MaxListenersExceededWarning caused by dark-mode event emitter (#17186) * Fix MaxListenersExceededWarning caused by dark-mode event emitter * Checking for setMaxListeners trying to avoid CI error * Adding remove listener to DarkMode HOC * DarkMode: Binding this.onModeChanged to `this` * DarkMode: Adding conditional needed to pass UI Tests on CI * Fix focus title on new posts regression (#17180) * BottomSheet: Setting DashIcon color directly when theme is default (light) (#17193) * Add a preliminary version of the AutosaveMonitor for mobile that calls the "bridge" and asks the native side to save the content * Add autosave mock function for tests * Fix merge conflicts * Fix lint * Re-add autosave on mobile that was removed erroneously during import-merge from rnmobile/master * Remove native variant of AutosaveMonitor and introduces changes at editor store level * Default to false for `isEditedPostAutosaveable` on mobile. There was a typo in the returing value on the previous commit. * Make sure to consider edits to the Title when checking if auto-save is needed * Fix lint * Add isAppender functionality on mobile (#17195) * Add isAppender functionality on mobile * refactor isAppender conditions * Replace dropZoneUIOnly in favour of showMediaSelectionUI * deprecate dropZoneUIOnly and add disableMediaSelection prop * Update test * Refactor tests and change prop name * Remove redundant empty lines * Refactor conditions inside MediaPlaceholder * Update block-editor CHANGELOG * Update packages/block-editor/CHANGELOG.md Co-Authored-By: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> * Autosave monitor - Make the mobile editor ping the native at each keystroke, since the deboucing logic is already well defined in the apps. (#17548) * [RNMobile] Refactor Dark Mode HOC (#17552) * [RNMobile] Refactor the Dark Mode HOC to fix naming antipatterns * Fix lint errors * Add .native.js suffix to usePreferredColorScheme * Update usage of theme props renamed to preferredColorScheme * Update usage of theme props renamed to preferredColorScheme * Add missing heading levels to the UI (H4, H5, H6) (#17533) * Fix lint issue (#17598) * Fix list filter on paste for RN mobile. (#17550) * Fix method for RN mobile. * Use array.From instead of slice. * Remove comment and use Array.from directly * Convert from NodeList spreadable to Array.from * Fix lint errors. * Fix documentation examples to use Array.from * Add empty line. * [RNMobile] Move MediaUploadPorgress to its own component folder (#17392) * Move MediaUploadPorgress to its own component folder (native) * MediaUploadProgress - Fix import to code standards * MediaUploadProgress readme * Mobile - MediaUploadProgress README update * Rnmobile/fix link editing on start (#17631) * Don't try to clear links if text is clean. * Commented LinkUI removal test when no URL. * Don't try to remove link if we are at start of link and no actual selection is * Re-implementing https://github.com/WordPress/gutenberg/pull/17802, affected by merge. Fixed extra space and unused code. * Fixing lint error, trailing space. * Improve columns flex rule, round 2. (#17968) * Bump plugin version to 6.7.0 * Small changes to Git Workflow docs (#17662) * :information_desk_person: add 'upstream' remote * :bug: origin / remote * Codeowners: Remove gziolo from some folders (#17971) I get too many notifications. * Fix: Invalid import statement for deprecated in the modal component (#17969) * Fix: Invalid import statement for deprecated in the modal component * Font Size Picker: Update E2E test to work with new Core changes. * Add empty line (#17981) * Try setting a block display name for the Block Navigator. (#17519) * Really simple first attempt at showing a display name in the navigator * Strip any RichText formatting * Add display name for navigation menu item block * Refactor to use displayNameAttribute property * Change name of displayName options * [RNMobile] add RangeControl mobile implementation (slider) (#17282) * add RangeCell * Split e2e tests into multiple folders (#17990) * Playground: Add link to components storybook. (#17982) * Fix image native test (#17989) * Update: Refactor button edit to use a functional component (#18006) * Optimize exports of the wp/compose package (#17945) Adds `sideEffects:false` to `package.json` so that unused exports can be optimized away by the bundler. Moves the `compose` definition (i.e., reexport from Lodash) to its own module, so that we don't pull in Lodash just by importing something from `@wordpress/compose`. After this patch, one needs to import `compose` explicitly to trigger the Lodash import. * [RNMobile] Introduce grouping in the block settings inspector (#17703) * Intrdouce groupin in the block settings inspector * Adjust PanelBody to design * Adjust padding when section doesnt have title * Rewirte arrow function to function * Fix lint issue * Create a PanelActions component for handling action buttons in the block settings inspector * Remove useless separator type and fix typo * Refactor after CR * Correct label styles * Fix overriding mechanism on label style * Fix the performance tests (#18020) * Storybook: Add knobs to ColorIndicator (#18015) * Add knobs to ColorIndicator * Lint: new line * Add dashicon component to storybook (#18027) * Fix Publish Button!!! (#18016) Fixes #18004 and thank science, that was driving me insane ever since you pointed it out. This PR does a couple of things: 1. It adds `isLarge` to the Publish button. It was there for Preview, but not Publish. 2. It simplifies a little CSS as a result of that. 3. It also tweaks the button height as defined for the two preview publish buttons. * Update MediaPlaceholder README.md (#17980) * Update MediaPlaceholder README.md This change updates the readme to properly document the `value` property. See issue here: https://github.com/WordPress/gutenberg/issues/17967 * Update MediaUpload README.md * removes decleration of Select button (#18007) * Fix MediaUpload README value prop description (#18039) * Tests: Clean up skipped e2e tests (#18003) * chore(release): publish - @wordpress/api-fetch@3.6.3 - @wordpress/block-directory@1.0.3 - @wordpress/block-editor@3.2.3 - @wordpress/block-library@2.9.3 - @wordpress/core-data@2.7.3 - @wordpress/data-controls@1.3.3 - @wordpress/e2e-test-utils@2.4.3 - @wordpress/e2e-tests@1.7.3 - @wordpress/edit-post@3.8.3 - @wordpress/edit-widgets@0.7.3 - @wordpress/editor@9.7.3 - @wordpress/format-library@1.9.3 - @wordpress/list-reusable-blocks@1.8.3 - @wordpress/media-utils@1.2.3 - @wordpress/server-side-render@1.3.3 - @wordpress/url@2.8.2 * Chore: Fix issues related to Node 12 becoming LTS (#18054) * Chore: Fix issues related to Node 12 becoming LTS * Include the root package.json file in the linting This commit also moves the npm-package-json-lint config to the standalone file. * Add changelog entries to @wordpress/scripts package * Fix issue when providing multiple shortcode aliases for a new block (#17925) * Fix issue where providing multiple shortcode aliases to transform into a block only matches the first shortcode * Add test to ensure blocks can transform using multiple shortcode aliases * Simplify the approach used to find the individual shortcode being transformed Props jg314 * Chore: Update the lock file to use newer version of fsevents (#18057) This fixes the issues when `npm install` on macOS throws several errors. * Env: Add support for custom ports. (#17697) * Add isInvalidDate prop to DatePicker (#17498) * navigation-menu: Implement colors selector button. (#17832) Summary block-editor: expose ColorPaletteControl component navigation-menu: improve colors-selector component navigation-menu: compose withColors navigation-menu: render colors selector in bar navigation-menu: propagate withColor props navigation-menu: apply theme styles to selection navigation-item: populate styles to nav item navigation-menu: apply inline styles and CSS classes * Update design-systems:dev script to build packages (#18073) The build-style/style.css needs to be rebuilt prior to running Storybook in watch mode. This change adds `npm run build:packages` at the start of the design-systems:dev script to CSS is built prior. Issue found in #17997 * Add `@wordpress/base-styles` package (#17883) - Move `assets/stylesheets/*` to the new package - Move admin color schemes to the new package * Add Site Title block and required functionality. (#17207) * Core Data: Add a Site entity and a hook for entity saving logic. * Experiments: Add a Full Site Editing experiment. * Block Library: Add Site Title block. * Fixtures: Add Site Title block fixture. * Fixtures: Add missing transform fixtures. * Block Library: Remove deprecated prop usage in Site Title. * Site Title: Support nesting inside of a Site block. * Site Title: Disallow formatting in the rich text field. * Core Data: Make useEntitySaving experimental. * Table: remove wrapper around cells (#17711) * Implement core template loader overrides to rely on wp_template posts (#17626) * Introduce wp_template post type. * Improve (temporary) admin UI for wp_template post type by exposing slug. * Implement template loader overrides to rely on 'wp_template' posts. * Render viewport meta tag. * Prevent deletion of fallback 'wp_template' post 'index'. * Scope PR to just basic wp_template post type registration. * Implement core template loader overrides to rely on wp_template posts instead. * Render title tag regardless of theme support Co-Authored-By: Weston Ruter <westonruter@google.com> * Make getting correct wp_template post more error-proof Co-Authored-By: Weston Ruter <westonruter@google.com> * Template Loader: Add more content filters. * Templates: Fix experiment flag logic. * Add logic for basic (temporary) wp_template editing UI (#17625) * Templates: Add logic for basic temporary editing UI. * Templates: Fix menu filter. * Post Slug: Follow class name convention. * url-input: ensuring value is defined on key down (#18088) * Code style: Fix ESLint warnings reported for JSDoc definitions (#18025) * Code style: Fix ESLint warnings reported for JSDoc definitions * Add WordPress type definitions to the list of names recognized by JSDoc linter * Local autosave: Clear after successful save (#18051) * Local autosave: Clear after successful save Presumably, somewhere in the fixing of conflicts between remote and local autosaves (purge local upon successful remote autosave), LocalAutosaveMonitor stopped purging the local autosave upon successful *saves*. * Tests: Autosave: Correctly wait for editor chrome before saving * Chore: Fix: Do not show Gradient panel if gradients are not av… (#18091) * Fix regression with Gallery margin. (#18019) I failed to verify the Gallery block when I approved https://github.com/WordPress/gutenberg/pull/17958#issuecomment-543597183 and therefore caused a regression. This PR adds explicity left margins and paddings to the gallery ul to ensure there isn't any added padding and margin. * Add platform component (#18058) * Add platform component * Improve platform implementation in RN. * Add more documentation and tests. * Update readme file. * Update tests. * Fix filenames for native versions. * Add license attribution * Remove unnecessary lines. * Improve documentation * Remove trailing space * Update packages/element/src/platform.js Co-Authored-By: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> * Update readme. * Fix lint error. * Fix: End to end tests do not disable the experiments (#18093) * Fix: Custom button background color not reflected on reload (#18037) Fixes: https://github.com/WordPress/gutenberg/issues/18012 We had a bug where the editor may not reflect the custom button background color after a reload. That happened because the rule background: customGradient, may overwrite the background-color rule even if the custom gradient has not set. This PR performs a logic update to solve the issue. * List Block: Do not merge list with previous block if deleting first list item and list is not empty (#18032) * Do not merge list with previous block if deleting first list item and list is not empty * Add e2e test and clean up * Correct mistake * Adjust comment * Add gradients in cover block (#18001) * Components: Add VisuallyHidden component (#18022) * Add ScreenReaderText component * Add new component readme to manifest * Remove CSS style loading within stories * Switch component name to VisuallyHidden - Rename directory and includes - Update README usage - Update Storybook usage * Switch classname to components-visually-hidden * Lint: newline * Add focus style * Switch to 'as' for specifying tag * Move renderAsRenderProps to utils.js * Move utils to inside component folder Waiting to refine the utils usage a little better before making it look available for other components to use. * Apply suggestions from code review Co-Authored-By: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> * Lint: Move newline * Fix variable name * Use variable for stylesheet * Storybook: Apply a set of enhancements to the existing stories (#18030) * Storybook: Apply a set of enhancements to the existing stories * Add basic knobs integration to all Button stories * Env: Add support for running in themes. (#17732) * Env: Add support for running in themes. * Env: Optimize context detection filter. * Env: Update test directory structure to match convention. * Storybook: Add Color Palette Component (#17997) * Add Color Palette to Storybook * Apply suggestions from code review Co-Authored-By: Enrique Piqueras <epiqueras@users.noreply.github.com> * Refactor state out of story components, to own * Update packages/components/src/color-palette/stories/index.js * Preserve attributes on split (#18102) * [rnmobile] Breadcrumbs (#17471) * Add breadcrumbs to floating toolbar * Add dark mode support * Add a block selection breadcrumb to the bottom of the editor (#17838) * RNMobile: Add image alignment controls (#17962) RNMobile: Add image alignment controls Only handles left, center, right. Does not permit setting or displaying either full or wide alignments. * Fix checkboxes for postmeta. (#18108) * Add block inspector to the Gutenberg playground. (#18077) * Block Editor: Implement new colors hook. (#16781) * Block Editor: Implement new colors hook. * Block Library: Swap usage of the colors HOC with the colors hook in the heading edit component. * Use Colors: Add 'has-x-color' class names. * Use Colors: Avoid memory leaks by making caches limited in size, and tied to hook instances. * Use Colors: Support children and optional contrast checking in the color panel. * Use Colors: Expose colors panel without inspector slot/fill wrapper. * Use Colors: Mark hook as experimental. * Use Colors: Support custom colors. * Block Edit: Remove extra context values and use selectors/actions instead. * Heading: Remove unnecessary color class and set text color on save. * Use Colors: Add custom/preset color logic. * Use Colors: Fix panel bugs. * Heading Block: Detect actual background color for contrast checking. * Block Edit: Add new export to native file. * Use Colors: Change CSS "attribute" to "property". * Fix: Font size picker component relies on WordPress styles (#18078) * Nav menu item enhancements: display toolbar and remove dropdown (#17986) * Display toolbar and remove dropdown from menu item * Fixes block toolbar misalignment on IE. * Replace destination and deal with keypresses. * Update fixture. * Keydown management and attempt at close on blur. * Add definitive menu item icon. * Fix label/input styling. * Clean up styles after rebase. * Refactor stop propagation . * Remove duplicate dependency comments * Navigation Block: Rename 'destination' to 'url' in server-side code * Fix overlapping controls in the Inline Image formatting toolbar (#18090) * Fix overlapping controls in the Inline Image formatting toolbar * Inline mage formatting: make Apply button same height as Width input * Polish. * Raw handling: Fix strikethrough formatting when copy/pasting from Google Docs in Safari (#17187) * Tutorial: Specify block naming restrictions (#18117) * Tutorial: Specify block naming restrictions * Remove an incorrect comma * Components: ExternalLink, add story (#18084) This update adds a story for the ExternalLink component. Storybook knobs were added to better demonstrate the component's properties. * Storybook: Add ColorPicker component (#18013) * Add color picker component to Storybook * Switch screen-reader-text to new VisuallyHidden * Update ColorPicker tests snapshots * Add story for showing Alpha Channel * Move state out of exported component * Lowercase story name * Add class mechanism for preset gradients. (#18008) * Allow media upload post processing for all 5xx responses (#18106) * Allow travis builds in all wp/* branches * Add `DimensionControl` component (#16791) * Adds initial component Note this is copied wholescale from original PR https://github.com/WordPress/gutenberg/pull/16730 * Remove redunant files. Refactors tests. * Updates docs * Checks callbacks are functions prior to calling * Adds temp testing example usage of component to Group Block * Updates to allow sizes as an (optionaly) prop dependency * Update default value label * Removes unnecessary InstanceId HOC usage Addresses https://github.com/WordPress/gutenberg/pull/16791#discussion_r323906696 * Remove unused abbreviation in size table * Revert "Adds temp testing example usage of component to Group Block" This reverts commit 6f9f3bfd2a7c1a08ecfab143384d414701f0c1e8. * Remove arbitrary size value from sizes list This is not required as we cannot know how the dimensions component will be used. Therefore sticking with relative values via the slugs is safer. These can be mapped on a case by case basis as required. * Remove icon label for a11y reasons Addresses https://github.com/WordPress/gutenberg/pull/16791#discussion_r324103481 * Update component docs for consistency, spelling and grammar * Tweak docblock formats * Update test snapshots to match new default value * Update API from onSpacingChange to more agnostic onChange Addresses https://github.com/WordPress/gutenberg/pull/16791#discussion_r331622801 * Update tests to cover onChange handler renamed * Update currentSize prop to value for consistency with other components * Removes onReset in favour of onChange with undefined for consistency Adddresses https://github.com/WordPress/gutenberg/pull/16791#discussion_r331624272 * Move component to @wordpress/components package * Remove invalid font sizes style import Accidentally included from rebase. * Deps update due to rebase * Remove unneeded doc blocks * Remove usage suggestion which was not helpful * Update readme docs to match current API Addresses https://github.com/WordPress/gutenberg/pull/16791#discussion_r332692714 * Export as experimental component Addresses https://github.com/WordPress/gutenberg/pull/16791#discussion_r332694561 * Revert "Deps update due to rebase" This reverts commit 95d00f39010edfaac620980e0d0e7c1001a68c98. Addresses https://github.com/WordPress/gutenberg/pull/16791#discussion_r332691520 * Paste: allow list attributes (#17144) * Add grandient fixtures to cover block (#18002) * Bump plugin version to 6.8.0-rc.1 * Fix RN build after merge with master (#18133) * Commander: switch cloning method to HTTPS (#18136) * Commander: switch cloning method to HTTPS * Add HOME env variable * Add horizontal option for the block movers (#16615) * horizontal option for the mover, missing icons, broken hover * we now have icons * positioned the mover to the middle left * horizontal mover on mobile * vertical layout for horizontal movers * drop block movers into block edit to enable inline movers * implemented so as to not be a concern for the block implementer * removes useless scss variable * hiding the drag handle at block level * renamed horizontalMover to moverOptions to incorporate separation of properties * rafactores the mover options * Initial CSS work to make the menu more manageable. This moves to flex instead of grid, neutralizes margins, simplifies a few things. * Make movers inline again. * Further improve margins for child blocks. * adds proper aliases in BlockEdit * previxed options as experimental * RTL movers * removed the position option, marked option experimental * labeled as experimental new mober and block list props * refactored direction detection code for better readability, fixed some code alignment issues * Update ExternalLink Component to fix visually hidden text (#18142) * Switch screen-reader-txt to VisuallyHidden component * Fix core embed test snapshot, new classname * Add Spinner component to storybook (#18145) * Smart block appender (#16708) * if thre is only one there is only one * made a new insertion point selector, some code review refactoring * better handling of inserter * refactoring and named block insertion * updates to the appender * update snapshots * update docs * default inserter label is used in so many tests * fixed allowed blocks test * snapshot updated * better naming and removed the need for es-lint disabling * improved the inserter label construction * improved the doc of getTheOnlyAllowedItem selector * reverting test patches becasue patching without understanding is bad, bad, bad - don't do it * moved getInsertionIndex out of selectos and back into each component that used it * docs generated * added experimental labels to new selectors, added es-lint comment back * updated docs * Update packages/block-editor/src/store/selectors.js Co-Authored-By: Miguel Fonseca <miguelcsf@gmail.com> * Update packages/block-editor/src/store/selectors.js Co-Authored-By: Miguel Fonseca <miguelcsf@gmail.com> * refactored and fixed some coding errors * small code move * small code move * removes aria attrs for autoinserted items * fixes typo, adds translators comment * simplifies the intserter logic * fix for the simplification * simplifies by using one selector and passing props in compose * small code updates * lint * renamed insertedBlock * small doc update * adds tooltip to the default button appender * refactores for more self documenting varnames * Components: Draggable, add story (#18070) * Components: Add Story for Draggable This update adds a Storybook example for the Draggable component from `@wordpress/components`. * Fix useState hook for Draggable story example Solution was to create an Example component with the useState hook. Render that Example component in the story instead. * Block Directory: Convert it to UI Plugin to avoid bundling into Core (#17576) * Block Directory: Convert it to UI Plugin to avoid bundling into Core * Load the block directory assets only when the experiment is enabled * Try to reimplement asset overrides to give more flexibility * Add code style improvemements and perform code cleanup * Try to make PHP unit tests pass by removing group check * Ensure that packages and vendor scripts are printed in the footer * Fix the has action check for the block directory assets * Move gutenberg-block-directory experiment check out of the action * Fix bin/get-vendor-scripts.php * Make the AsyncModeProvider API a stable API (#18154) * Make the mediaUpload block editor setting a stable API (#18156) * Fix columns full-wide regression. (#18021) The Columns block, when full-wide, has intentional left and right padding to ensure the mover controls of child blocks are accessible. This is editor-only, and only when the block is selected. This regressed at some point, a while ago, probably around the introduction of extra on-click padding to show the dashed outlines of child elements. This PR shuffles the rules a bit, reduces some of their specificity, and applies the left and right padding elsewhere to make it work. * Resyncs RichText mobile components with web counterparts. (#17897) * Resyncs RichText mobile components with web counterparts. * Remove outdated test. * Remove unused references. * Add platform component * Add components depending of platform. Only add specific components if we are on the web implementation. * Abstract paste of files for RN and web Makes the code for pasting image more abstract in the paste method and implement specific translation to HTML depending of the platform. * Compose extra attributes/props on select/dispatch only if mobile. * Remove RN index file for RichText Wrapper. Moved all the specific code to the standard index file, so this file is no longer needed. * Remove API index native file that is no longer needed. * Clean up lint errors in file-paste-handler. * Fix lint errors. * Implement stub remove browser shortcuts for RN * Implement autocomplete stub for RN. * Refactor toolbar presentation to a method. * Remove no longer needed platform file. * Consolidate the file paste handler in a single implementation. Created a stub for createBlobURL for native that simple returns the original URL. * Change the text for platform to make it explicit it's native only. * Remove duplicate files * Include type in file comparison * Forgot to rename for native file * Fix filePasteHandler for native * Move logging back * Restore comment on logging * Add check for files existence. * Refactor format-toolbar code to use split web/native files * Remove prop duplication. * Fix getAnchorRect call * Remove unnecessary const * Sync fix for list removal of first empty line * Fix RN build after merge with master * Sync with web counterpart. * Only change selection after new formats are set. * [RNMobile] Add a subtitle for unsupported blocks (#18107) * Add a new unsupported subtitle to missing blocks - even we know about the block title * Update margins, colors and font weight of the unsupported block * Navigation: Explore default frontend styles (#18094) * try basic version of varia theme styles as default * Add class to show submenu indicator * adjustments for small viewports * NavigationMenu: set attributes rightly (#18150) * navigation-menu: set attributes once * navigation-menu: add CSS class as hook dependencies * Update packages/block-library/src/navigation-menu/edit.js Co-Authored-By: Enrique Piqueras <epiqueras@users.noreply.github.com> * Update packages/block-editor/src/components/colors/use-colors.js (#18147) Co-Authored-By: Enrique Piqueras <epiqueras@users.noreply.github.com> (+2 squashed commits) Squashed commits: [36484b4d3f] Update packages/block-editor/src/components/colors/use-colors.js Co-Authored-By: Enrique Piqueras <epiqueras@users.noreply.github.com> [9c4c7694bd] Fix: solve some issues in useColors hook * [RNMobile] Added support for giphy and pexels images (#18026) * Scripts: Bump the version of npm-package-json-lint (#18160) * Experimental Link creation interface (#17846) * Initial component file structure * Implement basic icon and toggle mechanic * Adds basic search input * Update input to utilise LinkEditor component autocomplete * Add ability to customise placeholder * Update to utilise URLInput directly for greater flexibility * Add example search results and test coverage * Update class naming convention to match guidelines See https://github.com/WordPress/gutenberg/blob/master/docs/contributors/coding-guidelines.md#css Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r332567521 * Adds render prop to enable custom suggestions rendering Previously it wasn’t possible to customise the render of the search suggestions. By providing an optional render prop we now have full control over this if required. * Update to utilise URLInput render prop to customise search suggestions render Previously we relied on our own render of suggestions but this wasn’t hooked up to all the accessibility enhancements afforded by URLInput. By utilising the render prop exposed by URLInput to customise the rendering of suggestions, we can have the best of both worlds. * Update to add post type to the fetchLinkSuggestions responsive mapping This is required to display the type of entitity in the search results for LinkControl * Fix to ensure search suggestion interaction states are perceivable * Update suggestion render prop to provide component props as arguments Previously when using the `renderSuggestions` render prop the user had to know how to put together the correct props on the correct elements in their custom render. By passing the default props for the listing element and the item element we can relieve the user of this burden by allowing them to spread the props onto the appropriate elements in their render without having to know how they are created. * Update to match with design visual and provide more accessible markup * Adds settings area. Fixes missing reset icon. * Fix search items to be buttons with correct style and layout * Adds overflow scrolling to search results * Fix to stop scroll shadow overlaying scrollbars * Add bespoke settings area and tweak styles * Update to allow URLs to be conditionally handled as a suggestion Previously when a URL was entered it was deemed that no suggestions should or could be found and so the process of fetching suggestions was short circuited. Add additional prop to optionally allow developers to have URL-like values handled as suggestions. * Updates to conditionally use an entity or url based search results fetcher If the current value of the input is a URL then we conditionally pass a different handler for search results to the URLInput component. For URL based values we immediately return a “suggestion” object with values matching those entered by the user. Non URL based values are handled as previously. * Fix bug whereby fetchSearchSuggestions wasn’t called Remove ambiguity by calling the search handler directly rather than proxying through another function and having to apply it immediately. * Remove default toggle UI and implement Popover close The LinkControl will be mostly where another element triggers the UI to appear. As a result we don’t want to force a toggle element on the developer. Rather we will expose an API to allow the consuming component to toggle the visibility of the LinkControl * Adds search text “highlighting” in results list * Move TextHighlight component to its own file * Fix bug where update to value prop didn’t cause suggestions to reset. * Update to remove internal handling of open/closed state This state is now expected to be handled by the consuming component chosing whether or not to render the component. It has no concept of open or closed. * Fix React violation by returning only the text for non matches * Update existing tests to match new implementation * Add link reset test * Adds test which uncovers major bug in the implementation Basically this test has revealed that due to the way we’re detecting and handling URL-like values the wrong data fetcher function gets passed to the URLInput component for the first input `change` event. For example if you paste `https://make.wordpress.com` directly into the input then it is determined to be a URL but because the current fetcher function for the current render is still the handler that deals with entity searches the correct results are not displayed. Adding another character to trigger a re-render will cause the UI to update to the expected state, but this is a major bug. * Tweak critical test to be more explicit about what is expected * Fix bug to make determining search handler use the latest input value Previously we relied on parent component state to choose which search handler to use for the current input term. However, the state was always 1 tick behind so the previous search handler got used. Updating this to use the real time value of the input passed onChange ensures we select the correct search fetcher when the component re-renders. * Add loading spinner and associated test coverage Spinner was technically always rendered but it wasn’t visible due to CSS styling. Fix and also cover with tests. * Fix bug where value could be empty * Adds basic editing / view state switching * Add keydown callback to URLInput * Select link on ENTER keydown event * Utilise LinkViewer to render edit state and decode urls for display * Only display link settings when a link is selected * Adds current link view styles * Makes settings toggle controlled by parent component * Update visuals to match updated design Addresses https://github.com/WordPress/gutenberg/issues/17557#issuecomment-542401433 * Add standardised min width to popover * Temporary hack to include Link UI in Playground for testing * Update to utilise isURL util from @wordpress/url package * Update to utilise isURL util from @wordpress/url package * Removes URLPopover dependency Attempts to remove unwanted deps on other components. We now utilise Popover directly and suffer no consequences as we are not making use of any bespoke features provided by URLPopover. * Extract settings drawer to sub component * Refactor search items into a component * Refactor Input and Search to component * Fix missing selected state on search suggestions * Tweak line height on search suggestion url path * Augment test for URL-like by testing for “www.” * Fix to stop url overflows and wrapping on to multiple lines * Uppcase URL in type indicator within search results list * Avoid reading out slug/URL for entity results * Ensures i18n of change button * Always offer URL result in search suggestions as default * Fix loading spinner position and dim results during loading Addresses https://github.com/WordPress/gutenberg/pull/17846#issuecomment-543244810 * Fix scroll shadows to use valid alpha transparent values in gradient Fixes broken shadows in Safari which didn’t recognise transparent as a value to transition to in a gradient. * Adds instructional text in place of URL for suggestions that are URLs Addresses designer feedback https://github.com/WordPress/gutenberg/issues/17557#issuecomment-545030027 * Update prop names for consistency Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r337840953 * Update line length to improve readability Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r337842799 * Update to avoid need to utilise partialRight util from lodash Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r337882576 * Updates key to avoid usage of index We cannot assume the suggestion `id` will be unique. This is because at the moment the search results are `Post`s. However in the future we may also need to include `Category` terms and the term IDs could easily clash with the Post IDs as they are in different DB tables. Using the `type` to differentiate the key. Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r337883174 * Update to remote isFunction check in favour of direct check Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r337885206 * Update to handle mailto and tel protocols and internal links * url-input: handle onKeyPress type event * link-control: add className prop * link-control: add README file * Remove unnecessary use of useCallback Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r338363236 * Fix current automated tests * Improves URL handling test to run for multiple URL value variations * Updates to display the URL type in the search results Previously only true `http` URLs were formatted with the correct type and the instructional text. Fixes so that all types of manual URL entry are correctly shown as such in the search results. Adds test to cover mailto variant of this. * Refactor tests to assert against all valid protocol formats and link variants This now includes tel, mailto and internal links. * Adds test to cover display of fallback URL search result for search values that are potentially URLS * Adds tests to check URL suggestions don’t display for non-URLs. * url-input: remove unneeded `suggestion` const * url-input: always trigger onKeyDown event * link-control: delegate handling keydown event Instead of this, let's propagate the onKeyDown and onKeyPress events to the parent component * link-control: add onKeyDown and onKeyPress handlers * link-control: playground -> close once onClose * link-control: propagate onClose() event * link-control: playground -> hanldling close by ESCAPE key * Fix to only render settings draw if settings are defined * Remove redundant commented out test * Update to render with a “current link” if one is provided. Previously if you passed in a current link the component would still render with a search box as thought nothing was selected. Updates so that if `currentLink` is provided the UI reflects that by showing the “selected” item and no search input. * Render playground with currentLink active * Adds test to cover currentLink prop * Remove selected state from Playground * Adds tests to cover selecting and changing links * Remove async function in place of direct Promise usage and add test coverage * Add test to cover keyboard handling Note: this uncovered a bug whereby keyboard handling of “selecting” the link you want to use is broken. This needs to be fixed. * Remove unecessary dep from effect * Fix URLInput to pass the actual suggestion object not the index If the full object is not provided then consuming components have no way of accessing the details of the selected suggestion thereby rendering it useless. * Fix keyboard handling so hitting `ENTER` will select an item as the current link Builds on previous commit. * Updates keyboard interaction test to include URL entry * Minor: reword test description * Fix missing key prop regression Previously `buildSuggestionItemProps` was including a key. However the implementation of `LinkControl` changed so that this was not required. However we forgot to reinstate on `URLInput`. This update ensures a key prop is set on the default output. Note that disabling of the autofocus linting was already in place: https://github.com/WordPress/gutenberg/blob/04e142e9cbd06a45c4ea297ec573d389955c13be/packages/block-editor/src/components/url-input/index.js#L239 Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r337841961 * DRY up conditionals Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r337842477 * link-control: set a default experimental link suggestions searcher if it't needed * link-control: handling key events * url-input: remove onKeyDown prop * url-input: remove calling onKeyDown prop * url-input: rollback some changes * Mark Link Creation Interface as Experimental (#18110) * mark main component as experimental * mark new URLInput props as experimental * add experimental onKeyPress * remove key handlers * Updates to use alias on experimental props Addresses https://github.com/WordPress/gutenberg/pull/18110#discussion_r339427180 * Remove unused prop from docs * Update props ordering and readme docs Also fixes eslint errors that kept me from committing the original changes * Revert playground changes * Rename InputSearch to SearchInput Props @talldan I really hope those changes I had to make in `search-input.js` don't break anything. * Remove disabling of jsx-key lint rule * Change fake id value to something that will not clash with post ids * [RNMobile] Hotfix 1.15.2 (#18128) * Force block inserter to re-render on device rotation (#18101) * Force block inserter to re-render on device rotation * Dummy * Revert "Dummy" This reverts commit 037f076679cb8f89a65ecafdd9130465a0fc03d9. * Add left right borders to inner blocks (#18109) * [Mobile]Remove alignment options from Media & Text until they are fixed (#18112) * Remove alignment options temporarily * Dummy commit * Fix: remove getItemLayout which causes scroll position issue (#18060) * Fix: Media & Text Loses upload status if post is closed/reopened during the upload (#18137) * Prevent deleting mediaType on upload progress * Call onMediaUpdate instead of onSelectMedia * Dummy commit * Revert "Dummy commit" This reverts commit 5ce06d61f74af688b9d938c99e2d9fdad090a42c. * Limit requestMediaImport calls for only image type * Update comment * Dummy commit * Revert "Dummy commit" This reverts commit 99584e41b097792d61370e9a0ac3c9ab52cf9bf4. * Fix handling of pasted images and prevent thumbnail uploads (#18215) * Fix handling of pasted images and prevent thumbnail uploads * Fix lint errors * Remove check for image for sync. * Include the RN mobile releases branch in Travis branches
* Initial component file structure * Implement basic icon and toggle mechanic * Adds basic search input * Update input to utilise LinkEditor component autocomplete * Add ability to customise placeholder * Update to utilise URLInput directly for greater flexibility * Add example search results and test coverage * Update class naming convention to match guidelines See https://github.com/WordPress/gutenberg/blob/master/docs/contributors/coding-guidelines.md#css Addresses #17846 (comment) * Adds render prop to enable custom suggestions rendering Previously it wasn’t possible to customise the render of the search suggestions. By providing an optional render prop we now have full control over this if required. * Update to utilise URLInput render prop to customise search suggestions render Previously we relied on our own render of suggestions but this wasn’t hooked up to all the accessibility enhancements afforded by URLInput. By utilising the render prop exposed by URLInput to customise the rendering of suggestions, we can have the best of both worlds. * Update to add post type to the fetchLinkSuggestions responsive mapping This is required to display the type of entitity in the search results for LinkControl * Fix to ensure search suggestion interaction states are perceivable * Update suggestion render prop to provide component props as arguments Previously when using the `renderSuggestions` render prop the user had to know how to put together the correct props on the correct elements in their custom render. By passing the default props for the listing element and the item element we can relieve the user of this burden by allowing them to spread the props onto the appropriate elements in their render without having to know how they are created. * Update to match with design visual and provide more accessible markup * Adds settings area. Fixes missing reset icon. * Fix search items to be buttons with correct style and layout * Adds overflow scrolling to search results * Fix to stop scroll shadow overlaying scrollbars * Add bespoke settings area and tweak styles * Update to allow URLs to be conditionally handled as a suggestion Previously when a URL was entered it was deemed that no suggestions should or could be found and so the process of fetching suggestions was short circuited. Add additional prop to optionally allow developers to have URL-like values handled as suggestions. * Updates to conditionally use an entity or url based search results fetcher If the current value of the input is a URL then we conditionally pass a different handler for search results to the URLInput component. For URL based values we immediately return a “suggestion” object with values matching those entered by the user. Non URL based values are handled as previously. * Fix bug whereby fetchSearchSuggestions wasn’t called Remove ambiguity by calling the search handler directly rather than proxying through another function and having to apply it immediately. * Remove default toggle UI and implement Popover close The LinkControl will be mostly where another element triggers the UI to appear. As a result we don’t want to force a toggle element on the developer. Rather we will expose an API to allow the consuming component to toggle the visibility of the LinkControl * Adds search text “highlighting” in results list * Move TextHighlight component to its own file * Fix bug where update to value prop didn’t cause suggestions to reset. * Update to remove internal handling of open/closed state This state is now expected to be handled by the consuming component chosing whether or not to render the component. It has no concept of open or closed. * Fix React violation by returning only the text for non matches * Update existing tests to match new implementation * Add link reset test * Adds test which uncovers major bug in the implementation Basically this test has revealed that due to the way we’re detecting and handling URL-like values the wrong data fetcher function gets passed to the URLInput component for the first input `change` event. For example if you paste `https://make.wordpress.com` directly into the input then it is determined to be a URL but because the current fetcher function for the current render is still the handler that deals with entity searches the correct results are not displayed. Adding another character to trigger a re-render will cause the UI to update to the expected state, but this is a major bug. * Tweak critical test to be more explicit about what is expected * Fix bug to make determining search handler use the latest input value Previously we relied on parent component state to choose which search handler to use for the current input term. However, the state was always 1 tick behind so the previous search handler got used. Updating this to use the real time value of the input passed onChange ensures we select the correct search fetcher when the component re-renders. * Add loading spinner and associated test coverage Spinner was technically always rendered but it wasn’t visible due to CSS styling. Fix and also cover with tests. * Fix bug where value could be empty * Adds basic editing / view state switching * Add keydown callback to URLInput * Select link on ENTER keydown event * Utilise LinkViewer to render edit state and decode urls for display * Only display link settings when a link is selected * Adds current link view styles * Makes settings toggle controlled by parent component * Update visuals to match updated design Addresses #17557 (comment) * Add standardised min width to popover * Temporary hack to include Link UI in Playground for testing * Update to utilise isURL util from @wordpress/url package * Update to utilise isURL util from @wordpress/url package * Removes URLPopover dependency Attempts to remove unwanted deps on other components. We now utilise Popover directly and suffer no consequences as we are not making use of any bespoke features provided by URLPopover. * Extract settings drawer to sub component * Refactor search items into a component * Refactor Input and Search to component * Fix missing selected state on search suggestions * Tweak line height on search suggestion url path * Augment test for URL-like by testing for “www.” * Fix to stop url overflows and wrapping on to multiple lines * Uppcase URL in type indicator within search results list * Avoid reading out slug/URL for entity results * Ensures i18n of change button * Always offer URL result in search suggestions as default * Fix loading spinner position and dim results during loading Addresses #17846 (comment) * Fix scroll shadows to use valid alpha transparent values in gradient Fixes broken shadows in Safari which didn’t recognise transparent as a value to transition to in a gradient. * Adds instructional text in place of URL for suggestions that are URLs Addresses designer feedback #17557 (comment) * Update prop names for consistency Addresses #17846 (comment) * Update line length to improve readability Addresses #17846 (comment) * Update to avoid need to utilise partialRight util from lodash Addresses #17846 (comment) * Updates key to avoid usage of index We cannot assume the suggestion `id` will be unique. This is because at the moment the search results are `Post`s. However in the future we may also need to include `Category` terms and the term IDs could easily clash with the Post IDs as they are in different DB tables. Using the `type` to differentiate the key. Addresses #17846 (comment) * Update to remote isFunction check in favour of direct check Addresses #17846 (comment) * Update to handle mailto and tel protocols and internal links * url-input: handle onKeyPress type event * link-control: add className prop * link-control: add README file * Remove unnecessary use of useCallback Addresses #17846 (comment) * Fix current automated tests * Improves URL handling test to run for multiple URL value variations * Updates to display the URL type in the search results Previously only true `http` URLs were formatted with the correct type and the instructional text. Fixes so that all types of manual URL entry are correctly shown as such in the search results. Adds test to cover mailto variant of this. * Refactor tests to assert against all valid protocol formats and link variants This now includes tel, mailto and internal links. * Adds test to cover display of fallback URL search result for search values that are potentially URLS * Adds tests to check URL suggestions don’t display for non-URLs. * url-input: remove unneeded `suggestion` const * url-input: always trigger onKeyDown event * link-control: delegate handling keydown event Instead of this, let's propagate the onKeyDown and onKeyPress events to the parent component * link-control: add onKeyDown and onKeyPress handlers * link-control: playground -> close once onClose * link-control: propagate onClose() event * link-control: playground -> hanldling close by ESCAPE key * Fix to only render settings draw if settings are defined * Remove redundant commented out test * Update to render with a “current link” if one is provided. Previously if you passed in a current link the component would still render with a search box as thought nothing was selected. Updates so that if `currentLink` is provided the UI reflects that by showing the “selected” item and no search input. * Render playground with currentLink active * Adds test to cover currentLink prop * Remove selected state from Playground * Adds tests to cover selecting and changing links * Remove async function in place of direct Promise usage and add test coverage * Add test to cover keyboard handling Note: this uncovered a bug whereby keyboard handling of “selecting” the link you want to use is broken. This needs to be fixed. * Remove unecessary dep from effect * Fix URLInput to pass the actual suggestion object not the index If the full object is not provided then consuming components have no way of accessing the details of the selected suggestion thereby rendering it useless. * Fix keyboard handling so hitting `ENTER` will select an item as the current link Builds on previous commit. * Updates keyboard interaction test to include URL entry * Minor: reword test description * Fix missing key prop regression Previously `buildSuggestionItemProps` was including a key. However the implementation of `LinkControl` changed so that this was not required. However we forgot to reinstate on `URLInput`. This update ensures a key prop is set on the default output. Note that disabling of the autofocus linting was already in place: https://github.com/WordPress/gutenberg/blob/04e142e9cbd06a45c4ea297ec573d389955c13be/packages/block-editor/src/components/url-input/index.js#L239 Addresses #17846 (comment) * DRY up conditionals Addresses #17846 (comment) * link-control: set a default experimental link suggestions searcher if it't needed * link-control: handling key events * url-input: remove onKeyDown prop * url-input: remove calling onKeyDown prop * url-input: rollback some changes * Mark Link Creation Interface as Experimental (#18110) * mark main component as experimental * mark new URLInput props as experimental * add experimental onKeyPress * remove key handlers * Updates to use alias on experimental props Addresses #18110 (comment) * Remove unused prop from docs * Update props ordering and readme docs Also fixes eslint errors that kept me from committing the original changes * Revert playground changes * Rename InputSearch to SearchInput Props @talldan I really hope those changes I had to make in `search-input.js` don't break anything. * Remove disabling of jsx-key lint rule * Change fake id value to something that will not clash with post ids
* Initial component file structure * Implement basic icon and toggle mechanic * Adds basic search input * Update input to utilise LinkEditor component autocomplete * Add ability to customise placeholder * Update to utilise URLInput directly for greater flexibility * Add example search results and test coverage * Update class naming convention to match guidelines See https://github.com/WordPress/gutenberg/blob/master/docs/contributors/coding-guidelines.md#css Addresses #17846 (comment) * Adds render prop to enable custom suggestions rendering Previously it wasn’t possible to customise the render of the search suggestions. By providing an optional render prop we now have full control over this if required. * Update to utilise URLInput render prop to customise search suggestions render Previously we relied on our own render of suggestions but this wasn’t hooked up to all the accessibility enhancements afforded by URLInput. By utilising the render prop exposed by URLInput to customise the rendering of suggestions, we can have the best of both worlds. * Update to add post type to the fetchLinkSuggestions responsive mapping This is required to display the type of entitity in the search results for LinkControl * Fix to ensure search suggestion interaction states are perceivable * Update suggestion render prop to provide component props as arguments Previously when using the `renderSuggestions` render prop the user had to know how to put together the correct props on the correct elements in their custom render. By passing the default props for the listing element and the item element we can relieve the user of this burden by allowing them to spread the props onto the appropriate elements in their render without having to know how they are created. * Update to match with design visual and provide more accessible markup * Adds settings area. Fixes missing reset icon. * Fix search items to be buttons with correct style and layout * Adds overflow scrolling to search results * Fix to stop scroll shadow overlaying scrollbars * Add bespoke settings area and tweak styles * Update to allow URLs to be conditionally handled as a suggestion Previously when a URL was entered it was deemed that no suggestions should or could be found and so the process of fetching suggestions was short circuited. Add additional prop to optionally allow developers to have URL-like values handled as suggestions. * Updates to conditionally use an entity or url based search results fetcher If the current value of the input is a URL then we conditionally pass a different handler for search results to the URLInput component. For URL based values we immediately return a “suggestion” object with values matching those entered by the user. Non URL based values are handled as previously. * Fix bug whereby fetchSearchSuggestions wasn’t called Remove ambiguity by calling the search handler directly rather than proxying through another function and having to apply it immediately. * Remove default toggle UI and implement Popover close The LinkControl will be mostly where another element triggers the UI to appear. As a result we don’t want to force a toggle element on the developer. Rather we will expose an API to allow the consuming component to toggle the visibility of the LinkControl * Adds search text “highlighting” in results list * Move TextHighlight component to its own file * Fix bug where update to value prop didn’t cause suggestions to reset. * Update to remove internal handling of open/closed state This state is now expected to be handled by the consuming component chosing whether or not to render the component. It has no concept of open or closed. * Fix React violation by returning only the text for non matches * Update existing tests to match new implementation * Add link reset test * Adds test which uncovers major bug in the implementation Basically this test has revealed that due to the way we’re detecting and handling URL-like values the wrong data fetcher function gets passed to the URLInput component for the first input `change` event. For example if you paste `https://make.wordpress.com` directly into the input then it is determined to be a URL but because the current fetcher function for the current render is still the handler that deals with entity searches the correct results are not displayed. Adding another character to trigger a re-render will cause the UI to update to the expected state, but this is a major bug. * Tweak critical test to be more explicit about what is expected * Fix bug to make determining search handler use the latest input value Previously we relied on parent component state to choose which search handler to use for the current input term. However, the state was always 1 tick behind so the previous search handler got used. Updating this to use the real time value of the input passed onChange ensures we select the correct search fetcher when the component re-renders. * Add loading spinner and associated test coverage Spinner was technically always rendered but it wasn’t visible due to CSS styling. Fix and also cover with tests. * Fix bug where value could be empty * Adds basic editing / view state switching * Add keydown callback to URLInput * Select link on ENTER keydown event * Utilise LinkViewer to render edit state and decode urls for display * Only display link settings when a link is selected * Adds current link view styles * Makes settings toggle controlled by parent component * Update visuals to match updated design Addresses #17557 (comment) * Add standardised min width to popover * Temporary hack to include Link UI in Playground for testing * Update to utilise isURL util from @wordpress/url package * Update to utilise isURL util from @wordpress/url package * Removes URLPopover dependency Attempts to remove unwanted deps on other components. We now utilise Popover directly and suffer no consequences as we are not making use of any bespoke features provided by URLPopover. * Extract settings drawer to sub component * Refactor search items into a component * Refactor Input and Search to component * Fix missing selected state on search suggestions * Tweak line height on search suggestion url path * Augment test for URL-like by testing for “www.” * Fix to stop url overflows and wrapping on to multiple lines * Uppcase URL in type indicator within search results list * Avoid reading out slug/URL for entity results * Ensures i18n of change button * Always offer URL result in search suggestions as default * Fix loading spinner position and dim results during loading Addresses #17846 (comment) * Fix scroll shadows to use valid alpha transparent values in gradient Fixes broken shadows in Safari which didn’t recognise transparent as a value to transition to in a gradient. * Adds instructional text in place of URL for suggestions that are URLs Addresses designer feedback #17557 (comment) * Update prop names for consistency Addresses #17846 (comment) * Update line length to improve readability Addresses #17846 (comment) * Update to avoid need to utilise partialRight util from lodash Addresses #17846 (comment) * Updates key to avoid usage of index We cannot assume the suggestion `id` will be unique. This is because at the moment the search results are `Post`s. However in the future we may also need to include `Category` terms and the term IDs could easily clash with the Post IDs as they are in different DB tables. Using the `type` to differentiate the key. Addresses #17846 (comment) * Update to remote isFunction check in favour of direct check Addresses #17846 (comment) * Update to handle mailto and tel protocols and internal links * url-input: handle onKeyPress type event * link-control: add className prop * link-control: add README file * Remove unnecessary use of useCallback Addresses #17846 (comment) * Fix current automated tests * Improves URL handling test to run for multiple URL value variations * Updates to display the URL type in the search results Previously only true `http` URLs were formatted with the correct type and the instructional text. Fixes so that all types of manual URL entry are correctly shown as such in the search results. Adds test to cover mailto variant of this. * Refactor tests to assert against all valid protocol formats and link variants This now includes tel, mailto and internal links. * Adds test to cover display of fallback URL search result for search values that are potentially URLS * Adds tests to check URL suggestions don’t display for non-URLs. * url-input: remove unneeded `suggestion` const * url-input: always trigger onKeyDown event * link-control: delegate handling keydown event Instead of this, let's propagate the onKeyDown and onKeyPress events to the parent component * link-control: add onKeyDown and onKeyPress handlers * link-control: playground -> close once onClose * link-control: propagate onClose() event * link-control: playground -> hanldling close by ESCAPE key * Fix to only render settings draw if settings are defined * Remove redundant commented out test * Update to render with a “current link” if one is provided. Previously if you passed in a current link the component would still render with a search box as thought nothing was selected. Updates so that if `currentLink` is provided the UI reflects that by showing the “selected” item and no search input. * Render playground with currentLink active * Adds test to cover currentLink prop * Remove selected state from Playground * Adds tests to cover selecting and changing links * Remove async function in place of direct Promise usage and add test coverage * Add test to cover keyboard handling Note: this uncovered a bug whereby keyboard handling of “selecting” the link you want to use is broken. This needs to be fixed. * Remove unecessary dep from effect * Fix URLInput to pass the actual suggestion object not the index If the full object is not provided then consuming components have no way of accessing the details of the selected suggestion thereby rendering it useless. * Fix keyboard handling so hitting `ENTER` will select an item as the current link Builds on previous commit. * Updates keyboard interaction test to include URL entry * Minor: reword test description * Fix missing key prop regression Previously `buildSuggestionItemProps` was including a key. However the implementation of `LinkControl` changed so that this was not required. However we forgot to reinstate on `URLInput`. This update ensures a key prop is set on the default output. Note that disabling of the autofocus linting was already in place: https://github.com/WordPress/gutenberg/blob/04e142e9cbd06a45c4ea297ec573d389955c13be/packages/block-editor/src/components/url-input/index.js#L239 Addresses #17846 (comment) * DRY up conditionals Addresses #17846 (comment) * link-control: set a default experimental link suggestions searcher if it't needed * link-control: handling key events * url-input: remove onKeyDown prop * url-input: remove calling onKeyDown prop * url-input: rollback some changes * Mark Link Creation Interface as Experimental (#18110) * mark main component as experimental * mark new URLInput props as experimental * add experimental onKeyPress * remove key handlers * Updates to use alias on experimental props Addresses #18110 (comment) * Remove unused prop from docs * Update props ordering and readme docs Also fixes eslint errors that kept me from committing the original changes * Revert playground changes * Rename InputSearch to SearchInput Props @talldan I really hope those changes I had to make in `search-input.js` don't break anything. * Remove disabling of jsx-key lint rule * Change fake id value to something that will not clash with post ids
commit 9c5e2c1b6f043540a0af8451893d3093d4173b99 Author: Marko Savic <savicmarko1985@gmail.com> Date: Fri Nov 15 16:13:12 2019 +0100 Added native label to android and ios Platforms element (#18539) commit 862c6c2178aa8fc41142fa05a3611c107969030d Author: Stefanos Togkoulidis <stefanostogoulidis@gmail.com> Date: Fri Nov 15 13:12:46 2019 +0200 Fix lint issues commit e76d087ce1315b4e04048f650973822eeac1dfcd Author: Matthew Kevins <mkevins@users.noreply.github.com> Date: Fri Nov 15 19:35:36 2019 +1000 [RNMobile] Add separate options for capturing photo and video (#18505) * Add separate options for capturing photo and video * Adding media source objects to MediaUpload * Added id to media source to diferenciate between take image and take photo * Fix values not found on media sources * Fix lint issues * Fix unit tests on Media Upload component * Remove empty array item from internalSources in mediaUpload commit aba13e2981a3fc5af1ed3e280f559822f32419fd Author: Cameron Voell <cameronvoell@gmail.com> Date: Thu Nov 14 07:14:05 2019 -0800 [RNMobile] Image block makes call to native for fullscreen preview (#18493) * Call to RN gutenberg bridge for Android native fullscreen preview * Added highlight border around image when image block is selected * Do not request fullscreen preview if tapped mid upload or while showing tap to rety. commit 262cca42e53be0be2e9d6c0a8df08d94e672ac54 Author: Matt Chowning <mchowning@gmail.com> Date: Thu Nov 14 09:24:52 2019 -0500 [RNMobile] Add content alignment options to paragraph block (#18433) commit 3d1ef4bdc1f204c4e8aef4cd98a02c1050d37130 Author: Sérgio Estêvão <sergioestevao@gmail.com> Date: Thu Nov 14 13:19:03 2019 +0000 Fix paste in post title in GB-mobile. (#18479) * Fix paste on title. * Remove html import. commit 639d3c4bba6e5f2577d2694e05301c5760384c62 Author: etoledom <etoledom@icloud.com> Date: Thu Nov 14 12:24:33 2019 +0100 [RNMobile] Simplify bridge requestMediaPick methods (#18303) * Merge bridge `Requeste media pick` methods into a single one, adding a source param. This helps to handle the "others" option in the same way than any other option, plus adding the filters parameter. This filter parameters is needed for the iOS "Other Apps" media source option. This is also one step forward to declare all media source options from the client app. * Move device sources to native bridge component * Fix typo on media source name commit e9f55660ef36605fc2e98465c20e0d4b7c27ca8a Author: Sérgio Estêvão <sergioestevao@gmail.com> Date: Tue Nov 12 22:30:20 2019 +0000 Activate preformatted block in the RN app (#17906) * Activate pre-format block * Make sure identifier is set to the correct value. * Implement native version of preformatted block Use the web block as a base but then wrap a style view around. * Change preformatted background color to gray-5 * Prepare block for dark color mode in iOS. * Test preformatted block * Make block placeholder borders round * Update colors for preformatted block in mobile * Cleanup test * Remove test At the moment the test setup is not ready to mock RichText components. * Simplify styles. * Simplify the styles file using vars and shorthands * Enable preformatted only for ios when running in production mode. commit 5b02715253a46a65a4e9bd380cb013a607fd1273 Author: Stefanos Togkoulidis <stefanostogoulidis@gmail.com> Date: Mon Nov 11 16:16:29 2019 +0200 More fixing of merge errors commit 168bf7dca69d108159a10002ab6f3a102933e6bc Author: Stefanos Togkoulidis <stefanostogoulidis@gmail.com> Date: Mon Nov 11 14:36:56 2019 +0200 Fix merge errors commit a6450c6397e8b182527414cf6d878cb8f953c845 Merge: 2c3310fa6 705d91151 Author: Stefanos Togkoulidis <stefanostogoulidis@gmail.com> Date: Mon Nov 11 12:13:33 2019 +0200 Merge branch 'rnmobile/releases' into rnmobile/release-v1.17.0 commit 705d91151fe4064d4dfea337a7f2ba77983ecbe1 Author: Stefanos Togkoulidis <stefanostogoulidis@gmail.com> Date: Fri Nov 1 13:32:41 2019 +0200 Include the RN mobile releases branch in Travis branches commit e03e133b2a7feb4aa11dc73883457d6798896f1f Author: Jorge Bernal <jorge@automattic.com> Date: Fri Nov 1 11:16:13 2019 +0100 Fix handling of pasted images and prevent thumbnail uploads (#18215) * Fix handling of pasted images and prevent thumbnail uploads * Fix lint errors * Remove check for image for sync. commit c04639e519e538a20059d8a22b60974c7ef589b2 Author: Dave Smith <getdavemail@gmail.com> Date: Wed Oct 30 04:21:33 2019 +0000 Experimental Link creation interface (#17846) * Initial component file structure * Implement basic icon and toggle mechanic * Adds basic search input * Update input to utilise LinkEditor component autocomplete * Add ability to customise placeholder * Update to utilise URLInput directly for greater flexibility * Add example search results and test coverage * Update class naming convention to match guidelines See https://github.com/WordPress/gutenberg/blob/master/docs/contributors/coding-guidelines.md#css Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r332567521 * Adds render prop to enable custom suggestions rendering Previously it wasn’t possible to customise the render of the search suggestions. By providing an optional render prop we now have full control over this if required. * Update to utilise URLInput render prop to customise search suggestions render Previously we relied on our own render of suggestions but this wasn’t hooked up to all the accessibility enhancements afforded by URLInput. By utilising the render prop exposed by URLInput to customise the rendering of suggestions, we can have the best of both worlds. * Update to add post type to the fetchLinkSuggestions responsive mapping This is required to display the type of entitity in the search results for LinkControl * Fix to ensure search suggestion interaction states are perceivable * Update suggestion render prop to provide component props as arguments Previously when using the `renderSuggestions` render prop the user had to know how to put together the correct props on the correct elements in their custom render. By passing the default props for the listing element and the item element we can relieve the user of this burden by allowing them to spread the props onto the appropriate elements in their render without having to know how they are created. * Update to match with design visual and provide more accessible markup * Adds settings area. Fixes missing reset icon. * Fix search items to be buttons with correct style and layout * Adds overflow scrolling to search results * Fix to stop scroll shadow overlaying scrollbars * Add bespoke settings area and tweak styles * Update to allow URLs to be conditionally handled as a suggestion Previously when a URL was entered it was deemed that no suggestions should or could be found and so the process of fetching suggestions was short circuited. Add additional prop to optionally allow developers to have URL-like values handled as suggestions. * Updates to conditionally use an entity or url based search results fetcher If the current value of the input is a URL then we conditionally pass a different handler for search results to the URLInput component. For URL based values we immediately return a “suggestion” object with values matching those entered by the user. Non URL based values are handled as previously. * Fix bug whereby fetchSearchSuggestions wasn’t called Remove ambiguity by calling the search handler directly rather than proxying through another function and having to apply it immediately. * Remove default toggle UI and implement Popover close The LinkControl will be mostly where another element triggers the UI to appear. As a result we don’t want to force a toggle element on the developer. Rather we will expose an API to allow the consuming component to toggle the visibility of the LinkControl * Adds search text “highlighting” in results list * Move TextHighlight component to its own file * Fix bug where update to value prop didn’t cause suggestions to reset. * Update to remove internal handling of open/closed state This state is now expected to be handled by the consuming component chosing whether or not to render the component. It has no concept of open or closed. * Fix React violation by returning only the text for non matches * Update existing tests to match new implementation * Add link reset test * Adds test which uncovers major bug in the implementation Basically this test has revealed that due to the way we’re detecting and handling URL-like values the wrong data fetcher function gets passed to the URLInput component for the first input `change` event. For example if you paste `https://make.wordpress.com` directly into the input then it is determined to be a URL but because the current fetcher function for the current render is still the handler that deals with entity searches the correct results are not displayed. Adding another character to trigger a re-render will cause the UI to update to the expected state, but this is a major bug. * Tweak critical test to be more explicit about what is expected * Fix bug to make determining search handler use the latest input value Previously we relied on parent component state to choose which search handler to use for the current input term. However, the state was always 1 tick behind so the previous search handler got used. Updating this to use the real time value of the input passed onChange ensures we select the correct search fetcher when the component re-renders. * Add loading spinner and associated test coverage Spinner was technically always rendered but it wasn’t visible due to CSS styling. Fix and also cover with tests. * Fix bug where value could be empty * Adds basic editing / view state switching * Add keydown callback to URLInput * Select link on ENTER keydown event * Utilise LinkViewer to render edit state and decode urls for display * Only display link settings when a link is selected * Adds current link view styles * Makes settings toggle controlled by parent component * Update visuals to match updated design Addresses https://github.com/WordPress/gutenberg/issues/17557#issuecomment-542401433 * Add standardised min width to popover * Temporary hack to include Link UI in Playground for testing * Update to utilise isURL util from @wordpress/url package * Update to utilise isURL util from @wordpress/url package * Removes URLPopover dependency Attempts to remove unwanted deps on other components. We now utilise Popover directly and suffer no consequences as we are not making use of any bespoke features provided by URLPopover. * Extract settings drawer to sub component * Refactor search items into a component * Refactor Input and Search to component * Fix missing selected state on search suggestions * Tweak line height on search suggestion url path * Augment test for URL-like by testing for “www.” * Fix to stop url overflows and wrapping on to multiple lines * Uppcase URL in type indicator within search results list * Avoid reading out slug/URL for entity results * Ensures i18n of change button * Always offer URL result in search suggestions as default * Fix loading spinner position and dim results during loading Addresses https://github.com/WordPress/gutenberg/pull/17846#issuecomment-543244810 * Fix scroll shadows to use valid alpha transparent values in gradient Fixes broken shadows in Safari which didn’t recognise transparent as a value to transition to in a gradient. * Adds instructional text in place of URL for suggestions that are URLs Addresses designer feedback https://github.com/WordPress/gutenberg/issues/17557#issuecomment-545030027 * Update prop names for consistency Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r337840953 * Update line length to improve readability Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r337842799 * Update to avoid need to utilise partialRight util from lodash Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r337882576 * Updates key to avoid usage of index We cannot assume the suggestion `id` will be unique. This is because at the moment the search results are `Post`s. However in the future we may also need to include `Category` terms and the term IDs could easily clash with the Post IDs as they are in different DB tables. Using the `type` to differentiate the key. Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r337883174 * Update to remote isFunction check in favour of direct check Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r337885206 * Update to handle mailto and tel protocols and internal links * url-input: handle onKeyPress type event * link-control: add className prop * link-control: add README file * Remove unnecessary use of useCallback Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r338363236 * Fix current automated tests * Improves URL handling test to run for multiple URL value variations * Updates to display the URL type in the search results Previously only true `http` URLs were formatted with the correct type and the instructional text. Fixes so that all types of manual URL entry are correctly shown as such in the search results. Adds test to cover mailto variant of this. * Refactor tests to assert against all valid protocol formats and link variants This now includes tel, mailto and internal links. * Adds test to cover display of fallback URL search result for search values that are potentially URLS * Adds tests to check URL suggestions don’t display for non-URLs. * url-input: remove unneeded `suggestion` const * url-input: always trigger onKeyDown event * link-control: delegate handling keydown event Instead of this, let's propagate the onKeyDown and onKeyPress events to the parent component * link-control: add onKeyDown and onKeyPress handlers * link-control: playground -> close once onClose * link-control: propagate onClose() event * link-control: playground -> hanldling close by ESCAPE key * Fix to only render settings draw if settings are defined * Remove redundant commented out test * Update to render with a “current link” if one is provided. Previously if you passed in a current link the component would still render with a search box as thought nothing was selected. Updates so that if `currentLink` is provided the UI reflects that by showing the “selected” item and no search input. * Render playground with currentLink active * Adds test to cover currentLink prop * Remove selected state from Playground * Adds tests to cover selecting and changing links * Remove async function in place of direct Promise usage and add test coverage * Add test to cover keyboard handling Note: this uncovered a bug whereby keyboard handling of “selecting” the link you want to use is broken. This needs to be fixed. * Remove unecessary dep from effect * Fix URLInput to pass the actual suggestion object not the index If the full object is not provided then consuming components have no way of accessing the details of the selected suggestion thereby rendering it useless. * Fix keyboard handling so hitting `ENTER` will select an item as the current link Builds on previous commit. * Updates keyboard interaction test to include URL entry * Minor: reword test description * Fix missing key prop regression Previously `buildSuggestionItemProps` was including a key. However the implementation of `LinkControl` changed so that this was not required. However we forgot to reinstate on `URLInput`. This update ensures a key prop is set on the default output. Note that disabling of the autofocus linting was already in place: https://github.com/WordPress/gutenberg/blob/04e142e9cbd06a45c4ea297ec573d389955c13be/packages/block-editor/src/components/url-input/index.js#L239 Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r337841961 * DRY up conditionals Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r337842477 * link-control: set a default experimental link suggestions searcher if it't needed * link-control: handling key events * url-input: remove onKeyDown prop * url-input: remove calling onKeyDown prop * url-input: rollback some changes * Mark Link Creation Interface as Experimental (#18110) * mark main component as experimental * mark new URLInput props as experimental * add experimental onKeyPress * remove key handlers * Updates to use alias on experimental props Addresses https://github.com/WordPress/gutenberg/pull/18110#discussion_r339427180 * Remove unused prop from docs * Update props ordering and readme docs Also fixes eslint errors that kept me from committing the original changes * Revert playground changes * Rename InputSearch to SearchInput Props @talldan I really hope those changes I had to make in `search-input.js` don't break anything. * Remove disabling of jsx-key lint rule * Change fake id value to something that will not clash with post ids commit 3ecf70171dd5522f1686acae4902ed465f514ac7 Author: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> Date: Tue Oct 29 23:37:35 2019 +0100 Scripts: Bump the version of npm-package-json-lint (#18160) commit caa80cb0d298f4792f973a0eaa16b54d2a44da6b Author: Marko Savic <savicmarko1985@gmail.com> Date: Tue Oct 29 20:03:04 2019 +0100 [RNMobile] Added support for giphy and pexels images (#18026) commit 3e5f7a5999aa846fa2bed2f6dbddd6cb78b189ef Author: Jorge Costa <jorge.costa@automattic.com> Date: Tue Oct 29 17:59:01 2019 +0000 Update packages/block-editor/src/components/colors/use-colors.js (#18147) Co-Authored-By: Enrique Piqueras <epiqueras@users.noreply.github.com> (+2 squashed commits) Squashed commits: [36484b4d3f] Update packages/block-editor/src/components/colors/use-colors.js Co-Authored-By: Enrique Piqueras <epiqueras@users.noreply.github.com> [9c4c7694bd] Fix: solve some issues in useColors hook commit f558ed79e68014880cabfc41d43c50f51e118752 Author: Damián Suárez <rdsuarez@gmail.com> Date: Tue Oct 29 14:43:31 2019 -0300 NavigationMenu: set attributes rightly (#18150) * navigation-menu: set attributes once * navigation-menu: add CSS class as hook dependencies * Update packages/block-library/src/navigation-menu/edit.js Co-Authored-By: Enrique Piqueras <epiqueras@users.noreply.github.com> commit 57197b6c15939605ce60cb31b6686cd1233efe22 Author: Michael P. Pfeiffer <frontdevde@users.noreply.github.com> Date: Tue Oct 29 18:21:56 2019 +0100 Navigation: Explore default frontend styles (#18094) * try basic version of varia theme styles as default * Add class to show submenu indicator * adjustments for small viewports commit a9cfa56e6caeaac67d11d4fa0328780110e91124 Author: Maxime Biais <maxime.biais@gmail.com> Date: Tue Oct 29 18:20:49 2019 +0100 [RNMobile] Add a subtitle for unsupported blocks (#18107) * Add a new unsupported subtitle to missing blocks - even we know about the block title * Update margins, colors and font weight of the unsupported block commit 1d9313025b9a147fd0a3831bcbdd53108194e52e Author: Sérgio Estêvão <sergioestevao@gmail.com> Date: Tue Oct 29 15:09:53 2019 +0000 Resyncs RichText mobile components with web counterparts. (#17897) * Resyncs RichText mobile components with web counterparts. * Remove outdated test. * Remove unused references. * Add platform component * Add components depending of platform. Only add specific components if we are on the web implementation. * Abstract paste of files for RN and web Makes the code for pasting image more abstract in the paste method and implement specific translation to HTML depending of the platform. * Compose extra attributes/props on select/dispatch only if mobile. * Remove RN index file for RichText Wrapper. Moved all the specific code to the standard index file, so this file is no longer needed. * Remove API index native file that is no longer needed. * Clean up lint errors in file-paste-handler. * Fix lint errors. * Implement stub remove browser shortcuts for RN * Implement autocomplete stub for RN. * Refactor toolbar presentation to a method. * Remove no longer needed platform file. * Consolidate the file paste handler in a single implementation. Created a stub for createBlobURL for native that simple returns the original URL. * Change the text for platform to make it explicit it's native only. * Remove duplicate files * Include type in file comparison * Forgot to rename for native file * Fix filePasteHandler for native * Move logging back * Restore comment on logging * Add check for files existence. * Refactor format-toolbar code to use split web/native files * Remove prop duplication. * Fix getAnchorRect call * Remove unnecessary const * Sync fix for list removal of first empty line * Fix RN build after merge with master * Sync with web counterpart. * Only change selection after new formats are set. commit 90342167f8f00da500ff5d5c967129d400844709 Author: Joen Asmussen <joen@automattic.com> Date: Tue Oct 29 14:34:24 2019 +0100 Fix columns full-wide regression. (#18021) The Columns block, when full-wide, has intentional left and right padding to ensure the mover controls of child blocks are accessible. This is editor-only, and only when the block is selected. This regressed at some point, a while ago, probably around the introduction of extra on-click padding to show the dashed outlines of child elements. This PR shuffles the rules a bit, reduces some of their specificity, and applies the left and right padding elsewhere to make it work. commit f1f43d827f7d91777a86c3e4a001ac7f7c824c20 Author: Riad Benguella <benguella@gmail.com> Date: Tue Oct 29 13:38:20 2019 +0100 Make the mediaUpload block editor setting a stable API (#18156) commit 0eb16bd4732d06fe1f156526602f130b27109e2d Author: Riad Benguella <benguella@gmail.com> Date: Tue Oct 29 10:51:30 2019 +0100 Make the AsyncModeProvider API a stable API (#18154) commit 6277ffdfb1ab449cf7a958a77fe3b81a49f4816a Author: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> Date: Tue Oct 29 09:53:13 2019 +0100 Block Directory: Convert it to UI Plugin to avoid bundling into Core (#17576) * Block Directory: Convert it to UI Plugin to avoid bundling into Core * Load the block directory assets only when the experiment is enabled * Try to reimplement asset overrides to give more flexibility * Add code style improvemements and perform code cleanup * Try to make PHP unit tests pass by removing group check * Ensure that packages and vendor scripts are printed in the footer * Fix the has action check for the block directory assets * Move gutenberg-block-directory experiment check out of the action * Fix bin/get-vendor-scripts.php commit 77b36b963a63bb69827273c815ea369cbde676b2 Author: Jon Quach <hello@jonquach.com> Date: Tue Oct 29 04:20:53 2019 -0400 Components: Draggable, add story (#18070) * Components: Add Story for Draggable This update adds a Storybook example for the Draggable component from `@wordpress/components`. * Fix useState hook for Draggable story example Solution was to create an Example component with the useState hook. Render that Example component in the story instead. commit 38a1227e7c5817141dd0907b762eb4ff00dc770e Author: andrei draganescu <me@andreidraganescu.info> Date: Tue Oct 29 08:46:12 2019 +0200 Smart block appender (#16708) * if thre is only one there is only one * made a new insertion point selector, some code review refactoring * better handling of inserter * refactoring and named block insertion * updates to the appender * update snapshots * update docs * default inserter label is used in so many tests * fixed allowed blocks test * snapshot updated * better naming and removed the need for es-lint disabling * improved the inserter label construction * improved the doc of getTheOnlyAllowedItem selector * reverting test patches becasue patching without understanding is bad, bad, bad - don't do it * moved getInsertionIndex out of selectos and back into each component that used it * docs generated * added experimental labels to new selectors, added es-lint comment back * updated docs * Update packages/block-editor/src/store/selectors.js Co-Authored-By: Miguel Fonseca <miguelcsf@gmail.com> * Update packages/block-editor/src/store/selectors.js Co-Authored-By: Miguel Fonseca <miguelcsf@gmail.com> * refactored and fixed some coding errors * small code move * small code move * removes aria attrs for autoinserted items * fixes typo, adds translators comment * simplifies the intserter logic * fix for the simplification * simplifies by using one selector and passing props in compose * small code updates * lint * renamed insertedBlock * small doc update * adds tooltip to the default button appender * refactores for more self documenting varnames commit d42053413785aaf2c23400ccc86b03fd17d9bf1a Author: Brent Swisher <brent@brentswisher.com> Date: Tue Oct 29 02:06:40 2019 -0400 Add Spinner component to storybook (#18145) commit f46a6a81e74be9a839c6c6159ce360707daf7cb2 Author: Marcus Kazmierczak <marcus@mkaz.com> Date: Mon Oct 28 22:55:52 2019 -0700 Update ExternalLink Component to fix visually hidden text (#18142) * Switch screen-reader-txt to VisuallyHidden component * Fix core embed test snapshot, new classname commit ff78d859458d12e475e8a61b3e6da8937d87a74c Author: andrei draganescu <me@andreidraganescu.info> Date: Tue Oct 29 02:24:16 2019 +0200 Add horizontal option for the block movers (#16615) * horizontal option for the mover, missing icons, broken hover * we now have icons * positioned the mover to the middle left * horizontal mover on mobile * vertical layout for horizontal movers * drop block movers into block edit to enable inline movers * implemented so as to not be a concern for the block implementer * removes useless scss variable * hiding the drag handle at block level * renamed horizontalMover to moverOptions to incorporate separation of properties * rafactores the mover options * Initial CSS work to make the menu more manageable. This moves to flex instead of grid, neutralizes margins, simplifies a few things. * Make movers inline again. * Further improve margins for child blocks. * adds proper aliases in BlockEdit * previxed options as experimental * RTL movers * removed the position option, marked option experimental * labeled as experimental new mober and block list props * refactored direction detection code for better readability, fixed some code alignment issues commit 12490f242fcbe7497699bf2ea133164c93572aa5 Author: Ella van Durpe <wp@iseulde.com> Date: Mon Oct 28 17:16:08 2019 +0100 Commander: switch cloning method to HTTPS (#18136) * Commander: switch cloning method to HTTPS * Add HOME env variable commit 82085edcc77e956f2565d499e094c81ea386cd4b Author: Sérgio Estêvão <sergioestevao@gmail.com> Date: Mon Oct 28 15:48:01 2019 +0000 Fix RN build after merge with master (#18133) commit 757f7d6d046ec517511c6a384b2f0b0774f328fa Author: iseulde <wp@iseulde.com> Date: Mon Oct 28 15:59:05 2019 +0100 Bump plugin version to 6.8.0-rc.1 commit 96117906dd237fa5706b2db809816e240a2fcf90 Author: Jorge Costa <jorge.costa@automattic.com> Date: Mon Oct 28 13:56:54 2019 +0000 Add grandient fixtures to cover block (#18002) commit 94b971b4a9d2790c390be14f7dafb222ff660881 Author: Ella van Durpe <wp@iseulde.com> Date: Mon Oct 28 13:49:48 2019 +0100 Paste: allow list attributes (#17144) commit 0f1ea49c10f32fadf20da8da50853ac40617fada Author: Dave Smith <getdavemail@gmail.com> Date: Mon Oct 28 11:50:46 2019 +0000 Add `DimensionControl` component (#16791) * Adds initial component Note this is copied wholescale from original PR https://github.com/WordPress/gutenberg/pull/16730 * Remove redunant files. Refactors tests. * Updates docs * Checks callbacks are functions prior to calling * Adds temp testing example usage of component to Group Block * Updates to allow sizes as an (optionaly) prop dependency * Update default value label * Removes unnecessary InstanceId HOC usage Addresses https://github.com/WordPress/gutenberg/pull/16791#discussion_r323906696 * Remove unused abbreviation in size table * Revert "Adds temp testing example usage of component to Group Block" This reverts commit 6f9f3bfd2a7c1a08ecfab143384d414701f0c1e8. * Remove arbitrary size value from sizes list This is not required as we cannot know how the dimensions component will be used. Therefore sticking with relative values via the slugs is safer. These can be mapped on a case by case basis as required. * Remove icon label for a11y reasons Addresses https://github.com/WordPress/gutenberg/pull/16791#discussion_r324103481 * Update component docs for consistency, spelling and grammar * Tweak docblock formats * Update test snapshots to match new default value * Update API from onSpacingChange to more agnostic onChange Addresses https://github.com/WordPress/gutenberg/pull/16791#discussion_r331622801 * Update tests to cover onChange handler renamed * Update currentSize prop to value for consistency with other components * Removes onReset in favour of onChange with undefined for consistency Adddresses https://github.com/WordPress/gutenberg/pull/16791#discussion_r331624272 * Move component to @wordpress/components package * Remove invalid font sizes style import Accidentally included from rebase. * Deps update due to rebase * Remove unneeded doc blocks * Remove usage suggestion which was not helpful * Update readme docs to match current API Addresses https://github.com/WordPress/gutenberg/pull/16791#discussion_r332692714 * Export as experimental component Addresses https://github.com/WordPress/gutenberg/pull/16791#discussion_r332694561 * Revert "Deps update due to rebase" This reverts commit 95d00f39010edfaac620980e0d0e7c1001a68c98. Addresses https://github.com/WordPress/gutenberg/pull/16791#discussion_r332691520 commit 286ee9a3448e2aa8a5a1a7eaf6bd35cfdadd4507 Author: Riad Benguella <benguella@gmail.com> Date: Mon Oct 28 11:34:12 2019 +0100 Allow travis builds in all wp/* branches commit 7f0a81c53ce451e25ed5e291292e0234a0efafcf Author: Riad Benguella <benguella@gmail.com> Date: Mon Oct 28 11:09:48 2019 +0100 Allow media upload post processing for all 5xx responses (#18106) commit aec39f0c7926ec4d007cb25a829a8c9d65016d44 Author: Jorge Costa <jorge.costa@automattic.com> Date: Mon Oct 28 09:44:55 2019 +0000 Add class mechanism for preset gradients. (#18008) commit 880d1de41b4f1d0d6eed57e914f85260c1f29dbf Author: Marcus Kazmierczak <marcus@mkaz.com> Date: Mon Oct 28 00:06:32 2019 -0700 Storybook: Add ColorPicker component (#18013) * Add color picker component to Storybook * Switch screen-reader-text to new VisuallyHidden * Update ColorPicker tests snapshots * Add story for showing Alpha Channel * Move state out of exported component * Lowercase story name commit b85675d0e117bdf3daf6ea31d55d1a03102da859 Author: Jon Quach <hello@jonquach.com> Date: Mon Oct 28 03:01:04 2019 -0400 Components: ExternalLink, add story (#18084) This update adds a story for the ExternalLink component. Storybook knobs were added to better demonstrate the component's properties. commit 06834d909d393139fb57e1c1813721ec58baad9c Author: Jeff Bowen <jblz@users.noreply.github.com> Date: Mon Oct 28 02:51:05 2019 -0400 Tutorial: Specify block naming restrictions (#18117) * Tutorial: Specify block naming restrictions * Remove an incorrect comma commit f49df6f25dd1b67586f6a42b0b3175ac63b2909a Author: Robert Anderson <robert@noisysocks.com> Date: Mon Oct 28 11:23:39 2019 +1100 Raw handling: Fix strikethrough formatting when copy/pasting from Google Docs in Safari (#17187) commit e93f7bb4ea07c0a8fe973964b6c5f0da9dd85e5a Author: Robert Anderson <robert@noisysocks.com> Date: Mon Oct 28 11:08:23 2019 +1100 Fix overlapping controls in the Inline Image formatting toolbar (#18090) * Fix overlapping controls in the Inline Image formatting toolbar * Inline mage formatting: make Apply button same height as Width input * Polish. commit a486306f6695a7b5ffcac1c94ea772c1ead4a68a Author: tellthemachines <tellthemachines@users.noreply.github.com> Date: Sun Oct 27 15:44:07 2019 -0700 Nav menu item enhancements: display toolbar and remove dropdown (#17986) * Display toolbar and remove dropdown from menu item * Fixes block toolbar misalignment on IE. * Replace destination and deal with keypresses. * Update fixture. * Keydown management and attempt at close on blur. * Add definitive menu item icon. * Fix label/input styling. * Clean up styles after rebase. * Refactor stop propagation . * Remove duplicate dependency comments * Navigation Block: Rename 'destination' to 'url' in server-side code commit 9c91f5f92cc41210ca027a5fec72c9b54c354524 Author: Jorge Costa <jorge.costa@automattic.com> Date: Sat Oct 26 12:44:11 2019 +0100 Fix: Font size picker component relies on WordPress styles (#18078) commit 9781a027f324e093ae0970fb1c9c134333d66596 Author: Enrique Piqueras <epiqueras@users.noreply.github.com> Date: Fri Oct 25 14:25:11 2019 -0700 Block Editor: Implement new colors hook. (#16781) * Block Editor: Implement new colors hook. * Block Library: Swap usage of the colors HOC with the colors hook in the heading edit component. * Use Colors: Add 'has-x-color' class names. * Use Colors: Avoid memory leaks by making caches limited in size, and tied to hook instances. * Use Colors: Support children and optional contrast checking in the color panel. * Use Colors: Expose colors panel without inspector slot/fill wrapper. * Use Colors: Mark hook as experimental. * Use Colors: Support custom colors. * Block Edit: Remove extra context values and use selectors/actions instead. * Heading: Remove unnecessary color class and set text color on save. * Use Colors: Add custom/preset color logic. * Use Colors: Fix panel bugs. * Heading Block: Detect actual background color for contrast checking. * Block Edit: Add new export to native file. * Use Colors: Change CSS "attribute" to "property". commit 8d0e5aab1a1c75b52e636aaeda36efd48d1dc838 Author: Jorge Costa <jorge.costa@automattic.com> Date: Fri Oct 25 17:53:36 2019 +0100 Add block inspector to the Gutenberg playground. (#18077) commit be6a8fd32d17b6f927699aa3a7baa7f91daff3a2 Author: Joen Asmussen <joen@automattic.com> Date: Fri Oct 25 18:01:29 2019 +0200 Fix checkboxes for postmeta. (#18108) commit c4eb0ef953dfc2b7542347832f299f08c11d2c2f Author: Matt Chowning <matt.chowning@automattic.com> Date: Fri Oct 25 11:27:56 2019 -0400 RNMobile: Add image alignment controls (#17962) RNMobile: Add image alignment controls Only handles left, center, right. Does not permit setting or displaying either full or wide alignments. commit 775d00342ee635bf998e6254cdf6a777aec130a6 Author: Riad Benguella <benguella@gmail.com> Date: Fri Oct 25 13:13:59 2019 +0100 Add a block selection breadcrumb to the bottom of the editor (#17838) commit ac6dc61b0b7d2330d1a2f59fff5511ecdfc5557d Author: Drapich Piotr <drapich.piotr@gmail.com> Date: Fri Oct 25 12:55:02 2019 +0200 [rnmobile] Breadcrumbs (#17471) * Add breadcrumbs to floating toolbar * Add dark mode support commit 21445de58278eba94ab4e4f415319a028c8f19fa Author: Ella van Durpe <wp@iseulde.com> Date: Fri Oct 25 11:16:39 2019 +0200 Preserve attributes on split (#18102) commit 0b12ac9bab453e90c24c7d214ab4ad2eb01906bd Author: Marcus Kazmierczak <marcus@mkaz.com> Date: Thu Oct 24 20:40:57 2019 -0700 Storybook: Add Color Palette Component (#17997) * Add Color Palette to Storybook * Apply suggestions from code review Co-Authored-By: Enrique Piqueras <epiqueras@users.noreply.github.com> * Refactor state out of story components, to own * Update packages/components/src/color-palette/stories/index.js commit c16c1a907a79bf62cfb8eb8b94c368dd68da1dd1 Author: Enrique Piqueras <epiqueras@users.noreply.github.com> Date: Thu Oct 24 18:53:38 2019 -0700 Env: Add support for running in themes. (#17732) * Env: Add support for running in themes. * Env: Optimize context detection filter. * Env: Update test directory structure to match convention. commit 7a62af0cb8a280b53c0e26b6da8d0e74f04ee2f4 Author: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> Date: Thu Oct 24 23:10:09 2019 +0200 Storybook: Apply a set of enhancements to the existing stories (#18030) * Storybook: Apply a set of enhancements to the existing stories * Add basic knobs integration to all Button stories commit 20b825a0bcc863c274741c942e306e1328ec0854 Author: Marcus Kazmierczak <marcus@mkaz.com> Date: Thu Oct 24 13:53:24 2019 -0700 Components: Add VisuallyHidden component (#18022) * Add ScreenReaderText component * Add new component readme to manifest * Remove CSS style loading within stories * Switch component name to VisuallyHidden - Rename directory and includes - Update README usage - Update Storybook usage * Switch classname to components-visually-hidden * Lint: newline * Add focus style * Switch to 'as' for specifying tag * Move renderAsRenderProps to utils.js * Move utils to inside component folder Waiting to refine the utils usage a little better before making it look available for other components to use. * Apply suggestions from code review Co-Authored-By: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> * Lint: Move newline * Fix variable name * Use variable for stylesheet commit 6c556a7c8566a286cf6f9622d0d153669db3683d Author: Jorge Costa <jorge.costa@automattic.com> Date: Thu Oct 24 21:25:18 2019 +0100 Add gradients in cover block (#18001) commit abf261cf780c98956a711a248de6c9dd520bd757 Author: Kerry Liu <gwwar@users.noreply.github.com> Date: Thu Oct 24 11:25:15 2019 -0700 List Block: Do not merge list with previous block if deleting first list item and list is not empty (#18032) * Do not merge list with previous block if deleting first list item and list is not empty * Add e2e test and clean up * Correct mistake * Adjust comment commit 3df5109c47870ed37aa19f11978476960474c2d0 Author: Jorge Costa <jorge.costa@automattic.com> Date: Thu Oct 24 18:58:46 2019 +0100 Fix: Custom button background color not reflected on reload (#18037) Fixes: https://github.com/WordPress/gutenberg/issues/18012 We had a bug where the editor may not reflect the custom button background color after a reload. That happened because the rule background: customGradient, may overwrite the background-color rule even if the custom gradient has not set. This PR performs a logic update to solve the issue. commit 65c363bc392c1fed3315afc835c31eaaf8e43dc3 Author: Jorge Costa <jorge.costa@automattic.com> Date: Thu Oct 24 16:42:35 2019 +0100 Fix: End to end tests do not disable the experiments (#18093) commit 5e13a1cccfa33c9ee18ca00c4bbcd5b642fe26f7 Author: Sérgio Estêvão <sergioestevao@gmail.com> Date: Thu Oct 24 16:37:36 2019 +0100 Add platform component (#18058) * Add platform component * Improve platform implementation in RN. * Add more documentation and tests. * Update readme file. * Update tests. * Fix filenames for native versions. * Add license attribution * Remove unnecessary lines. * Improve documentation * Remove trailing space * Update packages/element/src/platform.js Co-Authored-By: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> * Update readme. * Fix lint error. commit e829d97a6a15edfe3d38252630897f3f35ddc4cd Author: Joen Asmussen <joen@automattic.com> Date: Thu Oct 24 14:02:17 2019 +0200 Fix regression with Gallery margin. (#18019) I failed to verify the Gallery block when I approved https://github.com/WordPress/gutenberg/pull/17958#issuecomment-543597183 and therefore caused a regression. This PR adds explicity left margins and paddings to the gallery ul to ensure there isn't any added padding and margin. commit 0b723424f5c6e40115e12694c693b34879ba9a9f Author: Jorge Costa <jorge.costa@automattic.com> Date: Thu Oct 24 12:46:13 2019 +0100 Chore: Fix: Do not show Gradient panel if gradients are not av… (#18091) commit 7783eb5c788528402a050833d9a4b792bdcdc22e Author: Miguel Fonseca <miguelcsf@gmail.com> Date: Thu Oct 24 10:39:45 2019 +0100 Local autosave: Clear after successful save (#18051) * Local autosave: Clear after successful save Presumably, somewhere in the fixing of conflicts between remote and local autosaves (purge local upon successful remote autosave), LocalAutosaveMonitor stopped purging the local autosave upon successful *saves*. * Tests: Autosave: Correctly wait for editor chrome before saving commit a6502c1e52dfa2c223342eedc5ba8d4beeffe082 Author: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> Date: Thu Oct 24 11:14:46 2019 +0200 Code style: Fix ESLint warnings reported for JSDoc definitions (#18025) * Code style: Fix ESLint warnings reported for JSDoc definitions * Add WordPress type definitions to the list of names recognized by JSDoc linter commit 31218475b3ddc7768e62123e3c3f1afb05fcb264 Author: Damián Suárez <rdsuarez@gmail.com> Date: Thu Oct 24 04:17:35 2019 -0300 url-input: ensuring value is defined on key down (#18088) commit 1cff327cdd6e32adfa1aafd6217fafe0f973918a Author: Felix Arntz <felixarntz@users.noreply.github.com> Date: Thu Oct 24 01:35:06 2019 +0200 Add logic for basic (temporary) wp_template editing UI (#17625) * Templates: Add logic for basic temporary editing UI. * Templates: Fix menu filter. * Post Slug: Follow class name convention. commit 29670ca35b33de231fb5a8e8c1451d35a9d0a92e Author: Felix Arntz <felixarntz@users.noreply.github.com> Date: Wed Oct 23 22:42:36 2019 +0200 Implement core template loader overrides to rely on wp_template posts (#17626) * Introduce wp_template post type. * Improve (temporary) admin UI for wp_template post type by exposing slug. * Implement template loader overrides to rely on 'wp_template' posts. * Render viewport meta tag. * Prevent deletion of fallback 'wp_template' post 'index'. * Scope PR to just basic wp_template post type registration. * Implement core template loader overrides to rely on wp_template posts instead. * Render title tag regardless of theme support Co-Authored-By: Weston Ruter <westonruter@google.com> * Make getting correct wp_template post more error-proof Co-Authored-By: Weston Ruter <westonruter@google.com> * Template Loader: Add more content filters. * Templates: Fix experiment flag logic. commit 4dbe1fcd288e9a0bc6a978939eac5b5b721c9033 Author: Ella van Durpe <wp@iseulde.com> Date: Wed Oct 23 22:37:19 2019 +0200 Table: remove wrapper around cells (#17711) commit 7da1e78996bd7fa800cb4521490e60d45dd34f17 Author: Enrique Piqueras <epiqueras@users.noreply.github.com> Date: Wed Oct 23 13:28:04 2019 -0700 Add Site Title block and required functionality. (#17207) * Core Data: Add a Site entity and a hook for entity saving logic. * Experiments: Add a Full Site Editing experiment. * Block Library: Add Site Title block. * Fixtures: Add Site Title block fixture. * Fixtures: Add missing transform fixtures. * Block Library: Remove deprecated prop usage in Site Title. * Site Title: Support nesting inside of a Site block. * Site Title: Disallow formatting in the rich text field. * Core Data: Make useEntitySaving experimental. commit a50bf80d2d6c618082527847ed6ecad3d13c5bc6 Author: Mikael Korpela <mikael@ihminen.org> Date: Wed Oct 23 13:11:39 2019 +0300 Add `@wordpress/base-styles` package (#17883) - Move `assets/stylesheets/*` to the new package - Move admin color schemes to the new package commit 9e5d1385d6b844c4dcae617e3966acb209b23110 Author: Marcus Kazmierczak <marcus@mkaz.com> Date: Tue Oct 22 17:05:04 2019 -0700 Update design-systems:dev script to build packages (#18073) The build-style/style.css needs to be rebuilt prior to running Storybook in watch mode. This change adds `npm run build:packages` at the start of the design-systems:dev script to CSS is built prior. Issue found in #17997 commit 40ebea70a42588782088fdc8591844ccace96e9c Author: Damián Suárez <rdsuarez@gmail.com> Date: Tue Oct 22 20:08:25 2019 -0300 navigation-menu: Implement colors selector button. (#17832) Summary block-editor: expose ColorPaletteControl component navigation-menu: improve colors-selector component navigation-menu: compose withColors navigation-menu: render colors selector in bar navigation-menu: propagate withColor props navigation-menu: apply theme styles to selection navigation-item: populate styles to nav item navigation-menu: apply inline styles and CSS classes commit d5d66a8b34de70a1290661082bf79ac104b56ac6 Author: Manzoor Wani <manzoorwani.jk@gmail.com> Date: Wed Oct 23 04:08:56 2019 +0530 Add isInvalidDate prop to DatePicker (#17498) commit 03414de9995870109f3f6e0e1c88605a0353aaf3 Author: Enrique Piqueras <epiqueras@users.noreply.github.com> Date: Tue Oct 22 13:18:20 2019 -0700 Env: Add support for custom ports. (#17697) commit 6ab0e323531bf4b0b03aaee58e02a611fc74d16b Author: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> Date: Tue Oct 22 12:55:17 2019 +0200 Chore: Update the lock file to use newer version of fsevents (#18057) This fixes the issues when `npm install` on macOS throws several errors. commit 869ac8de003d591e50c1c76210f879cd6d28a7b3 Author: Jonathan Goldford <jonathan@wiredimpact.com> Date: Tue Oct 22 05:43:51 2019 -0500 Fix issue when providing multiple shortcode aliases for a new block (#17925) * Fix issue where providing multiple shortcode aliases to transform into a block only matches the first shortcode * Add test to ensure blocks can transform using multiple shortcode aliases * Simplify the approach used to find the individual shortcode being transformed Props jg314 commit 0c8da5b39d25d9b223239daf744ecc7091e74b91 Author: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> Date: Tue Oct 22 11:15:11 2019 +0200 Chore: Fix issues related to Node 12 becoming LTS (#18054) * Chore: Fix issues related to Node 12 becoming LTS * Include the root package.json file in the linting This commit also moves the npm-package-json-lint config to the standalone file. * Add changelog entries to @wordpress/scripts package commit bf60a077465f4908e843d2537d8c31b6a11c7cfa Author: Riad Benguella <benguella@gmail.com> Date: Mon Oct 21 11:20:33 2019 +0100 chore(release): publish - @wordpress/api-fetch@3.6.3 - @wordpress/block-directory@1.0.3 - @wordpress/block-editor@3.2.3 - @wordpress/block-library@2.9.3 - @wordpress/core-data@2.7.3 - @wordpress/data-controls@1.3.3 - @wordpress/e2e-test-utils@2.4.3 - @wordpress/e2e-tests@1.7.3 - @wordpress/edit-post@3.8.3 - @wordpress/edit-widgets@0.7.3 - @wordpress/editor@9.7.3 - @wordpress/format-library@1.9.3 - @wordpress/list-reusable-blocks@1.8.3 - @wordpress/media-utils@1.2.3 - @wordpress/server-side-render@1.3.3 - @wordpress/url@2.8.2 commit 563ac7916fae4cd4f6aa17edae34c9449429e835 Author: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> Date: Mon Oct 21 12:03:13 2019 +0200 Tests: Clean up skipped e2e tests (#18003) commit 952659bd93683f7262a516a6f802bcea448b9ca1 Author: Matthew Kevins <mkevins@users.noreply.github.com> Date: Mon Oct 21 11:27:54 2019 +1000 Fix MediaUpload README value prop description (#18039) commit c671a3857f5094b446728a7b4996a78419687f55 Author: Anthony Burchell <anthony.burchell@wpengine.com> Date: Sun Oct 20 20:05:13 2019 -0500 removes decleration of Select button (#18007) commit bf3b7f9d0a6a4a8000ad1a64df7e2e38c19d587f Author: Phoebe Gao <phgao1994@gmail.com> Date: Sat Oct 19 05:25:19 2019 -0700 Update MediaPlaceholder README.md (#17980) * Update MediaPlaceholder README.md This change updates the readme to properly document the `value` property. See issue here: https://github.com/WordPress/gutenberg/issues/17967 * Update MediaUpload README.md commit db2235d69be5401858794b9465d94a1906dbaae6 Author: Joen Asmussen <joen@automattic.com> Date: Sat Oct 19 10:56:02 2019 +0200 Fix Publish Button!!! (#18016) Fixes #18004 and thank science, that was driving me insane ever since you pointed it out. This PR does a couple of things: 1. It adds `isLarge` to the Publish button. It was there for Preview, but not Publish. 2. It simplifies a little CSS as a result of that. 3. It also tweaks the button height as defined for the two preview publish buttons. commit fb283f092c43c093955cb65e25a26e405e1308e5 Author: Marcus Kazmierczak <marcus@mkaz.com> Date: Fri Oct 18 13:14:43 2019 -0700 Add dashicon component to storybook (#18027) commit 181042ac4be04fd6775f95f85cd3e3a7c8aa2a91 Author: Marcus Kazmierczak <marcus@mkaz.com> Date: Fri Oct 18 06:45:25 2019 -0700 Storybook: Add knobs to ColorIndicator (#18015) * Add knobs to ColorIndicator * Lint: new line commit f772aede279b2eafb0793078b433304468d1989f Author: Riad Benguella <benguella@gmail.com> Date: Fri Oct 18 14:41:57 2019 +0100 Fix the performance tests (#18020) commit fba1f85b18fe15452763229f1c8435b371c21ae9 Author: Luke Walczak <lukasz.walczak.pwr@gmail.com> Date: Fri Oct 18 13:04:21 2019 +0200 [RNMobile] Introduce grouping in the block settings inspector (#17703) * Intrdouce groupin in the block settings inspector * Adjust PanelBody to design * Adjust padding when section doesnt have title * Rewirte arrow function to function * Fix lint issue * Create a PanelActions component for handling action buttons in the block settings inspector * Remove useless separator type and fix typo * Refactor after CR * Correct label styles * Fix overriding mechanism on label style commit 30d3e982d619ad6b185871f305b66c89766e5686 Author: Jarda Snajdr <jsnajdr@gmail.com> Date: Fri Oct 18 12:29:40 2019 +0200 Optimize exports of the wp/compose package (#17945) Adds `sideEffects:false` to `package.json` so that unused exports can be optimized away by the bundler. Moves the `compose` definition (i.e., reexport from Lodash) to its own module, so that we don't pull in Lodash just by importing something from `@wordpress/compose`. After this patch, one needs to import `compose` explicitly to trigger the Lodash import. commit 7017152306f71486d0d65362f545252f560cb55f Author: Jorge Costa <jorge.costa@automattic.com> Date: Fri Oct 18 09:59:46 2019 +0100 Update: Refactor button edit to use a functional component (#18006) commit 208cc9f0d3626c81bc9f7cda61c86c2c0c1bd7ce Author: Luke Walczak <lukasz.walczak.pwr@gmail.com> Date: Thu Oct 17 17:17:33 2019 +0200 Fix image native test (#17989) commit 6d28e63d0d53e34f100cf087448c7accce86e425 Author: Enrique Piqueras <epiqueras@users.noreply.github.com> Date: Thu Oct 17 07:53:52 2019 -0700 Playground: Add link to components storybook. (#17982) commit b13a6fc292f91bf3545164b434bf64ad03d2c184 Author: Riad Benguella <benguella@gmail.com> Date: Thu Oct 17 13:54:39 2019 +0100 Split e2e tests into multiple folders (#17990) commit 207bf752e961bbe33fbb84ee8b5840d0a0b54cd2 Author: jbinda <jakub.binda@gmail.com> Date: Thu Oct 17 09:56:30 2019 +0200 [RNMobile] add RangeControl mobile implementation (slider) (#17282) * add RangeCell commit f94dadb5b562308795a85398db2681f42bda6c6b Author: Daniel Richards <daniel.richards@automattic.com> Date: Thu Oct 17 07:38:45 2019 +0800 Try setting a block display name for the Block Navigator. (#17519) * Really simple first attempt at showing a display name in the navigator * Strip any RichText formatting * Add display name for navigation menu item block * Refactor to use displayNameAttribute property * Change name of displayName options commit 56a27599d72718df787338dfb47cb0b39c39f4d8 Author: Marcus Kazmierczak <marcus@mkaz.com> Date: Wed Oct 16 14:37:16 2019 -0700 Add empty line (#17981) commit 7a2298b98989a77de67acbf66c426e248a23bf9e Author: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> Date: Wed Oct 16 22:35:07 2019 +0200 Fix: Invalid import statement for deprecated in the modal component (#17969) * Fix: Invalid import statement for deprecated in the modal component * Font Size Picker: Update E2E test to work with new Core changes. commit e5ecca57be4a068f16d7cfdcdd41ad888b50ffa0 Author: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> Date: Wed Oct 16 16:55:17 2019 +0200 Codeowners: Remove gziolo from some folders (#17971) I get too many notifications. commit 5a055336832730a91c1e1579e8261dd6075cd176 Author: Dan Phiffer <dan@phiffer.org> Date: Wed Oct 16 09:01:42 2019 -0400 Small changes to Git Workflow docs (#17662) * :information_desk_person: add 'upstream' remote * :bug: origin / remote commit f71a7d1c3d84481b46eb05a260703981ff71f6d8 Author: Riad Benguella <benguella@gmail.com> Date: Wed Oct 16 12:48:10 2019 +0100 Bump plugin version to 6.7.0 commit fb6dee80e07042745858f38978445de0e6273eee Author: Joen Asmussen <joen@automattic.com> Date: Wed Oct 16 13:39:45 2019 +0200 Improve columns flex rule, round 2. (#17968) commit 1e089dba0c572bd7dd71f37aa1c4759cd6aaf81b Author: Cameron Voell <cameronvoell@gmail.com> Date: Wed Oct 16 04:00:34 2019 -0700 RNMobile Add size options to mobile image block (#17245) * [RNMobile] Native mobile release v1.11.0 (#17181) * [RNMobile] Fix crash when adding separator * Build: remove global install of latest npm since we want to use the paired node/npm version (#17134) * Build: remove global install of latest npm since we want to use the paired node/npm version * Also update travis to remove --latest-npm flag * [RNMobile] Try dark mode (iOS) (#17067) * Adding dark mode component implemented on list and list block * Adding DarkMode handling to RichText, ToolBar and SafeArea * Mobile: Using DarkMode as HOC * iOS DarkMode: Modified colors on block list and block container * iOS DarkMode: Improved Header Toolbar colors * iOS DarkMode: Removing background from buttons * iOS DarkMode warning and unsupported * iOS DarkMode: MediaPlaceholder * iOS DarkMode: BottomSheets * iOS DarkMode: Inserter * iOS DarkMode: DefaultBlockAppender * iOS DarkMode: PostTite * Update hardcoded colors with variables * iOS DarkMode: Fix bottom-sheet cell value color * iOS DarkMode: More - PageBreak - Add Block Here * iOS DarkMode: Better text color * iOS Darkmode: Code block * iOS DarkMode: HTML View * iOS DarkMode: Improve colors on SafeArea * Fix toolbar not avoiding keyboard regression * Fix native unit tests * Fix gutenberg-mobile unit tests * Adding RNDarkMode mocks * RNMobile: Fix crash when viewing HTML on iOS * [RNMobile] Remove toolbar from html view * [RNMobile] Fix MaxListenersExceededWarning caused by dark-mode event emitter (#17186) * Fix MaxListenersExceededWarning caused by dark-mode event emitter * Checking for setMaxListeners trying to avoid CI error * Adding remove listener to DarkMode HOC * DarkMode: Binding this.onModeChanged to `this` * DarkMode: Adding conditional needed to pass UI Tests on CI * Fix focus title on new posts regression (#17180) * BottomSheet: Setting DashIcon color directly when theme is default (light) (#17193) * Activate Travis CI on rnmobile/master branch (#17229) * Added ability to update image size options (sizeSlug) through a new InspectorControl Cell that leads to a Picker. * Added a style for Size Inspector Controls cell to align it will other cells that have icons. * Add native support for the MediaText block (#16305) * First working version of the MediaText component for native mobile * Fix adding a block to an innerblock list * Disable mediaText on production * MediaText native: improve editor visuals * Move BlockToolbar from BlockList to Layout * Remove BlockEditorProvider from BlockList and add native version of EditorProvider to Editor. Plus support InsertionPoint and BlockListAppender * Update BlockMover for native to hide if locked or if it's the only block * Make the vertical align button work, add more styling options for toolbar buttons * Make sure registerCoreBlocks does not break in production * Copy docblock comment from the web version for registerCoreBlocks * Fix focusing on the media placeholder * Only support adding image for now * Update usage of MediaPlaceholder in MediaContainer * Enable autoScroll for just the out most block list * Fix JS Unit tests * Roll back to IconButton refactor and fix tests * Fix BlockVerticalAlignmentToolbar buttons style on mobile * Fix thing for web and ensure ariaPressed is always passed down * Use AriaPressed directly to style SVG on mobile * Update snapshots * Swtiched to react-native Modal onDismiss property for signaling Picker is ready to show * Added a prop for catching modal dismissal on Android. (onDismiss is iOS only and onModalHide works on Android but breaks on iOS) * Added icon for Inspector Controls size option. Removed style we no longer need. * Added title to size option iOS ActionSheet and left alignstyle to size options BottomSheet * MediaUpload and MediaPlaceholder unify props (#17145) * Unify media placeholder and upload props within media-text (#17268) * [RNMobile] Fix dismiss keyboard button for the post title (#17260) * Set unused functions to undefined instead of false in BottomSheet Modal props * Recover border colors (#17269) * [RNMobile] Insure tapping at end of post inserts at end Previously, tapping at the end of the post would insert a block immediately after the currently selected block. In addition, this commit is cleaning out a few unusued props in the block-list file. * Support group block on mobile (#17251) * First working version of the MediaText component for native mobile * Fix adding a block to an innerblock list * Disable mediaText on production * MediaText native: improve editor visuals * Move BlockToolbar from BlockList to Layout * Remove BlockEditorProvider from BlockList and add native version of EditorProvider to Editor. Plus support InsertionPoint and BlockListAppender * Update BlockMover for native to hide if locked or if it's the only block * Make the vertical align button work, add more styling options for toolbar buttons * Make sure registerCoreBlocks does not break in production * Copy docblock comment from the web version for registerCoreBlocks * Fix focusing on the media placeholder * Only support adding image for now * Update usage of MediaPlaceholder in MediaContainer * Enable autoScroll for just the out most block list * Fix JS Unit tests * Roll back to IconButton refactor and fix tests * Fix BlockVerticalAlignmentToolbar buttons style on mobile * Fix thing for web and ensure ariaPressed is always passed down * Use AriaPressed directly to style SVG on mobile * Update snapshots * Support group block on mobile * Extend shouldShowInsertionPoint condition to be false when group is selected * Code refactor * Update package-lock * Removing old style reference. * Moved Picker for image size options into new ImageSizePicker component. Cleaned up sizeOptionLabels. * Updated total left margin on Android Image size options to be 24 px instead of 28 px * Image Size options hidden behind __DEV__ flag * Remove redundant bg color within button appender (#17325) * [RNMobile] DarkMode improvements (#17309) * Remove the need to import `useStyle` and pass the theme prop on every instance that `withStyle` is used * Implement dark-mode refactor on all components * Fix broken native tests * Fix default block appender background color on DarkMode * DarkMode: Make `useStyle` a class function * Cleaned up default true properties and replaced code with lodash map. * Updated to use BottomSheetPickerCell. Eliminated code, but size options now open over top inspector controls menu. * Added leftalign to PickerCell. * [RNMobile] Add autosave to mobile apps (#17329) * [RNMobile] Fix crash when adding separator * Build: remove global install of latest npm since we want to use the paired node/npm version (#17134) * Build: remove global install of latest npm since we want to use the paired node/npm version * Also update travis to remove --latest-npm flag * [RNMobile] Try dark mode (iOS) (#17067) * Adding dark mode component implemented on list and list block * Adding DarkMode handling to RichText, ToolBar and SafeArea * Mobile: Using DarkMode as HOC * iOS DarkMode: Modified colors on block list and block container * iOS DarkMode: Improved Header Toolbar colors * iOS DarkMode: Removing background from buttons * iOS DarkMode warning and unsupported * iOS DarkMode: MediaPlaceholder * iOS DarkMode: BottomSheets * iOS DarkMode: Inserter * iOS DarkMode: DefaultBlockAppender * iOS DarkMode: PostTite * Update hardcoded colors with variables * iOS DarkMode: Fix bottom-sheet cell value color * iOS DarkMode: More - PageBreak - Add Block Here * iOS DarkMode: Better text color * iOS Darkmode: Code block * iOS DarkMode: HTML View * iOS DarkMode: Improve colors on SafeArea * Fix toolbar not avoiding keyboard regression * Fix native unit tests * Fix gutenberg-mobile unit tests * Adding RNDarkMode mocks * RNMobile: Fix crash when viewing HTML on iOS * [RNMobile] Remove toolbar from html view * [RNMobile] Fix MaxListenersExceededWarning caused by dark-mode event emitter (#17186) * Fix MaxListenersExceededWarning caused by dark-mode event emitter * Checking for setMaxListeners trying to avoid CI error * Adding remove listener to DarkMode HOC * DarkMode: Binding this.onModeChanged to `this` * DarkMode: Adding conditional needed to pass UI Tests on CI * Fix focus title on new posts regression (#17180) * BottomSheet: Setting DashIcon color directly when theme is default (light) (#17193) * Add a preliminary version of the AutosaveMonitor for mobile that calls the "bridge" and asks the native side to save the content * Add autosave mock function for tests * Fix merge conflicts * Fix lint * Re-add autosave on mobile that was removed erroneously during import-merge from rnmobile/master * Remove native variant of AutosaveMonitor and introduces changes at editor store level …
commit 9c5e2c1b6f043540a0af8451893d3093d4173b99 Author: Marko Savic <savicmarko1985@gmail.com> Date: Fri Nov 15 16:13:12 2019 +0100 Added native label to android and ios Platforms element (#18539) commit 862c6c2178aa8fc41142fa05a3611c107969030d Author: Stefanos Togkoulidis <stefanostogoulidis@gmail.com> Date: Fri Nov 15 13:12:46 2019 +0200 Fix lint issues commit e76d087ce1315b4e04048f650973822eeac1dfcd Author: Matthew Kevins <mkevins@users.noreply.github.com> Date: Fri Nov 15 19:35:36 2019 +1000 [RNMobile] Add separate options for capturing photo and video (#18505) * Add separate options for capturing photo and video * Adding media source objects to MediaUpload * Added id to media source to diferenciate between take image and take photo * Fix values not found on media sources * Fix lint issues * Fix unit tests on Media Upload component * Remove empty array item from internalSources in mediaUpload commit aba13e2981a3fc5af1ed3e280f559822f32419fd Author: Cameron Voell <cameronvoell@gmail.com> Date: Thu Nov 14 07:14:05 2019 -0800 [RNMobile] Image block makes call to native for fullscreen preview (#18493) * Call to RN gutenberg bridge for Android native fullscreen preview * Added highlight border around image when image block is selected * Do not request fullscreen preview if tapped mid upload or while showing tap to rety. commit 262cca42e53be0be2e9d6c0a8df08d94e672ac54 Author: Matt Chowning <mchowning@gmail.com> Date: Thu Nov 14 09:24:52 2019 -0500 [RNMobile] Add content alignment options to paragraph block (#18433) commit 3d1ef4bdc1f204c4e8aef4cd98a02c1050d37130 Author: Sérgio Estêvão <sergioestevao@gmail.com> Date: Thu Nov 14 13:19:03 2019 +0000 Fix paste in post title in GB-mobile. (#18479) * Fix paste on title. * Remove html import. commit 639d3c4bba6e5f2577d2694e05301c5760384c62 Author: etoledom <etoledom@icloud.com> Date: Thu Nov 14 12:24:33 2019 +0100 [RNMobile] Simplify bridge requestMediaPick methods (#18303) * Merge bridge `Requeste media pick` methods into a single one, adding a source param. This helps to handle the "others" option in the same way than any other option, plus adding the filters parameter. This filter parameters is needed for the iOS "Other Apps" media source option. This is also one step forward to declare all media source options from the client app. * Move device sources to native bridge component * Fix typo on media source name commit e9f55660ef36605fc2e98465c20e0d4b7c27ca8a Author: Sérgio Estêvão <sergioestevao@gmail.com> Date: Tue Nov 12 22:30:20 2019 +0000 Activate preformatted block in the RN app (#17906) * Activate pre-format block * Make sure identifier is set to the correct value. * Implement native version of preformatted block Use the web block as a base but then wrap a style view around. * Change preformatted background color to gray-5 * Prepare block for dark color mode in iOS. * Test preformatted block * Make block placeholder borders round * Update colors for preformatted block in mobile * Cleanup test * Remove test At the moment the test setup is not ready to mock RichText components. * Simplify styles. * Simplify the styles file using vars and shorthands * Enable preformatted only for ios when running in production mode. commit 5b02715253a46a65a4e9bd380cb013a607fd1273 Author: Stefanos Togkoulidis <stefanostogoulidis@gmail.com> Date: Mon Nov 11 16:16:29 2019 +0200 More fixing of merge errors commit 168bf7dca69d108159a10002ab6f3a102933e6bc Author: Stefanos Togkoulidis <stefanostogoulidis@gmail.com> Date: Mon Nov 11 14:36:56 2019 +0200 Fix merge errors commit a6450c6397e8b182527414cf6d878cb8f953c845 Merge: 2c3310fa6 705d91151 Author: Stefanos Togkoulidis <stefanostogoulidis@gmail.com> Date: Mon Nov 11 12:13:33 2019 +0200 Merge branch 'rnmobile/releases' into rnmobile/release-v1.17.0 commit 705d91151fe4064d4dfea337a7f2ba77983ecbe1 Author: Stefanos Togkoulidis <stefanostogoulidis@gmail.com> Date: Fri Nov 1 13:32:41 2019 +0200 Include the RN mobile releases branch in Travis branches commit e03e133b2a7feb4aa11dc73883457d6798896f1f Author: Jorge Bernal <jorge@automattic.com> Date: Fri Nov 1 11:16:13 2019 +0100 Fix handling of pasted images and prevent thumbnail uploads (#18215) * Fix handling of pasted images and prevent thumbnail uploads * Fix lint errors * Remove check for image for sync. commit c04639e519e538a20059d8a22b60974c7ef589b2 Author: Dave Smith <getdavemail@gmail.com> Date: Wed Oct 30 04:21:33 2019 +0000 Experimental Link creation interface (#17846) * Initial component file structure * Implement basic icon and toggle mechanic * Adds basic search input * Update input to utilise LinkEditor component autocomplete * Add ability to customise placeholder * Update to utilise URLInput directly for greater flexibility * Add example search results and test coverage * Update class naming convention to match guidelines See https://github.com/WordPress/gutenberg/blob/master/docs/contributors/coding-guidelines.md#css Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r332567521 * Adds render prop to enable custom suggestions rendering Previously it wasn’t possible to customise the render of the search suggestions. By providing an optional render prop we now have full control over this if required. * Update to utilise URLInput render prop to customise search suggestions render Previously we relied on our own render of suggestions but this wasn’t hooked up to all the accessibility enhancements afforded by URLInput. By utilising the render prop exposed by URLInput to customise the rendering of suggestions, we can have the best of both worlds. * Update to add post type to the fetchLinkSuggestions responsive mapping This is required to display the type of entitity in the search results for LinkControl * Fix to ensure search suggestion interaction states are perceivable * Update suggestion render prop to provide component props as arguments Previously when using the `renderSuggestions` render prop the user had to know how to put together the correct props on the correct elements in their custom render. By passing the default props for the listing element and the item element we can relieve the user of this burden by allowing them to spread the props onto the appropriate elements in their render without having to know how they are created. * Update to match with design visual and provide more accessible markup * Adds settings area. Fixes missing reset icon. * Fix search items to be buttons with correct style and layout * Adds overflow scrolling to search results * Fix to stop scroll shadow overlaying scrollbars * Add bespoke settings area and tweak styles * Update to allow URLs to be conditionally handled as a suggestion Previously when a URL was entered it was deemed that no suggestions should or could be found and so the process of fetching suggestions was short circuited. Add additional prop to optionally allow developers to have URL-like values handled as suggestions. * Updates to conditionally use an entity or url based search results fetcher If the current value of the input is a URL then we conditionally pass a different handler for search results to the URLInput component. For URL based values we immediately return a “suggestion” object with values matching those entered by the user. Non URL based values are handled as previously. * Fix bug whereby fetchSearchSuggestions wasn’t called Remove ambiguity by calling the search handler directly rather than proxying through another function and having to apply it immediately. * Remove default toggle UI and implement Popover close The LinkControl will be mostly where another element triggers the UI to appear. As a result we don’t want to force a toggle element on the developer. Rather we will expose an API to allow the consuming component to toggle the visibility of the LinkControl * Adds search text “highlighting” in results list * Move TextHighlight component to its own file * Fix bug where update to value prop didn’t cause suggestions to reset. * Update to remove internal handling of open/closed state This state is now expected to be handled by the consuming component chosing whether or not to render the component. It has no concept of open or closed. * Fix React violation by returning only the text for non matches * Update existing tests to match new implementation * Add link reset test * Adds test which uncovers major bug in the implementation Basically this test has revealed that due to the way we’re detecting and handling URL-like values the wrong data fetcher function gets passed to the URLInput component for the first input `change` event. For example if you paste `https://make.wordpress.com` directly into the input then it is determined to be a URL but because the current fetcher function for the current render is still the handler that deals with entity searches the correct results are not displayed. Adding another character to trigger a re-render will cause the UI to update to the expected state, but this is a major bug. * Tweak critical test to be more explicit about what is expected * Fix bug to make determining search handler use the latest input value Previously we relied on parent component state to choose which search handler to use for the current input term. However, the state was always 1 tick behind so the previous search handler got used. Updating this to use the real time value of the input passed onChange ensures we select the correct search fetcher when the component re-renders. * Add loading spinner and associated test coverage Spinner was technically always rendered but it wasn’t visible due to CSS styling. Fix and also cover with tests. * Fix bug where value could be empty * Adds basic editing / view state switching * Add keydown callback to URLInput * Select link on ENTER keydown event * Utilise LinkViewer to render edit state and decode urls for display * Only display link settings when a link is selected * Adds current link view styles * Makes settings toggle controlled by parent component * Update visuals to match updated design Addresses https://github.com/WordPress/gutenberg/issues/17557#issuecomment-542401433 * Add standardised min width to popover * Temporary hack to include Link UI in Playground for testing * Update to utilise isURL util from @wordpress/url package * Update to utilise isURL util from @wordpress/url package * Removes URLPopover dependency Attempts to remove unwanted deps on other components. We now utilise Popover directly and suffer no consequences as we are not making use of any bespoke features provided by URLPopover. * Extract settings drawer to sub component * Refactor search items into a component * Refactor Input and Search to component * Fix missing selected state on search suggestions * Tweak line height on search suggestion url path * Augment test for URL-like by testing for “www.” * Fix to stop url overflows and wrapping on to multiple lines * Uppcase URL in type indicator within search results list * Avoid reading out slug/URL for entity results * Ensures i18n of change button * Always offer URL result in search suggestions as default * Fix loading spinner position and dim results during loading Addresses https://github.com/WordPress/gutenberg/pull/17846#issuecomment-543244810 * Fix scroll shadows to use valid alpha transparent values in gradient Fixes broken shadows in Safari which didn’t recognise transparent as a value to transition to in a gradient. * Adds instructional text in place of URL for suggestions that are URLs Addresses designer feedback https://github.com/WordPress/gutenberg/issues/17557#issuecomment-545030027 * Update prop names for consistency Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r337840953 * Update line length to improve readability Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r337842799 * Update to avoid need to utilise partialRight util from lodash Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r337882576 * Updates key to avoid usage of index We cannot assume the suggestion `id` will be unique. This is because at the moment the search results are `Post`s. However in the future we may also need to include `Category` terms and the term IDs could easily clash with the Post IDs as they are in different DB tables. Using the `type` to differentiate the key. Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r337883174 * Update to remote isFunction check in favour of direct check Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r337885206 * Update to handle mailto and tel protocols and internal links * url-input: handle onKeyPress type event * link-control: add className prop * link-control: add README file * Remove unnecessary use of useCallback Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r338363236 * Fix current automated tests * Improves URL handling test to run for multiple URL value variations * Updates to display the URL type in the search results Previously only true `http` URLs were formatted with the correct type and the instructional text. Fixes so that all types of manual URL entry are correctly shown as such in the search results. Adds test to cover mailto variant of this. * Refactor tests to assert against all valid protocol formats and link variants This now includes tel, mailto and internal links. * Adds test to cover display of fallback URL search result for search values that are potentially URLS * Adds tests to check URL suggestions don’t display for non-URLs. * url-input: remove unneeded `suggestion` const * url-input: always trigger onKeyDown event * link-control: delegate handling keydown event Instead of this, let's propagate the onKeyDown and onKeyPress events to the parent component * link-control: add onKeyDown and onKeyPress handlers * link-control: playground -> close once onClose * link-control: propagate onClose() event * link-control: playground -> hanldling close by ESCAPE key * Fix to only render settings draw if settings are defined * Remove redundant commented out test * Update to render with a “current link” if one is provided. Previously if you passed in a current link the component would still render with a search box as thought nothing was selected. Updates so that if `currentLink` is provided the UI reflects that by showing the “selected” item and no search input. * Render playground with currentLink active * Adds test to cover currentLink prop * Remove selected state from Playground * Adds tests to cover selecting and changing links * Remove async function in place of direct Promise usage and add test coverage * Add test to cover keyboard handling Note: this uncovered a bug whereby keyboard handling of “selecting” the link you want to use is broken. This needs to be fixed. * Remove unecessary dep from effect * Fix URLInput to pass the actual suggestion object not the index If the full object is not provided then consuming components have no way of accessing the details of the selected suggestion thereby rendering it useless. * Fix keyboard handling so hitting `ENTER` will select an item as the current link Builds on previous commit. * Updates keyboard interaction test to include URL entry * Minor: reword test description * Fix missing key prop regression Previously `buildSuggestionItemProps` was including a key. However the implementation of `LinkControl` changed so that this was not required. However we forgot to reinstate on `URLInput`. This update ensures a key prop is set on the default output. Note that disabling of the autofocus linting was already in place: https://github.com/WordPress/gutenberg/blob/04e142e9cbd06a45c4ea297ec573d389955c13be/packages/block-editor/src/components/url-input/index.js#L239 Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r337841961 * DRY up conditionals Addresses https://github.com/WordPress/gutenberg/pull/17846#discussion_r337842477 * link-control: set a default experimental link suggestions searcher if it't needed * link-control: handling key events * url-input: remove onKeyDown prop * url-input: remove calling onKeyDown prop * url-input: rollback some changes * Mark Link Creation Interface as Experimental (#18110) * mark main component as experimental * mark new URLInput props as experimental * add experimental onKeyPress * remove key handlers * Updates to use alias on experimental props Addresses https://github.com/WordPress/gutenberg/pull/18110#discussion_r339427180 * Remove unused prop from docs * Update props ordering and readme docs Also fixes eslint errors that kept me from committing the original changes * Revert playground changes * Rename InputSearch to SearchInput Props @talldan I really hope those changes I had to make in `search-input.js` don't break anything. * Remove disabling of jsx-key lint rule * Change fake id value to something that will not clash with post ids commit 3ecf70171dd5522f1686acae4902ed465f514ac7 Author: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> Date: Tue Oct 29 23:37:35 2019 +0100 Scripts: Bump the version of npm-package-json-lint (#18160) commit caa80cb0d298f4792f973a0eaa16b54d2a44da6b Author: Marko Savic <savicmarko1985@gmail.com> Date: Tue Oct 29 20:03:04 2019 +0100 [RNMobile] Added support for giphy and pexels images (#18026) commit 3e5f7a5999aa846fa2bed2f6dbddd6cb78b189ef Author: Jorge Costa <jorge.costa@automattic.com> Date: Tue Oct 29 17:59:01 2019 +0000 Update packages/block-editor/src/components/colors/use-colors.js (#18147) Co-Authored-By: Enrique Piqueras <epiqueras@users.noreply.github.com> (+2 squashed commits) Squashed commits: [36484b4d3f] Update packages/block-editor/src/components/colors/use-colors.js Co-Authored-By: Enrique Piqueras <epiqueras@users.noreply.github.com> [9c4c7694bd] Fix: solve some issues in useColors hook commit f558ed79e68014880cabfc41d43c50f51e118752 Author: Damián Suárez <rdsuarez@gmail.com> Date: Tue Oct 29 14:43:31 2019 -0300 NavigationMenu: set attributes rightly (#18150) * navigation-menu: set attributes once * navigation-menu: add CSS class as hook dependencies * Update packages/block-library/src/navigation-menu/edit.js Co-Authored-By: Enrique Piqueras <epiqueras@users.noreply.github.com> commit 57197b6c15939605ce60cb31b6686cd1233efe22 Author: Michael P. Pfeiffer <frontdevde@users.noreply.github.com> Date: Tue Oct 29 18:21:56 2019 +0100 Navigation: Explore default frontend styles (#18094) * try basic version of varia theme styles as default * Add class to show submenu indicator * adjustments for small viewports commit a9cfa56e6caeaac67d11d4fa0328780110e91124 Author: Maxime Biais <maxime.biais@gmail.com> Date: Tue Oct 29 18:20:49 2019 +0100 [RNMobile] Add a subtitle for unsupported blocks (#18107) * Add a new unsupported subtitle to missing blocks - even we know about the block title * Update margins, colors and font weight of the unsupported block commit 1d9313025b9a147fd0a3831bcbdd53108194e52e Author: Sérgio Estêvão <sergioestevao@gmail.com> Date: Tue Oct 29 15:09:53 2019 +0000 Resyncs RichText mobile components with web counterparts. (#17897) * Resyncs RichText mobile components with web counterparts. * Remove outdated test. * Remove unused references. * Add platform component * Add components depending of platform. Only add specific components if we are on the web implementation. * Abstract paste of files for RN and web Makes the code for pasting image more abstract in the paste method and implement specific translation to HTML depending of the platform. * Compose extra attributes/props on select/dispatch only if mobile. * Remove RN index file for RichText Wrapper. Moved all the specific code to the standard index file, so this file is no longer needed. * Remove API index native file that is no longer needed. * Clean up lint errors in file-paste-handler. * Fix lint errors. * Implement stub remove browser shortcuts for RN * Implement autocomplete stub for RN. * Refactor toolbar presentation to a method. * Remove no longer needed platform file. * Consolidate the file paste handler in a single implementation. Created a stub for createBlobURL for native that simple returns the original URL. * Change the text for platform to make it explicit it's native only. * Remove duplicate files * Include type in file comparison * Forgot to rename for native file * Fix filePasteHandler for native * Move logging back * Restore comment on logging * Add check for files existence. * Refactor format-toolbar code to use split web/native files * Remove prop duplication. * Fix getAnchorRect call * Remove unnecessary const * Sync fix for list removal of first empty line * Fix RN build after merge with master * Sync with web counterpart. * Only change selection after new formats are set. commit 90342167f8f00da500ff5d5c967129d400844709 Author: Joen Asmussen <joen@automattic.com> Date: Tue Oct 29 14:34:24 2019 +0100 Fix columns full-wide regression. (#18021) The Columns block, when full-wide, has intentional left and right padding to ensure the mover controls of child blocks are accessible. This is editor-only, and only when the block is selected. This regressed at some point, a while ago, probably around the introduction of extra on-click padding to show the dashed outlines of child elements. This PR shuffles the rules a bit, reduces some of their specificity, and applies the left and right padding elsewhere to make it work. commit f1f43d827f7d91777a86c3e4a001ac7f7c824c20 Author: Riad Benguella <benguella@gmail.com> Date: Tue Oct 29 13:38:20 2019 +0100 Make the mediaUpload block editor setting a stable API (#18156) commit 0eb16bd4732d06fe1f156526602f130b27109e2d Author: Riad Benguella <benguella@gmail.com> Date: Tue Oct 29 10:51:30 2019 +0100 Make the AsyncModeProvider API a stable API (#18154) commit 6277ffdfb1ab449cf7a958a77fe3b81a49f4816a Author: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> Date: Tue Oct 29 09:53:13 2019 +0100 Block Directory: Convert it to UI Plugin to avoid bundling into Core (#17576) * Block Directory: Convert it to UI Plugin to avoid bundling into Core * Load the block directory assets only when the experiment is enabled * Try to reimplement asset overrides to give more flexibility * Add code style improvemements and perform code cleanup * Try to make PHP unit tests pass by removing group check * Ensure that packages and vendor scripts are printed in the footer * Fix the has action check for the block directory assets * Move gutenberg-block-directory experiment check out of the action * Fix bin/get-vendor-scripts.php commit 77b36b963a63bb69827273c815ea369cbde676b2 Author: Jon Quach <hello@jonquach.com> Date: Tue Oct 29 04:20:53 2019 -0400 Components: Draggable, add story (#18070) * Components: Add Story for Draggable This update adds a Storybook example for the Draggable component from `@wordpress/components`. * Fix useState hook for Draggable story example Solution was to create an Example component with the useState hook. Render that Example component in the story instead. commit 38a1227e7c5817141dd0907b762eb4ff00dc770e Author: andrei draganescu <me@andreidraganescu.info> Date: Tue Oct 29 08:46:12 2019 +0200 Smart block appender (#16708) * if thre is only one there is only one * made a new insertion point selector, some code review refactoring * better handling of inserter * refactoring and named block insertion * updates to the appender * update snapshots * update docs * default inserter label is used in so many tests * fixed allowed blocks test * snapshot updated * better naming and removed the need for es-lint disabling * improved the inserter label construction * improved the doc of getTheOnlyAllowedItem selector * reverting test patches becasue patching without understanding is bad, bad, bad - don't do it * moved getInsertionIndex out of selectos and back into each component that used it * docs generated * added experimental labels to new selectors, added es-lint comment back * updated docs * Update packages/block-editor/src/store/selectors.js Co-Authored-By: Miguel Fonseca <miguelcsf@gmail.com> * Update packages/block-editor/src/store/selectors.js Co-Authored-By: Miguel Fonseca <miguelcsf@gmail.com> * refactored and fixed some coding errors * small code move * small code move * removes aria attrs for autoinserted items * fixes typo, adds translators comment * simplifies the intserter logic * fix for the simplification * simplifies by using one selector and passing props in compose * small code updates * lint * renamed insertedBlock * small doc update * adds tooltip to the default button appender * refactores for more self documenting varnames commit d42053413785aaf2c23400ccc86b03fd17d9bf1a Author: Brent Swisher <brent@brentswisher.com> Date: Tue Oct 29 02:06:40 2019 -0400 Add Spinner component to storybook (#18145) commit f46a6a81e74be9a839c6c6159ce360707daf7cb2 Author: Marcus Kazmierczak <marcus@mkaz.com> Date: Mon Oct 28 22:55:52 2019 -0700 Update ExternalLink Component to fix visually hidden text (#18142) * Switch screen-reader-txt to VisuallyHidden component * Fix core embed test snapshot, new classname commit ff78d859458d12e475e8a61b3e6da8937d87a74c Author: andrei draganescu <me@andreidraganescu.info> Date: Tue Oct 29 02:24:16 2019 +0200 Add horizontal option for the block movers (#16615) * horizontal option for the mover, missing icons, broken hover * we now have icons * positioned the mover to the middle left * horizontal mover on mobile * vertical layout for horizontal movers * drop block movers into block edit to enable inline movers * implemented so as to not be a concern for the block implementer * removes useless scss variable * hiding the drag handle at block level * renamed horizontalMover to moverOptions to incorporate separation of properties * rafactores the mover options * Initial CSS work to make the menu more manageable. This moves to flex instead of grid, neutralizes margins, simplifies a few things. * Make movers inline again. * Further improve margins for child blocks. * adds proper aliases in BlockEdit * previxed options as experimental * RTL movers * removed the position option, marked option experimental * labeled as experimental new mober and block list props * refactored direction detection code for better readability, fixed some code alignment issues commit 12490f242fcbe7497699bf2ea133164c93572aa5 Author: Ella van Durpe <wp@iseulde.com> Date: Mon Oct 28 17:16:08 2019 +0100 Commander: switch cloning method to HTTPS (#18136) * Commander: switch cloning method to HTTPS * Add HOME env variable commit 82085edcc77e956f2565d499e094c81ea386cd4b Author: Sérgio Estêvão <sergioestevao@gmail.com> Date: Mon Oct 28 15:48:01 2019 +0000 Fix RN build after merge with master (#18133) commit 757f7d6d046ec517511c6a384b2f0b0774f328fa Author: iseulde <wp@iseulde.com> Date: Mon Oct 28 15:59:05 2019 +0100 Bump plugin version to 6.8.0-rc.1 commit 96117906dd237fa5706b2db809816e240a2fcf90 Author: Jorge Costa <jorge.costa@automattic.com> Date: Mon Oct 28 13:56:54 2019 +0000 Add grandient fixtures to cover block (#18002) commit 94b971b4a9d2790c390be14f7dafb222ff660881 Author: Ella van Durpe <wp@iseulde.com> Date: Mon Oct 28 13:49:48 2019 +0100 Paste: allow list attributes (#17144) commit 0f1ea49c10f32fadf20da8da50853ac40617fada Author: Dave Smith <getdavemail@gmail.com> Date: Mon Oct 28 11:50:46 2019 +0000 Add `DimensionControl` component (#16791) * Adds initial component Note this is copied wholescale from original PR https://github.com/WordPress/gutenberg/pull/16730 * Remove redunant files. Refactors tests. * Updates docs * Checks callbacks are functions prior to calling * Adds temp testing example usage of component to Group Block * Updates to allow sizes as an (optionaly) prop dependency * Update default value label * Removes unnecessary InstanceId HOC usage Addresses https://github.com/WordPress/gutenberg/pull/16791#discussion_r323906696 * Remove unused abbreviation in size table * Revert "Adds temp testing example usage of component to Group Block" This reverts commit 6f9f3bfd2a7c1a08ecfab143384d414701f0c1e8. * Remove arbitrary size value from sizes list This is not required as we cannot know how the dimensions component will be used. Therefore sticking with relative values via the slugs is safer. These can be mapped on a case by case basis as required. * Remove icon label for a11y reasons Addresses https://github.com/WordPress/gutenberg/pull/16791#discussion_r324103481 * Update component docs for consistency, spelling and grammar * Tweak docblock formats * Update test snapshots to match new default value * Update API from onSpacingChange to more agnostic onChange Addresses https://github.com/WordPress/gutenberg/pull/16791#discussion_r331622801 * Update tests to cover onChange handler renamed * Update currentSize prop to value for consistency with other components * Removes onReset in favour of onChange with undefined for consistency Adddresses https://github.com/WordPress/gutenberg/pull/16791#discussion_r331624272 * Move component to @wordpress/components package * Remove invalid font sizes style import Accidentally included from rebase. * Deps update due to rebase * Remove unneeded doc blocks * Remove usage suggestion which was not helpful * Update readme docs to match current API Addresses https://github.com/WordPress/gutenberg/pull/16791#discussion_r332692714 * Export as experimental component Addresses https://github.com/WordPress/gutenberg/pull/16791#discussion_r332694561 * Revert "Deps update due to rebase" This reverts commit 95d00f39010edfaac620980e0d0e7c1001a68c98. Addresses https://github.com/WordPress/gutenberg/pull/16791#discussion_r332691520 commit 286ee9a3448e2aa8a5a1a7eaf6bd35cfdadd4507 Author: Riad Benguella <benguella@gmail.com> Date: Mon Oct 28 11:34:12 2019 +0100 Allow travis builds in all wp/* branches commit 7f0a81c53ce451e25ed5e291292e0234a0efafcf Author: Riad Benguella <benguella@gmail.com> Date: Mon Oct 28 11:09:48 2019 +0100 Allow media upload post processing for all 5xx responses (#18106) commit aec39f0c7926ec4d007cb25a829a8c9d65016d44 Author: Jorge Costa <jorge.costa@automattic.com> Date: Mon Oct 28 09:44:55 2019 +0000 Add class mechanism for preset gradients. (#18008) commit 880d1de41b4f1d0d6eed57e914f85260c1f29dbf Author: Marcus Kazmierczak <marcus@mkaz.com> Date: Mon Oct 28 00:06:32 2019 -0700 Storybook: Add ColorPicker component (#18013) * Add color picker component to Storybook * Switch screen-reader-text to new VisuallyHidden * Update ColorPicker tests snapshots * Add story for showing Alpha Channel * Move state out of exported component * Lowercase story name commit b85675d0e117bdf3daf6ea31d55d1a03102da859 Author: Jon Quach <hello@jonquach.com> Date: Mon Oct 28 03:01:04 2019 -0400 Components: ExternalLink, add story (#18084) This update adds a story for the ExternalLink component. Storybook knobs were added to better demonstrate the component's properties. commit 06834d909d393139fb57e1c1813721ec58baad9c Author: Jeff Bowen <jblz@users.noreply.github.com> Date: Mon Oct 28 02:51:05 2019 -0400 Tutorial: Specify block naming restrictions (#18117) * Tutorial: Specify block naming restrictions * Remove an incorrect comma commit f49df6f25dd1b67586f6a42b0b3175ac63b2909a Author: Robert Anderson <robert@noisysocks.com> Date: Mon Oct 28 11:23:39 2019 +1100 Raw handling: Fix strikethrough formatting when copy/pasting from Google Docs in Safari (#17187) commit e93f7bb4ea07c0a8fe973964b6c5f0da9dd85e5a Author: Robert Anderson <robert@noisysocks.com> Date: Mon Oct 28 11:08:23 2019 +1100 Fix overlapping controls in the Inline Image formatting toolbar (#18090) * Fix overlapping controls in the Inline Image formatting toolbar * Inline mage formatting: make Apply button same height as Width input * Polish. commit a486306f6695a7b5ffcac1c94ea772c1ead4a68a Author: tellthemachines <tellthemachines@users.noreply.github.com> Date: Sun Oct 27 15:44:07 2019 -0700 Nav menu item enhancements: display toolbar and remove dropdown (#17986) * Display toolbar and remove dropdown from menu item * Fixes block toolbar misalignment on IE. * Replace destination and deal with keypresses. * Update fixture. * Keydown management and attempt at close on blur. * Add definitive menu item icon. * Fix label/input styling. * Clean up styles after rebase. * Refactor stop propagation . * Remove duplicate dependency comments * Navigation Block: Rename 'destination' to 'url' in server-side code commit 9c91f5f92cc41210ca027a5fec72c9b54c354524 Author: Jorge Costa <jorge.costa@automattic.com> Date: Sat Oct 26 12:44:11 2019 +0100 Fix: Font size picker component relies on WordPress styles (#18078) commit 9781a027f324e093ae0970fb1c9c134333d66596 Author: Enrique Piqueras <epiqueras@users.noreply.github.com> Date: Fri Oct 25 14:25:11 2019 -0700 Block Editor: Implement new colors hook. (#16781) * Block Editor: Implement new colors hook. * Block Library: Swap usage of the colors HOC with the colors hook in the heading edit component. * Use Colors: Add 'has-x-color' class names. * Use Colors: Avoid memory leaks by making caches limited in size, and tied to hook instances. * Use Colors: Support children and optional contrast checking in the color panel. * Use Colors: Expose colors panel without inspector slot/fill wrapper. * Use Colors: Mark hook as experimental. * Use Colors: Support custom colors. * Block Edit: Remove extra context values and use selectors/actions instead. * Heading: Remove unnecessary color class and set text color on save. * Use Colors: Add custom/preset color logic. * Use Colors: Fix panel bugs. * Heading Block: Detect actual background color for contrast checking. * Block Edit: Add new export to native file. * Use Colors: Change CSS "attribute" to "property". commit 8d0e5aab1a1c75b52e636aaeda36efd48d1dc838 Author: Jorge Costa <jorge.costa@automattic.com> Date: Fri Oct 25 17:53:36 2019 +0100 Add block inspector to the Gutenberg playground. (#18077) commit be6a8fd32d17b6f927699aa3a7baa7f91daff3a2 Author: Joen Asmussen <joen@automattic.com> Date: Fri Oct 25 18:01:29 2019 +0200 Fix checkboxes for postmeta. (#18108) commit c4eb0ef953dfc2b7542347832f299f08c11d2c2f Author: Matt Chowning <matt.chowning@automattic.com> Date: Fri Oct 25 11:27:56 2019 -0400 RNMobile: Add image alignment controls (#17962) RNMobile: Add image alignment controls Only handles left, center, right. Does not permit setting or displaying either full or wide alignments. commit 775d00342ee635bf998e6254cdf6a777aec130a6 Author: Riad Benguella <benguella@gmail.com> Date: Fri Oct 25 13:13:59 2019 +0100 Add a block selection breadcrumb to the bottom of the editor (#17838) commit ac6dc61b0b7d2330d1a2f59fff5511ecdfc5557d Author: Drapich Piotr <drapich.piotr@gmail.com> Date: Fri Oct 25 12:55:02 2019 +0200 [rnmobile] Breadcrumbs (#17471) * Add breadcrumbs to floating toolbar * Add dark mode support commit 21445de58278eba94ab4e4f415319a028c8f19fa Author: Ella van Durpe <wp@iseulde.com> Date: Fri Oct 25 11:16:39 2019 +0200 Preserve attributes on split (#18102) commit 0b12ac9bab453e90c24c7d214ab4ad2eb01906bd Author: Marcus Kazmierczak <marcus@mkaz.com> Date: Thu Oct 24 20:40:57 2019 -0700 Storybook: Add Color Palette Component (#17997) * Add Color Palette to Storybook * Apply suggestions from code review Co-Authored-By: Enrique Piqueras <epiqueras@users.noreply.github.com> * Refactor state out of story components, to own * Update packages/components/src/color-palette/stories/index.js commit c16c1a907a79bf62cfb8eb8b94c368dd68da1dd1 Author: Enrique Piqueras <epiqueras@users.noreply.github.com> Date: Thu Oct 24 18:53:38 2019 -0700 Env: Add support for running in themes. (#17732) * Env: Add support for running in themes. * Env: Optimize context detection filter. * Env: Update test directory structure to match convention. commit 7a62af0cb8a280b53c0e26b6da8d0e74f04ee2f4 Author: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> Date: Thu Oct 24 23:10:09 2019 +0200 Storybook: Apply a set of enhancements to the existing stories (#18030) * Storybook: Apply a set of enhancements to the existing stories * Add basic knobs integration to all Button stories commit 20b825a0bcc863c274741c942e306e1328ec0854 Author: Marcus Kazmierczak <marcus@mkaz.com> Date: Thu Oct 24 13:53:24 2019 -0700 Components: Add VisuallyHidden component (#18022) * Add ScreenReaderText component * Add new component readme to manifest * Remove CSS style loading within stories * Switch component name to VisuallyHidden - Rename directory and includes - Update README usage - Update Storybook usage * Switch classname to components-visually-hidden * Lint: newline * Add focus style * Switch to 'as' for specifying tag * Move renderAsRenderProps to utils.js * Move utils to inside component folder Waiting to refine the utils usage a little better before making it look available for other components to use. * Apply suggestions from code review Co-Authored-By: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> * Lint: Move newline * Fix variable name * Use variable for stylesheet commit 6c556a7c8566a286cf6f9622d0d153669db3683d Author: Jorge Costa <jorge.costa@automattic.com> Date: Thu Oct 24 21:25:18 2019 +0100 Add gradients in cover block (#18001) commit abf261cf780c98956a711a248de6c9dd520bd757 Author: Kerry Liu <gwwar@users.noreply.github.com> Date: Thu Oct 24 11:25:15 2019 -0700 List Block: Do not merge list with previous block if deleting first list item and list is not empty (#18032) * Do not merge list with previous block if deleting first list item and list is not empty * Add e2e test and clean up * Correct mistake * Adjust comment commit 3df5109c47870ed37aa19f11978476960474c2d0 Author: Jorge Costa <jorge.costa@automattic.com> Date: Thu Oct 24 18:58:46 2019 +0100 Fix: Custom button background color not reflected on reload (#18037) Fixes: https://github.com/WordPress/gutenberg/issues/18012 We had a bug where the editor may not reflect the custom button background color after a reload. That happened because the rule background: customGradient, may overwrite the background-color rule even if the custom gradient has not set. This PR performs a logic update to solve the issue. commit 65c363bc392c1fed3315afc835c31eaaf8e43dc3 Author: Jorge Costa <jorge.costa@automattic.com> Date: Thu Oct 24 16:42:35 2019 +0100 Fix: End to end tests do not disable the experiments (#18093) commit 5e13a1cccfa33c9ee18ca00c4bbcd5b642fe26f7 Author: Sérgio Estêvão <sergioestevao@gmail.com> Date: Thu Oct 24 16:37:36 2019 +0100 Add platform component (#18058) * Add platform component * Improve platform implementation in RN. * Add more documentation and tests. * Update readme file. * Update tests. * Fix filenames for native versions. * Add license attribution * Remove unnecessary lines. * Improve documentation * Remove trailing space * Update packages/element/src/platform.js Co-Authored-By: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> * Update readme. * Fix lint error. commit e829d97a6a15edfe3d38252630897f3f35ddc4cd Author: Joen Asmussen <joen@automattic.com> Date: Thu Oct 24 14:02:17 2019 +0200 Fix regression with Gallery margin. (#18019) I failed to verify the Gallery block when I approved https://github.com/WordPress/gutenberg/pull/17958#issuecomment-543597183 and therefore caused a regression. This PR adds explicity left margins and paddings to the gallery ul to ensure there isn't any added padding and margin. commit 0b723424f5c6e40115e12694c693b34879ba9a9f Author: Jorge Costa <jorge.costa@automattic.com> Date: Thu Oct 24 12:46:13 2019 +0100 Chore: Fix: Do not show Gradient panel if gradients are not av… (#18091) commit 7783eb5c788528402a050833d9a4b792bdcdc22e Author: Miguel Fonseca <miguelcsf@gmail.com> Date: Thu Oct 24 10:39:45 2019 +0100 Local autosave: Clear after successful save (#18051) * Local autosave: Clear after successful save Presumably, somewhere in the fixing of conflicts between remote and local autosaves (purge local upon successful remote autosave), LocalAutosaveMonitor stopped purging the local autosave upon successful *saves*. * Tests: Autosave: Correctly wait for editor chrome before saving commit a6502c1e52dfa2c223342eedc5ba8d4beeffe082 Author: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> Date: Thu Oct 24 11:14:46 2019 +0200 Code style: Fix ESLint warnings reported for JSDoc definitions (#18025) * Code style: Fix ESLint warnings reported for JSDoc definitions * Add WordPress type definitions to the list of names recognized by JSDoc linter commit 31218475b3ddc7768e62123e3c3f1afb05fcb264 Author: Damián Suárez <rdsuarez@gmail.com> Date: Thu Oct 24 04:17:35 2019 -0300 url-input: ensuring value is defined on key down (#18088) commit 1cff327cdd6e32adfa1aafd6217fafe0f973918a Author: Felix Arntz <felixarntz@users.noreply.github.com> Date: Thu Oct 24 01:35:06 2019 +0200 Add logic for basic (temporary) wp_template editing UI (#17625) * Templates: Add logic for basic temporary editing UI. * Templates: Fix menu filter. * Post Slug: Follow class name convention. commit 29670ca35b33de231fb5a8e8c1451d35a9d0a92e Author: Felix Arntz <felixarntz@users.noreply.github.com> Date: Wed Oct 23 22:42:36 2019 +0200 Implement core template loader overrides to rely on wp_template posts (#17626) * Introduce wp_template post type. * Improve (temporary) admin UI for wp_template post type by exposing slug. * Implement template loader overrides to rely on 'wp_template' posts. * Render viewport meta tag. * Prevent deletion of fallback 'wp_template' post 'index'. * Scope PR to just basic wp_template post type registration. * Implement core template loader overrides to rely on wp_template posts instead. * Render title tag regardless of theme support Co-Authored-By: Weston Ruter <westonruter@google.com> * Make getting correct wp_template post more error-proof Co-Authored-By: Weston Ruter <westonruter@google.com> * Template Loader: Add more content filters. * Templates: Fix experiment flag logic. commit 4dbe1fcd288e9a0bc6a978939eac5b5b721c9033 Author: Ella van Durpe <wp@iseulde.com> Date: Wed Oct 23 22:37:19 2019 +0200 Table: remove wrapper around cells (#17711) commit 7da1e78996bd7fa800cb4521490e60d45dd34f17 Author: Enrique Piqueras <epiqueras@users.noreply.github.com> Date: Wed Oct 23 13:28:04 2019 -0700 Add Site Title block and required functionality. (#17207) * Core Data: Add a Site entity and a hook for entity saving logic. * Experiments: Add a Full Site Editing experiment. * Block Library: Add Site Title block. * Fixtures: Add Site Title block fixture. * Fixtures: Add missing transform fixtures. * Block Library: Remove deprecated prop usage in Site Title. * Site Title: Support nesting inside of a Site block. * Site Title: Disallow formatting in the rich text field. * Core Data: Make useEntitySaving experimental. commit a50bf80d2d6c618082527847ed6ecad3d13c5bc6 Author: Mikael Korpela <mikael@ihminen.org> Date: Wed Oct 23 13:11:39 2019 +0300 Add `@wordpress/base-styles` package (#17883) - Move `assets/stylesheets/*` to the new package - Move admin color schemes to the new package commit 9e5d1385d6b844c4dcae617e3966acb209b23110 Author: Marcus Kazmierczak <marcus@mkaz.com> Date: Tue Oct 22 17:05:04 2019 -0700 Update design-systems:dev script to build packages (#18073) The build-style/style.css needs to be rebuilt prior to running Storybook in watch mode. This change adds `npm run build:packages` at the start of the design-systems:dev script to CSS is built prior. Issue found in #17997 commit 40ebea70a42588782088fdc8591844ccace96e9c Author: Damián Suárez <rdsuarez@gmail.com> Date: Tue Oct 22 20:08:25 2019 -0300 navigation-menu: Implement colors selector button. (#17832) Summary block-editor: expose ColorPaletteControl component navigation-menu: improve colors-selector component navigation-menu: compose withColors navigation-menu: render colors selector in bar navigation-menu: propagate withColor props navigation-menu: apply theme styles to selection navigation-item: populate styles to nav item navigation-menu: apply inline styles and CSS classes commit d5d66a8b34de70a1290661082bf79ac104b56ac6 Author: Manzoor Wani <manzoorwani.jk@gmail.com> Date: Wed Oct 23 04:08:56 2019 +0530 Add isInvalidDate prop to DatePicker (#17498) commit 03414de9995870109f3f6e0e1c88605a0353aaf3 Author: Enrique Piqueras <epiqueras@users.noreply.github.com> Date: Tue Oct 22 13:18:20 2019 -0700 Env: Add support for custom ports. (#17697) commit 6ab0e323531bf4b0b03aaee58e02a611fc74d16b Author: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> Date: Tue Oct 22 12:55:17 2019 +0200 Chore: Update the lock file to use newer version of fsevents (#18057) This fixes the issues when `npm install` on macOS throws several errors. commit 869ac8de003d591e50c1c76210f879cd6d28a7b3 Author: Jonathan Goldford <jonathan@wiredimpact.com> Date: Tue Oct 22 05:43:51 2019 -0500 Fix issue when providing multiple shortcode aliases for a new block (#17925) * Fix issue where providing multiple shortcode aliases to transform into a block only matches the first shortcode * Add test to ensure blocks can transform using multiple shortcode aliases * Simplify the approach used to find the individual shortcode being transformed Props jg314 commit 0c8da5b39d25d9b223239daf744ecc7091e74b91 Author: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> Date: Tue Oct 22 11:15:11 2019 +0200 Chore: Fix issues related to Node 12 becoming LTS (#18054) * Chore: Fix issues related to Node 12 becoming LTS * Include the root package.json file in the linting This commit also moves the npm-package-json-lint config to the standalone file. * Add changelog entries to @wordpress/scripts package commit bf60a077465f4908e843d2537d8c31b6a11c7cfa Author: Riad Benguella <benguella@gmail.com> Date: Mon Oct 21 11:20:33 2019 +0100 chore(release): publish - @wordpress/api-fetch@3.6.3 - @wordpress/block-directory@1.0.3 - @wordpress/block-editor@3.2.3 - @wordpress/block-library@2.9.3 - @wordpress/core-data@2.7.3 - @wordpress/data-controls@1.3.3 - @wordpress/e2e-test-utils@2.4.3 - @wordpress/e2e-tests@1.7.3 - @wordpress/edit-post@3.8.3 - @wordpress/edit-widgets@0.7.3 - @wordpress/editor@9.7.3 - @wordpress/format-library@1.9.3 - @wordpress/list-reusable-blocks@1.8.3 - @wordpress/media-utils@1.2.3 - @wordpress/server-side-render@1.3.3 - @wordpress/url@2.8.2 commit 563ac7916fae4cd4f6aa17edae34c9449429e835 Author: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> Date: Mon Oct 21 12:03:13 2019 +0200 Tests: Clean up skipped e2e tests (#18003) commit 952659bd93683f7262a516a6f802bcea448b9ca1 Author: Matthew Kevins <mkevins@users.noreply.github.com> Date: Mon Oct 21 11:27:54 2019 +1000 Fix MediaUpload README value prop description (#18039) commit c671a3857f5094b446728a7b4996a78419687f55 Author: Anthony Burchell <anthony.burchell@wpengine.com> Date: Sun Oct 20 20:05:13 2019 -0500 removes decleration of Select button (#18007) commit bf3b7f9d0a6a4a8000ad1a64df7e2e38c19d587f Author: Phoebe Gao <phgao1994@gmail.com> Date: Sat Oct 19 05:25:19 2019 -0700 Update MediaPlaceholder README.md (#17980) * Update MediaPlaceholder README.md This change updates the readme to properly document the `value` property. See issue here: https://github.com/WordPress/gutenberg/issues/17967 * Update MediaUpload README.md commit db2235d69be5401858794b9465d94a1906dbaae6 Author: Joen Asmussen <joen@automattic.com> Date: Sat Oct 19 10:56:02 2019 +0200 Fix Publish Button!!! (#18016) Fixes #18004 and thank science, that was driving me insane ever since you pointed it out. This PR does a couple of things: 1. It adds `isLarge` to the Publish button. It was there for Preview, but not Publish. 2. It simplifies a little CSS as a result of that. 3. It also tweaks the button height as defined for the two preview publish buttons. commit fb283f092c43c093955cb65e25a26e405e1308e5 Author: Marcus Kazmierczak <marcus@mkaz.com> Date: Fri Oct 18 13:14:43 2019 -0700 Add dashicon component to storybook (#18027) commit 181042ac4be04fd6775f95f85cd3e3a7c8aa2a91 Author: Marcus Kazmierczak <marcus@mkaz.com> Date: Fri Oct 18 06:45:25 2019 -0700 Storybook: Add knobs to ColorIndicator (#18015) * Add knobs to ColorIndicator * Lint: new line commit f772aede279b2eafb0793078b433304468d1989f Author: Riad Benguella <benguella@gmail.com> Date: Fri Oct 18 14:41:57 2019 +0100 Fix the performance tests (#18020) commit fba1f85b18fe15452763229f1c8435b371c21ae9 Author: Luke Walczak <lukasz.walczak.pwr@gmail.com> Date: Fri Oct 18 13:04:21 2019 +0200 [RNMobile] Introduce grouping in the block settings inspector (#17703) * Intrdouce groupin in the block settings inspector * Adjust PanelBody to design * Adjust padding when section doesnt have title * Rewirte arrow function to function * Fix lint issue * Create a PanelActions component for handling action buttons in the block settings inspector * Remove useless separator type and fix typo * Refactor after CR * Correct label styles * Fix overriding mechanism on label style commit 30d3e982d619ad6b185871f305b66c89766e5686 Author: Jarda Snajdr <jsnajdr@gmail.com> Date: Fri Oct 18 12:29:40 2019 +0200 Optimize exports of the wp/compose package (#17945) Adds `sideEffects:false` to `package.json` so that unused exports can be optimized away by the bundler. Moves the `compose` definition (i.e., reexport from Lodash) to its own module, so that we don't pull in Lodash just by importing something from `@wordpress/compose`. After this patch, one needs to import `compose` explicitly to trigger the Lodash import. commit 7017152306f71486d0d65362f545252f560cb55f Author: Jorge Costa <jorge.costa@automattic.com> Date: Fri Oct 18 09:59:46 2019 +0100 Update: Refactor button edit to use a functional component (#18006) commit 208cc9f0d3626c81bc9f7cda61c86c2c0c1bd7ce Author: Luke Walczak <lukasz.walczak.pwr@gmail.com> Date: Thu Oct 17 17:17:33 2019 +0200 Fix image native test (#17989) commit 6d28e63d0d53e34f100cf087448c7accce86e425 Author: Enrique Piqueras <epiqueras@users.noreply.github.com> Date: Thu Oct 17 07:53:52 2019 -0700 Playground: Add link to components storybook. (#17982) commit b13a6fc292f91bf3545164b434bf64ad03d2c184 Author: Riad Benguella <benguella@gmail.com> Date: Thu Oct 17 13:54:39 2019 +0100 Split e2e tests into multiple folders (#17990) commit 207bf752e961bbe33fbb84ee8b5840d0a0b54cd2 Author: jbinda <jakub.binda@gmail.com> Date: Thu Oct 17 09:56:30 2019 +0200 [RNMobile] add RangeControl mobile implementation (slider) (#17282) * add RangeCell commit f94dadb5b562308795a85398db2681f42bda6c6b Author: Daniel Richards <daniel.richards@automattic.com> Date: Thu Oct 17 07:38:45 2019 +0800 Try setting a block display name for the Block Navigator. (#17519) * Really simple first attempt at showing a display name in the navigator * Strip any RichText formatting * Add display name for navigation menu item block * Refactor to use displayNameAttribute property * Change name of displayName options commit 56a27599d72718df787338dfb47cb0b39c39f4d8 Author: Marcus Kazmierczak <marcus@mkaz.com> Date: Wed Oct 16 14:37:16 2019 -0700 Add empty line (#17981) commit 7a2298b98989a77de67acbf66c426e248a23bf9e Author: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> Date: Wed Oct 16 22:35:07 2019 +0200 Fix: Invalid import statement for deprecated in the modal component (#17969) * Fix: Invalid import statement for deprecated in the modal component * Font Size Picker: Update E2E test to work with new Core changes. commit e5ecca57be4a068f16d7cfdcdd41ad888b50ffa0 Author: Grzegorz (Greg) Ziółkowski <grzegorz@gziolo.pl> Date: Wed Oct 16 16:55:17 2019 +0200 Codeowners: Remove gziolo from some folders (#17971) I get too many notifications. commit 5a055336832730a91c1e1579e8261dd6075cd176 Author: Dan Phiffer <dan@phiffer.org> Date: Wed Oct 16 09:01:42 2019 -0400 Small changes to Git Workflow docs (#17662) * :information_desk_person: add 'upstream' remote * :bug: origin / remote commit f71a7d1c3d84481b46eb05a260703981ff71f6d8 Author: Riad Benguella <benguella@gmail.com> Date: Wed Oct 16 12:48:10 2019 +0100 Bump plugin version to 6.7.0 commit fb6dee80e07042745858f38978445de0e6273eee Author: Joen Asmussen <joen@automattic.com> Date: Wed Oct 16 13:39:45 2019 +0200 Improve columns flex rule, round 2. (#17968) commit 1e089dba0c572bd7dd71f37aa1c4759cd6aaf81b Author: Cameron Voell <cameronvoell@gmail.com> Date: Wed Oct 16 04:00:34 2019 -0700 RNMobile Add size options to mobile image block (#17245) * [RNMobile] Native mobile release v1.11.0 (#17181) * [RNMobile] Fix crash when adding separator * Build: remove global install of latest npm since we want to use the paired node/npm version (#17134) * Build: remove global install of latest npm since we want to use the paired node/npm version * Also update travis to remove --latest-npm flag * [RNMobile] Try dark mode (iOS) (#17067) * Adding dark mode component implemented on list and list block * Adding DarkMode handling to RichText, ToolBar and SafeArea * Mobile: Using DarkMode as HOC * iOS DarkMode: Modified colors on block list and block container * iOS DarkMode: Improved Header Toolbar colors * iOS DarkMode: Removing background from buttons * iOS DarkMode warning and unsupported * iOS DarkMode: MediaPlaceholder * iOS DarkMode: BottomSheets * iOS DarkMode: Inserter * iOS DarkMode: DefaultBlockAppender * iOS DarkMode: PostTite * Update hardcoded colors with variables * iOS DarkMode: Fix bottom-sheet cell value color * iOS DarkMode: More - PageBreak - Add Block Here * iOS DarkMode: Better text color * iOS Darkmode: Code block * iOS DarkMode: HTML View * iOS DarkMode: Improve colors on SafeArea * Fix toolbar not avoiding keyboard regression * Fix native unit tests * Fix gutenberg-mobile unit tests * Adding RNDarkMode mocks * RNMobile: Fix crash when viewing HTML on iOS * [RNMobile] Remove toolbar from html view * [RNMobile] Fix MaxListenersExceededWarning caused by dark-mode event emitter (#17186) * Fix MaxListenersExceededWarning caused by dark-mode event emitter * Checking for setMaxListeners trying to avoid CI error * Adding remove listener to DarkMode HOC * DarkMode: Binding this.onModeChanged to `this` * DarkMode: Adding conditional needed to pass UI Tests on CI * Fix focus title on new posts regression (#17180) * BottomSheet: Setting DashIcon color directly when theme is default (light) (#17193) * Activate Travis CI on rnmobile/master branch (#17229) * Added ability to update image size options (sizeSlug) through a new InspectorControl Cell that leads to a Picker. * Added a style for Size Inspector Controls cell to align it will other cells that have icons. * Add native support for the MediaText block (#16305) * First working version of the MediaText component for native mobile * Fix adding a block to an innerblock list * Disable mediaText on production * MediaText native: improve editor visuals * Move BlockToolbar from BlockList to Layout * Remove BlockEditorProvider from BlockList and add native version of EditorProvider to Editor. Plus support InsertionPoint and BlockListAppender * Update BlockMover for native to hide if locked or if it's the only block * Make the vertical align button work, add more styling options for toolbar buttons * Make sure registerCoreBlocks does not break in production * Copy docblock comment from the web version for registerCoreBlocks * Fix focusing on the media placeholder * Only support adding image for now * Update usage of MediaPlaceholder in MediaContainer * Enable autoScroll for just the out most block list * Fix JS Unit tests * Roll back to IconButton refactor and fix tests * Fix BlockVerticalAlignmentToolbar buttons style on mobile * Fix thing for web and ensure ariaPressed is always passed down * Use AriaPressed directly to style SVG on mobile * Update snapshots * Swtiched to react-native Modal onDismiss property for signaling Picker is ready to show * Added a prop for catching modal dismissal on Android. (onDismiss is iOS only and onModalHide works on Android but breaks on iOS) * Added icon for Inspector Controls size option. Removed style we no longer need. * Added title to size option iOS ActionSheet and left alignstyle to size options BottomSheet * MediaUpload and MediaPlaceholder unify props (#17145) * Unify media placeholder and upload props within media-text (#17268) * [RNMobile] Fix dismiss keyboard button for the post title (#17260) * Set unused functions to undefined instead of false in BottomSheet Modal props * Recover border colors (#17269) * [RNMobile] Insure tapping at end of post inserts at end Previously, tapping at the end of the post would insert a block immediately after the currently selected block. In addition, this commit is cleaning out a few unusued props in the block-list file. * Support group block on mobile (#17251) * First working version of the MediaText component for native mobile * Fix adding a block to an innerblock list * Disable mediaText on production * MediaText native: improve editor visuals * Move BlockToolbar from BlockList to Layout * Remove BlockEditorProvider from BlockList and add native version of EditorProvider to Editor. Plus support InsertionPoint and BlockListAppender * Update BlockMover for native to hide if locked or if it's the only block * Make the vertical align button work, add more styling options for toolbar buttons * Make sure registerCoreBlocks does not break in production * Copy docblock comment from the web version for registerCoreBlocks * Fix focusing on the media placeholder * Only support adding image for now * Update usage of MediaPlaceholder in MediaContainer * Enable autoScroll for just the out most block list * Fix JS Unit tests * Roll back to IconButton refactor and fix tests * Fix BlockVerticalAlignmentToolbar buttons style on mobile * Fix thing for web and ensure ariaPressed is always passed down * Use AriaPressed directly to style SVG on mobile * Update snapshots * Support group block on mobile * Extend shouldShowInsertionPoint condition to be false when group is selected * Code refactor * Update package-lock * Removing old style reference. * Moved Picker for image size options into new ImageSizePicker component. Cleaned up sizeOptionLabels. * Updated total left margin on Android Image size options to be 24 px instead of 28 px * Image Size options hidden behind __DEV__ flag * Remove redundant bg color within button appender (#17325) * [RNMobile] DarkMode improvements (#17309) * Remove the need to import `useStyle` and pass the theme prop on every instance that `withStyle` is used * Implement dark-mode refactor on all components * Fix broken native tests * Fix default block appender background color on DarkMode * DarkMode: Make `useStyle` a class function * Cleaned up default true properties and replaced code with lodash map. * Updated to use BottomSheetPickerCell. Eliminated code, but size options now open over top inspector controls menu. * Added leftalign to PickerCell. * [RNMobile] Add autosave to mobile apps (#17329) * [RNMobile] Fix crash when adding separator * Build: remove global install of latest npm since we want to use the paired node/npm version (#17134) * Build: remove global install of latest npm since we want to use the paired node/npm version * Also update travis to remove --latest-npm flag * [RNMobile] Try dark mode (iOS) (#17067) * Adding dark mode component implemented on list and list block * Adding DarkMode handling to RichText, Too…
I'm circling back here from #20007 (and #20052), I observe that some of the early mockups incorporated the "Open in New Tab" as part of the edit state, but it was later suggested for removal. From: #17557 (comment)
Per #20007, I don't think this is something we would want to do, since it would require that we make the preview state focusable, presumably requiring an additional step in the workflow. One of:
If it's agreeable, I would like to propose that the toggle be made available as part of the editing of the URL, perhaps more like some of the earlier mockups. I am beginning to explore this in #20052 and would welcome any design advice. |
@aduth @getdave Did the |
@phpbits That code appears to be stale. There is a Note that this component is currently experimental and I expect it will probably remain so as of WordPress 5.4, so there may still be breaking changes in the future to how the component works. In the meantime, it is available at #18061 appears to have been created as the "next steps" tracking issue for this. |
Thanks @aduth! I thought it's out of experimental because link format is using it on the Gutenberg plugin. I'll just use the URLPopover for the meantime. Thanks again! |
I took some time to imagine where the link interface could evolve to. There are a few reasons we should consider evolving this.
Props to @mtias for suggestions and feedback to get to this issue.
What can we use as inspiration for this?
When thinking about navigation, I had explored the following:
Abstraction
I began with an abstraction exercise, how far could I take this back? Here are some sketches.
@mtias showed me this from @shaunandrews:
Thrown out ideas
I will share some ideas I decided to drop to add context to path I ended up going back to.
Exploring
From there, I went on a little iterative quest and kept coming back to the following, despite going pretty far in some explorations. As a result, I wanted to share the place I am at right now with this:
So, what's next? I would love opinions on the direction and any details on what is missing really should be added. Relating to that what is there should be subtracted? If you have any ideas please also add them.
I plan to do some rapid iterations based on feedback to hopefully get by end of the week something feels good to prototype. I will then look at how this could look both for the link interface in blocks (mocking up various blocks) and then how it adapts to navigation.
One thing to learn from the link interface so far is feeling and using this is key, so the earlier we get into prototype the better.
The text was updated successfully, but these errors were encountered: