Commit Graph

8126 Commits

Author SHA1 Message Date
Kevin Ansfield
30b9718359 Added insertOnSpace attribute to card definitions
refs https://github.com/TryGhost/Team/issues/1225

- if set, typing `/card-name<space>` will instantly insert the card. Useful for cards that will trigger a media browser or similar where continuing to type will search with card-specific autocomplete
2021-11-25 16:13:55 +00:00
Peter Zimon
7dcb11e741 GIF browser refinements 2021-11-25 13:22:27 +01:00
Daniel Lockyer
551e26b895 Merged v4.23.0 into main
v4.23.0
2021-11-25 12:17:20 +01:00
Daniel Lockyer
68372746a6 v4.23.0 2021-11-25 11:16:29 +00:00
Rishabh
90bc78d0be Updated name validation for offer to restrict to 40 chars
refs https://github.com/TryGhost/Team/issues/1236

Stripe allows coupon names to be only upto 40 chars long, while Ghost allowed them to be 191 chars. This change updates the admin validation to restrict name to 40 chars to match Stripe limit
2021-11-25 11:37:35 +01:00
Kevin Ansfield
91191fea48 Added toggling between blockquote/aside/p via quote toolbar button
refs https://github.com/TryGhost/Team/issues/1239

- added new action for toggling quote sections that will loop through blockquote/aside/p when clicked
- copied `kg-quote.svg` to `kg-quote-2.svg` ready for alternate icon designs
2021-11-25 10:22:44 +00:00
Kevin Ansfield
7ff73753c8 🐛 Fixed /unsplash search term not including all words
no issue

- card definitions allow multiple params split by spaces in /menu commands but that meant for search terms that included spaces only the first word was being captured
- updated the param handling so the last param specified includes all remaining words in the slash command
2021-11-24 22:41:18 +00:00
Kevin Ansfield
0f517ad4e6 Added scroll-into-view behaviour for inline image selector
refs https://github.com/TryGhost/Team/issues/1225

- added `scrollToCard` action to `koenig-editor` and passed it through to all card components curried to already include the card as an argument
  - action selects the card which places the cursor on it, then triggers our existing cursor scroll-into-view behaviour with an option to allow scrolling a card into view
- updated our cursor scroll-into-view behaviour so if the cursor is large (eg, when it covers a card's height) we make sure the top of the cursor is kept in view rather than the bottom
  - ensures that on small-height screens, opening the gif selector doesn't result in it's search bar being scrolled off screen
2021-11-24 20:02:10 +00:00
Kevin Ansfield
5116c86557 Fixed error when cleaning up empty image card
refs https://github.com/TryGhost/Team/issues/1225

- deleting an empty image card in the initial cleanup phase triggers the `onDeselect` action in the card but at that point the card's section no longer exists in the editor post model which was causing errors when attempting to replace it's section with an empty paragraph
2021-11-24 19:55:40 +00:00
Kevin Ansfield
c1cae814e2 Fixed hover outline on inline image selector
refs https://github.com/TryGhost/Team/issues/1225

- static outline was removed but we were still showing an outline when hovered
- added `media-card-placeholder` kg-style case that is the same as `media-card` but without the `kg-card-hover` class
2021-11-24 19:30:20 +00:00
Kevin Ansfield
bfa90a3b2b Removed selected-card outline from inline gif selector
refs https://github.com/TryGhost/Team/issues/1225

- when we're showing a placeholder style image selector we shouldn't show the extra green border around the browser, they should have their own borders and not look exactly like a card
2021-11-24 18:51:46 +00:00
Kevin Ansfield
dbf242a149 Fixed gif selection through inline gif selector
refs https://github.com/TryGhost/Team/issues/1225

- updated `selector-tenor` component to use the correct passed-in action
- fixed focus moving to top of the editor after selecting a gif or unsplash image
2021-11-24 18:48:49 +00:00
Kevin Ansfield
6d72325867 Added quoteStyles labs flag and toggle
refs https://github.com/TryGhost/Team/issues/1239

- we're experimenting with an additional quote style that can be toggled between using the toolbar quote button
2021-11-24 16:36:44 +00:00
Kevin Ansfield
8996bf62a2 Fixed linting error 2021-11-24 16:20:09 +00:00
Kevin Ansfield
3f3b66b668 Added image card placeholder-style image selector and switched gifs card
refs https://github.com/TryGhost/Team/issues/1225

- the `imageSelector` options in the image card have been expanded to have both a `component` and a `type` property. If the `type` is set to "placeholder" the related image selector component will be rendered in place of the default upload placeholder
  - updated `isEmpty()` so the card is always cleaned up if no src has been selected - prevents image selectors popping up when opening a post if it was saved whilst the image selector was open
  - updated close-selector behaviour to exit back to a blank paragraph so a different image embed type can be selected easily instead of leaving an image card that you then have to delete, create a new paragraph, and choose the embed type
- added `koenig-image-card/selector-tenor` child component
  - the same as `koenig-media-selector-tenor` except with the "Escape" key handling added
  - added as a separate component for now to allow for easy switching until we're settled on the selector type we want
2021-11-24 16:17:02 +00:00
Rishabh
7cd09eee96 Updated name validation for offer to restrict to 40 chars
refs https://github.com/TryGhost/Team/issues/1236

Stripe allows coupon names to be only upto 40 chars long, while Ghost allowed them to be 191 chars. This change updates the admin validation to restrict name to 40 chars to match Stripe limit
2021-11-24 18:18:22 +05:30
Kevin Ansfield
67a10184dc Added scroll-into-view when opening media selector
refs https://github.com/TryGhost/Team/issues/1225

- when opening the media selector and the bottom is cut off, scroll the whole selector into view so it's bottom is 20px away from the viewport bottom
- if the adjusted scroll would hide the top of the selector, make sure the top is 20px from the viewport top leaving the bottom cut off
2021-11-23 16:35:44 +00:00
Peter Zimon
591d5442e5 GIF browser refinements 2021-11-23 16:03:53 +01:00
Kevin Ansfield
d510883be5 Fixed scroll jump when media selector opens
refs https://github.com/TryGhost/Team/issues/1225

- if there's not enough space at the end of the editor canvas to fit the selector the browser adds extra space and pushes the scroll up making things feel janky
- added a scroll position reset as soon as the selector renders so nothing jumps around, the canvas just extends so it's possible to scroll the full selector into view
2021-11-23 09:20:30 +00:00
Kevin Ansfield
516ad8297a Added media selector pattern to editor and used it for gifs
refs https://github.com/TryGhost/Team/issues/1225

Re-using the existing pattern of creating an image card and having it launch an image selector was proving to have a lot of edge cases when we wanted a more streamlined in-line image selector for gifs.

- added a new `'selector'` type to card definitions
  - requires a `selectorComponent` argument that is the name of a component that renders the media and handles search
  - updated card components to open the selector component when respective menu item is activated
  - updated slash menu to instantly trigger the selector component when the slash command matches a card and is followed by a space so that searches continue inside the selector
- added `<KoenigMediaSelector>` component that wraps the card-definition provided component and handles escape key, clicks outside of the editor, and provides a stripped down API to the child component for selecting/closing
- added `<KoenigMediaSelectorTenor>` which mostly replicates the `<GhTenor>` component but has different styling and uses the provided media selector API
2021-11-23 09:20:30 +00:00
illiteratewriter
a41c159f2a 🐛 Fixed currency dropdown background in dark mode (#2109)
closes https://github.com/TryGhost/Ghost/issues/13598

- dark mode was showing incorrect colors for dropdown
2021-11-23 08:50:41 +00:00
Kevin Ansfield
ddc799cdc1 Fixed selecting emoji in callout card deselecting card
no issue

emoji-button uses focus-trap (https://www.npmjs.com/package/focus-trap) to gain/keep focus and allow clicks on the background to close the picker. Unfortunately when deactivating the focus-trap it attempts to return focus but it ends up putting the cursor back at the beginning of the post, deselecting the card and causing scroll jump.

- changed the `<div>` we were using as a button to trigger the emoji picker to `<button>` so that it's focusable meaning `focus-trap` returns focus there when the picker closes keeping focus inside the card
2021-11-23 00:30:21 +00:00
Thibaut Patel
0285f02fb6 Added first pass of product card
refs https://github.com/TryGhost/Team/issues/1233

- adds card that contains a a title, description wrapped in a link
- this hasn't been designed yet so I didn't add any css
2021-11-22 12:38:46 +01:00
Thibaut Patel
98da36ce2a Added productCard feature flag
refs https://github.com/TryGhost/Team/issues/1233

- flag for the product card development
2021-11-22 11:50:40 +01:00
renovate[bot]
9139809e9b Update dependency @tryghost/timezone-data to v0.2.53 (#2148)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-22 09:49:45 +00:00
renovate[bot]
625ab86963 Update dependency @tryghost/limit-service to v1 (#2122)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-22 09:48:43 +00:00
renovate[bot]
b2a78d0a19 Update dependency @sentry/ember to v6.15.0 (#2145)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-22 09:48:27 +00:00
renovate[bot]
d6a4ec374f Update dependency ember-keyboard to v6.0.4 (#2152)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-22 09:47:42 +00:00
Sanne de Vries
4e767c90f8 Fixed links not displaying in accent-color callout cards
Refs https://github.com/TryGhost/Team/issues/1206
2021-11-22 10:43:58 +01:00
djordje vlaisavljevic
9227b8b3c9 Updated accordion editor styles 2021-11-19 18:35:27 +01:00
djordje vlaisavljevic
f4cc458551 Updated accordion editor styles 2021-11-19 18:35:27 +01:00
Kevin Ansfield
3a4d1ecf60 Fixed error when searching tenor
no issue

- when removing zoom support from the tenor connector a call to `closeZoom()` when searching was missed
2021-11-19 17:31:35 +00:00
Peter Zimon
59e1fc5b6d Fixed copy for GIF card menu 2021-11-19 17:33:25 +01:00
Daniel Lockyer
d55e2846c6 v4.22.4 2021-11-19 16:00:31 +00:00
Rishabh
0f460a646b Fixed lint 2021-11-19 19:41:02 +05:30
Rishabh
3b49732cbb Added first pass of upload cards
refs https://github.com/TryGhost/Team/issues/1229
refs https://github.com/TryGhost/Team/issues/1230
refs https://github.com/TryGhost/Team/issues/1231
2021-11-19 19:34:17 +05:30
Kevin Ansfield
c35cdae491 Fixed callout card emoji picker clicks exiting card's edit mode
refs https://github.com/TryGhost/Team/issues/1206

Clicking inside the emoji picker was causing focus to be lost which then deselected the card causing an annoying jump between rendered/edit mode whilst working on the card's content. A secondary issue was the picker sticking around after you intentionally clicked elsewhere in the document to leave edit mode.

- before initiating the emoji-button instance, create a container that's appended at the bottom of the document body and that prevents any click events on elements inside the container from bubbling up and causing focus changes. Updated the emoji-button instance to render the picker inside that container
- added a call to hide the picker any time the card leaves edit mode
2021-11-19 12:16:08 +00:00
Fabien O'Carroll
e4a258950c Handled changes to NFT card class names
refs https://github.com/TryGhost/Team/issues/1211

Since we remove the kg-nft-card class from the anchor tag, we needed to
update the HTML parser to work with the new structure.
2021-11-19 12:14:10 +02:00
Kevin Ansfield
34e34618c3 Added soft-break support to callout card editor
refs https://github.com/TryGhost/Team/issues/1206

- added `@allowBr` argument to `<KoenigBasicHtmlInput>` and used it in the callout card
  - when enabled, adds `soft-break` atom and parser, enables `<br>` support in `cleanBasicHtml()`
2021-11-19 10:10:23 +00:00
Kevin Ansfield
2f110c2e8e Fixed caption inputs inheriting callout card placeholder style 2021-11-19 09:58:47 +00:00
Peter Zimon
d1afdd3b6b Replaced GIF icon 2021-11-19 10:32:43 +01:00
Rishabh
2846cc6989 Removed indicator icon from toggle card
refs https://github.com/TryGhost/Team/issues/1209
2021-11-19 12:21:46 +05:30
Rishabh
461f84660c Updated icon for toggle card
refs https://github.com/TryGhost/Team/issues/1209
2021-11-19 12:11:50 +05:30
djordje vlaisavljevic
d83d6124ba Updated accordion editor view 2021-11-18 21:51:56 +01:00
djordje vlaisavljevic
520a8bad04 Added accordion plus menu icon 2021-11-18 21:49:18 +01:00
Kevin Ansfield
3fcbd75efb Fixed callout card text input placeholder
no issue

- updated placeholder styles so they work with the basic input as well as the textarea input inside the editor
2021-11-18 19:54:30 +00:00
Kevin Ansfield
9655b76610 Added cleanup of emoji picker
no issue

- housekeeping when the callout card component is destroyed
2021-11-18 18:57:22 +00:00
Kevin Ansfield
d1e1c8b11c Fixed "Enter" in callout card throwing an error if text has been changed
no issue

- we had some code in `<KoenigEditor>` that was automatically saving a card when exiting edit mode based on some flawed logic, this meant we were making multiple editor updates simultaneously resulting in usage+change of the upstream `post` model within the same render loop (add paragraph code deselected the card, starts adding new paragraph, the deselection triggered the exit-edit mode which then caused a simultaneous post update)
  - passed card env through to `<KoenigEditor>` so that it can compare current payload state against the "saved" payload state to determine if it should save when leaving edit mode
- renamed `_textReplacementEditor` to `_calloutTextEditor` to better match it's usage
- removed unnecessary `onNewline` handling, it wasn't being called because we overrode `ENTER` key
2021-11-18 18:57:21 +00:00
Kevin Ansfield
0295cf2707 Fixed callout card display in non-edit mode
no issue

- switching to `<KoenigBasicHtmlInput>` means that the payload is no longer wrapped in `<p>` tags because the callout should not be a multi-paragraph input
2021-11-18 18:56:23 +00:00
Peter Zimon
b3f74c1d88 GIF card refinements 2021-11-18 19:08:01 +01:00